使用pynput覆盖用户密钥

我正在尝试使用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()

转载请注明出处:http://www.qxdxgs.com/article/20230526/1248399.html