moses-palmer / pynput

Sends virtual input commands
GNU Lesser General Public License v3.0
1.73k stars 243 forks source link

Type method crashes on cyrillic characters #582

Open mox512 opened 6 months ago

mox512 commented 6 months ago

Type method crashes on cyrillic characters. Not all of them, thought, it manages to type "Привет как дела?" But consistently crushes on letters such as "Ж" "M" in both upper case and lowercase.

Ubuntu 23.04 X.Org X Server 1.21.1.7 pynput 1.7.6 Layouts obviously in the system.

To reproduce run : python -c "import pynput; pynput.keyboard.Controller().type('Мороженка')" `

denis@yoga:~$ python -c "import pynput; pynput.keyboard.Controller().type('Мороженка')"
Traceback (most recent call last):
  File "/home/denis/Documents/CVBuild/venv/lib/python3.11/site-packages/pynput/keyboard/_base.py", line 492, in type
    self.release(key)
  File "/home/denis/Documents/CVBuild/venv/lib/python3.11/site-packages/pynput/keyboard/_base.py", line 427, in release
    self._handle(resolved, False)
  File "/home/denis/Documents/CVBuild/venv/lib/python3.11/site-packages/pynput/keyboard/_xorg.py", line 236, in _handle
    raise self.InvalidKeyException(key)
pynput.keyboard._base.Controller.InvalidKeyException: 'М'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/denis/Documents/CVBuild/venv/lib/python3.11/site-packages/pynput/keyboard/_base.py", line 495, in type
    raise self.InvalidCharacterException(i, character)
pynput.keyboard._base.Controller.InvalidCharacterException: (0, 'М')

`

mox512 commented 6 months ago

Seems to be related to https://github.com/moses-palmer/pynput/issues/193