summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2021-10-13 13:23:04 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2021-10-15 20:26:30 -0700
commitf041a7af12636639d9c87e541c4c261d40f5afa7 (patch)
tree1e2d370dd176dafb68e34f2d21fe8deb89ef9a5f
parent804f354ab6ce6668244db6d4c2da8e481ad89fb5 (diff)
downloadlinux-f041a7af12636639d9c87e541c4c261d40f5afa7.tar.bz2
Input: tm2-touchkey - report scan codes
Report the index of pressed touch key as MSC_SCAN code to userspace so it is possible to identify which of the keys was pressed (not just the function that is currently assigned to the key). This is done similarly also in mcs_touchkey and mpr121_touchkey. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20211013112305.41574-1-stephan@gerhold.net Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-rw-r--r--drivers/input/keyboard/tm2-touchkey.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/input/keyboard/tm2-touchkey.c b/drivers/input/keyboard/tm2-touchkey.c
index 6218b1c682ef..ce40ea2d940f 100644
--- a/drivers/input/keyboard/tm2-touchkey.c
+++ b/drivers/input/keyboard/tm2-touchkey.c
@@ -156,6 +156,8 @@ static irqreturn_t tm2_touchkey_irq_handler(int irq, void *devid)
goto out;
}
+ input_event(touchkey->input_dev, EV_MSC, MSC_SCAN, index);
+
if (data & TM2_TOUCHKEY_BIT_PRESS_EV) {
for (i = 0; i < touchkey->num_keycodes; i++)
input_report_key(touchkey->input_dev,
@@ -250,6 +252,7 @@ static int tm2_touchkey_probe(struct i2c_client *client,
touchkey->input_dev->name = TM2_TOUCHKEY_DEV_NAME;
touchkey->input_dev->id.bustype = BUS_I2C;
+ input_set_capability(touchkey->input_dev, EV_MSC, MSC_SCAN);
for (i = 0; i < touchkey->num_keycodes; i++)
input_set_capability(touchkey->input_dev, EV_KEY,
touchkey->keycodes[i]);