hid: Add driver to fix Speedlink VAD Cezanne support
PATCH 1/1 hid: Add driver to fix Speedlink VAD Cezanne support
Hello,
Speedlink VAD Cezanne have a hardware bug that makes the cursor "jump" from one place to another every now and then. The issue are relative motion events erroneously reported by the device, each having a distance value of +256. This 256 can in fact never occur due to real motion, therefore those events can safely be ignored. The driver also drops useless EV_REL events with a value of 0, that the device sends every time it sends an "real" EV_REL or EV_KEY event.
---
drivers/hid/hid-core.c +1 -0
@@ -1482,6 +1482,7 @@ static const struct hid_device_id hid_ha { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SLIM_TABLET_12_1_INCH) }, { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_MEDIA_TABLET_10_6_INCH) }, { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_MEDIA_TABLET_14_1_INCH) }, + { HID_USB_DEVICE(USB_VENDOR_ID_X_TENSIONS, USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE) }, { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0005) }, { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) }, { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) },
drivers/hid/hid-ids.h +3 -0
@@ -607,6 +607,9 @@#define USB_VENDOR_ID_WISEGROUP_LTD2 0x6677#define USB_DEVICE_ID_SMARTJOY_DUAL_PLUS 0x8802 +#define USB_VENDOR_ID_X_TENSIONS 0x1ae7 +#define USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE 0x9001 +#define USB_VENDOR_ID_YEALINK 0x6993#define USB_DEVICE_ID_YEALINK_P1K_P4K_B2K 0xb001
drivers/hid/Kconfig +6 -0
@@ -500,6 +500,12 @@ config HID_SONY ---help--- Support for Sony PS3 controller. +config HID_SPEEDLINK + tristate "Speedlink VAD Cezanne mouse support" + depends on USB_HID + ---help--- + Support for Speedlink Vicious and Divine Cezanne mouse. + config HID_STANTUM tristate "Stantum multitouch panel" depends on USB_HID
drivers/hid/Makefile +1 -0
@@ -66,6 +66,7 @@ obj-$(CONFIG_HID_ROCCAT_PYRA) += hid-roc obj-$(CONFIG_HID_SAMSUNG) += hid-samsung.o obj-$(CONFIG_HID_SMARTJOYPLUS) += hid-sjoy.o obj-$(CONFIG_HID_SONY) += hid-sony.o +obj-$(CONFIG_HID_SPEEDLINK) += hid-speedlink.o obj-$(CONFIG_HID_STANTUM) += hid-stantum.o obj-$(CONFIG_HID_SUNPLUS) += hid-sunplus.o obj-$(CONFIG_HID_GREENASIA) += hid-gaff.o
drivers/hid/hid-speedlink.c new file +89 -0
89 lines not on this page · raw message
Jiri Kosina
AppliedQuoted 7 lines · Stefan Kriwanek
Speedlink VAD Cezanne have a hardware bug that makes the cursor "jump" from one place to another every now and then. The issue are relative motion events erroneously reported by the device, each having a distance value of +256. This 256 can in fact never occur due to real motion, therefore those events can safely be ignored. The driver also drops useless
EV_RELevents with a value of 0, that the device sends every time it sends an "real"EV_RELorEV_KEYevent.
Applied, thank you Stefan.
Signature · 2 lines
Jiri Kosina SUSE Labs