Hotkey zum Wechseln der Eingabesprache in Windows 7

10

Ich verwende Windows 7 und möchte einen benutzerdefinierten Hotkey definieren, um zwischen verschiedenen Eingabesprachen zu wechseln.

Ich weiß, dass ich sie in Ctrl+ Shift, Left Alt+ Shiftoder den schwerwiegenden Akzent ändern kann , aber ich mag keines von beiden. Gibt es eine Möglichkeit, etwas wie Ctrl+ Spacezu definieren , um die Eingabesprache zu wechseln?

Fynn
quelle

Antworten:

3

Ich denke, Windows unterstützt das Ändern dieser Schlüssel nicht von Haus aus. Auf jeden Fall können Sie ein AutoIt- Skript schreiben , um auf benutzerdefinierte Tastenkombinationen zu warten, und programmgesteuert eine der vordefinierten Tastaturkürzel an das System senden, um das Tastaturlayout zu ändern.

;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Control + Space

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
    Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc

Laden Sie einfach AutoIt herunter und installieren Sie es (verwenden Sie diesen Link zum Herunterladen und Installieren) und erstellen Sie eine Datei mit einer .au3Erweiterung. Kopieren Sie den obigen Code, fügen Sie ihn ein und speichern Sie ihn. Sie können diese Datei in Ihrem Startordner ablegen, wenn Sie möchten, dass sie beim Anmelden geöffnet wird.

Fardjad
quelle
3

Das obige Skript hat bei mir nicht funktioniert, aber ich habe es geändert, und jetzt funktioniert es.

#Include <Misc.au3>
;~ #RequireAdmin
;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift

HotKeySet("^{Space}", "change") ;Registers Contorl + Space
$dll = DllOpen("user32.dll")

ToolTip("Try to use ^Space"&@CRLF&"!!!!!!!!!!!!!!!!!!!")
Sleep(3000)
ToolTip('')

;Main loop
While 1
    Sleep(100)
WEnd

;Changes Keyboard Layout
Func change()
 While _IsPressed("11",$dll)
  Sleep(10)
 WEnd
 Send ("{ALTDOWN}") ;Hold down Alt
    Sleep(100) ;Wait 100 milliseconds
    Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc
Sergey Erokhin
quelle
1

Wählen Sie in Windows 7 unter Systemsteuerung \ Region & Sprache \ Tastaturen & Sprache die Option 'Tastaturen ändern'. Sie erhalten ein kleines Pop-out-Fenster. Dort wurde 'Erweiterte Tasteneinstellungen' ausgewählt, mit denen Sie Kombinationen festlegen können, um jede Zieltastatur direkt abzurufen, sowie die allgemeine Schalttastenfolge.

Aganju
quelle
2
Das Problem dabei ist, dass es nur 3 Optionen bietet, von denen sich eine nicht in beiden Layouts auf derselben Taste befindet ... Die andere Option besteht darin, für jede Sprache einen anderen Schlüssel festzulegen, erfordert jedoch eine Modifikatorkombination. Nicht ideal.
Henrik Erlandsson
0

Alternative Antwort

Wenn sich zwei Tastaturlayouts nicht durch viele Symbole unterscheiden, können Sie mit einem Dienstprogramm wie AutoHotKey oder ähnlichem Alt-Modifikatoren für die Fremdsprache hinzufügen (z. B. Standard-US-Layoutsymbole auf der Alt-Ebene einer deutschen Tastatur).

Oder erstellen Sie eine Keymap für das Betriebssystem, die die korrektere Methode ist.

  • Sie müssen nie wechseln und sich fragen, welche Sprache aktiv ist (kann sehr ablenkend sein).
  • Sie können häufig auf die Alt-Ebene zugreifen, was Ihren Fluss verlangsamt.

In einigen europäischen Sprachen können Sie Zeichen dauerhaft verschieben, anstatt eine Ebene zu haben.

Beispiel: [] und {} zu Alt / Shift-Kombinationen von () und [];: '"zu Tasten in der Nähe von üäö, sodass Sie ein fast normales US-Layout für die Codierung beibehalten und Platz für die Zeichen Ihrer Sprachen an den Stellen schaffen können wo sie normalerweise wohnen.

Henrik Erlandsson
quelle