What happened
Numpad digit keys don't type anything in Omacalc's display, even though the numpad works correctly everywhere else (terminal, browser, VS Code) and NumLock is on.
Expected
Numpad digits should behave the same as number-row digits.
Likely root cause (confirmed with wev for a related Quickshell issue on the same machine, filed at basecamp/omarchy)
Even though NumLock is genuinely locked at the Wayland compositor level (wl_keyboard.modifiers reports locked: Mod2), physical numpad key presses resolve to the non-NumLock (navigation) keysym on this system, e.g.:
KP1 -> sym: KP_End (should be KP_1)
KP2 -> sym: KP_Down (should be KP_2)
KP5 -> sym: KP_Begin (should be KP_5)
KP7 -> sym: KP_Home (should be KP_7)
This is very likely downstream of a known, still-open Hyprland bug where NumLock's locked-modifier state and keypad keysym-level resolution get out of sync (hyprwm/Hyprland#8288, hyprwm/Hyprland#6573, hyprwm/Hyprland discussion #10438).
In Qt, these arrive as Qt.Key_Left/Right/Up/Down/Home/End/... with Qt.KeypadModifier set and an empty event.text, rather than as digit keys/text. If Omacalc's input handling relies on event.text (or a plain Qt.Key_0..Qt.Key_9 check without also checking the Keypad-modified navigation-key equivalents), it would silently drop these presses — matching the observed behavior (nothing happens, no wrong digit, just silence).
Steps to reproduce
- On a keyboard/laptop hitting the underlying Hyprland NumLock desync (confirm via
wev: press a numpad digit and check whether sym: shows the digit or a navigation keysym like KP_End/KP_Home), open Omacalc
- Type a digit using the numpad — nothing appears in the display
- Type the same digit on the main keyboard row — works fine
System info
- omacalc: 0.2.2-1
- Omarchy: 4.0.0-1
- Hyprland: 0.56.2
- Keyboard: internal laptop keyboard with an embedded Fn-activated numpad;
input:numlock_by_default is true
Related
Filed a companion report against basecamp/omarchy for the same underlying symptom in Omarchy Menu and the Reminder Menu, including a working QML-side workaround, since those two are open-source and I could inspect/patch them directly. Omacalc's own key handling wasn't inspectable (stripped release binary), so I can't offer a patch here, just the diagnostic evidence.
What happened
Numpad digit keys don't type anything in Omacalc's display, even though the numpad works correctly everywhere else (terminal, browser, VS Code) and NumLock is on.
Expected
Numpad digits should behave the same as number-row digits.
Likely root cause (confirmed with
wevfor a related Quickshell issue on the same machine, filed at basecamp/omarchy)Even though NumLock is genuinely locked at the Wayland compositor level (
wl_keyboard.modifiersreportslocked: Mod2), physical numpad key presses resolve to the non-NumLock (navigation) keysym on this system, e.g.:This is very likely downstream of a known, still-open Hyprland bug where NumLock's locked-modifier state and keypad keysym-level resolution get out of sync (hyprwm/Hyprland#8288, hyprwm/Hyprland#6573, hyprwm/Hyprland discussion #10438).
In Qt, these arrive as
Qt.Key_Left/Right/Up/Down/Home/End/...withQt.KeypadModifierset and an emptyevent.text, rather than as digit keys/text. If Omacalc's input handling relies onevent.text(or a plainQt.Key_0..Qt.Key_9check without also checking the Keypad-modified navigation-key equivalents), it would silently drop these presses — matching the observed behavior (nothing happens, no wrong digit, just silence).Steps to reproduce
wev: press a numpad digit and check whethersym:shows the digit or a navigation keysym likeKP_End/KP_Home), open OmacalcSystem info
input:numlock_by_defaultistrueRelated
Filed a companion report against basecamp/omarchy for the same underlying symptom in Omarchy Menu and the Reminder Menu, including a working QML-side workaround, since those two are open-source and I could inspect/patch them directly. Omacalc's own key handling wasn't inspectable (stripped release binary), so I can't offer a patch here, just the diagnostic evidence.