#!/bin/python import evdev from evdev import InputDevice from select import select import time deviceList = evdev.list_devices() readableDevices = [] for dev in deviceList: try: open(dev) readableDevices.append(dev) print('OK '+dev) except Exception as e: print('skip ' + dev + ' Error ' + str(e)) devices = map(evdev.InputDevice, (readableDevices)) devices = {dev.fd: dev for dev in devices} while True: r, w, x = select(devices, [], []) if r != []: for fd in r: for event in devices[fd].read(): print('Devicename:'+ devices[fd].name + ' Devicepath:' + devices[fd].fn + ' Events:' + str(devices[fd].active_keys(verbose=True)) + ' Value:' + str(event.value))