I have this USB volume control, but when I adjust the volume, it adjusts it two steps at a time.
When I connect it, it registers as a USB keyboard.
My guess is that it is sending the "keypress" for the volume change twice.
- Is there a way to confirm that it is sending two keypresses?
- (If step 1. confirms it) Is there a way to write a script to detect this and ignore the second keypress?
Thanks!
xev
utility. See: https://apple.stackexchange.com/a/317556/119271 and as far as writing a "script", it's not that simple - you'd need a listener application (applescript is not the right tool for this job) to continually watch for and intercept it, and that's a project/question for the folks over at [so] – Allan Apr 11 '20 at 23:04xev
gets to see what's happening. – Ben Holness Apr 11 '20 at 23:25xev
is not how it works.xev
is that listener app I was referring to - if a key is being pressed,xev
is going to see it. A key press simply cannot bypass it. – Allan Apr 11 '20 at 23:30xev
doesn't see. So if the OS doesn't map it to the volume hook beforexev
sees it, then I guess the keyboard itself must be translating the key press to the volume hook before sending it to the OS. Is there an equivalent command toxev
that listens for the volume change hook being called? – Ben Holness Apr 11 '20 at 23:37