I am trying use a tablet as my primary pointing device instead of a mouse (to get comfortable with it). It works but scrolling has become very inconvenient. See, a mouse has a scroll wheel that I can use to scroll. But on the tablet, I have always drag the scroll bar. And some apps, also hide the scroll bar until a scroll is made. Here is what I want to do.
My pen/stylus has a button that simulates a middle click. I can copy-paste with that button. I can open and close browser tabs with that button. It is a drop-in replacement for middle-click. On Windows, if you hold that middle button and move the mouse up or down, it simulates scrolling. I want to do that. Currently, only one application behaves that way, Zathura PDF Viewer. I want that behavior in all my applications. I looked around and I found this link:
https://unix.stackexchange.com/a/421672
It says that I have to set the two following properties:
xinput set-prop 11 "libinput Scroll Method Enabled" 0, 0, 1 # This is button
xinput set-prop 11 "libinput Button Scrolling Button" 2 # This is mi
But those commands give me the following error.
property 'libinput Scroll Method Enabled Default' doesn't exist, you need to specify its type and format
I have the following devices
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 256c:006e Pad id=14 [slave pointer (2)]
⎜ ↳ HID 256c:006e Pen Pen (0) id=20 [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)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ HID 256c:006e Pen id=13 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD id=15 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD Consumer Controlid=16 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD System Control id=17 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=18 [slave keyboard (3)]
And, true, neither of the tablet (Pad or Pen) devices have the libinput Scroll Method Enabled
property.
$ xinput list-props 14; xinput list-props 20;
Device 'HID 256c:006e Pad':
Device Enabled (156): 1
Coordinate Transformation Matrix (158):1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Left Handed Enabled (306): 0
libinput Left Handed Enabled Default (307): 0
libinput Send Events Modes Available (275): 1, 0
libinput Send Events Mode Enabled (276): 0, 0
libinput Send Events Mode Enabled Default (277): 0, 0
Device Node (278): "/dev/input/event12"
Device Product ID (279): 9580, 110
Device 'HID 256c:006e Pen Pen (0)':
Device Enabled (156): 1
Coordinate Transformation Matrix (158):1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (275): 1, 0
libinput Send Events Mode Enabled (276): 0, 0
libinput Send Events Mode Enabled Default (277): 0, 0
Device Node (278): "/dev/input/event11"
Device Product ID (279): 9580, 110
libinput Tablet Tool Pressurecurve (502): 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000, 1.000000
So, with that property not existing, is there any other way in which I can simulate the scrolling by holding 'middle-mouse' and moving the pointer? There is a firefox specific setting called 'Auto Scrolling', but I don't want that. I want a OS specific setting where I can scroll in any application, for example, in my file manager Caja.