Verwendung von Funktionstasten als Standardtaste nur in einer App

2839
Michal Sznajder

Auf meinem MacBook habe ich alle Tasten F1 F2 usw. als Standardfunktionstasten Option deaktiviert. Ich verwende FunctionFlip, um F3 von Expose zu Spaces abzubilden.

Ich möchte jedoch Funktionstasten als echte Funktionstasten verwenden, wenn ich in einer virtualisierten Umgebung wie VirtualBox oder VMware Fusion arbeite. Das Wechseln zu System> Einstellungen ist nicht sehr praktisch.

Haben Sie jetzt, wie Sie überprüfen Verwendung alle F1 F2 usw. Tasten als Standardfunktionstasten nur, wenn eine bestimmte Anwendung ist anwesend ?

4
Diese Frage hat gute Antworten auf Ask Different: https://apple.stackexchange.com/questions/49315/can-i-use-my-f1-f2-etc-keysas -standard-function-keysonly- für spezifische Apps James vor 5 Jahren 0

7 Antworten auf die Frage

2
Lionel

Versuchen Sie, FunctionFlip mit BetterTouchTool zu kombinieren :

  • Stellen Sie die gewünschten Tasten mit FunctionFlip ein
  • Richten Sie anwendungsspezifische Schlüssel mit BetterTouchTool ein
Dies ist eine fantastische App-Kombination! Lantrix vor 9 Jahren 0
1
John T

Schnappen IronAHK und verwenden Sie es neu zuordnen alle Schlüssel anstelle der Systemeinstellungen (Grund dafür ist, dass es mit dem System in Konflikt geraten könnte -> Einstellungen), kommt es mit einer Make - Datei für leicht unter Mono zu kompilieren.

Dann verwenden Sie es genau wie AutoHotkey:

#IfWinActive,,VirtualBox F1::Send { F1 } 
Ich kann keine kompilierte Version finden. Muss ich selbst kompilieren? Michal Sznajder vor 14 Jahren 0
Derzeit bieten sie keine an, ja, Sie müssen sich leider selbst kompilieren. Aber sie liefern ein Makefile, glaube ich. John T vor 14 Jahren 0
1
Michal Sznajder

Ich habe endlich angefangen, Palua zu benutzen und es ist einfach großartig.

Paula ist nicht mehr verfügbar, also benutze ich heutzutage Fluor .

1
user495470

Eine Alternative zu Palua ist 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> 

In der Quelle finden Sie die Schlüsselcodewerte und vordefinierten Einstellungen .

0
Ben S

Leider bietet Apple oder FunctionFlip keine Option .

Der Autor von FunctionFlip war jedoch offensichtlich in der Lage, Code zu schreiben, der eine dynamische Konfiguration der Funktionstasten ermöglicht, so dass dies möglich ist.

Ich würde den Autor von FunctionFlip kontaktieren und fragen, ob er die benötigten Funktionen hinzufügen könnte. Steuern des Funktionstastenverhaltens abhängig von der aktiven Anwendung.

Wenn Sie sich dazu verpflichten, für die Funktion zu spenden, wird sie möglicherweise schneller implementiert.

Ansonsten kenne ich keine anderen Programme, die diese Funktionalität bieten.

0
pattulus

Sie können AppleScript verwenden, um den Status der Funktionstasten umzuschalten:

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" 

Darüber hinaus können Sie diese App mithilfe von Keyboard Maestro spezifisch gestalten . Wenn ein kleines Tutorial geschrieben wird, wie man das hier herausholt .

0
fivestones

Verwenden Sie Karabiner

Diese Anwendung kann genau die Funktionalität bereitstellen, nach der das OP gefragt hat. Die Antwort von user495470 über KeyRemap4MacBook war hilfreich, um mich in die richtige Richtung zu weisen. Es ist jedoch veraltet und funktioniert nicht mehr wie geschrieben, da KeyRemap4MacBook aktualisiert wurde. Es heißt jetzt Karabiner . Es scheint gut gepflegt zu sein und ist kostenlose Open-Source-Software (nicht der Fall bei BetterTouchTool, das in einer anderen Antwort erwähnt wird, die nach 45 Tagen zu zahlen ist).

Einrichten

Laden Sie zuerst die Karabiner-Anwendung herunter und installieren Sie sie. Nach der Installation müssen Sie, um die Funktionstasten als Standardfunktionstasten neu zuzuordnen, eine "Complex-Modification" in den Voreinstellungen hinzufügen. Es gibt mehrere dieser komplexen Modifikationen, die von der Karabiner-Website vorgefertigt und heruntergeladen werden können. Sie können jedoch auch eigene in json schreiben.

Verwenden Sie den folgenden Code, und platzieren Sie ihn in dem ~/.config/karabiner/assets/complex_modificationsOrdner in einer Datei (genannt "functionkeys.json") . Sobald es dort ist, gehen Sie zu den Karabiner-Einstellungen und klicken Sie auf Complex-Modifications, dann auf Add rule. Sie sollten den Text sehen Function Keys in Terminal Appsund dort klicken Enable All.

Wie ändert man, welche Vordergrundanwendung den Effekt verursacht?

Dieser Code stellt insbesondere die Funktionstasten-Standardfunktionalität bereit, wenn eine von mehreren Terminal-Apps verwendet wird (und nichts, wenn eine andere App verwendet wird). Dieser Code ermöglicht auch die Verwendung von Medienschlüsseln in Terminal-Apps fn + function key.

Während das OP nach einer generischen spezifischen Anwendung fragte, wurde insbesondere die VirtualBox erwähnt. Der folgende Code könnte geändert werden, um die Funktionstastenfunktionalität in den gewünschten Anwendungen zu erstellen, indem der Inhalt jeder Instanz "Bundle Identifiers: [ ... ]"durch beliebige Anwendungen ersetzt wird. (Möglicherweise habe "^org\\.virtualbox\\.VirtualBoxVM"ich VirtualBox noch nicht ausprobiert.) Verwenden Sie den mitgelieferten Karabiner EventViewer, um die Anwendungskennung für jede gewünschte Anwendung zu finden, und fügen Sie dann die Werte ein.

{ "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$" ] } ] } ] } ] }