한, 영, 일 키보드를 왔다갔다 하다보니 레이아웃이 햇갈려서 만들어보았다.
우측Alt(한/영키)와 J를 누르면 일본어, K를 누르면 한글, L을 누르면 영어로 바꿀 수 있도록 해보자
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1) ;영어 키보드 레이아웃을 en으로 선언
jp := DllCall("LoadKeyboardLayout", "Str", "00000411", "Int", 1) ; 일본어 키보드 레이아웃을 jp로
kr := DllCall("LoadKeyboardLayout", "Str", "00000412", "Int", 1) ; 한국어를 kr로
SetLayout(language) ; 함수 대충 언어 레이아웃을 변경해준다는 내용
{
ControlGetFocus, control, A
;SplashTextOn,,, % "" . language
PostMessage 0x50, 0, %language%, %control%, A ; WM_INPUTLANGCHANGEREQUEST
}
RAlt & j:: ;오른쪽알트 + j를 누르고
KeyWait, RAlt ; 오른쪽 알트의 입력이 끝나는 걸 기다림
SetLayout(jp) ; 레이아웃을 jp로 변경
return ; 끝
vk15 & j:: ; vk15는 한영키임 한글 레이아웃일때는 오른쪽알트가 아니라 한영키이므로 vk15를 이용
KeyWait, vk15 ; 대충 위와 동일한 구조
SetLayout(jp)
return
vk15 & l::
KeyWait, vk15
SetLayout(en)
return
RAlt & k::
KeyWait, RAlt
SetLayout(kr)
return
RAlt & l::
KeyWait, RAlt
SetLayout(en)
return
추가로 오른쪽 알트 혹은 한영키를 누를시에 무조건 영어로 변경하는 방법은
RAlt::
KeyWait, alt
SetLayout(en)
return
vk15::
KeyWait, vk15
SetLayout(en)
return
KeyWait는 일반적으로 사용하지 않아도 문제가 없지만, 키보드 레이아웃이 변경이 되는 과정에서
오른쪽 알트키가 한영으로 변환이 되며, 한글 자판으로 바뀌었는데 알트가 계속 눌려진 것으로 인식되는 상황이 생겼다.
이를 해결하기위해 입력이 끝나는 것을 기다리는 KeyWait를 사용하여 회피하였다.
'컴퓨터 > 이용하자' 카테고리의 다른 글
AutoHotKey 일본어도 한글처럼 한영 키로 일영 전환 (0) | 2019.03.30 |
---|---|
AutoHotKey 마우스 클릭 지정 (0) | 2019.03.30 |
Tistory에서 수식 이용 (0) | 2016.03.03 |
(리눅스) 각종 찾기 커맨드 (폴더, 파일, 문자열을 찾아보자) (0) | 2016.02.20 |
컴퓨터로 인터넷 중계, 컴퓨터 두대에서 인터넷 쓰기 (0) | 2016.02.18 |