Hi Dmitry, On 10/29/22 14:03, 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> I have rejected the drivers/platform/x86 patch which depends on this, because it changes current behavior, potentially breaking userspace. Since this means I won't be taking any patches depending on this I believe it is best if this is merged through the input tree. Note this also has a: Acked-by: Jiri Kosina <jkosina@xxxxxxx> tag given in this email thread. Regards, Hans > --- > 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 */