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
У меня есть ссылка на оригинальную британскую клавиатуру, инструкция по написанию текста и снимок экрана с моим макетом. Я могу добавить их по запросу.
Пожалуйста, помогите, отсутствие краткой документации (серьезно, есть даже мертвая ссылка) и отсутствие все еще работающего примера означают, что я нахожусь на своем пределе там.