Прикручиваем любой IR пульт к ТВ боксу с процессором Amlogic на Android
В этой статье мы пойдём от обратного, то есть не учить пульт ду давать понятные команды устройству, а научим устройство понимать любимый, удобный и привычный IR пульт. Мне лично такая идея нравится на много больше. Да и это отличный ответ маркетологам ведь затрат 0. Думаю у каждого обладателя нашего чудо ресивер на операционной системе Андройд есть на хранение любимый удобный пульт ду.
Сразу оговорюсь данная инструкция подходит для любой медиа приставок () на процессорах от фирмы Amlogic на базе ос Android, в независимости от количества ядер либо версии Android. Рут обязателен!!
И так к делу.
1. Понадобится из программ: Root Explorer (File Manager) Better Terminal Emulator Magic
2. Подготовка к обучению приставки: – Запускаем программу терминала, Better Terminal Emulator. – последовательно вводим команды :
su (даст права root
терминалу)
dmesg
-c (команда, вывода буфера сообщений ядра на экран, и за одно чистка буфера )
– Берём в руки пульт, направляем на медиа бокс и нажимаем несколько раз любую кнопку пульта (например ОК). – Откладываем IR пульт ду, вводим команду в терминале:
dmesg | grep "code is 0x"
и видим следующий код кнопки (в примере ОK) Wrong custom code is 0x31cefd01 Нас интересуют последние четыре символа
fd01– код производителя и 5-ый ,6-ой символы ce – код кнопки.
Так проделываем для каждой кнопки пульта, естественно записываем в черновик.
3. Добавление кодов нового пульта в приставку на базе процессора Amlogic:
За управление с помощью пульта отвечают два файла
/system/etc/Remote.conf
– файл содержит настройки кода производителя пульта и привязку кодов кнопок пульта к номерам кнопок в linux.
/system/usr/keylayout/Vendor_0001_Product_0001.kl
– файл содержит привязку номеров кнопок в linux к функциям.
Подробнее: Remote.conf
#amlogic NEC remote factory_code = 0x<span style="color: #ff0000;">fd01</span>0001 - код производителя, <span style="color: #ff0000;">fd01 </span>- получено из полного кода кнопки (последние четыре символа), 0001 - у всех одинаково и не меняется work_mode = 0 repeat_enable = 1 repeat_delay = 40 repeat_peroid = 39 release_delay = 121 debug_enable = 1 mouse_begin 0 - номер кнопки в linux 0x<span style="color: #ff0000;">ce</span> - символы 5,6 кода кнопки пульта 1 0x48 2 0x44 3 0x1d mouse_end key_begin 0x17 113 0x04 114 0x06 115 0x00 105 0x15 103 0x02 106 0x05 108 0x01 97 0x11 158 0x13 102 0xdc 116 0x0c 217 0x14 388 0x08 2 0x12 3 0x09 4 0x10 5 0x0a 6 0x0b 7 0x0f 8 0x07 9 0x16 10 0x03 11 0x19 14 0x18 228 key_end repeat_key_begin 0x17 113 0x04 114 0x06 115 0x00 105 0x15 103 0x02 106 0x05 108 0x01 97 0x11 158 0x13 102 0xdc 116 0x0c 217 0x14 388 0x08 2 0x12 3 0x09 4 0x10 5 0x0a 6 0x0b 7 0x0f 8 0x07 9 0x16 10 0x03 11 0x19 14 0x18 228 repeat_key_end
Vendor_0001_Product_0001.kl
key 399 GRAVE key <span style="color: #ff0000;">0</span> номер кнопки в linux - <span style="color: #3333ff;">OK</span> - функция key 2 1 key 3 2 key 4 3 key 5 4 key 6 5 key 7 6 key 8 7 key 9 8 key 10 9 key 11 0 key 15 BACK key 158 BACK key 58 SOFT_RIGHT key 107 ENDCALL key 62 ENDCALL key 139 MENU key 125 MENU key 60 NOTIFICATION key 127 SEARCH key 217 SEARCH key 228 POUND key 227 STAR key 231 CALL key 61 CALL key 97 DPAD_CENTER key 232 DPAD_CENTER key 108 DPAD_DOWN key 103 DPAD_UP key 102 HOME key 105 DPAD_LEFT key 106 DPAD_RIGHT key 115 VOLUME_UP key 114 VOLUME_DOWN key 104 VOLUME_UP key 109 VOLUME_DOWN key 212 CAMERA key 16 Q key 17 W key 18 E key 19 R key 20 T key 21 Y key 22 U key 23 I key 24 O key 25 P key 26 LEFT_BRACKET key 27 RIGHT_BRACKET key 43 BACKSLASH key 30 A key 31 S key 32 D key 33 F key 34 G key 35 H key 36 J key 37 K key 38 L key 39 SEMICOLON key 40 APOSTROPHE key 14 DEL key 44 Z key 45 X key 46 C key 47 V key 48 B key 49 N key 50 M key 51 COMMA key 52 PERIOD key 53 SLASH key 28 ENTER key 56 ALT_LEFT key 100 ALT_RIGHT key 42 SHIFT_LEFT key 54 SHIFT_RIGHT #key 15 TAB key 57 SPACE key 70 EXPLORER key 155 ENVELOPE key 12 MINUS key 13 EQUALS key 215 AT key 119 MEDIA_PLAY_PAUSE key 122 MEDIA_PREVIOUS key 123 MEDIA_NEXT key 120 MEDIA_FAST_FORWARD key 121 MEDIA_REWIND key 116 POWER WAKE key 113 VOLUME_MUTE key 128 MEDIA_STOP key 130 ZOOM_IN key 131 ZOOM_OUT key 133 TAB key 140 F10 key 132 TV_REPEAT key 134 TV_SHORTCUTKEY_DISPAYMODE key 135 TV_SUBTITLE key 136 TV_SHORTCUTKEY_VOICEMODE key 137 TV_SWITCH
Незабываем сохранять оригинальные файлы перед правкой!
4. Меняем коды кнопок в Remote.conf, сопоставляя их номерам кнопок в linux и их функциям.
Опробовано
Программа KeyEvent Display на андроид-ТВ приставке X96 видит нажатия кнопок, но выдаёт не полную ИК команду, а только два байта в DEC. И не знаю что прописать в factory_code для пульта от телевизора Samsung. Еле-еле в инете нашёл возможный ИК код от этого пульта “0xe0e002df”. Вписал в remote.conf и его и пробовал “0xe0e00001”. Перезагружал приставку каждый раз. Но приставка так и не слушается самсунговского пульта.
идея интересная но реализовать навряд ли можно.
хотя … если что описывайте, тема интересная.
Спасибо за статью – отличный рабочий метод. Хотел бы прояснить еще один момент: можно ли использовать два пульта одновременно (сохранив функциональность родного пульта добавить еще один)? Если да, то как в этом случае должен выглядеть конфигурационный файл /system/etc/Remote.conf?
да Вы правы к дешёвым китайским поделкам гиро пульт нужно докупить. Но у дорогих "Эвро" моделях он уже в комплекте.
На рынке их 2а
1. Амико А3 – ценник более 130евро
2. WeTek Play – с двумя двб-с2 тюнерами. ценник около 90евро.
Интересуюсь так как решил приобрести спутниковый ресивер на андроиде и в приоритете с гиро пультом, в начале присматривался к gi fly , но благодаря вашим постам решил всё же остановиться на более мощных аппаратах , единственное думал уточнить как эти ресы. дружат Gyro, и ещё я так понял gyro пульт приобретать надо отдельно.
Я использую Air Mouse Т2. Что интересует ?
GuRu возможно ли полноценно использовать gyro пульт на тюнерах VS-IP015 и Prima PM-6001 он же VS IP166 ?
Возможно ли таким образом включать-отключать HDMI выход?
Для чего? – формально девайс с пульта выключается, но не включается, приходится вручную включать на панели кнопку, ждать загрузку.
Если с пульта включать-отключать HDMI, и в телевизоре установить авто-ждущий режим при отсутствии сигнала, тогда пульт для телика не нужен вообще.
Пульт для телика сейчас используется только для вкл-выкл телика.
Громкость, мышь и т.д. использую сугубо аэромышью-клавиатурой.
Пробовал несколько программ для отключения экрана – работает, но не совсем корректно. Даже ремапил клавиши аэромыши для вкл-выкл. экрана, но нужно все-таки полное отключение HDMI.
HDMI CEC работает через ж.. и также требует 2-го пульта.
Можно что-то придумать?