jwboyer pushed to kernel (f20). "Fix middle button issues on external Lenovo keyboards (rhbz 1225563)"

notifications at fedoraproject.org notifications at fedoraproject.org
Tue Jun 2 13:17:39 UTC 2015


From c70650f9f5fe91c54dbfc26b6a3da13cbbd97455 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer at fedoraproject.org>
Date: Tue, 2 Jun 2015 09:13:59 -0400
Subject: Fix middle button issues on external Lenovo keyboards (rhbz 1225563)


diff --git a/HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch b/HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
new file mode 100644
index 0000000..76419cc
--- /dev/null
+++ b/HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
@@ -0,0 +1,52 @@
+From: Andreas Fleig <andreasfleig at gmail.com>
+Date: Thu, 23 Apr 2015 10:25:58 +0200
+Subject: [PATCH] HID: lenovo: set INPUT_PROP_POINTING_STICK
+
+Set flags INPUT_PROP_POINTER and INPUT_PROP_POINTING_STICK for the trackpoint
+integrated in Lenovo USB and Bluetooth keyboards. Libinput checks these flags
+to enable features such as middle-button-scrolling by default.
+
+Signed-off-by: Andreas Fleig <andreasfleig at gmail.com>
+Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
+Signed-off-by: Jiri Kosina <jkosina at suse.cz>
+---
+ drivers/hid/hid-lenovo.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c
+index c4c3f0952521..78608d646007 100644
+--- a/drivers/hid/hid-lenovo.c
++++ b/drivers/hid/hid-lenovo.c
+@@ -762,6 +762,24 @@ static void lenovo_remove(struct hid_device *hdev)
+ 	hid_hw_stop(hdev);
+ }
+ 
++static void lenovo_input_configured(struct hid_device *hdev,
++		struct hid_input *hi)
++{
++	switch (hdev->product) {
++		case USB_DEVICE_ID_LENOVO_TPKBD:
++		case USB_DEVICE_ID_LENOVO_CUSBKBD:
++		case USB_DEVICE_ID_LENOVO_CBTKBD:
++			if (test_bit(EV_REL, hi->input->evbit)) {
++				/* set only for trackpoint device */
++				__set_bit(INPUT_PROP_POINTER, hi->input->propbit);
++				__set_bit(INPUT_PROP_POINTING_STICK,
++						hi->input->propbit);
++			}
++			break;
++	}
++}
++
++
+ static const struct hid_device_id lenovo_devices[] = {
+ 	{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_TPKBD) },
+ 	{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_CUSBKBD) },
+@@ -774,6 +792,7 @@ MODULE_DEVICE_TABLE(hid, lenovo_devices);
+ static struct hid_driver lenovo_driver = {
+ 	.name = "lenovo",
+ 	.id_table = lenovo_devices,
++	.input_configured = lenovo_input_configured,
+ 	.input_mapping = lenovo_input_mapping,
+ 	.probe = lenovo_probe,
+ 	.remove = lenovo_remove,
diff --git a/kernel.spec b/kernel.spec
index d762503..6ca6a65 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -796,6 +796,9 @@ Patch26212: fs_pin-Allow-for-the-possibility-that-m_list-or-s_li.patch
 #rhbz 1217249
 Patch26214: acpi_video-Add-enable_native_backlight-quirk-for-Mac.patch
 
+#rhbz 1225563
+Patch26215: HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
+
 # END OF PATCH DEFINITIONS
 
 %endif
@@ -1561,6 +1564,9 @@ ApplyPatch fs_pin-Allow-for-the-possibility-that-m_list-or-s_li.patch
 #rhbz 1217249
 ApplyPatch acpi_video-Add-enable_native_backlight-quirk-for-Mac.patch
 
+#rhbz 1225563
+ApplyPatch HID-lenovo-set-INPUT_PROP_POINTING_STICK.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -2372,6 +2378,9 @@ fi
 #                 ||----w |
 #                 ||     ||
 %changelog
+* Tue Jun 02 2015 Josh Boyer <jwboyer at fedoraproject.org>
+- Fix middle button issues on external Lenovo keyboards (rhbz 1225563)
+
 * Thu May 28 2015 Josh Boyer <jwboyer at fedoraproject.org>
 - Add quirk for Mac Pro backlight (rhbz 1217249)
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/kernel.git/commit/?h=f20&id=c70650f9f5fe91c54dbfc26b6a3da13cbbd97455


More information about the scm-commits mailing list