Umschalten der Tastatursprache durch *Halten* einer Taste?

Auf meinem Linux-Computer wechselt meine Tastatur von Englisch zu Serbisch, wenn ich die Feststelltaste halte . Um zum Beispiel č zu schreiben, muss ich nur die Feststelltaste gedrückt halten und die Taste drücken, wo č auf der serbischen Tastatur ist (in diesem Fall ist die Taste ; auf der englischen Tastatur). Wenn ich die Feststelltaste loslasse, "schaltet" die Tastatur auf Englisch zurück, sodass, wenn ich ; Ich bekomme ; wie gewünscht. Super nützlich.

Gibt es eine Möglichkeit, dieses Verhalten unter OS X zu replizieren?

Antworten (4)

Sie können KeyRemap4MacBook verwenden :

<?xml version="1.0"?>
<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_SERBIAN</name>
    <inputsourceid_equal>com.apple.keylayout.Serbian</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::F1, KeyCode::VK_NONE, Option::KEYTOKEY_BEFORE_KEYDOWN, KeyCode::VK_CHANGE_INPUTMODE_SERBIAN, Option::KEYTOKEY_AFTER_KEYUP, KeyCode::VK_CHANGE_INPUTMODE_ENGLISH</autogen>
  </item>
</root>

VK_CHANGE_INPUTMODE_ENGLISH ist in inputsourcedef.xml definiert . Sie können die IDs der Eingabequellen von EventViewer.app sehen. Die Feststelltaste kann mit PCKeyboardHack einer F-Taste neu zugeordnet werden .

Eigentlich scheint das dem, was ich will, nahe zu kommen (obwohl es ein bisschen zu kompliziert ist, um praktisch zu sein).
Das KeyRemap4MacBook ist der Weg, es zu tun, denke ich. Eine ähnliche Lösung mit AutoHotKey funktioniert bei mir unter Win 8.

Wenn Sie 10.7 Lion oder neuer verwenden, können Sie auch die c-Taste drücken, bis eine Liste aller c-Zeichen mit verschiedenen Dekorationen angezeigt wird.

Das ist fantastisch! Ich wünschte, ich könnte +10! Danke, dass du mein Leben verbessert hast.

Sie können ganz einfach von der serbischen Tastatur auf die US-Tastatur oder umgekehrt wechseln, indem Sie Befehlstaste-Leertaste drücken . Um dies einzurichten:

Gehen Sie zu Systemeinstellungen... , Sprache & Text , Eingabequellen und wählen Sie sowohl das serbische als auch das englische Tastaturlayout aus. Aktivieren Sie das Kontrollkästchen neben Eingabemenü in der Menüleiste anzeigen . Stellen Sie sicher, dass unter Tastenkombinationen für Eingabequellen die Option Vorherige Eingabequelle auswählen: auf Befehlstaste-Leertaste eingestellt ist .

Das ist alles, was Sie tun müssen.

Geben Sie hier die Bildbeschreibung ein

Das ist eigentlich nicht das, wonach ich fordere. Ich weiß, dass Sie zu und von einem Tastaturlayout umschalten können. Was ich möchte, ist die Feststelltaste als Modifikatortaste zu halten. Beispielsweise ändert Shift den gedrückten Buchstaben in Großbuchstaben. Ich möchte, dass die Feststelltaste die Tastatur für die Dauer der Drucklegung auf Serbisch ändert.
Sie können eine andere Sondertaste als Befehlstaste-Leertaste definieren, indem Sie im oben gezeigten Dialogfeld auf die Schaltfläche Tastaturkürzel klicken.

Mit der Alt-Taste haben Sie Zugriff auf eine Reihe von Nicht-ASCII-Zeichen, die vom verwendeten Layout abhängen.

Auf einer Standard-US-Tastatur erzeugt das Drücken von Alt + Unterstrich ein " ` ", unter dem der Vokal steht, den Sie eingeben: " à ", wenn ich Alt + Unterstrich gefolgt von a eingebe.

In Ihrem Fall erhalten Sie mit dem Layout US Extended Zugriff auf alle Akzente, die Sie auf Serbisch verwenden müssen. Zum Beispiel ergibt Alt+v gefolgt von c č.

Sie müssen den Keyboard Viewer geöffnet lassen, um sich an die verschiedenen möglichen Modifikationen zu gewöhnen, aber sobald Sie das Set erhalten, das in Ihrer Sprache verwendet wird, brauchen Sie es nicht mehr.