如何获得按键的持续时间?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得按键的持续时间?相关的知识,希望对你有一定的参考价值。

我试图使用python来获取按键的持续时间,但我的代码仅在第一次工作,然后下一次按键显示自程序执行以来的总时间。

from pynput import keyboard
import time

def keydet(key):
    return False

def keypress():
    def callb(key):  # what to do on key-release
        ti1 = time.time() - t

        ti2 = str(ti1)  # converting float value to string
        ti3 = ti2[0:5] # cutting the seconds ( time ) , without it , it will print like 0.233446546


        print("The key", key, "Pressed For", ti3)

        kp = key
        print(kp)

        a = time.sleep(0.0001)
        return key  # stop detecting more key-releases


    def callb1(key):  # what to do on key-press

        return False  # stop detecting more key-presses


    with keyboard.Listener(on_press=callb1) as listener1:  # setting code for listening key-press
        listener1.join()

    t = 0
    t = time.time()



    with keyboard.Listener(on_release=callb) as listener:  # setting code for listening key-release
        listener.join()


#Keypress Detector
with keyboard.Listener(on_press=keydet) as listener:
    keypress()

我试过谷歌搜索但无法找到最适合我的解决方案。我在这个网站上也看到了一些问题,但对我来说没什么用。

答案

我不知道该怎么做,但也许我可以指出你正确的方向。你听说过键盘make/break codes吗?按住某个键时,它会不断向您的PC发送数据。如果有一些低级别的方法来查看这些,您可以简单地将它们视为判断持续时间的一种方式。快乐的谷歌搜索!

以上是关于如何获得按键的持续时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何准确延长微小视频片段的持续时间?

如何获得 Soundpool 的持续时间

leetcode 1月9日每日一题 1629. 按键持续时间最长的键

leetcode 1月9日每日一题 1629. 按键持续时间最长的键

如何在录制过程中获得录制音频的确切持续时间?

如何检测 LWUIT 表单中的按键事件?