#!python

import sys
import evdev
from evdev import UInput, InputEvent, ecodes as e
import re

def main():
    devices = [evdev.InputDevice(fn) for fn in evdev.list_devices()]
    device = next(x for x in devices if re.search("FootSwitch", x.name))
    with UInput() as ui:
        for event in device.read_loop():
            if event.type == evdev.ecodes.EV_KEY:
                if event.value == 1:
                    ui.write(e.EV_KEY, e.KEY_ESC, 1)
                    ui.write(e.EV_KEY, e.KEY_ESC, 0)
                    ui.write(e.EV_KEY, e.KEY_A, 1)
                    ui.write(e.EV_KEY, e.KEY_A, 0)
                    ui.syn()
                elif event.value == 0:
                    ui.write(e.EV_KEY, e.KEY_ESC, 1)
                    ui.write(e.EV_KEY, e.KEY_ESC, 0)
                    ui.syn()

if name == "__main__":
    main()
