web-dev-qa-db-fra.com

Comment envoyer le programme F9-F12 au programme Curse exécutant à l'intérieur de terminal.app?

F9-F12 est utilisé par Mac OS X et je ne veux pas vous en débarrasser, je veux juste pouvoir envoyer de temps en temps F9-F12 à des programmes à l'intérieur du terminal (principalement F9/F10).

Certains programmes comme mc Séquence de support Escape 9 comme synonyme de f9, etc., mais ce n'est pas universel.

Il y a un moyen de le faire?

10
taw

fN-CMD-F9 fonctionne comme F9 dans le terminal.app sur mon MacBook Pro, montagne Lion de montagne 10.8.

9
LarsR

Vous pouvez exécuter un AppleScript (par exemple, en l'enveloppant dans A Service Dans l'automator avec le Exécuter AppleScript Action, avec Aucune entrée = Terminal) qui exécute ce qui suit:

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

Cela attribuera temporairement un raccourci différent à ce qui est lié à F9, appuyez sur F9 et en revenant le réglage. Les noms de paramètres sont les suivants pour les autres préférences exposées:

all windows shortcut
application windows shortcut
show desktop shortcut
dashboard shortcut 

Les codes de clé pour F9 à F12 sont les suivants:

F9 101
F10 109
F11 103
F12 111

Vous pouvez affecter des raccourcis clavier aux services In Préférences système "Clavier" Raccourcis clavier "Services Vous devrez apprendre un autre raccourci (par exemple. Command-F9), mais au moins vous pouvez appuyer sur une clé pour initier l'action. Pour les raccourcis utilisant des touches F, voir le dernier paragraphe dans cette réponse .


Vous pouvez également configurer une application de raccourci/macro comme - Butler pour appuyer sur la séquence d'échappement que vous obtenez de cat -v Lorsque vous appuyez sur l'une des touches F lorsque vous avez désactivé les raccourcis.

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

Ce sont F9 à F12, dans l'ordre.

Dans Butler, il ressemble à ceci pour F9:

enter image description here

J'ai pressé Ctrl-[, [, 2, 0, ~ pour cette séquence. Sur ma disposition du clavier, ~ est Shift-backtick, c'est pourquoi le modificateur shift est visible. Fonctionne de toute façon.

Configurez un raccourci et vous pouvez commencer à appuyer sur celle-ci pour obtenir la séquence d'évacuation:

enter image description here

Fonctionne dans mc, et je ne me souviens pas d'un autre programme CLI avec des touches F pour le moment. Mais ce n'est pas la séquence d'évasion spécifique mc, donc cela fonctionnera probablement dans d'autres.


Alternativement, de nombreuses applications de ligne de commande comprennent Esc, 1 (séquence) signifie F1, à travers Esc, 0 sens F10.

5
Daniel Beck

Vous pouvez désactiver le raccourci clavier pour F12 sous:

préférences de clavier> Raccourcis clavier

2
user319498

C'est le processus de deux étapes que j'ai utilisé pour obtenir le cordon (Bureau à distance pour Mac):

  1. Préférences système> Clavier> Clavier> Vérifiez "Utilisez toutes les touches F1, F2, etc. en tant que touches de fonction standard"
  2. Préférences Système> Clavier> Raccourcis> Décochez "Afficher le bureau", "Afficher le tableau de bord"

La première étape est ce que @taw parle de l'un des commentaires; Il faut fonctionner les touches de fonction F1-F10. La deuxième étape arrête les appuie sur les touches F11 et F12 d'être interceptée par OSX.

0
Robino