현재 내가 쓰고 있는 키보드는 '리얼포스101'. 이름에서 부터 알 수 있듯이 이 키보드는 키가 101개..흔히 우리가 즐겨 쓰는 윈도우키, 한자키, 한/영 변환키가 없다. 기본적으로 오른쪽 Alt와 Ctrl이 한자키와 한/영변환 키를 지원한다고 하지만, 나는 오른쪽 Alt와 Ctrl도 쓰는 차가운 도시 남자이므로 103키 설정으로는 키보드를 편하게 사용 할 수가 없어 키를 다시 매핑 해야만 했다.

처음으로 시도한 방법은 AutoHotKey(http://www.autohotkey.com/)라는 키 매핑 프로그램. 간단한 스크립트로 키매핑 뿐만이 아니라 이런저런 단축키들도 설정 할 수 있어 자주쓰는 프로그램들을 Ctrl+F1, F2 이런식으로 등록해 놓으면 상당히 편리한 작업환경을 제공 해 줄 수 있다. 하지만 단점이 키보드 해킹 방지 프로그램 같은 것에 걸려 특정 프로그램을 실행하면 한영 변환이 안되 곤란해 지는 경우가 종종 발생 했다. 특히 게임 같은 경우가 허다한데...게임 도중에 영어로 채팅을 시도하면 초딩들 한테 욕먹기 딱 좋다.

그래서 찾아낸 방법이 레지스트리 직접 변경(두둥)!! 일단 내가 가진 리얼포스101을 어떻게 리매핑 할 것인지 계획을 세워 보자.

윈도우키 : CapsLock으로 대체. 1:1 매핑.
한/영 변환 : Shift+Space bar로 대체. 1:2 매핑.
한자 변환 : Ctrl+Space bar로 대체. 1:2 매핑.

1:1 키 리매핑
키 하나를 이용해 매핑 할 수 있는 경우와 키 조합이 필요한 경우가 있다. 먼저 1:1 매핑이 되는 경우를 해결 하자. 이경우에는 KeyTweak라는 프로그램을 이용하면 간단하게 해결이 가능하다. 아래 프로그램을 실행 하도록 하자. 설치가 필요 한 것이 아니라 딱히 다운로드 없이 바로 실행을 하면 된다.

단점 몇가지 있는데 윈도우 2000/XP에서만 실행이 가능하고, 1:1 키매핑만이 된다(어쩌면 AutoHotKey처럼 키 조합을 지원하지만 내가 모르는 것일 수도...). 

1. KeyTweak를 실행하자.
2. 'Half Teach Mode' 버튼을 클릭하자. 아래와 같은 화면이 나올 것이다.
3. 'Scan a Single Key'를 클릭하고 바꾸로 싶은 키를 누른다. 그럼 아래 그림 처럼 해당 키의 코드 값이 표시된다. Destination Key 항목에서 원하는 기능의 키를 선택 후 Remap 버튼을 클릭한다.
4. 키 설정이 끝나고 Remap 버튼을 누르면 아래와 같은 화면이 나온다. Pending Changes를 보면 추가된 항목들이 보일 것이다(해당 예를 작성하는 시점에서는 따로 추가 한 것이 없으므로 아무것도 없다).
5. 아래의 Apply 버튼을 클릭한다. 그럼 레지스트리 변경사항을 적용하기 위해 컴퓨터를 리부팅 할 것인지 물어온다. Y을 눌러 재부팅 하도록하자.

이로써 'CapsLock'키를 윈도우 키로 변경 하는데 성공했다. 이제는 한자 키와 한영 키를 변환 해보자.

조합키 리매핑
한자키와 한영 변환키는 키조합을 이용하기로 했으므로 KeyTweak로는 할 수가 없다. 그래서 사용하는 방법은..키보드 드라이버를 변경 하는 것이다. 보통 103키 타입 드라이버가 설치 되어 있는데 Shift+Space와  Ctrl+Space를 사용하기 위해 강제적으로 101키 드라이버로 변경하는 방법이다.

1. regedit를 실행 하자(윈도우 키 -> 실행 -> 'regedit'를 타이핑)
2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\i8042prt\Parameters] 를 찾아 가자
3. 아래의 항목에서 파란색으로 되어 있는 부분을 변경 하도록 하자.
"LayerDriver JPN"="kbd101.dll"
"LayerDriver KOR"="KBD101C.DLL"

"OverrideKeyboardIdentifier"="PCAT_101AKEY"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000005


이상으로 세개의 키에 대한 리매핑작업이 완료 되었다. 레지스트리 변경에 보다 원론적으로 접근 할 수 있는 방법에 대해 알고 싶으신 분들은 아래의 레퍼런스를 참조하면 된다.

Reference
* 키보드 드라이버 변경 : http://vany.tistory.com/entry/Windows-Keyboard-Type3-Setting-with-Registry
* 유틸리티를 이용한 키보드 리매핑 : http://www.yahoworld.com/keybdmap.htm

'도구의발견' 카테고리의 다른 글

vi에서 파일 열 때 옵션  (0) 2009.02.16
cvs diff 출력 형식 보기  (0) 2008.12.11
키보드 리매핑하기(레지스트리 변경)  (7) 2008.12.05
Handle leak 찾기  (3) 2008.10.02
cvs 파일 상태 기호  (2) 2008.08.19
GDB Tutorial  (0) 2008.08.19
Posted by kukuta

댓글을 달아 주세요

  1. Favicon of https://jm2y.tistory.com BlogIcon 오리오리™ 2008.12.05 14:36 신고  댓글주소  수정/삭제  댓글쓰기

    Keytweak 좋구나~
    프로그램 자체에서 레지스트리를 변경해주는건가벼~
    우측 alt키, 우측 윈도우키, 우측 context menu 키로 볼륨 다운/업, 뮤트 적용 성공~ㅋㅋ

    • Favicon of http://kukuta.tistory.com BlogIcon kukuta 2008.12.05 16:08  댓글주소  수정/삭제

      ㅇㅇ 그런데 AutoHotKey처럼 단축키 셋팅에 따른 프로그램 실행 매핑 같은것은 없군요...역시 그런걸 쓸려면 따로 프로그램을 깔아야 하는가..-_-;;;

  2. Favicon of https://www.ikpil.com BlogIcon 최익필 2008.12.07 19:35 신고  댓글주소  수정/삭제  댓글쓰기

    요즘 들어 느끼는 거지만, 확실히 편할 것 같지만, 지금 이 상태를 변화시키는게 두려워 못바꾸는거 같습니다. : ) 언제 불편함에 못이겨 바꾸게 될 때 참고 해야겠습니다.

    • Favicon of https://kukuta.tistory.com BlogIcon kukuta 2008.12.07 22:50 신고  댓글주소  수정/삭제

      두렵다기 보다는..정말 불편하지 않은게 아닐까요?
      제가 뭔가를 바꾸는 순간은 도저히 견딜 수 없을 때 이지요..ㅋ

  3. Favicon of http://rhea.pe.kr/ BlogIcon Rhea君 2008.12.08 16:45  댓글주소  수정/삭제  댓글쓰기

    와~~ VB 6.0으로 짠 거네~!!!
    가장 짜증나는 것은... "키보드1"로 설정한 컴터.
    윈도우는 "키보드3"이 아니면 Shift + Space로 한영전환 안되기 때문.
    DOS때부터 해온 개발자라면 당근 "키보드3"으로 설정해야줴~
    이것을 바꿔주는 유틸리티 함 만들어볼까?

    • Favicon of http://kukuta.tistory.com BlogIcon kukuta 2008.12.10 17:47  댓글주소  수정/삭제

      그냥 레지스트리 등록 파일 하나 만들면 되지 뭘 그걸 또 프로그램을 짜신다고..-_-;;
      형님은 일을 크게 벌이시는 경향이 있어요..ㅋ

  4. Favicon of http://kimpro.tistory.com BlogIcon 김프로 2015.09.10 09:35  댓글주소  수정/삭제  댓글쓰기

    이 글 덕분에 리얼포스 왼쪽알트를 윈도키로 바꿔 잘 사용하고 있습니다.
    참고로 본문중에 이 프로그램에 대해 윈도우 2000/XP에서만 실행이 가능 하다고 되어 있는데요,
    비스타 이후에선 프로그램파일 - 마우스우클릭 - 관리자권한으로 실행 으로 하시면 됩니다.

    감사합니다.