如何在 Python 中抑制来自键盘的命令?

How can I suppress command from keyboard in Python?

除了手动执行反向操作之外,还有什么方法可以抑制从键盘物理按下向上箭头吗?

例如。向上箭头按下 -> 手动模拟向下按键

问题:我正在尝试自动完成一些单词并在物理上按下向上箭头,如果我正在反向操作(模拟向下按键),它会在当前 window 中完全向左。我现在看到的唯一解决办法就是记住写字的长度,然后按右键输入总长度。

Nvm,我在另一个帖子中找到了答案:

@Torxed,是的,它与按键抑制有关,我正在使用它来创建一个自动完成工具。

from pynput import keyboard

def keyboard_listener():
    global key
    global keyboard_listener

    def on_press(key):
        print('on press', key)

    def on_release(key):
        print('on release', key)
        if key == keyboard.Key.esc:
            return False

    def win32_event_filter(msg, data):
        if(msg == 257 or msg == 256) and (data.vkCode == 38 or data.vkCode == 40):
            listener._suppress = True
        else:
            listener._suppress = False
        return True

    return  keyboard.Listener(
        on_press=on_press, 
        on_release=on_release, 
        win32_event_filter=win32_event_filter,
        suppress=False
    )


listener = keyboard_listener()

if __name__== '__main__':
    with listener as ml:
        ml.join()