#!/usr/bin/python3 import argparse import contextlib import evdev import json import sys parser = argparse.ArgumentParser() parser.add_argument('device') args = parser.parse_args(sys.argv[1:]) with contextlib.closing(evdev.InputDevice(args.device)) as device: out = {} out['linux-evdev-device-desc'] = 0 out['name'] = device.name info = {} info['bustype'] = device.info.bustype info['vendor'] = device.info.vendor info['product'] = device.info.product info['version'] = device.info.version out['info'] = info out['capabilities'] = device.capabilities() # TODO: LEDs json.dump(out, sys.stdout, indent = 4)