这是我在AHK论坛看到的一篇文章,我觉得可能很多人都有这个烦恼,所以想问问CL大大咋们Quicker能不能解决这个问题,或者以后能不能考虑来解决一下这个痛点:
原地址:https://www.autohotkey.com/boards/viewtopic.php?t=78281
Code: Select all - Expand View - Toggle Line numbers
GroupAdd, DesignerGroup, ahk_class illustrator ;把需要这个功能的软件编组
GroupAdd, DesignerGroup, ahk_class Photoshop
GroupAdd, DesignerGroup, ahk_class GHOST_WindowClass
#IfWinActive, ahk_group DesignerGroup
; #IfWinActive, ("ahk_class Photoshop") or WinActive("ahk_class illustrator") or WinActive("ahk_class GHOST_WindowClass")
~LButton::
If (A_Cursor = "IBeam") ;当前显示的鼠标光标类型,IBeam(工字光标, 文本选择--输入)
SendInput, ^+8 ;这个在'输入语言热键'里设置的,一键切换到小狼毫的按键
Else
SendInput, ^+9 ;这是直接切换到英语的热键
Return
#IfWinActive
这段脚本在chrme、notepad还有搜索里运行良好,在PS和AI的另存为窗口里也运行良好,但在PS和AI本体里完全无
回答1:
我又实验了一下,因为PS和AI也经常要用到Ctrl和Shift键,所以用主楼的方法经常会出发一些不想要的操作,改了改改改成了用大小写控制中英文状态。但是问题仍然存在,用PS的文字工具,这个脚本就不生效,但在重命名图层、另存为、改变透明度百分比的时候,都是生效的。
Code: Select all - Toggle Line numbers
;如果光标不在输入状态,就开大写
~LButton::
If (A_Cursor = "IBeam") ;当前显示的鼠标光标类型,IBeam(工字光标, 文本选择--输入)
SetCapsLockState, Off
Else
SetCapsLockState, On
Return
感谢解答。quicker可以获取到大多数软件光标状态的,唯独设计类的软件获取不到。例如PS,AI,ID,CDR,CAD等,而这一类软件却是输入中文和快捷键之间冲突的重灾区。可能他们是软件内光标的原因吧~?
看了其他扩展也是无法自动判别该类软件是否是输入状态,暂时无更好的解决办法。
尝试弄了个针对ps的扩展,是通过颜色查找的方式判定是否激活输入状态,但也只是针对特定环境才用得上,https://getquicker.net/Sharedaction?code=3d2a93d1-3b97-4937-e1c5-08d974e692d3