clone of my dotfiles.ssp.sh
1;=====================================================================o
2; Feng Ruohang's AHK Script |
3; CapsLock Enhancement |
4;---------------------------------------------------------------------o
5;Description: |
6; This Script is wrote by Feng Ruohang via AutoHotKey Script. It |
7; Provieds an enhancement towards the "Useless Key" CapsLock, and |
8; turns CapsLock into an useful function Key just like Ctrl and Alt |
9; by combining CapsLock with almost all other keys in the keyboard. |
10; |
11;Summary: |
12;o----------------------o---------------------------------------------o
13;|CapsLock; | {ESC} Especially Convient for vim user |
14;|CaspLock + ` | {CapsLock}CapsLock Switcher as a Substituent|
15;|CapsLock + hjklwb | Vim-Style Cursor Mover |
16;|CaspLock + uiop | Convient Home/End PageUp/PageDn |
17;|CaspLock + nm,. | Convient Delete Controller |
18;|CapsLock + zxcvay | Windows-Style Editor |
19;|CapsLock + Direction | Mouse Move |
20;|CapsLock + Enter | Mouse Click |
21;|CaspLock + {F1}~{F6} | Media Volume Controller |
22;|CapsLock + qs | Windows & Tags Control |
23;|CapsLock + ;'[] | Convient Key Mapping |
24;|CaspLock + dfert | Frequently Used Programs (Self Defined) |
25;|CaspLock + 123456 | Dev-Hotkey for Visual Studio (Self Defined) |
26;|CapsLock + 67890-= | Shifter as Shift |
27;-----------------------o---------------------------------------------o
28;|Use it whatever and wherever you like. Hope it help |
29;=====================================================================o
30
31
32;=====================================================================o
33; CapsLock Initializer ;|
34;---------------------------------------------------------------------o
35SetCapsLockState, AlwaysOff ;|
36;---------------------------------------------------------------------o
37
38
39;=====================================================================o
40; CapsLock Switcher: ;|
41;---------------------------------o-----------------------------------o
42; CapsLock + ` | {CapsLock} ;|
43;---------------------------------o-----------------------------------o
44CapsLock & `:: ;|
45GetKeyState, CapsLockState, CapsLock, T ;|
46if CapsLockState = D ;|
47 SetCapsLockState, AlwaysOff ;|
48else ;|
49 SetCapsLockState, AlwaysOn ;|
50KeyWait, `` ;|
51return ;|
52;---------------------------------------------------------------------o
53
54
55;=====================================================================o
56; CapsLock Escaper: ;|
57;----------------------------------o----------------------------------o
58; CapsLock | {ESC} ;|
59;----------------------------------o----------------------------------o
60CapsLock::Send, {ESC} ;|
61;---------------------------------------------------------------------o
62
63
64;=====================================================================o
65; CapsLock Direction Navigator ;|
66;-----------------------------------o---------------------------------o
67; CapsLock + h | Left ;|
68; CapsLock + j | Down ;|
69; CapsLock + k | Up ;|
70; CapsLock + l | Right ;|
71; Ctrl, Alt Compatible ;|
72;-----------------------------------o---------------------------------o
73CapsLock & h:: ;|
74if GetKeyState("control") = 0 ;|
75{ ;|
76 if GetKeyState("alt") = 0 ;|
77 Send, {Left} ;|
78 else ;|
79 Send, +{Left} ;|
80 return ;|
81} ;|
82else { ;|
83 if GetKeyState("alt") = 0 ;|
84 Send, ^{Left} ;|
85 else ;|
86 Send, +^{Left} ;|
87 return ;|
88} ;|
89return ;|
90;-----------------------------------o ;|
91CapsLock & j:: ;|
92if GetKeyState("control") = 0 ;|
93{ ;|
94 if GetKeyState("alt") = 0 ;|
95 Send, {Down} ;|
96 else ;|
97 Send, +{Down} ;|
98 return ;|
99} ;|
100else { ;|
101 if GetKeyState("alt") = 0 ;|
102 Send, ^{Down} ;|
103 else ;|
104 Send, +^{Down} ;|
105 return ;|
106} ;|
107return ;|
108;-----------------------------------o ;|
109CapsLock & k:: ;|
110if GetKeyState("control") = 0 ;|
111{ ;|
112 if GetKeyState("alt") = 0 ;|
113 Send, {Up} ;|
114 else ;|
115 Send, +{Up} ;|
116 return ;|
117} ;|
118else { ;|
119 if GetKeyState("alt") = 0 ;|
120 Send, ^{Up} ;|
121 else ;|
122 Send, +^{Up} ;|
123 return ;|
124} ;|
125return ;|
126;-----------------------------------o ;|
127CapsLock & l:: ;|
128if GetKeyState("control") = 0 ;|
129{ ;|
130 if GetKeyState("alt") = 0 ;|
131 Send, {Right} ;|
132 else ;|
133 Send, +{Right} ;|
134 return ;|
135} ;|
136else { ;|
137 if GetKeyState("alt") = 0 ;|
138 Send, ^{Right} ;|
139 else ;|
140 Send, +^{Right} ;|
141 return ;|
142} ;|
143return ;|
144;---------------------------------------------------------------------o
145
146
147;=====================================================================o
148; CapsLock Home/End Navigator ;|
149;-----------------------------------o---------------------------------o
150; CapsLock + i | Home ;|
151; CapsLock + o | End ;|
152; Ctrl, Alt Compatible ;|
153;-----------------------------------o---------------------------------o
154CapsLock & i:: ;|
155if GetKeyState("control") = 0 ;|
156{ ;|
157 if GetKeyState("alt") = 0 ;|
158 Send, {Home} ;|
159 else ;|
160 Send, +{Home} ;|
161 return ;|
162} ;|
163else { ;|
164 if GetKeyState("alt") = 0 ;|
165 Send, ^{Home} ;|
166 else ;|
167 Send, +^{Home} ;|
168 return ;|
169} ;|
170return ;|
171;-----------------------------------o ;|
172CapsLock & o:: ;|
173if GetKeyState("control") = 0 ;|
174{ ;|
175 if GetKeyState("alt") = 0 ;|
176 Send, {End} ;|
177 else ;|
178 Send, +{End} ;|
179 return ;|
180} ;|
181else { ;|
182 if GetKeyState("alt") = 0 ;|
183 Send, ^{End} ;|
184 else ;|
185 Send, +^{End} ;|
186 return ;|
187} ;|
188return ;|
189;---------------------------------------------------------------------o
190
191
192;=====================================================================o
193; CapsLock Page Navigator ;|
194;-----------------------------------o---------------------------------o
195; CapsLock + u | PageUp ;|
196; CapsLock + p | PageDown ;|
197; Ctrl, Alt Compatible ;|
198;-----------------------------------o---------------------------------o
199CapsLock & u:: ;|
200if GetKeyState("control") = 0 ;|
201{ ;|
202 if GetKeyState("alt") = 0 ;|
203 Send, {PgUp} ;|
204 else ;|
205 Send, +{PgUp} ;|
206 return ;|
207} ;|
208else { ;|
209 if GetKeyState("alt") = 0 ;|
210 Send, ^{PgUp} ;|
211 else ;|
212 Send, +^{PgUp} ;|
213 return ;|
214} ;|
215return ;|
216;-----------------------------------o ;|
217CapsLock & p:: ;|
218if GetKeyState("control") = 0 ;|
219{ ;|
220 if GetKeyState("alt") = 0 ;|
221 Send, {PgDn} ;|
222 else ;|
223 Send, +{PgDn} ;|
224 return ;|
225} ;|
226else { ;|
227 if GetKeyState("alt") = 0 ;|
228 Send, ^{PgDn} ;|
229 else ;|
230 Send, +^{PgDn} ;|
231 return ;|
232} ;|
233return ;|
234;---------------------------------------------------------------------o
235
236
237;=====================================================================o
238; CapsLock Mouse Controller ;|
239;-----------------------------------o---------------------------------o
240; CapsLock + Up | Mouse Up ;|
241; CapsLock + Down | Mouse Down ;|
242; CapsLock + Left | Mouse Left ;|
243; CapsLock + Right | Mouse Right ;|
244; CapsLock + Enter(Push Release) | Mouse Left Push(Release) ;|
245;-----------------------------------o---------------------------------o
246CapsLock & Up:: MouseMove, 0, -10, 0, R ;|
247CapsLock & Down:: MouseMove, 0, 10, 0, R ;|
248CapsLock & Left:: MouseMove, -10, 0, 0, R ;|
249CapsLock & Right:: MouseMove, 10, 0, 0, R ;|
250;-----------------------------------o ;|
251CapsLock & Enter:: ;|
252SendEvent {Blind}{LButton down} ;|
253KeyWait Enter ;|
254SendEvent {Blind}{LButton up} ;|
255return ;|
256;---------------------------------------------------------------------o
257
258
259;=====================================================================o
260; CapsLock Deletor ;|
261;-----------------------------------o---------------------------------o
262; CapsLock + n | Ctrl + Delete (Delete a Word) ;|
263; CapsLock + m | Delete ;|
264; CapsLock + , | BackSpace ;|
265; CapsLock + . | Ctrl + BackSpace ;|
266;-----------------------------------o---------------------------------o
267CapsLock & ,:: Send, {Del} ;|
268CapsLock & .:: Send, ^{Del} ;|
269CapsLock & m:: Send, {BS} ;|
270CapsLock & n:: Send, ^{BS} ;|
271;---------------------------------------------------------------------o
272
273
274;=====================================================================o
275; CapsLock Editor ;|
276;-----------------------------------o---------------------------------o
277; CapsLock + z | Ctrl + z (Cancel) ;|
278; CapsLock + x | Ctrl + x (Cut) ;|
279; CapsLock + c | Ctrl + c (Copy) ;|
280; CapsLock + v | Ctrl + z (Paste) ;|
281; CapsLock + a | Ctrl + a (Select All) ;|
282; CapsLock + y | Ctrl + z (Yeild) ;|
283; CapsLock + w | Ctrl + Right(Move as [vim: w]);|
284; CapsLock + b | Ctrl + Left (Move as [vim: b]);|
285;-----------------------------------o---------------------------------o
286CapsLock & z:: Send, ^z ;|
287CapsLock & x:: Send, ^x ;|
288CapsLock & c:: Send, ^c ;|
289CapsLock & v:: Send, ^v ;|
290CapsLock & a:: Send, ^a ;|
291CapsLock & y:: Send, ^y ;|
292CapsLock & w:: Send, ^{Right} ;|
293CapsLock & b:: Send, ^{Left} ;|
294;---------------------------------------------------------------------o
295
296
297;=====================================================================o
298; CapsLock Media Controller ;|
299;-----------------------------------o---------------------------------o
300; CapsLock + F1 | Volume_Mute ;|
301; CapsLock + F2 | Volume_Down ;|
302; CapsLock + F3 | Volume_Up ;|
303; CapsLock + F3 | Media_Play_Pause ;|
304; CapsLock + F5 | Media_Next ;|
305; CapsLock + F6 | Media_Stop ;|
306;-----------------------------------o---------------------------------o
307CapsLock & F1:: Send, {Volume_Mute} ;|
308CapsLock & F2:: Send, {Volume_Down} ;|
309CapsLock & F3:: Send, {Volume_Up} ;|
310CapsLock & F4:: Send, {Media_Play_Pause} ;|
311CapsLock & F5:: Send, {Media_Next} ;|
312CapsLock & F6:: Send, {Media_Stop} ;|
313;---------------------------------------------------------------------o
314
315
316;=====================================================================o
317; CapsLock Window Controller ;|
318;-----------------------------------o---------------------------------o
319; CapsLock + s | Ctrl + Tab (Swith Tag) ;|
320; CapsLock + q | Ctrl + W (Close Tag) ;|
321; (Disabled) Alt + CapsLock + s | AltTab (Switch Windows) ;|
322; Alt + CapsLock + q | Ctrl + Tab (Close Windows) ;|
323; CapsLock + g | AppsKey (Menu Key) ;|
324;-----------------------------------o---------------------------------o
325CapsLock & s::Send, ^{Tab} ;|
326;-----------------------------------o ;|
327CapsLock & q:: ;|
328if GetKeyState("alt") = 0 ;|
329{ ;|
330 Send, ^w ;|
331} ;|
332else { ;|
333 Send, !{F4} ;|
334 return ;|
335} ;|
336return ;|
337;-----------------------------------o ;|
338CapsLock & g:: Send, {AppsKey} ;|
339;---------------------------------------------------------------------o
340
341
342;=====================================================================o
343; CapsLock Self Defined Area ;|
344;-----------------------------------o---------------------------------o
345; CapsLock + d | Alt + d(Dictionary) ;|
346; CapsLock + f | Alt + f(Search via Everything);|
347; CapsLock + e | Open Search Engine ;|
348; CapsLock + r | Open Shell ;|
349; CapsLock + t | Open Text Editor ;|
350;-----------------------------------o---------------------------------o
351CapsLock & d:: Send, !d ;|
352CapsLock & f:: Send, !f ;|
353CapsLock & e:: Run http://cn.bing.com/ ;|
354CapsLock & r:: Run Powershell ;|
355CapsLock & t:: Run C:\Program Files (x86)\Notepad++\notepad++.exe ;|
356;---------------------------------------------------------------------o
357
358
359;=====================================================================o
360; CapsLock Char Mapping ;|
361;-----------------------------------o---------------------------------o
362; CapsLock + ; | Enter (Cancel) ;|
363; CapsLock + ' | = ;|
364; CapsLock + [ | Back (Visual Studio) ;|
365; CapsLock + ] | Goto Define (Visual Studio) ;|
366; CapsLock + / | Comment (Visual Studio) ;|
367; CapsLock + \ | Uncomment (Visual Studio) ;|
368; CapsLock + 1 | Build and Run(Visual Studio) ;|
369; CapsLock + 2 | Debuging (Visual Studio) ;|
370; CapsLock + 3 | Step Over (Visual Studio) ;|
371; CapsLock + 4 | Step In (Visual Studio) ;|
372; CapsLock + 5 | Stop Debuging(Visual Studio) ;|
373; CapsLock + 6 | Shift + 6 ^ ;|
374; CapsLock + 7 | Shift + 7 & ;|
375; CapsLock + 8 | Shift + 8 * ;|
376; CapsLock + 9 | Shift + 9 ( ;|
377; CapsLock + 0 | Shift + 0 ) ;|
378;-----------------------------------o---------------------------------o
379CapsLock & `;:: Send, {Enter} ;|
380CapsLock & ':: Send, = ;|
381CapsLock & [:: Send, ^- ;|
382CapsLock & ]:: Send, {F12} ;|
383;-----------------------------------o ;|
384CapsLock & /:: ;|
385Send, ^e ;|
386Send, c ;|
387return ;|
388;-----------------------------------o ;|
389CapsLock & \:: ;|
390Send, ^e ;|
391Send, u ;|
392return ;|
393;-----------------------------------o ;|
394CapsLock & 1:: Send,^{F5} ;|
395CapsLock & 2:: Send,{F5} ;|
396CapsLock & 3:: Send,{F10} ;|
397CapsLock & 4:: Send,{F11} ;|
398CapsLock & 5:: Send,+{F5} ;|
399;-----------------------------------o ;|
400CapsLock & 6:: Send,+6 ;|
401CapsLock & 7:: Send,+7 ;|
402CapsLock & 8:: Send,+8 ;|
403CapsLock & 9:: Send,+9 ;|
404CapsLock & 0:: Send,+0 ;|
405;---------------------------------------------------------------------o