Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Eine Kombination PiZero oder PiA mit Teensy für das HID-Interface klingt interessant. Arduino Leonardo bzw. dessen Microversion wären wahrscheinlich genauso geeignet, allerdings deutlich billiger als ein Teensy. Bedenken habe ich wegen der Stromaufnahme des Pi. 230 mA + Teensy/Leonardo + die eigentliche Tastatur (ggf. mit LED-Beleuchtung) kann schnell die zul. 500 mA von USB2 überschreiten. Es käme da nur der Pi0 in Frage. -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Hallo, Rein Wolf-Heider schrieb: > verfolge seit einiger Zeit das Ziel, > für die Umkodierung der Tastensignale einen Raspberry Pi A+ zu verwenden. Das halte ich für ein tolles Projekt, so etwas habe ich mir auch schon gewünscht. @Wolf-Heider: Hast Du schon einen bestimmten "zusätzlichen Chip" im Auge? Meine Idee war zuletzt die Anbindung eines Teensy 2.0 an den Pi via SPI oder UART, der Teensy 2.0 ist bei Eigenbau-Tastaturen ja recht gebräuchlich (u.a. ErgoDox). Habe beim kürzlich erfolgten Umbau der Firmware meiner selbstgebauten Tastatur versucht, alles möglichst flexibel zu gestalten und auch das Szenario im Kopf gehabt, dass die Signale der Tastendrücke nicht direkt von den Keyswitches ausgelesen werden, sondern den Microcontroller auch auf anderem Wege, z.B. SPI oder UART, erreichen können. Vielleicht kannst Du meine Firmware nutzen, falls Du Dein Projekt umsetzt. Du müsstest nicht bei Null anfangen, und ich könnt mich sicher über gute neue Ideen und evtl. neue Features freuen ;) Mittelfristig möchte ich aus meinem Tastaturprojekt sowas wie nen Opensource-Tastaturbausatz machen (falls auch andere sowas gebrauchen können) ... Oliver-André Urban schrieb: > Ich hatte vor einiger Zeit einen externen Ansatz vorgestellt: > Der Soarer-Konverter Den Soarer-Converter kannte ich noch nicht. Tolle Sache, aber sehr schade, dass der nicht quelloffen ist. Und nen Anschluss für USB-Tastaturen wäre echt toll ... > Einen Raspi A halte ich für übertrieben, ich denke da eher an > entsprechende Arduinos (der Leonardo kann sich als HID-USB-Device ausgeben) Ja, ein Pi ist oversized. Aber mit dem Modell A+ oder dem neuen Zero zumindest nicht mehr so viel zu groß. Hatte auch darüber nachgedacht, ob da nicht was kleineres als der Pi besser geeignet sei -- der Chip des Teensy 3.x/LC z.B. kann auch USB OTG. Aber vmtl. müsste man dann ja noch iregndwie den ganzen host-seitigen USB-HID-Stack auf den Microcontroller bringen, um die vom USB-Keyboard gesendeten Tastendrücke auch auslesen zu können. Das bringt der Pi schon gleich mit dem Linux mit, das macht die Sache bei Verwendung eines Pi doch erheblich einfacher. Oliver-André Urban schrieb: > oder schlicht einen Tastaturtreiber für Linux und Consorten, der die > Unicodeeingabe von Windows unterstützt Die Idee gefällt mir. Sollte doch zu machen sein :) Unter Linux/Unix gibt's ohnehin keine einheitlich verwendbare Unterstützung für Unicode-Zeicheneingabe (https://en.wikipedia.org/wiki/Unicode_input#In_X11_.28Linux_and_other_Unix_variants.29). > Das größte Problem scheint mir der erforderliche Speicher im Microcontroller > zu sein. Wenn es tatsächlich zur "Laufzeit" dynamisch durch Tastendrücke umprogrammierbar sein soll, könnte der EEPROM von einem Controller wie dem Teensy 2.0 etwas knapp werden (1K), mit dem EEPROM von z.B. dem Teensy++ 2.0 (4K) sollte man nach meinen bisherigen Erfahrungswerten aber ganz gut auskommen. Gruß Thilo
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
> […] welches eben keine Keycodes übermittelt, sondern von vorneherein > Unicode-Zeichen liefert (zzgl. einiger Steuer-Codes für F-Tasten, > Esc, etc.). […]. Gibt es irgendwas, was grundsätzlich gegen diese > Idee spricht? Als Entwickler unterscheide ich gerne KeyDown/KeyUp Events. Wären die bei den Steuer-Codes dabei? Wer erzeugt den Key-Repeat? Was ist mit Anwendungen, die Aktionen aufgrund der Tastenposition auf der Tastatur ausführen wollen, statt aufgrund der zugehörigen Zeichen (WASD-Kreuz für Spiele)? Ich muss auch grad an die Unterscheidung der gewöhnlichen Ziffern und der Keypad-Ziffern im xkb-Treiber denken, Unicode macht das nicht. Man kommt wohl nicht drumherum, dass die Tastatur dem System zumindest alle bisherigen Informationen mitliefert. Für mich wäre es zumindest sonst keine vollwertige Tastatur. pgpR2PGRo5JzD.pgp Description: OpenPGP digital signature
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
On 10.02.16 11:44, Dipl.-Ing. Oliver-André Urban wrote: > Wenn ich es richtig sehe, ist unter Linux mit Strg+Umschalt+abcd ein > Unicodezeichen eingebbar, bei Windows mit > pressAlt+"Num+"+abcd+releaseAlt. Die Aktivierung mit > HKEY_Current_User/Control Panel/Input Method EnableHexNumpad 1 > vorausgesetzt. > > Das einzige, was eine zeichensendende Tastatur braucht, ist einen > Schalter, der zwischen Linux und Windows umschaltet und den Unicode > passend mit vorherigen und nachlaufenden Tastencodes einbettet - oder > schlicht einen Tastaturtreiber für Linux und Consorten, der die > Unicodeeingabe von Windows unterstützt. Ist der Unicode auch in > Standard-de-Qwertz erreichbar, wird der entsprechende normale > Tastencode (ggf. mit vorherigen Modifiern) gesendet. Ein solcher > Tastaturcontroler könnte auch umprogramierbar gemacht werden, mit > einer Taste für Programiermodus, dann Drücken der zu belegenden Taste > (ggf mit Modifier, der vorher zu definieren wäre) gefolgt vom Unicode, > der drauf liegen soll. Das größte Problem scheint mir der > erforderliche Speicher im Microcontroller zu sein. Genau so macht es die Ergodox-Firmware „QMK“: https://github.com/jackhumbert/qmk_firmware#unicode-support
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Ich verstehe immer noch nicht, wieso das eine eigene Class von zeichensendenden Geräten sein soll. Wenn ich es richtig sehe, ist unter Linux mit Strg+Umschalt+abcd ein Unicodezeichen eingebbar, bei Windows mit pressAlt+"Num+"+abcd+releaseAlt. Die Aktivierung mit HKEY_Current_User/Control Panel/Input Method EnableHexNumpad 1 vorausgesetzt. Das einzige, was eine zeichensendende Tastatur braucht, ist einen Schalter, der zwischen Linux und Windows umschaltet und den Unicode passend mit vorherigen und nachlaufenden Tastencodes einbettet - oder schlicht einen Tastaturtreiber für Linux und Consorten, der die Unicodeeingabe von Windows unterstützt. Ist der Unicode auch in Standard-de-Qwertz erreichbar, wird der entsprechende normale Tastencode (ggf. mit vorherigen Modifiern) gesendet. Ein solcher Tastaturcontroler könnte auch umprogramierbar gemacht werden, mit einer Taste für Programiermodus, dann Drücken der zu belegenden Taste (ggf mit Modifier, der vorher zu definieren wäre) gefolgt vom Unicode, der drauf liegen soll. Das größte Problem scheint mir der erforderliche Speicher im Microcontroller zu sein. Am 10. Februar 2016 10:34:32 MEZ, schrieb Hartmut Goebel : >Am 10.02.2016 um 10:20 schrieb Olli: >> Wenn ich das richtig verstanden habe – und nur dann macht es aus >meiner >> Sicht wirklich Sinn – müsste man für diesen Zweck eine neue Class >> „Zeichen-sendendes Gerät“ etablieren, die neben der Class >> „Keycode-sendendes Gerät“ eben class-compliant an allen >Betriebssystemen >> existiert, sodass man eben keinen speziellen Treiber braucht. > >Ja, auf das liefe es hinaus. Ich befürchte allerdings, dass es Jahre >dauern würde, bis eine solche Class standardisiert und dann in allen >Betriebssystemen verfügbar ist. Man schaue sich nur an, wie lange >Windows gebraucht hat, einen "standard" Serial-USB-Adapter ohne >zusätzliche Treiber zu akzeptieren (*). > >(*) falls es das inzwischen überhaupt tut, ich habe es schon lange >nicht >mehr probiert. > > >-- >Schönen Gruß >Hartmut Goebel >Dipl.-Informatiker (univ), CISSP, CSSLP >Information Security Management, Security Governance, Secure Software >Development > >Goebel Consult, Landshut >http://www.goebel-consult.de > >Blog: >http://www.goebel-consult.de/blog/ausgerechnet-csc-will-websites-sicherheit-testen-.. > >Kolumne: >http://www.cissp-gefluester.de/2012-02-bring-your-own-life-glosse -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Am 10.02.2016 um 10:20 schrieb Olli: > Wenn ich das richtig verstanden habe – und nur dann macht es aus meiner > Sicht wirklich Sinn – müsste man für diesen Zweck eine neue Class > „Zeichen-sendendes Gerät“ etablieren, die neben der Class > „Keycode-sendendes Gerät“ eben class-compliant an allen Betriebssystemen > existiert, sodass man eben keinen speziellen Treiber braucht. Ja, auf das liefe es hinaus. Ich befürchte allerdings, dass es Jahre dauern würde, bis eine solche Class standardisiert und dann in allen Betriebssystemen verfügbar ist. Man schaue sich nur an, wie lange Windows gebraucht hat, einen "standard" Serial-USB-Adapter ohne zusätzliche Treiber zu akzeptieren (*). (*) falls es das inzwischen überhaupt tut, ich habe es schon lange nicht mehr probiert. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/ausgerechnet-csc-will-websites-sicherheit-testen-.. Kolumne: http://www.cissp-gefluester.de/2012-02-bring-your-own-life-glosse signature.asc Description: OpenPGP digital signature
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
On 10.02.16 09:44, Hartmut Goebel wrote: > Zudem könnte man dieses Keyboard nicht nutzen, solange der Treiber nicht > geladen ist. Wenn ich das richtig verstanden habe – und nur dann macht es aus meiner Sicht wirklich Sinn – müsste man für diesen Zweck eine neue Class „Zeichen-sendendes Gerät“ etablieren, die neben der Class „Keycode-sendendes Gerät“ eben class-compliant an allen Betriebssystemen existiert, sodass man eben keinen speziellen Treiber braucht. Viele Grüße, Olli signature.asc Description: PGP signature
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Am 10.02.2016 um 06:49 schrieb mmfis...@web.de: > Der Vorteil wäre doch der, dass dieser neue Treiber nur ein einziges Mal > geschrieben werden müsste, und dannach auf ewig von allen Tastaturen > verwendet werden könnte, ganz gleich welches Layout mit welchen Tasten oder > wievielen Ebenen. Und dadurch, dass die Logik dann in die Tastatur wandern > würde, könnte man seine Tastatur an jeden beliebigen Rechner anschließen und > hätte immer das gleiche Layout. Das klingt verlockend. Allerdings könnt man dann nicht mehr so einfach zwischen verschiedenen Tastaturbelegungen umstellen. Denn das müsst dann auf der Tastatur geschehen. Dazu bräuchte die ein kleines Display und einen "Konfigurations-Modus", was die Kosten in die Höhe treibt. (Oder ich nehme ein Programm auf dem Rechner, aber das müsste man für alle Betriebssysteme entwerfen und pflegen. Hmm, okay, in Python vielleicht gar nicht sooo schwer.) Zudem könnte man dieses Keyboard nicht nutzen, solange der Treiber nicht geladen ist. Aber dafür ließen sich sicher Lösungen finden, z.B. dass das Keyboard sich erst als normales Keyboard meldet und dann "irgendwie" umgeschaltet wird. Bei USB-Sticks gibt es ähnliches. Oder zwei Geräte anbiete: klassisch und UTF-8. Und der UTF-8-Treiber schaltet dann das klassische aus. Vielleicht gibt es in den Unterlagen, die bei eine Internetsuche nach "usb device class keyboard" herauskommen, noch weiter Ideen. -- Schönen Gruß Hartmut Goebel Dipl.-Informatiker (univ), CISSP, CSSLP Information Security Management, Security Governance, Secure Software Development Goebel Consult, Landshut http://www.goebel-consult.de Blog: http://www.goebel-consult.de/blog/artikel-zu-debops-im-ix-magazin Kolumne: http://www.cissp-gefluester.de/2010-07-passwoerter-lieben-lernen smime.p7s Description: S/MIME Cryptographic Signature
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Ich hatte vor einiger Zeit einen externen Ansatz vorgestellt: Der Soarer-Konverter für ps/2-Tastaturen (einschließlich Terminaltastatuten mit dem dem ps/2 codeset 3) lässt sich flexibel programieren, einschließlich Macros. Die ersten 3 1/2 Ebenen hatte ich schon abgebildet, danach war der Speicher des verwendeten teensy voll (es gibt aber einen größeren, der reichen sollte) Hintergrund ist, dass bei uns im Büro keiner etwas dagegen hat, wenn man eigene Tastaturen anschließt, man aber keine Adminrechte hat und es nicht möglich und zulässig ist, andere Treiber zu installieren. Ich musste also alle Zeichen über den normalen Windowstreiber abbilden, damit ich die Tastatur im Büro verwenden konnte. Alle Zeichen, die auch über das Deutsche Tastaturlayout erreichbar sind, waren unproblematisch. Das Problem sind Zeichen, die sich nicht im Deutschen Layout erreichen lassen, insbesondere auch Composed Chars. Es gibt drei Möglichkeiten, über ein qwertz-Layout unter Windows auch andere Zeichen einzugeben. Zwei Varianten mit Alt+Code/AltGr+Code, die von den Registryeinstellungen abhängen (Codepage oder Unicode), was ohne Adminrechte ein Problem ist und unter Word (was auf quasi allen Bürorechnern vorhanden ist) Unicode gefolgt von Alt+C. Da der Soarer-Konverter zwar kostenlose Software, aber nicht quelloffen ist, musste ich auch alles über die verfügbaren Macrofunktionen abbilden; daher sind die Modifier begrenzt, so dass ich keinen Ebenenlock abbilden konnte (rShift und lShift habe ich für verschiedenen Ebenen verwenden müssen, so dass ich beides gleichzeitig Drücken nicht für einen Lock nehmen kann). Wegen der Abhängigkeit der Codeingabe mit Alt von der Registryeinstellung und weil ich nur unter Word bei Texteingaben die speziellen Zeichen benötige, habe ich die Word-Sequenz genotzt. Drücke ich auf der Tastatur die Tastenkombi für Anführungsstriche unten, so sendet ein Macro ein "Leerzeichen, 4-stelliger Unicode, Alt+C, Cursor nach rechts, Backspace, Curso nach rechts". Word macht draus die Anführungszeichen unten (bei unseren Vorlagen im Amt ist die Autokorrektur, die richtige Anführungszeichen erzeugt, in der dot-Datei mit den Corporatedesignvorlagen deaktiviert. Auch da kann ich selbst nichts ändern). Das ganze setzt zwar nicht alles um, aber fast alles, was ich momentan brauche. Ein Universal-Converter sollte: - ps/2 und USB-Anschluss für die Tastatur haben - für alle über das normale qwertz-Layout erreichbare Zeichen auch diese senden - intern mehr als die üblichen Modifier verwenden /damit man Ebenen locken kann) - alle anderen Zeichen als Unicode senden - Schalteingänge (Mehrfachumschalter) haben, dessen Position entscheidet, wie der Unicode gesendet wird - mit Wordsequenz fürs Büro, AltGR+Numpad auf dem heimischen Windowsrechner, über Alt+Codepage über Übersetzungstabelle (nicht alle Zeichen verfügbar) oder über entsprechende Funktionen für Linux bzw. Mac (da kenne ich mich nicht aus) Mit dem Soarer-Converter ist man schon dicht dran, ein paar Punkte fehlen aber noch (insbesondere keine Unterstützung für USB-Tastaturen) Einen Raspi A halte ich für übertrieben, ich denke da eher an entsprechende Arduinos (der Leonardo kann sich als HID-USB-Device ausgeben) Am 10.02.2016 um 07:10 schrieb Rein Wolf-Heider: > Das Problem im Moment ist doch, dass man bei außergewöhnlichen Tastaturen > (z.B. Truly) oder ausgefallenen Layouts (Neo) eben immer nur eingeschränkte > Möglichkeiten hat sein Layout individuell zu gestalten geschweige denn > mitzunehmen. > Klar kann man die Firmware der Tastatur bei vielen Modellen ändern, ist aber > nunmal darauf beschränkt ausschließlich Keycodes zu verwenden, von denen man > erstmal nicht weiß, was der PC daraus macht (insbesondere wenn man das Gerät > an einen fremden PC anschließt). Das Neo-Konzept mit den zusätzlichen Ebenen > lässt sich damit eben nicht ausreichend umsetzen. > Setzt man hingegen am Betriebssystem an, verliert man die Möglichkeit der > Portabilität, sowie die Möglichkeit kleine individuelle Anpassungen zu > machen. (Zumindest unter Windows. In Linux hat man ja glücklicherweise die > Möglichkeit jede einzelne Taste über Textdateien konfigurieren zu können) --- Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft. https://www.avast.com/antivirus
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Guten Tag, ich gebe M recht, und verfolge seit einiger Zeit das Ziel, für die Umkodierung der Tastensignale einen Raspberry Pi A+ zu verwenden. Der Raspberry Pi A+ lässt sich allerdings nicht als USB-Device (HID) anschließen, dafür braucht man einen zusätzlichen Chip. Dies will ich demnächst realisieren. Gruß Wolf-Heider > Du willst die Strecke Tastatur -> Computer "optimieren“, > nur um am Ende die Firmware der Tastatur und einen passenden Treiber zu > schreiben? > Das hat hier keinen Vorteil, denn du musst wieder genauso das Betriebssystem > anpassen. > Dann kannst du gleich die offiziellen NEO-DLLs verwenden. Der Vorteil wäre doch der, dass dieser neue Treiber nur ein einziges Mal geschrieben werden müsste, und dannach auf ewig von allen Tastaturen verwendet werden könnte, ganz gleich welches Layout mit welchen Tasten oder wievielen Ebenen. Und dadurch, dass die Logik dann in die Tastatur wandern würde, könnte man seine Tastatur an jeden beliebigen Rechner anschließen und hätte immer das gleiche Layout. Das Problem im Moment ist doch, dass man bei außergewöhnlichen Tastaturen (z.B. Truly) oder ausgefallenen Layouts (Neo) eben immer nur eingeschränkte Möglichkeiten hat sein Layout individuell zu gestalten geschweige denn mitzunehmen. Klar kann man die Firmware der Tastatur bei vielen Modellen ändern, ist aber nunmal darauf beschränkt ausschließlich Keycodes zu verwenden, von denen man erstmal nicht weiß, was der PC daraus macht (insbesondere wenn man das Gerät an einen fremden PC anschließt). Das Neo-Konzept mit den zusätzlichen Ebenen lässt sich damit eben nicht ausreichend umsetzen. Setzt man hingegen am Betriebssystem an, verliert man die Möglichkeit der Portabilität, sowie die Möglichkeit kleine individuelle Anpassungen zu machen. (Zumindest unter Windows. In Linux hat man ja glücklicherweise die Möglichkeit jede einzelne Taste über Textdateien konfigurieren zu können) Gruß M
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Hi, > Na, wenn diese Lösung sogar einen eigenen Treiber (und nicht nur eine eigene > DLL, welche den vorhandenen USB HID Treiber verwendet) braucht, dann frage > ich mich, was der Vorteil gegenüber der aktuellen Lösung ist? Du willst die > Strecke Tastatur -> Computer "optimieren", nur um am Ende die Firmware der > Tastatur und einen passenden Treiber zu schreiben? > Das hat hier keinen Vorteil, denn du musst wieder genauso > das Betriebssystem anpassen. Dann kannst du gleich die offiziellen NEO-DLLs > verwenden. Der Vorteil wäre doch der, dass dieser neue Treiber nur ein einziges Mal geschrieben werden müsste, und dannach auf ewig von allen Tastaturen verwendet werden könnte, ganz gleich welches Layout mit welchen Tasten oder wievielen Ebenen. Und dadurch, dass die Logik dann in die Tastatur wandern würde, könnte man seine Tastatur an jeden beliebigen Rechner anschließen und hätte immer das gleiche Layout. Das Problem im Moment ist doch, dass man bei außergewöhnlichen Tastaturen (z.B. Truly) oder ausgefallenen Layouts (Neo) eben immer nur eingeschränkte Möglichkeiten hat sein Layout individuell zu gestalten geschweige denn mitzunehmen. Klar kann man die Firmware der Tastatur bei vielen Modellen ändern, ist aber nunmal darauf beschränkt ausschließlich Keycodes zu verwenden, von denen man erstmal nicht weiß, was der PC daraus macht (insbesondere wenn man das Gerät an einen fremden PC anschließt). Das Neo-Konzept mit den zusätzlichen Ebenen lässt sich damit eben nicht ausreichend umsetzen. Setzt man hingegen am Betriebssystem an, verliert man die Möglichkeit der Portabilität, sowie die Möglichkeit kleine individuelle Anpassungen zu machen. (Zumindest unter Windows. In Linux hat man ja glücklicherweise die Möglichkeit jede einzelne Taste über Textdateien konfigurieren zu können) Gruß M
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
On 07.02.2016 13:21, mmfis...@web.de wrote: > Gibt es irgendwas, was grundsätzlich gegen diese Idee spricht? Käme für mich schon mal nicht in Frage, da mein KVM-Switch damit 100%-ig nicht klarkommen würde :) -- In the beginning the universe was created. This has made a lot of people very angry and been widely regarded as a bad move.
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Heya MMFische, > Okay, man könnte dieses Eingabegerät dann nicht mit einem > 0815-USB-Tastaturtreiber betreiben, sondern bräuchte einen neuen Treiber, > aber dafür würde man doch deutlich an Flexibilität hinsichtlich des > Tastaturlayouts gewinnen (das Endgerät gibt das Layout vor und nicht mehr das > Betriebssystem). Gibt es irgendwas, was grundsätzlich gegen diese Idee > spricht? Falls nicht, würde mich interessieren, wieso das noch nicht > großflächig umgesetzt wurde. Gruß M. Na, wenn diese Lösung sogar einen eigenen Treiber (und nicht nur eine eigene DLL, welche den vorhandenen USB HID Treiber verwendet) braucht, dann frage ich mich, was der Vorteil gegenüber der aktuellen Lösung ist? Du willst die Strecke Tastatur -> Computer "optimieren", nur um am Ende die Firmware der Tastatur und einen passenden Treiber zu schreiben? Das hat hier keinen Vorteil, denn du musst wieder genauso das Betriebssystem anpassen. Dann kannst du gleich die offiziellen NEO-DLLs verwenden. Praktisch wäre es, ohne Treiber trotzdem Unicode-Zeichen senden zu können. Das unterstützt USB HID aber leider nur in die "falsche" Richtung: https://geekhack.org/index.php?topic=69326.0 Deine Idee hatte auch schon mal wer: https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/f3078fb5-354b-4357-bdde-19a57647475a/im-make-new-usb-keyboard-which-can-input-unicode-need-help-on-its-driver-design?forum=wdk Liebe Grüße Stefan
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Hi, >> paul schrieb: >>> ABER: Jeder Tastendruck sendet nicht ein bestimmtes Zeichen (in >>> ASCII oder Unicode), sondern einen Keycode, der daraufhin nochmal >>> vom OS interpretiert und in das richtige Zeichen umgewandelt wird. >>> Dh. wenn du eine solche Tastatur hättest, würde sie unter Umständen >>> an einem deutschen PC andere Zeichen produzieren als an einem bei >>> dem US als Sprache eingestellt ist. > Ja, dass das geht ist mir klar, das gleiche mache ich im Moment bei > meiner ErgoDox auch, man muss nur aufpassen dass man die Keycodes > passend austauscht. Das ganze geht aber nur für Zeichen, für die das OS > (in unserem Fall klassisches QWERTZ) einen Keycode definiert -- was für > die meisten Zeichen in Ebenen 1-4 der Fall ist. Findest du? Ich denke gerade die Zeichen, die Neo so besonders macht (typografisch korrekte Anführungszeichen, Bindestriche, etc.) haben doch gerade keine Keycodes. Davon abgesehen ist doch eigentlich schon die Zweite Ebene eine Kombination mehrerer Keycodes (Shift+Buchstabe). Aber die Situation mal ganz anders betrachtet: Viele Tastaturen werden doch inzwischen per USB angeschlossen. Es sollte doch grundsätzlich möglich sein ein USB-Gerät zu definieren, welches eben keine Keycodes übermittelt, sondern von vorneherein Unicode-Zeichen liefert (zzgl. einiger Steuer-Codes für F-Tasten, Esc, etc.). Okay, man könnte dieses Eingabegerät dann nicht mit einem 0815-USB-Tastaturtreiber betreiben, sondern bräuchte einen neuen Treiber, aber dafür würde man doch deutlich an Flexibilität hinsichtlich des Tastaturlayouts gewinnen (das Endgerät gibt das Layout vor und nicht mehr das Betriebssystem). Gibt es irgendwas, was grundsätzlich gegen diese Idee spricht? Falls nicht, würde mich interessieren, wieso das noch nicht großflächig umgesetzt wurde. Gruß M.
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
On 01/29/2016 09:48 AM, Thilo Fischer wrote: >>> Achso, am liebsten wäre mir, wenn man eine Tastatur im Neo 2 Layout >>> hätte die man einfach am PC anschließen kann, ohne das man an der >>> Software etwas umstellen muss. Geht das? >> >> Kurze Antwort: nein, so richtig geht das nicht. > > Doch, das geht! Klaus hat einen Fork der ErgoDox-Firmware für seine > selbstgebaute Hardwaretastatur, der das kann > (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), ich > tippe seit einem Jahr auf einer selbstgebauten Tastatur, die ich auf > deutschen und englischen PC und Mac einstellen kann > (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), und > MarkuBs selbstgebaute Tastatur kann das wenn ich richtig verstanden habe auch > (http://article.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11415 -- > richtig verstanden, MarkuB?). Bin mir sicher, es gibt noch mehr da draußen, > die das können ... Meldet Euch mal! ;) > >> ABER: Jeder Tastendruck sendet nicht ein bestimmtes Zeichen (in ASCII >> oder Unicode), sondern einen Keycode, der daraufhin nochmal vom OS >> interpretiert und in das richtige Zeichen umgewandelt wird. >> Dh. wenn du eine solche Tastatur hättest, würde sie unter Umständen an >> einem deutschen PC andere Zeichen produzieren als an einem bei dem US >> als Sprache eingestellt ist. > > Die Firmware der Tastatur muss auf den angeschlossenen Computer eingestellt > werden. Dann kann die Tastatur bei jedem Tastendruck genau die Keycodes > senden, die auf dem Computer das gewünschte Zeichen erzeugen. Ich habe das > für Ebenen 1-4 umgesetzt und tippe so seit einem knappen Jahr einige Stunden > jeden Tag auf einem deutschen Apple-Layout ohne Probleme -- es ist absolut > praxistauglich. > > Klaus' und meine Firmware gibt's bei Github. > > Ich baue gerade die zweite Version von meiner Tastatur. Habe in diesem Zuge > große Teile der Firmware überarbeitet und flexibler gestaltet. Mir schwebt > ein universeller Opensource-Tastaturbausatz vor, der Hardware und Software > bereitstellt, um darauf aufbauend beliebige Tastaturprojekte verwirklichen zu > können. Mit dieser neuen, flexiblen Architektur sollte es auch recht einfach > sein, meine Firmware auf die Ergodox zu bringen. Falls ein Ergodox-Besitzer > mit C-Kenntnissen Interesse hat, das mal mit seiner Ergodox zu machen, gerne > bei mir melden. Dokumentation meiner Firmware ist vorhanden, hat aber noch > Verbesserungspotential. Aber ich freue mich über alle Fragen und beantworte > sie gerne direkt :) > > Da Klaus' Firmware ein Ergodox-Fork ist, vermute ich mal, dass sich auch > seine Firmware recht gut auf die Ergodox portiereren lassen sollte ..? > > > Gruß > > Thilo > > Hier der Link zu meiner Version von Kaimis tmk-fork mit "poor mans neo" angepasst für bone: https://github.com/ThomasFeher/tmk_keyboard Abgesehen von bone ist diese noch speziell auf meine für die Truly, die ich parallel dazu benutze, angepasste xmodmap zugeschnitten. Also nicht wirklich was zum Kopieren und loslegen, es sei denn jemand hat das gleiche Szenario (umschalten zwischen Truly und ergodox, ohne etwas auf dem Rechner umstellen zu müssen). Wenn kein bone/neo zur Verfügung steht kann man auf "poor mans bone" umschalten und (vorausgesetzt es ist deutsches layout eingestellt) weiterhin bone inklusive eines Großteils der Ebenen 3 und 4 tippen. Thomas
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Am 29.01.2016 um 09:48 schrieb Thilo Fischer: Doch, das geht! Klaus hat einen Fork der ErgoDox-Firmware für seine selbstgebaute Hardwaretastatur, der das kann (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), ich tippe seit einem Jahr auf einer selbstgebauten Tastatur, die ich auf deutschen und englischen PC und Mac einstellen kann (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), und MarkuBs selbstgebaute Tastatur kann das wenn ich richtig verstanden habe auch (http://article.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11415 -- richtig verstanden, MarkuB?). Bin mir sicher, es gibt noch mehr da draußen, die das können ... Meldet Euch mal! ;) So weit ich das bisher verstehe könnte man die komplette Neo Tastatur mit allen sechs Ebenen ohne Treiber nachbilden. Das funktioniert dass aber nur an bestimmten PCs. Für einen anderen PC müsste man die Einstellung ändern Damit das funktioniert muss dann aber zB immer das Qwertz Layout eingestellt sein. Wenn es Unterschiede zB zwischen Apple und Windows gibt müssen die in der Tastatur berücksichtigt werden Alles was nicht mit Qwertz darstellbar ist kann man über Unicode Eingabe simulieren. Problem hier ist, dass es kein einheitliches System gibt. Auch das müsste man in der Tastatur vorsehen
Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)
Am 29.01.2016 um 09:48 schrieb Thilo Fischer: Achso, am liebsten wäre mir, wenn man eine Tastatur im Neo 2 Layout hätte die man einfach am PC anschließen kann, ohne das man an der Software etwas umstellen muss. Geht das? Kurze Antwort: nein, so richtig geht das nicht. Doch, das geht! Klaus hat einen Fork der ErgoDox-Firmware für seine selbstgebaute Hardwaretastatur, der das kann (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), ich tippe seit einem Jahr auf einer selbstgebauten Tastatur, die ich auf deutschen und englischen PC und Mac einstellen kann (http://thread.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11313), und MarkuBs selbstgebaute Tastatur kann das wenn ich richtig verstanden habe auch (http://article.gmane.org/gmane.comp.hardware.keyboards.layout.neo/11415 -- richtig verstanden, MarkuB?). Bin mir sicher, es gibt noch mehr da draußen, die das können ... Meldet Euch mal! ;) ABER: Jeder Tastendruck sendet nicht ein bestimmtes Zeichen (in ASCII oder Unicode), sondern einen Keycode, der daraufhin nochmal vom OS interpretiert und in das richtige Zeichen umgewandelt wird. Dh. wenn du eine solche Tastatur hättest, würde sie unter Umständen an einem deutschen PC andere Zeichen produzieren als an einem bei dem US als Sprache eingestellt ist. Die Firmware der Tastatur muss auf den angeschlossenen Computer eingestellt werden. Dann kann die Tastatur bei jedem Tastendruck genau die Keycodes senden, die auf dem Computer das gewünschte Zeichen erzeugen. Ich habe das für Ebenen 1-4 umgesetzt und tippe so seit einem knappen Jahr einige Stunden jeden Tag auf einem deutschen Apple-Layout ohne Probleme -- es ist absolut praxistauglich. Ja, dass das geht ist mir klar, das gleiche mache ich im Moment bei meiner ErgoDox auch, man muss nur aufpassen dass man die Keycodes passend austauscht. Das ganze geht aber nur für Zeichen, für die das OS (in unserem Fall klassisches QWERTZ) einen Keycode definiert -- was für die meisten Zeichen in Ebenen 1-4 der Fall ist. Problematisch werden erst die hohen Ebenen 5 und 6, die es bei QWERTZ einfach nicht gibt. Wie werden diese gesendet?! Das geht per Keycode nicht (zumindest nicht einfach und platformübergreifend -- ja, der Umweg über Alt+Numpad ist mir bekannt, aber ich glaube nicht dass das Windows, Mac und Linux funktioniert). Klaus' und meine Firmware gibt's bei Github. Ich baue gerade die zweite Version von meiner Tastatur. Habe in diesem Zuge große Teile der Firmware überarbeitet und flexibler gestaltet. Mir schwebt ein universeller Opensource-Tastaturbausatz vor, der Hardware und Software bereitstellt, um darauf aufbauend beliebige Tastaturprojekte verwirklichen zu können. Mit dieser neuen, flexiblen Architektur sollte es auch recht einfach sein, meine Firmware auf die Ergodox zu bringen. Falls ein Ergodox-Besitzer mit C-Kenntnissen Interesse hat, das mal mit seiner Ergodox zu machen, gerne bei mir melden. Dokumentation meiner Firmware ist vorhanden, hat aber noch Verbesserungspotential. Aber ich freue mich über alle Fragen und beantworte sie gerne direkt :) Da Klaus' Firmware ein Ergodox-Fork ist, vermute ich mal, dass sich auch seine Firmware recht gut auf die Ergodox portiereren lassen sollte ..? Vielen Dank für die Links, die werde ich mir bei Gelegenheit mal ansehen. Im Moment benutze ich die qmk-firmware (ein Fork der tmk). Paul