KeyboardTest.io

키보드 이벤트 뷰어

이벤트 0개
최근 200개 보관
이벤트keycodekeyCode위치보조키반복Δ ms

모든 키보드 이벤트가 최신순으로 여기에 나옵니다.

기본 동작

key, code, keyCode

속성 3개

KeyboardEvent는 한 번의 입력을 세 가지로 나타냅니다. 프랑스어 AZERTY 키보드에서는 같은 물리 키라도 key 값이 다르고, code는 같으며, keyCode는 문자를 따라갑니다.

속성알려 주는 것QWERTYAZERTY
key배열에 따라 입력되는 문자, 또는 키 이름(Enter, Shift)qa
code배열과 관계없는 물리적인 키KeyQKeyQ
keyCode옛 숫자 값, 폐기 예정이지만 아직 전송됨8165
위치로 정하는 단축키(WASD)는 code를, 글자 입력과 문자로 정하는 단축키는 key를 쓰세요.

location

값 4개

location 속성은 짝으로 있는 키가 어느 쪽인지, 또는 키가 숫자 키패드에 있는지 알려 줍니다.

0 · 기본키보드에 하나만 있는 대부분의 키
1 · 왼쪽왼쪽 Shift, Ctrl, Alt, Meta
2 · 오른쪽오른쪽 Shift, Ctrl, Alt, Meta
3 · 숫자 키패드Enter를 포함한 숫자 키패드의 키

입력기와 keyCode 229

IME

한국어, 중국어, 일본어 입력기가 켜져 있으면 입력기가 키를 먼저 받습니다. 페이지에는 key "Process"와 keyCode 229가 오고, 글자는 composition 이벤트로 들어옵니다. 두벌식으로 ㄴ, ㅣ를 눌러 "니"를 입력할 때:

  1. keydownkey Process · keyCode 229
  2. compositionstart입력기가 글자 조합 시작
  3. compositionupdatedata ㄴ, 그다음 니
  4. keydownSpace나 다음 키로 글자 확정
  5. compositionenddata는 확정된 글자
  6. inputinputType insertCompositionText
키에 반응하기 전에 isComposing을 확인하세요. 그러지 않으면 글자를 확정하는 Enter가 폼까지 제출합니다.

보조키

getModifierState

이벤트마다 그 순간 누르고 있던 보조키가 담겨 있습니다. getModifierState()는 잠금 키 상태도 알려 줍니다.

ShiftshiftKey
ControlctrlKey
AltaltKey
MetametaKey: Windows 키, 맥에서는 Command
CapsLock키를 누른 상태가 아닌 잠금 상태
NumLock잠금 상태. 맥에서는 흔히 알 수 없음
AltGraph많은 유럽 배열의 오른쪽 Alt
ScrollLock요즘 키보드에는 드묾

자주 묻는 질문

질문 8개

event.key와 event.code는 어떻게 다른가요?

문자와 위치

key는 현재 배열에서 그 키가 입력하는 문자(a나 A)이고, code는 물리 키(KeyA)라서 배열이 바뀌어도 같습니다. 이 키보드 이벤트 뷰어는 누를 때마다 둘 다 보여 줍니다.

keyCode가 왜 229인가요?

입력기

입력기(IME)가 키를 처리하고 있다는 뜻입니다. key는 "Process"이고, 글자는 나중에 composition과 input 이벤트로 옵니다. 입력란에 입력해 보면 확인할 수 있습니다.

keyCode는 폐기되었나요?

네

keyCode, which, charCode는 폐기되었지만 브라우저는 아직 보냅니다. 새 코드에서는 key나 code를 쓰세요.

Fn은 왜 이벤트가 없나요?

전송되지 않음

Fn은 키보드가 직접 처리하고 키 코드를 보내지 않아 어떤 웹페이지도 받지 못합니다. Fn과 함께 누른 키(F5나 음량 키 등)는 나타납니다.

Ctrl+W나 Ctrl+T는 왜 잡을 수 없나요?

브라우저가 가져감

브라우저는 탭 닫기, 새 탭, 새 창 같은 일부 단축키를 직접 가져갑니다. 기본 동작을 막으면 Tab, F5, / 같은 다른 키는 대부분 막히지만 이 단축키들은 막히지 않습니다.

키를 누르고 있으면 왜 keydown이 계속 나오나요?

자동 반복

시스템이 누르고 있는 키를 반복하기 때문입니다. 반복마다 repeat가 true인 keydown이 오고, 뗄 때 keyup이 한 번 옵니다.

맥에서는 왜 일부 keyup이 빠지나요?

Command를 누름

Command를 누르고 있는 동안 macOS의 브라우저는 다른 키의 keyup을 보내지 않고, Command를 뗀 뒤에도 보내지 않습니다. 맥 키보드 테스트 →

입력한 키가 업로드되나요?

업로드 안 함

이벤트는 이 브라우저 안에서만 처리됩니다. 테스트 코드는 업로드하지 않으며, 페이지를 닫으면 지워집니다. 개인정보 처리방침 →