3

I'm on Fedora 25 and am just moving from gnome to i3wm. When on i3wm, my touchpad assumes some default configuration I suppose that is quite different from my gnome setup. Is there a way to copy the gnome touchpad configuration across to i3wm?

A few points:

  • I believe I'm using the default gnome touchpad configuration when in gnome but might have done some customisations long ago and forgot about it. I'd like to have the touchpad behave in the exact same way as it does in gnome if possible
  • Three finger as middle click doesn't work on i3wm
  • one finger tap doesn't work on i3wm
4

No answers on one of the top Google results, that's terrible.

xinput is going to be your new friend. Open a terminal as your user and run xinput you should see something similar to this:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=18   [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)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=19   [slave  keyboard (3)]

(That's on a ThinkPad x260) Now you can find out what options are available for your touchpad with the list-props argument.

 $ xinput list-props "SynPS/2 Synaptics TouchPad"                        
Device 'SynPS/2 Synaptics TouchPad':
        Device Enabled (139):   0
        Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (292): 0
        libinput Tapping Enabled Default (293): 0
        libinput Tapping Drag Enabled (294):    1
        libinput Tapping Drag Enabled Default (295):    1
        libinput Tapping Drag Lock Enabled (296):       0
        libinput Tapping Drag Lock Enabled Default (297):       0
        libinput Tapping Button Mapping Enabled (298):  1, 0
        libinput Tapping Button Mapping Default (299):  1, 0
        libinput Accel Speed (278):     0.000000
        libinput Accel Speed Default (279):     0.000000
        libinput Natural Scrolling Enabled (274):       0
        libinput Natural Scrolling Enabled Default (275):       0
        libinput Send Events Modes Available (259):     1, 1
        libinput Send Events Mode Enabled (260):        0, 0
        libinput Send Events Mode Enabled Default (261):        0, 0
        libinput Left Handed Enabled (283):     0
        libinput Left Handed Enabled Default (284):     0
        libinput Scroll Methods Available (285):        1, 1, 0
        libinput Scroll Method Enabled (286):   1, 0, 0
        libinput Scroll Method Enabled Default (287):   1, 0, 0
        libinput Click Methods Available (300): 1, 1
        libinput Click Method Enabled (301):    1, 0
        libinput Click Method Enabled Default (302):    1, 0
        libinput Middle Emulation Enabled (290):        0
        libinput Middle Emulation Enabled Default (291):        0
        libinput Disable While Typing Enabled (303):    1
        libinput Disable While Typing Enabled Default (304):    1
        Device Node (262):      "/dev/input/event5"
        Device Product ID (263):        2, 7
        libinput Drag Lock Buttons (276):       <no items>
        libinput Horizontal Scroll Enabled (277):       1

I had to google a few but most are self explanatory, you can now change these to find your ideal config. (For me it's disabling the trackpad, but that's just me).

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

Lastly to make it stick (and not break stuff in Gnome I use the i3/config to run the xinput commands when I login.

exec --no-startup-id /usr/bin/xinput set-prop ....
  • 1
    That's excellent stuff! Just to provide the syntax for the next less obvious setting (at least for me :) ): xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Tapping Enabled" 1 – pandita Jun 22 '17 at 11:12
  • Is there a way you could undo these commands if it doesn't work well? My touchpad simply stopping working altogether. – nilon Dec 7 '19 at 2:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.