There is probably a better way, but I use the following script run from my
.xsession file. This works for almost everything except for Chrome. For
Chrome the scrolling is still non-natural.
Script XFixMouse.sh
---------------------
#!/bin/sh
#ID Button
#-------------------------
#1 Left click
#2 Middle click
#3 Right click
#4 Wheel up
#5 Wheel down
#6 Wheel left
#7 Wheel right
#8 Thumb1
#9 Thumb2
#10 ExtBt7
#11 ExtBt8
DEV=`xinput --list | grep wsmouse0 | sed -r 's/.*id=([0-9]+).*/\1/'`
if [ ! -z $DEV ]; then
# swap right and left mouse buttons and change scrolling to "natural"
xinput set-button-map $DEV 3 2 1 5 4 6 7 8 9 10 11 12
fi
--------------------
Regards