왜 만들었나요
중고로 산 키보드가 특정 키만 가끔 안 먹는 것 같은데, 메모장에 쳐 보는 것만으로는 확신이 안 서서 키보드 입력 테스트를 할 수 있는 곳을 찾게 됐습니다. 눌러 본 키가 화면에 남으면 하나도 빠뜨리지 않고 점검할 수 있겠다 싶어 만들었습니다.
화면 자판에 눌린 키가 표시됩니다. 어떤 키가 안 눌리는지, 엉뚱한 키로 들어가는지 눈으로 확인할 수 있습니다.
로딩 중...
중고로 산 키보드가 특정 키만 가끔 안 먹는 것 같은데, 메모장에 쳐 보는 것만으로는 확신이 안 서서 키보드 입력 테스트를 할 수 있는 곳을 찾게 됐습니다. 눌러 본 키가 화면에 남으면 하나도 빠뜨리지 않고 점검할 수 있겠다 싶어 만들었습니다.
Note
누른 키 정보는 서버로 전송되지 않습니다. 화면에 표시할 뿐 어디에도 기록되지 않으므로, 비밀번호를 눌러 봐도 남지 않습니다.
페이지를 열면 바로 입력을 받습니다. 아무 키나 누르면 화면 자판에서 그 키가 강조되고, 자판 위 마지막으로 누른 키 칸에 key · code · keyCode · 조합키 값이 함께 뜹니다. Ctrl+Shift+S 처럼 함께 눌러도 모두 켜지고, 두 개 이상이면 왼쪽 위에 동시 입력 개수 배지가 붙습니다.

모든 키를 하나씩 눌러 보세요. 눌러 본 키는 옅은 색으로 남고, 끝까지 색이 바뀌지 않는 키가 문제 있는 키입니다. 키를 한 번이라도 누르면 오른쪽 위에 다시 테스트 버튼이 나타나고, 이 버튼을 누르면 처음부터 다시 점검할 수 있습니다.

A 키를 누르면 이렇게 나옵니다.
화면 자판 A 키가 강조되고, 이후 옅은 색으로 남음
key a
code KeyA
keyCode 65
| 값 | 뜻 |
|---|---|
| key | 실제로 입력된 글자. Shift를 누르면 a → A 로 바뀝니다 |
| code | 자판의 물리적 위치. 한/영 상태나 Shift와 무관하게 같습니다 |
| keyCode | 옛날 방식 번호. 지금은 쓰지 않기를 권합니다 |
단축키를 만들 때는 code 를 쓰는 게 안전합니다. 한글 입력 상태에서도 위치가 같아 동작이 어긋나지 않습니다.
키가 안 먹는 것 같은데 정말 고장인지 확인하고 싶을 때 씁니다. 실제로 쓰이는 자리는 이렇습니다.
| 상황 | 무엇을 확인하나 |
|---|---|
| 중고 키보드 구매 전후 | 모든 키가 정상 입력되는지 |
| 특정 글자만 안 눌릴 때 | 그 키만 인식이 안 되는지 |
| 음료를 쏟은 뒤 | 어느 키가 망가졌는지 |
| 게임용 키보드 점검 | 여러 키를 동시에 눌러도 다 잡히는지 |
| 단축키가 안 먹을 때 | 조합키가 제대로 인식되는지 |
모든 키를 한 번씩 눌러 보고 색이 안 바뀌는 키가 있다면 그 키가 인식되지 않는 것입니다.
기기 사양이나 브라우저 환경을 함께 확인해야 한다면 내 컴퓨터 사양 확인을 쓰세요.
키보드 고장일 수도 있지만, 운영체제가 먼저 가져가는 키일 수도 있습니다.
Cmd+Q, Alt+Tab 같은 조합은 운영체제가 먼저 처리해서 브라우저까지 오지 않습니다F11(전체화면)·F5(새로고침)처럼 브라우저 기능이 걸린 키, 그리고 스페이스·방향키·PageUp·PageDown·Home·End·Backspace처럼 화면을 움직이는 키는 이 페이지에서 그 기능이 잠시 멈추고 자판에만 표시됩니다. Ctrl·Alt·Cmd를 함께 누른 조합은 막지 않고, Tab도 막지 않아 키보드만으로 이 페이지를 빠져나갈 수 있습니다저가형 키보드는 동시에 인식할 수 있는 키 수가 제한되어 있습니다. 게임처럼 여러 키를 함께 눌러야 할 때 문제가 됩니다. 키보드 테스트는 동시에 눌린 개수를 세어 보여 주므로, 몇 개까지 잡히는지 바로 알 수 있습니다.
키보드가 한 번에 인식할 수 있는 키 개수입니다. 제품에 따라 6개까지만 되기도 하고, 전체 키를 모두 인식하는 제품도 있습니다.
화면 자판을 켠 상태에서 키를 하나씩 눌러 보면 됩니다. 누르는 순간 그 키가 강조되고, 한 번이라도 눌러 본 키는 옅은 색으로 남아 아직 안 눌러 본 키와 구분됩니다. 모든 키를 한 번씩 눌러 봤을 때 색이 바뀌지 않는 키가 물리적으로 고장 났거나 인식되지 않는 키입니다. '다시 테스트'를 누르면 표시를 처음부터 초기화합니다.
event.keyCode는 웹 표준에서 폐기(deprecated)됐지만, 오래된 라이브러리나 레거시 코드가 여전히 이 숫자값으로 키를 비교하기 때문에 디버깅할 때 확인이 필요합니다. 그래서 값은 그대로 보여 줍니다. 새로 짜는 코드라면 물리 키 위치를 나타내는 event.code나 입력 문자를 나타내는 event.key를 쓰는 게 맞습니다.
event.key는 실제로 입력된 문자로, 자판 배열·Shift·입력 언어가 반영됩니다(같은 키라도 'a'와 'A'가 다르게 들어옴). event.code는 키의 물리적 위치라 자판 배열과 무관하게 항상 같은 값(예: 'KeyA')이 들어옵니다. 단축키 매칭에는 code, 텍스트 입력 처리에는 key가 보통 적합합니다.
이 도구는 페이지 전체에서 키를 받기 때문에 어디를 클릭하지 않아도 바로 기록됩니다. 대신 스페이스·방향키·PageUp·PageDown·Home·End·Backspace와 F1·F3·F5·F7·F10·F11처럼 화면이 움직여 테스트를 방해하는 키만 브라우저 기본 동작을 잠시 멈춥니다. Tab은 막지 않아서 키보드만으로도 이 페이지를 빠져나갈 수 있습니다. Ctrl·Alt·Cmd가 함께 눌린 조합은 막지 않으니 Ctrl+S를 누르면 브라우저 저장 창이 그대로 뜹니다. 검색창처럼 글자를 넣는 칸에 커서가 있으면 아무것도 막지 않습니다.
블루투스·USB 등 물리 키보드를 연결하면 정상적으로 값이 잡힙니다. 다만 스마트폰 화면(가상) 키보드는 대부분의 브라우저에서 event.key가 'Unidentified', keyCode가 229로만 들어와 어떤 키를 눌렀는지 개별 구분이 되지 않는 한계가 있습니다. 이 도구를 포함한 모든 키 이벤트 뷰어에 공통되는 브라우저 제약입니다.
마지막 업데이트:
마지막으로 누른 키
아무 키나 눌러 보세요 — key·code·keyCode 값이 여기에 표시됩니다.