내 키보드가 이상하다면? 키보드 코드표 알아보기 주의사항과 완벽 가이드
컴퓨터를 사용하다 보면 특정 키가 입력되지 않거나, 내가 누른 키와 다른 문자가 화면에 출력되는 당혹스러운 상황을 마주하곤 합니다. 특히 개발자, 게이머, 혹은 매크로 설정을 즐기는 사용자라면 키보드 각각의 고유 값인 ‘스캔 코드’나 ‘가상 키 코드’를 확인해야 할 일이 생깁니다. 오늘은 키보드 코드표를 확인하는 정확한 방법과 작업 시 반드시 숙지해야 할 주의사항을 상세히 정리해 드립니다.
목차
- 키보드 코드의 개념과 종류
- 키보드 코드표 확인이 필요한 상황
- 운영체제별 키보드 코드 확인 방법
- 키보드 코드표 알아보기 주의사항: 필수 체크리스트
- 키보드 레이아웃 설정과 코드의 상관관계
- 문제 발생 시 해결을 위한 팁
1. 키보드 코드의 개념과 종류
컴퓨터는 우리가 누르는 ‘A’나 ‘Enter’를 그대로 인식하지 않습니다. 하드웨어 신호를 숫자로 치환하여 받아들이는데, 이를 이해하기 위해서는 대표적인 두 가지 코드를 알아야 합니다.
- 스캔 코드 (Scan Code):
- 키보드 하드웨어가 눌렸을 때 발생하는 물리적인 고유 번호입니다.
- 키보드 컨트롤러가 메인보드에 전달하는 가장 기초적인 데이터입니다.
- 제조사나 연결 방식(PS/2, USB)에 따라 코드 체계가 다를 수 있습니다.
- 가상 키 코드 (Virtual-Key Code):
- 운영체제(Windows 등)에서 정의한 논리적인 코드입니다.
- 하드웨어 스캔 코드를 OS가 소프트웨어적으로 해석하여 할당한 값입니다.
- 프로그래밍(C++, Python, AutoHotkey 등) 시 주로 사용되는 표준화된 값입니다.
2. 키보드 코드표 확인이 필요한 상황
일반적인 타이핑 환경에서는 코드를 알 필요가 없지만, 다음과 같은 전문적인 작업에서는 필수적입니다.
- 키 맵핑(Key Mapping) 변경:
- 특정 키의 기능을 다른 키로 바꾸고 싶을 때(예: Caps Lock을 Ctrl로 변경).
- 망가진 키를 사용하지 않는 다른 키로 대체할 때.
- 매크로 및 자동화 프로그램 작성:
- 게임이나 반복 업무를 위해 특정 키 입력을 스크립트로 짤 때.
- 게임 개발 및 소프트웨어 구현:
- 사용자의 키 입력 이벤트를 감지하여 특정 액션을 실행하도록 설계할 때.
- 특수 키보드 사용:
- 미니 배열(60%, 65% 등) 키보드에서 레이어 설정을 변경할 때.
3. 운영체제별 키보드 코드 확인 방법
직접 코드표를 하나하나 대조하는 것보다 실시간으로 내가 누르는 키의 코드를 보여주는 도구를 활용하는 것이 정확합니다.
- Windows 환경:
- PowerShell/CMD: 특정 명령어를 통해 입력 이벤트를 모니터링할 수 있습니다.
- SharpKeys: 레지스트리를 변경하여 키를 재할당하는 도구로, 각 키의 스캔 코드를 직관적으로 보여줍니다.
- AutoHotkey:
KeyHistory기능을 사용하면 최근 누른 키의 가상 키(VK) 값과 스캔 코드(SC)를 즉시 확인할 수 있습니다.
- 웹 브라우저 도구:
- ‘Keycode Info’와 같은 웹사이트에 접속하여 키를 누르면 JavaScript에서 인식하는
event.code와event.key값을 즉시 확인할 수 있어 매우 간편합니다.
- ‘Keycode Info’와 같은 웹사이트에 접속하여 키를 누르면 JavaScript에서 인식하는
- macOS 환경:
- Karabiner-Elements: 맥 사용자들에게 필수적인 키 리맵핑 도구로, ‘EventViewer’ 기능을 통해 모든 입력 신호를 실시간 추적합니다.
4. 키보드 코드표 알아보기 주의사항: 필수 체크리스트
가장 중요한 대목입니다. 단순히 표를 보고 값을 입력했다가는 시스템 오류나 키보드 먹통 현상을 겪을 수 있습니다.
- 진법(Hex vs Dec) 구분 확인:
- 코드표는 16진수(Hexadecimal, 예: 0x1B) 또는 10진수(Decimal, 예: 27)로 표기됩니다.
- 사용하려는 프로그램이 어떤 진법을 요구하는지 반드시 확인해야 합니다. 16진수 값을 10진수 자리에 넣으면 전혀 다른 키가 작동합니다.
- 국가별 키보드 레이아웃 차이:
- 한국형 103/106키와 미국 표준 101/104키는 ‘한/영’, ‘한자’ 키 존재 유무로 인해 코드 배열이 다릅니다.
- 특히 일본어, 유럽어권 키보드 코드표를 참고할 경우 특수문자 위치의 코드가 일치하지 않을 확률이 매우 높습니다.
- Fn(기능) 키의 특수성:
- 대부분의 키보드에서
Fn키는 하드웨어 내부적으로만 작동하며 운영체제까지 신호를 보내지 않습니다. - 따라서 일반적인 방법으로는
Fn키의 코드를 추출하거나 리맵핑하는 것이 불가능합니다.
- 대부분의 키보드에서
- 제조사 전용 드라이버 간섭:
- 로지텍, 레이저, 커세어 등 전용 소프트웨어를 사용하는 경우, 표준 코드값 위에 자체적인 가상 레이어를 씌우기도 합니다.
- 이 경우 표준 코드표와 실제 출력값이 다를 수 있으므로 전용 소프트웨어 설정을 먼저 확인해야 합니다.
5. 키보드 레이아웃 설정과 코드의 상관관계
코드표가 정확하더라도 운영체제의 설정이 틀리면 무용지물입니다.
- 입력기 설정 확인:
- 윈도우 설정 내 [시간 및 언어] -> [언어 및 지역] -> [한국어] -> [언어 옵션]에서 키보드 레이아웃이 정확히 설정되어 있는지 확인하십시오.
- 101키 설정인데 106키 코드표를 적용하면 오른쪽 Alt 키 등이 제대로 동작하지 않을 수 있습니다.
- HID(Human Interface Device) 드라이버:
- 장치 관리자에서 키보드 드라이버가 ‘표준 PS/2 키보드’인지 ‘HID 키보드 장치’인지에 따라 시스템이 코드를 해석하는 우선순위가 달라질 수 있습니다.
6. 문제 발생 시 해결을 위한 팁
코드 변경이나 리맵핑 후 키보드가 제대로 작동하지 않을 때의 대처법입니다.
- 안전 모드 활용:
- 소프트웨어적으로 키 코드를 잘못 건드려 로그인이 불가능할 경우, 안전 모드로 진입하여 해당 프로그램을 삭제하거나 레지스트리를 복구해야 합니다.
- 화면 키보드(OSK) 사용:
- 물리 키보드 입력이 꼬였을 때 윈도우 기본 제공 ‘화면 키보드’를 마우스로 클릭하여 비상 타이핑 및 설정을 수정할 수 있습니다.
- 레지스트리 백업:
Scancode Map등을 직접 수정하기 전에는 반드시 해당 레지스트리 경로를 내보내기(Export) 하여 백업본을 만들어 두어야 합니다.
키보드 코드표는 복잡해 보이지만, 스캔 코드와 가상 키 코드의 차이를 이해하고 사용 환경에 맞는 진법과 레이아웃만 주의한다면 누구나 효율적으로 키보드 커스터마이징을 할 수 있습니다. 위에서 언급한 주의사항들을 하나씩 체크하며 안전하게 설정을 진행하시기 바랍니다.