个人觉得:更高频使用,不想每次都按 shift+;来输出:

个人觉得:更高频使用,不想每次都按 shift+;来输出:
1 infoscope Feb 3, 2024 via iPhone PowerToys 里有改键工具 |
2 Mithril Feb 3, 2024 其实软件的话,就两种方法 要么 hook 类的,比如 PowerToys 。但有的软件会顶掉你的 hook ,比如 mstsc 。 另外就是驱动级的,比如 https://github.com/cajhin/capsicain 这类的。虽说他们用的驱动也是签过名的,但这种非常底层的映射也可能被某些程序视为恶意软件。 最好用的,找个支持硬件改键的键盘。有的键盘固件支持这种功能,之前大 F 的某些款甚至还带跳线开关,不过开关只能映射几个键。 自己选个方案,随便找找就行了。 |
3 crazyweeds Feb 4, 2024 autohotkey 应该非常简单,曾经用它直接换了键盘布局。。在一些场景下会失效,比如 qq 密码输入框,大概率是不行的。 |
4 loginv2 Feb 4, 2024 楼上几位可能没有自己试过这个问题,楼主估计试过,这个问题我感觉并不好写,难点以上个 shift 和单独按键这俩事件不能冲突,另一个是;是关键字,需要处理转义,反正我写了半天是没成功,要么只有一个好使,要么就全都失灵 给楼主另一个思路 ,单击输入 冒号,双击输入分号 $`;:: if pressesCount > 0 ; > 0 说明 SetTimer 已经启动了,按键次数递增 { pressesCount += 1 return } ;否则,这是新一系列按键的首次按键。将计数设重置为 1 ,并启动定时器: pressesCount = 1 SetTimer, WaitKey, 400 ;在 400 毫秒内等待更多的按键。 return WaitKey: SetTimer, WaitKey, off if pressesCount = 1 ;该键已按过一次。 { Gosub singleClick } else if pressesCount = 2 ;该键已按过两次。 { Gosub doubleClick } ;不论上面哪个动作被触发,将计数复位以备下一系列的按键: pressesCount = 0 return singleClick: send : return doubleClick: send {;} return |
5 loginv2 Feb 4, 2024 不熟悉 ahk 语法,如果有大佬实现了楼主的想法,非常好奇是怎么实现的 |
6 weijancc Feb 4, 2024 @loginv2 #5 不用那么复杂的, ahk 可以配置不触发脚本内定义的逻辑, 用三行 ahk 就能实现楼主需求. ```ahk #UseHook on `;::SendInput, : :::SendInput, `; ``` |
7 tyrone2333 Feb 4, 2024 我也一直在找对调的方法-- win 上没实现, mac 用 Karabiner 换键位倒是很简单 |
8 sankemao Feb 4, 2024 $`;::Send `: $+`;::Send `; |
9 Dganzh OP 试了 8 楼的,可以了。 感谢大家! |