검색해서 얻는 정보들을 조합해서, 나름데로 알아낸거라 부정확 할 수 있습니다.




1. 우선 레즈스트리 편집기를 엽니다.

2. 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout  의 위치를 찾아갑니다.

3. 마우스 우측키를 눌러서 [새로 만들기] [이진값] 선택합니다.  제목은 'Scancode Map' 입니다.

key02.png



4 . 그리고 헥사값을 입력하여 원하는 키를 바꿀 수 있습니다.

key03.png




5. 바꾸는 방법 설명

regkey.png





빨간줄의 숫자(hex)가 바꾸게 될 크기 가 되고, 파란색이(4bytes hex) 바꾸게 될 1개의 영역입니다. 



예를들어 00 00 00 00 00 00 00 00 02 00 00 00 1d 00 3a 00 00 00 00 00 이면

00 00 00 00 00 00 00 00 은 시작을 뜻합니다.

02 00 00 00 가 1개를 의미하고 

1d 00 3a 00 은 캡슬럭키를 왼쪽컨트롤 키로 바꾼다는 뜻이고 

00 00 00 00 은 끝났다는 뜻입니다


다른 예를 들어 00 00 00 00 00 00 00 00 03 00 00 00 1d 00 3a 00 3a 00 1d 00 00 00 00 00 이면

00 00 00 00 00 00 00 00 은 시작을 뜻합니다.

03 00 00 00 은 2개를 의미하고 

1d 00 3a 00 은 캡슬럭키를 왼쪽 컨트롤 키로 바꾼다는 뜻이고

3a 00 1d 00 은 왼쪽컨트롤키를 캡슬럭키로 바꾼다는 뜻이고

00 00 00 00 은 끝났다는 뜻입니다.


다른 예를들어 00 00 00 00 00 00 00 00 04 00 00 00 1d 00 3a 00 5b e0 1d 00 3a 00 1d e0 00 00 00 00 이면

00 00 00 00 00 00 00 00 은 시작을 뜻합니다.

04 00 00 00 은 3개를 의미하고

1d 00 3a 00 은 캡슬럭키를 왼쪽 컨트롤키로 바꾼다는 뜻이고 

5b e0 1d 00 은 왼쪽컨트롤키를 왼쪽윈도우키로 바꾼다는 뜻이고 

3a 00 1d e0 은 오른쪽컨트롤키를 캡슬럭키로 바꾼다는 뜻이고 

00 00 00 00 은 끝났다는 뜻입니다.



즉, nn 00 00 00 은 전체 크기를 말하며 nn 값 곱하기 4bytes 크기 입니다. 

aa 00 bb 00 은 00 bb 키를 00 aa 키로 바꾼다는 뜻이며

nn 의 크기-1 만큼 키를 리맵하고

00 00 00 00 끝 났다는 뜻입니다. (이영역을 포함하기 때문에 크기가 4바이트씩 큰겁니다)






여기 키의 코드입니다. 

 Key            Scan                  

Num Label         Code   Symbolic Constant      Value

--- ------------- ----   ---------------------- --------  

  1  ~ `          29     VK_OEM_3               0xC0  

  2  ! 1          02                            0x31    

  3  @ 2          03                            0x32    

  4  # 3          04                            0x33    

  5  $ 4          05                            0x34    

  6  % 5          06                            0x35    

  7  ^ 6          07                            0x36    

  8  & 7          08                            0x37    

  9  * 8          09                            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 A2  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(Menu)      E0 5D  VK_APPS                0x5D


------------ dedicated button scancodes ------------


                  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

compMgmtLauncher  E0 6B  VK_LAUNCH_APP1         0xB6

calc.exe          E0 21  VK_LAUNCH_APP2         0xB7



참고로 헥사값은 윈도우즈에서 리틀엔디안 이기떄문에, 

거꾸로 쓰여져야 하며, 예를들어 00 3a 라는 키값은

헥사 입력시 3a 00 으로 작은수 부터 입력해야 한다는 뜻입니다.



p.s. 재부팅 하여야 레지스트리 적용합니다.





레지스트리 편집기를 사용하기 귀찮으시면 간단한 방법도 있습니다.

메모장을 열고

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,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00


이런식으로 만든다음에.
물론 hex 값은 위에 설명한데로 자기가 원하는 키로 만든후에
mycuskey01.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,3a,00,5d,e0,00,00,00,00,00



mycuskey02.reg 로 저장하고 실행하고 재부팅하면, 오른쪽메뉴키가 캡슬럭키로 바뀝니다.
 





profile

REALFORCE 87U - topre switch 11/06

HHKB pro 2 PD-KB400B - topre switch 07/01

G80-3000LSMEU -  cherry mx blue 00/01

G80-3000 - cherry mx blue 11년 사용하고  키가 잘 안눔림.

IBM MODEL M 1390131 buckling switch / 17SEP88 

FOCUS FK-2001 skcm alps white switch