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.
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.
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.
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?
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.
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.
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.
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…