키코드 확인

아무 키나 누르면 브라우저가 키보드 이벤트로 보고하는 값을 정확히 볼 수 있습니다. 키 값, 물리 코드, 레거시 keyCode, 위치, 누르고 있는 보조 키, 켜진 잠금 키, 반복 여부까지 표시되어 웹 개발, 키 매핑, 알 수 없는 키 확인에 유용합니다.

아무 키나 누르세요. Tab, 스페이스, F 키, 단축키까지 보려면 전체 입력 받기를 시작하세요(Esc 두 번이나 중지로 끝냄).

—
event.key
—
event.code
—
event.keyCode
—
event.location
—
보조 키
—
켜진 잠금 키
—
event.repeat
—

event.keyCode와 event.which는 더 이상 권장되지 않지만 브라우저가 여전히 보고합니다. 물리 키에는 event.code를, 입력되는 문자에는 event.key를 쓰세요.

이벤트 기록(최근 80개)
typekeycodekeyCodelocationrepeat보조 키

키코드 확인 사용법

  1. 아무 키나 누르세요. 큰 상자에 키 값이 표시되고, 옆 칸에 event.key, event.code, event.keyCode, event.location, 누르고 있는 보조 키, 켜진 잠금 키, event.repeat가 나타납니다.
  2. Tab, 스페이스, F키, 여러 단축키처럼 브라우저가 평소 직접 쓰는 키도 확인하려면 전체 입력 받기 시작을 누르세요. 끝내려면 Esc를 빠르게 두 번 누르거나 중지를 누릅니다.
  3. 이벤트 로그를 열면 최근 80개의 keydown과 keyup 이벤트를 순서대로 볼 수 있어 키 조합 확인에 좋습니다.
  4. 마지막 이벤트 복사(JSON)를 누르면 값을 버그 리포트나 코드에 붙여 넣을 수 있습니다. 로그 지우기로 목록을 비웁니다.

각 값의 의미

  • key: 배열과 보조 키를 거쳐 만들어진 문자나 키 이름입니다. Shift+2는 미국 배열에서 "@", 영국 배열에서 '"'가 됩니다.
  • code: 물리 키로, 미국 QWERTY 키보드에서의 위치 이름을 씁니다. 프랑스 AZERTY 키보드에서 A라고 적힌 키는 KeyQ를 보고합니다. 위치에 묶인 게임 조작이나 단축키에 사용하세요.
  • keyCode(JSON의 which 포함): 지원 중단되었지만 아직 보고되는 레거시 숫자입니다. 배열과 브라우저마다 다르므로 새 코드에서는 key나 code를 쓰세요.
  • location: 0 일반, 1 왼쪽, 2 오른쪽, 3 숫자 키패드입니다. 왼쪽과 오른쪽 Shift·Ctrl·Alt·Meta, 키패드와 숫자 줄을 구분해 줍니다.
  • 보조 키와 잠금 키: 이벤트 중에 누르고 있던 Control, Shift, Alt, Meta와 Caps Lock, Num Lock, Scroll Lock 켜짐 여부로, getModifierState()가 보고합니다.
  • repeat: 키를 누르고 있을 때 자동 반복되는 이벤트는 예입니다.

자주 보는 의외의 결과

  • 한/영 키와 한자 키: 한국어 키보드에서 이 키들은 보통 Lang1, Lang2로 보고되지만, Windows의 키보드 종류 설정에 따라 오른쪽 Alt·오른쪽 Ctrl 코드로 나타나기도 합니다.
  • Process 또는 keyCode 229: 한글 입력기처럼 입력기(IME)가 글자를 조합하는 중이라 실제 키가 가려진 상태입니다. 한글 입력 중에는 흔한 결과입니다.
  • Dead: 여러 외국어 배열의 악센트 키는 다음 키를 누를 때까지 문자를 만들지 않으므로 key가 Dead가 됩니다.
  • AltGr는 Windows에서 보통 Control과 Alt로 들어오므로 이벤트 두 개와 보조 키 두 개가 보일 수 있습니다.
  • Mac Command 키: Command를 누르고 있는 동안 브라우저는 다른 키의 뗌을 보고하지 않습니다.
  • 빈 code 또는 Unidentified: 키보드, 드라이버, 원격 세션이 물리 키 정보를 주지 않은 것입니다. Fn 키는 키보드 내부에서 처리되므로 아예 나타나지 않습니다.

한계

이 페이지는 운영체제와 키보드 배열이 처리한 뒤 브라우저가 공개하는 값을 보여 줍니다. 원시 스캔 코드나 USB HID 데이터는 볼 수 없고, Ctrl+Alt+Del처럼 운영체제가 먼저 가져가는 키도 볼 수 없으며, 키를 바꾸거나 다시 매핑하지도 않습니다. 키보드 지연 시간이나 폴링레이트도 측정하지 않습니다. 모든 키가 작동하는지는 키보드 테스트로, 여러 키 동시 입력은 동시입력 테스트로 확인하세요.

자주 묻는 질문

key와 code의 차이는?

code는 물리적인 키 위치를 가리키며 배열이 바뀌어도 같습니다. key는 현재 배열과 보조 키로 그 입력이 만들어 내는 값입니다. 예: a, A, @.

keyCode를 계속 써도 되나요?

브라우저가 아직 보고하지만 지원 중단되었고 배열과 브라우저마다 일관되지 않습니다. 문자는 event.key, 물리 위치는 event.code를 쓰세요.

입력한 내용이 어딘가로 전송되나요?

아니요. 이벤트는 이 페이지에만 표시되고 탭을 닫으면 사라집니다. JSON 복사는 내 클립보드에만 들어갑니다.

관련 테스트

가이드