Gibt es in "Ubuntu" eine Stelle, an der eine vollständige Liste der Tasten / Kombinationen / Verknüpfungen gespeichert ist, an die welche gebunden sind?
Was sind die Tastatur- und Mauskürzel von Unity? Auflisten einiger "Unity" -Verknüpfungen zu Dash, Launcher usw. und Auflisten der verwendeten Compiz- Tastenkombinationen . zeigt einen Weg, um Compiz-Bindungen aufzulisten, aber ich suche mehr als das (nicht nur ein paar der nur auf Unity oder Compiz beschränkten Tastaturbindungen), obwohl es ein Anfang ist.
Gibt es eine globale Liste der verwendeten Tastenzuordnungen / Tastenkombinationen / Tastaturkürzel, die irgendwo in Ubuntu gespeichert sind, oder gibt es eine Möglichkeit, sie zu kompilieren und aufzulisten? Eine, die für Ubuntu und die darin laufenden Dinge gilt (Unity, Compiz, Verknüpfungen zu Programmen usw.).
Sicherlich muss Ubuntu dies irgendwo speichern, damit die auf der Tastatur gedrückte Tastenkombination darauf verweist, womit sie verbunden ist. Wenn es in Ubuntu keinen solchen Ort gibt, poste dies als Antwort, damit zukünftige Benutzer, die danach suchen, Bescheid wissen.
Antworten:
Ihr Fenstermanager erhält alle wichtigen Ereignisse vor den Anwendungen. Wenn er diese Ereignisse also nutzen möchte, werden sie von Ihren Anwendungen niemals empfangen. Wenn der Fenstermanager nicht auf die Schlüsselereignisse selbst reagieren möchte, leitet er sie an die Anwendung weiter.
Sie können dies auf folgende Weise selbst überprüfen:
xev | grep KeyPress
die X-Ereignisanzeige.Alt
, um anzuzeigen,xev
dass das Tastenereignis im Terminalfenster angezeigt wird.Ctrl
erneut und beachten Sie, dassxev
das Ereignis eintrat. Beachten Sie, wie das Terminalfenster jetzt aussieht.Left arrow
, um zu einem anderen Arbeitsbereich zu wechseln. (Ich nehme an, Sie haben das als Tastenkürzel für den Fenstermanager.)Right arrow
, um zu Ihrer aktuellen Position zurückzukehrenxev
. Beachten Sie, dass Sie beim Wechseln des Arbeitsbereichs über die Pfeiltasten nach links und nach rechts keine Schlüsselereignisse erhalten haben - die Ausgabe ist dieselbe wie in Schritt 4.Sie sehen also, dass der Fenstermanager in der Praxis alle wichtigen Ereignisse erhält und diese, wenn er sie nicht erfassen möchte, an die Anwendung weiterleitet. Die Anwendung kann dann dasselbe für ihre eigenen Widgets tun (z. B. wie Sie den
Enter
ganzen Tag in Ihrem Webbrowser drücken können, aber nichts tun, bis Sie den Cursor in die Adressleiste oder in ein Feld setzen, in das Sie Text eingeben können). .Es ist Aufgabe der Anwendung, eigene Verknüpfungen festzulegen, und die Anwendungen werden unabhängig voneinander konfiguriert.
Wenn ich mich richtig erinnere, können Sie in KDE 3.x die Standardverknüpfungen (z. B.
Ctrl-s
zum Speichern) im KDE-Kontrollzentrum festlegen. Sie gelten für alle Anwendungen, die mit dem Qt-Toolkit geschrieben wurden, aber ich weiß nicht, ob dies noch möglich ist seit ihrem Wechsel zu KDE 4.quelle
Seit Ubuntu 17.10
Auf diesen Wegen :
Sie können auch
dconf-editor
(GUI) odergsettings
(CLI) verwenden.Seit Ubuntu 12.10-17.04
~/.config/dconf/user
(im dconf-editor:org.gnome.settings-daemon.plugins.media-keys.custom-keybindings
(benutzerdefinierte Verknüpfungen)~/.config/compiz-1/compizconfig
Bis Ubuntu 12.04
Die Verknüpfungen sind je nach verwendetem Desktop unterschiedlich angeordnet (gnome / unity, kde, xfce, lxde usw.).
Für Gnome sind sie unter
~/.gconf/desktop/gnome/keybindings
(benutzerdefinierte Verknüpfungen)und unter
~/.gconf/apps/metacity
.quelle
general/
global_keybindings/
window_keybindings/
gsettings
AnweisungenNein, es gibt keinen einzigen Ort, an dem alle Verknüpfungen gespeichert sind. Anwendungen können ihre Konfigurationen beliebig speichern.
Das heißt, Sie suchen hauptsächlich nach zwei Ebenen: der Anwendungsebene (wie Strg-C zum Kopieren in Firefox) und der Fenstermanagerebene (wie Win + D zum Anzeigen des Desktops). Compiz verwendet gconf, um seine Konfiguration zu speichern .
Bei Anwendungen können Sie diese grob nach ihren Toolkits unterteilen. GTK-Apps verwenden nämlich auch gconf.
Nicht ganz. Die fokussierte Anwendung erhält bei einem X-Tastaturereignis den ersten Kick. Wenn dies nicht der Fall ist, sprudelt sie in andere Anwendungen, nämlich den Fenstermanager. Sie können also ein Spiel haben, das Alt + F4 erfasst und das Fenster nicht schließt (verdammt, Jamestown!). Ich glaube, Sie denken, es geht zu einem zentralen Ereignis-Router, der dann mit einer Datenbank abgeglichen und an sein Ziel geleitet wird. Es ist eher so, als würde man eine Flasche mit einem Getränk herumreichen: Pass, nimm einen Schluck, wenn du willst, und pass den Rest, oder nimm das Ganze und sei gierig.
Die Linux / FOSS-Umgebung ist (wie Sie vielleicht bemerkt haben) ziemlich demokratisch, und alle Anwendungen dazu zu bringen, sich auf ein einziges zentrales Tastaturkonfigurations-Repository zu einigen, ist ein Kinderspiel. Zum einen haben Sie nicht verwaltete Anwendungen, die vor langer Zeit geschrieben wurden und nichts davon wissen.
Update: Laut den Xlib-Dokumenten zum Thema :
Ebenfalls,
Und Sie können ein Attribut zu deaktivieren Ausbreitung gesetzt .
Das Problem ist, dass Sie X nicht mitteilen, auf welche Schlüssel Sie achten sollen, sodass Sie niemals a priori angeben können, auf welche Schlüssel die Anwendung wartet (geschweige denn, was sie tun) oder ob sie tatsächlich beabsichtigen, sie zu verbreiten darauf hören. Daher ist eine zentrale Registrierung auf X-Ebene nicht möglich, sodass Sie sie auf Toolkit-Ebene ausführen müssen, was praktisch unmöglich ist. : D
quelle
Anwendungen speichern ihre Verknüpfungen unabhängig voneinander, sodass es keinen zentralen Ort gibt, an dem sie gespeichert werden.
Ich verstehe nicht den gesamten Prozess der Interaktion Tastatur - Betriebssystem - Kernel - X11 - Fenstermanager - Desktop-Umgebung - Anwendungen, aber wenn ein bestimmtes Fenster wie Gedit den Tastaturfokus hat, kann es damit umgehen die Eingabe für sich allein, und das tut es auch.
quelle
In 11.10 erhalten Sie unter Systemkonfiguration -> Tastatur -> Verknüpfungen eine ziemlich große Liste. Ist es das wonach du suchst?
quelle