Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)

2016-02-11 Diskussionsfäden Dipl . -Ing . Oliver-André Urban
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?)

2016-02-11 Diskussionsfäden Thilo Fischer
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?)

2016-02-10 Diskussionsfäden Stephan Hilb
> […] 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?)

2016-02-10 Diskussionsfäden 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



signature.asc
Description: OpenPGP digital signature


Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)

2016-02-10 Diskussionsfäden Dipl . -Ing . Oliver-André Urban
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?)

2016-02-10 Diskussionsfäden Olli
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?)

2016-02-10 Diskussionsfäden Hartmut Goebel
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?)

2016-02-10 Diskussionsfäden Olli
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?)

2016-02-09 Diskussionsfäden mmfische
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?)

2016-02-09 Diskussionsfäden Rein Wolf-Heider
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?)

2016-02-08 Diskussionsfäden ka’imi
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?)

2016-02-07 Diskussionsfäden mmfische
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?)

2016-02-07 Diskussionsfäden Stefan
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?)

2016-01-29 Diskussionsfäden paul

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




[Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)

2016-01-29 Diskussionsfäden 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.

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



Re: [Neo] Neo-Layout ohne OS-Support (Re: Re: Wie steht es eigentlich um das Neo Layout?)

2016-01-29 Diskussionsfäden MarkuB

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?)

2016-01-29 Diskussionsfäden Thomas Fehér
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