From ffe24ccf66d9179847323e6dfa301b75ee06f2b4 Mon Sep 17 00:00:00 2001 From: DingYong Date: Thu, 15 Aug 2024 08:24:02 +0000 Subject: Add keyboard volume mute LED. (2/2) (cherry picked from https://partner-android-review.googlesource.com/q/commit:80f60ec95afc0c5995647aa19f87b5389f656c25) Change-Id: I75f68a34b2557deeb9e5d760480e5ab4aa6af328 Bug: 373556678 Flag: NONE external OEM contribution only active in their devices --- include/input/InputDevice.h | 3 ++- services/inputflinger/reader/EventHub.cpp | 3 ++- services/inputflinger/reader/controller/PeripheralController.cpp | 2 ++ services/inputflinger/reader/include/EventHub.h | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/input/InputDevice.h b/include/input/InputDevice.h index 6a248ef188..6b45dd39dc 100644 --- a/include/input/InputDevice.h +++ b/include/input/InputDevice.h @@ -131,8 +131,9 @@ enum class InputDeviceLightType : int32_t { PLAYER_ID = 1, KEYBOARD_BACKLIGHT = 2, KEYBOARD_MIC_MUTE = 3, + KEYBOARD_VOLUME_MUTE = 4, - ftl_last = KEYBOARD_MIC_MUTE + ftl_last = KEYBOARD_VOLUME_MUTE }; enum class InputDeviceLightCapability : uint32_t { diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp index 35ba48f137..013ef862ad 100644 --- a/services/inputflinger/reader/EventHub.cpp +++ b/services/inputflinger/reader/EventHub.cpp @@ -129,7 +129,8 @@ static const std::unordered_map LIGHT_CLASSES = {"multi_intensity", InputLightClass::MULTI_INTENSITY}, {"max_brightness", InputLightClass::MAX_BRIGHTNESS}, {"kbd_backlight", InputLightClass::KEYBOARD_BACKLIGHT}, - {"mic_mute", InputLightClass::KEYBOARD_MIC_MUTE}}; + {"mic_mute", InputLightClass::KEYBOARD_MIC_MUTE}, + {"mute", InputLightClass::KEYBOARD_VOLUME_MUTE}}; // Mapping for input multicolor led class node names. // https://www.kernel.org/doc/html/latest/leds/leds-class-multicolor.html diff --git a/services/inputflinger/reader/controller/PeripheralController.cpp b/services/inputflinger/reader/controller/PeripheralController.cpp index 49ad8b5d69..9eeb2b2a2c 100644 --- a/services/inputflinger/reader/controller/PeripheralController.cpp +++ b/services/inputflinger/reader/controller/PeripheralController.cpp @@ -514,6 +514,8 @@ void PeripheralController::configureLights() { type = InputDeviceLightType::KEYBOARD_BACKLIGHT; } else if (rawInfo.flags.test(InputLightClass::KEYBOARD_MIC_MUTE)) { type = InputDeviceLightType::KEYBOARD_MIC_MUTE; + } else if (rawInfo.flags.test(InputLightClass::KEYBOARD_VOLUME_MUTE)) { + type = InputDeviceLightType::KEYBOARD_VOLUME_MUTE; } else { type = InputDeviceLightType::INPUT; } diff --git a/services/inputflinger/reader/include/EventHub.h b/services/inputflinger/reader/include/EventHub.h index 4336945e96..5839b4c41c 100644 --- a/services/inputflinger/reader/include/EventHub.h +++ b/services/inputflinger/reader/include/EventHub.h @@ -179,6 +179,8 @@ enum class InputLightClass : uint32_t { KEYBOARD_BACKLIGHT = 0x00000100, /* The input light has mic_mute name */ KEYBOARD_MIC_MUTE = 0x00000200, + /* The input light has mute name */ + KEYBOARD_VOLUME_MUTE = 0x00000400, }; enum class InputBatteryClass : uint32_t { -- cgit v1.2.3-59-g8ed1b