From: Luke D. Jones Date: Wed, 3 May 2023 03:47:10 +0000 (+1200) Subject: HID: asus: add keycodes for 0x6a, 0x4b, and 0xc7 X-Git-Tag: v6.6.7~2529^2~7^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73920f615159b3539520657612b006ee24ea83f0;p=platform%2Fkernel%2Flinux-starfive.git HID: asus: add keycodes for 0x6a, 0x4b, and 0xc7 These two keys are found on some models with dual display. - 0x6a is intended for controlling the secondary screen brightness. - 0x4b is intended for toggling the arrow keys between arrows and page up / page down. This key is found on a slightly modified keyboard layout. - 0xc7 is intended to cycle through keybvoard brightnesses (upwards) but there is not suitable existing code for this behaviour. Using `KEY_KBDILLUMTOGGLE` is different behaviour to Windows but at least is picked up by many desktops already. Signed-off-by: Luke D. Jones Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c index 46ecc7d..ddfd37e 100644 --- a/drivers/hid/hid-asus.c +++ b/drivers/hid/hid-asus.c @@ -884,6 +884,7 @@ static int asus_input_mapping(struct hid_device *hdev, case 0xb5: asus_map_key_clear(KEY_CALC); break; case 0xc4: asus_map_key_clear(KEY_KBDILLUMUP); break; case 0xc5: asus_map_key_clear(KEY_KBDILLUMDOWN); break; + case 0xc7: asus_map_key_clear(KEY_KBDILLUMTOGGLE); break; /* ASUS touchpad toggle */ case 0x6b: asus_map_key_clear(KEY_F21); break; @@ -912,6 +913,12 @@ static int asus_input_mapping(struct hid_device *hdev, /* Fn+Right Aura mode next on N-Key keyboard */ case 0xb3: asus_map_key_clear(KEY_PROG3); break; + /* Screenpad toggle on N-Key keyboard */ + case 0x6a: asus_map_key_clear(KEY_F13); break; + + /* Arrows/Page-up/Down toggle on N-Key keyboard */ + case 0x4b: asus_map_key_clear(KEY_F14); break; + default: /* ASUS lazily declares 256 usages, ignore the rest, * as some make the keyboard appear as a pointer device. */