Ziel:
Ich möchte Alt der CapsLock-Taste und Meta der Alt-Taste zuweisen. Auf diese Weise wird die Alt-Taste nicht mehr als Alt und die CapsLock-Taste nicht mehr als CapsLock erkannt.
openSUSE 11.4
Vorher:
openSUSE 11.1 - da ich der einzige Benutzer meines Computers bin, habe ich die Datei / usr / share / X11 / xkb / keycodes / xfree86 "einfach" bearbeitet und sie hat problemlos funktioniert. Die Schlüssel wurden auf der untersten Ebene mit ihren Symbolen verbunden.
Probleme:
xkb
Ich habe eine Variante des polnischen Layouts (pl_ext) erstellt, die (zum Test) aus solchen Einträgen besteht:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { Alt_L, Alt_R };
Dies macht jedoch einfach nichts, die Feststelltaste in xev wird als Alt_L erkannt (Symbol), aber wenn ich die Feststelltaste drücke, verhält sie sich wie eine Feststelltaste (z. B. wenn Sie Datei im Menü haben, sollte Alt + F dieses Menü öffnen, dies nicht ).
Frage: Wie definiere ich eine Layoutdatei, um die Feststelltaste als Alt und die Alt-Taste als Meta festzulegen?
Edit: Die Hälfte des Erfolgs hier! Jetzt habe ich solche Einträge:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { <CAPS> }; // this is a difference
und das funktioniert wie gewünscht. Das tut nicht:
key <LALT> { [ Meta_L ] } ; key <RALT> { [ Meta_R ] } ; modifier_map Mod5 { <LALT>,<RALT> };
Alt-Tasten werden von xev als Meta erkannt, aber ich kann die Menüs trotzdem mit Alt + F öffnen, die Fenster wechseln und sollte es nicht. Andererseits kann ich keinen nationalen Charakter eingeben, und ich sollte es tun.
xfree86
Aber jetzt funktioniert das nicht, ich denke, eine andere Dateitabelle wird anstelle von xfree86 gelesen.
Frage: Wie finde ich heraus, welche Keycode-Tabellendatei vom System (X / Gnome) verwendet wird?
Bearbeiten: Die beste Option für mich - das Bearbeiten von Keycode-Tabellen - wurde durch die Antwort von Macias gelöst !
xmodmap
Die Hälfte des Erfolgs hier. Dieser Teil funktioniert wie gewünscht:
entfernen Lock = Caps_Lock keysym Caps_Lock = Alt_L
Jetzt habe ich die CapsLock-Taste, die Alt zugeordnet ist. Aber dieses:
keysym Alt_L = Meta_L
... macht seltsame Sache. xev zeigt, dass die Alt-Taste Meta zugeordnet ist, aber wenn ich Alt + F drücke (dies sollte Meta + F zugeordnet sein -> nichts tun), wird das Menü Datei geöffnet. Was mehr ist, wenn ich Alt + Tab drücke, bekomme ich einen Fensterschalter (ich sollte nicht - Alt ist jetzt Meta).
Frage: Wie "lösche" ich altes Verhalten für Alt-Taste?
Bearbeiten: Dieser Teil wird durch Gilles 'Antwort gelöst .
Zusammenfassung:
Die Beantwortung einer Frage würde (hoffentlich) mein Problem lösen. Ich bevorzuge jedoch die Verwendung von xkb vollständig, da ich dann alle Dateien für xkb packen und das Layout an einem Ort ändern könnte. Vielen Dank im Voraus für jede Hilfe!
Antworten:
(Bei dieser Antwort geht es nur um xmodmap. Ich bin sicher, dass dies mit XKB möglich ist, ich weiß nur nicht wie.)
Modifikatoren und Keysyms werden unabhängig voneinander zugewiesen. Aber Sie erhalten seltsame Effekte, wenn Sie sie nicht konsequent einstellen. Ich denke, alles, was Sie vermissen, ist der
add
Befehl, einem Modifikator zuzuweisenMeta_L
, obwohl Sie möglicherweise auch die Modifikatortasten löschen und neu zuweisen müssen. Sie können ersetzenMod1
undMod2
durchMod3
,Mod4
undMod5
: sie austauschbar sind, nur sicherstellen , dass Sie eine nicht für zwei verschiedene Zwecke verwendet werden .quelle
keysym Caps_Lock = Alt_L
ist, dass das System bei zweimaliger Ausführung wieder in einen unerwünschten Zustand versetzt wird. Deshalb verwende ich Schlüsselcodes . Sie variieren zwischen Betriebssystemen und Architekturen (nicht zwischen Tastaturen), aber nicht so oft.Ansatz zum Bearbeiten von Schlüsselcodes
Ich habe die Antwort im polnischen Ubuntu-Forum gefunden. Jetzt bearbeitet man nicht die Datei "xfree86", sondern die Datei "evdev". Auf diese Weise können Sie dauerhafte Änderungen vornehmen, die für alle Layouts funktionieren.
Beispiel (auf Gilles-Anfrage) - Melden Sie sich als root an und gehen Sie zu
Erstellen Sie eine Sicherungskopie der Datei "evdev" und bearbeiten Sie sie anschließend. Ändern Sie die Codes nach Ihren Wünschen, zum Beispiel in meinem Fall:
Sie können die Codes finden, indem Sie den Befehl "xev" ausführen, aber Sie können sich einfach die ursprüngliche "evdev" -Datei ansehen.
Abmelden, anmelden, viel Spaß mit Ihrer neuen Tastatur :-).
quelle
Keyboard Preferences
Optionen zumCapslock
Überschreiben der benutzerdefiniertenXKB
Konfiguration, die ich schreibe, auftreten. Da es sich um eine Optionsfeldauswahl handelt, kann ich nicht sehen, dass eine der Regeln in der GUI nicht angewendet wird.Versuche dies:
Beachten Sie die zwei Ebenendefinitionen. Dies liegt daran, dass der Standardwert für LALT [Alt_L, Meta_L] ist. Wenn Sie den zweiten nicht neu definieren, bleibt er Meta_L.
In dieser Antwort auf xkb erfahren Sie, wie Sie einige Schlüssel neu definieren können, ohne die Hauptstandarddateien bearbeiten zu müssen (daher muss kein Root vorhanden sein). In diesem Fall benötigen Sie in der lokalen Symboldatei einen kleinen Abschnitt wie folgt:
quelle