Wie ordne ich eine Taste einer anderen auf meiner Tastatur zu?

8

Meine Leertaste funktioniert nicht mehr, daher möchte ich das Verhalten in eine andere Taste ändern, um das Drücken der Leertaste zu simulieren. Wie ordne ich die Leertaste der rechten Alt / Windows-Taste zu?

Schwarzer Block
quelle
Danke, aber ich kann nicht einmal "xmodmap -pm" eingeben, weil ich den Platz nicht schaffen kann. Normalerweise verwende ich STRG-V, um ein Leerzeichen einzufügen, aber es funktioniert nicht unter DOS. Problemumgehungen?
Das erste, was es unter Linux nicht als dos bezeichnet, ist (Terminal). Das zweite, was es ist (STRG + UMSCHALT + V), um im Terminal zu heften
Black Block

Antworten:

9

Um größere Ä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 auszuführen:

  • entweder über die Befehlszeile

    xmodmap -e "your commands"
    
  • oder schreiben Sie die Befehle in eine Datei wie .xmodmaprc und führen Sie sie dann in Ihren Anmeldeelementen oder in Ihrem .bashrc mit aus

    xmodmap .xmodmaprc
    

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

Alt und Super (die Windows-Taste) sind Modifikatoren und verhalten sich speziell für das System. Die Schlüssel müssen aus ihrem Modifikator entfernt werden, bevor Sie etwas anderes zuordnen können. Die Leertaste wird als regulärer Schlüssel betrachtet.

Zuordnung des Modifikators aufheben

Öffnen Sie ein Terminalfenster ( Ctrl-Alt-Tfalls Sie damit nicht vertraut sind).

Führen Sie den Befehl aus xmodmap -pm, um eine Liste der Modifikatortasten auf Ihrem System abzurufen. In der Ausgabe befindet sich in der linken Spalte die Liste der Modifikatoren, die dem System zur Verfügung stehen. In den anderen Spalten werden die an diese Modifikatoren gebundenen Schlüssel paarweise aufgelistet keysym (keycode). Zum Beispiel ist eine Zeile meiner Ausgabe

mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)

Die Tastencodes entsprechen physischen Tasten und können sich (hypothetisch) zwischen Tastaturen unterscheiden. Das Keysym ist der 'Name' eines Schlüssels. Wenn der Schlüssel ein druckbares Zeichen ist, entspricht der Name dem gedruckten Zeichen.

Jetzt haben Sie alles, was Sie brauchen, um einen Schlüssel von seinem entsprechenden Modifikator zu trennen. Ich werde so tun, als würden wir mit Alt_R arbeiten.

Führen Sie den Befehl xmodmap aus (mit einer der Methoden oben).

remove mod1 = Alt_R

Ordnen Sie die Leertaste neu zu

Als nächstes müssen wir wissen, was die Leertaste ist. Führen Sie xmodmap -pkein Ihrem Terminalfenster. Dadurch wird ausgedruckt, welcher Taste auf Ihrer Tastatur zugeordnet ist. Irgendwo in diesen vier oder fünf Bildschirmen ist ein Verweis auf die Leertaste. Wir brauchen seinen Namen, um ihm einen Schlüssel zuzuordnen.

Spoiler-Alarm: Die Leertaste wird benannt space

Wir haben noch einen Schlüssel namens Alt_R, aber er macht nichts. Wir können seinen Namen verwenden, um ihn der Leertaste neu zuzuordnen. Führen Sie diesen xmodmap-Befehl aus:

keysym Alt_R = space

Während Sie diese testen, kann es vorkommen, dass Sie den Namen von Alt_R bereits geändert haben. Vielleicht haben Sie es versehentlich dem Buchstaben 'a' zugeordnet. Sie möchten 'a' nicht neu zuordnen, da Sie noch einen der Schlüssel mit diesem Namen benötigen. Wenn Sie in dieser Situation enden, können Sie Alt_R immer noch anhand seines Schlüsselcodes referenzieren. Denken Sie daran, dass dies auf meiner Tastatur 0x6c ist. Es könnte für Sie anders sein. Mit diesem Befehl xmodmap können Sie Folgendes ändern:

keycode 0x6c = space

Viel Glück!

pconley
quelle