Не удалось создать файл устройства с помощью модуля `uinput`.Python3 в Ubuntu для Windows - PullRequest
1 голос
/ 08 марта 2019

У меня есть скрипт на python, который работает на python3.4 и использует пакет keyboard, чтобы разрешить привязки клавиш;

keyboard.add_hotkey("enter", self.listener.stop, suppress=True)
keyboard.add_hotkey("shift+enter", self.listener.finish, suppress=True)

Когда я запускаю это в Windows, он отлично работает, слушая обе горячие клавиши, также при работе в Linux (CentOS) это работает.

На работе я получил среду Ubuntu на своих окнах с помощью функции Windows 10 и магазина приложений. Однако в этой среде есть проблема с этой горячей клавишей.

/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/_nixkeyboard.py:110: UserWarning: Failed to create a device file using `uinput` module. Sending of events may be limited or unavailable depending on plugged-in devices.
  device = aggregate_devices('kbd')
Traceback (most recent call last):
  File "main.py", line 32, in <module>
    ], 'test')
  File "/mnt/.../can_controller.py", line 28, in __init__
    self.__initialise_key_handler()
  File "/mnt/.../can_controller.py", line 95, in __initialise_key_handler
    keyboard.add_hotkey("enter", self.listener.stop, suppress=True)
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/__init__.py", line 637, in add_hotkey
    _listener.start_if_necessary()
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/_generic.py", line 35, in start_if_necessary
    self.init()
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/__init__.py", line 194, in init
    _os_keyboard.init()
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/_nixkeyboard.py", line 113, in init
    build_device()
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/_nixkeyboard.py", line 110, in build_device
    device = aggregate_devices('kbd')
  File "/usr/local/lib/python3.6/dist-packages/keyboard-0.13.2-py3.6.egg/keyboard/_nixcommon.py", line 168, in aggregate_devices
    assert fake_device
AssertionError

Если кто-нибудь знает, как это исправить или имеет хороший обходной путь. Пожалуйста, дайте мне знать.

...