Featured image of post 按键如飞,将数字键盘、方向键整合进主键区

按键如飞,将数字键盘、方向键整合进主键区

对 HHKB 英文布局下的按键配置方案进行了研究,将数字键盘、多媒体功能键、鼠标操作键融入进了改键方案中。

引言

HHKB-Pro-2-default-layout

如上图,HHKB 英文布局下的默认键盘方案相比 108 键键位的键盘缺少数字小键盘和前后左右移动键。本文通过改键,可以使用组合键等方式实现数字小键盘和控制键的功能,并且还额外实现了使用键盘操作鼠标的功能。

要实现文中描述的改键方案需要替换 HHKB 键盘的主控,本文使用 vial-qmk 固件实现改键,其他固件或者其他使用 HHKB 英文布局的客制化键盘也可以按照文中的描述自行进行类似的改键。

文中的改键方案仅对原版按键的键位布局进行了少量修改,数字键盘、鼠标操作键等都是额外增加的按键功能。而且新增的按键尽量使双手不会大幅离开标准键位指法(即双手食指放在 F、J 上),前后左右移动键和 vim 的移动键相同。

键盘布局

Layer 0

  • 图示

SCR-20241013-nrro

默认层,从本层可以进入其他功能层。

  • 按键说明
图中按键说明
MO(3)临时开启 Layer 3 层。按住该键的同时,按下 Layer 3 层的按键可执行相应的功能。
LT 2临时开启 Layer 2 层。按住该键的同时,按下 Layer 2 层的按键可执行相应的功能。单击该键输出数字 3;按住 Shift 键的同时,按下该键输出字符 #
LT 4临时开启 Layer 4 层。按住该键的同时,按下 Layer 4 层的按键可执行相应的功能。单击该键输出制表符 Tab
VI切换 vim 模式的开关状态。vim 模式开启后,可以实现与 vim 类似的增、删、移动等操作,详情见 qmk-vim

Layer 1

  • 图示

SCR-20241013-nryj

HHKB 原版按键的键位布局。

  • 按键说明
图中按键说明
MO(3)临时开启 Layer 3 层。按住该键的同时,按下 Layer 3 层的按键可执行相应的功能。

Layer 2

  • 图示

SCR-20241013-nsdx

数字键盘按键的功能层,也可以进行鼠标操作。

  • 按键说明
图中按键说明
TG(2)切换 Layer 2 层的开关状态。开启 Layer 2 层后,按下 Layer 2 层的按键可执行相应的功能。
Mouse 1鼠标左键。
Mouse 2鼠标右键。
Mouse 3鼠标中键。
Mouse 4鼠标侧键后退键。
Mouse 5鼠标侧键前进键。
Mouse Accel 0鼠标移动速度慢。
Mouse Accel 1鼠标移动速度中。
Mouse Accel 2鼠标移动速度快。

Layer 3

  • 图示

SCR-20241014-paod

Fn 功能按键层。

  • 按键说明
图中按键说明
DF(0)将 Layer 0 层设置为默认层。
DF(1)将 Layer 1 层设置为默认层。
TG(2)切换 Layer 2 层的开关状态。开启 Layer 2 层后,按下 Layer 2 层的按键可执行相应的功能。
TG(5)切换 Layer 5 层的开关状态。开启 Layer 5 层后,按下 Layer 5 层的按键可执行相应的功能。
VI_M/W切换 vim 模式的适配方式,使得 vim 模式适配 macOS 系统或者 Windows 系统。详情见 qmk-vim
BT/USB蓝牙与USB切换(对应快捷键:LShift + RShift + U)。
BAT%用文字输出电量(快捷键:LShift + RShift + V)。
I_USB切换内置USB电源开关。
LOCK锁定模式。按下后立即关闭蓝牙并且键盘节能,只有同时按下 F 和 J 或者重插 USB 才能唤醒。适合不关开关直接放包里。
RESET单按清除键盘按键状态,和 LCtrl 一起按时则进入刷机模式。

Layer 4

  • 图示

SCR-20241014-pari

浏览器、文本编辑器进行快速移动(如前后左右、翻页、滚动到文末、滚动到开头等)的按键层。

  • 按键说明
图中按键说明
Mouse 4鼠标侧键后退键。
Mouse 5鼠标侧键前进键。

Layer 5

  • 图示

SCR-20241014-paxg

鼠标操作的按键层。

  • 按键说明
图中按键说明
TG(5)切换 Layer 5 层的开关状态。开启 Layer 5 层后,按下 Layer 5 层的按键可执行相应的功能。
Mouse 1鼠标左键。
Mouse 2鼠标右键。
Mouse 3鼠标中键。
Mouse 4鼠标侧键后退键。
Mouse 5鼠标侧键前进键。
Mouse Accel 0鼠标移动速度慢。
Mouse Accel 1鼠标移动速度中。
Mouse Accel 2鼠标移动速度快。

功能实现

本章节所述的按键是指 HHKB 键盘上刻印的按键字符。

与原版布局相比不同的按键

功能按键
输出字符 ~Shift + Esc
输出字符 `Fn + Esc
持续输出制表符 Tab双击并保持长按 Tab 键
持续输出数字 3双击并保持长按数字 3 键

与原版布局相比增加的按键

数字小键盘功能

  • 临时开启的方式

长按数字 3 键,同时按下 Layer 2 层的按键可执行相应的功能。

  • 持续开启的方式

按下 Fn + 右 Shift 键后会开启 Layer 2 层,然后按下 Layer 2 层的按键可执行相应的功能。按 Esc 键关闭 Layer 2 层。

按键控制移动的功能

长按 Tab 键,同时按下 Layer 4 层的按键可执行相应的功能(可在文本编辑器中前后左右快速移动)。

按键控制鼠标的功能

  • 左手移动、右手点击

按下 Fn + 右 Shift 键后会开启 Layer 2 层,然后按下 Layer 2 层的按键可执行相应的功能。按 Esc 键关闭 Layer 2 层。

  • 左手点击、右手移动

按下 Fn + Space 空格键后会开启 Layer 5 层,然后按下 Layer 5 层的按键可执行相应的功能。按 Esc 键关闭 Layer 5 层。

HHKB 原版按键的功能

按下 Fn + 左 Command 键后会将 Layer 1 层设置为默认层,此时为 HHKB 原版按键功能。

按下 Fn + 左 Alt 键后会将 Layer 0 层设置为默认层,此时为改键后的按键功能。

vim 模式

按下 ` 键后会开启 vim 模式(此时橘黄色指示灯会持续闪烁),可以实现与 vim 类似的增、删、移动等操作,详情见 qmk-vim。再次按下 ` 键后会关闭 vim 模式。

按下 Fn + Delete 键后会切换 vim 模式的适配方式,使得 vim 模式适配 macOS 系统或者 Windows 系统(适配 Windows 系统时红色指示灯会持续闪烁)。

固件及 Vial layout

文中 HHKB 的主控使用了 YANG 设计的 HHKB BLE Mod,固件采用了 YANG 提供的 源码 加上 qmk-vim 模块自行编译而成。

不想自行编译固件的话,这里提供我自己编译的固件 HHKB_BLE.BIN。下载固件后,按照 此文 描述进行刷机。本地下载安装软件 Vial 后,可以导入 Vial layout 配置文件 来更新成本文描述的键位方案。

YANG 也在 此文 中提供了适用于 HHKB BLE Mod 的 Vial 固件,但是该固件最多能添加 4 层 Layer,需要删减本文中提供的按键功能,而且该固件没有编译进 qmk-vim 模块,不能实现与 vim 类似的增、删、移动等操作。

参考资料

  1. HHKB BLE Mod.(2024-03-25)[2024-10-15].https://ydkb.io/help/#/keyboards/hhkb-ble?id=hhkb-ble-mod

  2. VIA / Vial 固件更新.(2024-10-01)[2024-10-15].https://ydkb.io/help/#/other-firmware/vial

  3. yangdigi / vial-qmk.(2024-10-01)[2024-10-15].https://github.com/yangdigi/vial-qmk

  4. andrewjrae / qmk-vim.(2024-01-08)[2024-10-15].https://github.com/andrewjrae/qmk-vim

  5. Vial user manual.(2024-10-13)[2024-10-15].https://get.vial.today/manual/

使用 Hugo 构建
主题 StackJimmy 设计