Библиотека клавиатуры Python, не подавляющая нажатия клавиш в Linux - PullRequest
2 голосов
/ 02 июля 2019

Я делаю скрипт, который переназначает один ключ (right-ctrl) в alt+tab, используя библиотеку Python, известную как keyboard. Это было легко сделать с Autohotkey на windows, однако на Linux это не представляется возможным. В конце концов, в документации keyboard они имеют funcion(param, param, Suppress=False), так что должно работать правильно?

import keyboard

def altTab:
    keyboard.release(97)
    keyboard.send("alt+tab")

# 97 is the key_code for [right ctrl] on my system
keyboard.on_press_key(97, altTab, suppress=True)


Я попытался выпустить ключ с точки зрения кода, но, похоже, он не работает, поскольку ctrl+alt+tab отличается от alt+tab. Я также попытался с помощью функции keyboard.remap_key изменить right ctrl на right alt и right alt на left alt, чтобы сработал right alt, после чего отправил только tab вместо alt+tab, но все равно не работает Я использую Ubuntu Linux.
Пожалуйста, помогите, я в тупике

1 Ответ

1 голос
/ 02 июля 2019

Вам нужно hook_key, то есть метод для вызова предоставленного обратного вызова при каждом нажатии клавиши:

import keyboard

def altTab(e):
    if e.event_type == "down":
        keyboard.release(97)
        keyboard.send("alt+tab")

# 97 is the key_code for [right ctrl] on my system
keyboard.hook_key(97, altTab, suppress=True)

Редактировать: добавлен код для обработки только нажатия клавиши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...