Nội dung liên quan
#keyboard
Event-driven Keyboard Firmware là gì?
Pattern tách scan/debounce khỏi USB send bằng event queue: key event producer, consumer và cách giữ firmware responsive khi USB busy hoặc host không poll kịp.
Key Mapping trong keyboard firmware là gì?
Ánh xạ vị trí vật lý (row, col) sang HID Usage ID: keymap array, lookup table, layer và cách tổ chức mapping để dễ thay đổi mà không sửa scan logic.
Matrix Scanning Algorithm là gì?
Chi tiết thuật toán quét ma trận phím: scan toàn bộ vs scan thay đổi, xử lý multi-key, rollover detection và tối ưu timing giữa các lần quét.
What Is a Debounce Algorithm?
Why mechanical keys bounce, and how to handle it with counter-based debounce, timestamp debounce, scan buffers, and a state machine in firmware.
What Is the HID Keyboard Report Format?
The 8-byte structure of an HID keyboard report: the modifier byte, the reserved byte, and 6 keycode slots. How to send a report from STM32 middleware.
What Are HID Usage Tables?
Usage Page and Usage in HID, explained. A full lookup table for the Keyboard/Keypad Page 0x07: letters, digits, punctuation, numpad, lock keys, F-keys.
Debounce Algorithm là gì?
Tại sao phím cơ học bounce và cách xử lý bằng counter-based debounce, timestamp debounce, scan buffer và state machine trong firmware.
HID Keyboard Report Format là gì?
Cấu trúc 8 byte của HID keyboard report: modifier byte, reserved byte, 6 keycode slot. Cách gửi report từ STM32 middleware.
HID Report Descriptor là gì?
HID Report Descriptor mô tả cấu trúc và ý nghĩa từng byte trong HID report. Usage Page, Usage, Collection, Input/Output — ngữ pháp tối thiểu cần biết để viết HID firmware.
HID Usage Tables là gì?
Giải thích Usage Page và Usage trong HID. Bảng tra đầy đủ Keyboard/Keypad Page 0x07 (chữ, số, dấu câu, numpad, phím khoá, F-key).
Keyboard Matrix Fundamentals là gì?
Tại sao bàn phím dùng matrix thay vì một dây mỗi phím. Cách quét hàng/cột, GPIO setup, active-low convention, ghosting và khi nào thực sự cần diode.