0

I am making a code which finds out, for how long is a key pressed down for before release. I got this stack overflow page which helped me detect for 1 key press, but I couldn't loop it. Stack Overflow Page - Determine length of keypress in python

The expected output is this. I want to find the keypresses length, in one time of execution of the file

My Code

from pynput import keyboard 

pyautogui.FAILSAFE = False

print("ON")
# time.sleep(4)

# pyautogui.keyDown('w')
# time.sleep(3)
# pyautogui.keyUp('w')

keyss = {}
def on_key_release(key): #what to do on key-release
    time_taken = round(time.time() - t, 5) #rounding the long decimal float
    keyss[key] = time_taken
    print("The key",key," is pressed for",time_taken,'seconds')
    # return False #stop detecting more key-releases

def on_key_press(key): #what to do on key-press
    return False #stop detecting more key-presses

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

t = time.time() #reading time in sec

with keyboard.Listener(on_release = on_key_release) as release_listener: #setting code for listening key-release
    release_listener.join()
Hardik
  • 19
  • 3

0 Answers0