On Sunday 22 May 2011, Fabian Hänsel wrote:
(*)Ja, mir ist bekannt, dass strenggenommen PS/2 ein serielles Protokoll ist. Ich habe aber noch nie ein PS/2-Device als TTY wiedergefunden.
Möglicherweise könnte man die Idee aber auf anderem Wege noch mit der Realität verheiraten: ein relativ einfach ansprechbares, eigenes USB-Gerät steuert eine gefälschte PS/2-Tastatur am PS/2-Port, deren Protokoll einfacher zu realisieren ist als USB-HID.
Aus Sicht eines Programmierers (zumindest eines P. der andauernd Protokolle baut) ist USB HID nahezu trivial. Zumindest wenn Du schonmal eine Bibliothek für USB hast. Ich habe die letzten paar Monate damit verbracht mich mit einem HID raw Device zu unterhalten (und auf USB zu fluchen).
Die größte Schwierigkeit ist es die HID-Descriptoren zu parsen und zu interpretieren (was nur den Host betrifft). HID Keyboard sendet Reports von 4 bis 8 Byte Länge, das erste Byte enthält die Mofifier Keys (Shift, Ctrl, Meta, ...) als Bitmaske, der Rest die Scancodes der gedrückten Tasten oder binäre Nullen. HID Maus ist nur geringfügig komplexer, weil die Bits auf zwei Koordinaten, 2-4 Buttons und 1-2 Mausräder aufgeteilt werden müssen.
Nachteil Deiner Lösung ist dass es an nahezu keinem Laptop geht und nicht unbedingt hot-plug-fähig ist (PS/2 gibt keine Garantie auf Hot-Plug). Ausserdem: was mache ich wenn ich noch eine echte PS/2 Tastatur anschließen will? Die meisten PCs haben nur einen PS/2-Tastaturanschluss (nein, PS/2 Maus ist ein gänzlich anderes Protokoll, mixen geht nicht).
Das geht dann allerdings nicht ohne etwas Fummelei mit Widerständen, Lötkolben & Co ab.
Ich habe gerade keine Lust auf Brandblasen... ;-P
Ja, mir ist klar dass ich in jedes der drei Protokolle mindestens ein volles Wochenende investieren muss bis es läuft. Bisher ist das alles noch im Ideenstadium und kann sich gewaltig ändern oder ich lasse es eventuell komplett bleiben - meine primäre Implementation wird sowieso eine Software- Lösung mit unterschiedlichen Treibern für X11, Mac und win32.
Konrad