윈도우를 사용하다가 간혹 키보드 매핑을 수정하고 싶을 때가 있다. macOS 유저라면 오른쪽 ⌘가 윈도우 키로, 오른쪽 ⌥키가 한영키로 되어 있어서 실제 윈도우 키보드와 다르기 때문에 키 매핑 없이는 불편함을 겪을 수 있다. 하지만 또 서드 파티 프로그램을 사용하기는 괜히 찝찝하다. 아래는 별도의 프로그램 설치 없이 키보드 매핑을 할 수 있는 방법을 설명한다.

키 매핑을 하기 위해서는 아래의 레지스트리를 수정해야된다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

레지스트리 파일 구조

위의 레지스트리 파일은 바이너리 파일로 Little-endian으로 되어있다.

00000000
00000000
03000000
3A001D00
1D003A00
00000000

위와 같은 레지스트리 파일이 있었다고 가정하자.

  • 첫번째 줄: 버전을 나타내는 헤더다. 전부 0으로 설정하면 된다.

  • 두번째 줄: Flags를 나타내는 헤더다. 전부 0으로 설정하면 된다.

  • 세번째 줄: 매핑할 항목의 개수를 나타낸다. 위의 경우에는 0x00000003이므로 아래에 3줄이 더 나올 것이라는 의미가 된다. (Null terminator 포함)

  • 나머지 줄: 앞에 2바이트가 매핑할 값, 뒤에 2바이트가 매핑할 키보드 위치이다. 위의 경우 0x003ACaps Lock의 키 코드이고 0x1D왼쪽 Ctrl의 키 코드이다. 따라서, 왼쪽 Ctrl를 누르면 Caps Lock이 동작한다.

  • 마지막 줄: Null termanator. 전부 0으로 설정하면 된다.

키 코드

필요한 키 코드 정보는 링크에서 확인할 수 있다.

아래는 한글 키보드에서 자주 사용되는 키 코드이다.

  • 한/영: 0x0072
  • 한자: 0x0071

레지스트리를 수정했다면, 재부팅 후에 적용이된다.

관련 사이트

https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/keyboard-and-mouse-class-drivers

댓글남기기