Bugzilla – Bug 1222391
Fn key does not work on Lenovo Essential Wireless Combo Keyboard and Mouse Gen2
Last modified: 2024-04-29 14:24:55 UTC
I am reporting this here as I don't know if this belongs here or to the kernel bugzilla. On openSUSE Tumbleweed the "fn" button does not work at all. On Windows, after installing a driver from the Lenovo website [1], it works. [1]: https://datacentersupport.lenovo.com/it/it/accessories/acc500323 --- $ lsusb ... Bus 004 Device 002: ID 1a81:1026 Holtek Semiconductor, Inc. Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 --- # evtest Available devices: /dev/input/event0: AT Translated Set 2 keyboard /dev/input/event1: ETPS/2 Elantech TrackPoint /dev/input/event10: Sleep Button /dev/input/event11: ThinkPad Extra Buttons /dev/input/event12: PC Speaker /dev/input/event13: HD-Audio Generic HDMI/DP,pcm=3 /dev/input/event14: HD-Audio Generic HDMI/DP,pcm=7 /dev/input/event15: HD-Audio Generic HDMI/DP,pcm=8 /dev/input/event16: HDA Digital PCBeep /dev/input/event17: HD-Audio Generic Mic /dev/input/event18: HD-Audio Generic Headphone /dev/input/event2: ETPS/2 Elantech Touchpad /dev/input/event3: Video Bus /dev/input/event4: Lenovo Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 /dev/input/event5: Lenovo Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 Mouse /dev/input/event6: Lenovo Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 Consumer Control /dev/input/event7: Lenovo Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 /dev/input/event8: Power Button /dev/input/event9: Lid Switch --- I've tried running evtest, but nothing gets detected when pressing the fn button alone, and the normal F1-F12 are detected if pressed while holding fn. Same with xev. If I run evtest and select event6, i get _some_ fn keys displayed (some keys are right and some are wrong) but they are not detected: --- Select the device event number [0-18]: 6 Input driver version is 1.0.1 Input device ID: bus 0x3 vendor 0x1a81 product 0x1026 version 0x1001 Input device name: "Lenovo Lenovo Essential Wireless Combo Keyboard & Mouse Gen2 Consumer Control" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 113 (KEY_MUTE) # <- this is right Event code 114 (KEY_VOLUMEDOWN) # <- right Event code 115 (KEY_VOLUMEUP) # <- right Event code 140 (KEY_CALC) # <- wrong. should be mic mute Event code 155 (KEY_MAIL) # <- from here on, all wrong Event code 163 (KEY_NEXTSONG) Event code 164 (KEY_PLAYPAUSE) Event code 165 (KEY_PREVIOUSSONG) Event code 166 (KEY_STOPCD) Event code 172 (KEY_HOMEPAGE) Event code 217 (KEY_SEARCH) Event code 240 (KEY_UNKNOWN) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) --- System infos: $ cat /etc/os-release -p NAME="openSUSE Tumbleweed" # VERSION="20240403" ID="opensuse-tumbleweed" ID_LIKE="opensuse suse" VERSION_ID="20240403" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" # CPE 2.3 format, boo#1217921 CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240403:*:*:*:*:*:*:*" #CPE 2.2 format #CPE_NAME="cpe:/o:opensuse:tumbleweed:20240403" BUG_REPORT_URL="https://bugzilla.opensuse.org" SUPPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org" DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed" LOGO="distributor-logo-Tumbleweed"
If the key code is reported from the kernel device, the remaining mapping can be rather a job in udev hwdb. Take a look at /usr/lib/udev/hwdb.d/* files (e.g. 60-keyboard.hwdb), and you can try to adjust the key mapping.
(In reply to Takashi Iwai from comment #1) > If the key code is reported from the kernel device, the remaining mapping > can be rather a job in udev hwdb. The key is not reported from the kernel device with evtest though :/
Ah then I misunderstood your comment. It showed the capabilities but not actually reported. Hmm. Is this a regression in the recent kernels? Or it's always not working?
Unfortunately I don't know, as I bought this keyboard recently and this is the first time I'm using it with this device.
OK, then I suppose the best would be to report to the upstream devs. I guess it's a HID device? You may try bugzilla.kernel.org (or better linux-hid ML).