lkml.org 
[lkml]   [2023]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 6.1 07/58] HID: Add Mapping for System Microphone Mute
    Date
    From: Jingyuan Liang <jingyliang@chromium.org>

    [ Upstream commit 2d60f9f4f26785a00273cb81fe60eff129ebd449 ]

    HUTRR110 added a new usage code for a key that is supposed to
    mute/unmute microphone system-wide.

    Map the new usage code(0x01 0xa9) to keycode KEY_MICMUTE.
    Additionally hid-debug is adjusted to recognize this keycode as well.

    Signed-off-by: Jingyuan Liang <jingyliang@chromium.org>
    Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/hid/hid-debug.c | 1 +
    drivers/hid/hid-input.c | 8 ++++++++
    2 files changed, 9 insertions(+)

    diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
    index 2ca6ab600bc9f..15e35702773cd 100644
    --- a/drivers/hid/hid-debug.c
    +++ b/drivers/hid/hid-debug.c
    @@ -972,6 +972,7 @@ static const char *keys[KEY_MAX + 1] = {
    [KEY_KBD_LAYOUT_NEXT] = "KbdLayoutNext",
    [KEY_EMOJI_PICKER] = "EmojiPicker",
    [KEY_DICTATE] = "Dictate",
    + [KEY_MICMUTE] = "MicrophoneMute",
    [KEY_BRIGHTNESS_MIN] = "BrightnessMin",
    [KEY_BRIGHTNESS_MAX] = "BrightnessMax",
    [KEY_BRIGHTNESS_AUTO] = "BrightnessAuto",
    diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
    index 3ee5a9fea20e6..ee5050306225f 100644
    --- a/drivers/hid/hid-input.c
    +++ b/drivers/hid/hid-input.c
    @@ -789,6 +789,14 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
    break;
    }

    + if ((usage->hid & 0xf0) == 0xa0) { /* SystemControl */
    + switch (usage->hid & 0xf) {
    + case 0x9: map_key_clear(KEY_MICMUTE); break;
    + default: goto ignore;
    + }
    + break;
    + }
    +
    if ((usage->hid & 0xf0) == 0xb0) { /* SC - Display */
    switch (usage->hid & 0xf) {
    case 0x05: map_key_clear(KEY_SWITCHVIDEOMODE); break;
    --
    2.39.0
    \
     
     \ /
      Last update: 2023-03-27 00:36    [W:4.138 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site