Skip to content

Repository files navigation

KeySteer

Page status Build status Latest release Rust 1.98 Windows 10 and 11 macOS 14 or later License: GPL-3.0-or-later

KeySteer

从点击到分屏,把整个工作区交给键盘。

语言 / Language · 简体中文 · English

KeySteer 是 Windows 和 macOS 上的原生键盘操控工具。用 hjkl 移动和点击,用标签定位界面,再用 Window 模式移动、分屏、组合窗口。少一些来回伸手,多一些连贯操作。

下载体验 · 快速上手 · Window 操作指南 · 在线模拟器

功能

  • Window 窗口操控Alt+W 进入,移动、缩放、居中、跨屏都在键盘上完成。

  • Quick 与 Editor 布局:单窗口半屏定位,多窗口自动排列,再按需要分配空间。

  • Tabs 与工作区预设:把窗口收成持续存在的标签组,保存布局和标签模板,下次继续使用。

  • 音频控制:整理窗口时顺手调节应用或系统音量、切换输出设备;平台要求见 Window 指南

  • Normalhjkl vim风格移动鼠标。

  • 长按,拖拽:可将鼠标左/中/右键转为按下状态,适合拖拽。

  • Grid:快速定位二键组合。

  • Recursive Grid:区域持续递归细分。

  • UI Hint:辅助功能,OCR,并行异步扫描为按钮、链接、菜单和输入框显示可键入标签。

  • 多显示器Primary+S 切换到下一块显示器。

  • 外观与配置Grid/Hint 标签样式、指示器等可通过 TOML 调整。

Primary 是跨平台写法:macOS 为 Command,Windows 为 Alt,为保持键盘位置的一致性。 它可以在 [key_aliases] 中改成你习惯的实体按键。

性能

按键处理路径平均 151 ns,来自 0.9.21 开发机测试,即 0.151 μs / 0.000151 ms。让每次操作更加无感

两条路线,马上开始

先试什么 默认操作顺序
移动与点击 Primary+EH/J/K/L;Esc
移动一个窗口 Primary+W → 松开入口键 → H/J/K/LQ
排列多个窗口 Primary+WE(立即排列)→ Z 可撤销

A 快速分屏、T 组合标签、R 恢复预设。完整介绍见 Window 操作指南

Window:窗口听键盘指挥

H/J/K/L 移动,S 切换缩放,C 居中,F 循环最大化/最小化/恢复;V 组合键调音量,X 关闭当前窗口。

window.mp4

Quick:按 A,快速分屏

从 Window 按 A 进入,方向键安排窗口,再按同方向切换比例;split_ratios 可自定义,Q 返回 Window。

quick.mp4

Editor:按 E,自动平铺再微调

E 立即平铺;输入 12 交换窗口,Shift+方向 切分区域,Ctrl+方向 移动分割线,方向键调整布局。

editor.mp4

Tabs:同名程序,自动收成一组

从 Window 按 T 首次进入,按同名程序自动分组。Tab / Shift+Tab 切换组内窗口,方向键调整标签组位置。

tabs.mp4

保存:布局与标签组,都能记下来

在 Editor 或 Tabs 中按 Ctrl+S,输入备注后按 Enter 保存;备注也可留空,自动生成名称。保存的是布局和分组安排,不是需要启动的应用名单。

save.mp4

key_help:忘了快捷键?看一眼就好

提示面板展示当前可用的按键和动作。在相应模式的 bindings 中配置 "?" = "key_help",即可用问号切换显示;绑定存在才启用,示例也可换成其他键。视频通过模拟器的提示预览按钮执行同一动作。

help.mp4

配置与模拟器:看着完整键盘改键

托盘右键菜单 → Configuration & Simulator...,跳转浏览器打开(注意网络连接)。点击完整键盘中的按键,再选择动作;例如 W → move_upA → move_left。入口菜单为操作示意,键位编辑使用实际项目模拟器;实际行为以程序为准。

config.mp4

Normal

键盘移动、速度修饰、滚动与点击。

normal.mp4

Grid

一级大标签、二级预览与二键快速定位。

grid.mp4

Recursive Grid

逐层细分、回退与精确定位。

recursivegrid.mp4

UI Hint

扫描界面元素、标签筛选与控件定位。

uihint.mp4

默认按键

先按 Primary+E 进入 Normal。默认配置中的 Primary 为:macOS Command、Windows 左 Alt;可在 [key_aliases] 改成自己的习惯。

按键 作用
h j k l 左、下、上、右移动鼠标
Caps Lock / Left Shift / vb 精确 / 慢速 / 快速移动
m / , 向下 / 向上滚动
; / ' / Right Shift 左 / 右 / 中键点击
n Toggle 鼠标按住状态,用于拖拽
g / f / Primary+F Grid / Recursive Grid / UI Hint
Primary+S 切换到下一块显示器
qEsc 返回 Idle

配置

无需配置文件即可运行:内置 Config::default() 与发布的 keysteer.default.toml 一致。

程序优先选择数据目录中的 keysteer.<名称>.toml 用户配置(排除 keysteer.default.toml);不存在用户配置时才读取默认 TOML,仍不存在则使用内置默认值。显式 --config/-c 始终优先。

# 校验仓库中的默认示例;带 ./ 表示当前目录的确切路径
cargo run -- --check -c ./keysteer.default.toml

# 输出当前生效的完整配置
cargo run -- --dump-config

# 检查权限、显示器、输入后端和前台应用
cargo run -- --doctor

详情请看配置文件模式和动作。也可以通过配置与模拟器编辑键位和样式。

安装

请从 GitHub Releases 下载与系统和 CPU 架构对应的 ZIP。Windows 解压后运行 KeySteer.exe;macOS 解压后将 KeySteer.app 移入 /Applications

如果从 GitHub Release 手动安装的 macOS 应用被 Gatekeeper 提示无法打开,请确认文件来自上述官方发布页,然后运行:

sudo xattr -cr /Applications/KeySteer.app

建议先授予“辅助功能”和“屏幕录制”权限后再打开

运行与打包

开发环境:Rust 版本以 rust-toolchain.toml 为准。文档站需要 Node 24+ 和 package.json 指定的 pnpm 版本。

cargo run
cargo test --all-features
cargo clippy --all-targets --all-features -- -D warnings

pnpm install
pnpm docs:build

支持的平台

  • Windows 10/11:x64、ARM64
  • macOS 14+:Apple Silicon、Intel

许可证与版权

版权所有 © 2026 dccif。KeySteer 以 GNU General Public License v3.0 或更高版本(GPL-3.0-or-later) 发布,完整条款见 LICENSE

你可以使用、研究、修改和再发布本项目;但任何对外分发的修改版或包含本项目的衍生作品,必须继续以 GPL 提供相应源码与相同的自由。不能把公开分发的衍生版本改成闭源专有软件。GPL 不限制仅供自己或组织内部使用、且不对外分发的私有改动。

About

Keyboard-driven mouse and window management for Windows and macOS — Vim-style navigation, accessibility UI hints, tiling, tabs, and workspaces.

Topics

Resources

Stars

67 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages