Thread (7 messages) 7 messages, 3 authors, 2023-03-10

Re: [PATCH v4] HID: add KEY_CAMERA_FOCUS event in HID

From: qi feng <hidden>
Date: 2023-02-16 09:26:34
Also in: lkml

loop more

Qi Feng [off-list ref] 于2023年2月16日周四 16:48写道:
quoted hunk ↗ jump to hunk
From: fengqi <redacted>

Our HID device need KEY_CAMERA_FOCUS event to control camera,
but this event is non-existent in current HID driver.
So we add this event in hid-input.c.

Signed-off-by: fengqi <redacted>

---
changes in v4:

-add HID_UP_CAMERA in HID usage tables , Then add the mapping under HID_UP_CAMERA
-modify the commit log of patch
-Link to v3:https://lore.kernel.org/linux-input/9a85b268c7636ef2e4e3bbbe318561ba2842a591.1676536357.git.fengqi@xiaomi.com/T/#u (local)
-Link to v2:https://lore.kernel.org/linux-input/CACOZ=ZU0zgRmoRu8X5bMUzUrXA9x-qoDJqrQroUs=+qKR58MQA@mail.gmail.com/T/#t (local)
-Link to v1:https://lore.kernel.org/linux-input/CACOZ=ZWB3grJKn7wAZEZ0BDyN7KJF4VWUTNs-mPxeoW_oiR7=g@mail.gmail.com/T/#t (local)
---
 drivers/hid/hid-input.c | 10 ++++++++++
 include/linux/hid.h     |  1 +
 2 files changed, 11 insertions(+)
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 77c8c49852b5..c6098ae2fac7 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1225,6 +1225,16 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                        return;
                }
                goto unknown;
+       case HID_UP_CAMERA:
+               switch (usage->hid & HID_USAGE) {
+               case 0x020:
+                       map_key_clear(KEY_CAMERA_FOCUS);        break;
+               case 0x021:
+                       map_key_clear(KEY_CAMERA);              break;
+               default:
+                       goto ignore;
+               }
+               break;

        case HID_UP_HPVENDOR:   /* Reported on a Dutch layout HP5308 */
                set_bit(EV_REP, input->evbit);
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 8677ae38599e..88793b77bd63 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -155,6 +155,7 @@ struct hid_item {
 #define HID_UP_DIGITIZER       0x000d0000
 #define HID_UP_PID             0x000f0000
 #define HID_UP_BATTERY         0x00850000
+#define HID_UP_CAMERA          0x00900000
 #define HID_UP_HPVENDOR         0xff7f0000
 #define HID_UP_HPVENDOR2        0xff010000
 #define HID_UP_MSVENDOR                0xff000000
--
2.39.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help