Keystroke emulation
Утилита sendqtevent расположена в RootFS STB. Путь размещения утилиты для различных моделей STB:
- /usr/share/qt-4.6.0/ - для MAG250/254
- /usr/local/share/app/bin - для MAG256/322/324/349/351/420/424
С помощью утилиты sendqtevent производится запуск некоторых команд управления работой STB из командной оболочки (доступ к STB по SHH), что дает возможность эмулировать нажатие клавиш ПДУ STB (keystroking emulation) и дополнительных операций.
Формат вызова утилиты
sendqtevent [-c] [-a] [-s] [-ks <code>] [-kqt <qt_code>] -c - CTRL key modifier -a - ALT key modifier -s - SHIFT key modifier <code> - KeySym code (default: 0x20) <qt_code> - code for Qt symbol (e.i. Qt::Enter) code - matches codes KeySym:<code> in settings LIRC /etc/lirc/lircrc qt_code - matches code button from Qt::Key
Внимание! Существует ограничение - вызов виртуальной клавиатуры (кнопка КВ) и вызов системных настроек (кнопка Setup) не могут быть произведены с помощью утилиты sendqtevent.
Формирование команды на примере MAG250/254
Формат команды запуска утилиты:
Например, эмуляция нажатия клавиши Влево (left key):
где:
0x01000012 - значение параметра Qt::Key_Left - см. http://qt-project.org/doc/qt-4.8/qt.html#Key-enum
0x25 - значение keyCode (hex) для кнопки Влево (left) - см. Спецификация JavaScript API (для версий ПО до 0.2.18) страница 103
Примечание:
Для некоторых управляющих кнопок типа Menu, которые не приведены в qt.html необходимо обратиться к /etc/lirc/lircrc.wk - config=Key ctrl-F11 Web
Для этих кнопок необходимо использовать код 0x0100003a от F11 из http://qt-project.org/doc/qt-4.8/qt.html#Key-enum и флаг -c (CTRL key modifier)
Примеры команд
Формат команды для MAG250/254:
Пример команды эмуляции кнопки Info для MAG250/254:
Формат команды для MAG256/3xx/4xx:
Пример команды эмуляции кнопки Exit для MAG256/3xx/4xx:
Примечание: Для пробороса команд в режиме S1, для Linux STB MAG4xx и выше, необходимо установить переменную загрузчика - allRcCodesS1=true
Примеры параметров запуска различных команд эмуляции кнопок
Кнопка или операция | Параметр | Комментарий |
---|---|---|
Vol- | -kqt 0x01000070 -kqt 0x2d | только для MAG254 |
Vol+ | -kqt 0x01000072 -kqt 0x2b | только для MAG254 |
mute | -kqt 96 -a -kqt 126 -a |
|
menu | -kqt 0x0100003a | |
left | -kqt 0x01000012 | |
right | -kqt 0x01000014 | |
up | -kqt 0x01000013 | |
down | -kqt 0x01000015 | |
ok | -kqt 0x01000004 |
|
red | -kqt 0x01000030 | |
green | -kqt 0x01000031 | |
yellow | -kqt 0x01000032 | |
blue | -kqt 0x01000033 | |
0 | -kqt 48 | |
1 | -kqt 49 | |
2 | -kqt 50 | |
3 | -kqt 51 | |
4 | -kqt 52 | |
5 | -kqt 53 | |
6 | -kqt 54 | |
7 | -kqt 55 | |
8 | -kqt 56 | |
9 | -kqt 57 | |
power |
-kqt 85 -a -kqt 0x55 -a |
|
ch+ | -kqt 0x01000001 | |
ch- | -kqt 0x01000002 | |
refresh | -kqt 0x01000034 | |
exit | -kqt 0x01000000 | |
back | -kqt 0x01000003 | |
page up | -kqt 0x01000016 | Дополнительная операция |
page down | -kqt 0x01000017 | Дополнительная операция |
info | -kqt 89 -a | |
play/pause | -kqt 82 -a | |
stop | -kqt 83 -a |
|
Screen resize | -kqt 0x01000035 | |
EPG | -kqt 0x01000037 | |
tv | -kqt 0x01000039 |