윈도우와 맥을 병행해서 사용하다 보면, 키 매핑이 달라서 불편할 때가 있습니다. 예를 들어 윈도우의 Ctrl 키와 맥의 ⌘ 키가 그렇습니다.
키 매핑은 키 고유의 값을 특정 입력 값에 매핑해주면서 그 값에 해당하는 입력을 OS 에 넣어주는 방식이라고 보면 되는데, 이 매핑 정보를 조금 수정해 주면 편하게 사용할 수 있습니다.
일반적인 사용 환경에서는 MS에서 공식적으로 제공하는 PowerToys 라는 툴을 이용하면 간편하게 변경할 수 있습니다.
레지스트리 변경하기
win+R키를 눌러 실행창을 열고 레지스트리 편집기를 실행합니다.
regedit
그리고 아래 경로로 찾아 들어갑니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
아마도 Scancode Map 이라는 레지스트리가 없을 텐데, 없다면 만들어주고, 있다면 수정합니다.
Scancode Map 추가하기
- 이름 :
Scancode Map
- 종류 :
REG_BINARY
- 값 : (아래 계속…)
레지스트리 값
이 값은 총 세 개의 구간으로 구분되어 있습니다.
- 키보드 코드 초기화
- 변경 코드 입력
- 키보드 코드 종료
이 각각에 대해서 살펴보겠습니다.
1. 키보드 코드 초기화
키보드 코드 초기화 부분은 아래 값으로 고정입니다.
00 00 00 00 00 00 00 00
즉 값이 0인 8칸을 맞춰 주시면 됩니다.
2. 변경 코드 입력
이 부분이 가장 중요하고 이 부분은 총 두 개의 영역이라고 보시면 됩니다.
- 변경할 코드 개수를 명시하는 부분
- 변경할 코드 매핑
변경할 코드 개수를 명시하는 부분은 변경할 개수 + 1로서 만들어줍니다.
만약 1개를 변경한다면, 2가 될 것이고 그 값은
02 00 00 00
이 될 것입니다.
이제 변경할 코드값을 알아애 되는데, 순서는 OS에 입력되었으면 하는 수치 + 내가 두듣리는 키 라고 생각하면 됩니다.
만약, 우측 윈도우 키(5C E0) 를 눌렀을 때, 한/영 전환키(72 00) 가 입력되게 하고 싶다면,
72 00 5C E0
라고 넣어줍니다.
3. 키보드 코드 종료
키보드 코드 종료 부분은 아래 값으로 고정입니다.
00 00 00 00
즉 값이 0인 4칸을 맞춰 주시면 됩니다.
다 합쳐서 살펴보자.
00 00 00 00 | 00 00 00 00 | 시작코드 | 시작 코드 |
02 00 00 00 | 72 00 5C E0 | 총 개수 1개 | 한영키 <– 윈도우키 |
00 00 00 00 | 종료코드 |
키 값은 어떻게 알아내지?
대략 아래와 같은 키 설명이 있지만,
SC Key SC Key SC Key SC Key SC Key SC Key
20 D 40 F6 60 Ctrl F3 80 Alt 9 A0 Alt Dn Arrow
01 ESC 21 F 41 F7 61 Ctrl F4 81 Alt 0 A1 Alt PgDn
02 1 22 G 42 F8 62 Ctrl F5 82 Alt - A2 Alt Ins
03 2 23 H 43 F9 63 Ctrl F6 82 Alt = A3 Alt Del
04 3 24 J 44 F10 64 Ctrl F7 84 Ctrl PgUp A4 Alt / (num)
05 4 25 K 45 Num Lk 65 Ctrl F8 85 F11 A5 Alt Tab
06 5 26 L 46 Scrl Lk 66 Ctrl F9 86 F12 A6 Alt Enter (num)
07 6 27 ; : 47 Home 67 Ctrl F10 87 SH F11
08 7 28 ' " 48 Up Arrow 68 Alt F1 88 SH F12
09 8 29 ` ~ 49 Pg Up 69 Alt F2 89 Ctrl F11
0A 9 2A L SH 4A - (num) 6A Alt F3 8A Ctrl F12
0B 0 2B \ | 4B 4 Left Arrow 6B Alt F4 8B Alt F11
0C - _ 2C Z 4C 5 (num) 6C Alt F5 8C Alt F12
0D = + 2D X 4D 6 Rt Arrow 6D Alt F6 8C Ctrl Up Arrow
0E BKSP 2E C 4E + (num) 6E Alt F7 8E Ctrl - (num)
0F Tab 2F V 4F 1 End 6F Alt F8 8F Ctrl 5 (num)
10 Q 30 B 50 2 Dn Arrow 70 Alt F9 90 Ctrl + (num)
11 W 31 N 51 3 Pg Dn 71 Alt F10 91 Ctrl Dn Arrow
12 E 32 M 52 0 Ins 72 Ctrl PtScr 92 Ctrl Ins
13 R 33 , < 53 Del . 73 Ctrl L Arrow 93 Ctrl Del
14 T 34 . > 54 SH F1 74 Ctrl R Arrow 94 Ctrl Tab
15 Y 35 / ? 55 SH F2 75 Ctrl End 95 Ctrl / (num)
16 U 36 R SH 56 SH F3 76 Ctrl PgDn 96 Ctrl * (num)
17 I 37 PtScr 57 SH F4 77 Ctrl Home 97 Alt Home
18 O 38 Alt 58 SH F5 78 Alt 1 98 Alt Up Arrow
19 P 39 Spc 59 SH F6 79 Alt 2 99 Alt PgUp
1A [ { 3A CpsLk 5A SH F7 7A Alt 3 9A
1B ] } 3B F1 5B SH F8 7B Alt 4 9B Alt Left Arrow
1C Enter 3C F2 5C SH F9 7C Alt 5 9C
1D Ctrl 3D F3 5D SH F10 7D Alt 6 9D Alt Rt Arrow
1E A 3E F4 5E Ctrl F1 7E Alt 7 9E
1F S 3F F5 5F Ctrl F2 7F Alt 8 9F Alt End
제 환경에서는 제대로 맞지 않더라구요 (Windows 10, 회사 라이센스) 그래서 유틸을 하나 첨부하겠습니다.
유틸 사용법은,
- 유틸을 실행
- 키를 누르고, 우측 상단에서 출력된 헥사 코드를 확인
0xXX
에서XX
에 해당하는 것이 첫 번째 값,- 오른쪽 칸이 비어있으면 00, 무엇인가 나오면 나온 값에 0을 붙이면 두 번째 값.
만약 툴에서 0xE2 A 라고 나왔다고 가정하면, 이 값은
E2 A0
가 해당 값이 됩니다.
Reference
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=choo5160&logNo=220245213810
- https://lightinglife.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%97%90%EC%84%9C-%EB%A7%A5%EC%B2%98%EB%9F%BC-Capslock%EC%BA%A1%EC%8A%A4%EB%9D%BD%ED%82%A4%EB%A5%BC-%ED%95%9C%EC%98%81%ED%82%A4%EB%A1%9C-%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95by-%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC-%ED%8E%B8%EC%A7%91
- https://superuser.com/questions/550679/where-can-i-find-windows-keyboard-scancode-registry-information
Leave a comment