The effect after configuration:
Applicable system:
command_left+space : 触发IDEA search everywhere
space+command_left:触发IDEA search everywhere
option_left+space: trigger to open Google browser
space+option_left: trigger to open Google browser
Press option_left alone: trigger IDEA to find the interface
Press control_left alone: trigger switch window
Press command_right alone: open Alfred
Press caps lock alone: trigger escape
The content of the private.xml file is as follows:
<?xml version="1.0"?>
<root>
<item>
<!-- 单独按下相当于escape.和别的键组合按下, 相当于“⇧⌃⌥⌘” -->
<name>F19 to F19</name>
<appendix>(F19 to Hyper (ctrl+shift+cmd+opt相当于“⇧⌃⌥⌘”) + F19 Only, send escape)</appendix>
<identifier>private.f192f19_escape</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::F19,
KeyCode::COMMAND_L,
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::ESCAPE
</autogen>
</item>
<!-- 单独按下右边的Option/Alt 相当于Home -->
<item>
<name>OPTION_R to HOME</name>
<appendix>(OPTION_R Only, send HOME)</appendix>
<identifier>private.option_r2home</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::OPTION_R,
KeyCode::OPTION_R,
KeyCode::HOME
</autogen>
</item>
<!-- press command_l only equals "command +B ",to refresh browser -->
<!-- press control_l only equals "command +Tab ",to switch window -->
<item>
<name>CONTROL_L to COMMAND_L+B</name>
<appendix>(CONTROL_L Only, send COMMAND+B,refresh browser)</appendix>
<identifier>private.command_l_only2command_and_b</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::CONTROL_L,
KeyCode::CONTROL_L,
KeyCode::TAB, ModifierFlag::COMMAND_L
</autogen>
</item>
<!-- 单独按下F13(即原 escape),打开浏览器调试 -->
<item>
<name>F13 to option_command+I</name>
<appendix>(F13 Only, send COMMAND+OPTION+B,debug browser)</appendix>
<identifier>private.f13_only2command_option_and_i</identifier>
<!--<autogen>
--KeyOverlaidModifier--
KeyCode::F13,
KeyCode::F13,
KeyCode::I, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L
</autogen>-->
<autogen>
<!-- 双击F13(escape 键),触发 escape(命令会加上sudo ), 单击触发浏览器调试 -->
__KeyToKey__
KeyCode::F13,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::I, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::F13,
KeyCode::ESCAPE,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!-- drop second return key event -->
</autogen>
</item>
<item>
<!-- 左边的command单独按下相当于command+`.用来光标回到句尾
(if no other modifiers pressed) -->
<name>COMMAND_L to COMMAND_L+`</name>
<appendix>(COMMAND_L Only, send TAB+COMMAND_L)</appendix>
<identifier>private.command_l2tab_command</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::COMMAND_L, ModifierFlag::COMMAND_L | ModifierFlag::NONE,
KeyCode::COMMAND_L,
KeyCode::DANISH_LESS_THAN,ModifierFlag::COMMAND_L
</autogen>
</item>
<item>
<name>space twice to COMMAND_L+space</name>
<appendix>(space twice, send SPACE+COMMAND_L)</appendix>
<identifier>private.command_l_twice2space_command</identifier>
<!-- <autogen>
__KeyToKey__
KeyCode::SPACE,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::SPACE,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::SPACE,
KeyCode::SPACE,ModifierFlag::COMMAND_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!– drop second return key event –>
<!– 复制 –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::C,
KeyCode::C,ModifierFlag::COMMAND_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
<!– 粘贴 –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::V,
KeyCode::V,ModifierFlag::COMMAND_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
<!– 粘贴 –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::B,
KeyCode::V,ModifierFlag::COMMAND_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
<!– 删除/DELETE –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::D,
KeyCode::DELETE,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
<!– 调起浏览器 –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::OPTION_L,
KeyCode::SPACE, ModifierFlag::OPTION_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
<!– space+r: 刷新浏览器刷新浏览器 –>
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::R,
KeyCode::B, ModifierFlag::COMMAND_L|ModifierFlag::CONTROL_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT,
</autogen>-->
<!-- <autogen>
__KeyToKey__
KeyCode::SPACE, KeyCode::VK_NONE,
Option::KEYTOKEY_BEFORE_KEYDOWN, {{ ENV_Select_the_previous_input_source_shortcut }}, KeyCode::CONTROL_L,
Option::KEYTOKEY_AFTER_KEYUP, {{ ENV_Select_the_previous_input_source_shortcut }},
</autogen> -->
<!-- 单独按下space,就是space; 组合按下space,相当于按下command_left -->
<autogen>
__KeyOverlaidModifier__
KeyCode::SPACE, ModifierFlag::NONE,
<!--
You need to put "KeyCode"s between @begin and @end
when you want to specify multiple KeyCode.
-->
@begin
<!-- hold 'SPACE' ,即组合键 -->
KeyCode::COMMAND_R,
@end
@begin
<!-- release 'SPACE' -->
KeyCode::SPACE,
@end
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_samples_keyoverlaidmodifier_use_separator_1,
KeyCode::VK_CONFIG_FORCE_OFF_notsave_samples_keyoverlaidmodifier_use_separator_2,
</autogen>
</item>
<item>
<!-- 双击 j,触发 end -->
<name>double click j to end</name>
<appendix>(double_click_L , send end)</appendix>
<identifier>private.command_l2tab_command222</identifier>
<autogen>
__KeyToKey__
KeyCode::J,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::J,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::J,
KeyCode::END,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!-- drop second return key event -->
</autogen>
<!-- 双击 H,触发 home -->
<autogen>
__KeyToKey__
KeyCode::H,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::H,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::H,
KeyCode::HOME,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!-- drop second return key event -->
</autogen>
<!-- 双击 i,触发 Quick definition control ⌘⇧I -->
<!--<autogen>
__KeyToKey__
KeyCode::I,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::I,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::I,
KeyCode::I, ModifierFlag::COMMAND_L|ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!– drop second return key event –>
</autogen>-->
</item>
<item>
<!-- 左边的Option/Alt,单独按下相当于 command+T,用于IDEA中通过接口路径搜索 ,
(if no other modifiers pressed) -->
<name>OPTION_L to PAGEUP</name>
<appendix>(OPTION_L Only, send PAGEUP)</appendix>
<identifier>private.option_l2pageup</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::OPTION_L, ModifierFlag::OPTION_L | ModifierFlag::NONE,
KeyCode::OPTION_L,
KeyCode::T,ModifierFlag::COMMAND_L
</autogen>
<!-- 同时按下space(实际已经映射成为COMMAND_R,见152行 )和option_left,触发OPTION_L+space,打开浏览器 -->
<autogen>
--KeyOverlaidModifier--
KeyCode::OPTION_L, ModifierFlag::OPTION_L |ModifierFlag::COMMAND_R | ModifierFlag::NONE,
KeyCode::OPTION_L,
KeyCode::SPACE,ModifierFlag::OPTION_L
</autogen>
</item>
<item>
<!-- 右边的command,单独按下相当于F17,用于触发Alfred -->
<name>COMMAND_R to F17</name>
<appendix>(COMMAND_R Only, send F17)</appendix>
<identifier>private.command_r_only2f17</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::COMMAND_R,
KeyCode::COMMAND_R,
KeyCode::F17
</autogen>
<!-- <appendix>Command+Volume Down to Space (if no other modifiers pressed)</appendix>
<autogen>
__KeyToKey__
KeyCode::COMMAND_L, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_COMMAND | ModifierFlag::NONE,
KeyCode::J,
</autogen>-->
</item>
<item>
<!-- 先按下space,再按下command_left 触发IDEA search everywhere -->
<name>space+COMMAND_L to IDEA search everywhere</name>
<appendix>space+Command_L to Command_R+SPACE(IDEA search everywhere)</appendix>
<identifier>private.space_command_l_2command_l_space_IDEAsearch</identifier>
<!--<autogen>__KeyToKey__
KeyCode::COMMAND_L, ModifierFlag::COMMAND_R| ModifierFlag::NONE,
KeyCode::SPACE, ModifierFlag::COMMAND_R
</autogen>-->
<autogen>
--KeyOverlaidModifier--
KeyCode::COMMAND_L, ModifierFlag::COMMAND_L |ModifierFlag::COMMAND_R | ModifierFlag::NONE,
KeyCode::COMMAND_L,
KeyCode::SPACE,ModifierFlag::COMMAND_L
</autogen>
<!-- 先按下space,再按下option_left 触发切换到浏览器 -->
<!-- <appendix>space+option_L to Option_R+SPACE(IDEA search everywhere)</appendix>
<autogen>__KeyToKey__
KeyCode::OPTION_L, ModifierFlag::COMMAND_R| ModifierFlag::NONE,
KeyCode::SPACE, ModifierFlag::OPTION_L
</autogen>-->
</item>
<item>
<!-- -->
<name>Hyper J to Down</name>
<appendix>(Hyper-J to Down arrow)</appendix>
<identifier>private.hyper-j-down</identifier>
<autogen>
--KeyToKey--
KeyCode::J,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_DOWN
</autogen>
</item>
<item>
<!-- -->
<name>Hyper K to Up</name>
<appendix>(Hyper-K to Up arrow)</appendix>
<identifier>private.hyper-K-up</identifier>
<autogen>
--KeyToKey--
KeyCode::K,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_UP
</autogen>
</item>
<item>
<!-- -->
<name>Hyper H to Left</name>
<appendix>(Hyper-H to Left arrow)</appendix>
<identifier>private.hyper-h-left</identifier>
<autogen>
--KeyToKey--
KeyCode::H,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_LEFT
</autogen>
</item>
<item>
<name>Hyper L to Right</name>
<appendix>(Hyper-L to Right arrow)</appendix>
<identifier>private.hyper-l-right</identifier>
<autogen>
--KeyToKey--
KeyCode::L,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_RIGHT
</autogen>
</item>
<item>
<name>Hyper N to Beginning of Line</name>
<appendix>(Hyper-N to Beginning of Line)</appendix>
<identifier>private.hyper-n-beginning-of-line</identifier>
<autogen>
--KeyToKey--
KeyCode::N,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_LEFT,
ModifierFlag::COMMAND_L
</autogen>
</item>
<item>
<name>Hyper ; to End of Line</name>
<appendix>(Hyper-; to End of Line)</appendix>
<identifier>private.hyper-;-end-of-line</identifier>
<autogen>
--KeyToKey--
KeyCode::SEMICOLON,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_RIGHT,
ModifierFlag::COMMAND_L
</autogen>
</item>
<item>
<name>Hyper I to Top</name>
<appendix>(Hyper-I to Top)</appendix>
<identifier>private.hyper-i-top</identifier>
<autogen>
--KeyToKey--
KeyCode::I,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_UP,
ModifierFlag::COMMAND_L
</autogen>
</item>
<item>
<name>Hyper M to Bottom</name>
<appendix>(Hyper-M to Bottom)</appendix>
<identifier>private.hyper-m-bottom</identifier>
<autogen>
--KeyToKey--
KeyCode::M,
ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::CURSOR_DOWN,
ModifierFlag::COMMAND_L
</autogen>
</item>
<!-- caps lock+Space 出发大小写转化 -->
<item>
<name>Hyper + Space To Capslock</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+space, send Capslock</appendix>
<identifier>private.hyperspace2Capslock</identifier>
<autogen>
--KeyToKey--
KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CAPSLOCK
</autogen>
</item>
<!-- <item>
<name>Change Escape to Mission Control</name>
<identifier>private.escape_to_mission_control</identifier>
<autogen>
--KeyToKey--
KeyCode::ESCAPE,
KeyCode::CURSOR_UP, ModifierFlag::CONTROL_L
</autogen>
</item>-->
<!-- 右边的shift 映射成为 control+command+B, 在 IDEA 中触发编译 -->
<item>
<name>Change SHIFT_R Key to END</name>
<identifier>private.shift_r_to_end2</identifier>
<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_R,KeyCode::SHIFT_R,
KeyCode::B, ModifierFlag::COMMAND_L|ModifierFlag::CONTROL_L
</autogen>
</item>
<!-- 左边的shift单独按下 映射成为 space -->
<!--<item>
<name>Change SHIFT_L Key to SPACE</name>
<identifier>private.shift_left_to_SPACE</identifier>
<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L,
KeyCode::SHIFT_L,
KeyCode::SPACE
</autogen>
</item>-->
<!-- 左边的option 和回车 映射成为左边的option 和回车+ 左边的 command(多了一个command) ,用于切换浏览器 -->
<!--<item>
<name>Change option_left Key to option_left_and_command_left</name>
<identifier>private.option_left_to_samlla233_command_left</identifier>
<autogen>__KeyToKey__
KeyCode::SPACE, ModifierFlag::OPTION_L,
KeyCode::RETURN, ModifierFlag::OPTION_L| ModifierFlag::COMMAND_L
</autogen>
</item>-->
<!-- 把 command_right+enter 映射成为三个键:
shift + command+enter ,用于 IDEA 补全行尾 -->
<item>
<name>Change command_enter Key to shift_command_enter</name>
<identifier>private.shift_command_enter22</identifier>
<autogen>__KeyToKey__
KeyCode::RETURN, ModifierFlag::COMMAND_R,
KeyCode::RETURN, ModifierFlag::SHIFT_L| ModifierFlag::COMMAND_R
</autogen>
</item>
<!-- 双击 F,触发宏: end(回到句尾)+分号+回车,不需要,因为打字如果很快,会受到影响 -->
<!--<item>
<name>Change command_enter Key to shift_command_enter</name>
<identifier>private.shift_command_enter2233</identifier>
<autogen>
__KeyToKey__
KeyCode::F,
KeyCode::VK_NONE,
Option::KEYTOKEY_DELAYED_ACTION,
KeyCode::F,
Option::KEYTOKEY_DELAYED_ACTION_CANCELED_BY, KeyCode::F,
KeyCode::E,ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L |
ModifierFlag::COMMAND_L,
KeyCode::VK_KEYTOKEY_DELAYED_ACTION_DROP_EVENT, <!– drop second return key event –>
</autogen>
</item>-->
<item>
<!-- F18用于触发 paste -->
<name>Change Fn Key to F18</name>
<identifier>private.fn_to_f182</identifier>
<autogen>__KeyOverlaidModifier__ KeyCode::FN, KeyCode::FN,KeyCode::F18</autogen>
</item>
<item>
<name>Daniel Simultaneouskey Shortcuts</name>
<item>
<identifier>remap.daniel_simultaneouskeypresses_seq</identifier>
<name>Strick key order shortcuts</name>
<appendix>Street Fighter style</appendix>
<!-- <!– DF –>
<autogen>
__SimultaneousKeyPresses__
@begin
KeyCode::D, KeyCode::F, KeyCode::J,
@end
@begin
KeyCode::F18, ModifierFlag::COMMAND_L,
Option::SIMULTANEOUSKEYPRESSES_STRICT_KEY_ORDER,
@end
</autogen>
<autogen>
__SimultaneousKeyPresses__
@begin
KeyCode::D, KeyCode::J, KeyCode::F,
@end
@begin
KeyCode::F18, ModifierFlag::COMMAND_L,
Option::SIMULTANEOUSKEYPRESSES_STRICT_KEY_ORDER,
@end
</autogen>-->
<!-- 同时按下 D,F 两个字母,触发回车 -->
<autogen>
__SimultaneousKeyPresses__
KeyCode::D, KeyCode::F,
KeyCode::RETURN
</autogen>
<!-- 同时按下F,J,触发 control+Tab, 切换 IDEA 中的页签 -->
<autogen>
__SimultaneousKeyPresses__
KeyCode::F, KeyCode::J,
KeyCode::TAB,ModifierFlag::CONTROL_L
</autogen>
<!-- 同时按下 S,D, 触发两个动作:保存, build -->
<autogen>
__SimultaneousKeyPresses__
KeyCode::S, KeyCode::D,
KeyCode::B,ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L |
ModifierFlag::COMMAND_L
</autogen>
<!-- 宏: end(回到句尾)+分号+回车 -->
<autogen>
__SimultaneousKeyPresses__
KeyCode::J, KeyCode::K,
KeyCode::E,ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L |
ModifierFlag::COMMAND_L
</autogen>
<!-- IDEA 智能提示 -->
<autogen>
__SimultaneousKeyPresses__
KeyCode::S, KeyCode::F,
KeyCode::SPACE, ModifierFlag::CONTROL_L
</autogen>
</item>
</item>
</root>