A HotKey#

---
创建日期: 2023-04-16
---
一直在使用的一个快捷键映射工具。

快速简介#

“a-hotkey” 是一个基于AHK的快捷键映射工具。

操作系统以及应用程序原本就有许多常用键盘快捷键,而 a-hotkey 只是把按键重新映射, 比如 Alt-A 会执行 Home 键功能, Alt-T 会执行 Ctrl-A (全选) 功能, 以方便文字编辑、网页浏览等。

详细按键信息,可查看 a-hotkey 的 GitHub 页面。 (一定要看,比这篇文章本身还值得看)

这种映射修改,让手指行程留在在一定范围,双手基本不需要太多移动就能完成许多操作。

备注

Windows系统的各种快捷键在这里有更详细的介绍:Keyboard shortcuts in Windows

使用方法:a-hotkey 的 GitHub Release 页面 下载 “a-hotkey.vxx.exe”,双击打开即可在后台执行。

历史缘由#

以前主要都是在用台式机,配有鼠标,操作并没什么太多可抱怨的。 不知道从哪天开始,或许是想试试,或许是工作用笔记本电脑,或许开始工作的时候写代码了,开始思考提升操作效率的事情。

我曾经记录过几篇关于电脑交互的文章(主要是触摸板),最近的一篇后,我的目标是,通过触摸板上的手势(两指、三指、四指)*(上下左右滑动、轻击)来完成快速操作(新建、切换、关闭标签;前进、后退;关闭窗口、最大化;切换窗口、显示桌面;虚拟桌面操作等等)。

然而当时除了MultiSwipe,并没有满(免)意(费)的方案。 (MultiSwipe除了基本操作还支持其它手势如TipTap、Pinch,以及对虚拟桌面的操作,着实令人赞叹“这些功能就应该嵌入到操作系统中!”,我都已经想付费了!)

而且实际上除了浏览操作(新建、切换标签页,前进、后退 等等),还有写代码时文本操作的需求(上下左右、删除、换行 等等)。

快捷键#

之前一直都是想的如何利用触摸板方便浏览操作,毕竟占那么大一块地方。 文本操作还是得靠(鼠标选择+)快捷键, 那为什么不用键盘同时覆盖浏览操作和文本操作呢?毕竟键盘也占了那么大一块地方。

系统或者程序中会定义很多快捷键,虽然多数人都是用鼠标去执行操作的。 这些快捷键多是带着Ctrl键的,操作的时候通常会把手指移开固定位(固定位指的:左右手食指分别放在FJ上,拇指在Space和左侧Alt附近),频繁切换就很难受。

以前在捣腾Emacs的时候就学会了一招,通过修改注册表,把CapsLock映射为Ctrl,会方便一些。 但是这样依然有限,毕竟不是在Emacs中有丰富的基于Ctrl的快捷键。 系统级别使用单个Ctrl-{x}的有用的快捷键,除了 复制(C)粘贴(V)剪切(X)撤销(Z)全选(A)保存(S) 就想不起来别的了,而且都是在左侧,不方便用CapsLock组合。 (在左侧是因为本来要和Ctrl组合单手操作的呀,谁知道你连手肘都不想动!)

另一种方式就是程序可自定义快捷键, 比如编程的时候,VSCode支持自定义按键,方便文本操作。 好用是好用,每次在迁移操作系统的时候,还导出了配置,在新系统中导入。 可是只能在应用内部使用,退出VSCode就什么都没有了。

如果能够在系统层面有统一的操作不就好了。 一个 手指不用移动太多,能够自定义快捷键的映射,可以完成浏览、文本操作 的方案。

A HotKey#

AHK是一个可以在Windows上进行自动化脚本的工具,可以定义快捷键、快速输入,玩游戏的一键连招,也可以对窗体进行操作,自定义 系统、程序 Macro 等等。 我并未深入了解,只是用了简单的映射功能。

前面说了,要减少手指的移动,用Alt-{x}或者CapsLock-{x}操作来代替其它的快捷键。 在AHK中就是一个脚本的事情,还可以把脚本编译成可执行文件,在后台运行。

为了方便记忆,按键也是受不同工具影响, 比如Alt-H/J/K/L来自vi的操作,Alt-C/V/X/Z是原本Windows Ctrl系快捷键,Alt-A/E来自Emacs/bash的操作。

而且这回也可以进行虚拟桌面的操作了,我深深馋MultiSwipe的功能之一,CapsLock-H/J/K/L分别进行虚拟桌面的左切换、关闭、创建、右切换。 然而真的有了发现,日常中几乎不用虚拟桌面。

具体按键映射表,参考 a-hotkey 的 GitHub 页面

不管怎么说,目的是达到了。 从2017年开始,到哪个电脑、操作系统上,我都会下载并运行。 虽然Bug也是有的,也不是所有的应用中都能使用,可是习惯了,少了它我好像不会用键盘一样。

以及其它#

PowerToys

后来知道了PowerToys,也有自定义按键映射的功能。 a-hotkey更像是提供了一个预定义的方案,不用每个电脑都要配置一次。 (顺便,PowerToys挺有用的,屏幕常亮、麦克风静音、FancyZones等功能都能用上)

自定义触摸板

用了a-hotkey后,我对触摸板的期待就只是光标的移动、点击、页面滚动和右键菜单了。

前段时间换了个搭载Windows 11的Surface Laptop,一方面是新系统,另一方面是专有设备,说不定会有特别的触摸板功能优化,就开始在系统设置中找。

然后发现居然可以对三指、四指进行自定义了,甚至也可以映射至快捷键了。(在“高级手势”里,入口没那么直接) 再后来发现Windows 10也有这功能,此前完全不知道。

一番试用后,做了如下的修改:

  • 三指左滑、右滑对应Ctrl-PageUpCtrl-PageDown进行标签页的切换

  • 三指上滑、下滑对应Ctrl-TCtrl-W进行标签页新建和关闭

  • 四指下滑对应Ctrl-Left,导航后退

  • 四指左右滑动原本就是应用的切换

感觉不够用,有点可惜,不过已经好很多了。

现在浏览网页的时候就可以在触摸板上操作啦,键盘快捷键也非常有用,

棒 (๑•̀ㅂ•́)و✧

A HotKey的一些

开始的时候还考虑用二段快捷键,比如文本操作用Alt-T Alt-{x}、窗口操作用Alt-W Alt-{x}、虚拟桌面操作用Alt-D Alt-{x},这样分类很清晰,左下上右都是HJKL,按键也充足。

可问题是,实在太费力了,每个操作都要双倍按键,而且如果想持续操作(比如一直移动光)简直是噩梦。

有时候有“条理”是心里很舒服,可是效率太低了,非对称也可以美。

另外,我也是后来才知道,还有Alt Gr键,对于欧洲键盘,可能a-hotkey就基本废了。

好的图形界面程序应该去实现各种信号(前进后退、开始停止、缩放旋转、播放暂停、前一首后一首等等),不论这些信号由快捷键发送,还是来自系统调用。

额外的Hashare


标题: 输入的方法
创建: 2019-06-09

以前用得比较多的是台式机,不像现在,天天背着公司的笔记本。 (说来也奇怪,现在家里放着的台式机感觉烂透了,什么都做不了;可以前觉得还挺“厚重”的,做了不少事。删除系统之后,好像一些记忆也渐渐忘了。) 当时为了找工作,就拿了一台非常非常非常烂的笔记本,好过没有设备。(好像……并没有好过)

使用笔记本,鼠标似乎就不会在边上的样子。 要么背着小包,不想多带一个鼠标;要么使用的地方空间没那么大,就像我现在,放在一块石头上;要么,你看,你不是有触摸板吗,要什么自行车?

每每看到有人左手按着触摸板的左键,右手在上面移动,来操作滚动条的时候。啊!!!受不了。

触摸板除了单双击,还有一些手势操作,比如双指滑动、双指轻击、三指滑动等等。 但是好像也没那么多,多数驱动默认只开启了双指手势。而三指、四指,即使开了,也是淡淡的蛋疼,使用效率极低,不知道设计人员怎么想的。 反正自带的触摸板程序令人失望,没有鼠标,就只好在触摸板上拖着手指,去找“最小化”、“关闭”,切换标签页,在任务栏点图标。

触摸板是个输入接口,然而不是为了操控光标指针存在的。 其面积相对屏幕而言,小。用手指移动光标,不如鼠标快速精确。 它的目标输出应是与位置无关的命令。 它是为手势输入存在的。