Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import evdev
- import time
- # Define the event device path
- device_path = '/dev/input/event2'
- # Open the input device
- device = evdev.InputDevice(device_path)
- print(device)
- # Define button code
- button_code = evdev.ecodes.KEY_ENTER # Modify as needed
- # Initialize button press variables
- button_pressed = False
- button_press_start = 0
- # Define time thresholds
- long_press_duration = 1.0 # in seconds
- double_press_interval = 0.5 # in seconds
- # Event loop
- for event in device.read_loop():
- if event.type == evdev.ecodes.EV_KEY and event.code == button_code:
- if event.value == 1: # Button pressed
- if not button_pressed:
- # First button press
- button_pressed = True
- button_press_start = time.time()
- else:
- # Double button press
- button_pressed = False
- button_press_duration = time.time() - button_press_start
- if button_press_duration <= double_press_interval:
- print("Double press detected!")
- elif event.value == 0: # Button released
- if button_pressed:
- button_pressed = False
- button_press_duration = time.time() - button_press_start
- if button_press_duration >= long_press_duration:
- print("Long press detected!")
- else:
- print("Button released")
Advertisement
Add Comment
Please, Sign In to add comment