답변:
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
Windows 7의 경우 제어판 \ 지역 및 언어 \ 키보드 및 언어에서 '키보드 변경'을 선택하십시오. 작은 팝업 창이 나타납니다. 'Advanced Key Settings (고급 키 설정)'를 선택했습니다. 여기에서 일반 전환 키 시퀀스뿐만 아니라 각 대상 키보드를 직접 가져 오도록 조합을 설정할 수 있습니다.
대체 답변
두 개의 키보드 레이아웃이 많은 기호와 다르지 않은 경우 AutoHotKey 또는 이와 유사한 유틸리티를 사용하여 외국어에 대한 Alt-modifiers (예 : 독일어 키보드의 Alt 레이어에있는 표준 US 레이아웃 기호)를 추가 할 수 있습니다.
또는 보다 정확한 운영 방법 인 OS에 대한 키맵을 작성 하십시오.
일부 유럽 언어의 경우 레이어 대신 문자를 영구적으로 이동할 수 있습니다.
예를 들어, []와 {}에서 ()와 [] ;: ' "의 Alt / Shift 콤보에 üäö 근처의 키를 사용하면 코딩을위한 거의 일반적인 미국 레이아웃을 유지하고 그 자리에서 언어 문자를위한 공간을 만들 수 있습니다 보통 그들이 사는 곳.