Como enviar F9-F12 para o programa maldições em execução no Terminal.app?

10

O F9-F12 é usado pelo Mac OS X, e eu não quero me livrar deles, só quero poder enviar o F9-F12 ocasionalmente para programas dentro do terminal (principalmente F9 / F10).

Alguns programas como a mcsequência de suporte Escape 9 como sinônimo de F9 etc., mas não é universal.

Existe alguma maneira de fazer isso?

taw
fonte

Respostas:

9

O fn-Cmd-F9 funciona como F9 no Terminal.app do meu MacBook Pro, executando o Mountain Lion 10.8.

LarsR
fonte
No meu MacBook Air executando o Mavericks, é fn-Option-Fkey, não fn-Command-Fkey.
Mark Reed
No MacBook Pro executando Yosemite, o fn-Cmd-F9 funciona; O fn-Opt-F9 apenas insere o til. (Eu estou usando-o dentro de emacs.)
Chap
5

Você pode executar um AppleScript (por exemplo, envolvendo-o em um Serviço no Automator com a ação Executar AppleScript , sem entrada no Terminal ) que executa o seguinte:

tell application "System Events" 
    tell expose preferences to set the properties of the all windows shortcut to {function key:F1}
    key code 101 # press F9
    tell expose preferences to set the properties of the all windows shortcut to {function key:F9}
end tell

Isso atribuirá temporariamente um atalho diferente ao vinculado a F9, pressione F9 e reverterá a configuração. Os nomes das configurações são os seguintes para as outras preferências do Expose:

all windows shortcut
application windows shortcut
show desktop shortcut
dashboard shortcut 

Os códigos de chave para F9 a F12 são os seguintes:

F9 101
F10 109
F11 103
F12 111

Você pode atribuir atalhos de teclado a serviços em Preferências do sistema »Teclado» Atalhos de teclado »Serviços Você precisará aprender outro atalho (por exemplo Command-F9), mas pelo menos pode pressionar uma tecla para iniciar a ação. Para atalhos usando as teclas F, consulte o último parágrafo desta resposta .


Como alternativa, você pode configurar um aplicativo de teclas de atalho / macro como Butler para pressionar a sequência de escape de onde você cat -vpressiona uma das teclas F enquanto desativa os atalhos.

$ cat -v
^[[20~^[[21~^[[23~^[[24~

Estes são F9 a F12, em ordem.

No Butler, é assim para F9:

insira a descrição da imagem aqui

I pressionado Ctrl-[, [, 2, 0, ~em que a sequência. No meu layout de teclado, ~é por Shift-backtickisso que o modificador Shift está visível. Funciona de qualquer maneira.

Configure um atalho e você pode começar a pressioná-lo para obter a sequência de escape:

insira a descrição da imagem aqui

Funciona mce não me lembro de outro programa CLI com teclas F no momento. Mas não é a mcsequência de escape específica, portanto provavelmente funcionará em outras.


Como alternativa, muitos aplicativos de linha de comando entendem Esc, 1(sequência) como significando F1, até Esc, 0significado F10.

Daniel Beck
fonte
Ah, bom dia, senhora Sledgehammer! Não me permitir o prazer de apresentá-lo ao Sr. Nut ...
Robino
2

Você pode desativar o atalho do teclado F12em:

preferências de teclado> atalhos de teclado

user319498
fonte
Isso não foi o suficiente para mim, mas está no caminho certo.
Robino
0

Acrescentarei que, se você estiver em um laptop, na verdade não está usando o F9-F12, está pressionando "next song", "audio mudo", "volume down" (exemplo do recente macbookpro). Para realmente pressionar F9-F12, mantenha 'Fn' pressionado enquanto usa a mesma tecla.

Na área de trabalho, se você tiver coisas como Exposé, Spaces etc. mapeadas para as teclas reais do teclado F9-F12, acho útil associar essas funções a botões adicionais do mouse (por exemplo, eu uso o 'par lateral de botões' de o Mighty Mouse para ativar o Exposé) ou as bordas da tela (por exemplo, eu tenho 'tela em espera' no canto superior esquerdo) - mas isso é realmente uma questão subjetiva.

Luke404
fonte
11
Desativar essas coisas é a primeira coisa que faço em todos os novos Mac. Expor etc. F9 é sempre F9, nunca a próxima música.
taw
0

Este é o processo de duas etapas que eu usei para obter o CoRD (Remote Desktop for Mac):

  1. Preferências do sistema> Teclado> Teclado> Marque "Use todas as teclas F1, F2, etc. como teclas de função padrão"
  2. Preferências do sistema> Teclado> Atalhos> Desmarque "Show Desktop", "Show Dashboard"

O primeiro passo é o que o @taw está falando em um dos comentários; obtém as teclas de função f1-f10 funcionando. O segundo passo impede que as teclas f11 e f12 sejam interceptadas pelo OSX.

Robino
fonte