How do I enable scrolling on my graphics tablet?

Hello all,

I have a UC-logic graphics tablet which I got working perfectly even with my multi-monitor setup. The one thing I cannot figure out is scrolling.

With my regular mouse, I can issue the following:

xinput set-prop [my mouse] "libinput Scroll Method Enabled" 0, 0, 1
xinput set-prop [my mouse] "libinput Button Scrolling Button" 2 

and get the feature “hold the middle button and move the mouse up and down to scroll”.

However, if I do the same for my tablet, nothing happens. libinput shows that the flags have been set successfully, but pressing the button and moving the pen up and down does nothing. So, what am I doing wrong?

xinput lists four pointer devices for the tablet:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ UC-LOGIC TWHA60 Pad                     	id=9	[slave  pointer  (2)]
⎜   ↳ UC-LOGIC TWHA60 Mouse                   	id=10	[slave  pointer  (2)]
⎜   ↳ UC-LOGIC TWHA60 Consumer Control        	id=12	[slave  pointer  (2)]
⎜   ↳ UC-LOGIC TWHA60 Pen Pen (0)             	id=22	[slave  pointer  (2)]

Of these four, only the “mouse” (id 10) has the “Scroll Method” property.

I have checked (via xev) that I am mapping the correct button (2 in this case).

However, pressing that button on the pen still pastes my clipboard contents.

The output of xinput list-props 10 is as follows:

Device 'UC-LOGIC TWHA60 Mouse':
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 Natural Scrolling Enabled (300):	0
libinput Natural Scrolling Enabled Default (301):	0
libinput Scroll Methods Available (302):	0, 0, 1
libinput Scroll Method Enabled (303):	0, 0, 1
libinput Scroll Method Enabled Default (304):	0, 0, 0
libinput Button Scrolling Button (305):	2
libinput Button Scrolling Button Default (306):	2
libinput Button Scrolling Button Lock Enabled (307):	0
libinput Button Scrolling Button Lock Enabled Default (308):	0
libinput Middle Emulation Enabled (309):	0
libinput Middle Emulation Enabled Default (310):	0
libinput Accel Speed (311):	0.000000
libinput Accel Speed Default (312):	0.000000
libinput Accel Profiles Available (313):	1, 1
libinput Accel Profile Enabled (314):	1, 0
libinput Accel Profile Enabled Default (315):	1, 0
libinput Left Handed Enabled (316):	0
libinput Left Handed Enabled Default (317):	0
libinput Send Events Modes Available (278):	1, 0
libinput Send Events Mode Enabled (279):	0, 0
libinput Send Events Mode Enabled Default (280):	0, 0
Device Node (281):	"/dev/input/event4"
Device Product ID (282):	21827, 1921
libinput Drag Lock Buttons (318):	<no items>
libinput Horizontal Scroll Enabled (319):	1

Any input (see what I did there?) is much appreciated!

Edit: Just in case, I checked whether the corresponding evdev properties are present in any of the pointer devices. They are not.