Skip to content

Numpad digits don't type in Omacalc on Hyprland (likely NumLock keysym desync) #8

Description

@Exp1iots

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

  1. 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
  2. Type a digit using the numpad — nothing appears in the display
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions