So ordnen Sie die Supertaste (links) der Steuertaste zu

26

Kann mir jemand sagen, wie ich meinen Super(linken) Schlüssel dem CtrlSchlüssel neu zuordnen kann ?

Ich meine Super(links) sollte als CtrlSchlüssel arbeiten.

Sandig
quelle
Möchten Sie, dass nur die linke Super-Taste als Strg fungiert? Es ist einfach, beide Einstellungen gleichzeitig in den Tastaturlayout-Einstellungen neu zuzuordnen, aber das Ändern nur einer muss über Konfigurationsdateien erfolgen.
Pconley
Ja, ich möchte nur die linke Super-Taste als Strg-Taste verwenden.
Sandy,
Bezieht sich die Super-Taste auf die Taste auf meiner Tastatur, auf der sich ein MS Windows-Logo befindet, und liegt sie zwischen der linken Strg-Taste und der linken / rechten Alt-Taste sowie einer Taste mit einem anderen seltsamen Logo?
René Nyffenegger
1
@ RenéNyffenegger Die Super-Taste ist die WindowsTaste auf PC-Tastaturen und die CommandTaste auf Apple-Tastaturen. Ich bin mir nicht ganz sicher, was der andere Schlüssel ist, den Sie beschreiben
Uhr

Antworten:

28

Um wichtige Änderungen an Ihrer Tastatur vorzunehmen, einschließlich der Neuzuordnung von Zeichen und der Änderung von Modifikatoren, müssen Sie das Dienstprogramm xmodmap verwenden (siehe) man xmodmap. Es gibt verschiedene Möglichkeiten, die Änderungen durchzuführen:

  • entweder von der Kommandozeile

    xmodmap -e "your commands"
    
  • oder schreibe die Befehle in eine Datei wie .xmodmaprc, dann führe sie in deinen Login Items oder deiner .bashrc mit aus

    xmodmap .xmodmaprc
    

    Wenn Sie die Datei benennen ~/.xmodmap, wird sie beim Anmelden automatisch ausgeführt.

Nun die Befehle

Was Sie tun möchten, ist ein zweistufiger Prozess. Zuerst heben Sie die Zuordnung von Super zu seinem Modifikator auf, dann ordnen Sie es der Steuerung zu.

  1. Führen Sie xmodmap -pmin einem Terminalfenster eine Liste der gebundenen Modifikatoren aus. Auf meinem Rechner (und vermutlich Ihrem) wird Super als bezeichnet mod4. Super_Lund Super_Rsind separate Tasten, die denselben Modifikator ausgeben.

    Jetzt können Sie den Modifikator daraus entfernen. Führen Sie den Befehl xmodmap aus (mit einer der oben genannten Methoden).

    remove mod4 = Super_L
    

    Jetzt wird der physische Schlüssel intern immer noch als Super_L bezeichnet, aber er führt nichts aus.

  2. Jetzt ordnen Sie es einfach neu. Führen Sie den Befehl xmodmap aus:

    add control = Super_L
    

Wenn Sie dies später rückgängig machen möchten, führen Sie einfach dieselben Befehle mit den entsprechenden Argumenten aus.

Kein Super_R?

Die Ausgabe von xmodmap -pm hat möglicherweise mehrere Schlüssel mit dem Namen Super_L, aber keinen mit dem Namen Super_R). In diesem Fall sind der Steuerung jetzt mehrere zusätzliche Tasten zugewiesen, Super jedoch keine. Sie müssen einen Schlüssel umbenennen. (Hinweis: Es kann mehrere Super_L und mindestens ein Super_R geben. Dies ist in Ordnung.)

Neben den Schlüsselnamen in der Tabelle steht eine Hexadezimalzahl in Klammern. Diese Nummer ist der physikalische Schlüsselcode der Taste auf Ihrer Tastatur (er kann je nach Modell variieren). Wenn Sie einen Super_L in einen Super_R ändern müssen, suchen Sie zuerst den Schlüsselcode, den Sie mit Super_R verknüpfen möchten (sind sich nicht sicher, welcher der richtige ist? Führen Sie den Befehl aus xevund tippen Sie ein paar Mal auf den richtigen Super. Irgendwo im Labyrinth der Ausgabe ist " Schlüsselcode = 133 "(mit einer anderen Nummer). Führen Sie den Befehl xmodmap aus

keycode 133 = Super_R

um den Schlüssel umzubenennen, dann

add mod4 = Super_R

um es Super zuzuweisen.

pconley
quelle
Zunächst einmal vielen Dank für die Zeit für mich. Als ich im Terminal "remove mod4 = Super_L" eintippte, wurde folgende Meldung angezeigt : remove mod4 = Super_L: Befehl nicht gefunden . Screenshot: i.imgur.com/fbvEA.png
Sandy
1
Dies ist ein Befehl für das Dienstprogramm xmodmap. Sie müssen es mit einer der Methoden ausführen, die ich im ersten Abschnitt angegeben habe. Ich habe meine Antwort überarbeitet, um das klarer zu machen.
Pconley
Könnten Sie mir bitte auch sagen, wie ich diese Befehle beim Start ausführen soll?
Sandy
Wann melden Sie sich an oder wann bootet das System? Wenn dies der Fall ist, geben Sie die Befehle einfach in die Datei '.xmodmap' in Ihrem Home-Verzeichnis ein. Letzteres ist eher für eine separate Frage wie "Wie führe ich ein Skript beim Start aus" geeignet (solche Fragen wurden vermutlich schon früher gestellt).
Pconley
Bei mir hat das ohne Keysum nicht geklappt . keysym Super_L = Control_L
Aliaksandr Sushkevich
19

Befehlszeile:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Oder ~/.Xmodmapbeim Start aktivieren:

remove mod4 = Super_L
add control = Super_L
Coc
quelle
4

Unter Ubuntu können Sie Folgendes bearbeiten /etc/default/keyboardund einstellen:

XKBOPTIONS = "altwin: ctrl_win"

Welche:

Strg ist Win-Tasten (und den üblichen Strg-Tasten) zugeordnet

Lesen Sie man 5 keyboardfür weitere Informationen. Sie können alle möglichen Kombinationen von Optionen auf Ihrem System finden, indem Sie folgende Schritte ausführen:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win
Mitar
quelle
2

Wenn Sie mit einer GUI machen wollen:

  1. Installieren / öffnen Sie Gnome Tweaks
  2. Klicken Keyboard & Mouse
  3. Klicken Additional Layout Options
  4. Erweitern Ctrl position
  5. Wählen Swap Left Win with Left Ctrl
Reich
quelle
1

Versuchen Sie es mit diesem:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Setzen Sie die obigen Zeilen in Ihre ~/.Xmodmapund führen Sie aus xmodmap ~/.Xmodmap.

Rendon
quelle