Я пытаюсь написать программу, используя библиотеку pynput, которая отслеживает нажатие клавиши пользователя и когда пользователь нажимает клавишу со специальным символом, например: # моя программа сразу после этого нажимает другую клавишу. Например, когда пользователь нажимает знак $, программа нажимает левую клавишу сразу после этого, и курсор перемещается на один символ за знаком $. Моя проблема в том, что для ввода знака $ пользователь нажимает SHIFT + 5, и в большинстве случаев пользователь отпускает только цифровую клавишу, а клавиша Shift остается нажатой. В этом случае, когда моя программа нажимает левую клавишу, вставка нажатия только левой клавиши, нажимается SHIFT + левая клавиша, что вызывает маркировку символа вместо перемещения влево. Я хотел бы знать, можно ли игнорировать пользовательский ключ или каким-либо образом его переопределить. Цените вашу помощь. Спасибо
from pynput.keyboard import Key, Listener, Controller
import re
keyboard = Controller()
REGEX = re.compile('[@_!#$%^&*()<>?/\|}{~:]')
def on_press(key):
try:
if key != Key.left:
if REGEX.search(key.char) != None:
keyboard.press(Key.left)
keyboard.release(Key.left)
print("I pressed left for you")
else:
print("Nothing")
except Exception as e:
print(e)
with Listener(on_press=on_press) as listener:
listener.join()