This takes the idea from #18595 and implements it based on our current
hwdb: the original PR suggested the keys 66/65 are a generic HP thing,
and not limited to specific laptops. The current specific laptop entries
do not contradict that claim.
Hence, let's move them from the specific sections matching some HP
laptops to the generic section matching all.
This uses the correct key names, which have long been fixed (which used
to be a problem our CI was tripped off by).
This is not tested, but I think fairly risk-less, and should allow us to
get rid of a really old PR.
Replaces: #18595
No idea what the right fix is here, the commnt says "touchpad off" but
uses "f22" which is touchpad "on".
let's trust the comment, because it's more literal, and assume this was
a mistake.
Fix two problems of the keyboard of RedmiBook Pro 15 2022.
- Enter key in the main area was mapped to KP_Enter.
- When Fn is locked (to use F1-F12 without pressing Fn),
Right Ctrl was mapped to Menu. Keeping it as Right Ctrl is more useful.
Adds scancodes for the OrangePi NEO Handheld Gaming computer. This
device ships with an AT Translated Set 2 Keyboard device that
provides two buttons, ~~LC (Top Left) and RC (Top Right)~~
Home (front, bottom left) and Gamepad (front, bottom right). The
scancodes do not properly map in Linux. This change maps these
scancodes to ensure the hardware behaves as the OEM expects.
This prevents volume keys on the machine from repeating.
Full modalias:
```
$ cat /sys/class/dmi/id/modalias
dmi:bvnLENOVO:bvrMMCN36WW:bd03/26/2024:br1.36:efr1.30:svnLENOVO:pn21KH:pvrThinkBook16G6IRL:rvnLENOVO:rnLNVNB161216:rvrSDK0T76530WIN:cvnLENOVO:ct10:cvrThinkBook16G6IRL:skuLENOVO_MT_21KH_BU_idea_FM_ThinkBook16G6IRL:
```
The laptop JP-IK LEAP W502 has touchpad toggle key (Fn+F9), but it does
not work. Because, the scancode maps to a wrong key code:
Event: time 1715846095.224900, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1715846095.224900, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 1
Event: time 1715846095.224900, -------------- SYN_REPORT ------------
Event: time 1715846095.230985, type 4 (EV_MSC), code 4 (MSC_SCAN), value db
Event: time 1715846095.230985, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 1
Event: time 1715846095.230985, -------------- SYN_REPORT ------------
Event: time 1715846095.232903, type 4 (EV_MSC), code 4 (MSC_SCAN), value 76
Event: time 1715846095.232903, type 1 (EV_KEY), code 85 (KEY_ZENKAKUHANKAKU), value 1
Event: time 1715846095.232903, -------------- SYN_REPORT ------------
Map the scancode 76 to KEY_F21 to enable the touchpad toggle key.
The Xiaomi Mipad2 tablet has 3 capacitive buttons at the bottom.
These 3 buttons are handled by the touchsceen (the touchscreen extends
downwards to cover the bottom bezel).
By default these send Windows specific shortcuts which do not work
with Linux desktop environments:
Menu: LeftMeta + S
Home: LeftCtrl + Esc
Back: Backspace
Map these to menu / leftmeta (Windows key / Win 8 tablet home button key) /
back.
- Kernel: linux-6.8.8-arch
- systemd: 255.5-3-arch
- Laptop: Samsung GalaxyBook - NP550XDA-KF1BR
This is the solution to a problem with the Samsung GalaxyBook in which some Media keys,
when pressed and released, get stuck as if they are hold.
The Toshiba Z830 has 3 hotkeys which use the ACPI PNP0C32 quickstart spec:
https://archive.org/details/microsoft-acpi-dirapplaunch
These devices have an ACPI method called GHID() which suggests
it returns a value from the "HID Usage Tables" document, but these
methods simple returns a follow number for the button (1, 2 and 3).
The first 2 buttons are for what the manual calls "TOSHIBA eco button"
and "TOSHIBA Presentation button", since there is no good match for
these simply map them to KEY_PROG1 and KEY_PROG2.
The third button is intended to toggle the touchpad on/off, map
this to F21 which GNOME/KDE will interpret as touchpad toggle.
Map Fn+Tab to fn_esc as is FnLock toggle in this keyboard. Still doesn't behave as expected because work in ideapad_laptop kernel module could be required but now at least we report the same mapping in others keyboards with Fn+ESC for FnLock and not unknown.
Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
Kernel patch [1] fixed bugs in rfkill handling on MSI Wind U100. Now
that the HW rfkill reports the correct state, and the SW rfkill is
controllable from userspace, it's necessary to mute KEY_WLAN and
KEY_BLUETOOTH generated on HW rfkill state changes. Otherwise, the
userspace will react to these keys and toggle the SW rfkill as well,
which is not desired, because the user may end up with non-functional
radios if HW and SW rfkills are out of sync.
Blocking these keycodes doesn't impair user experience, because the
desktop environment can still react to HW rfkill events and act
accordingly (for example, show notifications).
While at it, use "unknown" instead of "reserved" to mute keys, to avoid
the "atkbd serio0: Unknown key pressed" flood in dmesg.
[1]: https://lore.kernel.org/all/20230721145423.161057-1-maxtram95@gmail.com/
Follow-up for 123c0e24dd.
Note, the entry was originally added for IdeaPad Flex 5 in
21b589a155.
Then, a bug introduced by 19db450f3a.
But, when it was fixed by 738a195bd5,
the glob becomes too stricter, and another variant was added by
123c0e24dd.