#189: X Error of failed request: BadValue (integer parameter out of range for operation) -----------------------------------------------+---------------------------- Reporter: paulepan...@… | Owner: erik Type: Fehler/Defekt | Status: new Priority: normal | Milestone: Neo Version 2.0 Component: Treiber: Linux – Xmodmap | Version: 2.0 BETA Keywords: | -----------------------------------------------+----------------------------
Comment(by petere): Fix: ersetze add Mod3 = ISO_Group_Shift durch: add Mod3 = ISO_First_Group Der Fehler ist distributionsunabhängig und tritt ab X-Server 1.7 auf (in X11R7.5 enthalten). Seit dem X.org-Server 1.7 prüft die Routine von SetModifierMapping (genauer: build_modmap_from_modkeymap in dix/inpututils.c), ob der Keycode, der gesetzt werden soll, schon bei einem anderen Modifier eingetragen ist. Nun werden durch obige Zeile aber nicht nur die Neo-Mod3s eingetragen (Qwertz-Caps und #), sondern auch die Mod4s, weil in ihren Definitionen ebenfalls ISO_Group_Shift vorkommt. Wenn danach die Mod4s nochmal durch "add Mod5 = ISO_Level3_Shift" einem X-Modifier zugeordnet werden, meldet sich der neue X-Server 1.7 mit BadValue, weil diese Tasten eben schon bei Mod3 stehen. Warum das neuerdings so gehandhabt wird, ist mir schleierhaft, wird aber wohl seine Gründe haben. Oder es liegt einfach daran, dass ProcSetModifierMapping in 1.7 neu geschrieben wurde. Dass sich heutzutage keine Schwierigkeiten mehr ergeben, wenn man die Modifier-Maps weglässt, liegt daran, dass sie nur noch aus Kompatibilitätsgründen gesetzt werden. Alte Programme, die die Modmap noch auslesen, könnten aber Probleme haben, wenn dort nichts eingetragen ist. Deshalb sollten wir es schon richtig machen. Es müsste noch einer probieren, ob obige Änderung auch noch unter älteren X-Servern funktioniert. -- Ticket URL: <http://wiki.neo-layout.org/ticket/189#comment:5> Neo-Layout <http://neo-layout.org/> Das Neo-Tastaturlayout ist ein freies und ergonomisch optimiertes Tastaturlayout für die deutsche Sprache, das auch sehr viele Sonderzeichen direkt verfügbar macht.