网上的方案有很多种,但是都过于复杂,不好记忆,毕竟记不住,功能再丰富都是摆设。所以优化了一下,左边是编辑区,右边是数字区,两种使用方式。
虽然Esc→控制大小写很方便,但尽量原来的设计,毕竟是通用版本,如果自己到时候换个临时电脑不习惯就会很影响效率。
方案1:87键键盘
;注意不能随便设置CapsLock的快捷操作 会冲突
;CapsLock & n:: send +{f10}q
;return
;CapsLock & m:: send +{f10}z
;return
global start := 0
;锁定/解锁使用
^!z::
if(start == 0){
start := 1
MsgBox 锁定 字母数字区
return
}
else{
start := 0
MsgBox 解除 字母数字区
return
}
;临时使用
;顺便修改为enter
CapsLock::
start := 1
KeyWait, CapsLock
start := 0
;这里改为enter键,如果刚刚只按caps就触发为enter
if (A_ThisHotkey="CapsLock")
{
send {enter}
}
return
#if start==1
{
;编辑区
space:: Send {enter}
q:: Send {Home}
w:: Send {Up}
e:: Send {End}
a:: Send {Left}
s:: Send {Down}
d:: Send {Right}
; 增加额外的辅助键会与enter冲突
; 控制键超过三个就不好用了记不住 切忌过度设置变冗余操作
; 另外一种实现方法就是,先win+capslock锁定,然后在按shift配合
+q:: Send +{Home}
+w:: Send +{Up}
+e:: Send +{End}
+a:: Send +{Left}
+s:: Send +{Down}
+d:: Send +{Right}
;为什么直接用 send+return这种格式
;组合件会取消.如果直接::则不会
;且 直接用会出现key长按下无法up起来的bug
; 这里气死,费了我一天才找出原因来。。。。。
c::
send ^c
return
v::
send ^v
return
b:: Send {backspace}
;trash for t
t:: Send {delete}
g:: Send {pgdn}
h:: Send {pgup}
f::
send ^f
return
z::
send ^z
return
x::
send ^x
return
y::
send ^y
return
;数字区
u:: send {4}
i:: send {5}
o:: send {6}
j:: send {1}
k:: send {2}
l:: send {3}
m:: send {0}
,:: send {.}
}
#if
配合图片,简单又好记。
方案2:全键盘方案
就牺牲键盘数字区做鼠标区
global mouCtrlSwh := 0
;设置开关
ScrollLock::
if(mouCtrlSwh == 0){
mouCtrlSwh := 1
; MsgBox, 0, ,==锁定 鼠标区==, 0.5
return
}
else{
mouCtrlSwh := 0
; MsgBox, 0, , ===== 解除 =====, 0.5
return
}
#if mouCtrlSwh==1
{
;=============鼠标区=============
Numpad8:: MouseMove, 0, -50, 0, R
Numpad5:: MouseMove, 0, 50, 0, R
Numpad4:: MouseMove, -50, 0, 0, R
Numpad6:: MouseMove, 50, 0, 0, R
^Numpad8:: MouseMove, 0, -10, 0, R ;按下 ctrl,减慢速度
^Numpad5:: MouseMove, 0, 10, 0, R
^Numpad4:: MouseMove, -10, 0, 0, R
^Numpad6:: MouseMove, 10, 0, 0, R
!Numpad8:: MouseMove, 0, -100, 0, R ;按下 alt,加快速度
!Numpad5:: MouseMove, 0, 100, 0, R
!Numpad4:: MouseMove, -100, 0, 0, R
!Numpad6:: MouseMove, 100, 0, 0, R
Numpad7::
SendEvent {Blind}{lbutton down}
KeyWait 1
SendEvent {Blind}{lbutton up}
return
Numpad9::
SendEvent {Blind}{rbutton down}
KeyWait 2
SendEvent {Blind}{rbutton up}
return
;滚轮区
Numpad0::send {Wheeldown}
Numpad1:: send {Wheelup}
Numpad2:: Send, {WheelLeft}
Numpad3:: Send, {WheelRight}
NumpadSub:: Send, {Esc}
NumpadAdd:: Send, {tab}
;NumpadMult
;NumpadDiv
;NumpadDot
;NumpadEnter
}
#if