用AutoHotkey避免中文输入法智能成对标点的bug

Windows多款输入法有智能标点功能,比如按下 ( 键,输入法会上屏 () 且把光标左移到括号中间。但某些输入法与 Logseq 不兼容,多人反馈过此 bug,但官方尚未解决。

今天借用 AutoHotkey 避免了此 bug,代码如下:

#IfWinActive ahk_exe Logseq.exe 
;避免 Logseq bug:中文输入法智能标点自动移位
	+0::
		Send {u+ff08}{u+ff09} 
		;直接写括号,会导致循环调用。
		;目前写法,仍会不时发送shift,导致多多输入法中英切换,只好修改为ctrl切换。
		Sleep 100 
		;在LS中,延时是必要的,时间过短都不行
		SendInput {Left}
	return

	+9::
		Send {u+0028}{u+0029}
		Sleep 100
		SendInput {Left}
	return
#IfWinActive