回答:
Windowsはこれらのキーの変更をネイティブでサポートしていないと思います。とにかく、カスタムキーバインドをリッスンするAutoItスクリプトを記述し、プログラムで定義済みのキーボードショートカットの1つをシステムに送信して、キーボードレイアウトを変更できます。
;^ = 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
AutoItをダウンロードしてインストールし(このリンクを使用してダウンロードしてインストールし)、.au3
拡張子付きのファイルを作成します。上記のコードをコピーして貼り付け、保存します。ログイン時にこのファイルを開きたい場合は、このファイルをスタートアップフォルダに配置できます。
上記のスクリプトは私にはうまくいきませんでしたが、私はそれを修正しましたが、今はうまくいきます。
#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
Windows 7では、[コントロールパネル]、[地域と言語]、[キーボードと言語]で、[キーボードの変更]を選択します。小さなポップアウトウィンドウが表示されます。そこで、「詳細キー設定」を選択しました。これにより、各ターゲットキーボードを直接取得するための組み合わせと、一般的な切り替えキーシーケンスを設定できます。
別の答え
2つのキーボードレイアウトが多くの記号で異なっていない場合は、AutoHotKeyなどのユーティリティを使用して、外国語のAlt修飾子(たとえば、ドイツ語キーボードのAltレイヤーの標準のUSレイアウト記号)を追加できます。
または、より正しい方法であるOS用のキーマップを作成します。
一部のヨーロッパ言語では、レイヤーを使用する代わりに、文字を永続的に移動できます。
たとえば、[]と{}は()と[] ;: '"のAlt / Shiftコンボに対応し、üäöの近くのキーに対応します。これにより、コーディング用にほぼ通常のUSレイアウトを維持し、その場で言語の文字用のスペースを確保できます。彼らが通常いる場所。