Closed chrys87 closed 8 years ago
Hello @chrys87,
It's just poorly documented :( Filtering out the EV_SYN
capabilities is enough to get it working:
cap = dev.capabilities()
del cap[0]
ui = UInput(capabilities)
I think I'll add an UInput.from_device()
class method to make this more straightforward.
Please let me know if you run into any more trouble. Good luck with your project!
Hi gvalkov,
Thanks for you fast help. Indeet this works as except :+1: Yea maybe it should documented anywhere XD. and UInput.from_device() method would been awsome!
the new command works like a charm :) thanks!!
Howdy, I currently write a screenreader deamon for linux. for this i need to "consume" the shortcuts for the screenreader because there should no other programm react to it. so i need to grab the InputDevices -> Check ist the keypress for me? No -> write it back to the "normal" input line for other programms. so i try to generate a UInput class per InputDevice and i like to have the same capabilities (because later i just forewart the input) If i define the UInput variable with (see example):
uDevices[fd] = UInput( dev.capabilities())
i get the following error:
Traceback (most recent call last): File "<stdin>", line 7, in <module> File "/usr/lib/python3.5/site-packages/evdev/uinput.py", line 104, in __init__ _uinput.enable(self.fd, etype, code) OSError: [Errno 22] Invalid argument
if i try something more simple it works:
from evdev import UInput, AbsInfo, ecodes as e t = UInput({ e.EV_KEY : [e.KEY_A, e.KEY_B]})
so somehow it seems that it is not able to parse.
Did i something wrong? can I got this working somehow? is this maybe a bug?
the following example code gives me the error:
the prints give me the following: