키보드 테스터
키보드에서 눌린 키를 표시, 먹통·고착 키 점검
풀사이즈 키보드 배열을 화면에 띄웁니다. 키를 누르면 그 키에 즉시 불이 들어오고, 손을 떼면 초록색으로 표시됩니다. 안 눌리는 키, 눌린 채 고착된 키, 동시 입력 한계를 눈으로 확인하세요. 100% 브라우저에서 동작합니다.
마지막 입력:아직 없음
이렇게 확인하세요
- 이 페이지 아무 곳이나 한 번 클릭해 포커스를 준 뒤, 키를 하나씩 눌러 보세요. 누르는 동안은 파란색, 손을 떼면 초록색으로 바뀝니다.
- 모든 키가 초록색이 되면 정상입니다. 눌러도 색이 안 변하는 키 = 먹통 키.
- 손을 뗐는데도 파란색으로 남아 있으면 눌림 고착(스티킹·채터링)일 수 있습니다.
- 여러 키를 동시에 누른 채 더 눌러 보며 ‘최대 동시 입력’ 값을 확인하면 N-키 롤오버(동시 입력 한계)를 알 수 있습니다. 게이밍 키보드는 보통 제한이 없습니다.
- 화면의 키를 마우스로 클릭하면 테스트 표시를 켜고 끌 수 있습니다. ‘초기화’로 전부 지웁니다.
참고
- Fn 키, 일부 노트북의 미디어·밝기 키, 브라우저·OS가 선점하는 일부 조합(예: Ctrl/⌘ 조합, F11, PrtSc)은 웹페이지에서 감지되지 않을 수 있습니다.
- 노트북 키보드는 배열이 조금씩 달라 화면 배열과 정확히 일치하지 않을 수 있습니다. 핵심은 ‘누른 키에 불이 들어오는가’입니다.
- 모든 처리는 이 브라우저 안에서만 일어나며 아무것도 서버로 전송되지 않습니다.
처리 중…
0.0
멈춘 것이 아닙니다. 계산이 끝나면 결과가 표시됩니다.
키보드 테스터 소개
화면의 104키(ANSI) 배열은 키에 적힌 글자가 아니라 브라우저가 알려 주는 KeyboardEvent.code 값으로 불이 들어옵니다. code는 「물리적으로 어느 자리의 키인가」를 가리키므로, 한글 입력 상태든 영문 상태든 Q 자리 키는 항상 KeyQ로 잡힙니다. 그래서 IME를 켠 채로 테스트해도 결과가 달라지지 않습니다.
「동시 입력 최대」 숫자는 지금까지 한꺼번에 눌린 채로 브라우저에 도착한 키의 최대 개수입니다. 키보드의 롤오버 한계를 재는 용도지만, 그 숫자가 키보드만의 한계인지는 아래 내용을 읽고 해석해야 합니다.
고스팅과 롤오버: 키보드가 키를 읽는 방식
대부분의 키보드는 키마다 전선을 따로 두지 않고 행과 열이 교차하는 매트릭스로 스위치를 읽습니다. 키마다 다이오드가 없으면, 직사각형 꼭짓점 세 개에 해당하는 키를 누를 때 네 번째 꼭짓점 키도 눌린 것처럼 전기가 흐르는 「고스팅」이 생깁니다. 제조사는 이를 막으려고 그런 조합에서 일부 입력을 아예 무시하는데, 이것이 「재밍(jamming)」 또는 「블로킹」입니다. 테스트에서 세 키를 누른 뒤 네 번째 키가 불이 안 들어온다면 대개 이 경우입니다.
롤오버(KRO)는 동시에 눌러도 모두 인식되는 키 수입니다. 2KRO 키보드도 수정 키(Shift·Ctrl·Alt·Win)는 따로 읽는 경우가 많아, 조합에 따라 결과가 다르게 나옵니다. 한 가지 조합만 보고 판단하지 말고, 게임에서 실제로 쓰는 키(W·A·S·D + Shift + Space 등)로 재 보는 게 의미 있습니다.
6KRO와 NKRO: USB 규격에서 오는 숫자
USB HID 규격의 부트 프로토콜 키보드 보고서는 8바이트이고, 수정 키 8개를 비트로 담는 1바이트와 일반 키 코드 6칸으로 되어 있습니다. 그래서 부트 모드로 동작하는 키보드는 일반 키를 최대 6개까지(수정 키는 별도) 보고합니다. 「6KRO」라는 말이 여기서 나옵니다. 이보다 많은 키를 한 번에 보내려면 제조사가 별도 보고서 형식을 쓰는데, 이것이 USB NKRO입니다.
따라서 이 도구에서 최대치가 6에 수정 키 몇 개를 더한 값(예: 8)에서 멈춘다면 키보드가 6KRO 모드일 가능성이 큽니다. 많은 게이밍 키보드는 NKRO를 켜고 끄는 단축키가 있고, BIOS 호환을 위해 기본값이 6KRO인 제품도 있습니다. 반대로 노트북 내장 키보드는 3~4개에서 막히는 조합이 흔합니다.
블루투스 키보드, KVM 스위치, USB 허브, 원격 데스크톱을 거치면 중간 장치의 한계가 먼저 걸릴 수 있습니다. 숫자가 예상보다 낮다면 PC에 직접 꽂아 다시 재 보세요.
key와 code의 차이, 그리고 한글·일본어 입력
「마지막 이벤트」 줄에는 key와 code가 함께 나옵니다. key는 그 순간 입력될 문자나 기능(예: a, A, ㅁ, Enter), code는 물리적 자리(KeyA)입니다. W3C UI Events 규격은 code가 사용자의 로캘에 따라 바뀌지 않는다고 정합니다. 프랑스 AZERTY 키보드에서 A가 찍히는 키의 code는 KeyQ입니다.
한글·일본어 IME로 조합 중일 때 keydown 이벤트는 isComposing이 true가 되고, key는 「Process」, 옛 속성 keyCode는 229로 옵니다. MDN은 조합의 첫 글자나 마지막 글자에서는 isComposing이 false인데 keyCode는 229인 경우가 있다고 설명합니다. 웹 개발자가 「한글 입력 중에 엔터가 두 번 처리된다」는 문제를 겪는 이유가 이것이고, 이 도구는 code만 보기 때문에 영향을 받지 않습니다.
규격은 한/영 키와 가나 키를 Lang1, 한자 키와 영숫(英数) 키를 Lang2로 정의하지만 필수 값이 아니어서, 운영체제와 키보드 드라이버에 따라 AltRight·ControlRight로 오거나 아예 이벤트가 오지 않습니다. Lang1·Lang2로 오면 이 도구는 오른쪽 Alt·Ctrl 칸에 불을 켜므로, 오른쪽 Alt·Ctrl이 없는 한국어 키보드도 100%까지 갈 수 있습니다. 일본어 키보드의 변환·무변환·가나 키(Convert·NonConvert·KanaMode), ISO 배열의 왼쪽 Shift 옆 키(IntlBackslash), 일본어 배열의 ¥·ろ 키(IntlYen·IntlRo)는 이 도구의 ANSI 배열에 없어서 「배열 밖의 추가 키」로 표시되고, 진행률과 별도로 「+ 추가 키 N개」로 셉니다. 표시가 되면 키 자체는 정상입니다.
웹 페이지가 볼 수 없는 키
Fn 키는 대부분 키보드 안에서만 처리되어 PC로 신호가 가지 않습니다. 노트북의 밝기·음량 키, Windows의 PrtSc(keydown 없이 keyup만 오는 경우가 있어 도구가 keyup으로도 표시함), Ctrl+W·⌘+Q 같은 브라우저 단축키는 페이지보다 먼저 가로채질 수 있습니다. 이 도구는 Ctrl·⌘ 조합은 일부러 막지 않아 사용자가 페이지를 나갈 수 있게 합니다. 창에서 포커스가 빠지면 눌린 표시를 모두 풀어서, Alt+Tab 뒤 키가 눌린 채로 남아 보이는 착시를 막습니다.
예시
게이밍 키보드인데 8에서 멈춤
- 입력
Shift + Ctrl + Q·W·E·R·T·Y·U 순서로 누름- 결과
동시 입력 최대: 8
수정 키 2개 + 일반 키 6개. USB 부트 보고서의 6칸 한계와 맞아떨어지므로 6KRO 모드일 가능성이 큽니다. 제조사 설명서의 NKRO 전환 단축키를 찾아 켠 뒤 다시 재 봅니다.
노트북에서 네 번째 키가 안 들어옴
- 입력
Q·W·A 누른 상태에서 S 추가- 결과
S가 파랗게 되지 않음, 최대 3
매트릭스에서 고스팅을 막으려고 블로킹이 걸린 전형적인 모습입니다. 다른 조합(예: Q·P·Z·M)으로는 4개 이상이 될 수 있습니다.
한글 입력 상태에서 A 자리 키
- 입력
한글 IME 켜고 ㅁ 입력- 결과
key: Process · code: KeyA (브라우저에 따라 key가 ㅁ으로 올 수 있음)
조합 중 keydown은 key 대신 Process를 보내는 것이 일반적입니다. code는 자리 기준이라 KeyA로 표시되고 화면의 A 키에 불이 들어옵니다.
사용 방법
- 페이지를 한 번 클릭해 포커스를 준 뒤 키를 하나씩 누릅니다.
- 모든 키가 초록으로 바뀌는지 보고, 바뀌지 않는 키나 떼도 파란 채 남는 키를 적습니다.
- 게임에서 쓰는 조합을 계속 추가로 눌러 「동시 입력 최대」를 확인합니다.
자주 묻는 질문
키가 두 번 입력돼요(채터링). 여기서 보이나요?
누를 때마다 눌림 표시가 짧게 두 번 깜빡이거나 떼었는데 다시 파랗게 되면 의심할 수 있습니다. 다만 브라우저 이벤트만으로는 수 밀리초 간격의 떨림을 정확히 세기 어려우니, 메모장에 같은 키를 여러 번 쳐서 글자가 겹치는지 같이 확인하세요.
Fn 키가 반응하지 않아요.
정상입니다. Fn은 대부분 키보드 내부에서 처리되어 PC에 이벤트가 오지 않습니다.
한/영 키가 오른쪽 Alt로 표시돼요.
키보드나 드라이버 설정에 따라 한/영 키가 오른쪽 Alt 코드로 전달되는 경우가 있습니다. 불이 들어온다면 키 자체는 동작합니다.
NKRO 키보드인데 최대치가 낮게 나와요.
블루투스, 허브, KVM, 원격 접속을 거치지 않았는지 확인하고, 키보드의 NKRO 모드가 켜져 있는지 봅니다. 손가락 수의 한계도 있어서 10개 이상은 재기 어렵습니다.
출처
- W3C — UI Events KeyboardEvent code Values
- W3C — UI Events (isComposing)
- MDN — Element: keydown event (IME 조합과 keyCode 229)
- USB-IF — Device Class Definition for HID 1.11 (Appendix B, Boot Keyboard)
기준일: