跳转到内容

使用触控板

带 Cirque 触控板的 Ferris Sweep Pro 可以在键盘上完成光标移动、点击、滚动和基础拖拽操作,不必频繁把手移到外置鼠标上。

Ferris Sweep Pro 触控板

操作使用方式
移动光标在触控板上单指滑动。
左键单击在触控板任意区域轻点一次。
双击快速轻点两次。
右键单击点击触控板右下区域。
右边缘垂直滚动沿触控板右边缘上下滑动。
按住滚动按住 Z 后在触控板上移动。按住期间,原本的光标移动会变成滚轮事件:横向移动发送横向滚轮,纵向移动发送垂直滚轮。
右边缘横向滚动按住 Z 后再使用右边缘滚动手势。按住 Z 时,Sweep Pro 会把 Cirque 原生右边缘滚轮转换成横向滚轮事件。
应用层横向滚动有些桌面应用会把 Shift + 垂直滚轮理解成横向滚动。这是应用或操作系统行为,不是触控板固件在转换滚轮轴。
X 按住左键轻按 X 仍然输入字符,按住 X 是鼠标左键,适合不切层时做拖拽选择。
鼠标点击 combo同时按 D + F 是左键,E + R 是右键,C + V 是中键。这些 combo 使用较短的 25 ms timeout,降低正常打字时误触发的概率。
浏览器前进/后退 combo同时按 F + G 是浏览器后退(MB4),R + T 是浏览器前进(MB5)。

Z 轻按时仍然输入普通字符,只有按住时才启用 drag-scroll。X 轻按时输入普通字符,按住时变成鼠标左键。

当前 Sweep Pro 固件会让 Cirque 控制器以绝对模式启动:

data-mode = "absolute";

鼠标层里的 Mode 键会执行 &crq_mode CIRQUE_MODE_TOGGLE,用于在相对模式和绝对模式之间运行时切换。切换时最好先让手指离开触控板,这样手感切换更干净。

模式实际手感Sweep Pro 行为
绝对模式驱动读取手指绝对坐标,再转换回 REL_X/Y 光标移动。这是启动默认模式,固件可以更细地控制手势阈值。支持软件轻点检测、右下角右键区域、轻点拖拽、右边缘垂直滚动、边缘持续移动、按住 Z 滚动、运行时指针速度和滚动速度调节。
相对模式Cirque 芯片直接输出类似鼠标的相对移动数据。支持光标移动、轻点按键、原生右边缘垂直滚动、GlideExtend、按住 Z 滚动、运行时指针速度和滚动速度调节。

默认绝对模式更适合需要可调软件手势层的场景,尤其是轻点拖拽和边缘持续移动。想使用 Cirque 芯片原生相对数据和 GlideExtend 时,可以切到相对模式。若按下 Mode 后觉得光标手感不符合预期,再按一次 Mode 即可切回。

如果需要更明确的鼠标按键和速度控制,可以切换到鼠标层:

  1. 按住左拇指 Tab 层键。
  2. Space 切换到鼠标层。
  3. QP 退出鼠标层。

Ferris Sweep Pro 鼠标层

在鼠标层中:

  • MB4MB5 对应浏览器后退和前进。
  • MCLKLCLKRCLK 分别对应鼠标中键、左键和右键。
  • 方向类鼠标键可以直接移动光标或发送滚轮事件,不依赖触控板。
  • Z / X0.01x 为步进降低/提高指针速度,按住可以快速连续调节。
  • C / V0.01x 为步进降低/提高滚动速度,按住可以快速连续调节。
  • 左侧旋钮用于粗调指针速度,按下回到 1.00x
  • 右侧旋钮用于粗调滚动速度,按下回到 1.00x
  • 指针速度范围是 0.10x4.00x;滚动速度范围是 0.10x10.00x
  • 速度设置会按 USB 和每个蓝牙 profile 分别保存。
  • Mode 用于在 Cirque 触控板的相对模式和绝对模式之间切换。
  • 同样的点击/导航 combo 在鼠标层也可用:E + R 是右键,D + F 是左键,C + V 是中键,F + G 是浏览器后退,R + T 是浏览器前进。

Sweep Pro 的右手半边在 sweep_right_trackpad.overlay 中定义 Cirque 硬件:

  • I2C 地址 0x2a,并使用 data-ready-gpios
  • sensitivity = "2x"
  • startup-delay-ms = <600>,用于在 reset 或刷写固件后给控制器恢复时间。
  • idle-packets-count = <3>,让相对模式下的轻点/拖拽释放能在手指离开后被检测到。
  • primary-tap-enableglide-extend-enableinvert-y。GlideExtend 只在切换到相对模式后使用。
  • 绝对模式下的触摸阈值、轻点时序、轻点拖拽、右下角右键区域、边缘持续移动和右边缘滚动参数。

共用 keymap 会把触控板 listener 接到两个 input processor:

&glidepoint_listener {
input-processors = <&pointer_processor 0 0 &drag_scroll_processor 1 8>;
};

pointer_processor 在未按住 Z 时处理运行时指针速度。drag_scroll_processor 处理按住滚动、原生边缘滚轮的速度缩放,以及 horizontal-when-enabled 这类“按住 Z 时把右边缘滚轮转换成横向滚轮”的逻辑。两个 processor 现在使用倍率式运行时速度,不再是固定速度档位。

  • 滚动是触控板右边缘手势,不是笔记本常见的双指滚动。
  • 需要固件直接发送横向滚轮事件时,按住 Z
  • 如果不想依赖应用对 Shift + 滚轮的处理,可以按住 Z 再使用右边缘滚动手势,或使用鼠标层里的 SCRL_LEFTSCRL_RIGHT
  • 需要选中文本或拖动窗口时,可以按住 D + F 左键 combo、使用鼠标层里的 LCLK,或在触控板上双击并在第二次轻点时保持按住。
  • 可使用 NXTKB Input Tester 在浏览器中检查鼠标按键、光标移动和滚轮事件。
  • 确认你的键盘版本包含 Cirque 触控板。
  • 确认左右两半都已打开电源。触控板在右半边,会通过分体连接发送输入。
  • 如果右手触控板没有反应,尤其是刚给右手刷完固件后,可以按一下右手的 reset 键。
  • 如果键盘按键正常但光标仍然不动,可以重启左右两半,再尝试按一下右手 reset。
  • 如果右边缘滚动可用但轴向不符合预期,确认是否正在按住 Z。固件层面的横向转换只在 drag-scroll 启用时发生。
  • 如果滚动方向不符合你的习惯,请在操作系统的鼠标或触控板设置中调整滚动方向。