Logitech Marble Mouse – Update #4

Well, something in the behaviour of X changed again after an update, and now in response to the previous code, xinput set-int-prop '"Logitech USB Trackball"' 'Evdev Wheel Emulation Button' 8 8, I get this error: unable to find device "Logitech USB Trackball".

So I go a-hunting in man xinput and find that, if the name of the device has changed, I will find it by using xinput list, which give me this:

? Virtual core pointer                    	id=2	[master pointer  (3)]
?   ? Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
?   ? Logitech USB Trackball                  	id=8	[slave  pointer  (2)]
?   ? Macintosh mouse button emulation        	id=10	[slave  pointer  (2)]
? Virtual core keyboard                   	id=3	[master keyboard (2)]
    ? Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ? Power Button                            	id=6	[slave  keyboard (3)]
    ? Power Button                            	id=7	[slave  keyboard (3)]
    ? AT Translated Set 2 keyboard            	id=9	[slave  keyboard (3)]

It looks to me like it’s still called a “Logitech USB Trackball”. Long story short, I now have to identify this by id code, or drop the extra quotes. For posterity, here are the commands that work:

xinput set-int-prop 8 'Evdev Wheel Emulation Button' 8 8
xinput set-int-prop 8 'Evdev Wheel Emulation' 8 1

or

xinput set-int-prop 'Logitech USB Trackball' 'Evdev Wheel Emulation Button' 8 8
xinput set-int-prop 'Logitech USB Trackball' 'Evdev Wheel Emulation Button' 8 1

Yes, these changes are a pain in the ass.