首页 > 解决方案 > Python键盘按下时间和两次击键之间的时间

问题描述

我想得到按下键的时间和两次击键之间的时间。

例如: W 键按下 x 秒。(在下一次按键时打印该键未按下的时间)。

示例 2:

W pressed for 1 sec.
W released
Time between two keystrokes: 10 sec.
W pressed for 0.5 sec
W released

标签: pythontimekeyboard

解决方案


perf_counter您可以从内置time模块中尝试该功能:

from time import perf_counter

# when detected a key press
start = perf_counter()

# when detected the press ended:
end = perf_counter()
print(f'Key pressed for {end-start} seconds.')

进入你的代码:

import time
import keyboard

while True:
    start = time.perf_counter()
    a = keyboard.read_event()
    if a.name == "esc":
        break
    elif a.event_type == "down":
        b = keyboard.read_event()
        if a.name == "left" or a.name == "right":
            while not b.event_type == "up" and b.name == a.name:
                b = keyboard.read_event()
            end = time.perf_counter()
            print('You pressed', a.name, 'for', end-start, 'seconds.')

推荐阅读