Note to self:
if ev.code == evdev.ecodes.KEY_ENTER:
yield "".join(map(str, keys))
keys = []
else:
log(f"Appending keycode: {c.keycode}, {c.keycode[4:]}")
try:
keys.append(int(c.keycode[4:]))
except ValueError:
pass
this implies that only keys which can be converted to an int are stored, e.g. KEY_[0-9]. Is that a requirement?