Issue #571 has been updated by Bill XIE.
I decide to forward this issue and the hwdb piece composed by you to systemd project as https://github.com/systemd/systemd/issues/35469 , as finding the command to switch the key map mode of HP Elitebook 2170p by reverse engineering the oem firmware is both hard and ineffective.
---------------------------------------- Support #571: Keyboard scan codes of HP Elitebook 2170p under coreboot are different with those under oem firmware. https://ticket.coreboot.org/issues/571#change-1980
* Author: Wreg Yek * Status: New * Priority: Normal * Target version: none * Start date: 2024-11-23 * Affected hardware: HP Elitebook 2170p * Affected OS: GNU/Linux with systemd v257-rc1 or later ---------------------------------------- HP Elitebook 2170p is weird compared with many other Elitebooks supported by coreboot, for its keyboard scan codes under coreboot is different with those under oem firmware, regardless of the same set of EC firmware blobs are used.
The scan codes under oem firmware conform to the upstream [60-keyboard.hwdb](https://github.com/systemd/systemd/blob/main/hwdb.d/60-keyboard.hwdb), while after systemd v257-rc1, the `KEYBOARD_KEY_66=pickup_phone` within [upstream](https://github.com/systemd/systemd/commit/93b078c3dd40b10eed34a77d514b1db749...) 60-keyboard.hwdb starts to conflict with the scan codes of backspace key under coreboot, where it is 0x66.
Besides backspace, I have collected the scan codes of all Fn-keys under coreboot into the attached 61-2170p-kb.hwdb, which is adjusted to the default SMBIOS tables of coreboot for Elitebook 2170p, and could be used to walk around the scan code conflict.
---Files-------------------------------- 61-2170p-kb.hwdb (508 Bytes)