Tuxator
Anmeldungsdatum: 23. Mai 2013
Beiträge: Zähle...
|
Hallo, habe hier ein Notebook mit einer QWERTZ-Tastatur (Island-Style). Das Problem ist, die Pfeiltaste <>| wird nicht erkannt. Deutsche Tastaturbelegung ist ausgewählt, aber bei der <>| Taste sagt mir xev:
| KeyPress event, serial 37, synthetic NO, window 0x6400001,
root 0x6aa, subw 0x0, time 1975779, (-565,546), root:(306,1021),
state 0x0, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
|
Alt Gr | KeyRelease event, serial 37, synthetic NO, window 0x4800001,
root 0x6aa, subw 0x0, time 187688, (167,-10), root:(1038,465),
state 0x80, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
|
Damit die <>| Taste funktioniert, habe ich die Beldung geändert: | xmodmap -e "remove lock = Control_R"
xmodmap -e "keycode 105 = less greater bar"
|
Leider geht PIPE immer noch nicht, wie kann ich die Tastaturbelegung anpassen?
Gibt es eine passende Vorlage für eine Deutsche Tastatur im "Island Style". Ich vermute, dass es daran liegt. VG
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Hallo! Was genau meinst du mit Island-Style? Das ist doch eigentlich nur eine normale nicht-mechanische Tastatur, deren Tasten „runde Ecken“ und „Lücken“ haben. Siehe Chiclet/Inseltastatur:. Der Standard keycode für die größer/kleiner-Taste ist 94. Im deutschen Layout mit key <LSGT> { [ less, greater, bar, dead_belowmacron ] }; definiert. (Siehe /usr/share/X11/xkb/symbols/de und /usr/share/X11/xkb/keycodes/evdev); 105 ist demnach RCTL (rechte Steuerungstaste). Was für ein Modell ist das denn und wie ist es eingestellt (localectl ) ?
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
Es ist ein HP 15s-eq0355ng, hier ist ein Bild der Tastatur:
https://static.mydealz.de/live/threads/content/3oEBR/1694419.jpg Die Taste mit der Beschriftung <>| ist 105 (keysym 0xffe4, Control_R So ganz "normal" scheint die Tastatur dann nicht zu sein. $ localectl
System Locale: LANG=de_DE.UTF-8
VC Keymap: n/a
X11 Layout: de
X11 Model: pc105
|
Letalis_Sonus
Anmeldungsdatum: 13. April 2008
Beiträge: 12990
Wohnort: Oldenburg/Erlangen
|
Tuxator schrieb: So ganz "normal" scheint die Tastatur dann nicht zu sein.
Das ist eine amerikanische Tastatur mit anderer Beschriftung - offensichtlich wollte HP hier Kosten bei der Herstellung sparen, sowas gibt es sonst meist nur mit Tastenaufklebern zum "Eindeutschen". Dann wundert es auch wenig dass der Keycode so daneben ist - ich wette mit einem amerikanischem Aufdruck wäre an der Stelle wie üblich auch nur die rechte Ctrl Taste. Die Strg Taste hat als Modifier Taste allerdings einen Sonderstatus, das macht die Umbelegung eben unter Umständen etwas problematischer.
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
Danke. Wie würdet ihr die Tasten um belegen? Eine <>| Taste benötige ich auf jeden Fall. Du meinst, die Nutzung in Verbindung mit Alt_Gr, funktioniert wegen dem Sonderstatus vielleicht nicht? Lässt sich das umgehen?
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Tuxator schrieb: So ganz "normal" scheint die Tastatur dann nicht zu sein.
Richtig. Du hast eine Standard-105-Tasten-Tastatur eingestellt, was für den europäischen Raum auch völlig korrekt wäre; die us-layouts kennen aber diese Taste nicht (die existiert da einfach nicht → 104 Tasten). Du könntest versuchen das Modell zu ändern, wobei das viel Rumspielerei ist. Die angebotenen HP-Modelle bei den Tastaturlayouts scheinen aber sowieso nicht zu passen, ich hatte mich ein wenig durch die Dateien „gegreppt“. Was das umbelegen der angeht: Prüfe mit xmodmap die Ausgabe der aktuellen Ebenen-Tasten (modifier/level). Da kommt eine Ausgabe ähnlich user@x220[~]› xmodmap
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2
mod3 Num_Lock (0x4d), ISO_Level5_Shift (0x4e)
mod4 Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
user@x220[~]›
Die verwendeten Tasten sind in Hex kodiert, meine Shift-Tasten haben also den Code 50 und 62, was dem Standardmapping aus evdev entspricht. Taucht deine 105 dort wie bei mir als 'Control_R (0x69)' auf — was ich vermute — weiß ich nicht, ob das mit Xmodmap geht. Was du aber machen kannst, ohne gleich ein komplettes custom Layout anzulegen ist eine eigene Variante oder Option(en) erstellen. Beispiele gibt es unter X_keyboard_extension. Sind denn noch andere Tasten betroffen?
Anmerkung zum Spielen: Als einfachen Umrechner kannst du bc nehmen. Entweder aufrufen und mit ibase=16 die Basis 16 einstellen und die Werte dann dort eingeben (quit beendet) oder ohne interaktive Nutzung so verwenden: echo "ibase=16; 32; 3E; 25; 69" | bc
Das 0x dabei weglassen und Großbuchstaben verwenden.
Kurzfristig gäbe es natürlich auch noch Möglichkeiten, wie bspw. ein nicht verwendetes Zeichen durch | zu ersetzen oder mit Hilfe des Compose-Keys (da eignet sich caps lock hervorragend für) alternative Belegungen einzubauen.
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
Wie es aussieht, ist nur die eine Taste davon betroffen. Habe es vorerst so festgelegt, damit kann ich die Zeichen wenigstens nutzen:
xmodmap -pke > ~/.Xmodmap
sed -i 's/keycode 110 = Home NoSymbol Home/keycode 110 = bar dead_belowmacron/' ~/.Xmodmap
sed -i 's/keycode 105 = Control_R NoSymbol Control_R/keycode 105 = less greater bar dead_belowmacron/' ~/.Xmodmap | geht auf Control_R nicht, alle drei Funktionen bekomme ich so auch nicht auf einer andere Taste. Deswegen vorerst separat auf 110. Ob es mit XKB etwas eleganter geht, muss ich mir am we noch mal genauer anschauen.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Na, theoretisch bei nur einer Taste könntest du auch ganz pragmatisch die /usr/share/X11/xkb/keycodes/evdev editieren und dort <LSGT> = 94;
…
<RCTL> = 105; durch <LSGT> = 105;
…
<RCTL> = 94; ersetzen, dann der Einfachheit halber neustarten. Hab ich auch noch nie probiert, daher berichte mal, falls du das versuchst.
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
ChickenLipsRfun2eat Ja, das funktioniert. Danke 😀
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Prima! Kannst du mal testen, was passiert, wenn du die rechte Steuerungstaste mit den Pfeiltasten verwendest, um im Text zu springen? Nur, damit ich weiß, ob es Wechselwirkungen gibt, wenn man Modifier so ummappt. Danke 😉
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
Du meinst zum Anfang/Ende springen per CTRL_R + Pfeiltasten ? Das geht leider nicht mit der Änderung.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
Ja, das meinte ich. Ich hab parallel mit .xmodmap gespielt, da hast du dann diesen Effekt. Und wieso „leider“? Ist doch genau richtig, sonst würde er dir vor jedem Sprung das Zeichen setzen und dann springen. Danke fürs ausprobieren!
|
Tuxator
(Themenstarter)
Anmeldungsdatum: 23. Mai 2013
Beiträge: 51
|
@ChickenLipsRfun2eat
Da hast du auch wieder recht, danke für deine Hilfe.
|
alterpinguin
Anmeldungsdatum: 24. Mai 2014
Beiträge: 786
|
kommt etwas spät, aber ich bin bei mir über so einen Compaq/HP-Laptop gestolpert bei dem auch Tasten eingespart wurden. Es ist ein HP-Presario C700 mit US-keyboard und ohne extra Zahlenblock und z.B. waren die Lautsprecher leiser/lauter Funktion da (statt auf den F-Tasten) auf den seitlichen pg-up/down-Tasten per FN gelegt.
Da ich die Belegung für < > | per xmodmap nicht alle zusammen auf eine freie Taste unterbringen konnte (< > habe ich auf die "MS-Windows-Taste" gelegt), hab ich kurzerhand | auf Shift-Escape gelegt. Wenn man den Aufwand treibt und ein komplettes Tastaturlayout erstellt, könnte man vielleicht doch alle 3 auf z.B. diese freie "MS-Windows-Taste" legen. Allerdings gilt das ja nur für X11 und nicht die Consolen. Da muss man im einfachsten Fall doch zur QWERTZ-Tastatur-Belegung greifen (ohne deutsche Sonderzeichen..). Wenn man dauernd zwischen Tastaturlayouts wechseln müsste, wäre das natürlich keine gute Lösung. aber diese "kleinen" Laptoptastaturen sind sowie so nur bedingt für Vielschreiber geeignet.
|
ChickenLipsRfun2eat
Anmeldungsdatum: 6. Dezember 2009
Beiträge: 12067
|
alterpinguin schrieb: Wenn man den Aufwand treibt und ein komplettes Tastaturlayout erstellt, könnte man vielleicht doch alle 3 auf z.B. diese freie "MS-Windows-Taste" legen. Allerdings gilt das ja nur für X11 und nicht die Consolen…
Du kannst dein angepasstes Layout auch auf Konsolenebene verwenden. Angenommen dein Layout heißt „ck“:
ckbcomp -charmap ISO-8859-1 -compact ck > ck.map && gzip -k ck.map
Diese map.gz kannst du dann in /usr/share/keymaps/i386/include/ einsortieren und mit loadkeys ck laden. Natürlich sind auf dieser Ebene nicht alle Zeichen verwendbar.
|