比如希望输入 ;e
(英文分号)自动转换成 æ
用 ::;e::æ
可以成功做到
但是,用中文输入法时输入 ;e
(中文分号) 也自动转换了
我知道可以用 AHK 判断输入法状态,但想问问有没有什么设置可以直接设置优先级,让按键先经过输入法,如果吐出的是 ;e
(英文分号)再让 AHK 转换,如果输入法吐出的是 ;e
(中文分号)就不需要 AHK 转换了
ahk做的是键盘监控. 所以从根上就不行了.
你需要的是支持自动更正的功能, 比如 word. 或者输入法本身.
如果这种特殊的热字符串不多, 我比较支持用输入法本身的功能.
感谢回复
在浏览器、文本文件等多种地方使用,所以 word 无用
因为要输入这种字母的时候整体是在输入欧洲语言,所以是不开输入法的,所以不能用输入法自己的自定义短语功能
在不开输入法的时候用 ahk 实现这种自动替换本来能成功,但一开输入法就干扰了
看来只能用 ahk 判断输入法状态了
当然还有个更省事的办法就是改成别的不会用到的键,比如我现在改成 \e
了
把 ;e
换成 ;;e
虽然按键次数增加了,但误触发机率大幅下降
同一个键按两次也不会慢多少
嗯,这也是个办法
试试这段代码:
~space::
{
send , {Left}
send, {Left}
send, {Left}
send , +{Right}
send , +{Right}
send , +{Right}
send , ^c
Switch Clipboard
{
case "小众 ":
send {Text}appinn.com
return
case ";e ":
send {Text}æ
return
Default:
send ,{Right}
}
return
}
return
副作用是会扰乱粘贴板,如果介意,可以自己改改代码,在使用后把粘贴板还原
非常感谢,试了下似乎效果是每打一个词都让光标先往左再往右?这个副作用似乎有点太大了
按下空格时,向左回溯了三个字(中文或英文字符)(当然也可以设定成n个字),复制这三个字符进行对比,执行相应操作。
按照人类的打字速度,这样操作并不会产生实际影响。
就是非常影响美感……
要是用工具的话:
s+.net 是支持热字符串的.
貌似这个和ahk直接::;e::æ效果一样,
区分不了 ;e 和 ;e