#!/usr/bin/env python2

import sys
import os
import argparse
import signal
from signal import SIGTERM
import pygame
from pygame.locals import *

def stopTest(sig, dummy):
	print "Exiting..."
	sys.exit(0)	

if __name__ == "__main__":

	signal.signal(signal.SIGTERM, stopTest)
	signal.signal(signal.SIGINT, stopTest)

	parser = argparse.ArgumentParser(description='PES joystick detection test code', add_help=True)
	parser.add_argument('-j', '--joystick', help='Joystick number to test', dest='jsNumber', type=int, required=True)
	args = parser.parse_args()

	os.environ["SDL_VIDEODRIVER"] = "dummy"

	pygame.init()
	pygame.joystick.init()

	js = pygame.joystick.Joystick(args.jsNumber)
	if js == None:
		print "Error initialising joystick"
		sys.exit(1)
	js.init()
	
	stop = False

	while stop == False:

		for event in pygame.event.get():
			pass

		# loop through buttons
		for i in range(0, js.get_numbuttons()):
			if js.get_button(i):
				print "joystick %d, button %d pressed" % (args.jsNumber, i)

		# loop through axes
		for i in range(0, js.get_numaxes()):
			value = js.get_axis(i)
			print "joystick %d, axis %d, value: %f" % (args.jsNumber, i, value)

		pygame.time.wait(10)
		
	print "Exiting..."
	sys.exit(0)
