Попытка создать очень простой контроллер клавиатуры и мыши, используя контакты GPIO Raspberry Pi. Хотел бы использовать код в образовательной среде, поэтому пытаюсь создать супер простой, читаемый код для детей/студентов. Но код ведет себя несколько странно, он продолжает выводить одни и те же нажатия клавиш:
import gpiozero
from pynput.mouse import Button, Controller as MouseController
from pynput.keyboard import Key, Controller as KeyboardController
keyboard = KeyboardController()
mouse = MouseController()
Up = gpiozero.Button(26, bounce_time=0.02)
LeftMouse = gpiozero.Button(17, bounce_time=0.02)
while True:
if Up.is_pressed:
print("Up")
keyboard.press(Key.up)
Up.wait_for_release()
keyboard.release(Key.up)
elif LeftMouse.is_pressed:
print("Left Mouse button")
mouse.press(button.left)
LeftMouse.wait_for_release()
mouse.release(button.left)
Использование Python 3.7.3. Независимо от того, какой GPIO я запускаю (26 или 17), код всегда выводит «Вверх» и нажимает кнопку «вверх» на клавиатуре. Должно быть, это какая-то глупость, но я не могу понять. Хотелось бы продолжать использовать if/elif, чтобы позже расширить код дополнительными кнопками GPIO. Есть идеи?