#!/usr/bin/python3 from subprocess import check_call from evdev import InputDevice, categorize, ecodes, KeyEvent from gpiozero import Button from signal import pause def def_shutdown(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=shutdown", shell=True) def def_volU(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=volumeup", shell=True) def def_volD(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=volumedown", shell=True) def def_next(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=playernext", shell=True) def def_prev(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=playerprev", shell=True) def def_halt(): check_call("/home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh -c=playerpause", shell=True) gamepad = InputDevice('/dev/input/event1') print(gamepad) for event in gamepad.read_loop(): if event.type == ecodes.EV_KEY: keyevent = categorize(event) if keyevent.keystate == KeyEvent.key_down: try: print(keyevent.keycode) if keyevent.keycode == 'BTN_BASE': def_shutdown() elif keyevent.keycode == 'BTN_BASE2': def_prev() elif keyevent.keycode == 'BTN_BASE3': def_halt() elif keyevent.keycode == 'BTN_BASE4': def_next() elif keyevent.keycode == 'BTN_BASE5': def_volD() elif keyevent.keycode == 'BTN_BASE6': def_volU() except subprocess.CalledProcessError as e: print(e.output)