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

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

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