Am 06.04.2011, 14:59 Uhr, schrieb Navid Zamani <[email protected]>:

Am 06.04.2011 12:55, schrieb Joke de Buhr:
Also bei mir kommt KDE mit dem DE-Layout und dessen vier Ebenen gut klar.

Und das ist eben das Ding: KDE kommt nur mit bis zu vier Ebenen klar. Alles darüber wird ignoriert. (Zumindest ist das, was mir gesagt wurde.)

Naja, ungefähr. Letztlich macht es sich nicht an den 4 Ebenen fest, sondern an der ungenügenden xkb-Unterstützung durch Qt. Sehr ungenügend. Liest man die Quelltexte, bekommt man den Eindruck, die Programmierer da wissen nicht, wie xkb funktioniert (man kann es ihnen kaum verdenken). Es funktioniert für die üblichen Fälle – Neo ist natürlich unüblich.

Probleme könnten sich aber auch schon bei Qwertz ergeben – die werden nur durch bestimmte Kompatibilitäts-Einstellungen von xkb vermieden, die eigentlich nicht mehr nötig sein sollten*.

Dass Qt nicht mit mehreren gleichzeitig eingestellten Layouts klarkommt, ist einfach ein Bug. Punkt.

Ja, haste aber recht. Und das Kopete-Problem wurde mir als nur-vier-Ebenen-Problem erklärt. Wobei ich sagen muss, dass ich da auch nur Halbwissen hab. Da wissen andere hier mehr. (Nur die sagen grad irgendwie nix.)

Das Kopete-Problem habe ich selbst auch nicht. Hast du vielleicht in deiner ersten (nicht-Neo)-Belegung Caps als Strg belegt oder so? Ansonsten sollte das eigentlich nicht passieren. Aber naja, sollte…

Hey, also wenn ich de als erstes Layout habe, dann nimmt KDE bei Tastenkombos mit Ctrl immer noch das de-Layout, selbst wenn neo aktiviert ist. Also in NEO wird Ctrl-S plötzlich Ctrl-H. Irgendwas ist da auf jeden Fall komisch. Ich hab fast das Gefühl, dass KDE noch mit xmodmap statt xkb arbeitet. ;)

Naja, anscheinend haben die Xkb einfach nicht so recht verstanden. Wen’s interessiert: Ich habe den Fehler mal lokalisiert, er steckt in QKeyMapperPrivate::possibleKeysXKB() in gui/kernel/qkeymapper_x11.cpp. Dort wird die Gruppennummer, die mit in den modifiers drinsteckt, einfach nicht beachtet. Bisschen schwach, dass das übersehen wurde, aber naja... Ich sollte da mal einen Bug melden, weiß aber grade nicht, wohin. Und in der genannten Funktion stecken auch noch ein paar weitere Fehler, die zu den anderen KDE-Bugs führen; da weiß ich aber noch nicht, wie man sie geeignet korrigiert.


Gruß, Peter


* Man kann z.B. folgendes probieren: Qwertz einstellen (setxkbmap de), und dann mit [xmodmap -e "remove Mod5 = mode_switch"] die modmap ändern. Danach KWrite starten und irgendeinem Befehl den Shortcut Strg+[ (Strg+AltGr+8) zuordnen. Versucht man den dann tatsächlich zu drücken, kommt eine Fehlermeldung, der Shortcut wäre nicht eindeutig. Der entsprechende Bug ist bei uns Ticket 178 (http://wiki.neo-layout.org/ticket/178) und hängt damit zusammen, dass Qt ISO_Level3_Shift (und auch ISO_Level5_Shift u.ä.) nicht als Modifier erkennt. Das alte Mode_switch aber schon. Die tieferen Zusammenhänge stehen in dem genannten Ticket.

Antwort per Email an