키코드 확인
아무 키나 누르면 브라우저가 키보드 이벤트로 보고하는 값을 정확히 볼 수 있습니다. 키 값, 물리 코드, 레거시 keyCode, 위치, 누르고 있는 보조 키, 켜진 잠금 키, 반복 여부까지 표시되어 웹 개발, 키 매핑, 알 수 없는 키 확인에 유용합니다.
아무 키나 누르세요. Tab, 스페이스, F 키, 단축키까지 보려면 전체 입력 받기를 시작하세요(Esc 두 번이나 중지로 끝냄).
event.key- —
event.code- —
event.keyCode- —
event.location- —
보조 키- —
켜진 잠금 키- —
event.repeat- —
event.keyCode와 event.which는 더 이상 권장되지 않지만 브라우저가 여전히 보고합니다. 물리 키에는 event.code를, 입력되는 문자에는 event.key를 쓰세요.
이벤트 기록(최근 80개)
| type | key | code | keyCode | location | repeat | 보조 키 |
|---|
키코드 확인 사용법
- 아무 키나 누르세요. 큰 상자에 키 값이 표시되고, 옆 칸에
event.key,event.code,event.keyCode,event.location, 누르고 있는 보조 키, 켜진 잠금 키,event.repeat가 나타납니다. - Tab, 스페이스, F키, 여러 단축키처럼 브라우저가 평소 직접 쓰는 키도 확인하려면 전체 입력 받기 시작을 누르세요. 끝내려면 Esc를 빠르게 두 번 누르거나 중지를 누릅니다.
- 이벤트 로그를 열면 최근 80개의
keydown과keyup이벤트를 순서대로 볼 수 있어 키 조합 확인에 좋습니다. - 마지막 이벤트 복사(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 복사는 내 클립보드에만 들어갑니다.
관련 테스트
- 키보드 테스트모든 키를 눌러 어떤 키가 인식되는지 확인합니다. ANSI, ISO, Mac 배열 지원.
- 동시 입력 테스트여러 키를 동시에 눌러 키보드가 어떤 조합을 인식하는지 확인합니다.
- 채터링 테스트두 번 입력되는 키를 찾습니다. 누를 때마다 시간을 재고 손가락으로 불가능한 빠른 반복을 표시합니다.
- 키패드 테스트숫자 키패드의 모든 키를 눌러 인식되는지 확인합니다. Num Lock 상태도 표시됩니다.
- 맥 키보드 테스트Mac 키 이름으로 표시되는 키보드 테스트. 맥북 키보드와 매직 키보드용.
- 스페이스바 테스트5~60초 동안 스페이스바를 몇 번 누를 수 있는지 확인합니다. 길게 누르는 것은 세지 않습니다.
- 크롬북 키보드 테스트크롬북 배열로 된 키보드 테스트: 검색 키, 맨 윗줄 키, 방향키.