У меня есть модуль Python, который прослушивает комбинацию клавиш с помощью pynput, а затем, после нажатия, вводит строку в текстовую программу.
Отлично работает! Кроме ...
В приведенном ниже примере комбинация клавиш пользователя установлена на shift + space. Это имеет большой смысл и, вероятно, будет наиболее распространенной ключевой командой для пользователей Windows, работающих с моей программой. Проблема в том, что когда клавиша Shift удерживается, она меняет типы pynput. Вместо 20.01.2009 будет напечатано)! / 20 / 2019.
Мне нужен способ отключить клавиатуру, пока pyautogui не закончит ввод строки. Большое спасибо за вашу помощь !!!
Бонусный вопрос: я не могу получить результат, когда комбинация клавиш включает в себя клавишу Ctrl. Key.ctrl просто не запускается, в то время как другие ключи работают нормально.
from pynput.keyboard import Key, Controller, Listener
import time
keyboard = Controller()
def insert(): # check line 1 of config file
keyboard.type('01/20/2019')
# The currently active modifiers
current = set()
def on_press(key):
if key in COMBINATION:
current.add(key)
if all(k in current for k in COMBINATION): # I don't know what this k in current for k shit is.
current.remove(key)
insert() # run insert
if key == Key.esc:
listener.stop()
def on_release(key):
try:
current.remove(key)
except KeyError:
pass
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
``