Как обработать событие ввода с клавиатуры напрямую, без внешних скриптов (скрипт-привязка) - PullRequest
0 голосов
/ 14 апреля 2020

Я использую libmpv для создания собственного плеера iptv на Go. И мне нужно вызывать свои собственные функции, когда конкретные клавиши были нажаты с нестандартной обработкой. Я отключил привязку клавиш по умолчанию:

player.SetOptionString("no-input-default-binding", "yes")) 
player.SetOptionString("input-vo-keyboard", "yes"))

Это мой прослушиватель событий:

func eventListener(m *mpv.Mpv) chan *mpv.Event {
    c := make(chan *mpv.Event)
    go func() {
        for {
            e := m.WaitEvent(1)
            c <- e
        }
    }()
    return c
}

Я получаю консольные сообщения, нажимая клавишу ВЛЕВО, например: [input] Нет привязки клавиш найдено для ключа 'LEFT'

Но прослушиватель событий не фиксирует эти события. Можно ли подписаться на события клавиатуры через встроенный диспетчер событий libmpv без использования файла input.conf, внешних скриптов lua / js (опция связывания скрипта)?

...