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 |

