>  Entsprechend habe ich nun auch schon einiges geübt, doch als der
>  Tipptrainer dann bei der Lektion war, bei der man Shift+[Zahl] hätte
>  tippen müssen, ging alles schief.

Das ist ein Feature. Man verwendet Caps Lock üblicherweise bei der
Eingabe von Enum Konstanten oder C Preprocessor Macros/Konstanten.  Wie
soll man bitte sonst NEO2_LAYER6 eingeben?  Warum sollte man Unmengen
von °§ℓ»«$€„“”—`'^ eingeben wollen? Typischerweise will man genau eines
dieser Zeichen auf einmal eingeben.

Es wird dir in Zukunft das Leben mit Open Source Projekten sehr viel
einfacher machen, wenn Du solche Fehlerberichte nicht mit Priorität
„hoch“ versiehst. Ich kann im Ebenenfeststellen einen legitimen
Änderungsvorschlag erkennen, aber da Neo2 final ist, werden
Verbesserungsvorschläge abgewiesen. Wenn Du das nicht willst, überzeuge
genug Leute auf der Mailingliste, Neo3 zu entwickeln. Bedenke, dass Neo
auf Windows, MacOS, Linux, Solaris, Android und teilweise BSD, C64 und
grub2 portiert sind, was eine Menge Portierungsarbeit ist.

Falls Du mit XKB nur für ein Zeichen auf Ebene 2,3 und 4 wechseln willst
UND Ebene 5 und 6 nicht brauchst, kannst Du in den Dateien in
/usr/share/xkb/symbols/{shift,level3,level5} die Modifiersymbole Shift_L
und Shift_R jeweils durch ISO_Level2_Latch, ISO_Level3_Shift durch
ISO_Level3_Latch und ISO_Level5_Shift durch ISO_Level5_Latch ersetzen.
Das dauerhafte Wechseln in Ebene 2 und 4 dürfte danach nicht mehr
funktionieren und ich habe das nicht getestet. Ein Backup ist also ein
Muss.

Falls Du vielleicht doch noch mit dem finalen Treiber warm werden
willst, hilfst es dir eventuell, alle Ebenenübergänge zu kennen.  Neben
Ebene 2 ist auch Ebene 4 auf dieselbe Weise zu festzustellen (entspricht
intern Num Lock). Sie kann auch mit einem Tab von Ebene 5 festgestellt
werden.  Von Ebene 4 kommt man mit Mod3 auf Ebene 6. Mit dem
Feststellen, kann man also Mod4 einsparen. Für Ebene 5 gibt es leider
nichts vergleichbares.

Abschließend sei festgehalten, dass Du mit einer nicht ganz billigen
Ergodox das von dir beschriebenen Ebenenfeststellen hardwareseitig
umsetzen kannst. Die keymaps, die ich gesehen habe, verwenden allerdings
meistens nur eine Hardware-Ebene 4, was das lästige Ebene4 Pfeiltasten
Problem in xterm und urxt umgeht. Allein das Wechseln zu Oneshot_Shift
bringt 50 Anschläge mehr pro Sekunde. Im Gegensatz zu XKB kann
qmk_firmware allerdings zwischen einem kurzen und langen Tastendruck
unterscheiden, weswegen hier (fast) keine Konflikte mit dem Neo-Treiber
entstehen. Ebene 3 ist vom hardwareseitigen OSM Lock nicht erreichbar.
XKB dagegen entscheidet nur zwischen Tastendruck und Tastenlösen,
weswegen zumindest mir bisher keine Möglichkeit eingefallen ist, Neo in
seiner jetzigen Form zu unterstützen. Für Doppel und Dreifachbelegungen
braucht man eben einen programmierbaren Tastaturcontroller.

Komme nicht auf die Idee, dass Du mit der Ergodox das Neo Layout
treiberunabhängig verwenden kannst. Es ist zwar möglich, aber nicht ganz
trivial zu implementieren und wird auch in der Endfassung eine
Eingabemethode zur Hex Unicode Eingabe für alle Zeichen, die nicht vom
Treiber unterstützt werden, benötigen.

https://wiki.neo-layout.org/wiki/Xorg
https://wiki.neo-layout.org/wiki/Ergodox

Grüße,
Manuel

PS: An jemanden auf der Liste, der das Spamschutzsystem von Trac
versteht: Erwartet das Captcha arabische Zahlen oder die Textform?
Ich bin mir nämlich ziemlich sicher, dass Zwei mal Fünf mal Fünf gleich
50 ist.

Antwort per Email an