In der Vergangenheit habe ich xmodmap
verwendet, um das zu verhindern Caps Lock Drücken Sie die Taste, um die Funktion zu deaktivieren, und sagen Sie dann Launchy , dass der Tastendruck stattdessen ausgeführt werden soll. Ich kann das anscheinend nicht mehr tun.
Was ist der beste Weg, um zu deaktivieren Caps Lockist normales Verhalten, und etwas anderes zu tun?
Von howtogeek.com , das für jedes Betriebssystem eine gute Antwort hat.
Für Linux (einschließlich Ubuntu):
setxkbmap -option <OPTION>
Wobei <OPTION>
zum Beispiel sein kann:
caps:none
- Deaktiviert die Feststelltaste.caps:super
- Die Feststelltaste wird zu einer zusätzlichen Super (aka Win-Taste).caps:ctrl_modifier
- Die Feststelltaste wird zu einer zusätzlichen Strg-Taste .caps:numlock
- Die Feststelltaste wird zu einer zusätzlichen Num-Taste .caps:escape
- Die Feststelltaste 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 LockHinweis: Xmodmap ist veraltet zugunsten von setxkbmap.
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 funktioniert gut mit mir, nachdem ich es mit versucht habe CTRL+Super+Space.
Und Sie müssen launchy
auf die Taskleistensymbole setzen. 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 versuchen Sie doch Synapse für die beste Integration mit Gnome und Einheit.
Dies ist im Grunde eine Änderung der Antwort unter https://askubuntu.com/a/223674/2207 .
Sie können das Verhalten der Feststelltaste auch mit XKBOption
ändern. Diese Änderungen werden sogar auf die virtuellen Konsolen übertragen (/ dev/tty [1-6] oder Strg-Alt-F [1-6]).
Um beispielsweise die Feststelltaste zu deaktivieren, müsste in /etc/default/keyboard
Folgendes stehen:
# 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
Um die nutzlose Feststelltaste einer grundlegenden Verschiebung zuzuordnen, führen Sie Folgendes aus
xmodmap -e "keycode 66 = Shift_L"
Bei der folgenden Methode wird die Kombination von Compiz verwendet, um eine Anwendung zu starten, wenn eine Taste gedrückt wird.
In Summe -
Um das Verhalten der Feststelltaste zu ändern, können Sie xmodmap
wie folgt verwenden:
keycode 66 = cent clear Lock add Control = cent
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.
Sie können eine Liste von KeySym-Namen hier abrufen .
Starten Sie den CompizConfig Settings Manager
Stellen Sie im allgemeinen Abschnitt sicher, dass "Befehle" aktiviert ist, und konfigurieren Sie einen Befehl wie folgt:
N.B. Aktivieren Sie die Schlüsselbindung und verwenden Sie "Tastenkombination greifen", um Ihren "Cent" -Schlüssel zu erkennen. Es ist leider nicht möglich, die Feststelltaste selbst zu erkennen.
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.
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 der Fall ist), können Sie beispielsweise `verwenden. Auf meiner Maschine:
keycode 49 (keysym 0x60, Grave)
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 die Feststelltaste möglicherweise durch die linke Umschalttaste oder F10. Andernfalls wird der gewünschte Befehl möglicherweise beeinträchtigt.
Testen Sie es, um sicherzustellen, dass der Befehl, den ich Ihnen gegeben habe, so funktioniert, wie Sie es möchten.
Gehen Sie zu Startanwendungen und fügen Sie diesen Befehl zu Ihren Startanwendungen hinzu. Auf diese Weise schaltet die Taste bei jedem Start richtig.
Tanzen.
(Schreien Sie zu theprise) Ändern Sie die Tastenkombinationen (Hardware zu Software)
Weitere Hilfe zu xmodmap:
Ubuntu 16.04
setxkbmap -option <OPTION>
aus Wernights Antwort schien sofort für mich zu funktionieren.
Allerdings würde es beim Neustart verschwinden. Um dies zu beheben, habe ich meine Startanwendungen hinzugefügt
Startup Applications
und führen Sie es aus. >> Klicken Sie auf Hinzufügen/usr/bin/setxkbmap -option <OPTION>
als Befehl ein (Hinweis: der vollständige Pfad ist wichtig)Ersetze <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.
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).
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):