Trouble with mouse keys

After tweaking my keyboardio a bunch (with much satisfaction), the mouse-movement keys aren’t working any more. They were working a month or two ago (I’m like 90% confident in this); I’m not quite sure when they stopped. Interesting facts:

(1) The mouse warp keys work fine; it’s just mouseUp and mouseDn and co that aren’t working.
(2) mouseUp etc. don’t work even when I load the original Model01-Firmware ino
(3) I’m on a mac, fwiw

any ideas as to what’s going on, or how to debug the issue? I’ve debugged a little, to no avail.

Update: the problem only occurs on Macs, or, at least, I’ve verified that mouseUp and co are working fine on linux.

I’ll see if I can find the problem after I get back home. I can probably take some time to look into it on Monday.

I can confirm this bug. I’ve tried a few different versions of Kaleidoscope-MouseKeys, including one from a time when I’m sure it was working, and think I’ve determined that the plugin is not to blame. I’ll write up an issue when I have a better idea where the problem comes from.

Arduino-Boards v1.22 does have working mouse movement keys on macOS, so whatever caused this problem happened since then.

I’m now fairly certain that this problem is in KeyboardioHID, not Kaleidoscope or Kaleidoscope-MouseKeys. But there have been lots of changes since the last known working version, so I’ll try to find out which one it is tomorrow.

My gut feeling is that if anything, this pull request might be to blame. Can you try reverting that, and seeing if it works under OSX?

I’ll give it a try later this morning — thanks!

I checked out the current HEAD of everything, and reverted that commit (b23f4e), but mouse movement keys are still not working. I’ll try some other versions and see if I can find the last working one. I’m guessing I may have to also downgrade Kaleidoscope a bit for compatibility?

Mmm… the commit is ea0b9f56e82d6c97380396af01f63fb33603a85f… if reverting that still doesn’t work then PR14 is my next suspicion.

For the ea0b9f56 revert, no. For others, very likely, indeed, I’m afraid.

Sorry; I accidentally copied the commit id for the revert of ea0b9f… instead of the commit itself. But when I look at it, the git revert did not correctly revert that change. I’ll give it another try, by hand.

1 Like

And…nope. Still doesn’t work. Maybe it’s this one?

I tried just adding a sendReport() call to Mouse_::move(), but that didn’t help (nor did I really expect it to, since mouse movement seems to be working on other operating systems).

EDIT: sendReportUnchecked() also doesn’t help. I think it must be that the HID descriptor itself is what’s failing; I don’t think I’m going to be able to figure that out myself.

What would be interesting to know at this point, if OSX even recognizes the device as a mouse.

Another thing to try is to revert the revert of the HID descriptor change, this one. You may need to revert this other one first.

Just shooting in the dark here, as I have no easy OSX access :frowning:

Before I do that, is there a quick way for me to check from the OS side to see what “mouse” devices it thinks are connected? I haven’t been able to find anything like that (my competence for this kind of task is much higher on Linux, I’m afraid). Maybe ioreg could help if I knew what options to give it, and how to parse the output…

Those two changes occurred after it was broken. I had to roll back KeyboardioHID, Kaleidoscope, and Kaleidoscope-MouseKeys quite a bit to find a working version. I’m still plugging away at this; I’ll let you know when I get to the actual last version(s) that worked.

Found it:

I can barely speculate regarding the actual cause, but I have a set of code that works without this change, and fails when the change is applied. I’ll submit an issue against KeyboardioHID shortly.

Yeah, that was known to break it, and one of the later commits fixed that, supposedly. Even on OSX, as I had @james.nvc and @Simon-Claudius test the fix…

I think I remember testing that, too, but didn’t it make the whole keyboard non-functional? I don’t think I tested mouse movement specifically.

I made some quick changes, and by removing horizontal scroll support, I can get mouse movement working again on macOS.