按钮检测器 Python

问题描述 投票:0回答:1

如何编写代码来检测左按钮是否被按下,例如,按两次“Alt”键是否有大约 0.50 秒的时间范围?

import keyboard
import time

left_trigger = False
alt_trigger = False
alt_trigger2 = False

while True:
    if keyboard.is_pressed('left'):
        if not left_trigger:
           print('Left is pressed')
           left_trigger = True
        
    elif left_trigger and keyboard.is_pressed('alt') :
        if not alt_trigger:
            alt_trigger = True
            print('Alt is pressed')
            start_time = time.time()

    elif alt_trigger and time.time() - start_time < 0.5 :
        if not alt_trigger2:
            alt_trigger2 = True
            print('Alt is pressed again within 0.5 seconds')

else:
    left_trigger = False
    alt_trigger = False
    alt_trigger2 = False
python keyboard
1个回答
0
投票

您可以在按下按钮时获取开始时间,然后在再次按下按钮时获取与当前时间的差值以查看经过的时间。然后你可以检查是否> 0.5秒。

类似这样的:

import keyboard
import time

left_trigger = False
alt_trigger = False
alt_trigger2 = False

last_pressed = time.time()

while True:
    if keyboard.is_pressed('left'):
        if not left_trigger:
           print('Left is pressed')
           left_trigger = True
        
    elif left_trigger and keyboard.is_pressed('alt') :
        if time.time() - last_pressed < 0.5:
            print('Alt is pressed again within 0.5 seconds')
            
        last_pressed = time.time()
        if not alt_trigger:
            alt_trigger = True
            print('Alt is pressed')


else:
    left_trigger = False
    alt_trigger = False
    alt_trigger2 = False

但是您可能需要检查何时释放按键,以判断何时实际发生了新的按下。

© www.soinside.com 2019 - 2024. All rights reserved.