Hallo, Am 14.05.2010 schrieb Karl Köckemann: > Michael Ostermeier writes: >> Will man mehr Tasten belegen, so muss man: >> a) Irgedwas wieder doppelt haben, oder >> b) Ziffernblocktasten richtung Hauptfeld verschieben, oder >> c) Irgendwas wieder von der Fn-Ebene holen, oder >> d) Andere Scancodes senden (Multimediatasten, eigene erfinden, …) >> Was schlägst Du vor? > > e) mehr Zeichen pro Ebene.
Entweder ich habe das nicht verstanden, oder Du schlägst vor, weitere Tasten zu haben, auf denen 6 Ebenen belegbar sind. Diese Tasten müſsten dann einen Scancode an den PC senden. Es sind aber schon alle Standard-Scancodes belegt. Dein Vorschlag entspricht also d)? Die Verwendung von Ziffernblocktasten auf dem Hauptfeld finde ich problematisch, da diese Scancodes ja weiterhin von einem eventuell angeschlossenen separaten Ziffernblock gesendet werden. Die Verwendung von Scancodes, die nicht von der Standardtastatur gesendet werden finde ich ebenfalls problematisch, weil sie mit der Standardtastatur nicht verwendbar sind. Es gäbe also Kompatibilitätsprobleme. Ich würde also b) und d) nicht ernsthaft in Erwägung ziehen. > Mit der entsprechenden Ausrüstung (SMD-Technologie) sollten die ICs sich von > Hand löten lassen. Ich habe noch nie QFN von Hand zu löten versucht, aber die sind allgemein unter Handlötern nicht allzu beliebt, da sie keine Beinchen haben, an die man gut mit dem Lötkolben rankommt. Gut geht das meiner Meinung nach nur mit Heißluft-Lötkolben (habe ich privat nicht). > Nach meinen Recherchen soll das Programmieren von Mikrocontrollern (µC) für > USB-Zwecke selbst für erfahrene Kenner eine komplizierte Angelegenheit sein. Ich will nicht verhehlen, dass mir das ebenfalls sehr kompliziert vorkommt. Darin sehe ich das größte Problem überhaupt. Falls sich unter uns kein erfahrener Programmierer findet, der das übernehmen will, finde ich das Projekt Standard-Mikrocontroller extrem gefährdet. Ich hätte geplant, einen Interessierten mit einem kostenlosen Hardware-Exemplar zu „bestechen“. > Ferner sieht USB standardmäßig bis zu 6 gleichzeitig gedrückte Tasten vor, > weswegen echtes n-key-rollover angeblich nur über Umwege realisierbar sein > soll. Ich bezweifle, dass jemand mehr als 4 Tasten gleichzeitig drücken will/muſs. Welche Kombination erfordert denn mehr als 6 gleichzeitige Tastendrücke (Strg+Alt+Mod4+C wird als Strg+Alt+Entf gesendet, sind also 3 „Tasten“)? Gibt es Kobinationen aus mehr als 6 Tasten, die das Betriebssystem zu etwas sinnvollem auswertet? Meiner Meinung nach ist die Diskussion nur eine ‚Wortklauberei‘, die verdeutlichen soll, dass es keine USB-Tastaturen mit N-Key-Rollover geben kann, also auch nicht damit geworben werden soll. > Der Einfachheit halber sehe ich vorerst nur PS/2 vor. Meine beiden Rechner haben leider keinen funktionierenden PS/2-Anschluss. :-( >> Meine Firmwareidee: >> • Firmware erkennt automatisch, ob USB oder PS/2 gesprochen wird. >> • Im EEPROM benutzerdefinierte Tastenbelegungen ablegbar. > > Da den Benutzern nicht zugemutet werden kann, den µC auszubauen und in ein > (meist teures) Programmiergerät zu stecken, kommen nur µC in Frage, die im > eingebauten Zustand programmierbar sind. ISP (In-System-Programmierung) sehe ich schon länger als wichtig an. Da sind wir uns durchaus einig. Ich würde sogar noch weiter gehen, und für Benutzer, die eigene Modifikationen vornehmen wollen, eine Schnittstelle bereitstellen, die keinen ISP voraussetzen. <Einschub> Firmwareträumereien Per ISP wird die Firmware einprogrammiert. Diese ist das „Betriebssystem“ der Tastatur. Wenn beim Power-up eine vorher festgelegte Tastenkombination (z.B. a+b+c oder besser n+e+o :-)) detektiert wird, und die Tastatur am US-Bus hängt, so meldet sich die Firmware nicht als Tastatur (ist für BIOS-Emulation nötig), sondern als USB-Hub mit angeschlossenem „Massenspeicher“ und Tastatur. Die Tastatur ist dann normal benutzbar (außer im BIOS und unter HURD). Über den Massenspeicher können kleine Textdateien mit vordefinierten Namen und Aufbau auf das μC-EEPROM übertragen werden. In diesen Dateien können benutzerdefinierte Modifikationen festgelegt werden (z.B. Datei1: Vi-Miche-Navigationsblock, Datei2: Neo-über-qwertz, Datei3: Tasten 1–5 mit 6–0 vertauscht, …) zwischen diesen Modifikationen kann mit einer weiteren Tastenkombination jederzeit hin- und hergeschalten werden (z.B. Strg-L +Strg-R+0 für standard, Strg-L +Strg-R+1 für Datei1 …). (Es sollte dem Leser aufgefallen sein, dass für Modifikationen keine spezielle Hard- oder Software erforderlich ist) </Einschub> Technisch wäre das möglich. Aber wer will sich die Umsetzung antun??? Ich habe mir sagen lassen, dass Massenspeicher momentan noch nicht mit der libusb möglich sind. > Vielleicht wäre es gut, zwei Hardwareversionen anzustreben, eine mit und eine > ohne benutzerdefinierte Tastenbelegungen. Ich fände das obige besser. ;-) > Deine Antwort regt mich zum Weiterdenken an. Vielen Dank dafür. Gern geschehen ;-) Wer ‚zu viel‘ nachdenkt gilt im Allgemeinen als ‚Spinner‘, aber laſs dich davon nicht einschüchtern! Gruß Miche
