Hotkey zum Wechseln der Eingabesprache in Windows 7

Hotkey zum Wechseln der Eingabesprache in Windows 7

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

CtrlIch weiß, dass ich sie in + Shift, Left Alt+ oder das Gravis ändern kann Shift, aber mir gefällt keines davon. Gibt es also eine Möglichkeit, etwas wie Ctrl+ zu definieren Space, um die Eingabesprache zu ändern?

Antwort1

Ich glaube, Windows unterstützt das Ändern dieser Schlüssel nicht von Haus aus. Wie auch immer, Sie können eineAutoItSkript zum Abhören benutzerdefinierter Tastenkombinationen und zum programmgesteuerten Senden einer der vordefinierten Tastenkombinationen an das System, 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 Siedieser Linkzum 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.

Antwort2

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

Antwort3

Wählen Sie in Windows 7 unter Systemsteuerung\Region und Sprache\Tastaturen und Sprache die Option „Tastaturen ändern“ aus. Sie erhalten ein kleines Popup-Fenster. Wählen Sie dort „Erweiterte Tasteneinstellungen“, in dem Sie Kombinationen festlegen können, um direkt auf jede Zieltastatur zuzugreifen, sowie die allgemeine Tastenfolge zum Umschalten.

Antwort4

Alternative Antwort

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

Oder erstellen Sie eineTastenbelegung für das Betriebssystemwas die richtigere Vorgehensweise ist.

  • Sie müssen nie wechseln und sich fragen, welche Sprache aktiv ist (kann sehr ablenkend sein)
  • Möglicherweise greifen Sie häufig auf die Alt-Ebene zu, was Ihren Arbeitsfluss verlangsamt.

Bei manchen europäischen Sprachen können Sie die Zeichen dauerhaft verschieben, statt eine Ebene zu haben.

Beispielsweise werden [] und {} zu Alt/Umschalt-Kombinationen aus () und [];:'" zu Tasten in der Nähe von üäö. Dadurch können Sie ein nahezu normales US-Layout für die Codierung beibehalten und Platz für die Zeichen Ihrer Sprache an den Stellen schaffen, an denen sie sich normalerweise befinden.

verwandte Informationen