Atmel (và Microchip cũng vậy, tôi nghĩ) có trình điều khiển HID chung cho MCU của họ có sẵn, với mã nguồn đầy đủ ở mỗi đầu có sẵn (Phần mềm kiểm tra máy khách và ngăn xếp HID nhúng).
Duyệt qua ưu đãi của Atmel, họ thậm chí còn có một bảng demo bàn phím đầy đủ , một lần nữa với mã nguồn.
Đây không phải là ví dụ đơn giản nhất (Họ đã viết lịch trình tác vụ của riêng họ!), Nhưng tôi nghĩ việc sửa đổi để làm những gì bạn muốn là khá dễ dàng.
Nhìn keyboard_task.c
vào bản demo bàn phím liên kết ở trên ( hoặc ở đây ). Nó dường như là chính xác những gì bạn muốn. Một mảng lớn các scancodes, được sử dụng để viết tin nhắn vào máy tính bằng cách mô phỏng bàn phím vào bất kỳ trình soạn thảo văn bản nào.
Các giá trị tổ hợp phím HID thực tế được trừu tượng hóa bằng cách sử dụng #define vào một tệp có tên usb_commun_hid.h
, dường như không có (!) Trong phần tải xuống ở trên (tôi đoán nó đi kèm với trình biên dịch?), Nhưng chúng chỉ ánh xạ tới các giá trị byte đơn cũ , vì vậy bạn sẽ có thể thêm nhiều hơn tất cả những gì bạn muốn. (Xema00102.html
tệp trong liên kết trên.)
Tôi sẽ hình dung Microchip có một cái gì đó tương tự, nhưng tôi không cảm thấy quá giống như đào sâu vào việc thực hiện chúng ngay bây giờ. Nếu bạn muốn, tôi có thể làm như vậy sau.
Tất nhiên, điều này thực sự không làm bất cứ điều gì về cách bạn giải mã các đoạn mã này ở cuối máy tính, nhưng một lần nữa, Atmel có các ví dụ .Net về cách nói chuyện với các thiết bị HID của họ, vì vậy cần có một cái gì đó có thể hack được.