1

I followed the instructions given in this answer. I did as said. First I run xinput --list in the terminal and got this

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ GamingMouseI Gaming Mouse Consumer Control    id=10   [slave  pointer  (2)]
⎜   ↳ GamingMouseI Gaming Mouse                 id=12   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=17   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ GamingMouseI Gaming Mouse                 id=9    [slave  keyboard (3)]
    ↳ GamingMouseI Gaming Mouse System Control  id=11   [slave  keyboard (3)]
    ↳ CHICONY HP Basic USB Keyboard             id=13   [slave  keyboard (3)]
    ↳ Lenovo EasyCamera: Lenovo EasyC           id=14   [slave  keyboard (3)]
    ↳ Ideapad extra buttons                     id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ GamingMouseI Gaming Mouse Consumer Control    id=18   [slave  keyboard (3)]

I recognized id=12 as the device I need to remap. And then I used xinput --list-props 12 for the properties of this device and got this

Device 'GamingMouseI Gaming Mouse':
    Device Enabled (164):   1
    Coordinate Transformation Matrix (166): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (299):   0
    libinput Natural Scrolling Enabled Default (300):   0
    libinput Scroll Methods Available (303):    0, 0, 1
    libinput Scroll Method Enabled (304):   0, 0, 0
    libinput Scroll Method Enabled Default (305):   0, 0, 0
    libinput Button Scrolling Button (306): 2
    libinput Button Scrolling Button Default (307): 2
    libinput Middle Emulation Enabled (308):    0
    libinput Middle Emulation Enabled Default (309):    0
    libinput Accel Speed (310): 0.000000
    libinput Accel Speed Default (311): 0.000000
    libinput Accel Profiles Available (312):    1, 1
    libinput Accel Profile Enabled (313):   1, 0
    libinput Accel Profile Enabled Default (314):   1, 0
    libinput Left Handed Enabled (315): 0
    libinput Left Handed Enabled Default (316): 0
    libinput Send Events Modes Available (284): 1, 0
    libinput Send Events Mode Enabled (285):    0, 0
    libinput Send Events Mode Enabled Default (286):    0, 0
    Device Node (287):  "/dev/input/event7"
    Device Product ID (288):    6127, 24766
    libinput Drag Lock Buttons (301):   <no items>
    libinput Horizontal Scroll Enabled (302):   1

In this answer, it is said like this

The set of properties you're looking for are the “Evdev Wheel Emulation” ones.

But I can't find anything called Evdev Wheel Emulation in the device properties list. I also used xinput test 12 to identify the middle mouse button (which is button press 2). Which property should I modify to use the middle mouse button for auto scroll?

an4s911
  • 131

2 Answers2

4

I use:

xinput

like you for the device info, but then:

xinput set-prop 'pointer:YOUR DEVICE NAME' "libinput Scroll Method Enabled" 0, 0, 1

I just add this to the startup file or startup application app. I did this instead of the ID since my device ID likes to change sometimes.

For my exact device it's:

xinput set-prop 'pointer:Maxwise Production (China) Enterprise LTD. AmazonBasics MMO Gaming Mouse' "libinput Scroll Method Enabled" 0, 0, 1
0

I believe evdev and libinput are two different input drivers. If you go to the man page for libinput (man libinput) they list all the options and properties. something like: xinput set-prop "GamingMouseI Gaming Mouse" "libinput Middle Emulation Enabled" 1

Dusken
  • 1