윈도우에서 매킨토시 키보드 레이아웃 바꾸기

매킨토시 키보드를 샀다.

G5 시절에 나왔던 구형 키보드인데 키감이 나름 중독성이 있다.

매킨토시에서 쓰는데는 안성맞춤이오나 이것을 윈도우에서도 쓰려다보니 기존에 쓰던 키보드 배열과 안맞아서 적응하기 힘들다.

그래서 그림과 같이 매킨토시 키보드를 윈도우 키보드 배열에 맞게 리매핑했다.

remap.jpg

Left Option(0038) -> Left Windows(E05B)

Left Command(E05B) -> Left Alt(0038)

Right Control(E01D) -> Context Menu(E05D)

Right Option(E038) -> 한자(E071)

Right Command(E05C) -> 한글(E072)

괄호안의 16진 코드는 스캔코드이다.

이 값들을 토대로 레지스트리를 수정한다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

에서 Scancode Map의 데이터를 다음과 같이 입력.

00 00 00 00   // Map Header

00 00 00 00   // Map Version

06 00 00 00   // Count (DWORD)

5B E0 38 00   // Left Option(0038) -> Left Windows(E05B)

38 00 5B E0   // Left Command(E05B) -> Left Alt(0038)

5D E0 1D E0   // Right Control(E01D) -> Context Menu(E05D)

71 E0 38 E0   // Right Option(E038) -> 한자(E071)

72 E0 5C E0   // Right Command(E05C) -> 한글(E072)

00 00 00 00

물론 //는 설명을 위해 적었으며 레지스트리에 등록할 때는 그림과 같이 16진 코드만 순서대로 입력하면 된다.

Count는 마지막 널 터미네이트 DWORD(0)를 포함하여 적으면 되고 인텔 CPU이므로 하위바이트가 먼저 기록된다.

리매핑할 배열은 상위 워드에 바꾸고 싶은 키(매킨토시)의 스캔 코드를, 하위 워드에 적용할 키(윈도우)의 스캔 코드를 적는다.

물론 역순이다.

즉, Left Command(E05B)를 Left Alt(0038)로 바꾸고 싶으면 E05B0038인데 역순으로 저장하여야 하니 38 00 5B E0으로 적는다.

또한 옛날처럼 Shift + Space로 한영 전환을 하려면

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\i8042prt\Parameters에서

LayerDriver KOR 값을 KBD101C.DLL 로 바꾸면 된다.

KBD101A.DLL = 타입1

KBD101C.DLL = 타입3

두 가지 모두 재부팅을 필요로 한다.

]]>

도큐멘트 에 올린 글

댓글 남기기