Skip to content

Enable resolve_binds_by_sym for high XF86 keycodes - #10577

Open
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/10449-resolve-binds-by-sym
Open

Enable resolve_binds_by_sym for high XF86 keycodes#10577
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/10449-resolve-binds-by-sym

Conversation

@fresh3nough

Copy link
Copy Markdown

Summary

Fixes #10449.

Stock touchpad binds in default/hypr/bindings/media.lua register XF86TouchpadToggle / On / Off, but Hyprland defaults input:resolve_binds_by_sym to false. With that default, binds are matched through a keysym→keycode reverse lookup that does not reach XKB keycode 538 (evdev KEY_TOUCHPAD_TOGGLE = 530). The binds stay registered and dead.

Related open PR #10539 sets the same option without tests or the issue trail in-tree. This PR adds the default, documents why next to the option, and locks it with a shell test.

Change

default/hypr/input.lua:

resolve_binds_by_sym = true,

Evidence

Bug reproduced (this machine, pre-change)

$ hyprctl getoption input:resolve_binds_by_sym
bool: false
set: false

$ hyprctl binds | rg -i Touchpad
key: XF86TouchpadToggle
key: XF86TouchpadOn
key: XF86TouchpadOff

$ rg resolve_binds_by_sym default/hypr/
# no hits — option never shipped

Binds present, option unset → default false → high XF86 keysyms never match (issue reporter also verified with evtest / notify probe).

Fix validated

bash test/shell.d/resolve-binds-by-sym-test.sh
ok - default hypr input enables resolve_binds_by_sym
ok - media bindings still register XF86Touchpad* by keysym
ok - input.lua documents issue #10449 next to resolve_binds_by_sym

bash test/shell.d/hyprland-keyboard-layout-test.sh
# layout resolution still green

Test plan

  • Live pre-fix: resolve_binds_by_sym false while Touchpad binds registered
  • bash test/shell.d/resolve-binds-by-sym-test.sh
  • bash test/shell.d/hyprland-keyboard-layout-test.sh
  • Manual laptop: Fn touchpad hotkey toggles pad + OSD after reload

Hyprland defaults input:resolve_binds_by_sym to false and matches binds
via keysym→keycode reverse lookup. XF86TouchpadToggle sits at XKB
keycode 538 (evdev 530), above the classic 255 ceiling, so the stock
XF86Touchpad* binds in bindings/media.lua never fire.

Ship resolve_binds_by_sym = true in default/hypr/input.lua so those
keysym binds resolve. Live session before the change reported
bool: false / set: false while the binds were registered.

Fixes omacom#10449

Signed-off-by: fresh3nough <anonwurcod@proton.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stock XF86TouchpadToggle binding never fires (Hyprland resolve_binds_by_sym defaults to false)

1 participant