Phiếu kết quả kiểm tra
Phiếu này nằm trong đường dẫn bạn mở, không được lưu trên máy chủ testbanphim.com.
Bấm một phím bất kỳ, trang hiện ngay mọi thứ trình duyệt biết về phím đó: mã vị trí, ký tự sinh ra, hai mã cũ keyCode và which, và vị trí trái hay phải.
Bên dưới là bảng tra đầy đủ theo sơ đồ bàn phím full-size, có ô lọc nhanh — tiện khi bạn cần tra mã của một phím mà không có phím đó trong tay.
Cách test trong 1 phút
Dùng cho cả người thường lẫn người viết code:
- Bấm Bắt đầu test.
- Bấm phím bạn muốn tra. Thẻ lớn ở giữa hiện mã vị trí phím.
- Xem bảng ngay dưới thẻ để biết ký tự sinh ra, mã cũ và vị trí trái phải.
- Muốn tra phím không có trên bàn phím của bạn, gõ tên phím vào ô lọc của bảng tra ở cuối trang.
| Bạn thấy | Nghĩa là | Việc cần làm |
|---|---|---|
| event.code | Vị trí phím vật lý | Dùng cái này khi muốn biết phím ở đâu trên bàn phím |
| event.key | Ký tự thật sự sinh ra | Dùng cái này khi muốn biết người dùng gõ ra chữ gì |
| keyCode và which | Hai mã đời cũ | Chỉ dùng để tra tài liệu cũ, không nên dùng cho code mới |
| location | Phím bên trái, bên phải hay thuộc cụm số | Phân biệt hai phím Shift, hai phím Ctrl |
Ví dụ kết quả
Ví dụ với một phím quen thuộc:
| Thuộc tính | Giá trị khi bấm phím dấu chấm phẩy trên bàn phím Mỹ |
|---|---|
| event.code | Semicolon |
| event.key | dấu chấm phẩy |
| keyCode và which | 186 |
| location | 0 — phím thường, không phải trái hay phải |
Ba thế hệ thuộc tính mã phím
Thế hệ đầu là keyCode và which, có từ thời trình duyệt còn chưa thống nhất chuẩn. Chúng trả về số, và cùng một con số có thể ứng với phím khác nhau tuỳ bố cục bàn phím. Chuẩn web hiện đã đánh dấu chúng là không nên dùng nữa, nhưng vẫn giữ lại để các trang cũ không hỏng.
Thế hệ sau là key, trả về chính ký tự người dùng gõ ra dưới dạng chuỗi. Đây là thứ bạn cần khi quan tâm tới nội dung.
Cuối cùng là code, trả về vị trí phím vật lý và không đổi theo bố cục bàn phím hay ngôn ngữ. Đây là thứ bạn cần khi quan tâm tới vị trí, ví dụ khi gán phím điều khiển trong game.
Giới hạn trình duyệt và trường hợp đặc biệt
Ba điều dễ nhầm khi đọc mã phím:
| Trường hợp | Điều xảy ra | Vì sao |
|---|---|---|
| Đổi layout bàn phím sang tiếng Đức | event.code không đổi, event.key đổi | code gắn với vị trí vật lý, key gắn với ký tự |
| Bật bộ gõ tiếng Việt | event.key thành chữ có dấu | Bộ gõ ghép nhiều phím thành một ký tự |
| Gõ trên bàn phím ảo điện thoại | event.code thường rỗng | Phím ảo không có vị trí vật lý để báo |
| Dùng keyCode trong code mới | Vẫn chạy nhưng đã lỗi thời | Chuẩn web đã đánh dấu keyCode là không nên dùng |
Công cụ liên quan
Các công cụ dùng chung khái niệm mã phím:
- Test bàn phím — sáng phím theo đúng mã vị trí
- Test tổ hợp phím — xem tổ hợp có phím bổ trợ
- Test key chatter — bắt phím gửi tín hiệu hai lần
- Test cụm phím số — cụm số có mã riêng bắt đầu bằng Numpad
Câu hỏi thường gặp
Nên dùng event.code hay event.key khi viết code?
Dùng code khi bạn quan tâm tới vị trí phím, ví dụ phím điều khiển trong game phải nằm đúng chỗ dù người chơi dùng layout nào. Dùng key khi bạn quan tâm tới ký tự người dùng gõ ra, ví dụ khi xử lý phím tắt theo chữ cái.
keyCode 186 nghĩa là gì?
Đó là mã đời cũ của phím dấu chấm phẩy trên bàn phím bố cục Mỹ. Các mã trong khoảng 186 đến 222 dành cho phím dấu, và chúng khác nhau giữa các bố cục bàn phím — đây chính là lý do chuẩn web khuyên dùng code thay cho keyCode.
Vì sao hai phím Shift lại có cùng event.key?
Vì cả hai đều sinh ra cùng một chức năng nên key đều là Shift. Muốn phân biệt, hãy xem event.code là ShiftLeft hay ShiftRight, hoặc xem location: 1 là bên trái, 2 là bên phải.
Bấm phím mà thẻ không hiện gì?
Có thể bạn đang bấm một tổ hợp bị hệ điều hành giữ lại, hoặc phím đó không sinh sự kiện, ví dụ phím Fn trên laptop. Hãy thử một phím chữ thông thường trước để chắc chắn công cụ đang chạy.
Bảng tra ở cuối trang lấy dữ liệu từ đâu?
Từ chính sơ đồ bàn phím full-size mà trang web dùng để vẽ, gồm 104 phím theo bố cục ANSI. Bảng liệt kê mã vị trí phím và nhãn in trên phím, không bao gồm keyCode vì mã đó phụ thuộc bố cục bàn phím của từng máy.
Trang có ghi lại phím tôi bấm không?
Không. Mọi thứ hiển thị ngay trong trình duyệt và biến mất khi bạn đóng tab. Trang không gửi phím gõ lên máy chủ và không lưu lại ở bất kỳ đâu.
Căn cứ / Nguồn
- MDN Web Docs — KeyboardEvent.code và KeyboardEvent.key, Mozilla, 2026 — developer.mozilla.org
- MDN Web Docs — KeyboardEvent, danh sách thuộc tính đầy đủ — developer.mozilla.org
- Can I use — bảng hỗ trợ API theo trình duyệt, 2026 — caniuse.com
Cập nhật: 10/09/2026