Skip to content

Bug: XF86RefreshRateToggle key is eaten and not passed through. #1892

@RedstoneTrail

Description

@RedstoneTrail

Requirements

Describe the bug

My laptop keyboard has a refresh rate toggle key (fn + r). This key works normally and I have it set up in Hyprland to cycle through available refresh rates for power saving on battery.

Using evtest, I can detect presses of this key coming from /dev/input/by-path/pci-0000:00:1f.0-platform-VPC2004:00-event -> /dev/input/event6 (Ideapad extra buttons).

If I do not specify excusively /dev/input/by-path/pci-0000:00:14.0-usb-0:12:1.0-event-kbd -> /dev/input/event23 (the rest of the keyboard), then the refresh rate key does not work. It appears that the key input is not passed through from kanata.

Relevant kanata config

(defcfg
  process-unmapped-keys no
  linux-dev /dev/input/by-path/pci-0000\:00\:14.0-usb-0\:12\:1.0-event-kbd
)

(defsrc)

(deflayermap (base-layer)
  caps lctl
  f23 rctl
)

To Reproduce

With a keyboard featuring a refresh rate toggle key, try to use it without having it excluded from the linux-dev or equivalent setting in defcfg.

Expected behavior

Refresh rate toggle input is passed through to the window manager or app as without kanata.

Kanata version

kanata 1.9.0 (from nixpkgs unstable)

Debug logs

I realise this issue explicitly includes the relevant fix in my case, but I thought it would be worth mentioning for people who this is a real issue/annoyance for.

Operating system and I/O mechanism

Linux

Additional context

No response

Metadata

Metadata

Assignees

Labels

PRs welcomejtroo has no plans to work on this at present, but PRs are welcomebugSomething isn't workinglinuxIssue pertains to Linux only

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions