Jak znaleźć * dlaczego * nie mogę powiązać skrótu klawiaturowego (lub która aplikacja go wzięła)?


14

W skrócie: czy istnieje (w ramach Unity) sposób, aby dowiedzieć się, która aplikacja skorzystała z globalnego skrótu? Nie pytam o „standardowe skróty”, ale o jakiś sposób na uzyskanie informacji o faktycznych skrótach (która aplikacja aktualnie zachowuje dany klucz w mojej obecnej konfiguracji)

Dłuższa historia:

Mam powtarzalne problemy z zarządzaniem skrótami klawiaturowymi. W tym momencie:

  • Czasami Synapse (*) nie może powiązać Win-Space, ponieważ jest to skrót aktywacyjny, zgłaszając „Nie udało się zarejestrować skrótu„ aktywuj ”z podpisem„ spacja ”” (co zwykle oznacza, że ​​ten skrót jest już zajęty)

    (*) Po jednym logowaniu działa, po kolejnym logowaniu nie. Podejrzewam wyścig między dwiema aplikacjami…

  • F9 z jakiegoś powodu sprawia, że ​​mój ekran jest nieco ciemniejszy (a F9 nie osiąga skrótów na poziomie aplikacji, więc na przykład moje menu byobu nie działa)

Próbowałem patrzeć na różne miejsca i:

  • Ja nie widzę żadnego z tych skrótów w ustawieniach klawiatury / Skróty

  • Nie mogę ich znaleźć w edytorze gconf (próbowałem wyszukać F9 w szczególności w wartościach, nic nie znaleziono)

  • Nie mogłem ich znaleźć w edytorze dconf (nie ma wyszukiwania, więc kliknąłem najbardziej oczywiste ścieżki)

Więc moje pytanie brzmi: czy jest jakiś sposób, aby zapytać unity / dconf / gconf / d-bus / cokolwiek na temat bieżącej alokacji skrótów klawiszowych (który proces zachowuje który klucz). Lub wymuś rejestrowanie tych przydziałów w pliku dziennika. Lub skądś je pozdrowić. Lub………


Czy możesz wyjaśnić lub zdefiniować (na potrzeby tego pytania), co oznacza skrót globalny ?

Klawisz, który naciskam i który powoduje, że dzieje się coś niezwiązanego z aktualnie aktywnym oknem. Na przykład globalny skrót Win-S otwiera widok expo, globalny skrót Alt-Tab przełącza okna, F12 (w mojej konfiguracji) otwiera rozwijany terminal tilda itp. I, jak powiedziałem, po każdym naciśnięciu F9 ekran przygasa i Nie mam pojęcia, która aplikacja to robi i dlaczego. I coś czasami chwyta Win-space. A w przeszłości zdarzało mi się, że F12 odbierano Tildie (na szczęście ten problem zniknął). Byłbym szczęśliwy, mogąc sprawdzić sposób przydzielania klawiatury.
— Mekk,

Myślę, że F9 może aktywować nakładkę widżetów, ale minęło trochę czasu, odkąd jestem w Unity. Może poszukaj tego w CCSM ..?
— Rasmus

Spójrz na askubuntu.com/questions/101226/… lub wiki.ubuntu.com/Keybindings lub superuser.com/questions/152367/... - Opisano kilka lokalizacji, np. W dconf lub gconf, w których Unity przechowuje skróty. Może chcesz sprawdzić te strony pod kątem nowych informacji?
— Bajt Dowódca

Odpowiedzi:


2

Między 12.10 a 17.04 pulpit Ubuntu jest faktycznie Compiz i sam Unity jest tylko wtyczki Compiz.

Jeśli zamiast tego ustawisz i włączysz wtyczkę „poleceń” Compiz i ustawisz skróty klawiaturowe za pomocą CCSS w przypadku wystąpienia konfliktu, CCSM powinien ostrzec Cię o tym, która wtyczka powoduje konflikt, a także powinien zapewnić opcje wyłączenia konfliktu wtyczki lub powiązania klawiszy powodujących konflikt przed zastosowaniem ustawień.

Osobiście miałem również trudności z ustawieniem skrótów klawiaturowych w wersji 14.04+, ale odkąd postanowiłem zacząć używać wtyczki CCSM zamiast ustawień skrótów klawiaturowych w Unity, nie miałem żadnych problemów, a wszystkie moje skróty działają dobrze, więc zdecydowanie zalecamy przynajmniej sprawdzenie tego jako opcji.


1

Teraz rozumiem, czego potrzebujesz ...

sudo apt-get install evtest

Ciesz się opróżnianiem wydarzeń związanych z Ubuntu USB HID!

Ostrzeżenie To nie działa na klawiaturach w stylu PS2 / ... (ale kto już tam używa?) :-)


Nie w pełni rozwiązuję mój problem, ale na pewno się przydaje. Mimo to jestem ciekawy, gdzie znajduje się aktywne powiązanie i czy można go introspekcjonować (zestawy ustawień to miejsca, z których są one odczytywane przez wiele aplikacji, ale nie każda aplikacja musi korzystać z ustawień zestawu).
— Mekk

Jeśli podasz mi wynik powyższego polecenia, pomogę ci ... Jeśli chcesz wiedzieć dlaczego , radzę przeczytać: wiki.archlinux.org/index.php/Extra_keyboard_keys i docenisz, że to działa w ogóle!!! ;-)
— Fabby

Ten artykuł nie jest do końca tym, o co pytam - nie pytam, w jaki sposób klawisze są tłumaczone z fizycznych naciśnięć klawiszy na symbole (choć jest to również interesujące, a czasem mylące). Pytam prostszą rzecz: który program faktycznie zachowuje i stosuje globalne skróty klawiaturowe oraz czy istnieje jakikolwiek sposób wykorzystania lub API, który pozwoliłby mi introspekcji lub śledzenia tych zadań.
— Mekk,

(kiedy uruchamiam jedność, rejestruje Alt-F2, Alt-F4, Win-S itp., kiedy uruchamiam synapsę, rejestruje Win-space, kiedy uruchamiam yakuake, rejestruje F12 itp. - dwa ostatnie zgodnie z moją konfiguracją - ale w jakim miejscu rejestrują te klucze i jak uzyskać do nich dostęp?)
— Mekk

Oooh ... Teraz widzę ... Jest coś takiego, evtestale robi to tylko na USB! Z drugiej strony właśnie tego potrzebujesz, jeśli używasz laptopa lub komputera stacjonarnego bez klawiatury w stylu PS / 2!
— Fabby,

1

Z jednej z moich starszych odpowiedzi :

Najpierw musisz zainstalować xdotool:

sudo apt-get install xdotool

Stworzyłem serię poleceń, aby pokazać nam pasywne chwytanie za naciśnięcie klawisza. Na przykład, aby zobaczyć, co chwyta kombinację Shift + PrintScreen, możesz użyć poniższego „skryptu”:

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Spowoduje to wyzwolenie klawisza Shift + PrtSc, a przy domyślnej instalacji Ubuntu pokaże, że demon ustawień gnome chwyta klawiaturę. Przynajmniej działało to na mojej starszej instalacji 12.04, ale wygląda na to, że na 14.04 musiałem użyć tego:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

ale

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

wciąż działa, czasem, a nie innym razem. Nie wiem dlaczego.

Musisz tylko zmodyfikować powyższy „skrypt”, zmieniając klucze, które należy zasymulować.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.