Android: без изменений в макете при использовании персонализированной раскладки клавиш

Я пытаюсь изменить раскладку клавиатуры Bluetooth, которую я использую на своем планшете Android, на французскую канадскую клавиатуру (не на многоязычную, кстати). После долгих поисков я наконец нашел устаревшее приложение для добавления британской раскладки ключей, которое я попытался адаптировать для своих целей. Приложение компилируется в Android Studio, и я даже могу выбрать его в настройках, но... Это не влияет на вывод. Кстати, британский макет, включенный в Android, действительно меняет вывод. Вот весь мой код, так как он довольно короткий:

1- AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.nt6.frcankeyboard"
      android:versionCode="001"
      android:versionName="0.1">

 <!-- API level 16 is needed for KEYBOARD_LAYOUTS etc. -->

    <!-- by default touchscreen is required by Android apps, we don't need one -->
 <uses-feature android:name="android.hardware.touchscreen" android:required="false" />

    <application android:label="@string/app_name"
        android:allowBackup="false">

<!-- keyboard -->

 <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>

2- string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">French Canadian Keyboard Layouts</string>
    <string name="keyboard_layouts_label">nt6\'s Extra Layouts</string>
    <string name="keyboard_layout_french_can_label">French (Can)</string>
</resources>

3- 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_french_can"
             android:label="@string/keyboard_layout_french_can_label"
             android:keyboardLayout="@raw/keyboard_layout_french_can" />
</keyboard-layouts>

4- keyboard_layout_french_can.kcm: https://pastebin.com/xUrhcCjn

Вот ссылка на инструкцию по компиляции инструмента для тестирования файла kcm. Я не могу использовать его, поскольку дерево исходных кодов Android слишком велико для моего жесткого диска (я пытался загрузить его чуть более 4 дней): https://source.android.com/devices/input/validate-keymaps.html

Вот информация о том, как включить внешний файл kcm: https://developer.android.com/reference/android/hardware/input/InputManager.html

У меня есть ссылка на оригинальную британскую клавиатуру, инструкция по написанию текста и снимок экрана с моим макетом. Я могу добавить их по запросу.

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

0 ответов

Другие вопросы по тегам