Como usar as teclas de função como chave padrão em apenas um aplicativo?

4

No meu MacBook eu tenho uso todas as opções F1 F2, teclas como teclas de função padrão desmarcadas. Eu uso o FunctionFlip para mapear F3 de Expose para Spaces.

No entanto, eu gostaria de usar as teclas de função como teclas de função reais ao trabalhar em ambientes virtualizados como o VirtualBox ou o VMware Fusion. Indo para Sistema > Preferências não é muito conveniente.

Você agora como verificar usar todas as teclas F1 F2 etc. como teclas de função padrão somente quando uma aplicação específica estiver ativa?

    
por Michal Sznajder 30.09.2009 / 21:57

7 respostas

1

Eu finalmente comecei a usar Palua e é ótimo.

Paula não está mais disponível, por isso, uso Fluor nos dias de hoje.

    
por 10.11.2012 / 16:23
2

Tente combinar FunctionFlip com BetterTouchTool :

  • Defina as chaves que você deseja "invertidas" com o FunctionFlip
  • Configurar chaves específicas do aplicativo com o BetterTouchTool
por 23.06.2013 / 23:27
1

Capture IronAHK e use-o para remapear ALL chaves em vez de Preferências do Sistema (a razão é que pode entrar em conflito com as preferências system - >), ele vem com um makefile para compilar facilmente em Mono.

Em seguida, use-o exatamente como o AutoHotkey:

#IfWinActive,,VirtualBox
F1::Send { F1 }
    
por 01.10.2009 / 14:51
1

Uma alternativa para Palua é KeyRemap4MacBook :

<?xml version="1.0"?>
<root>
    <appdef>
        <appname>FKEYS</appname>
        <equal>com.vmware.fusion</equal>
        <equal>org.virtualbox.app.VirtualBoxVM</equal>
    </appdef>
    <item>
        <name>fkeys</name>
        <identifier>fkeys</identifier>
        <only>FKEYS</only>
        <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_DOWN, KeyCode::F1</autogen>
        <autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, KeyCode::F2</autogen>
        <autogen>__KeyToKey__ KeyCode::EXPOSE_ALL, KeyCode::F3</autogen>
        <autogen>__KeyToKey__ KeyCode::LAUNCHPAD, KeyCode::F4</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::KEYBOARDLIGHT_LOW, KeyCode::F5</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::KEYBOARDLIGHT_HIGH, KeyCode::F6</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::MUSIC_PREV, KeyCode::F7</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::MUSIC_PLAY, KeyCode::F8</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::MUSIC_NEXT, KeyCode::F9</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::VOLUME_MUTE, KeyCode::F10</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::VOLUME_DOWN, KeyCode::F11</autogen>
        <autogen>__ConsumerToKey__ ConsumerKeyCode::VOLUME_UP, KeyCode::F12</autogen>
        <autogen>__KeyToKey__ KeyCode::F1, KeyCode::BRIGHTNESS_DOWN</autogen>
        <autogen>__KeyToKey__ KeyCode::F2, KeyCode::BRIGHTNESS_UP</autogen>
        <autogen>__KeyToKey__ KeyCode::F3, KeyCode::EXPOSE_ALL</autogen>
        <autogen>__KeyToKey__ KeyCode::F4, KeyCode::LAUNCHPAD</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F5, ConsumerKeyCode::KEYBOARDLIGHT_LOW</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F6, ConsumerKeyCode::KEYBOARDLIGHT_HIGH</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F7, ConsumerKeyCode::MUSIC_PREV</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F8, ConsumerKeyCode::MUSIC_PLAY</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F9, ConsumerKeyCode::MUSIC_NEXT</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F10, ConsumerKeyCode::VOLUME_MUTE</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F11, ConsumerKeyCode::VOLUME_DOWN</autogen>
        <autogen>__ConsumerToKey__ KeyCode::F12, ConsumerKeyCode::VOLUME_UP</autogen>
    </item>
</root>

Veja a fonte dos valores do código-chave e configurações predefinidas .

    
por 24.06.2013 / 02:08
0

Infelizmente, essa não é uma opção oferecida pela Apple ou FunctionFlip .

No entanto, o autor do FunctionFlip foi obviamente capaz de escrever código que permite a configuração dinâmica das teclas de função para que possa ser feito.

Gostaria de entrar em contato com o autor do FunctionFlip e perguntar se ele poderia adicionar os recursos de que você precisa. Ou seja, controlar o comportamento das teclas de função, dependendo do aplicativo ativo.

Se você se comprometer a doar para o recurso, ele poderá ser implementado mais rapidamente.

Caso contrário, não conheço nenhum outro programa que ofereça essa funcionalidade.

    
por 30.09.2009 / 22:20
0

Você pode usar o AppleScript para alternar o estado das teclas de função:

tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"

Além disso, você pode tornar este aplicativo específico com a ajuda de Keyboard Maestro . Se for escrito um pequeno tutorial como extrair isso de aqui .

    
por 26.06.2013 / 12:34
0

Use o mosquetão

Esta aplicação pode fornecer a funcionalidade exata solicitada pelo OP. A resposta de user495470 sobre o KeyRemap4MacBook foi útil para me apontar na direção certa. No entanto, está desatualizado e não funciona mais como está escrito porque o KeyRemap4MacBook foi atualizado. Agora é chamado de mosquetão . Parece ser bem mantido e é um software livre e de código aberto (não é o caso da BetterTouchTool mencionado em outra resposta que requer pagamento após 45 dias).

Configurando

Primeiro baixe e instale o aplicativo Karabiner. Uma vez instalado, para remapear as teclas de função como teclas de função padrão, você precisará adicionar uma "Modificação-Complexo" nas preferências. Há várias dessas modificações complexas pré-construídas e baixáveis do site do Karabiner, mas você também pode escrever suas próprias no json.

Use o seguinte código e coloque-o em um arquivo (com o nome "functionkeys.json") na pasta ~/.config/karabiner/assets/complex_modifications . Quando estiver lá, vá para as preferências do Karabiner e clique em Complex-Modifications e, em seguida, em Add rule . Você deve ver o texto Function Keys in Terminal Apps e clique em Enable All .

Como alterar qual aplicativo em primeiro plano causa o efeito

Este código fornece especificamente funcionalidade padrão chave de função ao usar qualquer um dos vários aplicativos de terminal (e nada ao usar qualquer outro aplicativo). Este código também permite o uso de chave de mídia em aplicativos de terminal usando fn + function key .

Enquanto o OP perguntava sobre uma aplicação específica genérica, o VirtualBox era mencionado em particular. O código abaixo pode ser alterado para criar a funcionalidade da tecla de função em qualquer aplicativo exigido substituindo o conteúdo de cada instância de "Bundle Identifiers: [ ... ]" por qualquer aplicativo (s). (O VirtualBox pode ser "^org\.virtualbox\.VirtualBoxVM" , embora eu não tenha tentado.) Use o Karabiner EventViewer incluído para encontrar o identificador de aplicativo para qualquer aplicativo desejado e, em seguida, conecte os valores.

{
  "title": "Function Keys in Terminal Apps",
  "rules": [
    {
      "description": "Use regular function keys in terminal",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "key_code": "f1"
          },
          "to": [
            {
              "key_code": "f1",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f2"
          },
          "to": [
            {
              "key_code": "f2",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f3"
          },
          "to": [
            {
              "key_code": "f3",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f4"
          },
          "to": [
            {
              "key_code": "f4",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f5"
          },
          "to": [
            {
              "key_code": "f5",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f6"
          },
          "to": [
            {
              "key_code": "f6",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f7"
          },
          "to": [
            {
              "key_code": "f7",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f8"
          },
          "to": [
            {
              "key_code": "f8",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f9"
          },
          "to": [
            {
              "key_code": "f9",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f10"
          },
          "to": [
            {
              "key_code": "f10",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f11"
          },
          "to": [
            {
              "key_code": "f11",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f12"
          },
          "to": [
            {
              "key_code": "f12",
              "modifiers": [
                "fn"
              ]
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f1",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f1"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f2",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f2"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f3",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f3"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f4",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f4"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f5",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f5"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f6",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f6"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f7",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f7"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f8",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f8"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f9",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f9"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f10",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f10"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f11",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f11"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "key_code": "f12",
            "modifiers": {
              "mandatory": [
                "fn"
              ]
            }
          },
          "to": [
            {
              "key_code": "f12"
            }
          ],
          "conditions": [
            {
              "type": "frontmost_application_if",
              "bundle_identifiers": [
                "^com\.apple\.Terminal$",
                "^com\.googlecode\.iterm2$",
                "^co\.zeit\.hyperterm$",
                "^co\.zeit\.hyper$",
                "^io\.alacritty$",
                "^net\.kovidgoyal\.kitty$"
              ]
            }
          ]
        }
      ]
    }
  ]
}
    
por 18.03.2018 / 22:27