Git Product home page Git Product logo

Comments (7)

benblazak avatar benblazak commented on July 19, 2024

Hmm... the diff didn't give me any clues, so I compiled and tested your branch on my board - but everything worked as expected - which leads me to suspect that it's your system... When you use the numPush keys, does the "num lock" indicator LED come on? And then go off, when you use numPop?

Also, not all commits will compile, though I do try my best to keep HEAD in a usable state. Sorry if one of the bad ones slipped through as the latest commit. I just pushed a new commit that does compile, just in case :)

from ergodox-firmware.

frioux avatar frioux commented on July 19, 2024

With the numPush function the light does nothing. I went ahead and hacked together my own version of numPush (frioux@b779950#L0L119) and that works just fine for me now. I know it is possible that it could get out of sync, but as far as I can tell your version could too. Anyway, no rush since I have a workaround for now :)

Yeah, I understand that some commits may be broken, I only mentioned it because HEAD wouldn't build.

from ergodox-firmware.

benblazak avatar benblazak commented on July 19, 2024

Hmm.. that's weird. When I use "KEYPAD__NumLock_Clear" instead of "KEYBOARD__LockingNumLock", the indicator light doesn't come on for me. But my system (OS X 10.8) seems to interpret the keypad keys as if numlock were engaged, whether or not it actually is. Ubuntu must treat things differently... My VirtualBox load of Linux Mint doesn't seem to be any help, since it's probably receiving key input from the host OS, and I don't see any way to change that - so I won't bother trying my virtualized Windows. Some day I need to get Linux legitimately dual booted on here. In the meantime, perhaps you could test my latest commit? I changed it press and release both numlock key codes - which I suppose isn't the best (since we only have 6KRO for now), but if it makes things work on both OS X and Linux, then good :)

from ergodox-firmware.

frioux avatar frioux commented on July 19, 2024

That fixed it! thanks :)

from ergodox-firmware.

Apteryks avatar Apteryks commented on July 19, 2024

Hi!

I've been testing this original ergodox firmware, which I successfully packaged for GNU Guix, and I'm also hitting this same issue with the keypad not inputting digits but special movements keys such as KP_Begin, KP_Left, KP_Right, etc.

If I enable Num Lock using a dedicated key from a second keyboard, it then does what I expect and input digits.

Is there a num lock key using this ergodox firmware? In any case, the LED of the right hand, top-left button (which enables layer 3 - they numpad) doesn't lit at any time for me.

I know the LED are correctly wired because they all lit up briefly when powering the keyboard.

Thanks!

from ergodox-firmware.

benblazak avatar benblazak commented on July 19, 2024

hey :)

all the keycodes are from the USB HID spec, so there should be a numlock key in there somewhere (and i would expect that one to work, though i can't be sure; not all the codes in the spec seem to be implemented on the hosts i've tested, and some don't behave as one would expect).

the LED indicators for numlock (and scroll lock and insert) never did work on all systems perfectly. they worked on my system (macos) when i wrote it, but i wasn't able to test properly for windows or linux -- and i think macos has changed how they send that status over the years, so i couldn't guarantee it works now.

if you're up for fixing this, i'd try looking at the codes that a commercial keyboard sends (or maybe look at the QMK firmware, since it's more widely used and tested) -- and i'm not sure but it might also be possible to see what's getting sent back as far as LED status too. be sure to note your OS (with version).

i don't have much time to spend on this since i'm working now -- (and actually, i'm currently using the QMK firmware, since my switches are old and need real debouncing now) -- but i'll try to look at your other comments and PRs too, as i have time :)

from ergodox-firmware.

Apteryks avatar Apteryks commented on July 19, 2024

Hello, thanks for the response!

I've read a bit more on the topic and now understand that these LED states are kept on the host (computer) side and sent via the USB HID protocol as 'reports'. That's handled by the pjrc library used by this project, apparently correctly.

So I think the only thing which is problematic is that the numpad_toggle_numlock procedure uses the KEY_LockingNumLock key code which is legacy [0] and only available on Windows/MacOS [1]. We should use the non-locking version, "Keypad Num Lock and Clear", 0x53 instead.

[0] https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
[1] https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md

edit: I just tried the fix, and it works! I'll send a PR.

from ergodox-firmware.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.