# MyKeymap 简介

# 相关链接

# MyKeymap 的作用是什么 ?

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

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

# 几个特殊热键

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

(1) 用不到的模式可以去设置里关掉, 比如关掉「 分号模式 」就能恢复分号键原本的行为
(2) 杀毒软件可能会自动误删文件,安全管家 360 会让模拟按键失效,可以把 MyKeymap 文件夹添加到白名单或信任列表

# 🏠 窗口操作

  • 在 Windows 中与窗口的交互非常多,常常需要切换,关闭,最大化,调整窗口大小,或者拖动一个窗口到另一个显示器
  • 用鼠标干这些事略显麻烦, 所以 MyKeymap 为常用的窗口操作设计了一套按键映射,激活方式 => 按住 Capslock 键
按键 功能 备注
W 切换到上一个窗口 常用
X 关闭窗口 常用
V 移动窗口到下一个显示器 双显示器必备
Q、B 最大化窗口、最小化窗口 常用
S、A、D 窗口居中 v1、窗口居中 v2 和 v3 常用
E 打开窗口管理器 EDSF 上下左右、X 关闭、按空格切换
R 在当前程序的窗口间切换 比如有多个 Chrome、VS Code 窗口可以方便的轮换
G 切换窗口置顶状态
T 绑定当前窗口 长按 T 进行绑定,短按 T 激活绑定的窗口
Z 复制选中文件的路径 用来在文件管理器中复制路径
Y、P 切换到上一个、下一个虚拟桌面

# 鼠标相关

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

部分游戏可能会遇到右键问题,需要按 Shift+Alt+' 或单击托盘图标,能暂停 MyKeymap
MyKeymap 有时候会和「 鼠标手势 」软件产生冲突,可以去设置里关闭 MyKeymap 的「 鼠标右键 」

# ️️🖥️ 系统控制

# 激活方式

  • 按一下 Capslock 然后输入下表的命令,如果打错字了,按 Capslock 或 Esc 取消 ( 按键音效能调低,参考后文 )
  • 可以用 Alt + Caps 切换大小写,但推荐用左右两个 Shift 键输入大写字母,很多人都是这么做的,效率更高
  • 如果还是希望单按 Capslock 切换大小写,那么把 Capslock 模式的「SinglePress」配成「切换 Capslock 大小写」
命令 功能 备注
tm Task Manager 任务管理器
lj、dd 打开「 垃圾回收站、下载 」文件夹
sl 系统睡眠 (sleep) 用睡眠能保存整个系统的运行状态
gj 滑动关机 帅气的滑动关机 🐶
rb 系统重启 (reboot)
ld 显示器亮度调节 调节亮度,让眼睛更舒适 (支持外接、内置显示器)
no 打开 Notepad
bb 用 Bing 词典搜索选中的单词
cc 用 VS Code 打开选中的文件或文件夹
ly 打开蓝牙设置 ms-settings:bluetooth (opens new window)
wf 查看周围 WiFi

# 音量调节面板

  • Caps + C 键打开音量面板, 如果同时插了耳机和音响,在面板中按 R 键切换默认音频输出
  • 在面板中按 V 键打开「 音量设置 」, 此处能调整各应用音量,推荐调低 MyKeymap 的音效音量, 但也别关掉音效反馈
image-20220326132722011

# 👾 启动程序 & 召唤窗口

# ➤ 作用 ?

  • MyKeymap 是以「 召唤窗口 」作为特点的程序启动器,只用键盘,让高频率高成本的窗口切换变得方便
  • 按下快捷键后, 如果软件未启动会帮你启动它,如果软件已启动则帮你激活对应的窗口
  • 如果软件有多个窗口,比如通常会打开多个浏览器窗口(不是指 tab), 可用 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 桌面版、Typora (调校后颜值高、搭配坚果云做同步挺方便的)
E File Explorer 文件管理器 (打开 D:\ 盘)
Q Everything 文件搜索
L、P Excel、PowerPoint
A Windows Terminal Preview 终端 (Preview 版更新快)
M 启动或激活 Tim (要用官方热键来激活 QQ/微信/Tim,请参考 M 键的配置)
更多 打开设置添加更多应用

# 备注

  • 对于不常用的软件,推荐通过搜索启动
    • 可以试试 开始菜单 / PowerToys / Listary / uTools / Wox / Flow Launcher / Fluent Search / ...
  • 对于常用的软件,则建议配个快捷键,因为
    • 按键次数更少
    • 不用模糊搜索,不存在模糊性
    • 不仅限于启动,还可以激活对应的窗口 ( 激活窗口才是重点 )

# 💡 独特的按键映射

# 默认键位存在的问题

  1. 常用键离得太远: 比如左上角的 Esc 和右上角的 Backspace
  2. 无法用标准指法输入一些组合键: 比如 Ctrl+Z 和 Ctrl+Shift+Tab
  3. 光标移动键不在主键区: 比如 上/下/左/右/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 删掉一个单词 删掉一个 apple 不用按 5 次退格键
空格 回车键 有时候用拇指敲回车会更爽
2 / 3 上一个标签 / 下一个标签 在浏览器、编辑器中用 Ctrl+Tab / Ctrl+Shift+Tab 切换标签

# 把右 Alt 映射为 Ctrl

  • Ctrl、Win、Alt 中最常用的是 Ctrl,最难按的也是 Ctrl
  • MyKeymap 把 右Alt 映射成了 Ctrl 键,这么做让 Ctrl 系列的快捷键变得很方便
  • 比如 Ctrl+Z、Ctrl+C、Ctrl+V、Ctrl+Shift+C、Ctrl+Alt+Z、......

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

(1) 句号键 对打字的影响小、没有适应成本,但没有空格键和 J 键那么好按
(2) 空格键 扩展性很好、可自定义的按键最多,另外能单手操作, 感兴趣可以去设置里把空格模式打开
(3) J 键 最好按, 长时间按住 J 也不会累手指但代价是打字时需要点按 J 键 (连按 J 与下一个键会误触)
    有不少人反馈 J 作为前置键容易误触、影响打字,所以它不适合所有人,但花时间习惯点按 J 键能做到不误触
    作者是超重度文字编辑用户、并且使用双拼输入法,所以觉得 J 键作为前置键很好用,我愿意付出学习代价来获得 J 键的便利

➤ J 作为前置键按起来很舒服, 因为:

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

➤ 同理与 J 键对称的 F 键作为前置键也很方便

  1. 这个默认没开,需要手动打开
  2. 默认配了 100ms 触发延迟,即长按 F 键 100ms 才会触发
  3. 默认触发键为 f,如果需要 Alt+F+L = Alt+Right,可以先按 F 后按 Alt,或者把触发键改为 *f

# 🖱️ 键盘控制鼠标

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

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

  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 F12 F11 5 R E (其他 F 键不常用, 需要的话可以自己配)

➤ 可以用 3 + / 锁定这个模式,无需按住前置键 3,单按 HJKL 就是 0123,再按一下 / 则解锁
➤ 如果想输入 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

# 📚 缩写功能

  • 按一下分号键,  然后输入下述缩写触发对应的功能
  • 若关了分号模式, 则需打开设置另配一个快捷键来触发缩写功能, 它位于 "MyKeymap 相关" 这个动作类别里
缩写 功能 备注
sk 输入 「 」 这对尖括号挺帅的 (称之为 shuai kuo hao),能起到突出强调的作用
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)
任意形式的支持,都是激励作者开发的电力。