Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1225563 - RFE: Mark trackpoints on usb/bluetooth devices as such, so that middle button scrolling gets enabled automatically
Summary: RFE: Mark trackpoints on usb/bluetooth devices as such, so that middle button...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 22
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-27 16:41 UTC by Alex Richert
Modified: 2015-06-21 00:31 UTC (History)
11 users (show)

Fixed In Version: kernel-4.0.5-300.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-20 23:58:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Alex Richert 2015-05-27 16:41:03 UTC
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.

Comment 1 Hans de Goede 2015-05-28 17:32:10 UTC
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

Comment 2 Benjamin Tissoires 2015-05-28 17:43:32 UTC
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?

Comment 3 Alex Richert 2015-05-29 01:04:14 UTC
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

Comment 4 Alex Richert 2015-05-30 16:46:48 UTC
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

Comment 5 Benjamin Tissoires 2015-05-30 21:31:35 UTC
(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.

Comment 6 Peter Hutterer 2015-06-01 04:18:10 UTC
(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.

Comment 7 Alex Richert 2015-06-01 17:23:50 UTC
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.

Comment 8 Peter Hutterer 2015-06-01 23:10:09 UTC
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.

Comment 9 Josh Boyer 2015-06-02 12:28:27 UTC
Missed this one yesterday.  I'll get to it today.

Comment 10 Josh Boyer 2015-06-02 13:17:37 UTC
Patch added on all branches.  Thanks!

Comment 11 Fedora Update System 2015-06-09 12:57:25 UTC
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

Comment 12 Fedora Update System 2015-06-09 12:59:20 UTC
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

Comment 13 Fedora Update System 2015-06-10 19:08:53 UTC
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).

Comment 14 Fedora Update System 2015-06-20 23:58:20 UTC
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.

Comment 15 Fedora Update System 2015-06-21 00:31:25 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.