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()