키보드 테스터

아무 키나 눌러 즉시 인식되는지 확인하세요 — 키 이름, 코드, 실시간 로그까지. 반응 없는 키, 눌러도 안 올라오는 키, 두 번 입력되는 키를 몇 초 만에 찾아냅니다.

조회수 978회

여기를 클릭하고 키를 누르세요
 
테스트한 키0
총 입력 횟수0
 
기록

작동 원리

물리적으로 키를 하나 누를 때마다 브라우저에서는 한 쌍의 KeyboardEvent가 발생합니다 — 누르는 순간 keydown, 손을 떼는 순간 keyup입니다. 각 이벤트는 서로 다른 두 가지 식별자를 담고 있으며, 이 차이는 보기보다 훨씬 중요합니다: key는 현재 키보드 배열이 만들어내는 문자(실제로 입력되는 값)이고, code는 어떤 배열이 활성화되어 있든 변하지 않는 스위치의 물리적 위치입니다. 이 도구는 누를 때마다 두 값을 나란히 기록합니다.

이 구분이 하드웨어 테스트의 핵심입니다. 예를 들어 운영체제의 키보드 배열을 QWERTY에서 Dvorak으로 바꾸고 왼쪽 위 글자 키를 눌러본다고 가정해 봅시다. QWERTY에서는 이 키가 key: "q"를 보고하고, Dvorak에서는 같은 물리적 스위치가 key: "'"를 보고합니다 — 하지만 두 경우 모두 code는 항상 KeyQ로 유지됩니다. code는 문자가 아니라 스위치 자체를 나타내기 때문입니다. 특정 물리적 스위치가 죽었는지 채터링을 일으키는지 확인하고 싶다면, 배열과 무관하게 진실을 말해주는 값은 code입니다. 반대로 배열 매핑이 올바른지 — 예를 들어 새 키보드 드라이버나 언어 팩을 설치한 뒤 — 확인하려면 key가 해당 배열에서 기대한 값과 일치하는지 비교해야 하며, 이는 완전히 다른 질문입니다.

키를 누를 때마다 화면은 문자 또는 키 이름을 즉시 표시하고 물리적 코드를 덧붙이며, 지금까지 테스트한 모든 키를 배지 목록으로 계속 쌓아가므로 키보드 전체를 빠짐없이 훑어보기 쉽습니다. 등록된 keydown마다 카운터가 하나씩 증가하며, 한 번의 물리적 입력이 두 번 이상의 카운트를 만든다면 이는 테스트 오류가 아니라 채터링입니다.

알아두어야 할 사항

  • 죽은 키: 해당 물리적 위치에서 아무것도 나타나지 않습니다 — key가 아니라 code를 확인하세요. 죽은 스위치는 어떤 이벤트도 발생시키지 않기 때문입니다.
  • 채터링: 한 번의 물리적 입력에 카운터가 2 이상 증가합니다 — 마모된 기계식 스위치나 신호를 튀게 만드는 멤브레인 접점 불량이 원인입니다.
  • 운영체제·브라우저 예약 키: Fn, 일부 미디어 키, 특정 조합의 Windows/Command 키는 웹페이지의 JavaScript에 도달하기 전에 운영체제나 브라우저가 가로챕니다 — 여기서 반응이 없다고 해서 항상 하드웨어 고장을 의미하지는 않습니다.
  • 고스팅과 롤오버: 저가형 키보드에서 여러 키를 동시에 누르면 내부 매트릭스의 한계에 부딪힐 수 있습니다. 동시 조합에서 특정 키가 소리 없이 빠진다면 이는 안티고스팅/N-키 롤오버의 한계이지, 반드시 손상을 의미하지는 않습니다.
  • 모든 처리는 로컬에서: 이벤트는 오직 브라우저 안의 JavaScript로만 읽히고 표시됩니다 — 어떤 키 입력도 네트워크로 전송되지 않으며, 페이지를 벗어나는 즉시 기록은 사라집니다.

자주 묻는 질문

어떤 키가 여기서 전혀 표시되지 않아요 — 키보드가 고장 난 건가요?

먼저 다른 프로그램에서 눌러보고 소프트웨어 문제인지 확인하세요. 일부 키(Fn, 일부 미디어 키, 특정 조합에서의 Windows/Command 키 등)는 운영체제나 브라우저가 자체적으로 처리하기 때문에 웹페이지까지 전달되지 않습니다 — 이는 고장이 아니라 정상적인 동작입니다.

키보드 채터링이란 무엇인가요?

마모된 스위치가 한 번의 물리적 입력에 대해 두 번 이상 신호를 보내는 현상입니다. 여기서는 입력 카운터가 1 이상 한꺼번에 증가하는 것으로 확인할 수 있습니다. 기계식 키보드는 스위치 단위로 교체하면 해결되는 경우가 많고, 멤브레인 키보드는 보통 전체 교체가 필요합니다.

"key"와 "code"의 차이는 무엇이고, 테스트할 때 어느 쪽을 믿어야 하나요?

"key"는 현재 배열이 만들어내는 문자이고, "code"는 물리적 스위치 위치로 배열이 바뀌어도 변하지 않습니다. 하드웨어를 테스트할 때 — 이 물리적 키가 살아 있는지 — 는 code를 확인하세요. 배열 매핑이 올바른지 검증할 때는 key를 해당 배열이 출력해야 할 값과 비교하세요.

제 키 입력이 기록되거나 어딘가로 전송되나요?

아니요. 모든 이벤트는 브라우저 내 자바스크립트로 처리되어 화면에만 표시됩니다. 어떤 정보도 저장되거나 전송되지 않습니다.

다른 프로그램에서는 작동하는 키가 여기서는 왜 아무것도 표시하지 않나요?

일부 키는 어떤 웹페이지의 JavaScript에도 도달하기 전에 운영체제나 브라우저 UI가 가로챕니다 — 일부 미디어 키, Fn 조합, 특정 단축키 조합이 이 사이트뿐 아니라 모든 웹사이트에서 동일하게 동작합니다.

댓글

아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!

비슷한 도구