......
ака Учкун, Установил Ваш плагин на рес Golden Media 990 , тоже sh4 но имидж на AR-P (на основе пли ) и пульты сильно отличаются ....
.....
....... может быть ......... напишите небольшой FAQ по keymap.xml .
......
Небольшой не получится.
Нужно хотя бы средний)))
Потому как некоторые вещи долго объяснять.....
Ну и не по keymap.xml вовсе.........
Хорошо, попробуем........
FAQ: Как добавить кнопки своего пульта в плагин MultiQuickButton
Плагин Мультиквикбаттон в одном виде не подойдет для всех ресиверов сразу, потому нужен этот FAQ, так как не только имиджи имеют свои особенности, но также у пользователей форума имеются различные ресиверы от разных производителей самых разных брендов с совершенно отличающимися друг от друга пультами.
Что прежде всего нужно?
Разумеется нужно иметь ресивер с любым, повторяю с любым имиджем, но обязательно на enigma2.
Начиная с опенПли до персианэмпайр, вобщем любой имидж на энигме2.
Далее, нужно иметь под рукой мой мод Мультиквикбаттона.
Тот, который на имидж HDMU подточен.
Этот:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Это наиболее продвинутый мод и встанет под любой имидж.
Другое дело, не везде будет работать))).
Вот для того, чтобы он полноценно работал в любом ресивере под любым имиджем на энигма2 читаем и изучаем далее этот FAQ.
Итак, ресивер на энигма2 имеется, мод Мультиквикбаттона есть.
Остается запустить все кнопки вашего пульта, прописав их коды в этот самый плагин.
Для того, чтобы понять, как это сделать, нам необходимо сначала хоть немного, но вникнуть в то, как на практике это дело работает.
То есть мы нажимаем определенные кнопки на пульте нашего ресивера, а имидж установленный в ресивер, отвечает на это нажатие определенным действием.
Как это происходит?
А вот как. Если кнопка на пульте не пустышка, то при нажатии на нее, рес получает определенный скажем так код и этот код перехватывается имиджем. И первым делом имидж (на энигме2) открывает питоновский файл keyids (в папке /usr/lib/enigma2/python/) и узнает соответствующий идентификатор-ключ ID соответствующий этому коду.
Затем исходя от того, что - в какой момент, в каком окне, при каком действии была нажата кнопка, отыскивает искомое действие акшинмап, соответствующий этому ID в этом самом окне.
Поясню на примере.
Ресивер включен, смотрим ТВ и в окне просмотра ТВ нажимаем кнопку ОК на нашем пульте.
Так вот если на эту кнопку "зашит" был код 352 скажем (а производитель мог и любой другой код зашивать),
то открывая файл keyids имидж узнает, что ключу 352 соответствует идентификатор KEY_OK и ищет именно для этого ID какое действие предусмотрено в окне просмотра ТВ.
Если вы хоть немного продвинуты, то знаете что, действия при просмотре ТВ (то есть не находясь ни в каком меню) в основном прописываются в имидже в акшинмап связанных с "InfoBar" и действительно, в файле keymap.xml (/usr/share/enigma2/) в секции "InfobarShowHideActions" вот такое действие
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
А действие toggleShow имидж находит в загруженном в память (при загрузке имиджа) модуле InfobarGenerics и оттуда узнает, что это приказ показать инфобар и показывает Инфобар.
Вот здесь хочу заострить внимание на одном обстоятельстве.
Дело в том, что кнопка на вашем пульте, в которой написано ОК вовсе не означает, что ее ID это KEY_OK.
Здесь к сожалению разные производители не придерживаются единого стандарта.
Например на этой кнопке может оказаться код KEY_ENTER.
Точно также и на всех других кнопках.
Поэтому не ищите ID с одноименными названиями на вашем пульте.
То есть если на вашем пульте будет кнопка "Vformat" это вовсе не означает, что ID этой кнопки будет KEY_VFORMAT
Например на пульте опенбокса с6 кнопке с таким названием соответствует ID KEY_ANGLE
На сегодня все.
Надеюсь поняли как имидж обрабатывает нажатие кнопки на пульте.
И поняли, что нам в первую очередь нужно узнать идентификационные имена ID, которые соответствуют кнопкам на нашем пульте.
Ну и соответственно узнав эти ID, рассмотрим детально как их повесить в плагин мультиквикбаттон......
Продолжение следует...
Добавлено 22 октября | 2013г. | 22:58:32
Начинаем узнавать идентификационные имена ID кнопок нашего пульта.
Самый легкий способ, это с помощью специального оборудования. Отметаем этот способ. Нет у обычного пользователя такого оборудования.
Второй способ. Если вы более-менее продвинутый пользователь, то уже изучали файл keymap.xml, и более-менее представляете, что означает map context=, что это есть акшинмапы с разных окон-screen имиджа и возможно уже знаете в каких-файлах исходниках они прописаны. И исследуя это дело, вы уже возможно выяснили ID многих кнопок вашего ресивера.
Но так как львиная часть пользователей этим не занимался, перейдем сразу к третьему способу.
Третий способ весьма трудоемкий и займет у вас достаточно много времени, но вы знаете про пруд и про рыбку..........
В первую очередь знакомимся с содержимым файла keyids из имиджей на энигма2, то есть со всеми возможными идентификационными именами. Файл этот приложил в аттаче, а вот его содержимое
KEYIDS = {'KEY_RESERVED': 0,
'KEY_ESC': 1,
'KEY_1': 2,
'KEY_2': 3,
'KEY_3': 4,
'KEY_4': 5,
'KEY_5': 6,
'KEY_6': 7,
'KEY_7': 8,
'KEY_8': 9,
'KEY_9': 10,
'KEY_0': 11,
'KEY_MINUS': 12,
'KEY_EQUAL': 13,
'KEY_BACKSPACE': 14,
'KEY_TAB': 15,
'KEY_Q': 16,
'KEY_W': 17,
'KEY_E': 18,
'KEY_R': 19,
'KEY_T': 20,
'KEY_Y': 21,
'KEY_U': 22,
'KEY_I': 23,
'KEY_O': 24,
'KEY_P': 25,
'KEY_LEFTBRACE': 26,
'KEY_RIGHTBRACE': 27,
'KEY_ENTER': 28,
'KEY_LEFTCTRL': 29,
'KEY_A': 30,
'KEY_S': 31,
'KEY_D': 32,
'KEY_F': 33,
'KEY_G': 34,
'KEY_H': 35,
'KEY_J': 36,
'KEY_K': 37,
'KEY_L': 38,
'KEY_SEMICOLON': 39,
'KEY_APOSTROPHE': 40,
'KEY_GRAVE': 41,
'KEY_LEFTSHIFT': 42,
'KEY_BACKSLASH': 43,
'KEY_Z': 44,
'KEY_X': 45,
'KEY_C': 46,
'KEY_V': 47,
'KEY_B': 48,
'KEY_N': 49,
'KEY_M': 50,
'KEY_COMMA': 51,
'KEY_DOT': 52,
'KEY_SLASH': 53,
'KEY_RIGHTSHIFT': 54,
'KEY_KPASTERISK': 55,
'KEY_LEFTALT': 56,
'KEY_SPACE': 57,
'KEY_CAPSLOCK': 58,
'KEY_F1': 59,
'KEY_F2': 60,
'KEY_F3': 61,
'KEY_F4': 62,
'KEY_F5': 63,
'KEY_F6': 64,
'KEY_F7': 65,
'KEY_F8': 66,
'KEY_F9': 67,
'KEY_F10': 68,
'KEY_NUMLOCK': 69,
'KEY_SCROLLLOCK': 70,
'KEY_KP7': 71,
'KEY_KP8': 72,
'KEY_KP9': 73,
'KEY_KPMINUS': 74,
'KEY_KP4': 75,
'KEY_KP5': 76,
'KEY_KP6': 77,
'KEY_KPPLUS': 78,
'KEY_KP1': 79,
'KEY_KP2': 80,
'KEY_KP3': 81,
'KEY_KP0': 82,
'KEY_KPDOT': 83,
'KEY_103RD': 84,
'KEY_F13': 85,
'KEY_102ND': 86,
'KEY_F11': 87,
'KEY_F12': 88,
'KEY_F14': 89,
'KEY_F15': 90,
'KEY_F16': 91,
'KEY_F17': 92,
'KEY_F18': 93,
'KEY_F19': 94,
'KEY_F20': 95,
'KEY_KPENTER': 96,
'KEY_RIGHTCTRL': 97,
'KEY_KPSLASH': 98,
'KEY_SYSRQ': 99,
'KEY_RIGHTALT': 100,
'KEY_LINEFEED': 101,
'KEY_HOME': 102,
'KEY_UP': 103,
'KEY_PAGEUP': 104,
'KEY_LEFT': 105,
'KEY_RIGHT': 106,
'KEY_END': 107,
'KEY_DOWN': 108,
'KEY_PAGEDOWN': 109,
'KEY_INSERT': 110,
'KEY_DELETE': 111,
'KEY_MACRO': 112,
'KEY_MUTE': 113,
'KEY_VOLUMEDOWN': 114,
'KEY_VOLUMEUP': 115,
'KEY_POWER': 116,
'KEY_KPEQUAL': 117,
'KEY_KPPLUSMINUS': 118,
'KEY_PAUSE': 119,
'KEY_F21': 120,
'KEY_F22': 121,
'KEY_F23': 122,
'KEY_F24': 123,
'KEY_KPCOMMA': 124,
'KEY_LEFTMETA': 125,
'KEY_RIGHTMETA': 126,
'KEY_COMPOSE': 127,
'KEY_STOP': 128,
'KEY_AGAIN': 129,
'KEY_PROPS': 130,
'KEY_UNDO': 131,
'KEY_FRONT': 132,
'KEY_COPY': 133,
'KEY_OPEN': 134,
'KEY_PASTE': 135,
'KEY_FIND': 136,
'KEY_CUT': 137,
'KEY_HELP': 138,
'KEY_MENU': 139,
'KEY_CALC': 140,
'KEY_SETUP': 141,
'KEY_SLEEP': 142,
'KEY_WAKEUP': 143,
'KEY_FILE': 144,
'KEY_SENDFILE': 145,
'KEY_DELETEFILE': 146,
'KEY_XFER': 147,
'KEY_PROG1': 148,
'KEY_PROG2': 149,
'KEY_WWW': 150,
'KEY_MSDOS': 151,
'KEY_COFFEE': 152,
'KEY_DIRECTION': 153,
'KEY_CYCLEWINDOWS': 154,
'KEY_MAIL': 155,
'KEY_BOOKMARKS': 156,
'KEY_COMPUTER': 157,
'KEY_BACK': 158,
'KEY_FORWARD': 159,
'KEY_CLOSECD': 160,
'KEY_EJECTCD': 161,
'KEY_EJECTCLOSECD': 162,
'KEY_NEXTSONG': 163,
'KEY_PLAYPAUSE': 164,
'KEY_PREVIOUSSONG': 165,
'KEY_STOPCD': 166,
'KEY_RECORD': 167,
'KEY_REWIND': 168,
'KEY_PHONE': 169,
'KEY_ISO': 170,
'KEY_CONFIG': 171,
'KEY_HOMEPAGE': 172,
'KEY_REFRESH': 173,
'KEY_EXIT': 174,
'KEY_MOVE': 175,
'KEY_EDIT': 176,
'KEY_SCROLLUP': 177,
'KEY_SCROLLDOWN': 178,
'KEY_KPLEFTPAREN': 179,
'KEY_KPRIGHTPAREN': 180,
'KEY_INTL1': 181,
'KEY_INTL2': 182,
'KEY_INTL3': 183,
'KEY_INTL4': 184,
'KEY_INTL5': 185,
'KEY_INTL6': 186,
'KEY_INTL7': 187,
'KEY_INTL8': 188,
'KEY_INTL9': 189,
'KEY_LANG1': 190,
'KEY_LANG2': 191,
'KEY_LANG3': 192,
'KEY_LANG4': 193,
'KEY_LANG5': 194,
'KEY_LANG6': 195,
'KEY_LANG7': 196,
'KEY_LANG8': 197,
'KEY_LANG9': 198,
'KEY_PLAYCD': 200,
'KEY_PAUSECD': 201,
'KEY_PROG3': 202,
'KEY_PROG4': 203,
'KEY_SUSPEND': 205,
'KEY_CLOSE': 206,
'KEY_PLAY': 207,
'KEY_FASTFORWARD': 208,
'KEY_BASSBOOST': 209,
'KEY_PRINT': 210,
'KEY_HP': 211,
'KEY_CAMERA': 212,
'KEY_SOUND': 213,
'KEY_QUESTION': 214,
'KEY_EMAIL': 215,
'KEY_CHAT': 216,
'KEY_SEARCH': 217,
'KEY_CONNECT': 218,
'KEY_FINANCE': 219,
'KEY_SPORT': 220,
'KEY_SHOP': 221,
'KEY_ALTERASE': 222,
'KEY_CANCEL': 223,
'KEY_BRIGHTNESSDOWN': 224,
'KEY_BRIGHTNESSUP': 225,
'KEY_MEDIA': 226,
'KEY_VMODE': 227,
'KEY_UNKNOWN': 240,
'KEY_OK': 352,
'KEY_SELECT': 353,
'KEY_GOTO': 354,
'KEY_CLEAR': 355,
'KEY_POWER2': 356,
'KEY_OPTION': 357,
'KEY_INFO': 358,
'KEY_TIME': 359,
'KEY_VENDOR': 360,
'KEY_ARCHIVE': 361,
'KEY_PROGRAM': 362,
'KEY_CHANNEL': 363,
'KEY_FAVORITES': 364,
'KEY_EPG': 365,
'KEY_PVR': 366,
'KEY_MHP': 367,
'KEY_LANGUAGE': 368,
'KEY_TITLE': 369,
'KEY_SUBTITLE': 370,
'KEY_ANGLE': 371,
'KEY_ZOOM': 372,
'KEY_MODE': 373,
'KEY_KEYBOARD': 374,
'KEY_SCREEN': 375,
'KEY_PC': 376,
'KEY_TV': 377,
'KEY_TV2': 378,
'KEY_VCR': 379,
'KEY_VCR2': 380,
'KEY_SAT': 381,
'KEY_SAT2': 382,
'KEY_CD': 383,
'KEY_TAPE': 384,
'KEY_RADIO': 385,
'KEY_TUNER': 386,
'KEY_PLAYER': 387,
'KEY_TEXT': 388,
'KEY_DVD': 389,
'KEY_AUX': 390,
'KEY_MP3': 391,
'KEY_AUDIO': 392,
'KEY_VIDEO': 393,
'KEY_DIRECTORY': 394,
'KEY_LIST': 395,
'KEY_MEMO': 396,
'KEY_CALENDAR': 397,
'KEY_RED': 398,
'KEY_GREEN': 399,
'KEY_YELLOW': 400,
'KEY_BLUE': 401,
'KEY_CHANNELUP': 402,
'KEY_CHANNELDOWN': 403,
'KEY_FIRST': 404,
'KEY_LAST': 405,
'KEY_AB': 406,
'KEY_NEXT': 407,
'KEY_RESTART': 408,
'KEY_SLOW': 409,
'KEY_SHUFFLE': 410,
'KEY_BREAK': 411,
'KEY_PREVIOUS': 412,
'KEY_DIGITS': 413,
'KEY_TEEN': 414,
'KEY_TWEN': 415,
'KEY_DEL_EOL': 448,
'KEY_DEL_EOS': 449,
'KEY_INS_LINE': 450,
'KEY_DEL_LINE': 451,
'KEY_ASCII': 510,
'KEY_MAX': 511,
'BTN_0': 256,
'BTN_1': 257}
Это так, пока просто для знакомства.
Скажем интересующая вас кнопка на пульте обозначена у вас как SLEEP и она у вас никак не задействована.
Нажимаем на нее при работающем ресе с имиджем на энигме2.
Если при нажатии ответный сенсор на морде ресивера загорелся, радуемся кнопка рабочая, не пустышка.
И если еще при этом на экране ТВ вы видите знак руки в прямоугольнике (UnhandledKey), то радуемся еще больше.
Имидж распознал нажатие кнопки и идентификационный ключ точно имеется в файле keyids
Теперь тупо путем перебора всех имеющихся ID из файла keyids будем узнавать нужный нам искомый ID.
Открываем файл keymap.xml из /usr/share/enigma2/ продвинутым редактором (можно прямо в окне DCC) и находим секцию InfobarActions к примеру он выглядит так:
<map context="InfobarActions">
<key id="KEY_VIDEO" mapto="showMovies" flags="b" />
<key id="KEY_RADIO" mapto="showRadio" flags="b" />
<key id="KEY_TV" mapto="showTv" flags="m" />
<key id="KEY_FILE" mapto="showMovies" flags="m" />
<key id="KEY_TEXT" mapto="showText" flags="m" />
</map>
И из файла keyids для начала подберем подозрительно похожий ID "KEY_SLEEP" (на нашу кнопку SLEEP) и прописываем эту кнопку в этот раздел с заведомо работающим действием "showMovies" (открывается окно списка фильмов), то есть вот так:
<map context="InfobarActions">
<key id="KEY_VIDEO" mapto="showMovies" flags="b" />
<key id="KEY_SLEEP" mapto="showMovies" flags="b" />
<key id="KEY_RADIO" mapto="showRadio" flags="b" />
<key id="KEY_TV" mapto="showTv" flags="m" />
<key id="KEY_FILE" mapto="showMovies" flags="m" />
<key id="KEY_TEXT" mapto="showText" flags="m" />
</map>
При редактировании файла не забудьте, что все отступы нужно сохранять как было!
И перегружаем энигму.
Если после перегрузки при нажатии кнопки SLEEP открылось окно списка фильмов, то все, искомое ID для этой кнопки найдено.
Если же опять рука в прямоугольнике, значит все не так просто, завод-изготовитель повесил на эту кнопку другой ID.
Вот теперь начинается самая трудоемкая работа.
Как видим в файле keyids около 300 ID и нам придется перебирать все.
Я делаю так. Беру 50 ID, ну например сначала, то есть от KEY_RESERVED до KEY_N и прописываю сразу же все 50 ключей в эту секцию кеймапа с тем же действием.
То есть вот так
<map context="InfobarActions">
<key id="KEY_VIDEO" mapto="showMovies" flags="b" />
<key id="KEY_RESERVED" mapto="showMovies" flags="b" />
<key id="KEY_ESC" mapto="showMovies" flags="b" />
<key id="KEY_1" mapto="showMovies" flags="b" />
<key id="KEY_2" mapto="showMovies" flags="b" />
<key id="KEY_3" mapto="showMovies" flags="b" />
<key id="KEY_4" mapto="showMovies" flags="b" />
<key id="KEY_5" mapto="showMovies" flags="b" />
<key id="KEY_6" mapto="showMovies" flags="b" />
<key id="KEY_7" mapto="showMovies" flags="b" />
<key id="KEY_8" mapto="showMovies" flags="b" />
<key id="KEY_9" mapto="showMovies" flags="b" />
<key id="KEY_0" mapto="showMovies" flags="b" />
<key id="KEY_MINUS" mapto="showMovies" flags="b" />
<key id="KEY_EQUAL" mapto="showMovies" flags="b" />
<key id="KEY_BACKSPACE" mapto="showMovies" flags="b" />
<key id="KEY_Q" mapto="showMovies" flags="b" />
<key id="KEY_W" mapto="showMovies" flags="b" />
<key id="KEY_E" mapto="showMovies" flags="b" />
<key id="KEY_R" mapto="showMovies" flags="b" />
<key id="KEY_T" mapto="showMovies" flags="b" />
<key id="KEY_Y" mapto="showMovies" flags="b" />
<key id="KEY_U" mapto="showMovies" flags="b" />
<key id="KEY_I" mapto="showMovies" flags="b" />
<key id="KEY_O" mapto="showMovies" flags="b" />
<key id="KEY_P" mapto="showMovies" flags="b" />
<key id="KEY_LEFTBRACE" mapto="showMovies" flags="b" />
<key id="KEY_RIGHTBRACE" mapto="showMovies" flags="b" />
<key id="KEY_ENTER" mapto="showMovies" flags="b" />
<key id="KEY_LEFTCTRL" mapto="showMovies" flags="b" />
<key id="KEY_A" mapto="showMovies" flags="b" />
<key id="KEY_S" mapto="showMovies" flags="b" />
<key id="KEY_D" mapto="showMovies" flags="b" />
<key id="KEY_F" mapto="showMovies" flags="b" />
<key id="KEY_G" mapto="showMovies" flags="b" />
<key id="KEY_H" mapto="showMovies" flags="b" />
<key id="KEY_J" mapto="showMovies" flags="b" />
<key id="KEY_K" mapto="showMovies" flags="b" />
<key id="KEY_L" mapto="showMovies" flags="b" />
<key id="KEY_SEMICOLON" mapto="showMovies" flags="b" />
<key id="KEY_APOSTROPHE" mapto="showMovies" flags="b" />
<key id="KEY_GRAVE" mapto="showMovies" flags="b" />
<key id="KEY_LEFTSHIFT" mapto="showMovies" flags="b" />
<key id="KEY_BACKSLASH" mapto="showMovies" flags="b" />
<key id="KEY_Z" mapto="showMovies" flags="b" />
<key id="KEY_X" mapto="showMovies" flags="b" />
<key id="KEY_C" mapto="showMovies" flags="b" />
<key id="KEY_V" mapto="showMovies" flags="b" />
<key id="KEY_B" mapto="showMovies" flags="b" />
<key id="KEY_N" mapto="showMovies" flags="b" />
<key id="KEY_M" mapto="showMovies" flags="b" />
<key id="KEY_RADIO" mapto="showRadio" flags="b" />
<key id="KEY_TV" mapto="showTv" flags="m" />
<key id="KEY_FILE" mapto="showMovies" flags="m" />
<key id="KEY_TEXT" mapto="showText" flags="m" />
</map>
Перегружаем энигму. Если после перегрузки снова не работает кнопка, просто удаляем эти добавленные нами 50 строк и добавляем следующие 50 из keyids
Если после перегрузки заработала кнопка, значит ее ID среди этих 50 претендентов и найти ее дело техники, то есть просто закомментируем например первые 25 из этих 50, вот так (ставя знак <!-- перед нужной строкой, и знак --> после нужной последней строки)
<map context="InfobarActions">
<key id="KEY_VIDEO" mapto="showMovies" flags="b" />
<!-- <key id="KEY_RESERVED" mapto="showMovies" flags="b" />
<key id="KEY_ESC" mapto="showMovies" flags="b" />
<key id="KEY_1" mapto="showMovies" flags="b" />
<key id="KEY_2" mapto="showMovies" flags="b" />
<key id="KEY_3" mapto="showMovies" flags="b" />
<key id="KEY_4" mapto="showMovies" flags="b" />
<key id="KEY_5" mapto="showMovies" flags="b" />
<key id="KEY_6" mapto="showMovies" flags="b" />
<key id="KEY_7" mapto="showMovies" flags="b" />
<key id="KEY_8" mapto="showMovies" flags="b" />
<key id="KEY_9" mapto="showMovies" flags="b" />
<key id="KEY_0" mapto="showMovies" flags="b" />
<key id="KEY_MINUS" mapto="showMovies" flags="b" />
<key id="KEY_EQUAL" mapto="showMovies" flags="b" />
<key id="KEY_BACKSPACE" mapto="showMovies" flags="b" />
<key id="KEY_Q" mapto="showMovies" flags="b" />
<key id="KEY_W" mapto="showMovies" flags="b" />
<key id="KEY_E" mapto="showMovies" flags="b" />
<key id="KEY_R" mapto="showMovies" flags="b" />
<key id="KEY_T" mapto="showMovies" flags="b" />
<key id="KEY_Y" mapto="showMovies" flags="b" />
<key id="KEY_U" mapto="showMovies" flags="b" />
<key id="KEY_I" mapto="showMovies" flags="b" />
<key id="KEY_O" mapto="showMovies" flags="b" />
<key id="KEY_P" mapto="showMovies" flags="b" /> -->
<key id="KEY_LEFTBRACE" mapto="showMovies" flags="b" />
<key id="KEY_RIGHTBRACE" mapto="showMovies" flags="b" />
<key id="KEY_ENTER" mapto="showMovies" flags="b" />
<key id="KEY_LEFTCTRL" mapto="showMovies" flags="b" />
<key id="KEY_A" mapto="showMovies" flags="b" />
<key id="KEY_S" mapto="showMovies" flags="b" />
<key id="KEY_D" mapto="showMovies" flags="b" />
<key id="KEY_F" mapto="showMovies" flags="b" />
<key id="KEY_G" mapto="showMovies" flags="b" />
<key id="KEY_H" mapto="showMovies" flags="b" />
<key id="KEY_J" mapto="showMovies" flags="b" />
<key id="KEY_K" mapto="showMovies" flags="b" />
<key id="KEY_L" mapto="showMovies" flags="b" />
<key id="KEY_SEMICOLON" mapto="showMovies" flags="b" />
<key id="KEY_APOSTROPHE" mapto="showMovies" flags="b" />
<key id="KEY_GRAVE" mapto="showMovies" flags="b" />
<key id="KEY_LEFTSHIFT" mapto="showMovies" flags="b" />
<key id="KEY_BACKSLASH" mapto="showMovies" flags="b" />
<key id="KEY_Z" mapto="showMovies" flags="b" />
<key id="KEY_X" mapto="showMovies" flags="b" />
<key id="KEY_C" mapto="showMovies" flags="b" />
<key id="KEY_V" mapto="showMovies" flags="b" />
<key id="KEY_B" mapto="showMovies" flags="b" />
<key id="KEY_N" mapto="showMovies" flags="b" />
<key id="KEY_M" mapto="showMovies" flags="b" />
<key id="KEY_RADIO" mapto="showRadio" flags="b" />
<key id="KEY_TV" mapto="showTv" flags="m" />
<key id="KEY_FILE" mapto="showMovies" flags="m" />
<key id="KEY_TEXT" mapto="showText" flags="m" />
</map>
Если снова кнопка работает, значит уже среди оставшихся незакомментированных, удаляем комментированные строчки а из оставших 25 снова половину комментируем и так далее, пока не останется одна нужная строчка.
И наоборот, если после перегрузки кнопка не работает, нужная строка среди закомментированных, остальные 25 удаляем, а из комментированных половину раскрмментируем и так далее....
Вот таким трудоемким способом пусть определяем ID каждой кнопки на пульте.....
Конечно я немного утрировал, многие ID можно сразу отбрасывать не проверяя, например кнопки цифровые "KEY_1" и т.д......
Возможно существует более быстрый способ, если кто знает пусть поделится......
Далее эти кнопки подвесим в плагин мультиквикбаттон...
Продолжение следует.....