HomeАндроидРаскладка клавиатуры андроид: Скачать клавиатуры для андроид

Раскладка клавиатуры андроид: Скачать клавиатуры для андроид

Содержание

Как поменять раскладку клавиатуры на Андроид



Прежде всего, Вам необходимо определиться с тем, какие языки Вы хотите видеть в своем телефоне. По умолчанию на операционную систему Андроид устанавливается достаточно большое множество языков, которое, возможно, будет Вам абсолютно не нужным. Их можно удалить без лишних проблем и не боясь за то, что Вы потеряете их навсегда.

Для того, чтобы выбрать необходимые языки для набора, Вам нужно зайти в меню своего устройства и выбрать пункт «Настройки». Далее необходимо перейти в вкладку «Язык и клавиатура», а далее зайти в раздел «Настройки клавиатуры». В настройках клавиатуры нужно найти пункт под названием «Настройки целевой клавиатуры» (в некоторых устройствах этот пункт может называться иначе, но смысл будет в том, что это основная (целевая) клавиатура). Далее необходимо сделать свой выбор в пользу тех или иных языков, которые Вы хотите увидеть на своем устройстве при смене раскладки.

После того, как Вы выбрали требуемые языки, можете попробовать зайти в пункт «Сообщения» и проверить то, как работает раскладка клавиатуры.

Смена раскладки клавиатуры

При этом, чтобы сменить раскладку, Вам нужно либо найти специальную кнопку смены языка, либо провести по кнопке пробел скользящим движением пальца в левую сторону, либо в правую сторону. Помните о том, что на кнопке «пробел» обычно обозначается текущий язык раскладки клавиатуры.


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

К слову сказать, по умолчанию во многих устройствах с операционной системой Андроид, которые выпускаются для России по умолчанию можно выбрать только два языка: «Русский» и «Английский». Остальных языков может и не быть. В этом случае, если Вам нужен только русский язык, то Вы можете удалить английский язык из настроек и затем, если он Вам нужен, просто вернуть его обратно. Помните, что Вы никак не удалите сам язык из самого телефона. Как поменять раскладку клавиатуры на Андроид


 

Как поменять раскладку клавиатуры на андроиде?

АЗИАТСКАЯ КЛАВИАТУРАТак как в современном мире все больше распространяется изучение иностранных языков, у людей возникает необходимость в изменении своей клавиатуры, в том числе и на андроиде. Однако при этом следует знать основные принципы процесса. В данной же статье попробуем подробно их рассмотреть.

Содержание статьи

Как поменять раскладку

Для упрощения ниже представлен специальная последовательность действий, которая однозначно приведет пользователя к достижению цели:

  • Если вы являетесь обладателем android, то предварительно следует определиться с тем языком, которого вы желаете в дальнейшем видеть на личном оборудовании. Операционная система представляет довольно большое количество разновидностей, так что запросто найти нужный.
  • Итак, после выбора можно заходить непосредственно в меню собственного устройства, а потом отметить раздел «настройки».
  • Там же будет доступна вкладка под наименованием «язык и клавиатура» — именно ее надо выбрать. Кроме этого, в зависимости от модели сотового телефона название инструментов могут отличаться от других подобных. Так что вместо упомянутого параметра может быть написано «язык и ввод». Однако в любом случае они будут схожими.
  • Следующим этапом выступает переход в параметры самого инструмента, где можно обнаружить пункт «настройки целевой клавиатуры». В раскладке будет отображаться список возможных языков. Следовательно, из представленных следует выбрать необходимый для вас. Не забудьте отметить выбранные пункт с помощью нажатием галочки, иначе изменения не будут сохранены.
  • В завершение стоит перепроверить работоспособность. Осуществляется манипуляция за счет открытия сообщений.

СПРАВКА! Для того чтобы сменить надо однократно провести пальцем по клавише «пробел».

Таким образом, несмотря на установленные по умолчанию английский и русский раскладки, можно самостоятельно сменить на желаемую разновидность.

На какие языки можно переключать

айпад
Кроме стандартных вариантов, пользователю могут быть представлены следующие варианты:

  • Украинский;
  • Казахский;
  • Монгольский;
  • Испанский;
  • Французский;
  • Белорусский;
  • Португальский;
  • Узбекский;
  • Китайский;
  • Японский.

Конечно же, кроме выше названных представителей, возможен доступ и к иным языкам. Однако этот факт будет зависеть непосредственно от производителя вашего изобретения. Чаще всего можно найти наиболее распространенные виды. Если говорить о смене исключительно через раскладку, а не через настройки, то там будут представлены только те, что вы предварительно выбирали в меню.

Можно ли добавить свой язык?

РУССКО-АНГЛИЙСКАЯ РАСКЛАДКАЕсли же вы не нашли нужный язык, его можно скачать. Во встроенном play market каждый желающий имеет возможность найти любую разновидность. При этом не надо будет тратить денежные средства, так как файл находится в общем доступе. После скачивания надо будет распаковать ссылку, настроить предоставляемые параметры.

Далее надо будет проводить аналогичную последовательность действий, что представлена непосредственно выше в статье. То есть зайти в настройки, отметить тип. После чего на клавиатуре придется выбрать язык. В дальнейшем можно им пользоваться.

Подпишитесь на наши Социальные сети

Кастомизируем раскладку внешней клавиатуры на Android без root / Хабр

Мне нравится раскладка клавиатур на Mac: Cmd(Ctrl) под большим пальцем и возможность, без шаманства, прямо в настройках изменить поведение CapsLock. Такого же результата легко добиться в Linux с помощью setxkbmap в консоли или, например, gnome-tweak-tool в UI. Но что делать, если клавиатура подключается к Android?

В Android существует несколько способов кастомизировать внешнюю клавиатуру:

  1. Установка сторонней клавиатуры. Например, External Keyboard Helper.
  2. Правка/добавление kl или kcm файлов (требуется root). Как, например, в этом посте.
  3. Установка приложения, которое добавляет дополнительные клавиатурные раскладки.

Устанавливать стороннюю клавиатуру не хочется. Рутовать телефон — тоже. Остаётся третий вариант.

Вкратце пробежимся по основным понятиям со ссылками на документацию.

Key Layout файлы

Key layout (.kl) файлы отображают линуксовые коды клавиш (Linux Key Code), т.е. код, который производит конкретная клавиша на клавиатуре, на андродовские клавиши (Android  Key), т.е. TAB, ENTER или просто буква F. Отображение по-умолчанию можно посмотреть здесь. Узнать, какая клавиша на клавиатуре какой код производит, можно, например, с помощью Gamepad Tester.

Key Character Map файлы

Key Character Map (.kcm) файлы позволяют задать поведение для сочетания клавиш, а также нужны для добавления раскладок, отличных от English(US).

Дополнительные клавиатурные раскладки

Начиная с версии 4.1 в Android стало возможным устанавливать вместе с приложением дополнительные раскладки клавиатуры. После установки раскладки доступны в Settings -> Language & input -> Physical keyboard. Минус этого подхода в том, что раскладки неизменяемы, и нет возможности кастомизировать их «на лету».

Вот что я хочу получить для моей клавиатуры:

  • Esc вместо CapsLock.
  • Поменять Ctrl/Win/Alt на Win/Alt/Ctrl слева и Alt/PrintScreen/Ctrl на Ctrl/Alt/Ctrl справа.
  • Поменять переключение приложений с Alt+Tab на Ctrl+Tab.
  • Скриншот на Ctrl+Shift+3.
  • Переключение языков по Win+Space.
  • Поддержка английской и русской раскладок.

Описание проекта

Т.к. мои вкусы весьма специфичны (Ты же хочешь Ctrl вместо CapsLock, мой дорогой любитель Vim?), а раскладки неизменяемы «на лету», я не предоставляю готовый apk-файл. Вместо этого создан custom-keyboard-layout — проект основа для кастомизации раскладки внешней клавиатуры на Android.

Клонируем проект к себе

git clone [email protected]:ris58h/custom-keyboard-layout.git

Манифест приложения app/src/main/AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ris58h.custom_keyboard_layout">

    <application android:label="@string/app_name">
        <receiver
            android:name=".InputDeviceReceiver"
            android:label="@string/keyboard_layouts_label">
            <intent-filter>
                <action android:name="android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS" />
            </intent-filter>
            <meta-data
                android:name="android.hardware.input.metadata.KEYBOARD_LAYOUTS"
                android:resource="@xml/keyboard_layouts" />
        </receiver>
    </application>
</manifest>

Приложение состоит из одного reciever. Забавно, что само наличие класса с заданным именем (в нашем случае InputDeviceReceiver) не требуется — всё работает и без него, но имя мы задать обязаны. Этот reciever предоставляет список клавиатурных раскладок, хранящийся в app/src/main/res/xml/keyboard_layouts.xml:

<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="http://schemas.android.com/apk/res/android">
    <keyboard-layout
        android:name="keyboard_layout_en_us"
        android:keyboardLayout="@raw/keyboard_layout_en_us"
        android:label="@string/keyboard_layout_en_us_label" />
</keyboard-layouts>

В списке только одна раскладка — keyboard_layout_en_us.

Кастомизация файла раскладки

Файл раскладки app/src/main/res/raw/keyboard_layout_en_us.kcm состоит из одной строки, задающей тип раскладки:

type OVERLAY

Про этот тип ничего не сказано в документации, но опытным путём выяснено, что раскладка с таким типом по-умолчанию берёт значения из Generic.kcm. Т.е. мы уже получили английскую раскладку и всё что остаётся — это добавить наши правила.

Но сперва небольшое отступление про Key Layout файлы. Раскладки задаётся как kcm-файл, но для того чтобы поменять местами, например, Ctrl и Alt необходим kl-файл. Тут на помощь приходит ещё одна незадокументированная фича: с помощью команды map можно добавлять правила из kl-файла в kcm-файл.

Файл keyboard_layout_en_us.kcm с моими правилами:

type OVERLAY

map key 58  ESCAPE

map key 29  META_LEFT
map key 56  CTRL_LEFT
map key 125 ALT_LEFT

map key 99  ALT_RIGHT
map key 100 CTRL_RIGHT

key TAB {
    label:                              '\t'
    base:                               '\t'
    ctrl:                               fallback APP_SWITCH
}

key 3 {
    label:                              '3'
    base:                               '3'
    shift:                              '#'
    ctrl+shift:                         fallback SYSRQ
}

К сожалению, у меня не получилось задать переключение языков по Win+Space — такое правило просто не срабатывало.

Добавляем раскладку с другим языком

Для добавления раскладки другого языка, отличного от English(US), нужно сперва составить kcm-файл с раскладкой этого языка, затем добавить к нему наши правила. Взять готовый файл для своего языка можно отсюда. Берём keyboard_layout_russian.kcm, кладём в app/src/main/res/raw/ и, соответственно, добавляем ещё одну раскладку в app/src/main/res/xml/keyboard_layouts.xml:

<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="http://schemas.android.com/apk/res/android">
    <keyboard-layout
        android:name="keyboard_layout_en_us"
        android:keyboardLayout="@raw/keyboard_layout_en_us"
        android:label="@string/keyboard_layout_en_us_label" />
    <keyboard-layout
        android:name="keyboard_layout_ru"
        android:keyboardLayout="@raw/keyboard_layout_ru"
        android:label="@string/keyboard_layout_ru_label" />
</keyboard-layouts>

Не забываем добавить keyboard_layout_ru_label в app/src/main/res/values/strings.xml.

Теперь можно добавить наши правила, как в примере с английской раскладкой, но с небольшим изменением. В русской раскладке уже есть правило для ‘3’, поэтому нужно лишь изменить его, а не добавлять новое:

key 3 {
    label:                              '3'
    base:                               '3'
    shift:                              '\u2116'
    ralt:                               '#'
    ctrl+shift:                         fallback SYSRQ
}

Состояние проекта после этой кастомизации можно посмотреть в ветке Vendor_17ef_Product_6048.

Установка

Собираем и устанавливаем наше приложение. Проще всего это сделать с помощью Android Studio следуя официальной документации.

Если всё сделано правильно, то в Settings -> Language & input -> Physical keyboard появятся наши раскладки, а в списке приложений — Custom Keyboard Layout.

Кастомизация внешней клавиатуры без root возможна. Не все хотелки при этом достижимы: переключение языков по Win+Space так и не заработало, но это может быть проблемой прошивки.

Статья нарочно сделана краткой — все подробности можно найти по ссылкам.

Как добавить и переключить язык клавиатуры на Android, Xiaomi, Huawei и Honor

Современный смартфон – устройство, которое в силу обилия функций и настроек может оказаться сложным в освоении для новичков. Даже банальные задачи, такие как смена раскладки, иногда заставляют покопаться в настройках в поисках нужного пункта. Специально для неопытных пользователей мы подготовили инструкцию, в которой рассказали как поменять язык клавиатуры на старых и новых версиях Android, а также в MIUI на Xiaomi и в EMUI на Huawei и Honor.

добавить язык клавиатуры

На большинстве телефонов по умолчанию установлены один или два языка ввода: английский и язык системы, который владелец устройства выбирает во время первоначальной настройки ОС. Но часто возникает необходимость в использовании еще одного языка – это особенно актуально для жителей Украины, Республики Беларусь и других стран СНГ. Поэтому в этом мануале рассказано не только о способах смены раскладки клавиатуры, но и описан процесс добавления нового языка на разных версиях Android и прошивках.

Другие инструкции по настройке клавиатуры:

Как изменить раскладку клавиатуры на Android

Переключение языка при вводе текста осуществляется одним из следующих способов:

  • Свайп по пробелу. Если на пробеле отображаются стрелочки, раскладка клавиатуры переключается с помощью этой кнопки. Проведите по ней пальцем влево или вправо и язык ввода будет изменен.

ереключение языка клавиатуры свайпом по пробелу в swiftkey

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

кнопка смены языка gboard

  • Зажатие пробела. Зажмите пробел, после чего откроется всплывающее окно с выбором раскладки. Также из этого окна можно перейти на страницу, где настраиваются языки и способы ввода.

выбор раскладки gboard

В зависимости от версии Android и модели смартфона, доступность перечисленных способов может отличаться. К примеру, в MIUI на Xiaomi нет возможности выбрать язык свайпом. Зато такой метод используется на смартфонах Huawei, Honor и Samsung.

На телефонах с установленной клавиатурой Google (Gboard) язык ввода переключается с помощью кнопки в виде глобуса. Если такая кнопка не отображается, активируйте пункт «Показывать переключатель языков» в настройках клавиатуры.

Выбор языка в других клавиатурах, отличных от стандартных (например, в SwiftKey или TouchPal), выполняется примерно так же, но некоторые элементы интерфейса могут отличаться.

Как добавить язык на Android 5, 6, 7

На старых версиях Android (до 8.0) управление языками осуществляется в настройках в разделе «Язык и ввод». Здесь же можно поменять раскладку, а также переключиться на другую клавиатуру (но сначала ее нужно установить и включить). Для этого откройте пункт «Текущая клавиатура» и выберите нужный вариант.

выбор раскладки на android 5

Следующий пункт называется «Клавиатура Android». В нем собраны настройки, отвечающие за отключение виброотклика и звука нажатий клавиш, выбор темы, установку языков и др. Чтобы добавить новый язык ввода, выберите подпункт «Язык». Если активирован «Язык системы», выключите тумблер, после чего другие языки станут доступны для выбора. Отметьте нужные и выйдите назад.

настройки клавиатуры android 5

выбор языка клавиатуры

Как добавить язык на Android 8 и 9

В Android 8.0 и новее настройки клавиатуры находятся в разделе «Система». Зайдите в него и перейдите в подраздел «Язык и ввод».

раздел язык и ввод в настройках android

Далее откройте пункт «Виртуальная клавиатура» и выберите используемую клавиатуру. По умолчанию в Android 8 и 9 – это Gboard.

виртуальная клавиатура – gboard

Затем откройте пункт «Языки» и нажмите «Добавить клавиатуру».

добавление языка клавиатуры

Кликните на нужный язык, выберите раскладки, которые хотите использовать, и нажмите «Готово».

добавление раскладки клавиатуры

Чтобы изменить порядок вывода раскладок клавиатуры, в окне «Языки» кликните по иконке карандаша в правом верхнем углу. Удерживайте палец на кнопке справа от языка, чтобы его переместить, и выставите раскладки в нужной последовательности. Для сохранения изменений выйдите назад.

изменение порядка вывода языков

Второй способ добавить новую раскладку клавиатуры: задержите палец на кнопке пробела, во всплывающем окне нажмите клавишу «Языковые настройки», а затем – «Добавить клавиатуру». В появившемся списке, как и в предыдущем случае, необходимо выбрать нужную раскладку, подтвердив выбор кнопкой «Готово».

добавление языка в google keyboard

Также в настройки Gboard можно перейти кликнув на иконку шестеренок на клавиатуре.

перейти в настройки gboard

Как изменить язык клавиатуры в MIUI на Xiaomi

Чтобы изменить раскладку клавиатуры на смартфонах Xiaomi под управлением MIUI, зайдите в настройки, откройте пункт «Расширенные настройки», а далее – подпункт «Язык и ввод». В разделе «Способы ввода» выберите клавиатуру (стандартная в MIUI – Gboard). Затем откройте пункт «Языки». Нажмите «Добавить клавиатуру», а дальше в открывшемся списке найдите нужный язык. Кликните по нему, выберите одну или несколько раскладок и нажмите «Готово».

настройки клавиатуры на xiaomi

добавить раскладку клавиатуры в gboard на xiaomi

выбор новой раскладки в gboard

Добавить новую раскладку в Gboard можно и другим способом – о нем рассказано в предыдущем пункте инструкции. Там же описана настройка переключения языков.

Как поменять раскладку клавиатуры на Хуавей и Хонор

На смартфонах Huawei и Honor под управлением EMUI по умолчанию используется клавиатура SwiftKey. Добавить новый язык или сменить раскладку можно в ее настройках. Чтобы туда попасть, зайдите в приложение Настройки, перейдите в раздел «Система» и откройте пункт «Язык и ввод».

раздел язык и ввод в настройках emui

Выберите «Клавиатура SwiftKey» и откройте вкладку «Многоязычная».

настройки swiftkey

Раскройте список «Предустановленные языки» либо «Языки» и кликните по нужному языку, после чего начнется его загрузка. После завершения установки вы сможете выбрать одну из доступных раскладок.

установка языка клавиатуры в swiftkey

Менять порядок языков нельзя, зато можно отключить и удалить ненужные. Чтобы убрать определенный язык, деактивируйте тумблер напротив него, а чтобы удалить – удерживайте палец на языке и выберите «Удалить» во всплывающем окне.

удаление языка клавиатуры в swiftkey

Перейти к выбору раскладки можно и через меню клавиатуры. Для этого откройте любое приложение, в котором можно вводить текст (почтовый клиент, браузер, меcсенджер и т.д.), и кликните по текстовому полю, тем самым раскрыв клавиатуру. Если меню скрыто, нажмите на «+». Пролистайте список до иконки клавиатуры и щелкните по ней, после чего сможете выбрать одну из доступных раскладок.

выбор раскладки клавиатуры swiftkey

Также вход в настройки SwiftKey осуществляется через меню клавиатуры. Кликните по иконке шестеренок, чтобы раскрыть список основных опций, а чтобы запустить приложение SwiftKey, щелкните по значку в правом углу.

вход в настройки приложения swiftkey

Если в прошивке нет русского языка

Эта инструкция предназначена для владельцев смартфонов, чьи устройства официально локализованы для европейских стран. В китайских моделях, с прошивками под рынок КНР, сервисы Google часто отсутствуют. В них может не быть русской, украинской и других раскладок, только иероглифы и латиница. В таких случаях необходимо скачать Gboard и проделать манипуляции, описанные выше.

Кастомизируем раскладку внешней клавиатуры на Android без root / Habr

Мне нравится раскладка клавиатур на Mac: Cmd(Ctrl) под большим пальцем и возможность, без шаманства, прямо в настройках изменить поведение CapsLock. Такого же результата легко добиться в Linux с помощью setxkbmap в консоли или, например, gnome-tweak-tool в UI. Но что делать, если клавиатура подключается к Android?

В Android существует несколько способов кастомизировать внешнюю клавиатуру:

  1. Установка сторонней клавиатуры. Например, External Keyboard Helper.
  2. Правка/добавление kl или kcm файлов (требуется root). Как, например, в этом посте.
  3. Установка приложения, которое добавляет дополнительные клавиатурные раскладки.

Устанавливать стороннюю клавиатуру не хочется. Рутовать телефон — тоже. Остаётся третий вариант.

Вкратце пробежимся по основным понятиям со ссылками на документацию.

Key Layout файлы

Key layout (.kl) файлы отображают линуксовые коды клавиш (Linux Key Code), т.е. код, который производит конкретная клавиша на клавиатуре, на андродовские клавиши (Android  Key), т.е. TAB, ENTER или просто буква F. Отображение по-умолчанию можно посмотреть здесь. Узнать, какая клавиша на клавиатуре какой код производит, можно, например, с помощью Gamepad Tester.

Key Character Map файлы

Key Character Map (.kcm) файлы позволяют задать поведение для сочетания клавиш, а также нужны для добавления раскладок, отличных от English(US).

Дополнительные клавиатурные раскладки

Начиная с версии 4.1 в Android стало возможным устанавливать вместе с приложением дополнительные раскладки клавиатуры. После установки раскладки доступны в Settings -> Language & input -> Physical keyboard. Минус этого подхода в том, что раскладки неизменяемы, и нет возможности кастомизировать их «на лету».

Вот что я хочу получить для моей клавиатуры:

  • Esc вместо CapsLock.
  • Поменять Ctrl/Win/Alt на Win/Alt/Ctrl слева и Alt/PrintScreen/Ctrl на Ctrl/Alt/Ctrl справа.
  • Поменять переключение приложений с Alt+Tab на Ctrl+Tab.
  • Скриншот на Ctrl+Shift+3.
  • Переключение языков по Win+Space.
  • Поддержка английской и русской раскладок.

Описание проекта

Т.к. мои вкусы весьма специфичны (Ты же хочешь Ctrl вместо CapsLock, мой дорогой любитель Vim?), а раскладки неизменяемы «на лету», я не предоставляю готовый apk-файл. Вместо этого создан custom-keyboard-layout — проект основа для кастомизации раскладки внешней клавиатуры на Android.

Клонируем проект к себе

git clone [email protected]:ris58h/custom-keyboard-layout.git

Манифест приложения app/src/main/AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ris58h.custom_keyboard_layout">

    <application android:label="@string/app_name">
        <receiver
            android:name=".InputDeviceReceiver"
            android:label="@string/keyboard_layouts_label">
            <intent-filter>
                <action android:name="android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS" />
            </intent-filter>
            <meta-data
                android:name="android.hardware.input.metadata.KEYBOARD_LAYOUTS"
                android:resource="@xml/keyboard_layouts" />
        </receiver>
    </application>
</manifest>

Приложение состоит из одного reciever. Забавно, что само наличие класса с заданным именем (в нашем случае InputDeviceReceiver) не требуется — всё работает и без него, но имя мы задать обязаны. Этот reciever предоставляет список клавиатурных раскладок, хранящийся в app/src/main/res/xml/keyboard_layouts.xml:

<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="http://schemas.android.com/apk/res/android">
    <keyboard-layout
        android:name="keyboard_layout_en_us"
        android:keyboardLayout="@raw/keyboard_layout_en_us"
        android:label="@string/keyboard_layout_en_us_label" />
</keyboard-layouts>

В списке только одна раскладка — keyboard_layout_en_us.

Кастомизация файла раскладки

Файл раскладки app/src/main/res/raw/keyboard_layout_en_us.kcm состоит из одной строки, задающей тип раскладки:

type OVERLAY

Про этот тип ничего не сказано в документации, но опытным путём выяснено, что раскладка с таким типом по-умолчанию берёт значения из Generic.kcm. Т.е. мы уже получили английскую раскладку и всё что остаётся — это добавить наши правила.

Но сперва небольшое отступление про Key Layout файлы. Раскладки задаётся как kcm-файл, но для того чтобы поменять местами, например, Ctrl и Alt необходим kl-файл. Тут на помощь приходит ещё одна незадокументированная фича: с помощью команды map можно добавлять правила из kl-файла в kcm-файл.

Файл keyboard_layout_en_us.kcm с моими правилами:

type OVERLAY

map key 58  ESCAPE

map key 29  META_LEFT
map key 56  CTRL_LEFT
map key 125 ALT_LEFT

map key 99  ALT_RIGHT
map key 100 CTRL_RIGHT

key TAB {
    label:                              '\t'
    base:                               '\t'
    ctrl:                               fallback APP_SWITCH
}

key 3 {
    label:                              '3'
    base:                               '3'
    shift:                              '#'
    ctrl+shift:                         fallback SYSRQ
}

К сожалению, у меня не получилось задать переключение языков по Win+Space — такое правило просто не срабатывало.

Добавляем раскладку с другим языком

Для добавления раскладки другого языка, отличного от English(US), нужно сперва составить kcm-файл с раскладкой этого языка, затем добавить к нему наши правила. Взять готовый файл для своего языка можно отсюда. Берём keyboard_layout_russian.kcm, кладём в app/src/main/res/raw/ и, соответственно, добавляем ещё одну раскладку в app/src/main/res/xml/keyboard_layouts.xml:

<?xml version="1.0" encoding="utf-8"?>
<keyboard-layouts xmlns:android="http://schemas.android.com/apk/res/android">
    <keyboard-layout
        android:name="keyboard_layout_en_us"
        android:keyboardLayout="@raw/keyboard_layout_en_us"
        android:label="@string/keyboard_layout_en_us_label" />
    <keyboard-layout
        android:name="keyboard_layout_ru"
        android:keyboardLayout="@raw/keyboard_layout_ru"
        android:label="@string/keyboard_layout_ru_label" />
</keyboard-layouts>

Не забываем добавить keyboard_layout_ru_label в app/src/main/res/values/strings.xml.

Теперь можно добавить наши правила, как в примере с английской раскладкой, но с небольшим изменением. В русской раскладке уже есть правило для ‘3’, поэтому нужно лишь изменить его, а не добавлять новое:

key 3 {
    label:                              '3'
    base:                               '3'
    shift:                              '\u2116'
    ralt:                               '#'
    ctrl+shift:                         fallback SYSRQ
}

Состояние проекта после этой кастомизации можно посмотреть в ветке Vendor_17ef_Product_6048.

Установка

Собираем и устанавливаем наше приложение. Проще всего это сделать с помощью Android Studio следуя официальной документации.

Если всё сделано правильно, то в Settings -> Language & input -> Physical keyboard появятся наши раскладки, а в списке приложений — Custom Keyboard Layout.

Кастомизация внешней клавиатуры без root возможна. Не все хотелки при этом достижимы: переключение языков по Win+Space так и не заработало, но это может быть проблемой прошивки.

Статья нарочно сделана краткой — все подробности можно найти по ссылкам.

Как поменять язык клавиатуры на Андроиде?

Как правило, на клавиатуре смартфонов используется две основные раскладки — английский язык и язык интерфейса, то есть в нашем примере это русский язык. Допустим, вы пользуетесь русской раскладкой и понадобилось что-то написать на английском. Вопрос — как переключить язык на клавиатуре телефона?

Это зависит от клавиатуры, которая используется на вашем смартфоне. К примеру, на клавиатуре SwiftKey используется свайп по пробелу, то есть вы должны провести по нему пальцем слева направо или справа налево.

Если все сделано верно, раскладка изменится.

На некоторых других клавиатурах для смены раскладки вы можете найти отдельную кнопку. Таковая есть на Gboard.

Нажали и раскладка поменялась.

Чтобы изменить или добавить языки в раскладку, зайдите в «Настройки».

Найдите раздел «Язык и ввод».

Можно через поиск.

Нажмите на строку с текущей клавиатурой.

Выберите «Языки».

По кнопке «Добавить клавиатуру» вы сможете добавить раскладку.

А если нажать на карандаш, сможете отредактировать раскладки.

В общем, не так уж и сложно, если знать, куда нажимать.

android — Как настроить раскладку при появлении мягкой клавиатуры

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.Пользовательская цифровая клавиатура

Android — qaru

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

Добавить комментарий

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