Skip to content

Instantly share code, notes, and snippets.

@guoc
Last active May 12, 2017 11:35
Show Gist options
  • Save guoc/822a5488bd852e59a871 to your computer and use it in GitHub Desktop.
Save guoc/822a5488bd852e59a871 to your computer and use it in GitHub Desktop.
Hold space bar and press a key to launch/open something.
<?xml version="1.0"?>
<!--
This is a Karabiner configuration file.
Hold space bar and press a key to launch/open something.
e.g.
space + ` to open home folder
space + 1 to open Dropbox folder
space + S to launch Safari
space + T to launch Terminal
For more info, https://pqrs.org/osx/karabiner/xml.html.en
The idea is from http://technicallysimple.com/screencasts/alfred-2-hotkeys/
-->
<!--
How To Configure
1. Karabiner -> Preferences -> Misc & Uninstall -> Open private.xml
2. Copy and paste the text below,
~~~
<?xml version="1.0"?>
<root>
<include path="path_to_current_file" />
</root>
~~~
3. Replace path_to_current_file. {{ ENV_HOME }} could be used as home path.
4. Karabiner -> Preferences -> Change Key -> Reload XML
5. Select Space Launcher
6. Optionally, Karabiner -> Parameters -> Key Overlaid Modifier -> Initial Modifier Wait, increase this value (e.g. 120) if your typing speed is too fast.
-->
<root>
<!---- apps ---->
<!-- CotEditor -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_CotEditor</name>
<url type="file">/Applications/CotEditor.app</url>
</vkopenurldef>
<!-- EuDic -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_EuDic</name>
<url type="file">/Applications/Eudb_en.app</url>
</vkopenurldef>
<!-- LaunchBar -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_LaunchBar</name>
<url type="file">/Applications/LaunchBar.app</url>
</vkopenurldef>
<!-- LDOCE5 Viewer -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_LDOCE5Viewer</name>
<url type="file">/Applications/LDOCE5 Viewer.app</url>
</vkopenurldef>
<!-- MacVim -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_MacVim</name>
<url type="file">/Applications/MacVim.app</url>
</vkopenurldef>
<!-- nvALT -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_nvALT</name>
<url type="file">/Applications/nvALT.app</url>
</vkopenurldef>
<!-- Preview -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Preview</name>
<url type="file">/Applications/Preview.app</url>
</vkopenurldef>
<!-- Simplenote -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Simplenote</name>
<url type="file">/Applications/Simplenote.app</url>
</vkopenurldef>
<!-- Tower -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_APP_Tower</name>
<url type="file">/Applications/Tower.app</url>
</vkopenurldef>
<!---- folders ---->
<!-- Dropbox -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_FILE_Dropbox</name>
<url type="file">{{ ENV_HOME }}/Dropbox</url>
</vkopenurldef>
<!-- Documents -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_FILE_Documents</name>
<url type="file">{{ ENV_HOME }}/Documents</url>
</vkopenurldef>
<!-- Developer -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_FILE_Developer</name>
<url type="file">{{ ENV_HOME }}/Developer</url>
</vkopenurldef>
<!-- Library -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_FILE_Library</name>
<url type="file">{{ ENV_HOME }}/Library</url>
</vkopenurldef>
<!-- Downloads -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_FILE_Downloads</name>
<url type="file">{{ ENV_HOME }}/Downloads</url>
</vkopenurldef>
<!---- URL ---->
<!-- System Preferences in LaunchBar -->
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_SystemPreferencesInLaunchBar</name>
<url>x-launchbar:select?abbreviation=systempreferences</url>
</vkopenurldef>
<!---- keys ---->
<modifierdef>SPACE_LAUNCHER</modifierdef>
<item>
<name>Space Launcher</name>
<appendix>Space + Key(s) to launch applications / open folders / run scripts</appendix>
<identifier>name.guoc.space-launcher</identifier>
<!-- Change the space key to my launcher key. -->
<autogen>
__KeyOverlaidModifier__
KeyCode::SPACE,
KeyCode::VK_MODIFIER_SPACE_LAUNCHER,
KeyCode::SPACE
</autogen>
<modifier_not>
ModifierFlag::COMMAND_L, ModifierFlag::COMMAND_R,
ModifierFlag::OPTION_L, ModifierFlag::OPTION_R,
ModifierFlag::SHIFT_L, ModifierFlag::SHIFT_R,
ModifierFlag::CONTROL_L, ModifierFlag::CONTROL_R,
ModifierFlag::FN,
</modifier_not>
<!-- space launcher key settings -->
<autogen>
__KeyToKey__
KeyCode::BACKQUOTE, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Home,
</autogen>
<autogen>
__KeyToKey__
KeyCode::KEY_1, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Dropbox,
</autogen>
<autogen>
__KeyToKey__
KeyCode::KEY_2, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Documents,
</autogen>
<autogen>
__KeyToKey__
KeyCode::KEY_3, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Developer,
</autogen>
<autogen>
__KeyToKey__
KeyCode::KEY_4, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Downloads,
</autogen>
<autogen>
__KeyToKey__
KeyCode::KEY_0, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_FILE_Library,
</autogen>
<autogen>
__KeyToKey__
KeyCode::C, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_CotEditor,
</autogen>
<autogen>
__KeyToKey__
KeyCode::D, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_Dictionary,
</autogen>
<autogen>
__KeyToKey__
KeyCode::E, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_EuDic,
</autogen>
<autogen>
__KeyToKey__
KeyCode::F, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_Finder,
</autogen>
<autogen>
__KeyToKey__
KeyCode::G, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_Tower,
</autogen>
<autogen>
__KeyToKey__
KeyCode::K, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_Karabiner,
</autogen>
<autogen>
__KeyToKey__
KeyCode::L, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_LaunchBar,
</autogen>
<autogen>
__KeyToKey__
KeyCode::N, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_nvALT,
</autogen>
<autogen>
__KeyToKey__
KeyCode::O, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_LDOCE5Viewer,
</autogen>
<! -- OS X System Preference Links (URL Schemes) https://macosxautomation.com/system-prefs-links.html -->
<autogen>
__HoldingKeyToKey__
KeyCode::P, ModifierFlag::SPACE_LAUNCHER,
<!-- short press -->
@begin
KeyCode:: VK_OPEN_URL_APP_System_Preferences,
@end
<!-- hold -->
@begin
KeyCode::VK_OPEN_URL_SystemPreferencesInLaunchBar,
@end
<!-- The KEYTOKEY_AFTER_KEYUP option can not be set for only one case above,
CURSOR_LEFT followed by CURSOR_RIGHT is a workaround. -->
Option::KEYTOKEY_AFTER_KEYUP, KeyCode::CURSOR_LEFT, KeyCode::CURSOR_RIGHT,
Option::NOREPEAT,
</autogen>
<autogen>
__KeyToKey__
KeyCode::R, ModifierFlag::SPACE_LAUNCHER,
KeyCode::VK_OPEN_URL_APP_Preview,
</autogen>
<autogen>
__KeyToKey__
KeyCode::S, ModifierFlag::SPACE_LAUNCHER,
KeyCode::VK_OPEN_URL_APP_Safari,
</autogen>
<autogen>
__KeyToKey__
KeyCode::T, ModifierFlag::SPACE_LAUNCHER,
KeyCode::VK_OPEN_URL_APP_Terminal,
</autogen>
<autogen>
__KeyToKey__
KeyCode::V, ModifierFlag::SPACE_LAUNCHER,
KeyCode::VK_OPEN_URL_APP_MacVim,
</autogen>
<autogen>
__KeyToKey__
KeyCode::X, ModifierFlag::SPACE_LAUNCHER,
KeyCode:: VK_OPEN_URL_APP_Xcode,
</autogen>
<!-- Drop all events which are not modified in above. -->
<autogen>
__DropAllKeys__
ModifierFlag::SPACE_LAUNCHER,
Option::DROPALLKEYS_DROP_KEY,
Option::DROPALLKEYS_DROP_CONSUMERKEY,
Option::DROPALLKEYS_DROP_POINTINGBUTTON,
</autogen>
</item>
</root>
@guoc
Copy link
Author

guoc commented May 12, 2017

Karabiner is not compatible with macOS Sierra. I've changed to SpaceLauncher to use spacebar as a better "hyper" key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment