Das Autoquarium ist zwar mittlerweile auch fast fertig (in der ersten Ausbaustufe), aber zwischenzeitlich habe ich mich noch einem weiteren Projekt gewidmet. Das ist seit gerade eben online. Ebenfalls in der ersten Ausbaustufe: Dulcimer.
Der Name klingt erstmal nichtssagend, aber wer sich den grünen Kasten auf der Seite durchliest kann sich vielleicht denken warum ich ihn gewählt habe (Hint: wenn das nicht reicht kann man auch in der englischen Version spicken).
Um das auch hier nochmal kurz zusammenzufassen: es geht um eine ziemlich alte klassische Tastatur: die IBM Model M. Ich wurde gefragt ob ich die zu einer USB-Tastatur umbauen kann, und hier ist das Ergebnis. Wer mit dem Namen nichts anfangen kann möge sich vielleicht mal bei eBay die Preise ansehen für die diese ‚alten Dinger‘ gehandelt werden…
Wie auch immer: diese eine spricht jetzt schon fließend USB. Und wenn ich Zeit dazu habe werde ich da noch ein paar Nettigkeiten einbauen. Ideen stehen ja schon auf der Seite, für neue bin ich immer offen. Eines meiner Ziele ist zum Beispiel — ohne mich über die Krankheit lustig machen zu wollen — eine (ein- und ausschaltbare) Tourette-Tastatur…
Hallo,
mal eine Frage: Ich habe schon „normale“ Tastaturen mit PS/2-Stecker per Adapter an den USB-Anschluss gesteckt.
In diesen Adaptern befindet sich keine Elektronik.
Warum geht das mit der IBM Model M nicht? (oder hat das nur keiner probiert?)
mfg, blackcm
@blackcm: Ich habe mal von jemandem gehoert dass seine Model M nicht an so einem Adapter funktioniert hat. Kann ich mir nicht erklaeren, weil da im Prinzip die gleiche Elektronik drin sitzt wie in vielen anderen Tastaturen, aber: nun ja.
Ich habe da gar nicht erst drueber nachgedacht, weil ich die Idee schick fand spaeter noch mehr mit der Tastatur zu machen. So dass die nicht nur ein ernsthaftes Werkzeug ist sondern bei Bedarf auch ein brauchbarer Scherzartikel.
Ausserdem kann meine Schaltung relativ einfach auf andere Hardware angepasst werden. Und fuer alte Sun-Tastaturen habe ich zum Beispiel noch keinen USB-Adapter gesehen. Oder fuer einen C=64 (auch wenn es da schon einige Umbauprojekte gibt).
Die Adapter von PS/2 auf USB ohne Elektronik funktionieren nur mit Tastaturen, die einen Dual-Controller haben. Dieser erkennt, ob er an einem PS/2 oder einem USB-Port hängt und spricht dann das entsprechende Protokoll. Der Adapter ist wirklich nur ein mechanischer Umsetzer für den Anschluß und funktioniert natürlich nicht mit einer Model M.
Dann gibt es die zweite Möglichkeit: PS/2 auf USB Adapter mit Elektronik. Diese sprechen auf der einen Seite das PS/2 Protokoll und setzen es auf der anderen Seite auf USB um. Diese Dinger funktionieren prinzipiell mit der Model M, wenn da nicht das Problem wäre, daß diese mitunter bis zu 24 Jahre alten Hackbretter eine Stromaufnahme von bis zu 300mA haben können. Hier gilt: manche Modelle kommen damit klar, andere nicht.
Ich habe auf der Arbeit zwei derartige Umsetzer mit Elektronik, einer nimmt meine Model M Baujahr 1989 problemlos, der andere funktioniert nicht.
Daher: vielen Dank für dieses Projekt. Sollte ich einmal in der Firma einen USB-only Rechner bekommen und der Adapter segnet bis dahin das zeitliche, dann habe ich jetzt noch eine Hintertür offen.
Hallo, eine gute Idee, eine solch alte IBM-Tastatur, fit für USB zu machen. Könnte mann den Controller nicht so gestallten, das mit hilfe eines „Lernprogrammes“ auch als COntroller-C-Unkundiger dem Controller beibringen kann wie die Matrix mit welcher Taste belegt ist? Ich stelle mir das in etwa so vor: der Controller wird an die Tastaturmatrix und am PC angeschlossen, dann starte man ein Lernprogramm (z.B. gestartet per vnc oder ssh oder sowas, da Tastatureingaben ja noch nicht funktionieren), anschliessend drückt man eine Taste auf der Tastatur und sagt dem Lernprogramm (per wiederum per ssh) was das für eine Taste nun war. Das Lernprogramm überträgt seine Kenntnisse dann dem Controller. Anschließend hat man dann seine „was-auch-immer-Tastatur“ dem Computer näher gebracht.
PS: Ich hätte nicht gedacht das die Tastaturen solche Preise bei ebay erreichen.
@guido: Du laesst ausser acht dass man sich zu so einem Controller nicht per SSH oder VNC verbinden kann. Das sind beides Protokolle die ein Netzwerk voraussetzen, das hat der Controller erstmal nicht.
Moeglich waere, das was ich waehrend der Entwicklung hatte nochmal aufleben zu lassen. Und dann per Jumper ein- und ausschaltbar. Ich hatte eine Routine die Text an den Computer schicken konnte. So als ob ihn gerade jemand eintippt. Und jedes Mal wenn ich eine Taste gedrueckt habe hat die Tastatur sinngemaess ‚Reihe 6 ist mit Spalte 4 verbunden‘ geschrieben. Die Ausgaben habe ich dann benutzt um das Array in der Software zu erstellen das die Matrix repraesentiert. Fuer Tastaturen mit anderem Layout (also keine 8×16-Matrix) muss man aber eh noch mehr in der Software anpassen.
Allerdings ist zum Umbau einer Tastatur ja eh mehr noetig. Die Platine muss zum Beispiel geloetet werden, die Software compiliert. Wer das hinkriegt, kriegt auch die Matrix decodiert. Denke ich mal…
@rschaten: ich hatte nicht an SSH oder VNC gedacht als ich den vorschlag machte.
Wenn ich das richtig verstehe, ordnet der Controller ja dem Zustand ‚Reihe 6 ist mit Spalte 4 verbunden‘ dann ein Zeichen, beispielsweise ein ‚m‘ diesem Zustand zu. Wenn man diese Zuordnung über ein Lernprogramm dem Controler mitteilen könnte, so wäre das für den uC-Programmierunfähigen User eine Erleichterung.
Als Schnittelle zum Controller hin habe ich dabei an die Schnittstellen PS/2, USB oder den alten DIN-Stecker gedacht, nicht am Netzwerk. An diesen Schnittstellen wird ja auch irgendein Übertragungsprotokoll gesprochen, und wenn ich mich nicht irre das sogar bidirektional (Num-Lock kann man ja im BIOS Ein-/Ausschalten).
Bei dieser Lösung müsste der User zwar noch basteln und löten dann aber nicht mehr programmieren, und der Dulcimer wäre dann im Rahmen seiner I/O-Ports an jeder beliebigen Tastaturmatrix anpassbar.
PS: Dein Artikel über das D945GCLF Board hat mich dazu gebracht das Ding wohl als Basis für ein NAS-Laufwerk/kleinen Heimserver zu nutzen. Danke für die Inspiration
@guido: Offenbar habe ich Deinen Teilsatz ‚gestartet per vnc oder ssh oder sowas‘ falsch verstanden.
Sowas in der Art ist tatsaechlich schon vorgesehen, aber noch nicht komplett ausimplementiert. Auf der Platine kann man Jumper setzen, man koennte einen dazu benutzen um den Modus einzuschalten. Dann die Tastenmatrix anschliessen, und die Tastatur schickt auf jeden Tastendruck den kompletten Text ‚Reihe 6 ist mit Spalte 4 verbunden‘ an den Rechner. So aehnlich habe ich die Belegung der Model M rausgefunden.
So muss man nur noch das Array mit der Matrix neu schreiben, recompilieren und fertig.