Commit 63f7cf66 authored by Jiri Kosina's avatar Jiri Kosina
Browse files

Merge branch 'for-6.4/core' into for-linus

- improve handling of generic "Digitizer" usage (Jason Gerecke)
- support for KEY_CAMERA_FOCUS (Feng Qi)
parents 5f86a084 35903009
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -415,6 +415,7 @@
#define I2C_DEVICE_ID_HP_SPECTRE_X360_15	0x2817
#define I2C_DEVICE_ID_HP_SPECTRE_X360_13_AW0020NG  0x29DF
#define I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN 0x2BC8
#define I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN 0x2C82
#define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN	0x2544
#define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN	0x2706
#define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN	0x261A
+12 −0
Original line number Diff line number Diff line
@@ -372,6 +372,8 @@ static const struct hid_device_id hid_battery_quirks[] = {
	  HID_BATTERY_QUIRK_IGNORE },
	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN),
	  HID_BATTERY_QUIRK_IGNORE },
	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN),
	  HID_BATTERY_QUIRK_IGNORE },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),
	  HID_BATTERY_QUIRK_IGNORE },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN),
@@ -1267,6 +1269,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);
+2 −1
Original line number Diff line number Diff line
@@ -156,6 +156,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
@@ -873,7 +874,7 @@ extern bool hid_is_usb(const struct hid_device *hdev);
/* We ignore a few input applications that are not widely used */
#define IS_INPUT_APPLICATION(a) \
		(((a >= HID_UP_GENDESK) && (a <= HID_GD_MULTIAXIS)) \
		|| ((a >= HID_DG_PEN) && (a <= HID_DG_WHITEBOARD)) \
		|| ((a >= HID_DG_DIGITIZER) && (a <= HID_DG_WHITEBOARD)) \
		|| (a == HID_GD_SYSTEM_CONTROL) || (a == HID_CP_CONSUMER_CONTROL) \
		|| (a == HID_GD_WIRELESS_RADIO_CTLS))