CapsLock 키를 Ctrl 키로 전환하기 본격 장려 포스팅
- IT 꿀팁
- 2020. 7. 18.
불법점거 CapsLock
Ctrl
+C
와 Ctrl
+V
는 현대 IT 문명의 발전에 바퀴의 발명에 버금가는 정도의 기여를 하지 않았나 싶습니다. Ctrl키의 지분을 생각한다면 '키보드 구석'이란 수식어는 Ctrl 키에게 어울리지 않죠.
옳은 방법으로 타이핑의 기본은 엄지를 제외한 손가락을 `home row` 에 올려놓는 것을 기본으로 합니다. 이 타이핑 방법은 이름도 가지고 있는데 'touch typing'이라고 합니다. 문제는, 이 상태에서 Ctrl 키를 누르려는 순간 발생합니다. 왼손의 검지가 f
키에 머무른 상태에서, Ctrl
키를 누르기 위해 새끼손가락을 Ctrl
키에 가져갑니다. 그리고 (평소에는 신경도 쓰지 않았던) 새끼손가락 주변의 근육들에게 주의를 집중해보세요. 그들의 비명소리가 들리지 않나요? 😱
자 이제 CapsLock
키를 바라봅시다. CapsLock
키가 Ctrl
키라고 상상해보세요. 다시, 방금처럼 f
키에 검지를 올려놓은채로, CapsLock
에 새끼손가락을 올려봅시다. 어떤가요? 그리고, CapsLock
키가 Ctrl
이라고 생각하고 우리가 자주 사용하는 Ctrl
+ C
와 Ctrl
+ V
조합키를 눌러보는거죠. 다시, 원래 Ctrl
을 활용한 복사, 붙여넣기 동작과 비교해봅시다. 편안함이 느껴지시나요?
맞습니다. 그 자리는 CapsLock
의 자리가 아니었어야 했어요. 내 마음속의 hero Ctrl
키의 자리였어야 했던거죠.
Ctrl 의 지원군
사실, CapsLock 의 위치를 Ctrl 로 바꿀 수 있도록, 많은 기기에서 지원하고 있습니다. OsX 의 경우, CapsLock Key 가 Ctrl 의 역할을 할 수 있도록 옵션을 제공하고 있죠.
또한, 일부 키보드는 CapsLock 의 자리에 위치한 키의 동작을 물리적으로 제어할 수 있는 물리 스위치가 달려있는 경우도 있습니다. 보통 `dip switch`와 함께 구현되어있는데요, 대표적으로 레오폴드사의 경우를 보면, CapsLock 과 Ctrl 의 기능을 물리적으로 변경할 수 있다고 합니다.
심지어 해피해킹 키보드는 심지어 Control 이라는 풀네임으로 '그 위치'를 당당히 차지하고 있습니다.
Windows10 에서 CapsLock 키와 Ctrl 키의 위치 바꾸기
서론이 길었습니다. 공식적으로 CapsLock 과 Ctrl 을 변경할 수 있는 또는 변경된 제품들이 존재하지만, 아직 Windows 에서는 조금은 복잡한 방법으로 키맵핑을 해주어야 합니다. 본격적으로 CapsLock 키와 Ctrl 키를 바꾸는 방법에 대해서 알아봅니다.
글의 하단에 Capslock 을 Ctrl 키로 변경하는 윈도우 레지스트리 파일을 이용하여 바로 적용할 수 있습니다.
다음 글을 참고하여 작성하였습니다.
Keyboard Remapping: CAPSLOCK to Ctrl and Beyond
일러두기 - Scan Code
먼저 `Scan Code`라는 개념에 대해서 알고 가면 도움이 됩니다. Scan Code 란, 대부분의 키보드가 컴퓨터에게 보내는 숫자로서(코드), 특정 키가 눌렸을 때, 키보드에서 컴퓨터로 전송되는 데이터를 의미합니다. 가령 사용자가 Enter 키를 입력하면 키보드에서 컴퓨터로 1C
라는 데이터가 전송됩니다.
개요
- Registry Editor 열기 (`Window` + `E` 에서 `regedit`)
- 아래 경로로 찾아가기
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout - Binary Value 생성 후 레지스트리 이름 `Scancode Map` 으로 변경
- 레지스트리 더블클릭 후 아래 값을 입력후 확인
00 00 00 00 00 00 00 00 02 00 00 00 1d 00 3a 00 00 00 00 00 - 운영체제 재시작
상세과정
Registry Editor 열기
Windows Registry 를 Window
+ E
키를 눌러 Run 창을 열어준 뒤 regedit
을 입력합니다.
레지스트리 등록 위치 찾기
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
위 경로를 아래 스크린샷과 같이 경로부분에 붙여넣어줍니다.
(직접 Registry Editor 창의 왼쪽 경로 Explorer 에서 직접 찾아들어갈 수도 있습니다.)
Scancode Map 레지스트리 생성
`Keyboard Layout` 폴더가 선택되어 있는 생태에서 오른쪽 빈 화면에서 마우스 우클릭 - 새로 만들기(New) - 이진값(Binary Value) 를 선택합니다.
키값 맵핑을 위한 이진값 입력하기
00 00 00 00 00 00 00 00 02 00 00 00 1d 00 3a 00 00 00 00 00
위 값을 차례로 아래 스크린샷과 같이 입력해줍니다.
운영체제 재시작
설정을 마무리한 뒤, 운영체제(Windows)를 재시작합니다.
원리
Keyboard Remapping: CAPSLOCK to Ctrl and Beyond글을 다시 참고하게 되면, 다음과 같은 설명을 확인할 수 있습니다.
The hex data is in five groups of four bytes:
00,00,00,00 -- header version (always 00000000)
00,00,00,00 -- header flags (always 00000000)
02,00,00,00 -- number of entries (including terminating NULL)
1d,00,3a,00 -- map entry:desired scancode, key to remap
00,00,00,00 -- NULL terminator
00 00 00 00 00 00 00 00 02 00 00 00 1D 00 3A 00 00 00 00 00
빨강색 및 주황색 숫자는 header 정보로서, 코드의 시작을 의미합니다. 'always 00000000'이라고 표현되어있는 것을 보니, 특별한 의미를 갖지 않고, 초반에는 무조건 0이 총 16개가 들어가는 것 같습니다.
초록색 숫자는 number of entries 입니다. 2개이기 때문에, 뒤에 올 4byte 수가 총 2개임(4개의 짝 x 2개)을 의미합니다. 마치 UTF-8 인코딩방식처럼, 다음에 올 숫자의 개수가 몇개인지 컴퓨터에게 미리 알리는거죠.
(숫자 묶음 1개[ex - 3A]는 1byte 즉, 16진수 수 2개(3과 A)를 의미합니다.)
파랑색 숫자가 제일 중요합니다. 바로 이 부분이 키를 맵핑하는 부분입니다. 여기서 1D와 3A가 ScanCode 입니다. 1D는 왼쪽-Ctrl 을 의미하며 3A는 CapsLock 을 의미합니다. 1D 00 3A 00는 곧 "1D(Left-Ctrl)를 3A(CapsLock)에 할당한다"는 의미가 됩니다.
보라색 숫자는 끝을 의미합니다. 마치, 문장의 마침표같은 역할을 하는것이죠. NULL terminator 라고 부르나봅니다.
커스텀 키맵핑
보너스(?)입니다😱. 키보드의 각 키들의 Scan Code 를 알면, 이제 우리가 키보드의 특정 키의 스캔코드를 다른 키의 스캔코드로 바꿀 수 있습니다. 저는 CpasLock 을 Ctrl 로 바꾸었기 때문에, CapsLock 을 다시 할당하고싶었습니다. CapsLock 보다 더욱 쓰이지 않는 키를 찾습니다. Scroll Lock 을 CapsLock 으로 바꾸기로 합니다.
ScanCode 검색
Scroll Lock 의 Scan Code 를 알아내기 위해 검색을 합니다. 다음 링크 중 하나를 확인하면 각 키의 ScanCode 를 확인할 수 있습니다. (Keyboard Remapping: CAPSLOCK to Ctrl and Beyond 여기서도 확인할 수 있습니다.)
KeyMapping 코드 생성
ScrollLock 의 ScanCode 는 46입니다. 따라서, CapsLock 의 역할을 Scroll Lock 에 할당하기 위해서 필요한 코드는 다음과 같습니다.
3A 00 46 00
이제 우리는 저 코드의 의미를 알 수 있죠.
레지스트리 편집
레지스트리 편집기에서 Scancode Map 레지스트리를 다시 편집합니다.
새로운 키맵핑 코드(3A 00 46 00, 스크린샷 3번)를 이전의 Ctrl-CapsLock 키맵핑(1D 00 3A 00, 스크린샷 2번) 다음에 추가해줍니다. 그리고, 이제 레지스트리에 입력된 블럭은 이전 2개에서 3개로 늘어났으니 스크린샷의 1번과 같이 숫자를 조정해줍니다.(Null을 의미하는 맨 마지막의 00 00 00 00 도 포함되기때문에 3개입니다.)
쓸모없는 키의 Scan Code
보통 쓸모없는 키라고 알려진 키의 Scan Code입니다. 이 코드를 활용해보는 것도 좋겠죠.
- Caps Lock - 3a
- Num Lock - 45
- Scroll Lock - 46
- R-Alt - e0,38
- R-Ctrl - e0,1d
🚨 `e0,38` 과 `e0,1d` 는 레지스트리에 입력할 때에는 순서를 바꾸어 입력(38, e0 처럼)해야하는 것 같습니다. 엔디언 문제로, 글의 맨 아래 `참조`을 참고해주세요. 덧붙여, e0 는 escaping 을 의미합니다.
Ctrl 의 위치가 바뀌는 그날까지
사실, 이렇게 사용하다보면 단점이 하나 있습니다. 제 컴퓨터에서는 매우 편하게 Ctrl 키를 사용할 수 있지만, 다른 사람의 컴퓨터에 가서 타이핑을 하면, 자꾸 Ctrl 을 사용하게 되는것이죠. 다른 사람의 컴퓨터에서도 CapsLock 키를 Control 키로 사용할 수 있는 날을 기대하면서 글을 작성해보았습니다.
아직 망설이고 계신다면, 여러분의 손가락 및 손목 건강을 위해서 CapsLock 을 Ctrl 로 바꿔보세요. 응원합니다.😁
부록 - 레지스트리
CapsLock to Ctrl 레지스트리 자동 설정 파일 만들기
메모장에 다음과 같은 내용을 입력합니다.
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,1d,00,3a,00,00,00,00,00
위 내용을 입력한 뒤 저장을 하고, 파일 확장자를 `reg`로 변경해줍니다. 그러면 해당 파일의 아이콘이 다음 스크린샷과 같이 바뀐 것을 확인할 수 있습니다. 그 뒤, 파일을 실행시키면, 레지스트리가 변경됩니다.
아래 파일첨부 부분에서 다운로드 받은 파일을 메모장으로 열면 그 내용을 확인할 수 있습니다.
CapsLock to Ctrl 레지스트리 파일 다운로드
CapsLock 을 Control 키로 바꾸기
CapsLock 을 Control 키로 바꾸고, ScrollLock 을 CapsLock 키로 바꾸기
Scan Code 키맵핑 내용 초기화하기
참조(업데이트)
참조1
키보드의 설정 바꾸기 #1 Registry Scancode Map 수정 Shift+Space 한영전환 Capslock2Ctrl
'IT 꿀팁' 카테고리의 다른 글
이거 모르면 평생 야근! 엑셀 꿀팁 - 빠른 채우기 (0) | 2024.03.10 |
---|---|
티스토리 블로그 정사각 썸네일 디자인, PPT (0) | 2023.01.13 |
구글 공식 문서 참고 애드센스 주요 용어 (0) | 2023.01.07 |
Google SEO 최적화에 H1 태그는 반드시 하나만 있어야 하는가? (1) | 2023.01.01 |
macOS 한글입력상태에서 원화기호 대신 back quote(`) 입력하기 (0) | 2021.11.12 |