2 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
我們可以使用一個(gè)集合來檢查當(dāng)前正在按下哪個(gè)鍵。
pressing_keys_set = set()
def on_press(key):
if key not in pressing_keys_set:
print('{0} pressed'.format(key))
pressing_keys_set.add(key)
def on_release(key):
print('{0} release'.format(key))
pressing_keys_set.remove(key)
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
此代碼必須幫助您
from pynput.keyboard import Key, Listener
is_released=False
def on_press(key):
global is_released
if is_released:
print('{0} pressed'.format(key))
is_released=False
def on_release(key):
global is_released
print('{0} release'.format( key))
is_released=True
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
添加回答
舉報(bào)