(1) 레지스트리 수정으로 CapsLock -> 한/영전환 매핑


글에 이어서 작성하므로 서론은 생략.


====================


우선 CapsLock 을 눌렀을 때 대신 한영전환으로 바꾸는건 부트캠프에서 Cmd+Space 로 한영전환 하기 에서도 했으니 패스.


SuperUser - Using CapsLock LED for other purposes

이 글을 참고해서 LED 변경법을 알았는데, kbd 값이 PC 마다 다른 것 같아서 그냥 0~5 까지 다 루프를 돌도록 만들었다.


현재 언어 설정을 받아오는 법이 문제였는데, 영어, 한국어 키보드 레이아웃 자체를 변경하는게 아니라

한국어 키보드 레이아웃에서 IME 자체적으로 영어/한국어 변경을 하는식이라 GetKeyboardLayoutName 으로는 무조건 한국어로만 나오는 문제가 있더라. (AutoHotKey - Detecting the currently-active language)


그래서 조금 뒤져보니 뭔가 알수 없는 방법으로 한국어 Layout 하에서 현재 상태가 한국어인지 영어인지 알아내는 법을 찾았다.

영어일때는 ErrorCode 가 0, 한국어일때 Error 가 나서 ErrorCode 가 1이 되는 뭔가 이상한 방법을 쓰는데 원리는 모르겠음.

AutoHotKey - 한글입력인지 영어입력인지 구분

AutoHotKey - 절대한영전환


요걸 잘 섞어서


CapsLockIME.ahk


이런 스크립트를 만들 수 있다.


led.ahk 는 위 링크에서 받아도 되지만 링크가 깨질 수도 있으니 -> led.ahk


====================


그리고 대부분이 다운받아 쓸 컴파일된 바이너리

CapsLockIME.exe


부트캠프에서 Cmd+Space 로 한영전환 하기

글에서의, CommandKeys 와 함께 쓰고싶다면

CmdKeys CapsLockIME.exe



영어일때 CapsLock LED가 꺼지고 한글일때 CapsLock LED가 켜진다.

윈7, 윈10 에서 테스트 해봤음.


원래 CommandKeys 프로그램과 같이 그냥 시작메뉴에 넣어두고 쓰면 된다.



참고 URL은 위에 링크 다 걸었음.



== Git ==

https://github.com/iolate/CapsLockIME

+ Recent posts