Multilanguage Keymap Redefiner

Link to APK
Link to APK with fixed Android vulnerability

Почти 3 года назад купил себе smart-телевизор на Android — Supra STV-LC32S650WL. Тогда мне захотелось превратить его в игровую консоль с целью поиграть в старые игры на эмуляторе NES. Телевизор позволяет подключать два джойстика по USB, и я скачал самый популярный на тот момент эмулятор — Nesoid, чтобы проверить как всё это заработает. А заработало только с одним джойстиком — Nesoid при обработке нажатий привязывался к кодам клавиш, но не учитывал что одинаковые коды могут прийти с разных устройств. Так родилась идея сделать универсальный переопределятор клавиш, чтобы переопределить клавиши на одном из джойстиков и нормально играть сразу на двух.

Вместе с этим захотелось решить одну из проблем Android 4.0.3 — внешняя клавиатура при подключении к Android печатала только на английском. Существовало и существует несколько программ, которые позволяют обойти это ограничение, и печатать, например, на русском с переключением языков как в обычной операционной системе. Но не было такой, которая бы позволяла при этом удобно переопределять клавиши и пользоваться одновременно и внешней клавиатурой и экранной.
Так и родился этот комбайн — мультиязычный переопределятор клавиш MKR!

Много времени прошло с тех пор. Nesoid канул в лету за нарушение каких-то лицензий. Другие эмуляторы подтянулись и учитывают не только коды клавиш, но и устройства, с которых они приходят. Android научился работать с несколькими языками при подключении внешней клавиатуры прямо из коробки. Но не смотря на это программа продолжает использоваться узким кругом пользователей)

В ходе работы над программой были сделаны несколько обновлений, добавлены языки, исправлены некоторые баги, переработан интерфейс. Одно изучение диакритических символов чего стоило… открыл для себя особенности ввода с клавиатуры на разных языках.

На данный момент разработка остановлена. Последнее обновление было выпущено уже почти 2 года назад. Кто знает, может быть еще вернусь к ней, ведь предложения и пожелания продолжают сыпаться на почту…

Копипаста из Google Play [link]

У вас есть внешняя клавиатура, но она печатает только на английском?
Или на вашем устройстве ввода есть "мертвые" клавиши?
Или у вас есть джойстик, но он не работает в эмуляторах, таких, как Nesoid?
Multilanguage Keymap Redefiner может решить эти и другие проблемы.

Основные функции программы:
1) Печать с использованием внешней клавиатуры на более чем 10 языках(переключение между языками: Ctrl+Space)
2) Переопределение нажатых клавиш отдельно для каждого устройства, даже если устройства идентичны. Поддерживаются различные USB и Bluetooth устройства.
3) Переопределение "мертвых" клавиш
4) Имитация поведения стандартной экранной клавиатуры Android (LatinIME)
5) Вызов программ в один клик по клавише(опция включается в настройках)

Установка:
1) Скачать программу
2) Зайти в "Настройки->Язык и ввод". Отметить галочкой Multilanguage Keymap Redefiner.
3) Выбрать Multilanguage Keymap Redefiner клавиатурой по умолчанию

Если необходим ввод с клавиатуры с более чем одного языка(системного), выполняем следующие действия:
1) Заходим в свойства клавиатуры (нажимаем на эмблему с ползунками, в той же строке, где выбрали клавиатуру галочкой)
2) Далее в "Языки ввода"
3) Если стоит галочка напротив "Использовать язык системы", убираем ее
4) Выбираем языки, на которых хотим печатать

Для работы с функцией переопределения нужно назначить "Английский (США) - Multilanguage Keymap Redefiner" клавиатурой по умолчанию.

Поддерживаемые языки(кроме стандартного английского):
- Датский
- Немецкий
- Испанский
- Финский
- Французский
- Хорватский
- Иврит
- Норвежский букмол
- Польский
- Португальский
- Русский
- Сербский
- Шведский
- Турецкий
- Итальянский
- Венгерский

Переключение языка осуществляется клавишами Ctrl+Space.
Диакритические символы и AltGr символы поддерживаются.
В некоторых клавиатурах присутствует клавиша, которая находится между левым Shift и буквой Z. Она не поддерживается для иностранных языков.

Переопределение клавиш
Для этого необходимо:
1) Зайти в приложение Multilanguage Keymap Redefiner
2) Нажать на кнопку "Переопределить", а затем нажать клавишу на внешнем устройстве(клавиатуре, джойстике)
3) В появившемся выпадающем списке выбрать клавишу, которую необходимо имитировать
Для Nesoid используйте клавиши от A до Z. Так же не забудьте зайти в настройки Nesoid и выбрать "Other settings->Use input method".

Изменение печатаемых символов на поддерживаемых языках
Если вы используете внешнюю клавиатуру, но печатаемые символы не совпадают с вашим ожиданием, то можно подогнать клавиатуру "под себя".
Допустим, мы хотим чтобы при нажатии на клавишу "q" в русской раскладке печаталась буква "ъ", а не "й".
Для этого в директории "/sdcard/multilanguagekeymapredefiner/" находим файл "ru_language.xml"
Находим строку со значением from_code="113"(десятеричный код буквы "q" в Unicode) и меняем значение to_code на "ъ".
То же самое с заглавными буквами: Находим строчку с from_code="81" и меняем to_code на "Ъ".
После всех манипуляций перезагружаем телефон.
Если после перезагрузки изменений не произошло, а из файла пропали изменения, значит в файле были ошибки. Если их не видно, пишите мне на почту - помогу.

Привилегии
Некоторые пользователи интересуются, зачем программе нужна возможность считывать данные контактов. Эти данные нужны для полноценной имитации стандартной экранной клавиатуры. Она использует их для автоподстановки. В любом случае не беспокойтесь за сохранность своих данных, ведь программа не имеет привилегий передавать данные через интернет.

8 комментариев к “Multilanguage Keymap Redefiner”

  1. Dave Whitmore

    Do you know of any way or any one who can help me program the colored keys on the MX3 air mouse remote. I can not use the learning option because I dint have a working remote. I know the codes I want to program the keys for. Can you provide me with any assistance?
    Whtmdwhit@gmail.com
    .

  2. Any plans to get this working on the newest versions of Android?

    In 7.1, my physical keyboard device is there in the list, but the application can’t «hear» any keystrokes, so can’t remap them. I wanted to try and map keyboard strokes to gamepad buttons.

    Other applications that do similar jobs require root to emulate a real gamepad, was there some change that made your approach not work anymore?

  3. Пожалуйста, вернитесь к обновлению этого приложения, здесь так много людей, которые хотят обновления для этого приложения. Ваше приложение — единственное приложение на рынке, которое может читать, чтобы найти ключи для игровых эмуляторов, действительно есть широкая аудитория для этого, я думаю, причина в том, что ваше приложение не было в большом круге, потому что оно действительно не продавалось , У меня есть это приложение из магазина Google Play под названием swf Genie, потому что мне нравится играть в флеш-игру, но я знаю, что это ретро, ​​но по-прежнему забавно по какой-то причине ваше приложение не работает над этим программным обеспечением Genie, которое я не могу запомнить, но я думаю, один момент времени он сделал. Но в любом случае просто обновите приложение, потому что многие люди хотят, чтобы вы обновили приложение, потому что вы гений, который сделал это приложение, потому что вы поняли, что все разработчики этого не сделали. И я действительно хочу использовать ваше приложение, чтобы играть в флеш-игры и другие эмуляторы. Странная часть — это то, что я работаю в флеш-играх, когда вы на самом деле онлайн в интернет-браузере на Android. Я не знаю, может быть, это потому, что у моего Android есть аппаратное ограничение или что-то происходит, но, как я сказал, просто обновите это приложение, потому что все ждут. И, конечно же, я и куча других людей заплачу за обновление. Спасибо, я надеюсь, что вы получите эту почту.
    Pozhaluysta, vernites’ k obnovleniyu etogo prilozheniya, zdes’ tak mnogo lyudey, kotoryye khotyat obnovleniya dlya etogo prilozheniya. Vashe prilozheniye — yedinstvennoye prilozheniye na rynke, kotoroye mozhet chitat’, chtoby nayti klyuchi dlya igrovykh emulyatorov, deystvitel’no yest’ shirokaya auditoriya dlya etogo, ya dumayu, prichina v tom, chto vashe prilozheniye ne bylo v bol’shom kruge, potomu chto ono deystvitel’no ne prodavalos’ , U menya yest’ eto prilozheniye iz magazina Google Play pod nazvaniyem swf Genie, potomu chto mne nravitsya igrat’ v flesh-igru, no ya znayu, chto eto retro, ​​no po-prezhnemu zabavno po kakoy-to prichine vashe prilozheniye ne rabotayet nad etim programmnym obespecheniyem Genie, kotoroye ya ne mogu zapomnit’, no ya dumayu, odin moment vremeni on sdelal. No v lyubom sluchaye prosto obnovite prilozheniye, potomu chto mnogiye lyudi khotyat, chtoby vy obnovili prilozheniye, potomu chto vy geniy, kotoryy sdelal eto prilozheniye, potomu chto vy ponyali, chto vse razrabotchiki etogo ne sdelali. I ya deystvitel’no khochu ispol’zovat’ vashe prilozheniye, chtoby igrat’ v flesh-igry i drugiye emulyatory. Strannaya chast’ — eto to, chto ya rabotayu v flesh-igrakh, kogda vy na samom dele onlayn v internet-brauzere na Android. YA ne znayu, mozhet byt’, eto potomu, chto u moyego Android yest’ apparatnoye ogranicheniye ili chto-to proiskhodit, no, kak ya skazal, prosto obnovite eto prilozheniye, potomu chto vse zhdut. I, konechno zhe, ya i kucha drugikh lyudey zaplachu za obnovleniye. Spasibo, ya nadeyus’, chto vy poluchite etu pochtu.

    1. I have an idea to update it and make it compatible with new Android versions and make it opensource, but since the last update I simply have no time to do it, sorry.
      One day, this «busy» period of my life will gone and I will do it. Thank you for appreciating.

  4. I loved using this app on shield android tv. I used this app to remap L1/L2 buttons to rewind/forward on youtube app. It seems that this app is not working anymore after shield upgraded to oreo. Will you be developing this app anymore? Do u knoe any other alternatives?

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *