ThinkPad Cannot Set Media Keys to Keybind in Settings

I am experiencing the exact same issue described in another post. Specifically, the media keys (Messenger - F9, Phone Pickup - F10, Phone Hangup - F11) are not being recognized correctly in GNOME Settings. Instead, they are detected as 0x10 in the keybindings.

Below is the full output as shown in the dconf editor:


I can fix this with setting the binding value to “XF86PickupPhone”, however, I cannot seem to find the code working for other keys.

Also, in sudo libinput debug-events, the three keys that are not working are the only three has an id of 4xx, while the largest one beside these is KEY_WLAN (238) . Now sure if that helps.

  • xev is for finding codes and
  • that codes could be reassign in .Xmodmap, but also
  • keyboard settings(maps) are in place and
  • from that also schysophrenia between GNOME keyboards and tty consoles from text boot and
  • when that is set
  • switching keyboard layout is not so simple due conflicts between text keyboards and Xorg keyboards, Wayland keyboards
  • which also set some conflicts for GNOME and
  • its gsettings list of registred keys
  • could be seen also on dconf-editor or also list them or edit them…
  • not only gnome-control-center or some tweak utility
  • which could be some problem from thinkpad and its defaults, but also some keyboard issue or layout or map…
  • but also some GNOME issue of unrecognized keys of some its settings maybe from A11 or similar, ibus, … load on start and seen in journal logs full of similar bugs

Update: the XF86* code for the three keys are:

  • F9 Message Key: XF86NotificationCenter
  • F10 Pickup Phone: XF86PickupPhone
  • F11 Hangup Phone: XF86HangupPhone

This works while manually set in dconf editor

Does it also work if you set the binding to PickupPhone instead of XF86PickupPhone?

Just tested and yes, PickupPhone also works, the same applies to HangupPhone and NotificationCenter.

Ah yes that makes sense, Mutter tries to first use the name as is, and if it doesn’t work yet it prepends “XF86” to try again. So they are equivalent.

The root cause of the problem is essentially Keyboard: Set shortcut does not work for key-codes > 247 (#4353) · Issues · GNOME / gtk · GitLab.