HID: add mapping for camera access keys
authorEray Orçunus <erayorcunus@gmail.com>
Wed, 23 Nov 2022 01:46:55 +0000 (17:46 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 23 Nov 2022 01:50:36 +0000 (17:50 -0800)
HUTRR72 added 3 new usage codes for keys that are supposed to enable,
disable and toggle camera access. These are useful, considering many
laptops today have key(s) for toggling access to camera.

This patch adds new key definitions for KEY_CAMERA_ACCESS_ENABLE,
KEY_CAMERA_ACCESS_DISABLE and KEY_CAMERA_ACCESS_TOGGLE. Additionally
hid-debug is adjusted to recognize this new usage codes as well.

Signed-off-by: Eray Orçunus <erayorcunus@gmail.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Link: https://lore.kernel.org/r/20221029120311.11152-3-erayorcunus@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/hid/hid-debug.c
drivers/hid/hid-input.c
include/uapi/linux/input-event-codes.h

index 2ca6ab600bc9f24c8b6778470f571fddd92ce826..e213bdde543af7cb9eb538a8550a6c200d083b0a 100644 (file)
@@ -971,6 +971,9 @@ static const char *keys[KEY_MAX + 1] = {
        [KEY_ASSISTANT] = "Assistant",
        [KEY_KBD_LAYOUT_NEXT] = "KbdLayoutNext",
        [KEY_EMOJI_PICKER] = "EmojiPicker",
+       [KEY_CAMERA_ACCESS_ENABLE] = "CameraAccessEnable",
+       [KEY_CAMERA_ACCESS_DISABLE] = "CameraAccessDisable",
+       [KEY_CAMERA_ACCESS_TOGGLE] = "CameraAccessToggle",
        [KEY_DICTATE] = "Dictate",
        [KEY_BRIGHTNESS_MIN] = "BrightnessMin",
        [KEY_BRIGHTNESS_MAX] = "BrightnessMax",
index 859aeb07542e3a76a7dee9850f09d97bafbf010b..c6259d9e5ff69972046956439b57eebfc0981127 100644 (file)
@@ -1086,6 +1086,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                case 0x0cd: map_key_clear(KEY_PLAYPAUSE);       break;
                case 0x0cf: map_key_clear(KEY_VOICECOMMAND);    break;
 
+               case 0x0d5: map_key_clear(KEY_CAMERA_ACCESS_ENABLE);            break;
+               case 0x0d6: map_key_clear(KEY_CAMERA_ACCESS_DISABLE);           break;
+               case 0x0d7: map_key_clear(KEY_CAMERA_ACCESS_TOGGLE);            break;
                case 0x0d8: map_key_clear(KEY_DICTATE);         break;
                case 0x0d9: map_key_clear(KEY_EMOJI_PICKER);    break;
 
index 7ad931a329706c7253914b9a04fa5902c3d8b194..022a520e31fc23abdb9dbfdcfa06edc0b692a1be 100644 (file)
 #define KEY_KBD_LAYOUT_NEXT    0x248   /* AC Next Keyboard Layout Select */
 #define KEY_EMOJI_PICKER       0x249   /* Show/hide emoji picker (HUTRR101) */
 #define KEY_DICTATE            0x24a   /* Start or Stop Voice Dictation Session (HUTRR99) */
+#define KEY_CAMERA_ACCESS_ENABLE       0x24b   /* Enables programmatic access to camera devices. (HUTRR72) */
+#define KEY_CAMERA_ACCESS_DISABLE      0x24c   /* Disables programmatic access to camera devices. (HUTRR72) */
+#define KEY_CAMERA_ACCESS_TOGGLE       0x24d   /* Toggles the current state of the camera access control. (HUTRR72) */
 
 #define KEY_BRIGHTNESS_MIN             0x250   /* Set Brightness to Minimum */
 #define KEY_BRIGHTNESS_MAX             0x251   /* Set Brightness to Maximum */