9and3r vor 11 Jahren
Ursprung
Commit
ef93f342aa
1 geänderte Dateien mit 61 neuen und 0 gelöschten Zeilen
  1. 61 0
      mopidy_touchscreen/gpio_inpput_manager.py

+ 61 - 0
mopidy_touchscreen/gpio_inpput_manager.py

@@ -9,10 +9,32 @@ class GPIOManager():
 
     def __init__(self):
         GPIO.setmode(GPIO.BCM)
+
+        # Left Button
+        GPIO.setup(4, GPIO.IN, pull_up_down = GPIO.PUD_UP)
+        GPIO.add_event_detect(4, GPIO.BOTH, callback=left, bouncetime=30)
+
+         # Right Button
+        GPIO.setup(21, GPIO.IN, pull_up_down = GPIO.PUD_UP)
+        GPIO.add_event_detect(21, GPIO.BOTH, callback=right, bouncetime=30)
+
+         # Up Button
+        GPIO.setup(22, GPIO.IN, pull_up_down = GPIO.PUD_UP)
+        GPIO.add_event_detect(22, GPIO.BOTH, callback=up, bouncetime=30)
+
+         # Down Button
+        GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
+        GPIO.add_event_detect(23, GPIO.BOTH, callback=right, bouncetime=30)
+
+         # Enter Button
         GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
         GPIO.add_event_detect(24, GPIO.BOTH, callback=right, bouncetime=30)
 
 
+
+
+
+
 def right(channel):
     dict = {}
     if GPIO.input(channel) == 1:
@@ -23,6 +45,45 @@ def right(channel):
     event = pygame.event.Event(type, dict)
     pygame.event.post(event)
 
+def left(channel):
+    dict = {}
+    if GPIO.input(channel) == 1:
+        type = pygame.KEYUP
+    else:
+        type = pygame.KEYDOWN
+    dict['key'] = pygame.K_RIGHT
+    event = pygame.event.Event(type, dict)
+    pygame.event.post(event)
+
+def down(channel):
+    dict = {}
+    if GPIO.input(channel) == 1:
+        type = pygame.KEYUP
+    else:
+        type = pygame.KEYDOWN
+    dict['key'] = pygame.K_DOWN
+    event = pygame.event.Event(type, dict)
+    pygame.event.post(event)
+
+def up(channel):
+    dict = {}
+    if GPIO.input(channel) == 1:
+        type = pygame.KEYUP
+    else:
+        type = pygame.KEYDOWN
+    dict['key'] = pygame.K_UP
+    event = pygame.event.Event(type, dict)
+    pygame.event.post(event)
+
+def enter(channel):
+    dict = {}
+    if GPIO.input(channel) == 1:
+        type = pygame.KEYUP
+    else:
+        type = pygame.KEYDOWN
+    dict['key'] = pygame.K_RETURN
+    event = pygame.event.Event(type, dict)
+    pygame.event.post(event)