# MyKeymap 简介

# 相关链接

# MyKeymap 的作用是什么 ?

MyKeymap 是 Windows 下的一款按键映射 / 快捷键增强工具

  • 对于普通用户 (1)能利用 caps 命令以一种新颖的方式启动程序
    (2)能利用 caps + f 召唤窗口,解决高频的窗口切换
    (3)还能从 MyKeymap 预设的系统控制,窗口操作中获得一些便利
  • 对于文字编辑、整理笔记较多的人,J 模式的「 光标控制 」和「 文字选择 」能帮你提高生产力
  • 对于程序员,除了能享受上述的所有便利,还可以看看「符号输入」和「数字输入」两个功能
  • 对于,MyKeymap 最开始是个人日常使用的一套键位映射,它能提高我的操作效率,优化输入体验。
    因为我觉得好用,说不定对其他人也有用,如果能写出一个有用or有帮助的软件,又有何不可呢? 🐶 所以做成了一个软件。
image-20211024102605328 Pin on Movies

# 几个特殊热键

按键 作用
Alt + ' 重启 MyKeymap (修改配置后、程序错乱时会用到)
Shift + Alt + ' 暂停 MyKeymap (打游戏时用来暂停 MyKeymap)
Shift / Alt + Capslock 切换 Capslock 大小写
按一下 Capslock 输入 se 打开设置
短按 J 输入平常的 J 键, 开启 J 模式后要等 J 弹起时才会输入 J
分号键 + I / J 输入平常的 : / ;, 因为分号键被做成了 符号输入缩写功能

(1) 用不到的模式可以去设置里关掉, 比如关掉「 分号模式 」就能恢复分号键原本的行为
(2) 有人反馈过杀毒软件会自动误删文件, 如果遇到了错误, 可以关闭它, 重新下载 MyKeymap 试试

# 🏠 窗口操作

  • 在 Windows 中与窗口的交互非常多,常常需要切换,关闭,最大化,调整窗口大小,或者拖动一个窗口到另一个显示器
  • 用鼠标干这些事略显麻烦, 所以 MyKeymap 为常用的窗口操作设计了一套按键映射,激活方式 => 按住 Capslock 键
按键 功能 备注
W 切换到上一个窗口 常用
X 关闭窗口 常用
V 移动窗口到下一个显示器 双显示器必备
Q、B 最大化窗口、最小化窗口 常用
S、A 窗口居中 v1、窗口居中 v2 常用
E 打开窗口管理器 EDSF 上下左右、X 关闭、按空格切换
R 在当前程序的窗口间切换 比如有多个 Chrome、VSCode 窗口可以方便的轮换
D 系统 Alt+Tab 热键 用 Capslock+D 触发 Alt+Tab 手感会舒服一些
G 切换窗口置顶状态
T 窗口靠左 (方便二分屏幕)
Y、P 切换到上一个、下一个虚拟桌面

# 鼠标相关

鼠标按键 功能 备注
右键+左键 打开窗口管理器 用鼠标中键可以关闭窗口
右键+滚轮滑动 Ctrl+Tab、Ctrl+Shift+Tab 比如在浏览器中切换标签,很好用的功能

如果打游戏遇到右键问题, 那么用 Shift+Alt+' 临时暂停 MyKeymap
如果和其他鼠标手势软件冲突了, 可以去设置里关闭 MyKeymap 的「 右键模式 」

# ️️🖥️ 系统控制

# 激活方式

  • 按一下 Capslock 然后输入命令, 如果打错字了,按 Capslock / Esc 取消
  • 可以用 Shift + Caps 或 Alt + Caps 切换大小写, 感觉用左右两个 Shift 键输入大写字母更方便, 个人从不切换大小写
命令 功能 备注
tm Task Manager 任务管理器
lj、dd 打开「 垃圾回收站、下载 」文件夹
sl 系统睡眠 (sleep) 方便台式机用睡眠保存系统状态
ss 滑动关机 (Slide-To-Shutdown) 平平无奇的关机动作也能优雅起来 🐶
rb 系统重启 (reboot)
ld 显示器亮度调节 白天晚上调节亮度,让眼睛更舒适 (支持外接、内置显示器)
no 打开 Notepad 如果想让其他程序也能用这种启动方式, 打开设置自定义吧
gg 用 Google 搜索选中的文字 也就是划词搜索
acmd 管理员权限打开 cmd.exe
st 打开 Windows Store
ly 打开蓝牙设置 ms-settings:bluetooth (opens new window)

# 音量调节面板

  • Caps + C 键打开这个面板, 连接了多个音频输出设备时才能用 R 键切换音频输出
  • 在面板中按 V 打开 「 Win10 的音量设置 」, 然后能调整各应用音量, 推荐改一下 MyKeymap 的音效音量, 避免音量过高
  • 若需要 WSAD 版本, 参考这个 issue (opens new window)
image-20220326132722011

# 👾 启动程序 & 召唤窗口

# ➤ 有啥用 ?

  • MyKeymap 是以「 召唤窗口 」作为特点的程序启动器,只用键盘,让高频率高成本的窗口切换变得方便
  • 按下快捷键后, 如果软件未启动会帮你启动它,如果软件已启动则帮你激活对应的窗口
  • 如果该软件有多个窗口,比如通常会打开多个浏览器窗口, 可用 Capslock + R 在当前程序的窗口间轮换

# ➤ 激活方式

  • 小指按下 Capslock -> 食指按下 F -> 只松开 Capslock -> 再按 W/D 之类的键
  • 总之连按 Capslock + F, 然后松开 Capslock 并按住 F 键就能激活这个 Capslock + F 模式

如下是默认配置,因为软件品种、安装位置、按键分配都因人而异,需要按自己的情况修改配置

按键 功能
W、D Chrome 浏览器、Edge 浏览器
多次按 W ①程序包含多个窗口时进行窗口轮换 ②程序只有一个窗口时、进行激活或最小化
S、J、H Visual Studio Code 、IntelliJ IDEA 、Visual Studio
O、I OneNote UWP、Typora (调校后颜值高、搭配坚果云做同步挺方便的)
E File Explorer 文件管理器 (打开 D:\ 盘)
Q Everything 文件搜索
L、P Excel、PowerPoint
A Windows Terminal Preview 终端 (Preview 版更新快)
N M 绑定活动窗口到当前键, 比如有两个 chrome 窗口, 分别绑定到 N、M 键, 方便切换
更多 推荐打开设置添加更多应用, 若不知道怎么配, 可以参考现有配置依葫芦画瓢

# 切换常用项目

  1. 我们经常会维护几个固定的项目, 可能会同时打开, 在这些项目之间切换是一件麻烦的事
  2. 可以为常用项目分配一个启动程序/切换窗口的 快捷键Capslock 命令, 提高切换窗口的效率, 比如:
Capslock 命令 作用
mm 用 VSCode 打开或切换到 MyKeymap 项目
ms 用 VSCode 打开或切换到 MySite 项目

# 💡 独特的按键映射

# 怎么设计一套, 方便编辑文字的键位?

个人心得 (欢迎讨论):
(1) 要把 常用键 映射一下, 比如 Esc、BackSpace、Tab, 因为「 距离较远、不好按 」
(2) 要把 常用组合键 映射一下, 比如 Ctrl+Z/Tab, 因为用常规方法按 Ctrl+Z/Tab 会导致「 大幅度改变手掌形态 」让输入不流畅
(3) 要映射 光标移动键, 比如 Home/End/上下左右/上一个词/下一个词, 因为「 懂的都懂、特别常用 」
(4) 为了方便 选择文字, 光标移动键应该满足: 在按住 Shift 键的条件下, 依旧能方便地输入 Home/End/上下左右

# 使用方法

  • 激活方式 1: 右手无名指按住 句号键
    激活方式 2: 右手食指按住   J 键
  • 如何选择文字: 左手小指按住 Shift 键, 然后用 EDSF/A/G 来移动光标
  • 另一种选择文字的方法: 连按 J + K 后只松开 J, 这比按住 Shift 键更轻松 (句号+逗号、空格+K、也是这个功能)
按键 作用 备注
E D S F 上下左右 特别/非常/超级常用, 不选 WSAD 是因为移动手指、非标准指法
A、G Home、End 移动光标到行首或行尾
Z / V 移动一个单词 (往左/往右) 从 apple 的第一个字母移动到最后一个字母, 不用按五次 ->
X、C Esc、BackSpace 避免大老远地去按左上角的 Esc、和右上角的 BackSpace
W R Shift+Tab、Tab 食指按 R 键比小指按 Tab 键更舒服
Q 右键菜单 在 Win11 中还能一键调出传统右键菜单
B、T 删掉一个单词、删除到行尾 删掉一个 apple 不用按 5 次退格键
空格 回车键 有时候用拇指敲回车会更爽
2 / 3 上一个标签 / 下一个标签 Ctrl+Tab / Ctrl+Shift+Tab
L 选中当前行 这个表格里的键位全都可以自己配

# 把右 Alt 映射为 Ctrl

Ctrl、Win、Alt 中最常用的是 Ctrl,最难按的也是 Ctrl
MyKeymap 把 右Alt 映射成了 Ctrl 键,用「右手拇指」按下右 Alt 相当于按下 Ctrl
这么做让 Ctrl 系列的快捷键变得方便,比如 Ctrl+Z、Ctrl+C、 Ctrl+V、......
即使输入 Ctrl+Shift+XCtrl+Alt+X 系的快捷键也会很舒服

# 选择一个前置键 (重要!)

(1) 句号键 易于上手、对打字的影响小、没有适应成本
(2) 空格键 扩展性很好、可自定义的按键最多, 另外能单手操作, 感兴趣可以去设置里把空格模式打开
(3) J 键 最好按, 长时间按住 J 也不会累手指, 但代价是打字时需要点按 J 键 (连按 J 与下一个键会误触)
    有不少人反馈 J 作为前置键容易误触、影响打字, 此类问题没有完美方案, 但花时间习惯点按 J 键后就能不误触
    作者是超重度文字编辑用户、并且使用双拼输入法, 所以觉得 J 键作为前置键很好用

➤ J 键作为引导键按起来很舒服, 因为:

  1. 使用食指、不费力
  2. 不需要移动手指、食指本来就放在 J 键之上
  3. Capslock 使用力气小的小指、需要移动手指, 也许高强度编辑文字后小指会累

# 🖱️ 键盘控制鼠标

# ➤ 用键盘控制鼠标的原因

打字过程中常常需要 ①点击某个位置切换焦点、②滚轮翻页、③选择编辑位置
鼠标点击总是离散地出现在操作流程中,右手 时不时 就要移到鼠标上 点一下 再放回键盘,会有下面的问题:

  1. 键鼠切换成本高,手指到键盘的距离是 2 厘米,手掌到鼠标的来回是 30 厘米 (跑那么远只做一次鼠标点击就很亏
  2. 让手在键盘和鼠标间频繁切换比较麻烦, 在一些场景中如果纯键盘操作会更高效, 所以我理解:
    • 为什么生产力软件会提供几十个细致的快捷键, 明明点鼠标也能搞定 (因为按快捷键比点鼠标方便)
    • 为什么有人赞赏 ThinkPad 的小红点设计 (因为编辑文字时无需让手掌离开主键区)
    • 为什么有人专门花时间学习编辑器的 vim 插件、浏览器的 Vimium 扩展 (因为熟练后就能免鼠标写代码、刷网页)

# ➤ 激活方式

  • 按住 Capslock 然后用 I K J L 快速移动鼠标
  • 两级变速: 松开 Capslock 后再按 IKJL 会进入低速模式  (如果之前用 Capslock + IKJL 移动过鼠标的话)
  • 退出鼠标模式的方法是按下终结键: 空格、N、M
按键 功能
I K J L 鼠标 上、下、左、右 移动
U O H ; 滚轮 上、下、左、右 滑动
N M 鼠标左键、鼠标右键
, 鼠标左键按下,可按空格松开左键
. 移动鼠标到「 输入焦点或选中的元素 」
/ 锁定当前模式, 然后能单键操作, 不用按住前置键

备注: 在切换焦点、滚轮翻页、单次点击等场景下, 通过键盘操控鼠标能有效减少键鼠切换

# 6️⃣ 数字输入和 F 键输入

# ➤ 怎么想到这个功能的 ?

  1. 我只会主键区盲打,主键区上面的数字区做不到盲打 (盲打一个 6 太难了吧)
  2. 每次输入一串数字时挺烦,手感像第一次摸键盘一样生疏
  3. 数字输入比较常用, 如果优化一下、能得到不错的收益

# ➤ 激活方式: 左手中指按住 3

数字 按键
0 1 2 3 H J K L
4 5 6 U I O
7 8 9 B N M
F1 F2 F9 F10 1 2 9 0
F5 F11 F12 R P ; (其他 F 键不常用, 需要的话可以自己配)

➤ 如果想输入 Alt/Ctrl/Shift + 数字键, 可以这样: 左手拇指按住 Alt -> 中指按住 3 -> 再按 HJKL 之类的键

# #️⃣ 符号输入

  • 激活方式: 按住分号键
  • 作用是让你又快、又舒适地盲打符号,(适合写代码和 Markdown 的用户
  • 方便连续输入两个符号,(按一个符号就比较麻烦了, 何况 <= => != := 这种两个符号
  • 推荐按自己的习惯改键位, 把使用频率高的放在好按的位置
符号 按键 按键 按键
+ $ & 加号是两者之 He US Dollar &和字母R长得像
! \ = Gan叹号 Zhuan义符 Deng号
_ % # Xia划线 Bai分号 Wa井
- | ~ 减号英文Minus 竖线英文Vertical line 波浪英文Tilde
< ^ > S E F 左上右
. / * C N A
; : J I
` @ K Y
行尾加个分号 O

# 📚 缩写功能

  • 按一下分号键,  然后输入缩写
  • 除了使用默认的分号键, 也支持自定义触发键, 缩写功能位于系统控制这个动作类别里
分号键缩写 功能 备注
red 设置选中字体为红色 整理学习笔记时个人喜欢用颜色标出重点句子
gre 设置选中字体为绿色 这个功能支持 Typora 和富文本编辑器
sk 输入 「 」 这对尖括号挺帅的 (称之为 shuai kuo hao),能起到突出强调的作用
ss xk zk dk 输入 "" () [] {} 成对的双引号、小括号、中括号、大括号 (并移动光标位置到中间)
gt 输入 🐶 方便输入特殊符号 🐶
gg 输入 git add ...; git commit ... 方便在命令行中一键 Git 提交
sj 输入当前时间 可在设置中调整时间格式

# ✏️ 结语

大概七年前(2014)在小众软件 (opens new window)发现了 AutoHotkey (opens new window) 语言。并跟着教程折腾出了自己的第一个程序 (^_^)
为了减少键鼠切换、接近全键盘操作,让「编辑文字」和「窗口管理」更快捷,
渐渐改成现在这套按键映射,我在设计键位时遵循三个思路:

1、手掌不离开主键区
2、不可以违背标准指法
3、必须好按且不会累手指

总而言之:

(1) 对于纯键盘流派, ①召唤窗口、②键盘操控鼠标、③光标控制+文字选择 的使用频率非常高

(2) MyKeymap 有一定的学习成本,但习惯后带来的操作体验和效率提升也不少

(3) 我用的是 60% 键盘,如果对 MyKeymap 越熟练,那么对 60% 配列也会越偏爱 (因为其他键用不到🐶)


image-20211003133750704

# ❓ 反馈问题、需求

  1. b站私信、加入QQ群 579255911 都可以
  2. 软件是开源的,仓库地址在这: link (opens new window),有问题或需求可以提 issue

# ❤️ 支持作者

最后,如果觉得这个软件有用或有帮助,请随意 充电 (opens new window)
任意形式的支持,都是激励作者开发的电力。