Comment envoyer F9-F12 à un programme curses exécuté dans Terminal.app?


10

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

Certains programmes comme la mcséquence de support Escape 9 comme synonyme de F9, etc., mais ce n'est pas universel.

Y a-t-il un moyen de le faire?

Réponses:


9

fn-Cmd-F9 fonctionne comme F9 dans Terminal.app sur mon MacBook Pro, exécutant Mountain Lion 10.8.


Sur mon MacBook Air exécutant Mavericks, c'est fn-Option-Fkey, pas fn-Command-Fkey.
Mark Reed

Sur MacBook Pro exécutant Yosemite, fn-Cmd-F9 fonctionne; fn-Opt-F9 insère simplement le tilde. (Je l'utilise dans emacs.)
Chap

5

Vous pouvez exécuter un AppleScript (par exemple en l'enveloppant dans un service dans Automator avec l' action Exécuter AppleScript , sans entrée dans 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 affectera temporairement un raccourci différent à ce qui est lié à F9, appuyez sur F9 et revenez au paramètre. Les noms des paramètres sont les suivants pour les autres préférences Exposer:

all windows shortcut
application windows shortcut
show desktop shortcut
dashboard shortcut 

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

F9 101
F10 109
F11 103
F12 111

Vous pouvez attribuer des raccourcis clavier aux services dans 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 touche pour lancer l'action. Pour les raccourcis utilisant les touches F, voir le dernier paragraphe de cette réponse .


Vous pouvez également configurer une application de raccourci clavier / macro comme Butler pour appuyer sur la séquence d'échappement que vous obtenez cat -vlorsque vous appuyez sur l'une des touches F pendant que vous désactivez les raccourcis.

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

Ce sont F9 à F12, dans l'ordre.

Dans Butler, cela ressemble à ceci pour F9:

entrez la description de l'image ici

Je pressé Ctrl-[, [, 2, 0, ~pour cette séquence. Sur ma disposition du clavier, ~est Shift-backtick, c'est la raison pour laquelle le décalage modificateur est visible. Fonctionne quand même.

Configurez un raccourci et vous pouvez commencer à appuyer dessus pour obtenir la séquence d'échappement:

entrez la description de l'image ici

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


Alternativement, de nombreuses applications en ligne de commande comprennent Esc, 1(séquence) comme signifiant F1, jusqu'au Esc, 0sens F10.


Ah, bonjour Mme Sledgehammer! Permettez-moi le plaisir de vous présenter Mr Nut ...
Robino

2

Vous pouvez désactiver le raccourci clavier pour F12:

préférences clavier> raccourcis clavier


Ce n'était pas suffisant en soi pour moi, mais c'est dans la bonne direction.
Robino

0

J'ajouterai que si vous êtes sur un ordinateur portable, vous n'utilisez pas réellement le F9-F12, vous appuyez sur "chanson suivante", "sourdine audio", "diminution du volume" (exemple de macbookpro récent). Pour réellement appuyer sur F9-F12, maintenez 'Fn' enfoncé tout en utilisant la même touche.

Sur le bureau, si vous avez des éléments comme Exposé, Spaces, etc., mappés aux touches du clavier F9-F12, je trouve utile d'associer ces fonctions à des boutons de souris supplémentaires (par exemple, j'utilise la 'paire de boutons latéraux' de la Mighty Mouse pour activer Exposé) ou les bords de l'écran (par exemple, j'ai "veille de l'écran" en haut à gauche) - mais c'est en fait une question subjective.


1
Désactiver ce genre de choses est la première chose que je fais sur chaque nouveau Mac. Exposez etc. F9 est toujours F9, jamais la chanson suivante.
taw

0

Voici le processus en deux étapes que j'ai utilisé pour obtenir CoRD (Remote Desktop for Mac):

  1. Préférences Système> Clavier> Clavier> Cochez "Utiliser toutes les touches F1, F2, etc. comme 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 dont @taw parle dans l'un des commentaires; il fait fonctionner les touches de fonction f1-f10. La deuxième étape empêche les pressions sur les touches f11 et f12 d'être interceptées par OSX.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.