#!/bin/sh

FINGER_ID=`xinput | grep Atmel | sed 's/.*id=\([0-9]\+\).*/\1/'`
FINGER_DEV=`xinput list-props $FINGER_ID | grep /dev/input/event | sed "s/.*\\(\/dev\/input\/event[0-9]\+\).*/\1/"`

STYLUS_ID=`xinput | grep Wacom | grep stylus | sed 's/.*id=\([0-9]\+\).*/\1/'`
STYLUS_DEV=`xinput list-props $STYLUS_ID | grep /dev/input/event | sed "s/.*\\(\/dev\/input\/event[0-9]\+\).*/\1/"`

ERASER_ID=`xinput | grep Wacom | grep eraser | sed 's/.*id=\([0-9]\+\).*/\1/'`
ERASER_DEV=`xinput list-props $ERASER_ID | grep /dev/input/event | sed "s/.*\\(\/dev\/input\/event[0-9]\+\).*/\1/"`

if [ $1 == -r ]; then
	if [ x${2}x == xx ]; then
		XRANDR=`xrandr -q --verbose | grep " connected " | sed 's/.*) \(normal\|inverted\|left\|right\) (.*/\1/' | sed 's/normal/1/;s/left/2/;s/inverted/3/;s/right/0/'`
	else
		XRANDR=$2
	fi

	if [ $XRANDR == 1 ]; then
		R=2
		INVERT_X=1
		INVERT_Y=0
		SWAP=1
	elif [ $XRANDR == 2 ]; then
		R=3
		INVERT_X=1
		INVERT_Y=1
		SWAP=0
	elif [ $XRANDR == 3 ]; then
		R=1
		INVERT_X=0
		INVERT_Y=1
		SWAP=1
	else
		R=0
		INVERT_X=0
		INVERT_Y=0
		SWAP=0
		XRANDR=0
	fi
	
	xrandr -o $XRANDR
	xinput set-prop $FINGER_ID "Evdev Axis Inversion" $INVERT_X $INVERT_Y
	xinput set-prop $FINGER_ID "Evdev Axes Swap" $SWAP
	xinput set-prop $STYLUS_ID "Wacom Rotation" $R
	xinput set-prop $ERASER_ID "Wacom Rotation" $R

elif [ $1 == -i ]; then
	echo $FINGER_DEV \(${FINGER_ID}\)
	echo $STYLUS_DEV \(${STYLUS_ID}\)
	echo $ERASER_DEV \(${ERASER_ID}\)
fi
