Capslock
Make CapsLock Great Again!
显著提高APM!!
- 功能强大:基于⇪CapsLock的新功能键Hyper可以与任何按键组合,提供强大的定制性。
- 精心设计:在作者两年使用实践中不断雕琢,将最常使用的操作预置于核心键区,显著提高操作效率。
- 轻量跨平台:分别基于Karabiner() 与AutoHotKey(⊞)以脚本方式实现。
- 部署方便:放在随身装机U盘中,还是托管在Github上,简单几步即可复刻环境。
前言
⇪CapsLock,即大写锁定键,其起源可追溯至打字机时代。打字机是纯机械的设备,当按下Shift时,整套设备会与墨条纸带发生位移,使小写字母“上档”为大写字母。此等操作对小拇指是不小的负担,以致连续输入两到三个大写字母都比较吃力。于是在今天键盘上⇪Capslock的位置上出现了其原型Shiftlock功能键:可以在大小写状态之间切换与保持。这样的设计解决了一指禅选手的困境,更减轻了打字员的负担。
然而随着科技的进步,这样的问题已经不存在了。除了一指禅选手,Shift能够毫不费力的满足人们的需求。而⇪Capslock这个'多余'的按键,则因为历史惯性保留在了绝大多数键盘的黄金位置。
历史上有很多人注意到了这一点,不少人都琢磨着让这个占据宝地的按键发挥出更大的作用。一些键盘直接去掉了⇪Capslock键,而另一些则直接把它作为⌃Ctrl使用。在一些Unix Like(e.g )环境中,⇪Capslock还被用作语言切换的按键。有些人将⇪Capslock改为复合功能键:单独键入时是⎋ESC,而按住不放时是⌃Ctrl。
不过为什么要浪费这样一个绝佳的机会呢?我们所能做的远比这更多:
譬如创造一个类似⇧ Shift、⌃ Ctrl、⌥ Option、⊞ Win、⎇ Alt 、 ⌘ Command等修饰键的全新功能键:
Hyper
功能说明
以Mac为例:
右手核心区
基本映射
- 按住⇪CapsLock,映射为 Hyper
- 按下⇪CapsLock,映射为⌥␢ 输入法切换(二选一,默认)
- 按下⇪CapsLock,映射为⎋ ESC (二选一)
导航键映射
- 按下 Hyper启用光标移动,按下⌘时启用光标选择
H ↦ ←
(VI导航键:H映射为左)J ↦ ↓
(VI导航键:J映射为左)K ↦ ↑
(VI导航键:K映射为左)L ↦ →
(VI导航键:L映射为右)U ↦ ⇞
(U映射为PageUp)I ↦ ↖
(I映射为Home)O ↦ ↘
(O映射为End)P ↦ ⇟
(P映射为Pagedown)- 删除键
N ↦ ⌥⌫
(删除光标左侧一个单词)M ↦ ⌫
(删除光标左侧一个字符), ↦ ⌦
(删除光标右侧一个字符). ↦ ⌥⌦
(删除光标右侧一个单词)
左手核心区
窗口操作
⇥ ↦ ⌃⇥
(Tab 映射为正向切换标签页)⌘⇥↦ ⌃⇧⇥
(⌘Tab 映射为反向切换标签页)Q ↦ ⌘Q
(关闭窗口)W ↦ ⌘W
(关闭标签页)A ↦ ⌃⌥⇧⌘A
(Moom-Meta键,※一个窗口操作软件)⌘A ↦ F11
(回到桌面)S ↦ ⌃⇥
(切换标签页)⌘S ↦ ⌃⇧⇥
(反向切换标签页 )
Bash控制
Z ↦ ⌃Z
(作业停止信号:SIGTSTP))X ↦ ⌃B
(Tmux-Prefix,※一个终端复用软件)C ↦ ⌃C
(作业中断信号:SIGINT)V ↦ ,
(Vim-Leader键)D ↦ ⌃D
(发送EOF)
应用快捷方式
E ↦ Google Chrome
⌘E ↦ Finder
R ↦ iTerm
⌘R ↦ ^R (IDE-Run)
T ↦ Sublime Text
⌘T ↦ Typora
F ↦ Dash
⌘F ↦ Dictionary
G ↦ IntelliJ IDEA
G ↦ CLion
键盘第一行:功能键
功能键映射
F1 ↦ BrightnessDown
F2 ↦ BrightnessUp
F3 ↦ ExposeAll
F4 ↦ LaunchPad
F5 ↦ KeyboardLightDown
F6 ↦ KeyboardLightUp
F7 ↦ MusicPrev
F8 ↦ MusicPlay
F9 ↦ MusicNext
F10 ↦ Mute
F11 ↦ VolumeDown
F12 ↦ VolumeUp
键盘第二行:数字键
上档键映射
[12...-=] ↦ ⇧[12...-=]
(将数字键、减号、等于号上档为对应符号)[] ↦ ⇧90 '()'
(将方括号映射为圆括号)' ↦ ⇧- '_'
(将单引号映射为下划线)
主键区其他按键
主键区其他杂项
⎋ ↦ ⇪
(Escape 将Hyper转义回⇪CapsLock)␢ ↦ ⎋
(空格 映射为⎋ESC)\ ↦ ⌃/
(斜杠 映射为注释/解注释)` ↦ ⌃⇧⌘4
(反引号 映射为选取截图区域并存储)⌘
↦ ⌃⇧4` (⌘反引号 映射为选取截图区域至剪贴板)' ↦ =
(单引号 映射为等于号)
特殊键区
PC键盘特殊按键映射
Ins ↦ ⇧⌥F1
(Insert 微调提升屏幕亮度)Del ↦ ⇧⌥F2
(Delete 微调降低屏幕亮度)↘ ↦ ⇧⌥F5
(Home 微调提升键盘背光亮度)↖ ↦ ⇧⌥F6
(End 微调降低键盘背光亮度)⇟ ↦ ⇧⌥F11
(PgUp 微调提升音量)⇞ ↦ ⇧⌥F12
(PgDn 微调降低音量)PrintScreen ↦ ⌃⇧⌘3
(保存全屏截图至剪贴板)PrintScreen ↦ ⌃⇧⌘3
(保存全屏截图至桌面文件)ScrollLock ↦ VolumeMute
(ScrollLock静音)Pause ↦ MusicPlay
(Pause映射为音乐播放)
光标键映射
↑ ↦ MouseUp
↓ ↦ MouseDown
← ↦ MouseLeft
→ ↦ MouseRight
↩ ↦ MouseLButton
\ ↦ MouseRButton
符号参考表
Modifiers: Mac
Sym | Key |
---|---|
Hyper | |
⌃ | Control |
⌥ | Option |
⇧ | Shift |
⌘ | Command |
Modifiers: ⊞Windows
Sym | Key |
---|---|
Hyper | |
⌃ | Control |
⊞ | Windows |
⇧ | Shift |
⎇ | Alter |
Normal Keys
GLYPH | NAME |
---|---|
| Apple |
⌘ | Command, Cmd, Clover, (formerly) Apple |
⌃ | Control, Ctl, Ctrl |
⌥ | Option, Opt, (Windows) Alt |
⎇ | Alt |
⇧ | Shift |
⇪ | Caps lock |
⏏ | Eject |
↩, ↵, ⏎ | Return, Carriage Return |
⌤ | Enter |
⌫ | Delete, Backspace |
⌦ | Forward Delete |
⎋ | Escape, Esc |
→ | Right arrow |
← | Left arrow |
↑ | Up arrow |
↓ | Down arrow |
⇞ | Page Up, PgUp |
⇟ | Page Down, PgDn |
↖ | Home |
↘ | End |
⌧ | Clear |
⇥ | Tab, Tab Right, Horizontal Tab |
⇤ | Shift Tab, Tab Left, Back-tab |
␢ | Space, Blank |
␣ | Space, Blank |
⃝ | Power |
⇭ | Num lock |
?⃝ | Help |
| Context menu |
Mac版本脚本
CapsLock() 更新中
<?xml version="1.0"?>
<root>
<!-- Introduction -->
<item>
<name style="important">CapsLock Enhancement</name>
<appendix></appendix>
<appendix>Make CapsLock Great Again!</appendix>
<appendix></appendix>
<appendix>※Author: Vonng (fengruohang@outlook.com)</appendix>
<appendix>※Document: https://github.com/Vonng/Capslock/tree/master/osx</appendix>
<appendix>※Environment: Mac OS X darwin64 via Karabiner</appendix>
<appendix>※License: WTFPL</appendix>
<appendix>※Prequisite: Maps ⇪CapsLock to F19(KeyCode:80) first. (via Seil)</appendix>
</item>
<!-- Hyper declaration -->
<modifierdef>HYPER</modifierdef>
<item>
<name style="important">CapsLock setup</name>
<appendix>Hold CapsLock to Hyper</appendix>
<appendix>⇪[Hold] ↦ </appendix>
<appendix></appendix>
<appendix>Press CapsLock to ?</appendix>
<appendix><![CDATA[* ⎋ ESC ]]></appendix>
<appendix><![CDATA[* ⌥␢ Language-Switcher]]></appendix>
</item>
<!-- CapsLock to Hyper/Language Switcher(Recommend) -->
<item>
<name>Press CapsLock to Language-Switcher</name>
<appendix>⇪[Press] ↦ ⌥␢</appendix>
<identifier>private.capslock-langswitcher</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::F19,
KeyCode::VK_MODIFIER_HYPER,
KeyCode::SPACE, ModifierFlag::CONTROL_L
</autogen>
</item>
<!-- CapsLock to Escape -->
<item>
<name>Press CapsLock to Escape</name>
<appendix>⇪[Press] ↦ ⎋</appendix>
<identifier>private.capslock-escape</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::F19,
KeyCode::VK_MODIFIER_HYPER,
KeyCode::ESCAPE
</autogen>
</item>
<!-- Hyper Navigator -->
<item>
<name>Hyper Navigator</name>
<appendix><![CDATA[H ↦ ← (CursorLeft)]]></appendix>
<appendix><![CDATA[J ↦ ↓ (CursorDown)]]></appendix>
<appendix><![CDATA[K ↦ ↑ (CursorUp)]]></appendix>
<appendix><![CDATA[L ↦ → (CursorRight)]]></appendix>
<appendix><![CDATA[U ↦ ⇞ (PageUp)]]></appendix>
<appendix><![CDATA[I ↦ ↖ (Home)]]></appendix>
<appendix><![CDATA[O ↦ ↘ (End)]]></appendix>
<appendix><![CDATA[P ↦ ⇟ (Pagedown)]]></appendix>
<appendix></appendix>
<appendix>※Hint: Hold additional ⌘(Left) key for selection</appendix>
<identifier>private.hyper-navigator</identifier>
<!-- H: Left -->
<autogen>
--KeyToKey--
KeyCode::H, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_LEFT | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::H, ModifierFlag::HYPER,
KeyCode::CURSOR_LEFT
</autogen>
<!-- J: Down -->
<autogen>
--KeyToKey--
KeyCode::J, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_DOWN | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::J,ModifierFlag::HYPER,
KeyCode::CURSOR_DOWN
</autogen>
<!-- K: Up -->
<autogen>
--KeyToKey--
KeyCode::K, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_UP | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::K,ModifierFlag::HYPER,
KeyCode::CURSOR_UP
</autogen>
<!-- L: Right -->
<autogen>
--KeyToKey--
KeyCode::L, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_RIGHT | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::L,ModifierFlag::HYPER,
KeyCode::CURSOR_RIGHT
</autogen>
<!-- U: PageUp -->
<autogen>
--KeyToKey--
KeyCode::U, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::PAGEUP | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::U,ModifierFlag::HYPER,
KeyCode::PAGEUP
</autogen>
<!-- I: HOME -->
<autogen>
--KeyToKey--
KeyCode::I, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::HOME | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::I,ModifierFlag::HYPER,
KeyCode::HOME
</autogen>
<!-- O: END -->
<autogen>
--KeyToKey--
KeyCode::O, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::END | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::O,ModifierFlag::HYPER,
KeyCode::END
</autogen>
<!-- P: PageDown -->
<autogen>
--KeyToKey--
KeyCode::P, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::PAGEDOWN | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::P,ModifierFlag::HYPER,
KeyCode::PAGEDOWN
</autogen>
</item>
<!-- Hyper Deletion -->
<item>
<name>Hyper Deletion</name>
<appendix><![CDATA[N ↦ ⌥⌫ (Delete a word ahead)]]></appendix>
<appendix><![CDATA[M ↦ ⌫ (Delete a char ahead)]]></appendix>
<appendix><![CDATA[, ↦ ⌦ (Forward Delete a char)]]></appendix>
<appendix><![CDATA[. ↦ ⌥⌦ (Forward Delete a word)]]></appendix>
<identifier>private.hyper-deletion</identifier>
<autogen>
--KeyToKey--
KeyCode::N, ModifierFlag::HYPER,
KeyCode::DELETE, ModifierFlag::OPTION_L,
</autogen>
<autogen>
--KeyToKey--
KeyCode::M,ModifierFlag::HYPER,
KeyCode::DELETE
</autogen>
<autogen>
--KeyToKey--
KeyCode::COMMA,ModifierFlag::HYPER,
KeyCode::FORWARD_DELETE
</autogen>
<autogen>
--KeyToKey--
KeyCode::DOT,ModifierFlag::HYPER,
KeyCode::FORWARD_DELETE, ModifierFlag::OPTION_L
</autogen>
</item>
<!-- Hyper Window Control -->
<item>
<name>Hyper Window-Manipulation</name>
<appendix><![CDATA[Q ↦ ⌘Q (Close Window)]]></appendix>
<appendix><![CDATA[W ↦ ⌘W (Close Tab)]]></appendix>
<appendix><![CDATA[A ↦ ⌃⌥⇧⌘A (Moom Prefix)]]></appendix>
<appendix><![CDATA[⌘A ↦ F11 (Desktop)]]></appendix>
<appendix><![CDATA[S ↦ ⌃⇥ (Tab Switch)]]></appendix>
<appendix><![CDATA[⌘S ↦ ⌃⇧⇥ (Reverse Tab Switch)]]></appendix>
<identifier>private.hyper-window-manipulation</identifier>
<!-- Tab to SwitchTab-->
<autogen>
--KeyToKey--
KeyCode::TAB, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::TAB,ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<!-- ⌘Tab to Reverse SwitchTab-->
<autogen>
--KeyToKey--
KeyCode::TAB, ModifierFlag::HYPER,
KeyCode::TAB,ModifierFlag::CONTROL_L
</autogen>
<!-- ⌘Q: Quit Window -->
<autogen>
--KeyToKey--
KeyCode::Q, ModifierFlag::HYPER,
KeyCode::Q, ModifierFlag::COMMAND_L
</autogen>
<!-- ⌘W Close Tab -->
<autogen>
--KeyToKey--
KeyCode::W, ModifierFlag::HYPER ,
KeyCode::W, ModifierFlag::COMMAND_L
</autogen>
<!-- Hyper-A Moom-Prefix (Set to Physical Hyper-A) -->
<autogen>
--KeyToKey--
KeyCode::A,ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::F11
</autogen>
<autogen>
--KeyToKey--
KeyCode::A,ModifierFlag::HYPER ,
KeyCode::A,ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L |
ModifierFlag::SHIFT_L
</autogen>
<!-- ^Tab: Switch Tag -->
<autogen>
--KeyToKey--
KeyCode::S,ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::TAB,ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::S,ModifierFlag::HYPER,
KeyCode::TAB,ModifierFlag::CONTROL_L
</autogen>
</item>
<!-- Hyper Bash Control -->
<item>
<name>Hyper Bash-Control</name>
<appendix><![CDATA[Z ↦ ⌃Z (SIGTSTP)]]></appendix>
<appendix><![CDATA[X ↦ ⌃B (Tmux-Prefix)]]></appendix>
<appendix><![CDATA[C ↦ ⌃C (SIGINT)]]></appendix>
<appendix><![CDATA[V ↦ , (VIM Leader)]]></appendix>
<appendix><![CDATA[D ↦ ⌃D (EOF)]]></appendix>
<identifier>private.hyper-bash-control</identifier>
<!-- ^Z SIGTSTP -->
<autogen>
--KeyToKey--
KeyCode::Z, ModifierFlag::HYPER ,
KeyCode::Z, ModifierFlag::CONTROL_L
</autogen>
<!-- ^X Tmux Prefix -->
<autogen>
--KeyToKey--
KeyCode::X, ModifierFlag::HYPER ,
KeyCode::B, ModifierFlag::CONTROL_L
</autogen>
<!-- ^C SIGINT -->
<autogen>
--KeyToKey--
KeyCode::C, ModifierFlag::HYPER,
KeyCode::C, ModifierFlag::CONTROL_L
</autogen>
<!-- ^V Vim -->
<autogen>
--KeyToKey--
KeyCode::V, ModifierFlag::HYPER ,
KeyCode::COMMA
</autogen>
<!-- ^D EOF +⌘=^R (Debug) -->
<autogen>
--KeyToKey--
KeyCode::D, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::D, ModifierFlag::CONTROL_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::D, ModifierFlag::HYPER ,
KeyCode::D, ModifierFlag::CONTROL_L
</autogen>
</item>
<!--Hyper Application-->
<item>
<name>Hyper Application</name>
<appendix></appendix>
<appendix>E: Explore</appendix>
<appendix><![CDATA[E ↦ Google Chrome]]></appendix>
<appendix><![CDATA[⌘E ↦ Finder]]></appendix>
<appendix></appendix>
<appendix>R: Run</appendix>
<appendix><![CDATA[R ↦ iTerm]]></appendix>
<appendix><![CDATA[⌘R ↦ ^R (IDE-Run)]]></appendix>
<appendix></appendix>
<appendix>T: Text</appendix>
<appendix><![CDATA[T ↦ Sublime Text]]></appendix>
<appendix><![CDATA[⌘T ↦ Typora]]></appendix>
<appendix></appendix>
<appendix>F: Find</appendix>
<appendix><![CDATA[F ↦ Dash]]></appendix>
<appendix><![CDATA[⌘F ↦ Dictionary]]></appendix>
<appendix></appendix>
<appendix>G: Grand</appendix>
<appendix><![CDATA[G ↦ Intellij IDEA]]></appendix>
<appendix><![CDATA[G ↦ CLion]]></appendix>
<identifier>private.hyper-application</identifier>
<!--Define your own application here-->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Google_Chrome</name>
<url type="file">/Applications/Google Chrome.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_iTerm</name>
<url type="file">/Applications/iTerm.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Sublime_Text</name>
<url type="file">/Applications/Sublime Text.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_INTELLIJ_IDEA</name>
<url type="file">/Applications/IntelliJ IDEA.app/</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_CLion</name>
<url type="file">/Applications/CLion.app/</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Dash</name>
<url type="file">/Applications/Dash.app/</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Typora</name>
<url type="file">/Applications/Typora.app</url>
</vkopenurldef>
<autogen>
--KeyToKey--
KeyCode::E, ModifierFlag::HYPER | ModifierFlag::COMMAND_L ,
KeyCode::VK_OPEN_URL_APP_Finder
</autogen>
<autogen>
--KeyToKey--
KeyCode::E, ModifierFlag::HYPER,
KeyCode::VK_OPEN_URL_APP_Google_Chrome
</autogen>
<autogen>
--KeyToKey--
KeyCode::R, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::R, ModifierFlag::CONTROL_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::R, ModifierFlag::HYPER,
KeyCode::VK_OPEN_URL_APP_iTerm
</autogen>
<autogen>
--KeyToKey--
KeyCode::T, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::VK_OPEN_URL_APP_Typora
</autogen>
<autogen>
--KeyToKey--
KeyCode::T, ModifierFlag::HYPER,
KeyCode::VK_OPEN_URL_APP_Sublime_Text
</autogen>
<autogen>
--KeyToKey--
KeyCode::F, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::VK_OPEN_URL_APP_Dictionary
</autogen>
<autogen>
--KeyToKey--
KeyCode::F, ModifierFlag::HYPER,
KeyCode::VK_OPEN_URL_APP_Dash
</autogen>
<autogen>
--KeyToKey--
KeyCode::G, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::VK_OPEN_URL_APP_CLion
</autogen>
<autogen>
--KeyToKey--
KeyCode::G, ModifierFlag::HYPER,
KeyCode::VK_OPEN_URL_APP_INTELLIJ_IDEA
</autogen>
</item>
<!-- Hyper Functional-->
<item>
<name>Hyper Functional</name>
<appendix>Maps F[N] to corresponding functionality</appendix>
<appendix><![CDATA[F1 ↦ BrightnessDown]]></appendix>
<appendix><![CDATA[F2 ↦ BrightnessUp]]></appendix>
<appendix><![CDATA[F3 ↦ ExposeAll]]></appendix>
<appendix><![CDATA[F4 ↦ LaunchPad]]></appendix>
<appendix><![CDATA[F5 ↦ KeyboardLightDown]]></appendix>
<appendix><![CDATA[F6 ↦ KeyboardLightUp]]></appendix>
<appendix><![CDATA[F7 ↦ MusicPrev]]></appendix>
<appendix><![CDATA[F8 ↦ MusicPlay]]></appendix>
<appendix><![CDATA[F9 ↦ MusicNext]]></appendix>
<appendix><![CDATA[F10 ↦ Mute]]></appendix>
<appendix><![CDATA[F11 ↦ VolumeDown]]></appendix>
<appendix><![CDATA[F12 ↦ VolumeUp]]></appendix>
<appendix></appendix>
<appendix>※Hint: Enable system settings: preference -> keyboard -> 'Use F1,F2,etc.. as standard function key'
</appendix>
<identifier>private.hyper-function</identifier>
<!-- F1 -->
<autogen>
__KeyToKey__ KeyCode::F1, ModifierFlag::HYPER,
ConsumerKeyCode::BRIGHTNESS_DOWN ,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- F2 -->
<autogen>
__KeyToKey__ KeyCode::F2, ModifierFlag::HYPER,
ConsumerKeyCode::BRIGHTNESS_UP ,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- F3 -->
<autogen>__KeyToKey__ KeyCode::F3, ModifierFlag::HYPER, KeyCode::EXPOSE_ALL</autogen>
<!-- F4 -->
<autogen>__KeyToKey__ KeyCode::F4, ModifierFlag::HYPER, KeyCode::LAUNCHPAD</autogen>
<!-- F5 -->
<autogen>
__KeyToKey__ KeyCode::F5, ModifierFlag::HYPER,
ConsumerKeyCode::KEYBOARDLIGHT_LOW ,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- F6 -->
<autogen>
__KeyToKey__ KeyCode::F6, ModifierFlag::HYPER,
ConsumerKeyCode::KEYBOARDLIGHT_HIGH ,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- F7 -->
<autogen>
__KeyToKey__ KeyCode::F7, ModifierFlag::HYPER,
ConsumerKeyCode::MUSIC_PREV
</autogen>
<!-- F8 -->
<autogen>
__KeyToKey__ KeyCode::F8, ModifierFlag::HYPER,
ConsumerKeyCode::MUSIC_PLAY
</autogen>
<!-- F9 -->
<autogen>
__KeyToKey__ KeyCode::F9, ModifierFlag::HYPER,
ConsumerKeyCode::MUSIC_NEXT
</autogen>
<!-- F10 -->
<autogen>
__KeyToKey__ KeyCode::F10, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_MUTE
</autogen>
<!-- F11 -->
<autogen>
__KeyToKey__ KeyCode::F11, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_DOWN,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- F12 -->
<autogen>
__KeyToKey__ KeyCode::F12, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_UP,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
</item>
<!-- Hyper Shifter-->
<item>
<name>Hyper Shifter</name>
<appendix>Maps hyper numkeys, minus, equal to corresponding punctuation.</appendix>
<appendix>[12...-=] ↦ ⇧[12...-=] '!@..._+'</appendix>
<appendix></appendix>
<appendix>Maps square bracket to round breacket.</appendix>
<appendix>[ ↦ ⇧9 '('</appendix>
<appendix>] ↦ ⇧0 ')'</appendix>
<appendix></appendix>
<appendix>Maps Hyper semicolon to low dash</appendix>
<appendix>; ↦ ⇧- '_'</appendix>
<identifier>private.hyper-shifter</identifier>
<autogen>
--KeyToKey--
KeyCode::1, ModifierFlag::HYPER,
KeyCode::1, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::2, ModifierFlag::HYPER,
KeyCode::2, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::3, ModifierFlag::HYPER,
KeyCode::3, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::4, ModifierFlag::HYPER,
KeyCode::4, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::5, ModifierFlag::HYPER,
KeyCode::5, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::6, ModifierFlag::HYPER,
KeyCode::6, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::7, ModifierFlag::HYPER,
KeyCode::7, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::8, ModifierFlag::HYPER,
KeyCode::8, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::9, ModifierFlag::HYPER,
KeyCode::9, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::0, ModifierFlag::HYPER,
KeyCode::0, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::MINUS, ModifierFlag::HYPER,
KeyCode::MINUS, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::EQUAL, ModifierFlag::HYPER,
KeyCode::EQUAL, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::BRACKET_LEFT, ModifierFlag::HYPER,
KeyCode::9 , ModifierFlag::SHIFT_R,
</autogen>
<autogen>
--KeyToKey--
KeyCode::BRACKET_RIGHT, ModifierFlag::HYPER,
KeyCode::0 , ModifierFlag::SHIFT_R,
</autogen>
<!-- SemiColon to Minus -->
<autogen>
--KeyToKey--
KeyCode::SEMICOLON, ModifierFlag::HYPER,
KeyCode::MINUS , ModifierFlag::SHIFT_R,
</autogen>
</item>
<!-- Hyper Other -->
<item>
<name>Hyper Other</name>
<appendix>Escape Hyper back to CapsLock</appendix>
<appendix><![CDATA[⎋ ↦ ⇪ (CapsLock)]]></appendix>
<appendix></appendix>
<appendix>Hyper Space to Escape</appendix>
<appendix><![CDATA[␢ ↦ ⎋ (Escape)]]></appendix>
<appendix></appendix>
<appendix><![CDATA[\ ↦ ⌃/ (Comment/Uncomment)]]></appendix>
<appendix><![CDATA[` ↦ ⌃⇧⌘4 (ScreenShot by area)]]></appendix>
<appendix><![CDATA[⌘` ↦ ⌃⇧4 (ScreenShot by area to file)]]></appendix>
<appendix><![CDATA[' ↦ = (Quote to equal)]]></appendix>
<identifier>private.hyper-other</identifier>
<!-- Escape to Capslock-->
<autogen>__KeyToKey__ KeyCode::ESCAPE, ModifierFlag::HYPER, KeyCode::CAPSLOCK</autogen>
<!-- Space to Escape-->
<autogen>
--KeyToKey--
KeyCode::SPACE, ModifierFlag::HYPER,
KeyCode::ESCAPE
</autogen>
<!-- Slash to comment -->
<autogen>
--KeyToKey--
KeyCode::SLASH, ModifierFlag::HYPER,
KeyCode::SLASH, ModifierFlag::COMMAND_L
</autogen>
<!-- ` to area screenshot -->
<autogen>
--KeyToKey--
KeyCode::BACKQUOTE, ModifierFlag::HYPER,
KeyCode::4, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L
</autogen>
<!-- ⌘` to area screenshot to file -->
<autogen>
--KeyToKey--
KeyCode::BACKQUOTE, ModifierFlag::HYPER | ModifierFlag::COMMAND_L,
KeyCode::4, ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L
</autogen>
<!-- Quote to Equal -->
<autogen>
--KeyToKey--
KeyCode::QUOTE, ModifierFlag::HYPER,
KeyCode::EQUAL
</autogen>
</item>
<!-- Hyper Special Control-->
<item>
<name>Hyper Special to fine grained functional keys</name>
<appendix><![CDATA[Ins ↦ ⇧⌥F1 (Fine grained brightness down)]]></appendix>
<appendix><![CDATA[Del ↦ ⇧⌥F2 (Fine grained brightness up)]]></appendix>
<appendix><![CDATA[↘ ↦ ⇧⌥F5 (Fine grained keyboard light down)]]></appendix>
<appendix><![CDATA[↖ ↦ ⇧⌥F6 (Fine grained keyboard light up)]]></appendix>
<appendix><![CDATA[⇟ ↦ ⇧⌥F11 (Fine grained volume down)]]></appendix>
<appendix><![CDATA[ ↦ ⇧⌥F12 (Fine grained volume up)]]></appendix>
<appendix></appendix>
<appendix><![CDATA[PrintScreen ↦ ⌃⇧⌘3 (Save full screen to clipboard)]]></appendix>
<appendix><![CDATA[PrintScreen ↦ ⌃⇧3 (Save full screen to file)]]></appendix>
<appendix><![CDATA[ScrollLock ↦ VolumeMute (Save full screen to clipboard)]]></appendix>
<appendix><![CDATA[Pause ↦ MusicPlay (Save full screen to clipboard)]]></appendix>
<identifier>private.hyper-special</identifier>
<!-- Brightness: Insert/Delete -->
<autogen>
__KeyToKey__ KeyCode::PC_INSERT, ModifierFlag::HYPER,
ConsumerKeyCode::BRIGHTNESS_UP,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__ KeyCode::PC_DEL, ModifierFlag::HYPER,
ConsumerKeyCode::BRIGHTNESS_DOWN,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- Keyboard Light: Home/End -->
<autogen>
__KeyToKey__ KeyCode::HOME, ModifierFlag::HYPER,
ConsumerKeyCode::KEYBOARDLIGHT_LOW,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__ KeyCode::END, ModifierFlag::HYPER,
ConsumerKeyCode::KEYBOARDLIGHT_HIGH,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- PgUp -->
<autogen>
__KeyToKey__ KeyCode::PAGEUP, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_UP,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<autogen>
__KeyToKey__ KeyCode::PAGEDOWN, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_DOWN,ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L
</autogen>
<!-- PrintScreen & Hyper PrintScreen-->
<autogen>
__KeyToKey__ KeyCode::PC_PRINTSCREEN,
KeyCode::3, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L
</autogen>
<autogen>
__KeyToKey__ KeyCode::PC_PRINTSCREEN, ModifierFlag::HYPER,
KeyCode::3, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
</autogen>
<!--Scroll to mute -->
<autogen>
__KeyToKey__ KeyCode::PC_SCROLLLOCK, ModifierFlag::HYPER,
ConsumerKeyCode::VOLUME_MUTE
</autogen>
<!--Pause to music_pley-->
<autogen>
__KeyToKey__ KeyCode::PC_PAUSE, ModifierFlag::HYPER,
ConsumerKeyCode::MUSIC_PLAY
</autogen>
</item>
<!-- Hyper Mouse key -->
<item>
<name>Hyper MouseKey</name>
<appendix><![CDATA[↑ ↦ MouseUp]]></appendix>
<appendix><![CDATA[↓ ↦ MouseDown]]></appendix>
<appendix><![CDATA[← ↦ MouseLeft]]></appendix>
<appendix><![CDATA[→ ↦ MouseRight]]></appendix>
<appendix><![CDATA[↩ ↦ MouseLButton]]></appendix>
<appendix><![CDATA[\ ↦ MouseRButton]]></appendix>
<identifier>private.hyper-mousekey</identifier>
<autogen>
--KeyToKey--
KeyCode::CURSOR_UP, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_UP
</autogen>
<autogen>
--KeyToKey--
KeyCode::CURSOR_DOWN, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_DOWN
</autogen>
<autogen>
--KeyToKey--
KeyCode::CURSOR_LEFT, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_LEFT
</autogen>
<autogen>
--KeyToKey--
KeyCode::CURSOR_RIGHT, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_RIGHT
</autogen>
<autogen>
--KeyToKey--
KeyCode::RETURN, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_BUTTON_LEFT
</autogen>
<autogen>
--KeyToKey--
KeyCode::BACKSLASH, ModifierFlag::HYPER,
KeyCode::VK_MOUSEKEY_BUTTON_RIGHT
</autogen>
</item>
</root>
Win版本脚本
CapsLock(⊞) 这个是两年前写的,不过功能大体上是差不多的。
;=====================================================================o
; Feng Ruohang's AHK Script |
; CapsLock Enhancement |
;---------------------------------------------------------------------o
;Description: |
; This Script is wrote by Feng Ruohang via AutoHotKey Script. It |
; Provieds 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 Convient for vim user |
;|CaspLock + ` | {CapsLock}CapsLock Switcher as a Substituent|
;|CapsLock + hjklwb | Vim-Style Cursor Mover |
;|CaspLock + uiop | Convient Home/End PageUp/PageDn |
;|CaspLock + nm,. | Convient 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 + ;'[] | Convient 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 help |
;=====================================================================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,^{F5} ;|
CapsLock & 2:: Send,{F5} ;|
CapsLock & 3:: Send,{F10} ;|
CapsLock & 4:: Send,{F11} ;|
CapsLock & 5:: Send,+{F5} ;|
;-----------------------------------o ;|
CapsLock & 6:: Send,+6 ;|
CapsLock & 7:: Send,+7 ;|
CapsLock & 8:: Send,+8 ;|
CapsLock & 9:: Send,+9 ;|
CapsLock & 0:: Send,+0 ;|
;---------------------------------------------------------------------o
Contact GitHub API Training Shop Blog About
FAQ
- Q: Why using as symbol of hyper key?
A:Cause asterisk have the ascii code 42, which is the answer to life, the universe, and everything! while itself has meaning 'star'. (Heavy-Asterisk) is a pretty version of *
(Asterisk). Actually I would choose