[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-input
Subject:    [PATCH v2] HID: add KEY_CAMERA_FOCUS event in HID
From:       Qi Feng <fengqi706 () gmail ! com>
Date:       2023-01-31 11:46:32
Message-ID: 20230131114632.14078-1-fengqi706 () gmail ! com
[Download RAW message or body]

From: fengqi <fengqi@xiaomi.com>

Our HID device need KEY_CAMERA_FOCUS event to control camera, but this
event is non-existent in current HID driver.we add this event in hid-input.c
We committed this v2 version following your previous suggestion

Signed-off-by: fengqi <fengqi@xiaomi.com>
---
 drivers/hid/hid-input.c | 7 +++++++
 include/linux/hid.h     | 1 +
 2 files changed, 8 insertions(+)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 9b59e436df0a..05fa3e191574 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1221,6 +1221,13 @@ 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..e3daf2c7739c 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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic