#!/usr/bin/python from subprocess import call, Popen, PIPE xmodmap = Popen(['/usr/bin/xmodmap', '-pp'], stdout=PIPE) for line in xmodmap.stdout: setting = line.split() # get a list of non-whitespace sequences if setting: # can't index a zero length list print setting setting = line.split()[-1] # Get last item in list (button) if setting == '1': print 'click set to lmb, switching' #/usr/bin/xmodmap -e "pointer = 3 2 1" call(['/usr/bin/xmodmap', '-e', 'pointer = 3 2 1']) break elif setting == '3': print 'click set to rmb, switching' #/usr/bin/xmodmap -e "pointer = 1 2 3" call(['/usr/bin/xmodmap', '-e', 'pointer = 1 2 3']) break