Wie kann ich die Tasten auf meiner Tastatur ändern? (Wie kann ich benutzerdefinierte Tastaturbefehle / Tastenkürzel erstellen?)


131

Ich möchte die Tastenbelegung einiger Tasten auf meiner Tastatur ändern. Ich möchte, dass einige Befehle ausführen und andere verschiedene Tasten aktivieren.

Mit welchen Anwendungen kann ich das machen?


Index:


Ich bin immer noch auf der Suche nach Antworten mit dconf und einer anderen Methode.


Gehört vielleicht xmacro in diese Antwort? Es kann "Tastenanschläge und Mausbewegungen in X-Displays aufzeichnen / wiedergeben".
Roadmr

@roadmr Wenn ich damit benutzerdefinierte Tastaturkürzel erstellen kann, dann ja!
Seth

Vielen Dank für das Hinzufügen dieses Threads. Ich suche nach einer Möglichkeit, eine Taste wie eine Maustaste zu verwenden (gedrückt halten und ziehen, klicken usw.). Dies scheint im Thread zu fehlen.
Krumpelstiltskin

@krumpelstiltskin Derzeit kenne ich keine Möglichkeit, eine solche exakte Vervielfältigung einer Maus zu erreichen. Ich schlage vor, Sie stellen eine neue Frage. Wenn ich es herausfinde, kann ich immer noch antworten, oder jemand anderes könnte eine bessere Antwort haben :)
Seth

1
Hier ist eine xkbAntwort: askubuntu.com/a/347382/354350
DJCrashdummy

Antworten:


94

xbindkeys ..

sudo apt-get install xbindkeys

Xbindkeys ist ein sehr vielseitiges Programm, mit dem Sie Schlüssel sehr einfach neu zuordnen können. Es verwendet eine Konfigurationsdatei, die sich standardmäßig in Ihrem Home-Verzeichnis befindet, um die Tastenzuordnungen in bestimmte Befehle zu ändern.

Um eine Standard-Konfigurationsdatei zu erstellen, verwenden Sie den Befehl:

xbindkeys --defaults

Welches druckt die Standard-Konfigurationsdatei. Wenn Sie also die Datei mit den Standardwerten erstellen möchten, verwenden Sie Folgendes:

xbindkeys --defaults > $HOME/.xbindkeysrc

Damit werden die Standardwerte in eine versteckte Datei mit dem Namen .xbindkeysrcin home ( ~) gedruckt .

Um nun die Tastenzuordnungen tatsächlich zu ändern, müssen wir zunächst den Namen oder das Tastensymbol dieser Tasten kennen. xbindkeysErmöglicht es uns, den -kHandle zu verwenden, um den Namen eines Schlüssels oder einer Tastenkombination zu finden. Lauf:

xbindkeys -k

Und drücken Sie eine Taste oder Tastenkombination. Ihre Ausgabe sieht ungefähr so aus (wenn Sie drücken space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"teilt uns mit, dass der SpaceTaste derzeit kein Befehl zugeordnet ist .

m:0x10 + c:65
Mod2 + space  

Ist der Name des Schlüssels / der Tastenkombination.

die Konfigurationsdatei ..

Öffnen Sie die zuvor erstellte Konfigurationsdatei:

gedit .xbindkeysrc  

Hier ist ein Auszug aus der Standard-Konfigurationsdatei:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Jede Zeile, die mit beginnt, #ist ein Kommentar und wird nicht gelesen oder ausgeführt xbindkeys.

Bisher ist die einzige Zeile, die nicht auskommentiert ist:

"xbindkeys_show" 
 control+shift + q  

Dieser Auszug zeigt die grundlegende Syntax von xbindkeysBefehlen:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Wie Sie sehen können:

"xbindkeys_show" 
 control+shift + q  

Führt den Befehl aus, xbindkeys_showwenn Sie Ctrl+ Shift+ drücken q.

Schlüssel an Befehle binden

Versuchen wir nun, ein paar Schlüssel zu binden. Ich empfehle, die gesamte Standarddatei zu löschen, damit sie leer ist. Es enthält voreingestellte Tastenkombinationen, die Sie wahrscheinlich nicht möchten.

Nehmen wir nun an, Sie möchten Ctrl+ verwenden b, um Ihren Browser zu öffnen. Zuerst müssen Sie wissen, wie der Name oder das Schlüsselwort von Ctrl+ blautet. Wie bereits erwähnt, können Sie mithilfe xbindkeys -kvon den Namen eines Schlüssels oder von Schlüsseln suchen, aber es gibt einen einfacheren Weg. Für einfache Kombinationen wie Ctrl+ können bSie einfach verwenden:

Control+b

Viel einfacher ist es nicht!

Suchen Sie nun den Befehl für Ihren bevorzugten Browser:

  • Für Firefox: firefox

  • Für Chrom: chromium-browser

  • Für die Oper: opera

Erinnern Sie sich an die Syntax von früher? Der xbindkeysBefehl zum Starten von Firefox (oder Ihres anderen bevorzugten Browsers), wenn Sie Ctrl+ drücken, blautet:

"firefox"
Control+b

Nun lege das in deine Konfigurationsdatei und speichere sie. Jetzt stellen Sie möglicherweise fest, dass Ihr Befehl noch nicht funktioniert, weil er xbindkeysnicht ausgeführt wird. Zum Starten einfach xbindkeysvon einem Terminal aus starten . Ihr Ctrl+ bsollte jetzt Ihren Browser starten!

Schlüssel an andere Schlüssel binden

Wenn Sie möchten, dass eine Taste auf Ihrer Tastatur eine andere Taste auf Ihrer Tastatur aufruft, benötigen Sie eine zusätzliche Software, die xbindkeysdies nicht unterstützt. Ich kenne zwei Programme, die wir verwenden können, xdotoolund xte. Ich bevorzuge, xtealso werde ich das benutzen.

Es installieren:

sudo apt-get install xautomation

Die Syntax für xtelautet wie folgt:

xte 'command key/mousebutton/xyCoordinates'

Beispiele:

  • So rufen Sie einen einzelnen Tastendruck auf: xte 'key keyName'

  • So rufen Sie eine Tastenkombination auf: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • So rufen Sie eine Maustaste auf: xte 'mouseclick buttonNumber' (Wir werden das Finden von Tastennummern etwas später erörtern.)

  • So bewegen Sie die Maus: xte 'mousemove xCoordinate yCoordinate'

  • Und mehr! Lesenman xte

Nachdem Sie den Befehl zum Simulieren von Tastendrücken kennen, können Sie ihn wie folgt aus Ihrem xbindkeysSkript aufrufen :

"xte 'key b'"
Control+b  

Wie Sie vielleicht erraten haben, wird dies aufgerufen, xte 'key b'wenn wir Ctrl+ drücken b, wodurch ein Eintrag in ein bDokument eingegeben wird, an dem Sie gerade arbeiten.

Ich , was zu beachten ist jedoch, dass xbindkeysund xtenicht immer sehr gut zusammenarbeiten. Manchmal muss man die Tasten genau zur selben Zeit drücken , um ausgegeben zu werden, manchmal funktioniert es einwandfrei. Dies kann oder kann nicht mit Systemkonfiguration und / oder Hardware zu tun haben .. Ich bin nicht sicher. Siehe MaggotBrain Antwort für eine zuverlässigere Art und Weise Schlüssel zu anderen Tasten zu binden.

Binden von Maustasten an Befehle

Sie können auch xbindkeysMaustasten an Befehle binden (und von dort aus Tastaturkürzel, siehe oben). Das Grundformat für Maustasten sollte Ihnen jetzt bekannt sein:

" [command to run]  "
b:n

Wo [command to run]ist der Befehl, den Sie ausführen möchten, und ndie Nummer der Maustaste, die Sie für diesen Befehl verwenden möchten.

Wenn Sie die Nummer Ihrer Maustaste nicht kennen, können Sie xevherausfinden, um was es sich handelt:

xev | grep button

Die Ausgabe wird ungefähr so ​​aussehen:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Wenn ich jede meiner Maustasten drücke.

Zum Beispiel:

" firefox "
b:2

Startet Firefox, wenn ich die mittlere Maustaste drücke.


Ist es mit xbindkeys möglich, Meta + C / V für das Kopieren / Einfügen und Meta + Space für die Sprachumschaltung zuzuordnen?
Sonique

Gibt es eine Möglichkeit, eine Folge von Zeichen an eine einzelne Taste anzuhängen, z. B. "equation" an die Lauter-Taste anzuhängen?
JPi

55

Xev und xmodmap

Ändern der Tastenkombinationen mit xevund xmodmap.

Beide Befehlszeilenanwendungen sind standardmäßig verfügbar, sodass keine zusätzliche Software installiert werden muss.

Xev "erstellt ein Fenster und fordert den X-Server auf, Ereignisse zu senden, wenn etwas mit dem Fenster passiert (z. B. Verschieben, Ändern der Größe, Eingeben, Anklicken usw.)." xev man page

xmodmap ist ein "Programm zum Bearbeiten und Anzeigen der Tastaturmodifikatorzuordnung und der Tastaturzuordnungstabelle, die von Clientanwendungen zum Konvertieren von Ereignistastencodes in Schlüsselsymbole verwendet werden." xmodmap man page

Das folgende Beispiel ordnet die Caps_LockTaste dem Verhalten der EscTaste neu zu (viele vi / vim-Benutzer halten dies für eine nützliche Tastaturzuordnung).

Mit xev

Starten Sie die xevAnwendung über ein Terminalfenster ( Ctrl- Alt- t).

Die Anwendung wird initialisiert, zeigt eine Reihe von Zeilen an und startet ein leeres Fenster. Behalten Sie das xevAnwendungsfenster im Fokus und drücken Sie die Taste, deren Eigenschaften / Verhalten Sie verwenden möchten.

  • Drücken Sie die ESCTaste

Im Terminalfenster sehen Sie mehrere Ausgabezeilen. Notieren Sie sich die 3. zurückgegebene Zeile. Dieser enthält den Namen der Eigenschaft, die Sie auf den anderen Schlüssel verschieben möchten.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

In diesem Fall verwendet der EscSchlüssel (Schlüsselcode 9) den Namen "Escape" .

  • Drücken Sie die Caps LockTaste

Diesmal suchen wir nach dem verwendeten Schlüsselcode Caps Lock.

Beachten Sie auch hier die 3. Zeile:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Verwendung von xmodmap

Nachdem wir die Informationen zu den Schlüsseln erhalten haben, von denen wir Änderungen vornehmen möchten xev, werden wir sie xmodmapzum Ändern der Schlüsselkarten verwenden . Führen Sie am Befehlsterminal ( Ctrl+ Alt+ t) die folgenden Befehle aus:

  • Dieser Befehl ändert das Caps Lock, um dasselbe Verhalten wie zu verwendenEsc

    xmodmap -e "keycode 66 = Escape"
    
  • Diese Option druckt eine Keymap-Tabelle als Ausdruck in die Datei ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Aktivieren Sie die Änderungen (nur für diese Anmeldesitzung) mit folgendem Befehl:

xmodmap ~/.Xmodmap

Änderungen über Neustarts hinweg persistent machen:

  • Wenn dies nicht der Fall ist, erstellen Sie eine Datei in Ihrem Basisordner mit dem Namen .xinitrc.

    touch .xinitrc
    
  • Fügen Sie die folgende Zeile in die Datei ein und speichern Sie die Datei:

    xmodmap ~/.Xmodmap
    

Ändern von Schlüsseln mit unterschiedlichem Statusverhalten

(wie Num Lock)

  • Besorgen Sie sich die Keymap-Tabelle für die Modifikatortasten (Ausgabe hier abgekürzt)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

Wenn Sie ändern, zum Beispiel wollten das Verhalten der Periode auf Del/ PeriodTaste auf der Zifferntastatur, um ein Komma, verwenden Sie den folgenden Befehl ein :

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Beachten Sie, dass mod2hiermit die Tastenzuordnung verwendet wird, um das Tastenverhalten zu ändern, wenn der Modifikator Num Lockgedrückt wird. Die Syntax hierfür lautet:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Ressource


2
+1! Ich habe eine koreanische Tastatur ohne Alt-Gr-Taste, und ich brauchte sie, also war Ihre Antwort sehr hilfreich, damit sie funktioniert. Zum späteren Nachschlagen, und da die Alt-Gr-Taste nicht die am einfachsten einzustellende ist, hier der Befehl (ich habe die Hanja-Taste mit dem Code 130 verwendet): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh

43

Ubuntu (In diesem Beispiel verwende ich 16.04) verfügt standardmäßig über zwei Kategorien, die standardmäßig in den Systemeinstellungen festgelegt sind:

Um zu den Systemeinstellungen zu gelangen, klicken Sie oben mit der rechten Maustaste auf das Zahnradsymbol :

Bildbeschreibung hier eingeben

Wählen Sie dann Systemeinstellungen :

Bildbeschreibung hier eingeben

Hier finden Sie 2 Optionen, mit denen Sie zum Bereich zum Erstellen von Verknüpfungen weitergeleitet werden können.

Bildbeschreibung hier eingeben

Wenn Sie die Option Texteingabe finden Sie die müssen wählen Tastatureinstellungen Link auf der der rechten unteren Ecke , die Sie direkt zu den Shortcuts Optionen schicken.

Bildbeschreibung hier eingeben

Wenn Sie die Option Tastatur auswählen , müssen Sie auf die Registerkarte Verknüpfungen klicken

Bildbeschreibung hier eingeben

Nachdem Sie die Registerkarten Shortcuts erreicht haben, wählen Sie links unten in der Liste die benutzerdefinierten Shortcuts aus:

Bildbeschreibung hier eingeben

Und dann klicken Sie auf den Plus - Zeichen an der Unterseite , um Ihre ganz eigene Verknüpfung zu Beginn der Erstellung:

Bildbeschreibung hier eingeben

Von da an müssen Sie nur noch den Namen der Verknüpfung hinzufügen (verwechseln Sie nicht den Namen der Verknüpfung mit dem Namen des tatsächlichen Befehls, den Sie ausführen möchten). Und unten im Feld Befehl legen Sie fest, welcher Befehl für diese Verknüpfung ausgeführt wird. Im folgenden Beispiel habe ich die Verknüpfung "Erhabener Text 3" genannt, um zu wissen, worauf sich diese spezielle Verknüpfung bezieht. Und auf dem Befehlsfeld fügte ich den tatsächlichen Befehl hinzu, der ist subl.

Bildbeschreibung hier eingeben

Am Ende wird auf dem Bildschirm Folgendes angezeigt: Da der Verknüpfung noch keine Taste oder Tastenkombination zugewiesen ist, ist sie standardmäßig deaktiviert:

Bildbeschreibung hier eingeben

Wir würden dann auf die Meldung "Deaktiviert" klicken, um eine Tastenkombination hinzuzufügen:

Bildbeschreibung hier eingeben

In diesem Teil weise ich die Tastenkombination SHIFT+ CTRL+ zu, Ssodass beim Drücken dieser Kombination die Sublime Text App geöffnet wird.

Bildbeschreibung hier eingeben

Danach können Sie Ihre Kombination einfach testen, indem Sie die entsprechende Tastenkombination drücken und die App geöffnet sehen:

Bildbeschreibung hier eingeben

ANMERKUNG: Für spezielle Kombinationen wie die, mit denen der X-Server beendet werden soll, empfehle ich, den folgenden Link zu besuchen: Wie aktiviere ich Strg-Alt-Rücktaste, um den X-Server zu beenden?


Ich bin am 13.10 und habe dieses 'Texteingabe'-Symbol überhaupt nicht in meinen Systemeinstellungen. :(
wim

Hallo wim, kannst du einen Link zu einem Bild bereitstellen, das deine Systemeinstellungen zeigt.
Luis Alvarado

2
Leider sind wir jetzt am 15.04. Diese Antwort ist ein verstümmeltes Durcheinander. Tastaturlayout ist weg und damit die Möglichkeit, X Server zu töten. Die Screenshots mischen Screenshots vor 13.04 (wen interessiert das ?!) und später, und jemand hat sie an der falschen Stelle eingefügt. "Klicken Sie auf die Optionen unten rechts" ist also weit von dem tatsächlichen, veralteten Screenshot entfernt. :-(
skierpage 29.06.15

@skierpage Deshalb habe ich diese Antwort gemacht: askubuntu.com/questions/367983/… hoffe, es hilft.
Luis Alvarado

If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...Wo befindet sich die Optionsschaltfläche bei Versionen> 13.04?
Dinosaurier

21

Gehen Sie zu SystemeinstellungenKeboard , wählen Sie die Registerkarte Verknüpfungen und fügen Sie eine neue benutzerdefinierte Verknüpfung für Ihren Browser hinzu. Wenn Ihr Standard-Brouser Firefox ist, verwenden Sie das firefoxBefehlsfeld für. Wenn Ihr Standard-Brouser Firefox ist, verwenden Sie chromium-browserund so weiter:

Benutzerdefinierte Verknüpfung hinzufügen


Vielen Dank. Siehe auch meine eigene Antwort für einige Besonderheiten bezüglich des tatsächlichen Einstellens der Schlüssel. Hatte mich zuerst verwirrt, obwohl ich am richtigen Ort war.
Michael Durrant

2
Das funktioniert aber in meinem Fall nicht. Ubuntu lässt mich (aus irgendeinem Grund) die Tastenkombinationen überhaupt nicht setzen! Ich habe bis Schritt 4 gefolgt (wie im Bild gezeigt). Verpasse ich etwas?
Vaibhav Kaushal

2
Ich bevorzuge diese Antwort gegenüber den Antworten auf die doppelte Frage.
Mr. B

3
@VaibhavKaushal: In Schritt 5 musst du rechts auf "deaktiviert" klicken und dann die
gewünschte

Möglicherweise ist ein Neustart erforderlich, damit die Änderungen wirksam werden
Shirley Temple,

18

Sie können komplexe Tastenkombinationen (mit mehreren Tasten) erstellen, indem Sie AutoKey über das Software Center installieren . Im Gegensatz zu xmodmap bindet AutoKey die tatsächlichen Tasten auf Ihrer Tastatur nicht neu. Es wird im Hintergrund ausgeführt und fängt Ihre definierten Tastaturkürzel ab. Anschließend werden simulierte Tastendrücke an Ihre Anwendungen gesendet.

Wenn Sie AutoKey zum ersten Mal starten, wird der Dienst im Hintergrund gestartet (das Benachrichtigungssymbol wurde aus Gründen der Einheit nicht aktualisiert, sodass keine visuelle Anzeige erfolgt). Sobald es ausgeführt wird, können Sie die Konfigurationsoberfläche aufrufen, indem Sie den Launcher erneut ausführen:

Bildbeschreibung hier eingeben

Öffnen Sie nun Bearbeiten> Einstellungen und wählen Sie "AutoKey bei Anmeldung automatisch starten", um sicherzustellen, dass Ihre Verknüpfungen immer funktionieren, wenn Sie angemeldet sind.

Zuordnung einer Tastenkombination zu einer anderen Tastenkombination

  1. Wählen Sie Datei> Neu> Phrase.
  2. Stellen Sie sicher, dass "Einfügen mit" auf "Tastatur" eingestellt ist.
  3. Geben Sie die Tasten, denen Sie zuordnen möchten , in das Textfeld ein.

    • Sondertasten (keine Zeichen) werden mit den hier dokumentierten Codes dargestellt .
    • Wenn Sie mehrere Schlüssel eingeben, werden diese der Reihe nach gesendet, es sei denn, Sie platzieren einen +zwischen ihnen (z. B. <ctrl>+cwürde in den meisten Anwendungen kopieren; <ctrl>+c<ctrl>+n<ctrl>+vwürde ein neues Dokument mit der Auswahl erstellen; <shift>+ubuntuwürde den Text "Ubuntu" eingeben).
  4. Drücken Sie die "Set" -Taste neben "Hotkey". Dadurch wird ein Dialog aufzurufen , mit dem Sie die Tastenkombination die Sie zuordnen möchten bestimmen können , aus :

    Bildbeschreibung hier eingeben

  5. Wählen Sie Datei> Speichern

Ein Beispiel für eine abgeschlossene Konfiguration (die gesendet wird, <enter>wenn Sie auf drücken <ctrl>+m) sieht folgendermaßen aus:

Bildbeschreibung hier eingeben


Hinweis: Derzeit verwaltet Debian (wo Ubuntu das AutoKey-Paket erhält) sein AutoKey-Paket nicht. Aktuelle Installationsanweisungen finden Sie unter: github.com/autokey/autokey/wiki/Installing
Joe

15

Versuche dies:

Installieren Sie ein Programm namens XKeyCaps. Zum Installieren drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen die folgenden Befehle aus:

sudo apt-get install xkeycaps

Nach der Installation können Sie xkeycaps an der Eingabeaufforderung ausführen, um das Programm auszuführen. Sobald es ausgeführt wird, wählen Sie das richtige Tastaturlayout und klicken Sie auf OK

Bildbeschreibung hier eingeben

Wenn Sie dann die Tastatur auf dem Bildschirm sehen, klicken Sie mit der rechten SMaustaste auf die gewünschte Taste, in Ihrem Fall auf die , und wählen Sie Austauschschlüssel.

Bildbeschreibung hier eingeben

Stellen Sie sicher, dass Sie die folgende Zeile zu Ihren Sitzungen hinzufügen, damit sie bei jedem Start automatisch gestartet wird.

xmodmap ~/.xmodmap-`uname-n`

Quelle: UFM ytsejam1138


Ist uname-nsein soll uname -n?
wjandrea

Laut der Quelle ist es unmae-n. Ich habe keinen Zugang zu einer Ubuntu-Maschine zum Testen, aber wenn ich das tue, werde ich es weiter überprüfen.
Mitch

8

Wenn Sie nur die Tasten neu zuordnen möchten, sind die anderen Antworten großartig.

Es gibt jedoch einen anderen Weg, sich dem anzunähern. AutoKey ist ein Tastaturmakroprozessor, mit dem Sie eine beliebige Tastenkombination mit einem Skript verknüpfen können, das fast alles kann, was Sie mit Ihrer Tastatur und vielem mehr tun können.

AutoKey verfügt über einen Skriptrekorder und eine einfache Möglichkeit, grundlegende Schlüsselsequenzen einzugeben. Die Skripte sind jedoch in Python geschrieben und können fast alles ausführen, was Sie codieren können.

Die einfachste Möglichkeit, es zu verwenden, besteht darin, Tastatureingaben an Ihre Anwendungen / Ihren Desktop zu senden. Wenn es auf diese Weise verwendet wird, können das System / die Anwendungen nicht erkennen, dass Sie nicht tippen. Daher ist keine API oder andere Schnittstelle erforderlich. Sie tun nur das, was Sie eingegeben haben.

AutoKey kann auch Phrasen verarbeiten. Wenn Sie eine auslösende Zeichenfolge eingeben, kann diese durch neuen Text ersetzt werden (entweder sofort oder nachdem Sie ein Trennzeichen wie eine neue Zeile oder ein Tabulatorzeichen eingegeben haben).

Es verfügt auch über Fensterfilter, mit denen Sie festlegen können, dass eine bestimmte Phrase oder ein bestimmtes Skript nur in bestimmten Fenstertypen ausgeführt wird (z. B. in Fenstern, deren Titel Mozilla enthält, sodass diese nur in Firefox oder Thunderbird funktionieren).

AutoKey verfügt derzeit über Gtk- und Qt-Versionen.

Bearbeitungen:

Installationsanleitung

Benutzerforum Aktives Benutzerforum.

Es gibt eine Reihe von Beispielskripten im Wiki. Da es sich in erster Linie um eine GUI-App mit vielen Optionen handelt, würden Beispiele viele Screenshots und einen ganzen Artikel erfordern.

Ich habe eine Phrase definiert, die bei der Eingabe von " Jmail! " Diese sofort durch meine ziemlich lange E-Mail-Adresse ersetzt.

Ich habe ein Skript geschrieben, das durch Tippen ausgelöst wird Ctrl- und Pdas nur in Fenstern aktiv ist, deren Titel "Mozilla" enthält. Tippen Ctrl- PÖffnet den Druckdialog (Firefox oder Thunderbird), wählt In Datei drucken und gibt den Namen der nächsten verfügbaren Druckdatei in meine Druckwarteschlange ein (ich nummeriere sie mit 01, 02, ... und das Skript liest die Warteschlange Verzeichnis, findet die letzte Dateinummer und erhöht sie um 1). Ich verwende es mit meiner Duplex- Druckemulationssoftware ( Duplexpr ), um eine Menge Tastenanschläge und Mausbewegungen zu vermeiden .

Ich habe einige andere Skripte von Spielern gesehen, mit denen sie sehr schnell auf Informationen über ihren Charakter und ihre Ressourcen zugreifen können, damit sie sich auf die Aktion konzentrieren können.


1
Können Sie Informationen zur Installation und möglicherweise auch zur Verwendung hinzufügen? Das wäre fantastisch!
Seth

AutoKey wurde teilweise von code.google nach GitHub migriert. Siehe github.com/autokey/autokey . Es gibt auch einen Python 3-Zweig - github.com/guoci/autokey-py3 .
Joe

Die aktuelle Version von AutoKey finden Sie unter github.com/autokey/autokey. Der Python 2-Zweig wurde abgeschrieben.
Joe

7

TASTATURTASTEN ALS MAUSTASTEN VERWENDEN

Möglicherweise möchten Sie einer Maustaste eine Tastaturtaste zuordnen. Wenn Sie mit einer Tastaturtaste klicken möchten (nützlich, wenn Sie ein Macbook oder eine fehlerhafte Trackpad-Taste haben), können Sie Folgendes tun.

  1. Installieren Sie einige Dienstprogramme:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. Finden Sie den Schlüsselcode für den Schlüssel, den Sie zuordnen möchten:

    • Geben Sie xev | grep keycodedas Terminal ein
    • Wenn Sie die gewünschte Taste drücken, wird eine Zeile wie die folgende angezeigt:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. Ordnen Sie mithilfe des Schlüsselcodes den Schlüssel erneut zu, um dasselbe wie mit der linken Maustaste zu tun:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3ist die rechte Maustaste und Pointer_Button2ist die Mitte.


4

Mit xkb

xkbist die X Keyboard-Erweiterung. Es ist für die Zuordnung der Tasten Ihrer Tastatur zu den festgelegten Funktionen verantwortlich. xkbSymbole finden Sie in /usr/share/X11/xkb/symbols/. Die Modifikatortasten sind zugeordnet /usr/share/X11/xkb/symbols/pc.

Sprich, ich muss die Funktionen Caps Lockund Left ControlTasten umschalten . Diese Änderungen sind für die pcDatei erforderlich :

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Um die neuen Zuordnungen anzuwenden, müssen Sie den xkbCache löschen von /var/lib/xkb:

rm -rf /var/lib/xkb/*

Starten Sie jetzt einfach Ihre X-Sitzung neu und Sie können loslegen.

Quelle: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/

Edit: ein Doing lsinnerhalb des symbolsVerzeichnisses ergibt dies:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Die Zuordnungen in der Datei rubasieren auf der russischen Standardtastatur. Der macintosh_vndrOrdner enthält die Zuordnungen für Apple-Tastaturen. Kurz gesagt, dieser Ansatz ist so vielseitig. Mach weiter und spiel damit :)


Sie haben 2 Dateien erwähnt. An welcher Datei werden die Änderungen vorgenommen? :)
Seth

Ich erwähnte nur eine Datei - /usr/share/X11/xkb/symbols/pc.
Crispon

Mein Fehler. Ich habe einen zweiten Blick darauf geworfen, dass der erste Pfad ein Ordner und keine Datei war. Bearbeitet, um es ein bisschen offensichtlicher zu machen :)
Seth

3

Es stellte sich heraus, dass es unter der Anwendung "Tastatur" ist.

Wenn Sie das aufrufen, können Sie die Verknüpfungen nach Bedarf ändern ...

Änderung ist ein bisschen seltsam bei der ersten Verwendung. Sie klicken auf die rechte Seite (die Spalte mit Strg-Alt-T, Deaktiviert usw.) und klicken dann auf die tatsächlichen Tasten, z ctrlaltb. oder klicken Sie weg) und die neue Verknüpfung funktioniert jetzt.


1

Die Verknüpfung bereits als WWW existiert, es ist einfach ändern Ctrl+ Alt+ b. Sie müssen kein neues erstellen.

Bildbeschreibung hier eingeben


1

CompizConfig-Einstellungsmanager (CCSM)

Mit CCSM können Sie einige Systemtastenkürzel ändern.

Verwenden Sie zum Installieren das Software Center oder den folgenden Befehl:

sudo apt-get install compizconfig-settings-manager

Zum Beispiel

Ich habe es verwendet, um die Verknüpfung "Window spread" von der Standardverknüpfung " Super+" Win " Super+ " zu ändern Tab, wie unter Windows 10. Von meiner Antwort auf einen anderen Thread :

  1. Führen Sie CCSM über den Dash aus.
  2. Gehen Sie zu Fensterverwaltung -> Skalieren -> Registerkarte Bindungen -> Fensterauswahl einleiten
  3. Klicken Sie auf das Tastaturkürzel ( <Super>wauf Ihrem PC, aber <Super>Tabin diesem Screenshot).

    CCSM - Fensterverwaltung - Skalieren

  4. Klicken Sie auf Tastenkombination erfassen , drücken Sie die gewünschte (n) Taste (n) und klicken Sie dann auf OK.

    Edit Initiate Window Picker


1

Ich wollte Print Screen drücken, um einen Screenshot mit der gnome-screenshotAnwendung zu speichern , wie in Mint

Aber ich wollte es mit dem Terminal machen, nicht mit der GUI, da ich es beim Erstellen einer benutzerdefinierten ISO mit squashfsTools als Standard festlegen möchte .

Zuerst habe ich mit dem Befehl gnome-screenshot installiert

sudo apt-get install gnome-screenshot

Dann habe ich die benutzerdefinierte Verknüpfung mit Einstellungen -> Tastatur -> Benutzerdefinierte Verknüpfungen -> Schaltfläche Hinzufügen (+) -> zugewiesen

Im Dialog:

  • Name: Screenshot
  • Befehl: gnome-screentshot

Klicken Sie auf die Schaltfläche Hinzufügen

Drücken Sie dann die Print screenTaste.

Der Schlüssel ist jetzt gebunden und ich kann die Screenshots nach Bedarf speichern.
Aber nicht mit Terminal, es ist die GUI-Methode

Dann installierte ich dconf-editormit

sudo apt-get install dconf-editor

Und suchen Sie nach gnome-screenshot
Ich finde meine benutzerdefinierten Tastenkombinationen auf diesem Pfad

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Werte von Schlüsseln sind:

  • Bindung 'Print'
  • Befehl 'gnome-screenshot'
  • Name 'Druckbildschirm'

Jetzt kopiere ich diese und lösche die benutzerdefinierte GUI-Tastenkombination

Ich öffne das Terminal und tippe diese Befehle

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

Und voila

Jetzt kann ich Screenshots ohne GUI nur mit dconfund Terminal speichern . Ich brauche auch nicht dconf-editormehr, es wurde nur installiert, um die Werte zu erhalten.


1

Ich habe Kevins Lösung (den xmodmap-Ansatz) auf Ubuntu 18.04 ausprobiert. In meinem Fall hat es nicht funktioniert. Doch dieses Verfahren hat es endlich geschafft:

  • Kopieren Sie xmodmap .Xmodmapin einer Datei mit dem Namen .xsessionanstatt .xinitrc.
  • Ändern Sie die Berechtigungen der Datei (Rechtsklick, Eigenschaften, Registerkarte "Berechtigungen", Ändern der Berechtigungen auf "Lesen und Schreiben" und Aktivieren des Kontrollkästchens im Fenster).
  • Fügen Sie eine Startanwendung mit /home/<YOUR_USER_NAME>/.xsessiondem Befehl as hinzu.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.