Сочетание клавиш: работает только половина кнопок MCE R6

Я только что установил Ubuntu 16.04.3 LTS на настольный ПК. Я использую этот компьютер как медиа / игровой компьютер. У меня есть пульт дистанционного управления Harmony 350 Control IR (MCE R6), который используется в основном для управления мультимедийным приложением, однако я хотел бы использовать некоторые кнопки на пульте дистанционного управления для запуска приложений и управления компьютером.

Я назначаю кнопки командам, используя Системные настройки -> Клавиатура -> Меню ярлыков. Я использовал файл / lib / udev / keymaps / rc6_mce и поместил его в / etc / rc_keymaps

Большинство кнопок работают. Например, я назначил кнопку «Media» для запуска Spotify, назначив для этого кнопку «Audio Media» на пульте дистанционного управления.

Успешно сопоставлено с Media

Но я не могу отобразить кнопку INFO на моем пульте для запуска Kodi. Когда я иду, чтобы назначить его, приложение Keyboard Mapping не «видит» его. Я держал это некоторое время, но ничего не происходит.

Оба ключа находятся в файле / etc / rc_keymaps / rc6_mce:

0x800f040d KEY_MEDIA
0x800f040f KEY_INFO

И когда я использую ir-keytable -t, оба работают как положено, поэтому компьютер получает их:

1515875517.689915: event type EV_MSC(0x04): scancode = 0x800f040d
1515875517.689915: event type EV_KEY(0x01) key_down: KEY_MEDIA(0x00e2)
1515875517.689915: event type EV_SYN(0x00).
1515875517.964577: event type EV_KEY(0x01) key_up: KEY_MEDIA(0x00e2)
1515875517.964577: event type EV_SYN(0x00).
1515875518.928910: event type EV_MSC(0x04): scancode = 0x800f040f
1515875518.928910: event type EV_KEY(0x01) key_down: KEY_INFO(0x0166)
1515875518.928910: event type EV_SYN(0x00).
1515875519.212562: event type EV_KEY(0x01) key_up: KEY_INFO(0x0166)
1515875519.212562: event type EV_SYN(0x00).

Но при попытке сопоставить их, приложение «Сочетание клавиш» будет видеть только KEY_MEDIA.

И, опять же, это не только эти две кнопки. Эти два просто хорошие примеры, потому что они очень похожи. Многие другие кнопки работают (FastForwrd, Rewind, Record и т. Д.), А партии - нет (вся цифровая клавиатура, меню, руководство и т. Д.) С той же проблемой. ir-keytable видит их нормально, а приложение Keyboard Settings - нет.

Итак, что же есть между ir-keytable и приложением сочетания клавиш, которое «ест» мои нажатия кнопок?

Спасибо.

0
задан 13 January 2018 в 23:34

1 ответ

Я понял это.

X11 распознает только коды сканирования до 255. Половина кнопок на пульте дистанционного управления использует более высокие коды сканирования. Итак, я сначала получил список всех скан-кодов, которые использует мой пульт, выполнив:

ir-keytable --read --device = / dev / input / event19

(/ dev / input / event19 - это устройство, на котором работает мой пульт. Запуск ir-keytable без параметров покажет вам, какой у вас.)

Это выдаст такой список. Число в конце в скобках - это то, что нас интересует.

scancode 0x800f0410 = KEY_VOLUMEUP (0x73)
scancode 0x800f0411 = KEY_VOLUMEDOWN (0x72)
scancode 0x800f0412 = KEY_CHANNELUP (0x192)
scancode 0x800f0413 = KEY_CHANNELDOWN (0x193)
scancode 0x800f0414 = KEY_FASTFORWARD (0xd0)

Все в этом списке больше 0xFF не будет работать. (Или, проще говоря, все, что имеет три цифры. Так что CHANNELUP (0x192) и CHANNELDOWN (0x193) в этом случае)

Затем я просто отредактировал свой файл / etc / rc_keymaps / rc6_mce и сопоставил эти кнопки чему-то Я знал, что был ниже.

Это также решило проблему, которую я имел с Kodi, когда некоторые кнопки не работали на моем пульте. KEY_INFO, KEY_STOP и некоторые другие. Я переназначил их на обычные нажатия клавиш (от KEY_INFO до KEY_I и т. Д.), И теперь это тоже работает.

0
ответ дан 13 January 2018 в 23:34

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

Похожие вопросы: