Wie stelle ich in XFCE Level3_Shift auf Feststelltaste UND Compose auf Feststelltaste+Strg ein?

Wie stelle ich in XFCE Level3_Shift auf Feststelltaste UND Compose auf Feststelltaste+Strg ein?

Ich bin vor kurzem von SUSE umgestiegen, das KDE als Standard-Desktopumgebung verwendet. In KDE ist es möglich, ein solches Setup mit GUI-Optionen zu erreichen, aber nicht in XFCE.

~/.XmodmapIch habe versucht, die Datei folgendermaßen einzurichten :

clear Lock
clear Control
clear Mod2 
clear Mod5 
keycode  77 = Caps_Lock Num_Lock Caps_Lock Num_Lock
keycode  66 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
keycode  37 = Control_L NoSymbol Control_L NoSymbol Multi_key Multi_key 
add Control = Control_L Control_R
add Lock = Caps_Lock
add Mod2 = Num_Lock
add Mod5 = ISO_Level3_Shift

Was geschieht:

  • Caps LockFunktionalität geht anNum Lock
  • Num LockFunktionalität geht an Shift+Num Lock

Was ich erwartet hatte, aber nicht passierte:

  • Caps LockKnopf sollte sein ISO_Level3_Shift(ist es laut xev, hat aber Shiftirgendwie die Funktionalität des üblichen)
  • Das Drücken Caps Lockvon + Links Ctrlsollte als Compose-Taste fungieren (funktioniert nicht).

Was mache ich falsch? Xubuntu 18.04, Neuinstallation

Antwort1

Ordnen Sie die Umschalttaste der dritten Ebene <CAPS>der Feststelltaste zu und verwenden Sie die dritte Ebene der linken Strg-Taste als Compose-Taste ( Multi_key):

setxkbmap -option compose:lctrl-altgr \
    -option lv3:caps_switch \
    -layout "us(intl)"

Für die Numlock-Taste können Sie eine Symboldatei als Wrapper für das von Ihnen verwendete Layout erstellen (ich werde verwenden us(intl)). Erstellen Sie eine Symboldatei mit dem Namen custom:

xkb_symbols "basic" {

    // The layout that you want to use.
    include "us(intl)"

    key <NMLK> { [
        Caps_Lock, Num_Lock, Caps_Lock, Num_Lock
    ] };

};

Speichern Sie die customDatei in einem Verzeichnisbaum, der die Struktur von widerspiegelt /usr/share/X11/xkb. Wenn Ihr Verzeichnis also unter gespeichert ist , sollte /home/<user>/my-xkb/die Datei unter liegen .custom/home/<user>/my-xkb/symbols/custom

(SehenHierfür allgemeine Anweisungen zum Erstellen und Verwenden benutzerdefinierter Xkb-Dateien.)

Anstatt einfach zu verwenden, setxkbmapmüssen Sie die -printOption verwenden, um die Ausgabe an weiterzuleiten xkbcomp. xkbcomphat die -IOption, die Sie verwenden, um den Pfad zu Ihrem benutzerdefinierten Xkb-Verzeichnisbaum anzugeben.

setxkbmap -option compose:lctrl-altgr \
    -option lv3:caps_switch \
    -layout "custom" \
    -print |
        xkbcomp -I"/home/<user>/my-xkb" \
            - "$DISPLAY"

verwandte Informationen