Не можете заставить Kodi принимать ключи, испускаемые из python-uinput?

Я испускаю ключи из скрипта Python, используя python-uinput. Основные вещи, такие как вверх / вниз / ввод / выход.

Насколько я вижу, это прекрасно работает на моем рабочем столе, в терминале и с браузером. Но когда я запускаю Kodi, он, похоже, совсем не отвечает. Это как-то связано с тем, что это полноэкранное приложение?

NB: Я работаю с Raspbian на модели 3 Raspberry Pi.

1 ответ

Решение

Может быть, вам нужно сделать: sudo modprobe uinput

Следующий скрипт работает для меня, чтобы отправить функциональную клавишу 12 в тиски (эмулятор C64) на основе нажатия кнопки на GPIO:

import uinput 
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)

wasPressed=False

# set up keystroke input
device = uinput.Device([uinput.KEY_F12])
while True:
    button_inactive = GPIO.input(21)
    if not button_inactive and not wasPressed:
        device.emit_click(uinput.KEY_F12)
        print "sending F12"
        wasPressed=True
    if button_inactive: 
        wasPressed=False
    time.sleep(0.1)

Обратите внимание, что я использовал uinput.KEY_F12 дважды. Скрипт должен быть запущен от имени пользователя root.

Другие вопросы по тегам