You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working up a guide for getting 'keyd' to run on a Steam Deck as a World of Warcraft macro pad in both Desktop and Game mode and have a few questions.
To further explain, for game macro pad usage I am using the NumLock as one of the macro keys (not really sending a macro at this point, just remapping it to send a different key so that it can be bound in the game). So I want the number keys with alternate functions when numlock isn't ON to still just always send the kp# code ... regardless of numlock LED state on the numpad.
Is there a way to force 'numlock' to always be toggled on?Even if reconnecting a USB numpad during a session.
I know in Plasma settings I can force the numpad to work like MacOS where keys always send numeric values (instead of things like "home" and "arrow left/right/etc"). But for the Steam Deck this only works in Desktop mode. When using Game mode the Plasma settings aren't loaded so the numpad defaults to sending "kp home" when 7 is pressed (same for other dual function keys)
I would prefer to simply tell keyd 'numlock state is always on' as it makes the layer configuration simple, can stick to only using [main] instead of multiple layers
I had this working in the past using 'kmonad' but 'keyd' suits this use case much better for working seamlessly in Game mode
Can I remap numpad # keys in their unlocked state?
I could avoid the problem in "1." above (wanting to force numlock ON) if I knew what to remap in 'keyd' to say "when numlock is off and '7 / home' is pressed, send 'kp7'".
Examples:
numlock OFF ... pressing "7 / Home" sends the "Home" code.
sudo keyd monitor shows the key being pressed as "kp7" but the actual key registered is the "home" function
I was a little surprised at this as I assumed 'keyd monitor' would show the name to remap the "home" key at this point
I'm wondering if this might be an oversight in 'monitor' and there could be a way to remap "numpad home" to "kp7" so that it behaves the same whether numlock is ON or OFF
numlock ON ... pressing "7 / Home" sends the "kp7" code, as expected, easy to remap (but don't need to remap "kp7" when numlock is ON, just adding this bullet for clarity)
The text was updated successfully, but these errors were encountered:
Is there a way to force 'numlock' to always be toggled on?Even if reconnecting a USB numpad during a session.
[...]
I could avoid the problem in "1." above (wanting to force numlock ON) if I knew what to remap in 'keyd' to say "when numlock is off and '7 / home' is pressed, send 'kp7'".
Numlock is implemented at the display server level. When you press the numlock key, numlock is emitted and the display server flips a bit of state which is used to decide how to interpret the raw kp1, kp2, etc keycodes.
Since keyd operates at the level of the keycode, what you want to achieve should be as simple as remapping the numlock codes to their corresponding numbers:
I'm working up a guide for getting 'keyd' to run on a Steam Deck as a World of Warcraft macro pad in both Desktop and Game mode and have a few questions.
To further explain, for game macro pad usage I am using the NumLock as one of the macro keys (not really sending a macro at this point, just remapping it to send a different key so that it can be bound in the game). So I want the number keys with alternate functions when numlock isn't ON to still just always send the kp# code ... regardless of numlock LED state on the numpad.
Is there a way to force 'numlock' to always be toggled on? Even if reconnecting a USB numpad during a session.
I could avoid the problem in "1." above (wanting to force numlock ON) if I knew what to remap in 'keyd' to say "when numlock is off and '7 / home' is pressed, send 'kp7'".
Examples:
sudo keyd monitor
shows the key being pressed as "kp7" but the actual key registered is the "home" functionThe text was updated successfully, but these errors were encountered: