urxvt/xterm + vim, 4. Ebene Ziffern gehen nicht #182
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/xkbmap
Treiber/Linux/xmodmap
Treiber/MacOS
Treiber/Windows/AHK
Treiber/Windows/kbdneo
Treiber/Windows/ReNeo
Verbesserung
Website
Windows 11
Wontfix
Worksforme
No Milestone
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: neo/neo-layout#182
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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?
Ich benutze das neueste neo-layout.
Wenn ich im Terminal urxvt oder xterm einen vim starte und dort eine Zahl über den integrierten Nummernblock der 4.Ebene (Leertaste, m,.nrthgf) eingeben möchte wird eine neue Zeile über der aktuellen angelegt und dort ein einzelner, kleiner Buchstabe geschrieben (pq...y) abgesehen von 3 und 9. Dort wird nur gescrollt. Bei 3/s nach unten und bei 9/y nach oben.
Im Konsole-Terminal (KDE) passiert dieses Problem nicht. Auch bei anderen Anwendungen oder in der Kommandozeile in urxvt/xterm funktioniert alles prima.
Das Problem wurde auch von anderen beobachtet.
xev-Ausgabe bei "4" auf der 4.Ebene:
KeyPress event, serial 34, synthetic NO, window 0x5600001,
root 0x329, subw 0x0, time 22545944, (-561,929), root:(1731,988),
state 0x0, keycode 94 (keysym 0xfe11, ISO_Level5_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 93
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0x5600001,
root 0x329, subw 0x0, time 22546188, (-561,929), root:(1731,988),
state 0x20, keycode 44 (keysym 0xffb4, KP_4), same_screen YES,
XKeysymToKeycode returns keycode: 83
XLookupString gives 1 bytes: (34) "4"
XmbLookupString gives 1 bytes: (34) "4"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x5600001,
root 0x329, subw 0x0, time 22546261, (-561,929), root:(1731,988),
state 0x20, keycode 44 (keysym 0xffb4, KP_4), same_screen YES,
XKeysymToKeycode returns keycode: 83
XLookupString gives 1 bytes: (34) "4"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x5600001,
root 0x329, subw 0x0, time 22546650, (-561,929), root:(1731,988),
state 0x20, keycode 94 (keysym 0xfe13, ISO_Level5_Lock), same_screen YES,
XKeysymToKeycode returns keycode: 23
XLookupString gives 0 bytes:
XFilterEvent returns: False
System:
Gentoo Linux
vim 7.2.182
Ich sehe dieses Problem nicht nur mit dem Ebene 4-Ziffernblock, sondern auch mit dem echten, und nicht nur mit vim, sondern auch mit nvi.
Entweder werden die Keysyms nicht richtig in Steuersequenzen umgesetzt oder vim/nvi können mit den Steuersequenzen nicht umgehen. Falls sich jemand mit termcap und dergleichen auskennt könnte man in dieser Richtung weiterbohren; vielleicht muss man ja nur TERM geeignet setzen.
Hier zunächst einmal ein Vorschlag, das Problem für den echten Ziffernblock zu umgehen; der Ebene-4-Ziffernblock sollte sich ähnlich behandeln lasse (Da ich den offiziellen XKB-Treiber nicht verwende kann ich das nicht verifizieren)
Für urxvt schreibt man in die X-Resourcen (siehe die urxvt man page):
Für xterm ergänzt man die VT100-Translations:
wobei … der bisherige Inhalt der VT100-Translations ist; siehe die xterm man page (und zum Syntax Anhang B von «X Toolkit Intrinsics - C Language Interface»).
Ich konnte zumindest die Lösung für urxvt sowohl für den normalen Ziffernblock als auch für den auf der 4. Ebene verifizieren. Danke erstmal dafür.
Das Problem scheint ein programmspezifisches zu sein, auf das Neo keinen Einfluss hat.
Damit die Home und End Tasten von Ebene 4 in urxvt funktionieren, muss noch
in den X-Resourcen ergänzt werden.
Also bei mir haben diese seit eh und je funktioniert. Nutze hier aktuell Fedora 17 (aber auch mit Fedora 20 geht es).
vim --version
urxvt --version
X -version
uname -r
Das Problem trat mit einem neu installierten openSuse 13.1 auf. Nach einem Update gehen Home und End jetzt bei mir auch ohne die zwei Einträge.
Ich konnte mein Problem auf screen zurückführen.
Unter der Verwendung von den oben dargelegten Zeilen, welche ich erweitert habe mit
konnte ich das von mir gewünschte Verhalten im screen erreichen. Siehe auch, die Änderungen in meiner
config
c92c5149ed (diff-0f106636d9dda3210c9ca08b9229d299)