Czy w „Ubuntu” jest miejsce, w którym jest przechowywana pełna lista tego, do jakich klawiszy / kombinacji / skrótów są przypisane?
Jakie są skróty klawiaturowe i myszy Unity? wymień niektóre skróty „Jedność” do Dasha, Launchera itp. oraz Jak wyświetlić listę używanych skrótów klawiszowych Compiz? pokazuje sposób na wyświetlenie powiązań compiz, ale szukam czegoś więcej (nie tylko kilku skrótów klawiszowych ograniczonych tylko do Unity lub Compiz), chociaż to początek.
Czy istnieje globalna lista powiązań klawiszy / kombinacji klawiszy / skrótów klawiaturowych, która jest przechowywana gdzieś w Ubuntu, czy istnieje sposób na ich kompilację i wyświetlenie? Jeden, który dotyczy Ubuntu i działających w nim rzeczy (Unity, Compiz, Skróty do programów itp.).
Z pewnością Ubuntu musi to gdzieś przechowywać, aby kombinacja klawiszy wciśnięta na klawiaturze była skierowana na to, z czym jest związana? Jeśli nie ma takiego miejsca w Ubuntu, opublikuj post jako odpowiedź, aby przyszli użytkownicy, którzy będą wyszukiwać, dowiedzieli się.
Odpowiedzi:
Twój menedżer okien pobiera wszystkie kluczowe zdarzenia zanim zrobią to aplikacje, więc jeśli chce je zużyć, robi to i Twoje aplikacje nigdy ich nie otrzymają. Jeśli menedżer okien nie chce sam reagować na kluczowe zdarzenia, przekazuje je do aplikacji.
Możesz to zweryfikować samodzielnie w następujący sposób:
xev | grep KeyPress
przeglądarkę zdarzeń X.Alt
, zauważ, żexev
pokazuje kluczowe zdarzenie w oknie terminala.Ctrl
, ponownie zauważ, żexev
wydarzenie się udało. Zwróć uwagę na to, jak teraz wygląda okno terminala.Left arrow
aby przejść do innego obszaru roboczego. (Zakładam, że masz go jako klawisz skrótu menedżera okien).Right arrow
aby wrócić do miejsca, w którym biegnieszxev
. Pamiętaj, że nigdy nie otrzymał żadnych kluczowych zdarzeń dotyczących przełączania obszarów roboczych za pomocą klawiszy strzałek w lewo i w prawo - wynik jest taki sam jak w kroku 4.Widzisz więc, że menedżer okien w praktyce pobiera wszystkie kluczowe zdarzenia, a jeśli nie chce ich przechwytywać, przekazuje je do aplikacji. Aplikacja zrobi to samo dla własnych widżetów (np. Jak możesz naciskać
Enter
cały dzień w przeglądarce, ale nic nie zrobi, dopóki nie umieścisz kursora w pasku adresu lub w polu, w którym możesz wpisać tekst) .To do aplikacji należy ustawianie własnych skrótów, a aplikacje są konfigurowane niezależnie od siebie.
W KDE 3.x, jeśli dobrze pamiętam, możesz ustawić domyślne skróty (np.
Ctrl-s
Do zapisywania) w Centrum sterowania KDE i dotyczyłoby to wszystkich aplikacji napisanych za pomocą zestawu narzędzi Qt, ale nie wiem, czy to nadal możliwe od czasu przejścia na KDE 4.źródło
Od wersji Ubuntu 17.10
Na tych ścieżkach :
Możesz także użyć
dconf-editor
(GUI) lubgsettings
(CLI).Od wersji Ubuntu 12.10-17.04
~/.config/dconf/user
(w edytorze dconf:org.gnome.settings-daemon.plugins.media-keys.custom-keybindings
(niestandardowe skróty)~/.config/compiz-1/compizconfig
Do wersji Ubuntu 12.04
Skróty są rozmieszczone inaczej w zależności od używanego pulpitu (gnome / unity, kde, xfce, lxde itp.).
W przypadku gnome są poniżej
~/.gconf/desktop/gnome/keybindings
(niestandardowe skróty)i poniżej
~/.gconf/apps/metacity
.źródło
general/
global_keybindings/
window_keybindings/
gsettings
instrukcjiNie, nie ma jednego miejsca, w którym przechowywane są wszystkie skróty. Aplikacje mogą przechowywać swoje konfiguracje w dowolnym miejscu.
To powiedziawszy, patrzysz głównie na dwa poziomy: poziom aplikacji (jak Ctrl-C dla kopiowania w Firefoksie) i poziom menedżera okien (jak Win + D, aby wyświetlić pulpit). Compiz używa gconf do przechowywania swojej konfiguracji .
W przypadku aplikacji można je z grubsza podzielić według ich zestawów narzędzi. Mianowicie, aplikacje GTK również używają gconf.
Nie do końca. Zogniskowana aplikacja jest uruchamiana po raz pierwszy w przypadku zdarzenia X na klawiaturze, ale jeśli nie, przenosi się do innych aplikacji, mianowicie menedżera okien. Tak więc możesz mieć grę, która przechwytuje Alt + F4 i nie zamyka okna (cholera, Jamestown!). Myślę, że myślisz, że idzie do jakiegoś centralnego routera zdarzeń, a następnie dopasowuje się do bazy danych i kieruje do miejsca docelowego. Bardziej przypomina podawanie butelki napoju: podaj, pociągnij łyk, jeśli chcesz i podaj resztę, albo weź wszystko i bądź chciwy.
Środowisko Linux / FOSS (być może zauważyłeś) jest dość demokratyczne, a uzyskanie zgody wszystkich aplikacji na jedno centralne repozytorium konfiguracji klawiatury jest głupcem. Po pierwsze, masz nieopracowane aplikacje, które zostały napisane dawno temu i nie wiedziałbyś o tym.
Aktualizacja: Zgodnie z dokumentacją Xlib na ten temat :
Również,
I możesz ustawić atrybut, aby wyłączyć propagację .
Problem polega na tym, że nie mówisz X, które klucze mają nasłuchiwać, więc nigdy nie możesz z góry powiedzieć, jakich kluczy słucha aplikacja (nie mówiąc już o tym, co robią), ani tak naprawdę, czy zamierzają ją propagować, jeśli w rzeczywistości są słucham tego. Dlatego centralny rejestr jest niemożliwy na poziomie X, więc trzeba by to zrobić na poziomie zestawu narzędzi, co jest praktycznie niemożliwe. :RE
źródło
Aplikacje przechowują swoje skróty niezależnie, więc nie ma centralnego miejsca, w którym są przechowywane.
Nie rozumiem całego procesu klawiatury interakcji - OS - jądro - X11 - Menedżer okien - Środowisko pulpitu - Aplikacje, ale jeśli pewne okno, takie jak Gedit, ma fokus klawiatury, może obsłużyć wkład sam w sobie i robi to.
źródło
W 11.10, w obszarze Konfiguracja systemu -> Klawiatura -> Skróty, pojawi się całkiem spora ich lista. Czy tego szukasz?
źródło