试问: windows 下如何优雅地定义全局快捷键

2017-09-24 12:52:15 +08:00
 xzpjerry731

需要:实现像 keyboard Maestro 那种感觉,设定出来就是全局的快捷键,拥有最高优先级。

刚刚试了下 autohotkey,感觉比较接近了,但这厮直接弄出了一门编程语言,感觉学习成本有点高,然后是似乎不能实现全局的样子。(我先让 win 和 ctrl 对换,然后 win + space = Cortan, 然而对换后复制不了东西,估计和某个快捷键冲突了)

搞不懂为什么 windows 不把这个设置添加到控制面板里面 T_T

4916 次点击
所在节点    问与答
11 条回复
geelaw
2017-09-24 13:24:08 +08:00
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646309(v=vs.85).aspx

用 RegisterHotKey 函数,注意你仍然不能注册一些快捷键,例如 Ctrl+Alt+Delete。此外,不应注册带有 Windows 键的快捷键——它们是系统保留的。
myang
2017-09-24 13:28:28 +08:00
ahk 是最优雅的方式。学习成本高主要是指实现复杂功能,如果只定义快捷键几乎没有什么学习成本,而且肯定好用。话说我的一行 CapsLock::Ctrl 复制粘贴用了无数年没遇到过冲突……
LU35
2017-09-24 13:32:32 +08:00
我也是用的 AHK 来实现的,看 5 分钟教程就能写出来。
ethanlu
2017-09-24 13:35:27 +08:00
@myang capslock 代替 ctrl 键么?
MinonHeart
2017-09-24 16:41:30 +08:00
有键盘支持重定义按键、宏定义和应用程序场景切换快捷键,觉得很好用
myang
2017-09-24 17:05:48 +08:00
@ethanlu capslock 这么舒服的位置,不用来代替 ctrl 没天理啊。capslock 可以随便放到别的不用的键上,比如 scroollock,我是用左右 shift 一起按代替,不过一年也按不到一次:
<+RShift::CapsLock
>+LShift::CapsLock
ethanlu
2017-09-24 19:10:42 +08:00
@myang 好像有点道理,ctrl 有时候按的小拇指和手掌连接处都疼
AEANWspPmj3FUhDc
2017-09-24 19:54:16 +08:00
xzpjerry731
2017-09-25 03:45:48 +08:00
@geelaw #1 谢了, 若走投无路就只好自己做个

@myang #2 我只是想把 windows 常用的快捷键和 mac 同步下位置。。。我目前就是用最初级的那个映射方法,先用 sharpkeys 调换下左 ctrl 和左 win 的位置,然后<^Space::#s, 但是奇怪的是按出来的是 ctrl + s, 换成>#s 也是这样

@ivlioioilvi #8 谢了,不过这个不能定义组合键。。。
myang
2017-09-25 12:46:50 +08:00
@xzpjerry731 ahk 定义的时候,冒号前面表示要按的键盘上的键位,所以你写的不对。另外用 sharpkey 是为什么呢?没用过所以不清楚,至少你的需求一个 ahk 就够了呀:

LWin::LCtrl
LCtrl::LWin
<#Space::#s
xzpjerry731
2017-09-25 21:36:10 +08:00
@myang #10 谢谢回复,知道呀; 我刚开始和你写多一样的,但遇到了一个问题(记不太清了,好像是 lctrl 换不到 lwin 上,但是 lwin 是到了 lctrl 上到,晚上回来再折腾下。。。)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/393198

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX