pynput
pynput copied to clipboard
xorg: Controller().type() drops input
Description At least on xorg, using Controller().type() will frequently drop inputs. Interestingly, adding a listener shows that it at least thinks it's typing the correct phrase, but it doesn't. I also noticed, it seems to have more trouble if a letter is repeated, or close. eg the L's in "Hello", T's in "state", etc.
Platform and pynput version I'm on Arch, using GNOME, with pynput 1.7.6.
To Reproduce Easier to just show you I think. Running this code.
from pynput.keyboard import Key as PyKey, Controller
from time import sleep
phrase = 'Hello, world.'
sleep(3)
for i in range(50):
for p in iter(phrase):
Controller().tap(p)
Controller().tap(PyKey.space)
Controller().tap(PyKey.space)
Controller().tap(PyKey.space)
Controller().tap(PyKey.space)
Controller().type(phrase)
sleep(0.25)
Controller().tap(PyKey.enter)
And here is the output.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, wrld.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, wrld.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, wrld.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Helo, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.
Hello, world. Hello, world.