mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 16:56:39 +07:00
Input: HID - add a quirk for the Apple Powermouse
Add a quirk for the Apple Powermouse, remapping GenericDesktop.Z to Rel.HWheel, to allow horizontal scrolling in Linux. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
c4786ca8a4
commit
c58de6d949
@ -1442,6 +1442,8 @@ void hid_init_reports(struct hid_device *hid)
|
||||
#define USB_DEVICE_ID_NETWORKANALYSER 0x2020
|
||||
#define USB_DEVICE_ID_POWERCONTROL 0x2030
|
||||
|
||||
#define USB_VENDOR_ID_APPLE 0x05ac
|
||||
#define USB_DEVICE_ID_APPLE_POWERMOUSE 0x0304
|
||||
|
||||
/*
|
||||
* Alphabetically sorted blacklist by quirk type.
|
||||
@ -1546,6 +1548,7 @@ static struct hid_blacklist {
|
||||
{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_USBHUB_KB, HID_QUIRK_NOGET},
|
||||
{ USB_VENDOR_ID_TANGTOP, USB_DEVICE_ID_TANGTOP_USBPS2, HID_QUIRK_NOGET },
|
||||
|
||||
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_POWERMOUSE, HID_QUIRK_2WHEEL_POWERMOUSE },
|
||||
{ USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, HID_QUIRK_2WHEEL_MOUSE_HACK_7 },
|
||||
{ USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_MOUSE, HID_QUIRK_2WHEEL_MOUSE_HACK_5 },
|
||||
|
||||
|
@ -396,6 +396,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
|
||||
if (usage->code > max)
|
||||
goto ignore;
|
||||
|
||||
if (((device->quirks & (HID_QUIRK_2WHEEL_POWERMOUSE)) && (usage->hid == 0x00010032)))
|
||||
map_rel(REL_HWHEEL);
|
||||
|
||||
if ((device->quirks & (HID_QUIRK_2WHEEL_MOUSE_HACK_7 | HID_QUIRK_2WHEEL_MOUSE_HACK_5)) &&
|
||||
(usage->type == EV_REL) && (usage->code == REL_WHEEL))
|
||||
set_bit(REL_HWHEEL, bit);
|
||||
|
@ -245,6 +245,7 @@ struct hid_item {
|
||||
#define HID_QUIRK_2WHEEL_MOUSE_HACK_7 0x080
|
||||
#define HID_QUIRK_2WHEEL_MOUSE_HACK_5 0x100
|
||||
#define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 0x200
|
||||
#define HID_QUIRK_2WHEEL_POWERMOUSE 0x400
|
||||
|
||||
/*
|
||||
* This is the global environment of the parser. This information is
|
||||
|
Loading…
Reference in New Issue
Block a user