谢谢帮助。
暂时直接用你的代码实现了功能先(可能臃肿了,应该有别的方法精简),明天再弄懂原理。
功能:
capslock+edsf=上下左右
capslock+nm,jkluio=123456789(把九宫格数字键放到k为中心的区域)
capslock+space=0
capslock+;=end
capslock+‘=home
capslock+backspace=删除光标所在行内容
这样写代码什么的手应该基本不用离开主键位区域了
Code: Select all
CapsLock::
CapsLock2:=CapsLock:=1
KeyWait, CapsLock
if CapsLock2
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On"
CapsLock2:=CapsLock:=""
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CapsLock+edsf=上下左右;;;;;;;;;;;;;;;;;;;;;
#If CapsLock
s::
SendInput,{left}
CapsLock2:=""
Return
#If
#If CapsLock
f::
SendInput,{right}
CapsLock2:=""
Return
#If
#If CapsLock
e::
SendInput,{up}
CapsLock2:=""
Return
#If
#If CapsLock
d::
SendInput,{down}
CapsLock2:=""
Return
#If
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CapsLock+nm,jkluio=123456789;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CapsLock+Space=0;;;;;;;;;;;;;;;;;;;;;;;;;;;
#If CapsLock
n::
SendInput,{1}
CapsLock2:=""
Return
#If
#If CapsLock
m::
SendInput,{2}
CapsLock2:=""
Return
#If
#If CapsLock
,::
SendInput,{3}
CapsLock2:=""
Return
#If
#If CapsLock
j::
SendInput,{4}
CapsLock2:=""
Return
#If
#If CapsLock
k::
SendInput,{5}
CapsLock2:=""
Return
#If
#If CapsLock
l::
SendInput,{6}
CapsLock2:=""
Return
#If
#If CapsLock
u::
SendInput,{7}
CapsLock2:=""
Return
#If
#If CapsLock
i::
SendInput,{8}
CapsLock2:=""
Return
#If
#If CapsLock
o::
SendInput,{9}
CapsLock2:=""
Return
#If
#If CapsLock
Space::
SendInput,{0}
CapsLock2:=""
Return
#If
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CapsLock+;=end;;;CapsLock+'=home;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CapsLock+BackSpace=删除光标所处一行;;;;;;;;;;;
#If CapsLock
`;::
SendInput,{End}
CapsLock2:=""
Return
#If
#If CapsLock
'::
SendInput,{Home}
CapsLock2:=""
Return
#If
#If CapsLock
BackSpace::
SendInput,{End}+{home}{bs}
CapsLock2:=""
Return
#If
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;