BinaryAge

TotalSpaces on Catalina 3rd mouse button doesn't work right

Hi, I just upgraded to Catalina (10.15.1) and have the latest TotalSpaces2 (v2.8.3).

The problem I’m having is that my 3rd/middle mouse button actives the overview grid, but then deactivates it. So it shows the grid for half a second and then closes it.

Keyboard shortcut and F10 assigned to my Contour Shuttle button works fine. My trackball has a 4th and 5th button, and they have the same effect. Tried both a Logitech trackball and Sanwa model.

Also, if I have the TotalSpaces2 preferences open, the middle button works fine. It’s only when other Apps are in focus that the problem happens.

I’ve made sure all the Privacy permissions are assigned for TotalSpaces and don’t see anything else that may be using the middle button.

I don’t have this problem on my work computer on Catalina, but I’m using MagicPrefs to do a three finger tap on my Magic Mouse to activate a key combination that TotalSpaces then uses to activate hte overview grid. I’ll have to try with a regular mouse tomorrow (yeah I have to work the day after Thanksgiving).

Any ideas?

Yup, same thing happens on my work Mac when I use a mouse with a middle button.

Keyboard combination works, but the middle mouse button opens and closes the grid quickly unless the TotalSpaces preference window is in focus.

Well, got a workaround. I installed USB Overdrive and set it up to change the middle click to a key combination that TotalSpaces then uses to show the overview grid.

Seems like something in Catalina is messing up TotalSpaces mouse triggers.

This Hammerspoon script also converts middle clicks to option-space:

convertMiddleClick = hs.eventtap.new({
      hs.eventtap.event.types.otherMouseDown,
                                  }, function(e)
      local button = e:getProperty(
         hs.eventtap.event.properties['mouseEventButtonNumber']
      )
--       print(string.format("Clicked Mouse Button: %i", button))
      if button == 2 then
         hs.eventtap.event.newKeyEvent(hs.keycodes.map.alt, true):post()
         hs.eventtap.event.newKeyEvent("space", true):post()
         hs.eventtap.event.newKeyEvent("space", false):post()
         hs.eventtap.event.newKeyEvent(hs.keycodes.map.alt, false):post()
      end
end)

convertMiddleClick:start()