Last active
March 6, 2017 07:18
-
-
Save laxapple/b7fa19ad3dceeb954fde to your computer and use it in GitHub Desktop.
CapsLock enhancement
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;=====================================================================o | |
; Feng Ruohang's AHK Script | | |
; CapsLock Enhancement | | |
;---------------------------------------------------------------------o | |
; Modified by Colin Tang | | |
;---------------------------------------------------------------------o | |
;Description: | | |
; This Script is wrote by Feng Ruohang via AutoHotKey Script. It | | |
; Provides an enhancement towards the "Useless Key" CapsLock, and | | |
; turns CapsLock into an useful function Key just like Ctrl and Alt | | |
; by combining CapsLock with almost all other keys in the keyboard. | | |
; | | |
;Summary: | | |
;o----------------------o---------------------------------------------o | |
;|CapsLock; | {ESC} Especially convenient for vim user | | |
;|CaspLock + ` | {CapsLock}CapsLock Switcher as a Substituent| | |
;|CapsLock + hjklwb | Vim-Style Cursor Mover | | |
;|CaspLock + uiop | Convenient Home/End PageUp/PageDn | | |
;|CaspLock + nm,. | Convenient Delete Controller | | |
;|CapsLock + zxcvay | Windows-Style Editor | | |
;|CapsLock + Direction | Mouse Move | | |
;|CapsLock + Enter | Mouse Click | | |
;|CaspLock + {F1}~{F6} | Media Volume Controller | | |
;|CapsLock + qs | Windows & Tags Control | | |
;|CapsLock + ;'[] | Convenient Key Mapping | | |
;|CaspLock + dfert | Frequently Used Programs (Self Defined) | | |
;|CaspLock + 123456 | Dev-Hotkey for Visual Studio (Self Defined) | | |
;|CapsLock + 67890-= | Shifter as Shift | | |
;-----------------------o---------------------------------------------o | |
;|Use it whatever and wherever you like. Hope it helps! | | |
;=====================================================================o | |
;=====================================================================o | |
; CapsLock Initializer ;| | |
;---------------------------------------------------------------------o | |
SetCapsLockState, AlwaysOff ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Switcher: ;| | |
;---------------------------------o-----------------------------------o | |
; CapsLock + ` | {CapsLock} ;| | |
;---------------------------------o-----------------------------------o | |
CapsLock & `:: ;| | |
GetKeyState, CapsLockState, CapsLock, T ;| | |
if CapsLockState = D ;| | |
SetCapsLockState, AlwaysOff ;| | |
else ;| | |
SetCapsLockState, AlwaysOn ;| | |
KeyWait, `` ;| | |
return ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Escaper: ;| | |
;----------------------------------o----------------------------------o | |
; CapsLock | {ESC} ;| | |
;----------------------------------o----------------------------------o | |
CapsLock::Send, {ESC} ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Direction Navigator ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + h | Left ;| | |
; CapsLock + j | Down ;| | |
; CapsLock + k | Up ;| | |
; CapsLock + l | Right ;| | |
; Ctrl, Alt Compatible ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & h:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {Left} ;| | |
else ;| | |
Send, +{Left} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{Left} ;| | |
else ;| | |
Send, +^{Left} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & j:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {Down} ;| | |
else ;| | |
Send, +{Down} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{Down} ;| | |
else ;| | |
Send, +^{Down} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & k:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {Up} ;| | |
else ;| | |
Send, +{Up} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{Up} ;| | |
else ;| | |
Send, +^{Up} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & l:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {Right} ;| | |
else ;| | |
Send, +{Right} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{Right} ;| | |
else ;| | |
Send, +^{Right} ;| | |
return ;| | |
} ;| | |
return ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Home/End Navigator ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + i | Home ;| | |
; CapsLock + o | End ;| | |
; Ctrl, Alt Compatible ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & i:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {Home} ;| | |
else ;| | |
Send, +{Home} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{Home} ;| | |
else ;| | |
Send, +^{Home} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & o:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {End} ;| | |
else ;| | |
Send, +{End} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{End} ;| | |
else ;| | |
Send, +^{End} ;| | |
return ;| | |
} ;| | |
return ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Page Navigator ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + u | PageUp ;| | |
; CapsLock + p | PageDown ;| | |
; Ctrl, Alt Compatible ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & u:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {PgUp} ;| | |
else ;| | |
Send, +{PgUp} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{PgUp} ;| | |
else ;| | |
Send, +^{PgUp} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & p:: ;| | |
if GetKeyState("control") = 0 ;| | |
{ ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, {PgDn} ;| | |
else ;| | |
Send, +{PgDn} ;| | |
return ;| | |
} ;| | |
else { ;| | |
if GetKeyState("alt") = 0 ;| | |
Send, ^{PgDn} ;| | |
else ;| | |
Send, +^{PgDn} ;| | |
return ;| | |
} ;| | |
return ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Mouse Controller ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + Up | Mouse Up ;| | |
; CapsLock + Down | Mouse Down ;| | |
; CapsLock + Left | Mouse Left ;| | |
; CapsLock + Right | Mouse Right ;| | |
; CapsLock + Enter(Push Release) | Mouse Left Push(Release) ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & Up:: MouseMove, 0, -10, 0, R ;| | |
CapsLock & Down:: MouseMove, 0, 10, 0, R ;| | |
CapsLock & Left:: MouseMove, -10, 0, 0, R ;| | |
CapsLock & Right:: MouseMove, 10, 0, 0, R ;| | |
;-----------------------------------o ;| | |
CapsLock & Enter:: ;| | |
SendEvent {Blind}{LButton down} ;| | |
KeyWait Enter ;| | |
SendEvent {Blind}{LButton up} ;| | |
return ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Deletor ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + n | Ctrl + Delete (Delete a Word) ;| | |
; CapsLock + m | Delete ;| | |
; CapsLock + , | BackSpace ;| | |
; CapsLock + . | Ctrl + BackSpace ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & ,:: Send, {Del} ;| | |
CapsLock & .:: Send, ^{Del} ;| | |
CapsLock & m:: Send, {BS} ;| | |
CapsLock & n:: Send, ^{BS} ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Editor ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + z | Ctrl + z (Cancel) ;| | |
; CapsLock + x | Ctrl + x (Cut) ;| | |
; CapsLock + c | Ctrl + c (Copy) ;| | |
; CapsLock + v | Ctrl + z (Paste) ;| | |
; CapsLock + a | Ctrl + a (Select All) ;| | |
; CapsLock + y | Ctrl + z (Yeild) ;| | |
; CapsLock + w | Ctrl + Right(Move as [vim: w]);| | |
; CapsLock + b | Ctrl + Left (Move as [vim: b]);| | |
;-----------------------------------o---------------------------------o | |
CapsLock & z:: Send, ^z ;| | |
CapsLock & x:: Send, ^x ;| | |
CapsLock & c:: Send, ^c ;| | |
CapsLock & v:: Send, ^v ;| | |
CapsLock & a:: Send, ^a ;| | |
CapsLock & y:: Send, ^y ;| | |
CapsLock & w:: Send, ^{Right} ;| | |
CapsLock & b:: Send, ^{Left} ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Media Controller ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + F1 | Volume_Mute ;| | |
; CapsLock + F2 | Volume_Down ;| | |
; CapsLock + F3 | Volume_Up ;| | |
; CapsLock + F3 | Media_Play_Pause ;| | |
; CapsLock + F5 | Media_Next ;| | |
; CapsLock + F6 | Media_Stop ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & F1:: Send, {Volume_Mute} ;| | |
CapsLock & F2:: Send, {Volume_Down} ;| | |
CapsLock & F3:: Send, {Volume_Up} ;| | |
CapsLock & F4:: Send, {Media_Play_Pause} ;| | |
CapsLock & F5:: Send, {Media_Next} ;| | |
CapsLock & F6:: Send, {Media_Stop} ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Window Controller ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + s | Ctrl + Tab (Swith Tag) ;| | |
; CapsLock + q | Ctrl + W (Close Tag) ;| | |
; (Disabled) Alt + CapsLock + s | AltTab (Switch Windows) ;| | |
; Alt + CapsLock + q | Ctrl + Tab (Close Windows) ;| | |
; CapsLock + g | AppsKey (Menu Key) ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & s::Send, ^{Tab} ;| | |
;-----------------------------------o ;| | |
CapsLock & q:: ;| | |
if GetKeyState("alt") = 0 ;| | |
{ ;| | |
Send, ^w ;| | |
} ;| | |
else { ;| | |
Send, !{F4} ;| | |
return ;| | |
} ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & g:: Send, {AppsKey} ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Self Defined Area ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + d | Alt + d(Dictionary) ;| | |
; CapsLock + f | Alt + f(Search via Everything);| | |
; CapsLock + e | Open Search Engine ;| | |
; CapsLock + r | Open Shell ;| | |
; CapsLock + t | Open Text Editor ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & d:: Send, !d ;| | |
CapsLock & f:: Send, !f ;| | |
CapsLock & e:: Run http://cn.bing.com/ ;| | |
CapsLock & r:: Run Powershell ;| | |
CapsLock & t:: Run C:\Program Files (x86)\Notepad++\notepad++.exe ;| | |
;---------------------------------------------------------------------o | |
;=====================================================================o | |
; CapsLock Char Mapping ;| | |
;-----------------------------------o---------------------------------o | |
; CapsLock + ; | Enter (Cancel) ;| | |
; CapsLock + ' | = ;| | |
; CapsLock + [ | Back (Visual Studio) ;| | |
; CapsLock + ] | Goto Define (Visual Studio) ;| | |
; CapsLock + / | Comment (Visual Studio) ;| | |
; CapsLock + \ | Uncomment (Visual Studio) ;| | |
; CapsLock + 1 | Build and Run(Visual Studio) ;| | |
; CapsLock + 2 | Debuging (Visual Studio) ;| | |
; CapsLock + 3 | Step Over (Visual Studio) ;| | |
; CapsLock + 4 | Step In (Visual Studio) ;| | |
; CapsLock + 5 | Stop Debuging(Visual Studio) ;| | |
; CapsLock + 6 | Shift + 6 ^ ;| | |
; CapsLock + 7 | Shift + 7 & ;| | |
; CapsLock + 8 | Shift + 8 * ;| | |
; CapsLock + 9 | Shift + 9 ( ;| | |
; CapsLock + 0 | Shift + 0 ) ;| | |
;-----------------------------------o---------------------------------o | |
CapsLock & `;:: Send, {Enter} ;| | |
CapsLock & ':: Send, = ;| | |
CapsLock & [:: Send, ^- ;| | |
CapsLock & ]:: Send, {F12} ;| | |
;-----------------------------------o ;| | |
CapsLock & /:: ;| | |
Send, ^e ;| | |
Send, c ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & \:: ;| | |
Send, ^e ;| | |
Send, u ;| | |
return ;| | |
;-----------------------------------o ;| | |
CapsLock & 1:: Send,{F1} ;| | |
CapsLock & 2:: Send,{F2} ;| | |
CapsLock & 3:: Send,{F3} ;| | |
CapsLock & 4:: Send,{F4} ;| | |
CapsLock & 5:: Send,{F5} ;| | |
CapsLock & 6:: Send,{F6} ;| | |
CapsLock & 7:: Send,{F7} ;| | |
CapsLock & 8:: Send,{F8} ;| | |
CapsLock & 9:: Send,{F9} ;| | |
CapsLock & 0:: Send,{F10} ;| | |
;---------------------------------------------------------------------o |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment