키보드 좌측에 위치한 Caps Lock키는, 키를 누르면 영문 키보드에서 입력되는 소문자가 대문자로 전환되고, 다시 누르면 대문자에서 소문자로 전환됩니다. macOS에서는 키보드 레이아웃을 변경하기 위한 언어 전환 키로 기본 설정되어 있으며, macOS에서는 기본적으로 Caps Lock키 자체의 동작을 바꾸거나 재할당할 수도 있습니다.
Caps Lock키를 재할당하면, 보통 다른 단축키나 기능을 실행할 수 있습니다. 예를 들어, Caps Lock키를 Control키로 변경 시, Caps Lock 키 대신 Control키를 누르면서 다른 키를 누르게 되면 해당하는 Control키의 단축키 기능을 실행할 수 있습니다.
다만, 대문자 입력시에는 Shift키를 누르는 것이 익숙하고 주로 한글 타이핑을 위주로 하는 경우 대문자를 연속적으로 입력하는 상황도 많지 않아 거의 불필요한 자판이라고 볼 수 있습니다. 하지만 키보드 상에서 자판의 위치는 접근이 쉬운 곳에 있어 자리만 차지하는 경향이 있습니다. 필자는 Alt키를 단축키 조합이나 실행 시 트리거로 많이 활용하고 있어 이를 Caps Lock키 위치에서도 사용할 수 있도록 설정해두고 있는데요.
이렇게 키를 원하는 키로 재 매핑하는 방식은 자주 애용하는 AutoHotKey와 Microsoft PowerToys, KeyTweak 등 다양하게 존재하지만, 개인적인 경험상 Windows는 레지스트리를 통해 수정하는 것이 가장 완벽하게 동작하기 때문에 이를 통해 적용하는 방법을 안내합니다.
튜토리얼 환경: 윈도우 11 Pro (빌드: 22621.1848)
Scancode Map
레지스트리 생성
키보드 키와 키보드 스캔 코드 간의 매핑을 변경하기 위해서는 Scancode Map
레지스트리를 이용해야 합니다.
주의: 레지스트리를 추가하거나 편집 및 삭제하는 행위는 Windows 시스템의 주요 설정이 수정되는 것으로 잘못 진행 할 경우 시스템이 손상되고 부팅이 되지 않는 등 문제가 발생할 수 있습니다. 필히 작업 전에 레지스트리를 백업하거나 윈도우의 시스템을 백업하길 권장합니다.
레지스트리 편집기 실행
- 레지스트리 편집기를 여는 방법은 다양하지만 여기서는 실행창을 이용합니다. 우선 실행 단축키인 Win + R 키를 입력 해 실행창을 열고 옆 필드에
regedit
이라고 입력 후 버튼을 클릭 하거나 Enter키를 눌러 줍니다.
- 현재 사용 중인 사용자 계정의 권한 수준에 따라 사용자 계정 컨트롤 패널이 보여질 수 있습니다. 안내하는 내용을 확인 후 계속 실행하고 싶다면 버튼을 클릭합니다. 라는 제목의
경로 이동 및 Scancode Map
값 수정
레지스트리 편집기를 실행한 뒤 Keyboard Layout
키로 이동 후 Scancode Map
이라는 이름의 새로운 값을 추가하고 해당 값의 데이터를 수정합니다.
- 아래 올려둔 경로를 따라 레지스트리 편집기 상단 주소 입력 창에 아래 경로를 그대로 붙여넣기 ( Ctrl + V ) 하면 조금 더 빠르게 이동할 수 있습니다. 서브 키로 이동 합니다.
컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
- 이동 후
Keyboard Layout
키 폴더가 선택 된 상태에서 우측 레지스트리 값이 위치한 필드의 빈 공간을 마우스 오른쪽 버튼으로 클릭해 메뉴를 확장합니다. - 메뉴에서 → 순서로 새로운 값을 생성합니다.
- 새로 생성된
Scancode Map
으로 변경 합니다. 의 이름을
- 새로 생성한 1의 메뉴를 클릭합니다. 을 수정하기 위해 해당 값을 마우스로 두 번 클릭 하거나 컨텍스트 메뉴
Ctrl키 또는 Alt키로 매핑
앞서 생성한 Scancode Map
값을 수정해 Caps Lock키를 다양한 키들로 수정할 수 있습니다2. 본문에서는 제목에서 안내한 대로 Ctrl키와 Alt키로 매핑하는 방식을 안내합니다. Caps Lock를 완전하게 동작하지 않도록 끄고 싶다면 CapsLock를 비활성화하는 방법을 확인하세요.
Ctrl키로 매핑
이진 값 편집 창이 실행되면 필드에 아래 값을 작성합니다. 값 데이터 필드에는 붙여넣기가 되지 않으니 아래 값을 그대로 타이핑 후 버튼을 클릭해 저장합니다.
00 00 00 00 00 00 00 00
02 00 00 00 1d 00 3a 00
00 00 00 00
3a 00
은 CapsLock의 스캔 코드이고, 1d 00
은 Ctrl 키(왼쪽 키)의 스캔 코드 입니다. 이렇게 하면 다른 키를 CapsLock 키로 동작하도록 정의하지 않아 CapsLock 키는 비활성화되고 CapsLock키와 Ctrl키 모두 Ctrl키로 동작하게 됩니다.
참고: 실제 CapsLock의 스캔 코드는3A
이지만regedit
에서는 레지스트리에 값을 저장할 때, 데이터를 16진수 형식의 바이트 순서로 나타내기 때문에 키 매핑 설정 시 16진수로 이루어진 바이트 순서byte order를 고려해3A
다음에00
을 사용합니다.
다음 레지스트리 스크립트를 레지스트리 파일로 제작하거나 직접 만들어 둔 레지스트리 파일을 DOWNLOAD 버튼을 클릭해 내려받은 뒤 실행하면 위 과정과 동일한 결과를 얻을 수 있습니다.
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
Alt키로 매핑
위와 동일한 방식으로Ctrl키가 아닌 Alt키로 매핑할 수 있습니다.
이진 값 편집 창이 실행되면 필드에 아래 값을 작성합니다. 값 데이터 필드에는 붙여넣기가 되지 않으니 아래 값을 그대로 타이핑 후 버튼을 클릭해 저장합니다.
00 00 00 00 00 00 00 00
02 00 00 00 38 00 3a 00
00 00 00 00
3a 00
은 CapsLock의 스캔 코드이고, 38 00
은 Alt 키(왼쪽 키)의 스캔 코드 입니다. 이렇게 하면 다른 키를 CapsLock 키로 동작하도록 정의하지 않아 CapsLock 키는 비활성화되고 CapsLock키와 Alt키 모두 Alt키로 동작하게 됩니다.
다음 레지스트리 스크립트를 레지스트리 파일로 제작하거나 직접 만들어 둔 레지스트리 파일을 DOWNLOAD 버튼을 클릭해 내려받은 뒤 실행하면 위 과정과 동일한 결과를 얻을 수 있습니다.
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,38,00,3a,00,00,00,00,00
위 과정으로 변경된 내용을 적용하기 위해 작업 관리자에서 explorer.exe 프로세스를 다시 시작 하거나 윈도우 시스템을 재부팅 (권장) 하면 CapsLock키가 지정한 키로 동작하게 됩니다.
마치며
Windows 11에서 Capslock 캡스락키를 Ctrl 컨트롤 키 또는 Alt 키로 동작하도록 키 매핑을 변경하는 방법에 대해 알아보았습니다. Scancode Map
은 바이너리 형태의 값으로 저장되며, 변경하려면 "복붙"이 아닌 약간의 수동 작업이 필요하기 때문에 번거로울 수 있습니다. 다만 다양한 키 매핑 설정을 손쉽게 수정할 수 있고 한번 수정해두면 그대로 놔두고 사용하면 되니 큰 문제는 되지 않을 듯 합니다.
그리고 추가로 자주 사용되는 키중 하나인 키보드 오른쪽 상단에 위치한 Backspace키를 Enter키 위의 백슬래시( \
) 자판으로 변경하고 사용 시 오른쪽 손목이 조금 덜 꺾여 한결 편하니 이 부분도 같이 활용해 보시길 바랍니다.