簡體   English   中英

如何在 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM