Skip to content

vibevibe 0.2.0 · 两键小键盘 + 双触发通道

Latest

Choose a tag to compare

@jeffliulab jeffliulab released this 27 Jul 14:37
· 3 commits to main since this release

装 / 升级

pip install -U vibevibe
vibevibe setup

两条触发通道,同时生效

通道 按键 需要什么 给谁用
桌面快捷键 Super+Shift+V(可改) 零硬件、零权限 任何人,pip install 完就能用
小键盘 F19(固定) 两键小键盘 + 一条只针对它的 udev 规则 有专用硬件的人

为什么默认 Super+Shift+V 而不是 Ctrl+Shift+V:后者在浏览器、VS Code、终端里都是「粘贴为纯文本」。那是应用内部的绑定,任何系统层检查都看不到。应用基本不碰 Super 键(桌面环境保留键),所以最安全。

两键小键盘

用 VIA 协议直接写板子的 EEPROM:左键 → KC_F19,右键 → KC_ENTER。改的是硬件自己的存储,换台电脑插上依然生效。

热键冲突检查

  • 撞系统快捷键 → 拒绝
  • 撞 vibevibe 自己的快捷键 → 拒绝(两条通道同时触发,toggle 下等于连切两次,表现为「按了没反应」)
  • 有 X11 keysym → 允许但警告(会同时送给当前应用)

设置 →「按键」支持按下即捕获,含组合键。

关于窗口

托盘菜单新增「关于」:版本号、当前使用的各个路径、打开日志的按钮。

推翻的两处原设计

grab 独占必须关掉。 原来把「能整个独占设备」当成专用小键盘的优势,但独占是整设备级的——会把右键的 Enter 一起吞掉。不独占也没事:F19 在 X11 里没有 keysym,漏给应用无副作用。

安全闸判据从「按键数量」改成「设备名匹配」。 实测两键小键盘声明 279 个键、比主键盘(143)还多——QMK 系固件不管物理几个键都声明整个键位范围,数量根本区分不出主键盘。

修的 bug

  • 冲突检查器漏报:GNOME 加速器字符串没规范化,<Shift><Super>space 和 <Super><Shift>space 匹配不上;<Primary>/<Ctrl>/<Control> 三种别名也没归一
  • 冲突检查器误报可用:没校验主键是不是合法 keysym 名,输入中文会返回「✓ 可用」
  • 推荐值写死「F13~F24」被实测打脸:这台机器十二个候选里只有 F19 和 F24 没有 keysym,改成按当前布局现算
  • 托盘静默吞异常:nohup 把 stderr 丢进黑洞,跑着旧代码时点「设置」毫无反应

已知不足

  • 只做了 X11(Wayland 待做)
  • MuJoCo、daemon、CAN 这类同音专有名词仍会认错(所有模型都栽,包括 Whisper)
  • 转写期间移动光标,文字会落到新位置