Comments 10
Круто, сам долго искал способ как наладить работу клавиатуры на русском и английском. Пока что остановился на приложении free physical keyboard.
Моя клавиатура содержит кучу доп. клавиш, интересно, можно ли их как-то тоже настроить таким способом?
1. Выяснить какие коды (Linux key codes) производят эти клавиши. Для этого есть несколько приложений. Я использовал Gamepad Tester.
2. Назначить этим кодам соответствующие андроидовские клавиши (Android key). Тут есть список по-умолчанию в формате key LINUX_KEY_CODE ANDROID_KEY. Назначать их нужно в kcm-файле (т.к. дополнительные раскладки задаются с его помощью) в формате map key LINUX_KEY_CODE ANDROID_KEY.
Замечательно, что находятся такие люди, которым не все равно. Печален тот факт, что возможности скованы самоограничением в использовании рута. Хотя так иногда даже интереснее…
Реквестирую свои хотелки по клавиатуре:
- Хотелось бы переключать язык раскладки не только Alt+Space, а ещё иметь горячую клавишу (например правый Alt), которая меняет раскладку на время нажатия этой клавиши, соответственно, при отпускании её язык раскладки возвращался обратно. Это очень удобно, когда работаешь всего двумя языками.
- Хотелось бы чтобы когда клавиатура пребывает в состоянии русского языка, горел индикатор CapsLock. Из продвинутых пользователей этой функцией все равно мало кто пользуется, у многих линуксоидов действие по клавише CapsLock переназначено на что-то более полезное.
- Также хочется назначать
доп.функциисвои коды на длительное нажатие клавиш (комбинаций клавиш). Это способствует более быстрому запоминанию и привыканию к более ужатым (и без того огромным) спискам комбинаций хоткеев.
2. Насчёт LED не знаю. Есть небольшое упоминание в документации и список led в Generic.kl файле. Надо разбираться.
3. Про длительность нажатия в документации ни слова не видел. Такие вещи уже приложения обрабатывать должны, как мне кажется. Возможно, самописная клавиатура будет решением.
Я раньше и сам не думал что длительное нажатие комбинации вообще нужно. Так было пока в руки не попал ноут с клавиатурой, где ряд клавиш с F1-F12 совмещен с рядом клавиш TILDA 0-9 + — BKSP. И к обычным привычным комбинациям приходится добавлять клавишу FN.
Возможно, у разработчиков этой клавиатуры по 6 пальцев на руке… но, вероятнее всего, это тренд. Против моды идти бесполезно.
![image](https://habrastorage.org/getpro/habr/comment_images/698/457/dcc/698457dcc5ab9988e2479e306f10414a.jpg)
Проект — основа для кастомизации. Можете себе туда добавить всё что хотите. Русские символы по ralt добавить не сложно. Нужно поправить правила в английском kcm-файле, добавив поведение при зажатом ralt для каждого символа.
Проблема с другим символом по долгому нажатию в том, что его сложно отделить от случая, когда пользователь хочет ввести один и тот же символ несколько раз подряд. Например, АААААААААААААААААААА. Такое либо на програмном уровне должно обрабатываться (сторонняя программная клавиатура), либо на уровне самой физической клавиатуры (какая-нибудь моднейшая перепрошиваемая клавиатура).
Я не думаю что это большая проблема отличить хочу ли я повторного нажатия, наример, комбинации Ctrl+Shift+Win+F3 или я имел в виду, например, комбинацию Ctrl+Shift+Win+Alt+F3, которая будет прописана на длительное нажатие Ctrl+Shift+Win+F3.
Если говорить о предсказывании пользовательских действий, стоит упомянуть, что наэкранная клавиатура андройда неплохо исправляет очепятки. По моему мнению, это реализовать куда сложнее, чем реализация пользовательского списка длительных комбинаций клавиш.
Это просто мысли вслух. Ни в коем случаем не подумайте, что прошу вас реализовать это. Мне просто тоже интересна эта тема. Очень люблю копать исходники AOSP.
Ничего не могу сказать насчёт наэкранной клавиатуры. Раскладки из статьи для физической работают и выбираются они в настройках физической клавиатуры.
А что с xml непонятно?
А теперь посмотрим что там в ветке master у AOSP. Где тут можно добавить/убрать клавишу?
Кастомизируем раскладку внешней клавиатуры на Android без root