Re: [PATCH 2/6] HID: add mapping for camera access keys

From: Dmitry Torokhov
Date: Thu Oct 27 2022 - 03:48:02 EST


On Wed, Oct 26, 2022 at 10:01:02PM +0300, Eray Orçunus wrote:
> 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@xxxxxxxxx>

Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>

> ---
> drivers/hid/hid-debug.c | 3 +++
> drivers/hid/hid-input.c | 3 +++
> include/uapi/linux/input-event-codes.h | 3 +++
> 3 files changed, 9 insertions(+)
>
> diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
> index f48d3534e020..991f880fdbd4 100644
> --- a/drivers/hid/hid-debug.c
> +++ b/drivers/hid/hid-debug.c
> @@ -936,6 +936,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",
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index f197aed6444a..f8e6513e77b8 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -995,6 +995,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;
>
> diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
> index 7989d9483ea7..ef392d0f943f 100644
> --- a/include/uapi/linux/input-event-codes.h
> +++ b/include/uapi/linux/input-event-codes.h
> @@ -614,6 +614,9 @@
> #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 */
> --
> 2.34.1
>

--
Dmitry