Wie mache ich die Feststelltaste zu einer dritten Umschalttaste?

18

Wie mache ich die Feststelltaste wie eine andere Umschalttaste?

Hier gibt es jede Menge Fragen zum Neuzuweisen oder Starten eines benutzerdefinierten Befehls. Ich möchte nur, dass es wie eine andere Umschalttaste funktioniert. Ich möchte nicht, dass andere Tasten ihre Funktion ändern, nur diese.

Tastaturlayout / Feststelltaste funktioniert nicht. Ich verstehe nicht, wie ich es in CCSM neu zuordnen kann.

Ich benutze jetzt eine UK-Tastatur, habe aber gelernt, auf einer US-Tastatur zu tippen. Die kleinere linke Umschalttaste ist DRIVING ME NUTS.

Tom Brossman
quelle
1
@ David-dein Freund OP speziell gesagt xmodmapfunktioniert nicht.
TheWanderer
1
In xkb scheint dies etwas mit Kompatibilitätskarten zu tun zu haben, die bestimmte Tastenkombinationen in Aktionen und nicht in Symbole umsetzen. Dies wird mehr Recherche- und Testzeit in Anspruch nehmen, als mir derzeit zur Verfügung steht. Wenn ich die Chance bekomme, werde ich mich weiter damit befassen, wenn nicht, wird diese Brotkrume vielleicht jemand anderen in die richtige Richtung führen.
Elder Geek

Antworten:

13

Erweitern auf @ Zacharee1 Antwort:

mache ein Backup mit cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

Dann bearbeiten Sie mit gksu gedit /usr/share/X11/xkb/symbols/pcoder Ihrem Lieblingseditor.

Suchen Sie die Zeile (22), in der steht:

key <CAPS> { [ Caps_Lock ] };

und ändere es auf

key <CAPS> { [ Shift_L ] };

und die Zeile (36), die besagt:

modifier_map Lock { Caps_Lock };

und ändere es auf

//modifier_map Lock { Caps_Lock }; (das sollte es in der Tat auskommentieren Deaktivieren der Sperre)

Tests haben ergeben, dass das Num Lockimmer noch wie erwartet funktioniert. Weitere Tests haben ergeben, dass die Tastatur-Anzeigeleuchten in 16.04 selbst auf einem nicht modifizierten System etwas legasthen zu sein scheinen. Scroll Lock-Anzeige bei Anmeldung an, aber Scroll Lock aus und Num Lock-Anzeige aus, aber Num Lock an. Das Antippen der linken CtrlTaste scheint dieses Problem zu beheben, und ich bin mir nicht sicher, ob es mit der Verwendung eines KVM-Switches zusammenhängt (was möglich ist).

Hinweis: Weitere Tests haben ergeben, dass die NumLock-Anzeigeleuchte auch ohne KVM-Schalter nicht richtig leuchtet und zweimal getippt werden muss, um die Synchronisierung mit NumLock wiederherzustellen. Wenn Sie sie immer eingeschaltet lassen, können Sie die Leuchte ignorieren oder sie antippen, wenn sie Sie stört zweimal, um es wieder zu synchronisieren. Warum dies geschieht, ist wahrscheinlich die Grundlage für eine neue Frage ...

Eine andere einfache Lösung für Ihr ursprüngliches Problem wäre, einfach eine kostengünstige US-Tastatur zu erwerben und die US-Tastaturzuordnung zu verwenden.

Quellen: @ Zacharee1 Antwort und Analyse von /usr/share/X11/xkb/symbols/pcund Versuch und Fehler zu testen

Elder Geek
quelle
Musstest du also dieses Line-36-Ding deaktivieren? Der Wechsel zu Shift_Lgenügte, um die Feststelltaste für mich vollständig zu deaktivieren.
TheWanderer
@ Zacharee1 Ich dachte, dass es die Ursache für die Auswirkungen auf Numlock sein könnte, die Tom Brossman in einem Kommentar zu Ihrem Beitrag erwähnt und nur aus diesem Grund herausgenommen hat.
Elder Geek
Hmm. Das könnte es sein. Ich sehe, ob ich Zanna dazu bringen kann, mit einer VM zu testen, da sie ein britisches Board hat.
TheWanderer
@ Zacharee1 Das wäre cool, da ich diese Hardware nicht zum Testen zur Verfügung habe und mich in Fällen, in denen ein vollständiges Testen nicht möglich ist, oft auf Logik stütze.
Elder Geek
Das hat es endlich getan, getestet und funktioniert (vorerst zumindest). Es ist merkwürdig, dass die Num-Taste auf meiner Tastatur nicht leuchtet, aber die zusätzlichen Zifferntasten sind standardmäßig aktiviert, wenn ich mich anmelde und danach habe ich gesucht. Vielen Dank!
Tom Brossman
10

Sie können dorthin gelangen, indem Sie anpassen, wie die Feststelltaste geändert wird, um ein "a" zu erzeugen. (beispielsweise).

Entfernen Sie den LockModifikator (= Feststelltaste) aus der Caps LockTaste und deklarieren Sie, dass diese Taste das Schlüsselwort sendet Shift_L.

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L

Alternativ können Sie den LockModifikator entfernen und den Modifikator hinzufügen Shift.

remove Lock = Caps_Lock
add Shift = Caps_Lock

In beiden Fällen werden diese Zeilen in die Datei eingefügt ~/.Xmodmap. Test durch Laden mit xmodmap ~/.Xmodmap; Die Datei wird automatisch gelesen, wenn Sie sich in der Standardumgebung anmelden (oder zumindest in den Gnome-Tagen).

Gilles 'SO - hör auf böse zu sein'
quelle
2
Perfekt, das hat funktioniert. Ich habe in meinem Ausgangsverzeichnis ein neues leeres Dokument mit dem Namen ".Xmodmap" erstellt und Ihr erstes Beispiel darin eingefügt. Dann habe ich 'xmodmap ~ / .Xmodmap' in das Terminal eingegeben, damit es sofort wirksam wird. Diese werden beide in der verknüpften Antwort erläutert. Vielen Dank.
Tom Brossman
Der zweite Befehlssatz funktioniert bei mir nicht, aber der erste funktioniert hervorragend. Durch Drücken der Feststelltaste wird nicht einmal die Tastaturbeleuchtung eingeschaltet, sodass nicht einmal meine latente Zwangsstörung ausgelöst wird.
Waldir Leoncio
Gute Antwort, Gilles! Nur um Ihre Antwort zu ergänzen, kann dies auch als ein einziger Befehl ausgeführt werden: xmodmap -e "clear Lock" -e "keysym Caps_Lock = Shift_L" und rückgängig gemacht werden setxkbmap -option , der nicht in eine ~/.XmodmapDatei schreibt , sondern bei Bedarf verwendet und zu Startup Applications hinzugefügt werden kann. Sehr gute Antwort!
Sergiy Kolodyazhnyy
7

Ich ignorierte meine früheren Versuche, dies zu beantworten, und fand etwas, das die Feststelltaste vollständig in Linksverschiebung verwandelt. Kein Umschalten, ich denke es ist hartnäckig und es ist ziemlich einfach.

Zuerst würde ich empfehlen, ein Backup zu erstellen, bevor ich erläutere, wie man es ändert.

Lauf sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

Nun, da es ein Backup gibt, lasst uns mit der Bearbeitung beginnen.

Verwenden Sie Ihren bevorzugten Texteditor, um diese Datei als root zu bearbeiten:

/usr/share/X11/xkb/symbols/pc

Suchen Sie das Segment, das so aussieht (es befindet sich für mich in der Nähe der obersten Zeile, Zeile 22):

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return                ]   };

key <CAPS> {    [ Caps_lock             ]   };
key <NMLK> {    [ Num_Lock              ]   };

bearbeiten

key <CAPS>  {   [ Caps_lock             ]   };

sein

key <CAPS> {    [ Shift_L, Caps_Lock    ]   };

stattdessen. (Das Caps_LockNachher Shift_L,kann unnötig sein.)

Starten Sie Ihren Display-Manager (normalerweise sudo service lightdm restart) neu und die Feststelltaste wird nun nach links verschoben. ( Hinweis: Mein Testcomputer verwendet GNOME, daher musste ich neu starten gdm. Dies verursachte jedoch ein seltsames Flackern im Fallback-TTY und wurde gdmnie neu gestartet. Ich musste vollständig neu starten .)

Dieses konnte ich tatsächlich testen und kann bestätigen, dass es funktioniert.

Angepasst von Permanent xmodmap in Ubuntu 13.04

Der Wanderer
quelle
Danke, aber das stört Num Lock, das ich permanent aktiviert habe. In meiner frühen Fehlerbehebung hat das Ändern von Feststelltaste> Umschalttaste_L /usr/share/X11/xkb/symbols/capslockauch die Num- Taste gestört. 16.04 hat etwas anderes zu bieten, zum Beispiel, dass die Num Lock-Anzeige beim Booten noch eingeschaltet war, jetzt aber beim LightDM-Login erlischt. Wenn ich Ihre Lösung teste, ändert sich die Feststelltaste in Umschalttaste, aber wenn ich zum ersten Mal die Feststelltaste drücke, wird die Num-Taste deaktiviert, und ich muss die Num-Taste ZWEIMAL drücken, um sie wieder einzuschalten (nur beim ersten Mal). Bizarr. Wirklich dankbar für die Hilfe bisher.
Tom Brossman
Vielleicht muss ich eine neue Frage stellen: "Wie vermeide ich, dass die Feststelltaste die Num-Taste am 16.04 stört?" aber ich würde gerne die Ursache hier finden. Entweder das oder es ist Zeit, die Tastatur zu öffnen und einige physikalische Änderungen daran vorzunehmen ...
Tom Brossman
Das ist komisch. Funktioniert Numlock wieder, wenn Sie rennen xkbset nullify lock?
TheWanderer
@TomBrossman Ich weiß nicht, ob sich dadurch etwas für Sie ändert, aber es funktioniert für mich. Anstelle von nur Shift_Lreinstecken Shift_L, Caps_Lock. Stellen Sie sicher, dass die Klammern ausgerichtet sind.
TheWanderer
1
@ TomBrossman Ich benutze gerne sudo, wenn es nicht gefährlich ist, nur um sicherzugehen: p. Als ich die Datei bearbeitete, war das L für die Verschiebung das Kapital, und so war die Feststelltaste eins. Seltsam. Das NumLock-Ding ist auch komisch, da es für mich gut funktioniert. Das Ganze ist komisch: p
TheWanderer
3

Für den 14.04

Ein Einzeiler:

xmodmap -e 'keycode 66=Shift_L'

ABER , im unerwarteten Fall 66ist der Keycode nicht korrekt, zuerst xevin der Konsole ausführen und drücken CapsLock. Dann sehen Sie etwas wie:

KeyPress event, serial 27, synthetic NO, window 0x1200001,
    root 0x101, subw 0x0, time 6417361, (340,373), root:(342,393),
    state 0x0, keycode XX (keysym 0x0207, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Der richtige Schlüsselcode ist der in der XX.

Elder Geek
quelle
1
Schauen Sie sich die Prämie Nachricht: Xmodmap trick no longer works and xkb handles this now..
TheWanderer
Oh mein! liegt es am 16.04? Es funktioniert auf meinem 14.04. Bounty-Kommentar scheint nicht anzugeben.
Ich habe das Kopfgeld nicht gemacht, also weiß ich es nicht wirklich.
TheWanderer
Entschuldigung, dies ist für eine neue 16.04-Installation. Linke oder rechte Umschalttaste wäre in Ordnung, ich habe für die Frage links gewählt, weil sie nebeneinander liegt und xevsie als unterschiedliche Tasten betrachtet.
Tom Brossman