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