summaryrefslogtreecommitdiff
path: root/modules/input/evdev/SwitchInputMapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/input/evdev/SwitchInputMapper.cpp')
-rw-r--r--modules/input/evdev/SwitchInputMapper.cpp26
1 files changed, 7 insertions, 19 deletions
diff --git a/modules/input/evdev/SwitchInputMapper.cpp b/modules/input/evdev/SwitchInputMapper.cpp
index 028fc725..1b2e749f 100644
--- a/modules/input/evdev/SwitchInputMapper.cpp
+++ b/modules/input/evdev/SwitchInputMapper.cpp
@@ -49,9 +49,9 @@ static struct {
{SW_LINEIN_INSERT, INPUT_USAGE_SWITCH_UNKNOWN},
{SW_MUTE_DEVICE, INPUT_USAGE_SWITCH_UNKNOWN},
{SW_PEN_INSERTED, INPUT_USAGE_SWITCH_UNKNOWN},
- {SW_MACHINE_COVER, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x11 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x12 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
+ {SW_HPHL_OVERCURRENT, INPUT_USAGE_SWITCH_UNKNOWN},
+ {SW_HPHR_OVERCURRENT, INPUT_USAGE_SWITCH_UNKNOWN},
+ {SW_UNSUPPORT_INSERT, INPUT_USAGE_SWITCH_UNKNOWN},
{0x13 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
{0x14 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
{0x15 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
@@ -59,21 +59,9 @@ static struct {
{0x17 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
{0x18 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
{0x19 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1a /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1b /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1c /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1d /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1e /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x1f /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
- {0x20 /* unused */, INPUT_USAGE_SWITCH_UNKNOWN},
+ {SW_MAX, INPUT_USAGE_SWITCH_UNKNOWN},
};
-static_assert(SW_MAX == SW_MACHINE_COVER, "SW_MAX is not SW_MACHINE_COVER");
-
-// This is the max value that any kernel has ever used. The v5.4 kernels
-// increased SW_MAX to 0x20, while v5.8 decreased the value to 0x10.
-static constexpr int32_t kMaxNumInputCodes = 0x21;
-
SwitchInputMapper::SwitchInputMapper()
: InputMapper() {
// If this gets larger than 64, then the mSwitchValues and mUpdatedSwitchMask
@@ -83,9 +71,9 @@ SwitchInputMapper::SwitchInputMapper()
bool SwitchInputMapper::configureInputReport(InputDeviceNode* devNode,
InputReportDefinition* report) {
- InputUsage usages[kMaxNumInputCodes];
+ InputUsage usages[SW_CNT];
int numUsages = 0;
- for (int32_t i = 0; i < kMaxNumInputCodes; ++i) {
+ for (int32_t i = 0; i < SW_CNT; ++i) {
if (devNode->hasSwitch(codeMap[i].scancode)) {
usages[numUsages++] = codeMap[i].usage;
}
@@ -117,7 +105,7 @@ void SwitchInputMapper::process(const InputEvent& event) {
void SwitchInputMapper::processSwitch(int32_t switchCode, int32_t switchValue) {
ALOGV("processing switch event. code=%" PRId32 ", value=%" PRId32, switchCode, switchValue);
- if (switchCode >= 0 && switchCode < kMaxNumInputCodes) {
+ if (switchCode >= 0 && switchCode < SW_CNT) {
if (switchValue) {
mSwitchValues.markBit(switchCode);
} else {