Solution
while True:
if button.value is True:
if current_state is state_wait:
keyboard.press(key) # Send our defined key as a command...
print("button is pressed") #Print a confirmation in the serial monitor
keyboard.release_all() # and release all keys again
current_state = state_button_is_pressed # Update our state
elif button.value is False:
if current_state is state_button_is_pressed:
print("button is released") # Print a confirmation in the serial monitor
current_state = state_wait # Reset the state
# Sleep briefly so keypress events occur at a human timescale.
# Skilled users can manage ~7 button presses per second, so we
# sample at roughly twice that rate to satisfy the Nyquist criterion.
time.sleep(0.07)