Atmel (und auch Microchip, glaube ich) verfügt über einen generischen HID-Treiber für ihre MCUs, an dessen Ende der vollständige Quellcode verfügbar ist (Client-Testsoftware und eingebetteter HID-Stack).
Beim Durchsuchen des Angebots von Atmel gibt es sogar eine vollständige Tastatur-Demo-Karte , ebenfalls mit Quellcode.
Es ist nicht das einfachste Beispiel (sie haben ihren eigenen Taskplaner geschrieben!), Aber ich denke, es sollte ziemlich einfach sein, zu modifizieren, um das zu tun, was Sie wollen.
Schauen Sie sich keyboard_task.c
die Tastatur-Demo der obigen Links an ( oder hier ). Es scheint genau das zu sein, was Sie wollen. Eine große Anzahl von Scancodes, mit denen eine Nachricht an den Computer geschrieben wird, indem eine Tastatur in einen beliebigen Texteditor emuliert wird.
Die tatsächlichen HID-Tastenanschlagwerte werden mit #define in eine aufgerufene Datei abstrahiert usb_commun_hid.h
, die im obigen Download nicht (!) Enthalten zu sein scheint (ich denke, sie wird mit dem Compiler geliefert?), Aber sie werden nur einfachen Einzelbyte-Werten zugeordnet Sie sollten also in der Lage sein, mehr hinzuzufügen, als Sie möchten. (Siehe die a00102.html
Datei im obigen Link.)
Ich würde mir vorstellen, dass Microchip etwas Ähnliches hat, aber ich habe momentan nicht allzu viel Lust, ihre Implementierung durchzuarbeiten. Wenn Sie möchten, kann ich dies möglicherweise später tun.
Natürlich hat dies keinen wirklichen Einfluss darauf, wie Sie diese Scancodes am Computerende dekodieren , aber auch hier hat Atmel .Net-Beispiele für die Kommunikation mit ihren HID-Geräten, sodass etwas Hackbares verfügbar sein sollte.