Mosquetão-elementos (10.12 e posterior)
O Karabiner parou de funcionar na versão 10.12 devido a alterações na arquitetura do kernel, e o Karabiner foi reescrito como Karabiner-Elements, que usa um novo formato JSON para os arquivos de configuração.
Agora você pode adicionar uma regra como esta a karabiner.json
( https://pqrs.org/osx/karabiner/json.html ):
{
"from": {
"key_code": "t",
"modifiers": {
"mandatory": [
"right_option"
]
}
},
"to": [
{
"shell_command": "open -aterminal"
}
],
"type": "basic"
}
Isso pressiona rapidamente a tecla de comando direita e abre o Emacs:
{
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"shell_command": "open -aemacs"
}
],
"type": "basic"
}
Karabiner (10.11 e versões anteriores)
Salve um arquivo como este como private.xml :
<?xml version="1.0"?>
<root>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_Safari</name>
<url>file:///Applications/Safari.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_iTunes</name>
<url>file:///Applications/iTunes.app</url>
</vkopenurldef>
<vkopenurldef>
<name>KeyCode::VK_OPEN_URL_EMACS</name>
<url>file:///Applications/Emacs.app</url>
</vkopenurldef>
<item>
<name>custom</name>
<identifier>custom</identifier>
<autogen>__KeyToKey__ KeyCode::F11, KeyCode::VK_OPEN_URL_Safari</autogen>
<!-- change the right option key into an extra modifier key -->
<autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1</autogen>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1, KeyCode::VK_OPEN_URL_iTunes</autogen>
<!-- make a short press of the right command open Emacs -->
<autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_EMACS</autogen>
</item>
</root>
Alfred 2
Se você comprou o Powerpack para Alfred 2, poderá criar um fluxo de trabalho como este:
As teclas de atalho têm um pequeno atraso por padrão, mas você pode reduzi-lo alterando a opção "Comportamento do gatilho" de "Simular teclas modificadoras liberadas" para "Passar pelas teclas modificadoras (mais rápidas)":
Serviços de automação
Abra o Automator, selecione "Serviço" como o tipo de documento, altere "Serviço recebe" de "texto" para "sem entrada", adicione uma ação "Iniciar aplicativo" e salve o serviço. Em seguida, atribua um atalho de teclado para o serviço em "Preferências do sistema> Teclado> Atalhos> Serviços".
Eu não recomendo esta opção, porque pelo menos no meu sistema, existe no máximo um atraso de cerca de meio segundo antes que um aplicativo seja focado em um atalho de teclado criado usando esse método, e o atraso geralmente é ainda maior. Também ocorreu um bug desde a versão 10.7, onde os atalhos de teclado para os serviços do Automator nem sempre funcionam até você passar o mouse sobre o menu de serviços na barra de menus. (Editar: agora são oito anos depois que eu escrevi esta resposta e o bug ainda não foi corrigido.) Também os atalhos de teclado para serviços não estão disponíveis em alguns aplicativos como o Emacs.