• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Menü-Taste als STRG-Taste verwenden

Hallo
BS ist Opensuse 11.3 mit KDE4.4.
Ich hab eine Tastatur von Hama - Brightboard metal combo - die hat keine rechte Steuerungstaste, aber eine Menütaste die ich niemals verwende.Ich möchte jetzt die Menü-Taste als STRG-Taste verwenden.
Unter den Möglichkeiten in Systemeinstellungen -->Land/Region/Sprache-->Tastatur-layout-->advanced ist das was ich brauch leider nicht dabei.
Mit xev hab ich folgende Ausgabe:
KeyPress event, serial 30, synthetic NO, window 0x5000001,
root 0x1ad, subw 0x0, time 1054690, (-69,303), root:(887,326),
state 0x10, keycode 135 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Das bedeutet die Menütaste hat den Tastencode 135.Soweit sogut

xmodmap -e 'keycode 135 = Control_R Multi_key'
oder
setxkbmap -option ctrl:menu
in der Konsole als user brachten nicht den Erfolg.Ich weiß da aber auch nicht wirklich was ich da tue.
Vielleicht weiß ja jemand wie ich das zum laufen kriege.
hanshampel
 

abgdf

Guru
xmodmap ist schonmal nicht schlecht. Dazu hatte ich mal geschrieben:
24. Tastaturbelegungen unter X verändern

Komplexere Umbelegungen von Tastenkombinationen kann man unter X mit dem Befehl

xmodmap

vornehmen:

xmodmap -pke

zeigt die aktuellen Tastaturbelegungen an.

Mit dem Programm

xev

kann man die gewünschten "keycodes" der Tasten herausfinden.

Im Zusammenhang mit Tasten lohnt sich oft auch ein Blick in die Datei

/usr/X11R6/include/X11/keysymdef.h

Für "xmodmap" ist das aber oft nicht erforderlich. Das Umbelegen selbst erfolgt dann z.B. durch einen Befehl wie

xmodmap -e 'keycode 29 = y Y guillemotleft less guillemotleft less'

Bei dauerhafteren Umbelegungen kann man auch eine Datei

/home/Benutzer/.Xmodmap

anlegen.
HTH
 
OP
H

hanshampel

Newbie
Hallo abgdf
Ich hab jetzt mal die Liste der Tastaturbelegung erstellt mit
wenn ich nach 'control' suche finde ich die folgenden beiden Einträge:
.....
keycode 37 = Control_L NoSymbol Control_L
.....
keycode 105 = Control_R Multi_key Control_R Multi_key
.....
die menütaste hat den keycode 135,
der Befehl:
xmodmap -e 'keycode 135=Control_R'
oder
xmodmap -e 'keycode 135=Control_L'
oder
xmodmap -e 'keycode 135=Control_R Multi_key Control_R Multi_key'
oder
xmodmap -e 'keycode 135=Control_L NoSymbol Control_L'
zeigen aber keinerlei Wirkung wenn ich zumBeispiel mit CTRL+S etwas speichern will.
wohingegen ein
xmodmap -e 'keycode 133=Menu' die Menüfunktion auch brav auf die linke Windowstaste legt.

Jetzt werde ich mir die keysymdef.h die alledings unter 'usr/include/X11' zu finden war mal vornehmen

wenn ich nach
xmodmap -e 'keycode 135=Control_R' oder xmodmap -e 'keycode 135=Control_L'
ausgeführt habe und mir dann unter xev nicht den tastencode sondern keysym
....(keysym 0xffe4, Control_R).....
raussuche und mit der keysymdef.h abgleiche steht da dann auch
#define XK_Control_R 0xffe4 /* Right control */
also scheinbar alles in Butter.Nur die Funktion der Taste ist nicht die der Ctrl-Taste.
Hmmmm....
 

abgdf

Guru
Also, Deinen Weg finde ich richtig. Wirklich seltsam, daß es nicht klappt. Das einzige, was mir auffällt, ist, daß in dem ''-String wahrscheinlich Leerzeichen zwischen ' = ' und dem Rest sein sollten. In bash hat sowas oft Bedeutung, ob hier, weiß ich aber nicht.
 
Oben