Re: [Neo] neo auf programmierbarer tastatur etablieren

2018-04-18 Diskussionsfäden Dipl . -Ing . Oliver-André Urban

Moin Erik,

Deine Beschreibung betrifft die normale Funktion. Es gibt allerdings je 
nach Betriebssystem die Möglichkeit, direkt einen Zeichencode oder 
Unicode einzugeben - z.B. bei Windows mit Alt+0133 (Alt gedrückt halten 
und auf dem Numpad 0133 tippen) bzw (bei entsprechend gesetzem 
Registryschlüssel) Alt gedrückt halten, "+" auf dem Numpad drücken und 
den Hexcode 2026 eingeben. Damit erscheint der Dreipunkt 
(Auslassungszeichen) unabhängig von der Tastaturbelegung.


Das ist unabhängig von der normalen Tastaturbelegung in Windows - 
allerding nicht unabhängig vom Betriebssystem. Für Linux hängt es vom 
Fenstermanager ab bei Mac ist wieder anders.


Um Wiederholungen zu vermeiden, verweise ich mal auf meinen 
entsprechenden Post von 2015.

https://lists.neo-layout.org/pipermail/diskussion/2015-November/011613.html

Das mit einem normalen konfigurierbaren Keyboard zu erreichen, scheint 
mir aber schwer. Ich habe seinerzeit mal 3 Ebenen mit dem Soarer 
Converter realisiert - allerdings zum Anschluss an einen Bürorechner 
ohne Adminrechte, daher mit der Eingabetechnik für Unicode unter Word.


Viele Grüße
Oliver-André


Am 18.04.2018 um 23:02 schrieb Erik Streb del Toro:

Hallo Andreas.

Folgende Sache ist wichtig zu verstehen:
• Jede Tastatur wird am Rechner als Tastatur erkannt.
• Das Betriebssystem hat eine voreingestellte Tastaturbelegung, die 
man auch ändern kann.
• Egal welche Tastatur dran hängt, und egal was (welches 
Zeichen/Symbol) auf die Tasten aufgedruckt ist, die Verkabelung und 
Verschaltung intern (in der Tastatur) bewirkt, dass wenn man zum 
Beispiel die Taste »Eingabe« (Enter, Return) drückt, vom 
Betriebssystem das Zeichen/Symbol/Funktion ausgegeben/gesendet wird, 
was in der im Betriebssystem eingestellten Tastaturbelegung vorgegeben 
ist (bei den üblichen Tastaturbelegungen ist das dann auch »Eingabe«). 
Und wenn man die Taste, die bei der deutsch (QWERTZ) beschrifteten 
Tastatur ein »z« zeigt, drückt, wird ein »z« ausgegeben, wenn man die 
deutsche Tastaturbelegung im Betriebssystem aktiviert hat. Wenn man 
die französische (AZERTY) oder englische (QWERTY) Belegung aktiviert 
hat, wird ein »y« ausgegeben. Und wenn man dazu noch die Umschalttaste 
drückt, wird ein großes »Z« oder »Y« ausgegeben.


Die Tastaturbelegung Neo (eine Software die auf dem Betriebssystem 
läuft), hat einige außergewöhnliche Zeichen/Symbole/Funktionen. Die 
auf Ebene 3 sind großteils auch bei der QWERTZ-Belegung vorhanden 
(\/{}()-:_[]<>=

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-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] Eigene Neo2 Tastatur bauen

2015-11-13 Diskussionsfäden Oliver-André Urban
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Jain.

windows unterstützt Unicodeeingabe.
Es muss allerdings unter HKEY_Current_User/Control Panel/Input Method
der Schlüssel EnableHexNumpad auf "1" gesetzt sein, sonst gehts nicht.

Daher lässt sich als Macro jedes Zeichen unabhängig von der
Tastatureinstellung von Windows eingeben; das makro muss nur "alt"
"+"(numpad) und anschließend den unicode in hexcode nach dem Drücken
der Taste senden.

Daneben verwendet Windows auch mit der Kombi Alt + Dezimalnummer auf
dem Keypad die Eingabe des Codepagespezifischen Zeichencodes; hiermit
bekommt man bei auf Deutsch eingestelltem Windows fast alle benötigten
Zeichen. Dies benötigt nicht den Registryschlüssel.

Als drittes kann in MSWord jedes Zeichen auch mit Eingabe des Unicodes
und anschließendem Alt+c zu generieren.

Sinn macht eine Tastatur mit einem Wählschalter, damit man sie an fast
beliebigen PCs einsetzen kann, ohne Adminrechte zu haben.

Mit Macros bildet man alles aus Neo ab, was das Deutsche
qwertz-Tastaturlayout - das quasi überall verfügbar ist - darstellen kan
n.
Das Drücken und Loslassen von Modifiern
(lshift,lwin,lctrl,lalt,rshift,rwin,rctrl,ralt) wird vom
Tastaturcontroller nicht direkt an den PC gemeldet, sondern intern für
die Wahl des Makros verwendet. Erst nach Kombination mit einer
Zeichentaste sendet der Controler dann die Keycodes, welche im
qwertz-Layout eben das gewünschte Zeichen ergeben.

Um z.B. mit linkem Shift und der 2 das Paragraphenzeichen zu bekommen
(das bei qwertz auf shift3 liegt), braucht man ein Makro für die
Tastenkombination LSHIFT, das an den PC meldet:

LSHIFT wurde gedrückt
3 wurde gedrückt und wieder losgelassen
LSHIFT wurde losgelassen

Mit dieser Technik lassen sich alle Zeichen abbilden, welche auch auf
qwertz verfügbar sind, aber an den Positionen auf der Tastatur, wie
man sie in neo vorgesehen hat.

Komplizierter ist es, wenn man Zeichen und Composings abbilden möchte,
die sich nicht in qwertz eintippen lassen. Dann kommt man um einen
Umschalter an der Tastatur nicht umhin.

Da kann man dann drei Modi (für Windows, evtl. weitere bei Linux)
vorsehen:

Mode 1:
Eingabe für Word, z.B. das große ß bei der Kombination Shift und -
Hier muss der Tastaturcontroller melden:

leerzeichen wurde gedrückt und wieder losgelassen
1 wurde gedrückt und wieder losgelassen
e wurde gedrückt und wieder losgelassen
9 wurde gedrückt und wieder losgelassen
e wurde gedrückt und wieder losgelassen
lalt wurde gedrückt
c wurde gedrückt und wieder losgelassen
lalt wurde losgelassen
cursor nach links wurde gedrückt und wieder losgelassen
backspace wurde gedrückt und wieder losgelassen
cursor nach rechts wurde gedrückt und wieder losgelassen

(leerzeichen corsorbewegungen und backspace sind notwendig, falls das
große ß hinter einer Ziffer oder a-f folgt, dann würde ansonsten ein
falscher Hexcode vor dem alt+c stehen und ein falsches Zeichen erzeugt
werden - den Fehler hate ich damals im Code meines Konverters noch drin)
Veröffentlicht und dikutiert hatte ich das 2013 (und auch hier in der
Liste geposted)
http://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-w
ith-nkro-t2510-180.html#p102022

Mode 2:
Gleiches Spiel, nur etwas anderes Wrapping:
lalt wurde gedrückt
+(numpad) wurde gedrückt und wieder losgelassen
1 wurde gedrückt und wieder losgelassen
e wurde gedrückt und wieder losgelassen
9 wurde gedrückt und wieder losgelassen
e wurde gedrückt und wieder losgelassen
lalt wurde losgelassen

Mode 3:
Anderes Wrapping und anderer Code (wobei ich gar nicht weis, ob großes
ß damit geht)

Da sich mode 1+2 nur durchs wrapping unterscheiden, macht es sinn, die
Schalterstellung in einer Funktion auszulagern, welcher der Unicode
übergeben wird und die das richtige Wrapping nach Prüfen des Schalters
verwendet. Mit einer Codetabelle könnte man dann als dritte Variante
auch den Code aus der Codepage mit dem entsprechenden Wrapping senden,
soweit vorhanden.


Unter Linux sollte es ähnliches geben, meist stellt sich das Problem
dort aber nicht so, weil man entweder Aufgaben darauf erfüllt, für
welche die üblichen Zeichen reichen, oder es eh ein eigener Rechner
ist, bei dem der Neo-Treiber installiert werden kann. Dazu braucht man
aber eine weitere Schalterposition, welche die Keycodes transparent
durchreicht (bzw. nur wenige eigene Anpassungen innerhalb von Neo
vornimmt, z.B. bzgl. der Positionen für die Zehnertastatur, die bei
einem non-stagged-Keybord unglücklich lägen).


Der Entwurf einer solchen Tastatur, die man an quasi jedem Rechner
betreiben kann, ist also nicht unmöglich, nur schwierig. Mit den
ersten 3 Ebenen habe selbst ich das mit dem Soarer-Konverter hin
bekommen. Schwierig ist nur das Jonglieren zwischen Keycodes, deren
Bedeutung im qwertz, der gewünschten Bedeutung in neo und dabei nicht
durcheinander zu kommen, wenn man - wie beim soarer-konverter
vorgesehen - vorher noch das Mapping über keycodetausch verändert hat.

Die Soarer-Variante kann übrigens kein Lock. Um die Ebenen 

Re: [Neo] Hardware-seitiges Neo

2014-12-22 Diskussionsfäden Dipl.-Ing. Oliver-André Urban
Soarer´s Konverter ist nicht nur ein Umsetzer von seriellem
Tastaturprotokollen (XT, AT/PS2, Terminal Mode 2) auf USB, sondern vor
allem auch ein Tool, mit dem man wahnsinnig viele Makros hinterlegen kann.
Ich hatte mal mit einer neo2-Umsetzung angefangen; da ich aber nur den
Teensy 2.0 und nicht die ++Version davon genommen hatte, wurde es mit
dem Speicher eng.
http://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510-180.html#p102022

Damit kann man jede Tastatur mit AT/PS2/Terminalstecker zu einer neo2
Tastatur machen, zumindest für die Zeichen, die man auch in qwerzy
erreichen kann, bzw. die per ansizeichencodeeingabe möglich sind.
Leider ist auf unseren Office-PCs die Eingabe von Unicode per Alt+Numpad
nicht aktiv, sonst wäre das eine Lösung für alle Zeichen gewesen.

Braucht man die ganzen Sonderzeichen allerdings vor allem in Word - weil
ein Hardwareadapter vor allem im Büro nötig ist, wo man keine
Adminrechte hat - so kann man die höheren Layer auch als Macro auf jeder
Taste programmieren: Leerzeichen, Unicode, Alt+C, Cursor nach links,
Backspace, Cursor nach rechts.
Das funktioniert nur in MS Word, nicht in Libreoffice - aber wie gesagt,
man braucht es ja nur im Büro, wo man keine Adminrechte hat und wo meist
MS Word installiert ist.

Letztlich ist so ein Adapter um einiges günstiger als eine spezielle
Gaming-Tastatur - und man kann ihn mit fast jeder (außer reinen USB-)
Tastaturen nutzen.

Am 22.12.2014 um 18:59 schrieb Michael Kiesenhofer:
 Gibt es vielleicht „Gaming“-Tastaturen wo man außreichend viele Makros
 in Hardware speichern kann? Liebe Grüße, Michael 




Re: [Neo] Hardware-seitiges Neo

2014-12-22 Diskussionsfäden Dipl.-Ing. Oliver-André Urban
Versuche das mal in einer öffentlichen Verwaltung...
Ich bin schon froh, dass keiner Einwände gegen eigene Tastaturen und
Mäuse erhebt.

Am 22.12.2014 um 19:53 schrieb ka’imi:
 Ich verstehe aber auch nicht ganz, warum man das unbedingt in Hardware
 haben will. Das bleibt immer eine Krücke. Andererseits habe ich
 berufsbedingt auch nie das Problem, daß ich z.B. nicht die Kontrolle
 über meinen Arbeitsrechner hätte. Aber selbst dann würde ich mich
 lieber an die IT wenden und zumindest einen NeoVars bekommen. Gruß,
 ka’imi