Files
docker-based-power-button-t…/print_all_devices_absPath.py
2025-11-01 06:09:32 +05:30

34 lines
969 B
Python

import evdev
from evdev import InputDevice, categorize, ecodes, list_devices
print("Listing all input devices...\n")
devices = [InputDevice(path) for path in list_devices()]
if not devices:
print("❌ No input devices found!")
exit(1)
for device in devices:
print(f"🔌 Found device: {device.name} at {device.path}")
print("\nListening to all devices... Press Ctrl+C to stop.\n")
# Create a dictionary of InputDevice objects
device_map = {dev.fd: dev for dev in devices}
# Use a selector to monitor all devices
from select import select
try:
while True:
r, _, _ = select(device_map, [], [])
for fd in r:
device = device_map[fd]
for event in device.read():
if event.type == ecodes.EV_KEY:
key_event = categorize(event)
print(f"[{device.name}] {key_event.keycode} - value: {event.value}")
except KeyboardInterrupt:
print("\nStopped monitoring.")