I am trying to figure out why my NUMLOCK on the keyboard and numeric pad is not independent. I want the NUMLOCK enabled on my numeric keypad but not on my keyboard.
Any ideas?
Hardware:
Dell Precision T3500
GoldTouch V2 keyboard
Adesso mechanical numeric keypad
So, assuming you are using the Adesso with the GoldTouch, there are numlock keys on BOTH devices. The one on the GoldTouch is intended to enable the embedded number pad and the one on the Adesso is intended to work the same way as the single NumLock key on a 104-key ANSI keyboard. Is that the situation?
Assuming so, I ran a test using my Model M 104-key running under Linux. This let me use the xev program to capture actual keycode values and ANSI mapping.
Here is what MY NumLock key sends:
(keycode 77 keysym 0xff7f, Num_Lock)So there are two scenarios for you.
#1: Both devices are sending keycode 77, which your PC is mapping to ANSI Num_Lock. That will be worst case, because both keys are fundamentally indistinguishable to the PC. You'd have to put some sort of man-in-the-middle processor to resolve the conflict.
#2: Each key is sending a different keycode, but your PC is mapping them both to ANSI Num_Lock. If that is the situation, you just need to determine the keycodes being passed and remap one of them. (On a Linux machine, that would be simple with xev and xmodmap. AutoHotKey under Windows?)
A caveat is that the keyboard processor in each device is likely doing something with the numlock BEFORE it send the keycodes to the PC. For example, again on my setup:
With NumLock ON, pressing the 7 key on the 10-key pad yields this:
keycode 79 (keysym 0xffb7, KP_7)With NumLock OFF, pressing the 7 key on the 10-key pad yields this:
keycode 79 (keysym 0xff95, KP_Home)In that case, you'll have to find ALL of the keycodes sent by both devices under all four combinations of the two NumLock keys and remap them to what makes sense. Again, on Linux it would be tedius, but could easily be done with xev and xmodmap. On Windows or OS/X YMMV.
Does that help?
- Ron | samwisekoi