Thông tin mã phím (Keycode) – Keycode info

Trang chủ / Công cụ / Tiện ích / Thông tin mã phím (Keycode) – Keycode info
★ 4.8/5 | 156 đánh giá
▼
Đánh giá công cụ:
★ ★ ★ ★ ★
Thông tin mã phím (Keycode) – Keycode info

Công cụ Thông tin mã phím (Keycode Info) giúp trích xuất nhanh các giá trị sự kiện bàn phím trong JavaScript. Bằng cách nhấn một phím bất kỳ, bạn có thể kiểm tra ngay các thông số cốt lõi như keyCode, key, code và vị trí phím để thiết lập phím tắt hoặc xử lý logic điều khiển giao diện chuẩn xác.

⌨️ Thông Tin Mã Phím (Keycode Info)

Nhấn bất kỳ phím nào để lấy thông tin chi tiết về JavaScript KeyboardEvent (keyCode, code, key, location...).

GÕ MỘT PHÍM BẤT KỲ...
event.key
--
event.location
--
event.code
--
event.which
--

🎛️ Các Phím Bổ Trợ (Modifiers)

Ctrl Shift Alt Meta (Win/Cmd)

⏳ Lịch Sử Bấm Phím

Chưa có dữ liệu...
Hướng dẫn nhanh ⏱ Thời gian: 30 giây

Hướng dẫn sử dụng Thông tin mã phím (Keycode)

Thực hiện theo 4 bước dưới đây để kiểm tra mã phím, xem trạng thái phím bổ trợ và theo dõi các lần bấm.

Bước1

Chọn chế độ ngăn hành vi mặc định

Giữ bật hoặc tắt tùy chọn “Ngăn cuộn trang / Hành vi mặc định (Prevent Default)” trước khi thử phím, tùy nhu cầu kiểm tra của bạn.

💡 Mẹo: Tùy chọn này được bật sẵn để hạn chế cuộn trang khi bạn thử các phím như dấu cách hoặc mũi tên.
Bước2

Nhấn phím cần kiểm tra

Khi thấy “GÕ MỘT PHÍM BẤT KỲ...”, nhấn phím muốn kiểm tra trên bàn phím; mã số và tên phím sẽ tự động xuất hiện trong khung lớn.

💡 Mẹo: Bạn không cần nhấp vào khung hiển thị trước khi nhấn phím; phím dấu cách được hiển thị là “(Space)”.
Bước3

Xem kết quả và phím bổ trợ

Đọc mã số, tên phím và vị trí phím bên dưới khung lớn. Thử giữ Ctrl, Shift hoặc Alt khi nhấn phím khác và quan sát mục “Các Phím Bổ Trợ (Modifiers)”.

💡 Mẹo: Vị trí được phân biệt thành phím thông thường, bên trái, bên phải hoặc thuộc cụm phím số.
Bước4

Xem và xóa lịch sử bấm phím

Xem các phím vừa thử trong “Lịch Sử Bấm Phím”, với lần bấm mới nhất ở trên cùng. Nhấn “Xóa” khi muốn xóa danh sách và đưa phần hiển thị về ban đầu.

💡 Mẹo: Danh sách chỉ giữ tối đa 30 lần bấm gần nhất; các mục cũ hơn sẽ tự động bị loại bỏ.

Giới thiệu chung về công cụ thông tin mã phím

Khi xây dựng các tính năng tương tác web như form nhập liệu, game trên trình duyệt hay hệ thống phím tắt (hotkeys), việc bắt chính xác sự kiện bàn phím là vô cùng quan trọng. Tuy nhiên, việc ghi nhớ các mã số (keycode) tương ứng với từng phím vật lý là điều gần như không thể.

Để giúp các lập trình viên frontend tiết kiệm thời gian tra cứu tài liệu, Công cụ Việt đã xây dựng tiện ích thông tin mã phím trực quan. Bạn chỉ cần thả tay lên bàn phím, hệ thống sẽ lập tức bắt tín hiệu và số hóa mọi thông tin từ phím bấm đó, giúp quá trình gỡ lỗi (debug) diễn ra thuận lợi và trơn tru hơn bao giờ hết.

Giải thích các thuật ngữ liên quan đến sự kiện bàn phím

Để thao tác chính xác với công cụ, bạn cần hiểu rõ cấu trúc của một đối tượng KeyboardEvent trong JavaScript:

  • event.keyCode / event.which: Là một mã số nguyên đại diện cho phím vừa được nhấn (ví dụ: phím Enter là 13, phím Space là 32). Mặc dù hiện tại đã bị đánh dấu là lỗi thời, nó vẫn được hỗ trợ rộng rãi trên các trình duyệt cũ.

  • event.key: Trả về giá trị ký tự thực tế của phím được nhấn, có phân biệt chữ hoa, chữ thường hoặc ngôn ngữ bàn phím.

  • event.code: Trả về chuỗi định danh vật lý của phím trên bàn phím (ví dụ: KeyA, Space), không phụ thuộc vào bố cục (layout) hay ngôn ngữ đang gõ.

  • event.location: Xác định vị trí của phím nếu bàn phím có nhiều phím cùng chức năng (ví dụ: Shift trái, Shift phải hoặc các số trên bàn phím phụ Numpad).

Mục đích và lợi ích của công cụ

  • Tiết kiệm thời gian tra cứu: Không cần phải lên mạng tìm kiếm các bảng “keycode list” dài dòng, kết quả hiển thị ngay lập tức dưới ngón tay bạn.

  • Hỗ trợ gỡ lỗi toàn diện: Kiểm tra xem các phím bổ trợ như Ctrl, Alt, Shift có đang được ghi nhận đồng thời cùng phím chính hay không để thiết lập tổ hợp phím tắt chuẩn xác.

  • Ngăn chặn lỗi xung đột: Giúp kiểm tra trước các phím đặc biệt để viết mã ngăn chặn hành vi cuộn trang hay làm mới trang không mong muốn.

Các tính năng hỗ trợ

  • Hiển thị đa thông số theo thời gian thực: Bóc tách ngay lập tức một lượt nhấn phím thành các thuộc tính key, code, keyCode và location.

  • Ngăn chặn hành vi mặc định (Prevent Default): Nút gạt bật/tắt tính năng giúp bạn test các phím như Space (không bị cuộn trang) hay F5 (không bị tải lại trang) một cách an toàn ngay trên form.

  • Nhận diện phím bổ trợ (Modifiers): Giao diện tự động làm sáng các huy hiệu Ctrl, Shift, Alt hoặc Meta (Windows/Command) nếu chúng được giữ cùng lúc với phím khác.

  • Ghi log lịch sử: Lưu lại danh sách trình tự các phím vừa gõ để bạn dễ dàng theo dõi và kiểm tra các tổ hợp phím phức tạp.

Đối tượng người dùng

  • Lập trình viên Web & Frontend: Thường xuyên sử dụng tiện ích trên congcuviet.com để lấy mã phím chuẩn khi lập trình các tính năng tìm kiếm, điều hướng menu, đóng mở modal.

  • Nhà phát triển Web Game (HTML5/Canvas): Cần ánh xạ (map) các phím W, A, S, D hoặc cụm phím mũi tên để điều khiển nhân vật di chuyển chuẩn xác.

  • Chuyên gia UI/UX & Web Accessibility: Thiết lập và kiểm thử trang web để đảm bảo người khuyết tật có thể điều hướng 100% bằng bàn phím thông qua các phím Tab và Enter.

Tại sao keyCode bị đánh dấu lỗi thời và nên dùng event.key hay event.code?

Nhiều lập trình viên lâu năm vẫn quen sử dụng event.keyCode === 13 để bắt sự kiện phím Enter. Tuy nhiên, theo chuẩn MDN Web Docs mới nhất, thuộc tính này đã bị đánh dấu lỗi thời (deprecated) vì hoạt động thiếu nhất quán giữa các trình duyệt và thiết bị khác nhau.

Thay vào đó, chuẩn web hiện đại khuyến nghị sử dụng event.key hoặc event.code. Nếu bạn quan tâm đến ý nghĩa ký tự mà người dùng muốn nhập (ví dụ: gõ ‘a’ hay ‘A’, gõ tiếng Việt hay tiếng Anh), hãy dùng event.key. Ngược lại, nếu bạn đang làm game và chỉ quan tâm đến vị trí vật lý của phím (như cụm phím WASD để di chuyển) mà không bận tâm họ đang bật Unikey hay gõ ngôn ngữ khác, event.code là lựa chọn hoàn hảo nhất.

Cách phân biệt các phím trùng lặp chức năng bằng event.location

Trên một bàn phím tiêu chuẩn (Full-size), bạn sẽ có hai phím Shift, hai phím Ctrl, hai phím Alt và hai bộ phím số (một hàng ngang bên trên và một cụm Numpad bên phải). Khi người dùng nhấn số 1, làm sao để trình duyệt phân biệt được họ đang bấm ở đâu?

Đây là lúc thuộc tính event.location phát huy tác dụng. Nó trả về một mã số nguyên giúp định vị khu vực phím: 0 (Cơ bản/Tiêu chuẩn), 1 (Bên trái), 2 (Bên phải), hoặc 3 (Khu vực Numpad). Bằng cách kết hợp event.key và event.location, bạn có thể viết logic kịch bản điều khiển riêng biệt, ví dụ như biến cụm Numpad thành bảng phím tắt kỹ năng trong ứng dụng mà không làm ảnh hưởng đến cụm số nhập liệu thông thường.

Quản lý hành vi trình duyệt mặc định với phương thức preventDefault

Một “nỗi đau” thường gặp khi xử lý sự kiện bàn phím trên web là sự can thiệp của các phím hệ thống. Ví dụ điển hình: khi bạn thiết kế một web game yêu cầu bấm phím Space để nhân vật nhảy lên, nhưng mỗi lần bấm, toàn bộ trang web lại bị cuộn tuột xuống dưới. Hoặc khi nhấn phím Enter trong ô input, trang web lại tự động tải lại (submit form).

Để xử lý triệt để vấn đề này, tiện ích của chúng tôi tích hợp sẵn nút gạt “Ngăn cuộn trang / Hành vi mặc định”. Về mặt mã nguồn, nút này kích hoạt phương thức event.preventDefault(). Khi được gọi, hàm này sẽ chặn đứng mọi hành động mặc định mà trình duyệt định gán cho phím bấm đó, trả lại toàn quyền quyết định logic xử lý cho mã JavaScript của bạn.

20 bình luận

  • Nguyễn Ngọc Phúc

    Phần Modifiers hoạt động chính xác, nhận diện được tổ hợp Ctrl + Shift + phím khác khá nhanh.

  • Hồ Đức Yến

    Các tiện ích như chuyển đổi nhiệt độ và ETA calculator tuy khác chủ đề nhưng dùng nhanh, không phải tìm nhiều trang.

  • Vũ Bảo Dương

    Nếu có chế độ tối hoặc tùy chỉnh kích thước chữ thì trải nghiệm sẽ tốt hơn trên màn hình nhỏ.

  • Dương Thu Linh

    Công cụ nhỏ mà hữu ích ghê, đặc biệt dành cho người học lập trình frontend.

  • Lê Tiến Hương

    Bấm thử vài phím tiếng Việt thì mình hơi chưa hiểu kết quả hiển thị, mong có hướng dẫn cụ thể hơn.

  • Hồ Quốc Vinh

    Có thể thêm hỗ trợ hiển thị cả event.key, event.code và keyCode trong cùng một bảng không? Như vậy sẽ tiện đối chiếu hơn.

  • Trần Tiến Linh

    Có vẻ công cụ chưa ghi nhận đúng một số phím Media trên bàn phím của mình, mong nhà phát triển bổ sung hỗ trợ.

  • Ngô Ngọc Trang

    Phần thông tin mã phím hiển thị dễ hiểu với người mới, nhưng có thể thêm giải thích ngắn về sự khác nhau giữa key và code.

  • Võ Tuấn Kiên

    Nói chung đây là công cụ gọn nhẹ, dễ dùng và phù hợp để kiểm tra bàn phím cũng như học cách xử lý sự kiện phím.

  • Trần Thu Dương

    Mình thích cách trình bày thông tin rõ ràng, không có quá nhiều chi tiết thừa.

  • Võ Bảo Thủy

    Công cụ chạy ngay trên trình duyệt, không cần cài đặt gì nên rất tiện khi cần kiểm tra nhanh.

  • Vũ Đức Trang

    Mình hay quên mã của các phím đặc biệt như Escape, Enter và Backspace, công cụ này hỗ trợ rất tốt.

  • Bùi Thị Dũng

    Dùng thử thấy ổn áp, bấm phím nào hiện thông tin phím đó ngay, không bị trễ.

  • Hồ Hải Kiên

    Ngoài Keycode Info, các công cụ tương tự như Bcrypt và Emoji picker cũng khá hữu ích, tiện vì gom chung một nơi.

  • Bùi Hải Vinh

    Mình đã dùng để kiểm tra phím chức năng trên laptop, kết quả khá chính xác.

  • Trần Hoài Yến

    Tính năng xem keycode khá rõ ràng, nhưng nếu có thêm ví dụ code JavaScript cho từng phím thì sẽ dễ hiểu hơn.

  • Phan Đức Tú

    Cho mình hỏi lịch sử bấm phím có lưu lại toàn bộ thao tác không, hay chỉ lưu trong phiên hiện tại?

  • Ngô Hải Sơn

    Giao diện đơn giản, phản hồi nhanh. Rất hữu ích cho người đang làm JavaScript hoặc phát triển web.

  • Lý Văn Khánh

    Mình thích phần hiển thị các phím bổ trợ như Ctrl, Alt, Shift, nhất là khi kiểm tra shortcut.

  • Hồ Đức Quang

    Công cụ Keycode Info dùng rất tiện, chỉ cần nhấn phím là biết ngay mã phím và tên phím.

Bình luận vui vẻ - Yêu cầu nâng cấp