我正在尝试将我与 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- 字符串.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-键盘映射.html
以下是包含外包 kcm 文件方式的信息:https ://developer.android.com/reference/android/hardware/input/InputManager.html#ACTION_QUERY_KEYBOARD_LAYOUTS
我有原始英式键盘的链接,以及如何书写的说明,以及我的布局的屏幕截图可见。如果需要,我可以添加它们。
请帮忙,缺乏简明的文档(严重的是,甚至有死链接)和缺乏仍在工作的例子意味着我在那里达到了我的极限。