Почему горячая клавиша, которую я добавил с модулем клавиатуры, не работает? - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь добавить горячую клавишу с модулем клавиатуры, которая будет вызывать функцию с различными аргументами в зависимости от используемой горячей клавиши.Для этого я использую модуль клавиатуры Python3.

Я смотрю документацию здесь: https://pypi.org/project/keyboard/

Я хочу, чтобы моя программа всегда находилась в чем-то вроде цикла True.горячие клавиши.

import keyboard

def hotkey_print(word):
    print(word)


keyboard.add_hotkey('page up, page down', lambda: hotkey_print('did it work?'))

while True:
    pass

Я ожидаю, что он просто подождет и напечатает "все ли работает?"каждый раз, когда я нажимаю клавишу вверх или вниз, но ничего не происходит, когда я использую горячие клавиши.

1 Ответ

0 голосов
/ 28 декабря 2018

Согласно pypi одно из ограничений библиотеки клавиатуры заключается в том, что она должна запускаться от имени пользователя root:

To avoid depending on X, the Linux parts reads raw device files (/dev/input/input*) but this requries root.

Таким образом, вы можете использовать su - и стать пользователем root,и снова запустите файл python, или вы можете использовать другую библиотеку (если есть).

РЕДАКТИРОВАТЬ: используйте следующую строку вместо вашего бесконечного цикла:

# Block forever, like `while True`.
keyboard.wait()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...