Wie kann ich die Feststelltaste neu zuordnen?

69

In der Vergangenheit habe ich verwendet, um xmodmapzu verhindern, dass die Caps LockTaste funktioniert, und dann Launchy angewiesen , stattdessen den Tastendruck zu handhaben. Ich kann das anscheinend nicht mehr tun.

Was ist der beste Weg, um Caps Lockdas normale Verhalten zu deaktivieren und es dazu zu bringen, etwas anderes zu tun?

Mehrdad
quelle
1
Informationen zu
Léo Léopold Hertz 준영

Antworten:

71

Von howtogeek.com, das eine gute Antwort für jedes Betriebssystem hat.

Für Linux (einschließlich Ubuntu):

setxkbmap -option <OPTION>

Wo <OPTION>kann zum Beispiel sein:

  • caps:none - Deaktiviert die Feststelltaste.
  • caps:super- Die Feststelltaste wird zu einem zusätzlichen Super (auch bekannt als Win-Taste).
  • caps:ctrl_modifier- Die Feststelltaste wird zu einer zusätzlichen Strg-Taste .
  • caps:numlock- Die Feststelltaste wird zur zusätzlichen Num-Taste .
  • caps:escape- Caps Lock wird zu einem zusätzlichen Escape .
  • caps:backspace- Die Feststelltaste wird zu einer zusätzlichen Rücktaste .
  • caps:swapescape - Caps Lock wird zu Escape und Escape wird zu Caps Lock

Hinweis: Xmodmap ist veraltet zugunsten von setxkbmap.

Wernight
quelle
3
liebe dich Mann, danke, es funktioniert für Ubutnu 14.10
Andrzej Rehmann
2
funktioniert auch in Ubuntu 15.10! Vielen Dank!
donatello
6
schön und einfach, arbeitet in 16.04
chepyle
4
Um setxkbmapÄnderungen wiederherzustellen (dh wenn Sie Ihre Feststelltaste wieder an ihrem ursprünglichen Speicherort benötigen), müssen Sie nur setxkbmap -option
Folgendes
1
Wenn Sie die Feststelltaste der Rücktaste neu zugeordnet haben und sich jetzt fragen, warum Wörter nicht gelöscht werden, wenn Sie sie gedrückt halten, müssen Sie einen zusätzlichen Befehl verwenden. Nach setxkbmap -option caps:backspacebetreten xset r 66und voilá.
Gabriel
19

Sie können es deaktivieren, indem Sie zu Tastatur-> Layout-> Optionen-> Feststelltaste gehen und "Feststelltaste deaktivieren" wählen.


Bearbeiten :

Ich weiß nicht, warum es bei anderen Tastaturtasten unpraktisch erscheint.

Aber Launchy arbeitet gut mit mir , nachdem er mit dem Versuch CTRL+ Super+ Space.

Bildbeschreibung hier eingeben

Und Sie müssen eine Whitelist launchyfür die Taskleistensymbole erstellen. Siehe Wie kann ich auf weitere Symbole in der Taskleiste zugreifen und diese aktivieren? . Außerdem müssen Sie es zu den Startup-Anwendungen hinzufügen, da es nicht funktioniert, wenn es nicht geöffnet wird.


Als Alternative für Launcy sollten Sie Synapse für die beste Integration in Gnome und Unity ausprobieren .

Binärleben
quelle
Diese Option scheint mir unter Ubuntu 15.04 nicht verfügbar zu sein.
MichielB
19

In Ubuntu 11.10 - 13.04

  1. Öffnen Sie die Anwendung Tastaturlayout und klicken Sie auf die Schaltfläche "Optionen".
  2. Eine Liste mit Optionen zum erneuten Binden wird angezeigt. Wählen Sie "Verhalten der Feststelltaste".
  3. Wählen Sie Ihre bevorzugte Option zum erneuten Verwenden der Feststelltaste.

Screenshot der verfügbaren Optionen

Jjed
quelle
1
@JacobJohanEdwards Hinweis an mich selbst, überprüfen Sie, ob xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'noch funktioniert.
Jjed
Für Vim-Benutzer empfiehlt 'Practical Vim', die Feststelltaste auf Systemebene auf Strg zu setzen. Tastaturlayout> Optionen> Strg-Tastenposition> Feststelltaste, während die Strg-Taste gedrückt wird.
Rpattabi
12
Diese Einstellungen existieren in 13.10 nicht mehr. Installieren Sie gnome-tweak-tool, dort haben Sie ähnliche Einstellungen unter "Tippen".
pcworld
Dies funktioniert bei mir in Ubuntu 12.10 nicht. Das Spiel mit diesen Einstellungen in der Gnomenkontrollzentrale scheint keine Wirkung zu haben.
Andrew Wagner
4
Warum haben sie diese Optionen vom 14.04 entfernt?
Léo Léopold Hertz 준영
16

Dies ist im Grunde eine Änderung der Antwort unter https://askubuntu.com/a/223674/22073 .

Sie können das Verhalten der Feststelltaste auch mit einem ändern XKBOption. Diese Änderungen werden sogar auf die virtuellen Konsolen übertragen (/ dev / tty [1-6] oder Strg-Alt-F [1-6]).

Zum Deaktivieren der Feststelltaste müssten Sie beispielsweise Folgendes eingeben /etc/default/keyboard:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

Dann würden Sie laufen:

sudo dpkg-reconfigure keyboard-configuration

Eine vollständige Liste der Anpassungen von XKBOPTIONS finden Sie unter /usr/share/X11/xkb/rules/base.lst. Hier ist die vollständige Liste meiner Ubuntu 13.10-Maschine: http://sprunge.us/cUZO

Weitere Informationen finden Sie im ArchLinux-Wiki: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg

Ehtesh Choudhury
quelle
Perfekt, ich XKBOPTIONS="ctrl:swapcaps"tausche die linke Strg-Taste mit Großbuchstaben.
Márcio
Es funktioniert am 16.04 in X und den virtuellen Konsolen.
jfs
11

Um die nutzlose Feststelltaste einer grundlegenden Verschiebung zuzuordnen, führen Sie Folgendes aus

xmodmap -e "keycode 66 = Shift_L"
jobwat
quelle
Dies bleibt nach dem Neustart nicht bestehen.
Czarek Tomczak
3
Gehen Sie wie folgt vor, um es nach dem Neustart beizubehalten: Ubuntu Dash-Startseite> Startanwendungen> Hinzufügen> Geben Sie den obigen Befehl ein.
Czarek Tomczak
7

Bei der folgenden Methode wird die Kombination von Compiz verwendet, um eine Anwendung zu starten, wenn eine Taste gedrückt wird.

In Summe -

  1. Ändern Sie das Verhalten der Feststelltaste, um eine andere Taste zu imitieren.
  2. Konfigurieren Sie compiz so, dass es auf den neu imitierten Schlüssel wartet und ein benutzerdefiniertes Skript ausführt.

Ändern Sie die Feststelltaste

Um das Verhalten der Feststelltaste zu ändern, können Sie xmodmapwie folgt vorgehen:

  • erstelle eine Datei zB "capslock"
  • Kopieren Sie das Folgende und fügen Sie es in die Datei ein
keycode 66 = cent
clear Lock
add Control = cent
  • Führen Sie jetzt xmodmap aus, um Ihre Änderung zu erkennen:

xmodmap capslock

Zur dauerhaften Ausführung fügen Sie diesen Befehl den Startanwendungen hinzu.

Das Drücken der Feststelltaste ahmt jetzt nur das Drücken einer Cent-Taste nach. Beachten Sie, dass dies keine Taste ist, die tatsächlich auf meiner Tastatur vorhanden ist.

Hier können Sie eine Liste der KeySym-Namen abrufen .

Compiz konfigurieren

Starten Sie den CompizConfig Settings Manager

Stellen Sie im allgemeinen Abschnitt sicher, dass "Befehle" aktiviert ist, und konfigurieren Sie einen Befehl wie folgt:

Bildbeschreibung hier eingeben

NB aktivieren Sie die Schlüsselbindung und verwenden Sie "Tastenkombination greifen", um Ihren "Cent" -Schlüssel zu erkennen. Es ist leider nicht möglich, compiz zu veranlassen, die Feststelltaste selbst zu erkennen.

Bildbeschreibung hier eingeben

Offensichtlich - ändern Sie "Firefox" für jeden Befehl, den Sie verwenden, um "launchy" zu starten

Wenn Sie nun die Feststelltaste drücken, erkennt compiz die zugeordnete "Cent" -Taste und führt den Befehl - in diesem Fall Firefox - in Ihrem Fall "launchy" aus.

fossfreedom
quelle
Nach wenigen Minuten kehren die Einstellungen zurück - und die Feststelltaste verhält sich wieder wie gewohnt.
Vitaly Zdanevich
5
  1. Verwenden Sie den Befehl xev. Wenn Sie die Eingabetaste drücken, wird xev gestartet. xev übernimmt alle Ihre Eingaben und gibt Informationen über den Schlüssel in die Befehlszeile ein. Ich empfehle, mit der Maus über die Exit-Taste des xev-Fensters zu fahren, die Feststelltaste (oder eine beliebige Taste, über die Sie etwas erfahren möchten) zu drücken und xev sofort zu beenden. Die relevanten Zeilen in meinem System für die Feststelltaste sehen ungefähr so ​​aus:

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Beachten Sie keycode(66) und keysym(0xffe5).

    Sie können jetzt auch Daten für einen anderen Schlüssel abrufen - einen, den Sie nicht wirklich verwenden und der in dem Kontext, in dem Sie die Feststelltaste verwenden möchten, nichts bewirkt. Wenn Sie also möchten, dass die Feststelltaste das Unity-Suchfeld aktiviert (wie dies normalerweise bei Super der Fall ist), können Sie beispielsweise `verwenden. Auf meinem Rechner:

    keycode 49 (keysym 0x60, grave)
    
  2. Binden Sie die Funktion der neuen Taste mit xmodmap an die Feststelltaste. Ich bin mir ziemlich sicher, dass Sie einen Befehl wie den folgenden verwenden möchten:

    xmodmap -e "keycode 66=0x60"
    

    Wenn Sie nun die Feststelltaste in einem Textfeld drücken, wird das Grabzeichen (`) angezeigt. Wenn Sie ihm jedoch eine Tastenkombination zuordnen, wird etwas anderes ausgeführt. Wenn Sie es in einem Textfeld verwenden möchten, ersetzen Sie möglicherweise die Feststelltaste durch die linke Umschalttaste oder F10, oder etwas anderes, das nicht so aussieht, als würde es den gewünschten Befehl stören.

  3. Testen Sie es, um sicherzustellen, dass der Befehl, den ich Ihnen gegeben habe, so funktioniert, wie Sie es möchten.

  4. Gehen Sie zu Startanwendungen und fügen Sie diesen Befehl zu Ihren Startanwendungen hinzu. Auf diese Weise schaltet die Taste bei jedem Start richtig.

  5. Tanzen.

(zur Überraschung rufen) Keybindings ändern (Hardware zu Software)

Weitere Hilfe zu xmodmap:

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html

Daniel
quelle
5

Ubuntu 16.04

setxkbmap -option <OPTION> von Wernights Antwort schien sofort für mich zu funktionieren.

Allerdings würde es beim Neustart verschwinden. Um dies zu beheben, fügte ich meinen Startanwendungen hinzu

  1. Suchen und ausführen Startup Applications>> Klicken Sie auf Hinzufügen
  2. Setzen Sie in /usr/bin/setxkbmap -option <OPTION>als Befehl (Hinweis: der vollständige Pfad ist wichtig)

Ersetzen Sie <OPTION>durch etwas wie caps:escape(ich benutze es für vi)

Hintergrund

Ich habe gerade ein Upgrade von 15.10 auf 16.04 durchgeführt und was auch immer ich verwendet habe, bevor ich aufgehört habe zu arbeiten.

Anthony Astige
quelle
2

Die Option, die ich am besten für mich fand (in jedem X-kompatiblen wm / de), ist das Hinzufügen

Option "XkbOptions" "caps:swapescape"

in der

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

Block in /etc/X11/xorg.conf.d/00-keyboard.conf (falls erforderlich erstellen).

Roman Riesen
quelle
1

während natürlich die xmodmap-Option funktionieren würde, wollte ich eine Option finden, die die GUI verwendet. Dies ist für mich verfügbar (mit Ubuntu 15.10):

  • Installieren Sie das Gnome-Tweak-Tool
  • gehe zu 'Typ'
  • Wählen Sie unter "Verhalten der Feststelltaste" die Option "Feststelltaste ist deaktiviert".
MichielB
quelle
-1

Die robusteste Lösung besteht darin, eine Tastatur zu kaufen, mit der Sie die Tasten in der Firmware neu zuordnen können, dh eine professionelle, programmierbare Tastatur.

Diese kosten in der Regel rund 200 Dollar und haben auch hochwertige mechanische Schlüsselschalter. Sie sind teuer, aber sie sind die einzige Möglichkeit, um zu vermeiden, dass Sie bei jedem neuen Computer, auf dem Sie sich setzen, damit kämpfen müssen, und jedes Mal, wenn die Entwickler grundlegende Änderungen an der Betriebssysteminfrastruktur vornehmen, die so grundlegend sind wie die Tastaturbelegung.

Andrew Wagner
quelle
1
Dies hilft bei einem Laptop nicht.
Wallyk