修改Remix OS适配Chromebook键盘

按照之前博客里方法在我的 Dell Chromebook 11 上捣鼓使用 ext4 格式 Remix OS U 盘一段时间之后发现对于 Chromebook 上的 Remix OS PC 版一个普遍存在的问题就是 Chromebook 特殊键盘按键功能在 Remix OS 上都不能正常工作了,这对于习惯了 Chrome OS 便利性的我来说还是略不爽的,因此想办法修改了 Remix OS 系统文件以适配 Chromebook 键盘,这里给 Chromebook 用户一个参考。

Chromebook 上的特殊按键包括最上面一排的功能按键和专用搜索键;
功能按键和普通 PC 机上的 F1 - F12 功能按键有点类似,包括专门为 Chrome OS 设计的前进、后退、全屏、显示亮度控制、音量控制 等按键;
有关 Chromebook 键盘的相关信息请参考 Google 官方帮助文档 Use your Chromebook keyboard

首先可以用 Crouton Linux 环境中的命令行 showkey 命令或者图形界面下的 xev 命令检查 Chromebook 上特殊按键的 scan code,确认之后发现:

直接运行 Remix OS 的话也可以安装 KeyEvent Display 这款 App 来确认 Chromebook 上按键的 scan code。

  • Chromebook 搜索键的 scan code 为:125
  • Chromebook 上面一排从后退键到提高音量键这些特殊功能键的 scan code 为:59 - 68
  • 特殊功能键的 scan code 和普通 PC 上的 F1 - F10 一致。

注意

不同 Chromebook 上特殊按键的 scan code 也有可能和上面的结果不同,我列出的结果适用于 Dell Chromebook 11 系列。

知道这些特殊按键的 scan code 之后就可以修改 Android keylayout 以适配 Chromebook 键盘,不过这一步需要修改 Remix OS PC 版 system 目录中的文件。如果你是按照我写的 Chromebook使用ext4 U盘运行Remix OS 文章中的方法安装的,那只要安装过程中启用了 system 目录的可写功能,那可以直接在 Remix OS(Remix OS 中直接修改需要开启 root 权限) 或者 Chrome OS 里修改还是很方便的。

如果你是用技德官方的工具烧写的 U 盘那会稍微麻烦点,需要在 Chromebook 等 Linux 系统中挂载 system 映像文件修改并重新打包,网上应该也能找到对应的教程,这里就不做详细介绍了。

修改 Remix OS 中的 /system/usr/keylayout/Generic.kl 文件,首先注释掉这些已有的行(Android 默认的键盘 scan code 到 key code 映射):

#key 59    F1
#key 60    F2
#key 61    F3
#key 62    F4
#key 63    F5
#key 64    F6
#key 65    F7
#key 66    F8
#key 67    F9
#key 68    F10
#key 125   META_LEFT

然后增加这些行:

key 59    MEDIA_PREVIOUS
key 60    MEDIA_NEXT
key 61    MEDIA_PLAY_PAUSE
key 62    MENU
key 63    APP_SWITCH
key 64    BRIGHTNESS_DOWN
key 65    BRIGHTNESS_UP
key 66    VOLUME_MUTE
key 67    VOLUME_DOWN
key 68    VOLUME_UP
key 125   CAPS_LOCK

这里分别简单解释下:

  • 59 - 后退键,改成了「上一个节目」键,改成 BACK 后退键等特殊键似乎会导致 Remix OS 下键盘输入有点问题,索性改成切换节目键可以配合各种音乐 App 方便切换歌曲;
  • 60 - 前进键,改成了「下一个节目」键;
  • 61 - 刷新键,改成了「播放/暂停」键,本来想改成 MEDIA_REWIND 也就是「倒回」键符合原来刷新键的意思,但测试后发现好多 App 不支持就算了;
  • 62 - 全屏键,改成了「菜单」键,Remix OS 下没有直接的全屏按键,这里就用做现在比较少用了的「菜单」键了,目前看起来只有手动退出手机 QQ 时有用 ^_^;
  • 63 - 切换窗口键,改成了「应用切换」键,类似 Android 原生的效果,和 Remix OS 自带的按 Alt+Tab 键切换应用效果稍微有点不一样;
  • 64 - 降低亮度键;
  • 65 - 提高亮度键;
  • 66 - 静音键;
  • 67 - 降低音量键;
  • 68 - 提高音量键;
  • 125 - 搜索键,改成了「大小写切换」键,因为发现现在 Android 下对原生搜索键支持的 App 太少(测试了只有 Chrome 支持),就改成了更常用的 Caps lock 键了,如果你想换成 Android 原生搜索键的话可以将值改为 SEARCH

修改之后重新启动 Remix OS 系统就可以看到这些特殊按键的效果了,这样起码能让 Chromebook 用的更顺利咯。如果文章中有任何问题欢迎提出指正哦,祝元宵节后玩的开心~~~





*