Anzal24

Untitled

May 26th, 2023
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. import evdev
  2. import time
  3.  
  4. # Define the event device path
  5. device_path = '/dev/input/event2'
  6.  
  7. # Open the input device
  8. device = evdev.InputDevice(device_path)
  9. print(device)
  10. # Define button code
  11. button_code = evdev.ecodes.KEY_ENTER  # Modify as needed
  12.  
  13. # Initialize button press variables
  14. button_pressed = False
  15. button_press_start = 0
  16.  
  17. # Define time thresholds
  18. long_press_duration = 1.0  # in seconds
  19. double_press_interval = 0.5  # in seconds
  20.  
  21. # Event loop
  22. for event in device.read_loop():
  23.     if event.type == evdev.ecodes.EV_KEY and event.code == button_code:
  24.         if event.value == 1:  # Button pressed
  25.            
  26.             if not button_pressed:
  27.                 # First button press
  28.                 button_pressed = True
  29.                 button_press_start = time.time()
  30.             else:
  31.                 # Double button press
  32.                 button_pressed = False
  33.                 button_press_duration = time.time() - button_press_start
  34.                 if button_press_duration <= double_press_interval:
  35.                     print("Double press detected!")
  36.         elif event.value == 0:  # Button released
  37.             if button_pressed:
  38.                 button_pressed = False
  39.                 button_press_duration = time.time() - button_press_start
  40.                 if button_press_duration >= long_press_duration:
  41.                     print("Long press detected!")
  42.             else:
  43.                 print("Button released")
  44.  
Advertisement
Add Comment
Please, Sign In to add comment