]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
input: Add support for "Do Not Disturb"
authorAseda Aboagye <aaboagye@chromium.org>
Tue, 4 Jun 2024 23:16:32 +0000 (23:16 +0000)
committerBenjamin Tissoires <bentiss@kernel.org>
Fri, 7 Jun 2024 09:08:07 +0000 (11:08 +0200)
HUTRR94 added support for a new usage titled "System Do Not Disturb"
which toggles a system-wide Do Not Disturb setting. This commit simply
adds a new event code for the usage.

Signed-off-by: Aseda Aboagye <aaboagye@chromium.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/Zl-gUHE70s7wCAoB@google.com
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/hid-debug.c
drivers/hid/hid-input.c
include/uapi/linux/input-event-codes.h

index 322ed63a98abe69e79ce8d12b8d4c2aa23c8c651..d5abfe652fb5064c318d3ab016d5e6e7947fce8b 100644 (file)
@@ -3367,6 +3367,7 @@ static const char *keys[KEY_MAX + 1] = {
        [KEY_CAMERA_ACCESS_DISABLE] = "CameraAccessDisable",
        [KEY_CAMERA_ACCESS_TOGGLE] = "CameraAccessToggle",
        [KEY_ACCESSIBILITY] = "Accessibility",
+       [KEY_DO_NOT_DISTURB] = "DoNotDisturb",
        [KEY_DICTATE] = "Dictate",
        [KEY_MICMUTE] = "MicrophoneMute",
        [KEY_BRIGHTNESS_MIN] = "BrightnessMin",
index d5a6e89c3086e4ac4d5caab0a90d22b974b4e5e1..8bb16e9b94aa52c400c214611a7fd0cc5543d53a 100644 (file)
@@ -833,6 +833,14 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                        break;
                }
 
+               if ((usage->hid & 0xf0) == 0x90) { /* SystemControl*/
+                       switch (usage->hid & 0xf) {
+                       case 0xb: map_key_clear(KEY_DO_NOT_DISTURB); break;
+                       default: goto ignore;
+                       }
+                       break;
+               }
+
                if ((usage->hid & 0xf0) == 0xa0) {      /* SystemControl */
                        switch (usage->hid & 0xf) {
                        case 0x9: map_key_clear(KEY_MICMUTE); break;
index 39f11ec676fae920c88fa6c25a2508dbcad3d68d..a4206723f50333db2e5d9d06c538636536846a6a 100644 (file)
 #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_ACCESSIBILITY              0x24e   /* Toggles the system bound accessibility UI/command (HUTRR116) */
+#define KEY_DO_NOT_DISTURB             0x24f   /* Toggles the system-wide "Do Not Disturb" control (HUTRR94)*/
 
 #define KEY_BRIGHTNESS_MIN             0x250   /* Set Brightness to Minimum */
 #define KEY_BRIGHTNESS_MAX             0x251   /* Set Brightness to Maximum */