Answers:
我认为Windows本身并不支持更改这些键。无论如何,您可以编写一个AutoIt脚本来侦听自定义键绑定,并以编程方式将预定义的键盘快捷方式之一发送到系统以更改键盘布局。
;^ = 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
替代答案
如果两个键盘布局之间的符号差异不大,则可以使用诸如AutoHotKey之类的实用程序为外语添加Alt修饰符(例如,德语键盘Alt层上的标准US Layout符号)。
或者,为操作系统创建一个键盘映射,这是更正确的方法。
对于某些欧洲语言,您可以永久移动字符,而不用分层。
例如,将[]和{}转换为()和[]; ::“的Alt / Shift组合键,以指向üäö附近的键,从而使您可以保持几乎正常的美国布局以进行编码,并为这些位置的语言字符腾出空间他们通常居住的地方。