用 AutoHotKey 和 Keybmap 修改键盘映射
因为对键盘有一些想法。所以想对 Tada68 布局里右边一列设置为 Delete、Home、Fn、End;
对魔蛋 68 的 PgUp、PgDn,改为 Home、End。(刚好把按 Fn 和不按 Fn 的键值反一下)
对于 Tada68 Pro,下载了自定义程序试了一下,好像不能改成我想的那样。
对于魔蛋 68,官方只支持 DIP 设置几个比如 Ctrl 和 CapsLock 互换等,不能自定义键值。
我再就只想到自己写 / 抄一个键盘驱动,把键盘发过来的键值转换一下再发给操作系统。这样就可以达到我的要求了。
本来想放弃了后来想到利用 AHK 替换键值。后来在查找 AHK 资料的时候找到了直接修改注册表的方法。然后搜到了一个叫 Keybmap 的小软件。(PS: 在此之前找到一个叫 KeyTweak 的软件,在我的 Win10 下面不能用,一运行就弹窗报错)
从 Keybmap 的原理上说,只能把 Windows 认得的键值进行映射,里面除了全键盘键以外(左右 Ctrl Shift Alt Win 是不同的),还有一些 Power WakeUP Sleep 这种,还有 WWWHome WWWSearch WWWRefresh 这种(想起了 90 年代的 “多媒体键盘”) 。那么对于各种压缩键盘上的 Fn 键就不支持了(这个 Fn 键是存在于键盘物理层面,对操作系统来说肯定看不到)
于是我的原始需求里,对 68 键的改造就不能用 Keybmap 实现了。
还有就是,对于压缩了的键盘(包括笔记本的键盘),Keybmap 的扫描键值的功能有时候不对。比如,笔记本的【方向键上】,扫描出来是 “方向键右”;Race 的【Home】,扫描出来是 “Power”。当然,为了完成任务,直接在软件里指定键值还是可以正常生效的。
用 Keybmap 试了一下 PgUp -> Home 和 Home->PgUp 同时生效。
我还想到一个:实现 Ctrl + 【小键盘 “+”】,快速调整全部分列宽度。自从用压缩键盘以后就一直没用这个快捷键了。在用详细内容视图浏览文件夹的时候,还是很有用的。
脚本写成这样:
Win + 【= 键】就实现了 Ctrl + 【小键盘 “+”】
不过,实测只在文件浏览器里有效。在比如任务管理器的列表界面或者 Everything 的搜索结果页面就不能起到 104 键盘的 Ctrl + 【小键盘 “+”】的效果。
参考:
https://ahkcn.github.io/docs/misc/Remap.htm
====== 2019/01/25 =====
用了一段时间凯酷 84,右边的 Del Home PgUp PgDn End,还有独立的方向键都挺合适。就差独立的 Insert 键了(终端里面复制粘贴要用到)。
想把 Pause/Scrlk 换成 Insert,结果这颗键很特殊,种方法均失败:
1. 在 KeybMap 里不支持。
2. 在 AHK 里面,能把 Pause 换成 Insert,平时按 Pause 也能生成 Insert 的功能。但是在终端工具(如:Xshell)里面使用 Ctrl+ 这颗键 =Ctrl+Pause/Break,是算作和 Ctrl+C 一样效果的,AHK 没起作用。
对魔蛋
对于
对于魔蛋
我再就只想到自己写
本来想放弃了后来想到利用
从
于是我的原始需求里,对
还有就是,对于压缩了的键盘(包括笔记本的键盘),Keybmap
用
是我的想要的效果。
Keybmap 的原理是修改注册表,修改生效需要注销或重启,再说从我的使用场景来说,如果不用魔蛋 68 键盘的时候就要修改回去再注销 / 重启一下吗?还是 AHK 实现比较方便,想开就开想关就关。
换 AHK 来实现,脚本写成这样:
右键运行,效果也达到了。
我还想到一个:实现 Ctrl + 【小键盘
脚本写成这样:
Win + 【=
不过,实测只在文件浏览器里有效。在比如任务管理器的列表界面或者
参考:
https://ahkcn.github.io/docs/misc/Remap.htm
====== 2019/01/25 =====
用了一段时间凯酷
想把
1. 在
2. 在
我用的是 tada 68 pro,完美的解决了没有没有 home,end 键的问题,我也是 ahk 使用者,感谢你的 ahk 的方法,牛逼
回复删除