diff options
author | makefu <github@syntax-fehler.de> | 2012-03-23 22:08:28 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2012-03-23 22:08:28 +0100 |
commit | a082985e111ae776e44065fec52e5f3a3199e138 (patch) | |
tree | 628557c5c0904c0724381159f794e11e448f4c25 /god | |
parent | fe92435af091261b023a2b8b72af054e960ccb45 (diff) |
soundboard: initial commit
Diffstat (limited to 'god')
-rw-r--r-- | god/soundboard/README | 5 | ||||
-rw-r--r-- | god/soundboard/config.json | 13 | ||||
-rw-r--r-- | god/soundboard/sound.py | 46 |
3 files changed, 64 insertions, 0 deletions
diff --git a/god/soundboard/README b/god/soundboard/README new file mode 100644 index 00000000..8fbb8947 --- /dev/null +++ b/god/soundboard/README @@ -0,0 +1,5 @@ +# Soundboard +The basic idea is to use a joystick or gamepad to trigger actions + +# config.json +currently there is only one joystick supported, as well as one pad and buttons diff --git a/god/soundboard/config.json b/god/soundboard/config.json new file mode 100644 index 00000000..dbdeb5cb --- /dev/null +++ b/god/soundboard/config.json @@ -0,0 +1,13 @@ +{ + "direction" : { + "up" : "echo pushed up", + "down" : "echo pushed down", + "left" : "echo pushed left", + "right" : "echo pushed right" + }, + "button" : { + "1" : "echo 'fuck yeah 1'", + "2" : "echo 'fuck jeah 2'", + "8" : "echo 'fuck jeah 8'" + } +} diff --git a/god/soundboard/sound.py b/god/soundboard/sound.py new file mode 100644 index 00000000..f6564db0 --- /dev/null +++ b/god/soundboard/sound.py @@ -0,0 +1,46 @@ +import pygame +import os +from pygame import locals +import json +CFG_FILE = "config.json" +cfg = json.load(open(CFG_FILE)) + +pygame.init() +pygame.joystick.init() +try: + j = pygame.joystick.Joystick(0) + j.init() + print 'Enabled joystick: ' + j.get_name() +except pygame.error: + print 'no joystick found.' + + +while 1: + for e in pygame.event.get(): + #print 'event : ' + str(e.type) + #print 'data : ' + str(e.dict) + if e.type == pygame.locals.JOYAXISMOTION: + x, y = j.get_axis(0), j.get_axis(1) + if (x > 0): + direction = "right" + elif(x < 0): + direction = "left" + if (y > 0): + direction = "up" + elif(y < 0): + direction = "down" + if (y == x == 0): + pass + else: + try: + os.system(cfg["direction"][direction]) + except Exception as balls: + print "direction not defined?", balls + + elif e.type == pygame.locals.JOYBUTTONDOWN: + try: + os.system(cfg["button"][str(e.button)]) + except Exception as balls: + print "button not defined: ", balls + #elif e.type == pygame.locals.JOYBUTTONUP: + # print 'button up', e.joy, e.button |