본문 바로가기

윈도우 PC

[키보드 매핑 값 변경] KeyCode, ScanCode 키보드 매핑 값 변경 방

 

윈도우 사용 시 특정 키를 동작 안하게끔, 혹은 다른 키로 동작할 수 있게 변경이 필요한 경우가 있습니다.

 

오늘은 이럴때, 활용할 수 있는 키보드 매핑 값 변경에 대해 안내하려고 합니다.

 

활용을 예로 들자면 'ㄱ' 을 눌렀을 때, 'ㄱ' 이 아닌 'ㄴ' 이 입력 되도록 할 수 있는 것입니다. 

 

방법은 아래 방법을 천천히 따라 와 주시면 될 것 같습니다. 

 

윈도우 키 매핑 파일.reg
0.00MB

 

 

우선 해당 파일을 다운로드 받아서, 수정하는 방법으로 진행이 될 예정입니다. 

 

혹시 바이러스등의 걱정이 있으신 분들도 계실 것이니, 해당 내용의 텍스트도 포함하여, 전달 드립니다.

( 작업 내용의 차이는 없으니, 편하신 방법으로 이용 하시면 될 것 같습니다. )

 

 

[ 윈도우 키 매핑파일.reg 의 내용 ]


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,2a,e0,00,00,00,00


각 색의로 구분된 부분을 설명 하자면,

 

해당 처음 Windows Registry Editor Version 5.00 의 경우는 편집기로 레지스트리를 수정하겠다고 정의 해주는 부분 입니다.


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 

: 이 부분은 레지스트리에 대해 경험이 있으신 분들은 무엇인지 아시겠지만, 설정을 진행하게 될 경로를 의미 합니다

 

00,00,00,00,00,00,00,00 : 시작을 의미 

02,00,00,00 : 변경할 키 값의 수량을 의미 

00,00 : 변경 전 값을 의미 

2a,e0 : 변경 후 값을 의미 

00,00,00,00 : 종료를 의미 

 

  • null 값을 기본적으로 포함하기 때문에, 변경할 총 수량이 1개 라면 02, 00, 00, 00 2개라면 03, 00, 00, 00 을 사용 

위의 값들은 헥사코드 ( 16진수 값 ) 이며, 윈도우에서 리틀엔디안 방식으로 동작을 하게 되어 있습니다.

 

  • 빅엔디안 : 상위 바이크 값을 작은 번지 수에 저장 / 리틀엔디안 : 공간에 큰 값 부터 저장
작은 번지수 공간에 들어 갈 값 x10203060 큰 번지수
빅엔디안
10 20 30 60
리틀엔디안
60 30 20 10

 

실제 유효한 키보드의 값으로 설명을 하자면, PrintScreen 의 경우 E0 2A 의 값을 가지고 있습니다. 

 

하지만, 실제로 입력이 될 경우 2A E0 의 값으로 저장이 됩니다. 

 

우리가 원하는 E0 2A 의 값으로 저장 되게 하기 위해서는 2A E0 의 값으로 입력하여야 합니다.

 

PrintSceen : 0xE02A
빅 엔디안 리틀엔디안
E0 2A 2A E0

 

 

아래는 수정을 위한 스캔코드(키보드 값) 입니다.

 

Num Label Key Code Scan Code Symbolic Constant Value Etc
1 ~ ` 29 VK_OEM_3 0xC0  































































































































2 ! 1 2   0x31
3 @ 2 3   0x32
4 # 3 4   0x33
5 $ 4 5   0x34
6 % 5 6   0x35
7 ^ 6 7   0x36
8 & 7 8   0x37
9 * 8 9   0x38
10 ( 9 0A   0x39
11 ) 0 0B   0x30
12 _ - 0C VK_OEM_MINUS 0xBD
13 + = 0D VK_OEM_PLUS 0xBB
15 Backspace   0E VK_BACK 0x08
16 Tab   0F VK_TAB 0x09
17 Q   10   0x51
18 W   11   0x57
19 E   12   0x45
20 R   13   0x52
21 T   14   0x54
22 Y   15   0x59
23 U   16   0x55
24 I   17   0x49
25 O   18   0x4F
26 P   19   0x50
27 { [ 1A VK_OEM_4 0xDB
28 } ] 1B VK_OEM_6 0xDD
29 | \ 2B VK_OEM_5 0xDC
30 Caps Lock 3A VK_CAPITAL 0x14
31 A   1E   0x41
32 S   1F   0x53
33 D   20   0x44
34 F   21   0x46
35 G   22   0x47
36 H   23   0x48
37 J   24   0x4A
38 K   25   0x4B
39 L   26   0x4C
40 : ; 27 VK_OEM_1 0xBA
41 "   28 VK_OEM_7 0xDE
42 (in'tl)   2B    
43 Enter   1C VK_RETURN 0x0D
44 L SHIFT   2A VK_SHIFT 0x10
45 (in'tl)   56    
46 Z   2C   0x5A
47 X   2D   0x58
48 C   2E   0x43
49 V   2F   0x56
50 B   30   0x42
51 N   31   0x4E
52 M   32   0x4D
53 < , 33 VK_OEM_COMMA 0xBC
54 > . 34 VK_OEM_PERIOD 0xBE
55 ? / 35 VK_OEM_2 0xBF
56 (in'tl ) 73    
57 R SHIFT   36    
58 L CTRL   1D VK_CONTROL 0x11
60 L ALT   38 VK_MENU 0x12
61 Space Bar   39 VK_SPACE 0x20
62 R ALT   E0 38    
64 R CTRL   E0 1D    
75 Insert   E0 52 VK_INSERT 0x2D
76 Delete   E0 53 VK_DELETE 0x2E
79 L Arrow E0 4B VK_LEFT 0x25
80 Home E0 47 VK_HOME 0x24
81 End E0 4F VK_END 0x23
83 Up Arrow E0 48 VK_UP 0x26
84 Dn Arrow E0 50 VK_DOWN 0x28
85 Page Up E0 49 VK_PRIOR 0x21
86 Page Down E0 51 VK_NEXT 0x22
89 R Arrow E0 4D VK_RIGHT 0x27
90 Num Lock 45 VK_NUMLOCK 0x90
91 Numeric 7 47 VK_NUMPAD7 0x67
92 Numeric 4 4B VK_NUMPAD4 0x64
93 Numeric 1 4F VK_NUMPAD1 0x61
95 Num / E0 35 VK_DIVIDE 0x6F
95 LS+Num / E0 B5    
95 RS+Num / E0 B6    
96 Numeric 8 48 VK_NUMPAD8 0x68
97 Numeric 5 4C VK_NUMPAD5 0x65
98 Numeric 2 50 VK_NUMPAD2 0x62
99 Numeric 0 52 VK_NUMPAD0 0x60
100 Numeric * 37 VK_MULTIPLY 0x6A
101 Numeric 9 49 VK_NUMPAD9 0x69
102 Numeric 6 4D VK_NUMPAD6 0x66
103 Numeric 3 51 VK_NUMPAD3 0x63
104 Numeric . 53 VK_DECIMAL 0x6E
105 Numeric - 4A VK_SUBTRACT 0x6D
106 Numeric + 4E VK_ADD 0x6B
107 (in'tl ) 7E    
108 NumEnter   E0 1C VK_SEPARATOR 0x6C
110 Esc   01 VK_ESCAPE 0x1B
112 F1   3B VK_F1 0x70
113 F2   3C VK_F2 0x71
114 F3   3D VK_F3 0x72
115 F4   3E VK_F4 0x73
116 F5   3F VK_F5 0x74
117 F6   40 VK_F6 0x75
118 F7   41 VK_F7 0x76
119 F8   42 VK_F8 0x77
120 F9   43 VK_F9 0x78
121 F10   44 VK_F10 0x79
122 F11   57 VK_F11 0x7A
123 F12   58 VK_F12 0x7B
124 PrintScreen   E0 2A VK_SNAPSHOT 0x2C
124 Ctl+PrtScrn   E0 37    
124 Shft+PrtScrn   E0 37    
124 Alt+PrtScrn   54    
125 Scroll Lock   46 VK_SCROLL 0x91
126 Pause   (??) VK_PAUSE 0x13
  L-Win   E0 5B VK_LWIN 0x5B
  R-Win   E0 5C VK_RWIN 0x5C
  Apps   E0 5D VK_APPS 0x5D
   
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
E0 6A VK_BROWSER_BACK 0xA6
E0 69 VK_BROWSER_FORWARD 0xA7
E0 67 VK_BROWSER_REFRESH 0xA8
E0 68 VK_BROWSER_STOP 0xA9
E0 65 VK_BROWSER_SEARCH 0xAA
E0 66 VK_BROWSER_FAVORITES 0xAB
E0 32 VK_BROWSER_HOME 0xAC
E0 20 VK_VOLUME_MUTE 0xAD
E0 2E VK_VOLUME_DOWN 0xAE
E0 30 VK_VOLUME_UP 0xAF
E0 19 VK_MEDIA_NEXT_TRACK 0xB0
E0 10 VK_MEDIA_PREV_TRACK 0xB1
E0 24 VK_MEDIA_STOP 0xB2
E0 22 VK_MEDIA_PLAY_PAUSE 0xB3
E0 6C VK_LAUNCH_MAIL 0xB4
E0 6D VK_LAUNCH_MEDIA_SELECT 0xB5
E0 6B VK_LAUNCH_APP1 0xB6 compMgmtLauncher
E0 21 VK_LAUNCH_APP2 0xB7 calc.exe

 

원하는 값을 찾아 .reg ( 레지스트리 파일 ) 수정 한 후 재부팅을 진행하여 변경된 키 값을 확인 해주시면 됩니다.

 


혹시 모른 잘못된 작업을 되돌리는 방법으로는 해당 위의 reg 파일은 새로운 키 값을 추가 하는 reg 파일 입니다.

 

위의 적용 경로에서 해당 생성된 키 값을 삭제 진행 해주시면 됩니다.

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 

 

 

이상으로 윈도우에서 키보드 매핑 값을 변경하는 방법에 대해 안내 드렸습니다.

 

긴 글 따라오시느라 고생 많으셨습니다.

 

감사합니다.🐢