Description of problem: After updating to F22, scrolling with middle click (with a ThinkPad USB keyboard) does not work. If I hold down the middle button and move the cursor, nothing happens, however if I release the middle button while still moving the cursor, it might scroll one or two lines (this behavior does not seem to be consistent). Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Enable middle click scrolling in xorg.conf: Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "EmulateWheelTimeout" "100" Option "Emulate3Buttons" "true" 2. Middle click in any scrollable window and move cursor. Actual results: No scrolling. Expected results: Scrolling.
Hi Alex, Fedora 22 is no longer using the old evdev driver which is why this is not working. Fedora 22 now uses libinput, see: https://fedoraproject.org/wiki/Changes/LibinputForXorg libinput actually enables middle button scrolling on trackpoints by default, but that does not work for the trackpoint on your usb keyboard since there is no way to distinguish it from a normal mouse. So you will need to enable it manually, see "man 4 libinput" I'm going to keep this bug open to track figuring out a way to recognize tracksticks on usb / bluetooth keyboards. Regards, Hans
Hmm... I believe the pointing_stick property on external Lenovo keyboards will be solved in the upcoming 4.2 kernel: https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/commit/?h=for-4.2/lenovo&id=d92189ebbdcd0eb180317d8cd6d46c57ac9a3dc0 Alex, can you dump your dmesg so that we check if this commit is required for you?
I can't enter in the whole dmesg output here, but here's the part that seemed relevant, let me know if there's more that would be useful. ===================================== [ 2.591008] usb 9-2: New USB device found, idVendor=17ef, idProduct=6047 [ 2.591010] usb 9-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2.591012] usb 9-2: Product: ThinkPad Compact USB Keyboard with TrackPoint [ 2.591014] usb 9-2: Manufacturer: Lenovo [ 2.598200] input: Lenovo ThinkPad Compact USB Keyboard with TrackPoint as /devices/pci0000:00/0000:00:13.0/usb9/9-2/9-2:1.0/0003:17EF:6047.0002/input/input6 [ 2.649040] lenovo 0003:17EF:6047.0002: input,hidraw1: USB HID v1.00 Keyboard [Lenovo ThinkPad Compact USB Keyboard with TrackPoint] on usb-0000:00:13.0-2/input0 [ 2.655353] input: Lenovo ThinkPad Compact USB Keyboard with TrackPoint as /devices/pci0000:00/0000:00:13.0/usb9/9-2/9-2:1.1/0003:17EF:6047.0003/input/input7 [ 2.660960] usb 11-4: new full-speed USB device number 2 using ohci-pci [ 2.706134] lenovo 0003:17EF:6047.0003: input,hiddev0,hidraw2: USB HID v1.00 Mouse [Lenovo ThinkPad Compact USB Keyboard with TrackPoint] on usb-0000:00:13.0-2/input1
As far as I can tell, middle-click scrolling works by default, it's just that middle-click pasting happens on button press rather than release, so there is no way to scroll without also pasting. I think how we want things to work is: On middle click: -case(mouse movement within N milliseconds) -> scroll mode -case(release within N milliseconds) -> paste -case(nothing happens for more than N milliseconds) -> scroll mode
(In reply to Alex Richert from comment #3) > [ 2.591008] usb 9-2: New USB device found, idVendor=17ef, idProduct=6047 Thanks for the logs. Your device is indeed the one that is already fixed in the kernel, so we should be able to backport the previously mentioned commit in the Fedora kernel. Re-assigning to the kernel component. Josh, can I ask you to have a look and apply https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/commit/?h=for-4.2/lenovo&id=d92189ebbdcd0eb180317d8cd6d46c57ac9a3dc0 ? (In reply to Alex Richert from comment #4) > As far as I can tell, middle-click scrolling works by default, it's just > that middle-click pasting happens on button press rather than release, so > there is no way to scroll without also pasting. I think how we want things > to work is: > > On middle click: > -case(mouse movement within N milliseconds) -> scroll mode > -case(release within N milliseconds) -> paste > -case(nothing happens for more than N milliseconds) -> scroll mode That is already what I have on a T540p. I am not sure what you tested now to have this behavior. Peter, Hans, we might want to clone this bug to fix this in libinput too.
(In reply to Alex Richert from comment #4) > As far as I can tell, middle-click scrolling works by default, it's just > that middle-click pasting happens on button press rather than release, so > there is no way to scroll without also pasting. I think how we want things > to work is: > > On middle click: > -case(mouse movement within N milliseconds) -> scroll mode > -case(release within N milliseconds) -> paste > -case(nothing happens for more than N milliseconds) -> scroll mode please test this again, that's what the code does and tests shows this is what's happening on my box here. You should only ever get a middle button press if there was no motion or the release was within the timeout.
Nope-- I've got the most up-to-date packages for F22, and it's still middle-clicking on press rather than release. I even tried creating another user just now to make sure it wasn't something in my user settings and the behavior is the same. For what it's worth, the middle-paste on press rather than release happens with other mice as well, not just the one on the ThinkPad USB keyboard.
ok, file a separate bug for this issue then so we can debug it and avoid mixing up the rest of this bug. When you do so, please attach and evemu recording of such a middle click please.
Missed this one yesterday. I'll get to it today.
Patch added on all branches. Thanks!
kernel-4.0.5-300.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/kernel-4.0.5-300.fc22
kernel-4.0.5-200.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/kernel-4.0.5-200.fc21
Package kernel-4.0.5-200.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing kernel-4.0.5-200.fc21' as soon as you are able to, then reboot. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-9704/kernel-4.0.5-200.fc21 then log in and leave karma (feedback).
kernel-4.0.5-200.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.
kernel-4.0.5-300.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.