1

我正在尝试将我与 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

我有原始英式键盘的链接,以及如何书写的说明,以及我的布局的屏幕截图可见。如果需要,我可以添加它们。

请帮忙,缺乏简明的文档(严重的是,甚至有死链接)和缺乏仍在工作的例子意味着我在那里达到了我的极限。

4

0 回答 0