-
-
Notifications
You must be signed in to change notification settings - Fork 39.4k
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
USB_LED_CAPS_LOCK not working with LED anymore [Ergodox EZ] #2471
Comments
Well, by default, they never did this (as far as I'm aware). You want to use this: But specifically:
Replace the Can confirm that this works. Even when caps are set elsewhere. |
Mh. I commented out my 'capslock if function' and tried adding your My best guess is that something in my configuration might interfere, although I can't put my finger on it. I copied and adapted a lot of Algernon's keymap. I try to understand everything, but as someone not speaking C it's really hard sometimes… even simple if-else statements can become a major obstacle if you don't know the basics. |
Are you still having issues with this, or were you able to resolve it? And I can confirm that caps lock works, actually... as I'm setting it in my keymap. |
@drashna Yup. I'll check it this weekend using your keymap or a simple one. If it works there I know for sure it's something in my keymap and I'll have to |
hahaha, yeah, use a simple one. Though my keymap does use the green LED for capslock (and shift and OSM'ed shift), I wouldn't call my simple, because I use the userspace stuff too. |
I setup a MWE to get rid of all the other potential culprits in my keymap. I tested the Caps Lock key with this minimal layout using @drashna's example ("TEST ONE" in the keymap) and with what I had before and what used to work ("TEST TWO" in the keymap). Both tests where negative:
Possible Culprits
Now that I finally did a test, I'm pretty clueless as to the source of this problem since I was sure it's because of my voluminous-hacked--together-firmware-without-knowing-C.
|
Well, I tested this on my system, and it works fine. So this may be an OS specific issue. Specifically, it looks like the status is pulled by using Unfortunately, I don't have a macOS device to test on, so I can't verify if it's the reason why. That said, I'm checking the status in my keymap now, as well. In part because of this issue. And I can verify that it does light up properly. So, as for why it's not working here ... is beyond me. |
So odd… tested your latest code by adding it as TEST THREE, but not a thing to see (this time even the modifiers don't make the LED's turn on). Don't hesitate to throw other things to test at me or forward person XYZ. I might clone the repo again this weekend and restore the QMK version from 1.5-2 years ago to see if it magically will work again with TEST TWO. At least that is the only thing to do that I can think of now.
|
I experience the same issue as @patrickwelker. However I noticed that the Maybe this information helps you to find the culprit on your system? |
Can I have a look at your keymap @coderkun ? (Das wäre recht hilfreich.) |
My current keymap is coderkun_neo2/keymap.c though I tested it with a slighly modified keymap (I am currently updating some layers and try to fix the LED issue). However I am ably to fix it by simply replacing the “Fix” here means that the LED(s) work(s) properly when activating caps/num/scroll lock on the keyboard itself but using |
@patrickwelker, for my keymap I was able to fix the LEDs with coderkun/qmk_firmware@39738d2. Hope it helps … |
Thanks @coderkun. Tested it again, but it's not working for me. Maybe because my EZ is older or it's the (mac)OS version or whatever. Nifty unicode layer by the way. At this point it comes down to guess work. I also tried a minimal working example to no avail. Currently I use a separate shifted layer as a workaround. 😢 |
I have same issue. https://github.com/qmk/qmk_firmware/releases/tag/0.6.85 works for me. OS: Arch Linux |
Same issue for me here on Ubuntu 18.10 – I will test it on Windows 10 tomorrow. I am currently trying to upgrade my Ergodox EZ keymap ( Taking the In the past, calling I can also confirm that my old layout linked above still works as intended (i.e. 3rd LED reflects CapsLk state) as I still have its hex file. It's thus not something that changed in the OS. Edit: note that with my old code, setting the 3rd LED in |
Strangely enough, it works fine on Windows 10 with testing I think the next step would be to |
I had some time to do the git bisect, so here is the first bad commit for me: d6b7ca0, the fix for #4471 implemented by @fauxpark and merged by @drashna. Reverting that commit on the latest This is a quite recent commit (2018-12-05 – release 0.6.198) so it is not the same issue as @patrickwelker, but it could be the same as @h-youhei who posted his comment 2 days after that commit. Maybe @patrickwelker's issue was actually the same as #4471, and is thus fixed now with that change? Should I open a separate issue maybe to fix this new regression? |
I can confirm that my fix solved the nonworking caps lock LED for me on my Satan and macOS (it was not limited to just the DZ60; it affected all boards running LUFA and was related to a recent improvement to the HID endpoint management). I can't see how it could possibly have broken the EZ considering it too has a 32U4 and thus runs LUFA. |
Well, I spun up a Ubuntu 18.10 VM and gave it my keyboard. On current QMK master, with After some fiddling about getting Wireshark capturing USB packets, I saw that Ubuntu sends two SET_REPORT packets: one with
EDIT: Ah. I know what the |
Thanks for the rules.mk workaround @fauxpark , as soon as I added Unfortunately this causes enough other problems with the keyboard not being recognized properly by some applications (c.f. Karabiner Elements). So I'm back using my shifted layer with a red LED as a replacement for now. I'm on QMK Firmware 0.6.223. Without the above addition this classic way of toggling the caps lock LED does not work (for me):
|
@patrickwelker thanks for mentioning Karabiner Elements, that's the culprit. With it the built-in keyboard caps-lock LED also doesn't work. If you quit Karabiner, both LED's work well. I'm using the function led_set_user() in my Ergodox layout defninition. I'm on macOS Mojave, Karabiner Elements 12.1.0 |
@Leszek111 @patrickwelker apparently that is fixed in one of the recent betas: pqrs-org/Karabiner-Elements#1502 (comment) |
Ok so I added some debug in
Here is what I get (added comments for clarity) before #3951, on commit 46cf8cc:
So every report is duplicated, but correct. If I disable NKRO, they are not duplicated anymore. Then I checked out 39bd760 which implemented #3951. With NKRO:
(note that I have to activate scroll lock on Ubuntu every time the keyboard reconnects to test this) So only the values for NKRO are read properly. If I disable it, only the
Concerning led status: num lock led is set for To unset
since all of these set
Nothing special – this is basically the same output as before #3951 without NKRO. Now, with the latest master (9c2d776), NKRO enabled:
Basically the NKRO report id (05) appears to be interpreted as led stats overriding the previously received value, and I get a nice fixed num lock + scrol lock status. Without NKRO, everything works fine:
With
I will have to stop here, I hope this helps already a bit 🙂 |
I'm thinking the 6KRO descriptor should just always have a report ID. That way we don't have to worry about how many bytes we're supposed to be reading. |
Thanks for the pointer to the latest Karabiner-Elements#1502 update @Leszek111. This means I can discard my shifted layer and make some room. I'll still keep my eyes peeled for more Karabiner issues, c. f. one can't use the |
Maybe @ezuk can share a little light on this. I could imagine there might be some terminology changes that I'm not aware of. I searched the open/closed issues, but haven't found a thing.
@jackhumbert commented in 2016 confirming this works for all things OLKB. I'm 100% sure this ought to work for the EZ, too, since I used the code below for over about a year and it worked… but not anymore:
My board and led's work. Just tested that it's all red when going the reverse way:
The text was updated successfully, but these errors were encountered: