Удаленный IR - некоторые ключи медиа не будет работать (KEY_NEXTSONG / KEY_PREVIOUSSONG)

Я прочитал много текстов для прибытия настолько далеко :) После 17,04 обновлений LIRC больше не работал с моим NUC7i5..., таким образом, я действительно узнавал об использовании ir-keytable. (Это сообщение помогло мне много!)

Таким образом, после удаления LIRC, мой ir-keytable был похож на это (интересный, lirc-протокол все еще включен):

sudo ir-keytable
Found /sys/class/rc/rc0/ (/dev/input/event6) with:
    Driver ite-cir, table rc-rc6-mce
    Supported protocols: unknown other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp 
    Enabled protocols: lirc 
    Name: ITE8708 CIR transceiver
    bus: 25, vendor/product: 1283:0000, version: 0x0000
    Repeat delay = 500 ms, repeat period = 125 ms

Затем я узнал старый Mac, удаленный, я имею, работает над протоколом NEC, таким образом, я создал свой собственный rc_keymaps и активировал протокол NEC как это:

cp /lib/udev/rc_keymaps/nec_terratec_cinergy_xs /etc/rc_keymaps/nec_mac
sudo ir-keytable -p nec

Теперь я мог выполнить ir-keytable-test для наблюдения scancodes удаленных ключей:

sudo ir-keytable -t
Testing events. Please, press CTRL-C to abort.
1504134142.373150: event type EV_MSC(0x04): scancode = 0x77e15025
1504134142.373150: event type EV_SYN(0x00).
1504134143.213712: event type EV_MSC(0x04): scancode = 0x77e13025
1504134143.213712: event type EV_SYN(0x00).
1504134143.935559: event type EV_MSC(0x04): scancode = 0x77e16025
1504134143.935559: event type EV_SYN(0x00).
1504134145.042733: event type EV_MSC(0x04): scancode = 0x77e19025
1504134145.042733: event type EV_SYN(0x00).
1504134145.844078: event type EV_MSC(0x04): scancode = 0x77e1a025
1504134145.844078: event type EV_SYN(0x00).

Те scancodes были полезны для изменения скопированного файла контурной карты:

sudo nano /etc/rc_keymaps/nec_mac

Результат этой модификации похож на это:

cat /etc/rc_keymaps/nec_mac 
# table nec_mac type: NEC
0x77e15025 KEY_VOLUMEUP
0x77e13025 KEY_VOLUMEDOWN
0x77e1a025 KEY_PLAYPAUSE
0x77e19025 KEY_PREVIOUSSONG
0x77e16025 KEY_NEXTSONG

После очистки старого keytable из ir-keytable и загрузки нового rc_keymaps файла nec_mac, удаленное работало частично в 17,04 и в Rhythmbox (у меня действительно есть те команды в моем rc.local для активации контурных карт на запуске):

sudo ir-keytable -c
sudo ir-keytable -p nec -w /erc/rc_keymaps/nec_mac

Но две кнопки не работают: KEY_PREVIOUSSONG и KEY_NEXTSONG. У меня действительно есть беспроводная клавиатура Logitech (k830, с USB-reciever)... здесь все ключи медиа работают с Rythmbox. И если я пробую sudo showkey команда и я нажимаем клавиатуру KEY_NEXTSONG и удаленный KEY_NEXTSONG IR, я получаю тот же код клавиши:

keycode 163 press
keycode 163 release

Если я пытаюсь установить LIRC снова после того, как все те конфигурации, или удаленное IR не работает больше, или он входит в некоторый "бесконечный цикл" (например, нажимает однажды KEY_VOLUMEUP, и он идет полностью).

Таким образом, у кого-либо есть какая-либо идея, как обработать ir-keytable без LIRC для создания тех двух ключей, работающих в rhythmbox?

Моя версия ядра должна быть up2date: 4.10.0-33-универсальный

Спасибо за каждую подсказку.

0
задан 1 September 2017 в 00:58

1 ответ

У меня есть 4.4.0-универсальная работа MacBook Pro (2011) с удаленным яблоком, и у меня была та же проблема. Фон сначала затем, как я зафиксировал его:

Фон:

Мое ядро - установленный w/Mint 18.1 на основе человечности 16.4, настолько более старой, чем Ваше - распознает удаленное, прежде чем я установил что-либо. Объем, Объем вниз, работа игры/паузы то же как клавиши на клавиатуре, затем дорожка и предыдущая дорожка не сделал. Я переустановил пакет lirc и отредактировал в Mac мини-спецификацию для удаленного. Никакое изменение. Выполнение irw I видит, что ядро распознает удаленное и создает событие для каждой кнопки.

Некоторые люди упомянули, что более новое ядро просто не работало с удаленным способ, которым более старый сделал и бросил или откатывал к более раннему ядру, но здесь - то, что я сделал.

Фиксация его:

Я установил evtest пакет

$ sudo apt install evtest

Выполнил evtest. Программа дает Вам список каждого устройства ввода данных &c. Выберите число для удаленного и нажмите Enter. На моем ноутбуке включен список

/dev/input/event6:  Apple Computer, Inc. IR Receiver
/dev/input/event7:  Apple Inc. Apple Internal Keyboard / Trackpad

таким образом видеть яблоко, удаленное я тип 6.

$ sudo evtest

Select the device event number [0-16]: 6
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x5ac product 0x8242 version 0x111
Input device name: "Apple Computer, Inc. IR Receiver"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
  Event code 28 (KEY_ENTER)
  Event code 114 (KEY_VOLUMEDOWN)
  Event code 115 (KEY_VOLUMEUP)
  Event code 139 (KEY_MENU)
  Event code 158 (KEY_BACK)
  Event code 159 (KEY_FORWARD)
  Event code 164 (KEY_PLAYPAUSE)
  Key repeat handling:
    Repeat type 20 (EV_REP)
      Repeat code 0 (REP_DELAY)
        Value    250
      Repeat code 1 (REP_PERIOD)
        Value     33
Properties:
Testing ... (interrupt to exit)
Event: time 1509552582.912009, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 1
Event: time 1509552582.912009, -------------- SYN_REPORT ------------
Event: time 1509552583.034614, type 1 (EV_KEY), code 164 (KEY_PLAYPAUSE), value 0
Event: time 1509552583.034614, -------------- SYN_REPORT ------------
Event: time 1509552586.159731, type 1 (EV_KEY), code 159 (KEY_FORWARD), value 1
Event: time 1509552586.159731, -------------- SYN_REPORT ------------
Event: time 1509552586.338556, type 1 (EV_KEY), code 159 (KEY_FORWARD), value 0
Event: time 1509552586.338556, -------------- SYN_REPORT ------------
Event: time 1509552587.375649, type 1 (EV_KEY), code 158 (KEY_BACK), value 1
Event: time 1509552587.375649, -------------- SYN_REPORT ------------
Event: time 1509552587.626549, type 1 (EV_KEY), code 158 (KEY_BACK), value 2
Event: time 1509552587.626549, -------------- SYN_REPORT ------------
Event: time 1509552587.650543, type 1 (EV_KEY), code 158 (KEY_BACK), value 0
Event: time 1509552587.650543, -------------- SYN_REPORT ------------

Теперь позволяет взгляду на то, что происходит, когда я нажимаю следующую кнопку дорожки и предыдущую кнопку дорожки на клавиатуре:

Select the device event number [0-16]: 7

Event: time 1509552799.129798, type 1 (EV_KEY), code 165 
(KEY_PREVIOUSSONG), value 1
Event: time 1509552799.129798, -------------- SYN_REPORT ------------
Event: time 1509552799.265788, type 1 (EV_KEY), code 165 
(KEY_PREVIOUSSONG), value 0
Event: time 1509552799.265788, -------------- SYN_REPORT ------------
Event: time 1509552800.641684, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 1

Таким образом, клавиатура генерирует правильный код "KEY_PREVIOUSSONG", "KEY_NEXTSONG", но удаленное не.

таким образом отредактируйте файл/etc/lirc/hardware.conf

Ну, на моей машине не существует каталог,/etc/lirc. так...

$ apt install lirc

После установки пакета регистрируют сценарий, выполняется автоматически. Необходимо выбрать удаленное оборудование из списка и совершить нападки, входят. Я выбрал "Mac, мини-и тому подобное" и из следующего списка (передатчики, я думаю), я не выбрал ни один. Теперь существует файл/etc/lirc/hardware.conf. Это главным образом пусто и указывает на файл, специфичный для этого дистанционного управления. так отредактируйте этот файл - не легкий выяснять местоположение, я нашел его в

cd /usr/share/lirc/remotes/apple/
nano lircd.conf.macmini

измените слово KEY_REWIND на KEY_PREVIOUSSONG и измените KEY_FORWARD на KEY_NEXTSONG.

Теперь перезапустите lirc демона для распознавания новой конфигурации.

sudo /etc/init.d/lirc restart

Теперь правые и левые кнопки будут работать.:)

0
ответ дан 2 November 2019 в 08:26

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

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