X Error of failed request: BadValue (integer parameter out of range for operation) #189
Labels
No Label
(╯°□°)╯︵ ┻━┻
Bug
Diskussion
Dokumentation
Duplikat
Gitea
Hardware
Hilfe
Invalid
Java
Lernen
Qt
Remote
Subversion
Tablet
Tastaturbelegung
Test
Treiber/Android
Treiber/iOS
Treiber/Linux/Konsole
Treiber/Linux/xkb
Treiber/Linux/xmodmap
Treiber/MacOS
Treiber/Windows/AHK
Treiber/Windows/kbdneo
Treiber/Windows/ReNeo
Verbesserung
Website
Windows 11
Wontfix
Worksforme
No Milestone
No Assignees
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: neo/neo-layout#189
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Liebe Neo-Leute,
meine Nachricht an die Liste blieb unbeantwortet. Damit es nicht vergessen wird, erstelle ich einen Fehlerbericht und kopiere meine Nachricht.
Liebe Grüße,
Paul
Hi,
ich hab das gleiche Problem:
System: Ubuntu lucid
[code]m:~$ setxkbmap lv && xmodmap neo_de.xmodmap
X Error of failed request: BadValue (integer parameter out of range for operation)
Soweit ich das sehen kann, liegt das nicht am xkb-Treiber. Dieser wird schließlich nirgends in der Problembeschreibung eingesetzt …
Das lässt sich lösen, indem man in der Datei den letzten Eintrag:
add Mod5 = ISO_Level3_Shift
mit einem ! auskommentiert, dann wird diese Veränderung eben nicht vorgenommen,
ein Unterschied ist mir aber bisher nicht damit aufgefallen.
Viele Grüße,
Kilian
Vielleicht sollte das ins Skript mit eingebaut werden. Wenn Fedora 13, oder Ubuntu Lucid verwendet wird (oder die dort enthaltenen Versionen von xkeyboard-config), dann muss diese Zeile vom Skript automatisch auskommentiert werden. Oder umformuliert.
Solange dieser Fehler auftritt, ist es ein Fehler. Keine Verbesserung, denn die Xmodmap ist auf solchen Systemen unbenutzbar.
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.
Vielen Dank! Ich bestätige, dass die Fehlermeldung nicht mehr auftritt.
[…]
Leider habe ich zu Hause keinen Zugriff auf einen älteren X-Server. Wenn ich aber die Möglichkeit haben sollte, an ein solches System zu kommen, werde ich es testen.
Ich hab mal schnell mein altes Suse 10.3 entstaubt (X.org-Server 1.2). Klappt auch dort alles wie gewünscht mit der Änderung.
Würde den Fix auch selbst durchführen, hab aber keine Schreibrechte im SVN (oder bin zu blöd…). Wenn das also jemand mit erledigen könnte…
Umgesetzt.