-
Notifications
You must be signed in to change notification settings - Fork 789
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hidboot.h: Lock Led Default Implementation not Working #577
Comments
I'm trying to build something similar (with a Pro Micro and the USB Host Mini). However, I also have a cheap old Cherry PS2 keyboard (Cherry RS 6000 M; this one has no extra keys) with a cheap USB adapter (identifies as "PCPlay Barcode PCP-BCG4209" - yes, that's weird but it works) and there the LEDs do work in USBHIDBootKbd.ino. I have no idea what the issue is here, except I'm pretty sure it's not a power issue - I'm making sure the keyboard gets 5V and the KM-Gaming keyboard has illuminated keys which do work, furthermore its firmware flashes the 3 lock LEDs under some circumstances and that still works. |
With USBHIDBootKbd.ino keyboard indicators works for me as expected. This problem is keyboard specific probably. You will have to know what happens around |
I forgot to mention, I already did that and |
@DanielGibson yeah also pretty sure this is no power issue. Just measured again, 4.65Vbus under load, which should be enough. Also, the media keys cannot work in hidboot, as checking the RAW HID, they are not setting any keycode on the Boot protocol bytes. And yes, the value of lockLeds is correct. @tmk those are the default debug outputs provided by the library, not sure what else to output: |
Then, you will have to check return value of Just for reference this is output with Cherry G80-3600 when typing ScrollLock and CapsLock.
|
Could it be due to differences in the HID descriptors of the keyboards? One difference is that the Cherry keyboard (with PCPlay PS/2 to USB adapter) seems to use only 3 bits for the LEDs (NumLock to Scroll Lock), while the Ducky keyboard uses 5 Bits (up to "Kana"). [1] By default, EDIT: In case that's more helpful, the raw HID descriptors as printed by the
Cherry/PCPlay (LEDs work):
|
I just noticed that Arduino 'Library Manager' support only release versions and you use version 1.3.2(2018 Mar) probably? Try the latest code in this repo. I used the latest code for test before. EDIT: confirmed that indicator doesn't work with my Cherry G80-3600 with version 1.3.2, but it still works with PD-KB401. With the latest code(9d41161) indicator works for both keyboards. EDIT2: This USB descriptor of them if you are interested. |
The current git code works for me as well - thanks for the suggestion (should've thought of that myself..)! :) I agree that a new release would make sense, we're not the only ones running into this problem (see also #160 (comment) and possibly #459) |
I will close this issue and create a new one for a new release. |
I've been working on a Keyboard-Layout converter utilizing an Arduino Mirco and a Micro USB Host shield, which works out well so far, besides using the SetReport function for setting the lock LEDs. There is a default implementation for HandleLockingKeys in hidboot.h, which is also used by the example USBHIDBootKbd.ino, as is not overriding the default method. In the example already, setting the Lock LEDs just does not work on both my Keyboards, one being a standard Cherry G80 and the being one being a perixx ergonomic keyboard.
I have no clue what's the issue here, but the LEDs just do not light up at all at any time.
The text was updated successfully, but these errors were encountered: