Skip to content

Instantly share code, notes, and snippets.

@keinwort
Last active March 25, 2018 20:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save keinwort/68e87f8c1ed59aa3e873fa4c94170441 to your computer and use it in GitHub Desktop.
Save keinwort/68e87f8c1ed59aa3e873fa4c94170441 to your computer and use it in GitHub Desktop.
kali rolling 2018 with lightdm/mate enable "natural scrolling" aka "reverse scrolling"
@license WTFPL – Do What the Fuck You Want to Public License - http://www.wtfpl.net
@author keinwort - https://github.com/keinwort
# on newer Kali releases the Xmodmap option won't work anymore for every window #
# "xmodmap ~/.Xmodmap" (for reloading)
<.Xmodmap
# pointer = 1 2 3 5 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/.Xmodmap>
# so we must use other methods
### SYSTEMWIDE OPTIONS (for ALL users)
### for natural scrolling edit file -> /usr/share/X11/xorg.conf.d/40-libinput.conf
### BUT this get lost on package-update
### https://www.reddit.com/r/archlinux/comments/4e8e3i/broken_natural_scrolling_and_bluetooth_after/
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
# Option "ButtonMapping" "1 2 3 5 4 6 7 8"
Option "NaturalScrolling" "On"
EndSection
or to preserve the lost, put it in an extra file
# mkdir /etc/X11/xorg.conf.d
# touch /etc/X11/xorg.conf.d/10-natural-scrolling.conf
# use your prefered editor and put this in
#-----------------------
Section "InputClass"
Identifier "Scrolling Natural"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
### just different possibilities
# Option "ButtonMapping" "1 2 3 5 4 6 7 8 9"
#or
## Option "VertScrollDelta" "-1"
## Option "HorizScrollDelta" "-1"
## Option "DialDelta" "-1"
#or (used by me)
Option "NaturalScrolling" "On"
EndSection
#-----------------------
### or as single user OPTION (ie. your user)
### for it looks like this for example
### find device
xinput
...
# Razer Razer Ouroboros id=14 [slave pointer (2)]
# Razer Razer Ouroboros id=15 [slave pointer (2)]
...
### get device properties
xinput list-props 14
...
# libinput Natural Scrolling Enabled (286): 0
# libinput Natural Scrolling Enabled Default (287): 0
...
### set device property
xinput set-prop 14 286 1
# and put this in your ".profile" file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment