Ich suche nach einer Möglichkeit, bestimmte Tasten in Ubuntu neu zuzuordnen.
dh
Ich möchte PgUpzu Homeoder PgDownzu wechseln End.
Gibt es in Ubuntu / GNOME einen eingebauten Befehl oder ein Tool, um Schlüssel neu zuzuweisen?
Ich suche nach einer Möglichkeit, bestimmte Tasten in Ubuntu neu zuzuordnen.
dh
Ich möchte PgUpzu Homeoder PgDownzu wechseln End.
Gibt es in Ubuntu / GNOME einen eingebauten Befehl oder ein Tool, um Schlüssel neu zuzuweisen?
xmodmap
wird beraubt! Um eine systemweite Einstellung zu erhalten, müssen Sie verwendenxkb
. Bearbeiten Sie also die Sprachdatei in/usr/share/X11/xkb/symbols/
, um Ihre Änderungen dort hinzuzufügen. Siehe askubuntu.com/a/898462/34298Antworten:
Hinweis: Ab 2013 verwenden Ubuntu und Derivate nicht mehr
xmodmap
, sondern verwendenxkb
. Weitere Informationen hierzu finden Sie diese Antwort . Die Antwort unten ist für aktuelle Releases nicht mehr relevant.Zum erneuten Zuordnen bestimmter Tasten benötigen Sie zwei Werkzeuge. Erstes xev (Kommandozeilen-Tool) und zweites xmodmap (auch Kommandozeilen-Tool). Beide sollten in Ubuntu verfügbar sein, ohne sie extra zu installieren.
Terminalfenster starten und ausführen
xev
. Jetzt ist es aktiv und wartet darauf, dass Sie eine Taste drücken. Drücken Sie dann die Taste, deren Verhalten Sie ändern möchten. dh PgUp.xev
gibt einige Informationen über die gedrückte Taste aus. Die dritte Zeile ist wichtig. Es sollte ungefähr so aussehen:In diesem Beispiel
Prior
ist dies der Name des Verhaltens, dem der Schlüssel momentan zugewiesen ist. Der Zahlenschlüsselcode ist die interne ID zum Erkennen des Schlüssels. Tun Sie dies jetzt mit einem anderen Schlüssel, dh PgDowngeben Sie diesen AusgangAuch hier ist der interessante Teil für uns
keycode 115
undNext
- der Name des Verhaltens.Jetzt, wenn Sie die beiden Schlüssel tauschen möchten, verwenden Sie
xmodmap
.Dies ändert den Schlüssel mit dem Schlüsselcode 110 auf Ihrer Tastatur in die Aktion
Next
. Es ist ziemlich einfach.Beachten Sie, dass Sie den sekundären Befehl einfach nach dem ersten auflisten können, wenn die zuzuordnende Taste eine andere Bedeutung haben soll, wenn sie mit der ShiftTaste verwendet wird (z. B. für britische Tastaturlayouts, Shift+ 2gibt Anführungszeichen). Wenn Sie beispielsweise möchten, dass der Schlüssel mit Code 53 normalerweise einem umgekehrten Schrägstrich, bei Verwendung mit Shift jedoch dem Balkensymbol zugeordnet wird, können Sie Folgendes tun:
Zusätzliche Informationen: Die Reihenfolge dieser Zuordnungen ist Key, Shift+Key, mode_switch+Key, mode_switch+Shift+Key, AltGr+Key, AltGr+Shift+Key. Zum Überspringen einer Spalte verwenden Sie
NoSymbol
. Außerdem finden Sie hier eine umfassende Liste aller Keysyms.Hinweis: Diese Änderungen gelten nur für die Active X-Sitzung und gehen nach dem Neustart verloren. Wenn Sie die Änderungen dauerhaft speichern möchten, müssen Sie die folgenden Befehle nach den obigen Befehlen ausführen:
(erstellt eine Datei mit dem Namen
.Xmodmap
in Ihrem Home-Verzeichnis (~
))Dann müssen Sie eine Datei mit dem Namen
.xinitrc
in Ihrem Home-Verzeichnis erstellen, in das Sie den Befehlxmodmap .Xmodmap
eingeben.Sie können jetzt Änderungen vornehmen
.Xmodmap
undxmodmap .Xmodmap
von der Konsole aus ausführen , um die Änderungen sofort anzuzeigen. Die Änderungen in.Xmodmap
werden beibehalten.Quelle: Ubuntu Foruns
Bonusmaterial:
Wenn die Taste, die Sie neu zuordnen, je nach Status ein anderes Verhalten aufweist (z. B. wie die Tasten auf der numerischen Tastatur von NumLock abhängen), müssen Sie nur
xmodmap -pm
eine Liste der Modifikatoren abrufen und dann Folgendes ausführen :xmodmap -e "KEYCODE MODIFIER = behaviour behaviour_with_modifier"
Angenommen, Sie möchten auf der numerischen Tastatur einen Punkt anstelle eines Kommas eingeben (nützlich für die meisten Programmierer), möchten aber das Löschverhalten beibehalten, wenn NumLock deaktiviert ist.
mod2
Daxmodmap -pm
sagt uns , dassmod2
istNum_Lock
, werden die anderen Namen durch Drücken der Tasten in erhaltenxev
.quelle
xev
kann keineFn
Tastendrücke abfangen-event
in Ubuntu 12.04 eine Flagge habe. Es löst einen Fehler aus und erwähnt "event" nicht inman xev
.Wenn Sie versuchen, eine Umschalttaste zu bewegen, gibt es ein paar zusätzliche Schritte:
quelle
Ich hatte gerade einen nachträglichen Gedanken. Ich glaube, Sie meinen mit "Neu zuordnen" etwas völlig anderes. Aber ich lasse meine Antwort wie sie ist benimm dich wie ein anderer
UPDATE : mein 'nachträglicher' Gedanke wurde bestätigt; (Ich habe die falsche Frage beantwortet:) ... siehe NES Community Wiki Antwort (oben akzeptiert).
Es gibt zwei allgemeine Möglichkeiten, einen Schlüssel
neuzuzuordnen.(ein Schlüssel kann für verschiedene Dinge in verschiedenen Apps / Fenstern verwendet werden)
(eine Taste hat in allen Fenstern die gleiche Funktion)
Für 'local to a program'-Methoden gibt es manchmal eine Möglichkeit, die von der App selbst angebotenen Tastenkombinationen zu ändern ... zB.
Firefox
hat ein Addon namens keyconfig ... für einige Informationen siehe diesen MozillZine-BeitragDie meisten Ubuntu-Programme basieren auf Gnome, und es gibt ein spezielles Dienstprogramm, mit dem die Tastenkombination für jeden Menüpunkt dieser Gnome-Apps
Editable Menu Accelerator
geändert werden kann es durch Ausführengconf-editor
(über Terminal oder Alt + F2) ... navigieren Sie zudesktop
-gnome
-interface
und wählen Siecan_change_accels
.... Sie können dann Menüelemente in virtuelle ändern, was Sie möchten (pro Programm / Fenster) ... Ich schlage vor, Sie deaktivieren es sobald du getan hast was du brauchst ..Andernfalls können Sie globale Hotkeys einrichten. Ich benutze ein Programm namens xbindkeys , und es gibt auch eine Option über das Hauptmenü - Einstellungen, genannt
Keyboard Shortcuts
Wenn Sie xbindkeys verwenden, müssen Sie es zu Ihren "Startup Applications" (Hauptmenü - Preferences) hinzufügen ... Auch (wie von Stefano Palazzo vorgeschlagen) habe ich zuvor in einer Antwort darauf eine detailliertere Beschreibung von xbindkeys geschrieben askubuntu Seite
quelle
xdotool
gelöst werden , lesen Sie die Manpage. Ich habe es verwendet, um dieses Problem zu lösen .So habe ich versucht, die Zuordnung der ENTERTaste zur Taste zu SHIFTändern (und umgekehrt):
BERICHTE:
BERICHTE:
BERICHTE:
(Ignoriere die nächsten fünfzig Zeilen oder so)
Wichtig ist die dritte Zeile bei jedem Tastendruck:
REVERSE THE MAPPING:
SPEICHERN SIE DIE ERGEBNISSE:
HINZUFÜGEN
Das Hauptproblem war, dass die Umkehrung NICHT funktionierte. Der ENTERSchlüssel wurde dem SHIFT_RSchlüssel zugeordnet. Der SHIFT_RSchlüssel wurde jedoch nicht dem ENTERSchlüssel zugeordnet. Stelle dir das vor.
quelle
Um globale Neuzuordnungen unabhängig von X durchzuführen, können Sie stattdessen das Konsolen-Setup (5) verwenden.
In meinem Fall wollte ich den Caps LockSchlüssel neu zuordnen D, da mein DSchlüssel kaputt ist :)
Zuerst benutzte ich dumpkeys (1) , um eine Vorlage für ein Mapping zu erhalten, im Fall von D-key ist das interessante Bit das Mapping für keycode 32 (auf meiner Tastatur); Beachten Sie, dass das Grep-Muster zwei Leerzeichen enthält!
Um die Karte zu ändern, gilt Caps Lockstattdessen (Keycode 58 auf meiner Tastatur)
Jetzt liest es
Um diese Neuzuordnung zur Standardzuordnung hinzuzufügen, muss sie für das Konsolen-Setup lediglich an die Neuzuordnungs-Include-Datei angehängt werden
und das Konsolen-Setup müssen neu konfiguriert werden (Fragen mit niedriger Priorität überspringen mit
-phigh
)Jetzt sollte die Neuzuordnung abgeschlossen und beim Booten automatisch geladen werden.
quelle
Ich habe einen ganzen Tag damit verbracht, eine Verknüpfung für zu erstellen
Ctrl+Pageup
.Ich habe zuerst versucht,
xmodmap
aber das kann keine Modifikatorereignisse erzeugen. Es ist also unmöglich, eine Verknüpfung zu erstellen, die beispielsweise dasControl
Ereignis generiert .Ich habe dann versucht
xbindkeys
mitxmacro
. Diese Art von Funktion funktioniert, kann jedochxbindkeys
einige Tastenkombinationen auf meinem System nicht erfassen, zAlt + ___
.Also habe ich endlich Unitys eigene Tastenkombinationen -> Benutzerdefinierte Tastenkombinationen verwendet, um meine Tastenkombination einzurichten.
Und stattdessen habe
xmacro
ich jetzt dasxvkbd
Programm zum Generieren der Tastaturereignisse verwendet, aber das ist nur eine persönliche Präferenz. Beidexmacro
undxvkbd
arbeiten fast gleich. Ein weiterer Tipp ist das Hinzufügen eines Verzögerungsparameters inxmacro
oderxvkbd
um sicherzustellen, dass die Ereignisse nicht verloren gehen.quelle
Für mich hat AutoKey vom Software Center am besten funktioniert. Es hat eine intuitive Benutzeroberfläche, um neue Bindungen hinzuzufügen, klicken Sie auf Neu -> Phrase und
<left>
(Liste der Sondertasten hier ).quelle
Super+C
undSuper+V
zuCtrl+C
undCtrl+V
. Nur die perfekte Lösung, wenn Ubuntu über VirtualBox auf einem Mac verwendet wirdSuper+V
, dass die Benachrichtigungsliste angezeigt wird, gehen Sie zu Einstellungen -> Geräte -> Tastatur und deaktivieren Sie sie dortWenn Sie nur einen Schlüssel für ein bestimmtes Programm neu zuordnen müssen, habe ich gerade hinzugefügt um diese Funktion zu hax11.
Öffnen Sie dazu mit hax11 die Profilkonfigurationsdatei des Programms unter
~/.config/hax11/profiles
(z. B.~/.config/hax11/profiles/usr\lib\firefox\firefox
) und fügen Sie Folgendes hinzu:quelle