[Input - Mouse] Posible to repeat horizontal scroll events (buttons 6 and 7) for "quirky" device? ("ThinkPad Bluetooth Laser Mouse")

Adam Hirst adam at aphirst.karoo.co.uk
Thu Aug 3 15:50:02 UTC 2017

Dear all,

I have an issue with one specific peripheral, the "ThinkPad Bluetooth
Laser Mouse" about which I have already gone into some detail on the
Arch forums. https://bbs.archlinux.org/viewtopic.php?id=189649

The first is minor, in that the default button layout wasn't similar to
other mice of the same form-factor (e.g. the Logitech B110). This can be
corrected quite simply with a .conf file in /etc/X11/xorg.conf.d, with
the line:

    Option        "ButtonMapping" "1 2 3 4 5 0 0 6 7"

The second is unfortunately more significant. Buttons "6" and "7" (after
my remapping) correspond to the left and right scroll directions,
implemented in-hardware as tilt switches on either side of the scroll
wheel. However, unlike aforementioned "other" mice (Logitech B110, and
even my ThinkPad's integrated TrackPoint), holding these buttons DOES
NOT result in a chain of ButtonPress ButtonRelease events, but rather a
single ButtonPress at the start, and a single ButtonRelease at the end.

I've tried all manner of options in this same .conf file (though I of
course can't guarantee that I've been totally exhaustive) including
those pertaining to EmulateWheel and XAxis/YAxis but just can't seem to
make this mouse behave the way I expect it to. Similarly, I've even
tried using tools like xmacro and xbindkeys, sadly to no avail - while
it's entirely possible I've simply misunderstood the documentation,
unless this approach is strictly necessary for what I want, I'd rather
leave further discussion of such tools aside.

I've attached to this email the result of `xinput list-props` for my
given device, whose entry in `xinput list` is:

⎜   ↳ ThinkPad Bluetooth Laser Mouse              id=13    [slave 
pointer  (2)]

I would appreciate any and all assistance in this matter, as, despite
this single frustrating deficiency, I'm rather fond of this mouse, and
would prefer to be able to keep using it. If a solution could be found,
I would of course try to spread the word where possible (ArchWiki,
ThinkWiki etc.).

If there would be any further information which might assist (detailed
info on the device as garnered from specific tools with specific
options/flags, etc.) please don't hesitate to let me know.

Best regards,

Adam Hirst

-------------- next part --------------
[adam at shimmer ~]$ xinput list-props 13
Device 'ThinkPad Bluetooth Laser Mouse':
	Device Enabled (139):	1
	Coordinate Transformation Matrix (141):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Accel Speed (277):	0.000000
	libinput Accel Speed Default (278):	0.000000
	libinput Accel Profiles Available (279):	1, 1
	libinput Accel Profile Enabled (280):	1, 0
	libinput Accel Profile Enabled Default (281):	1, 0
	libinput Natural Scrolling Enabled (282):	0
	libinput Natural Scrolling Enabled Default (283):	0
	libinput Send Events Modes Available (262):	1, 0
	libinput Send Events Mode Enabled (263):	0, 0
	libinput Send Events Mode Enabled Default (264):	0, 0
	libinput Left Handed Enabled (284):	0
	libinput Left Handed Enabled Default (285):	0
	libinput Scroll Methods Available (286):	0, 0, 1
	libinput Scroll Method Enabled (287):	0, 0, 0
	libinput Scroll Method Enabled Default (288):	0, 0, 0
	libinput Button Scrolling Button (289):	2
	libinput Button Scrolling Button Default (290):	2
	libinput Middle Emulation Enabled (291):	0
	libinput Middle Emulation Enabled Default (292):	0
	Device Node (265):	"/dev/input/event17"
	Device Product ID (266):	6127, 24632
	libinput Drag Lock Buttons (293):	<no items>
	libinput Horizontal Scroll Enabled (294):	1

More information about the xorg mailing list