Come trovare * perché * Non riesco a associare alcune scorciatoie da tastiera (o quale app l'ha presa)?


14

In breve: c'è (sotto Unity) un modo per scoprire quale applicazione ha preso un collegamento globale? Non chiedo "scorciatoie standard" ma un modo per ottenere informazioni sulle scorciatoie effettive (quale app sta attualmente tenendo la chiave fornita proprio ora nella mia configurazione attuale)

Storia più lunga:

Ho problemi ripetibili con la gestione delle scorciatoie da tastiera. Al momento:

  • Synapse a volte (*) non può associare Win-Space poiché è un collegamento di attivazione, che riporta "Impossibile registrare il tasto di scelta rapida 'activ' con la firma 'space'" (ciò che di solito significa che questo collegamento è già stato preso)

    (*) Dopo un accesso funziona, dopo un altro accesso non funziona. Sospetto che ci sia una gara tra due app ...

  • F9 per qualche motivo rende il mio schermo leggermente più scuro (e F9 non raggiunge i collegamenti a livello di applicazione, quindi ad esempio il mio menu byobu non funziona)

Ho provato a guardare vari posti e:

  • Io non vedo nessuna di queste scorciatoie da tastiera in ambienti / Scorciatoie

  • Non riesco a trovarli in gconf-editor (ho provato a cercare F9 nei valori in particolare, non ho trovato nulla)

  • Non sono riuscito a trovarli in dconf-editor (non c'è ricerca, quindi ho fatto clic su alcuni percorsi più ovvi)

Quindi la mia domanda è: c'è un modo per chiedere unità / dconf / gconf / d-bus / qualunque cosa sull'attuale allocazione di tasti di scelta rapida globale (quale processo mantiene quale chiave). O forzare la registrazione di tali allocazioni in alcuni file di registro. O grep da qualche parte. O………


Potresti chiarire o definire (ai fini di questa domanda) cosa si intende per collegamento globale ?

Il tasto che premo e che fa accadere qualcosa di non correlato alla finestra attualmente attiva. Ad esempio il collegamento globale Win-S apre la vista expo, il collegamento globale Alt-Tab cambia finestra, F12 (nella mia configurazione) apre il terminale a discesa tilda ecc. Ecc. E, come ho detto, ogni volta che premo F9, lo schermo si oscura e Non ho idea di quale app lo faccia e perché. E a volte qualcosa afferra Win-space. E in passato mi è capitato di vedere F12 portato via dalla tilda (per fortuna questo problema è andato via). Quindi sarei felice di avere un modo per esaminare quelle allocazioni della tastiera.
Mekk

Penso che F9 potrebbe attivare l'overlay dei widget, ma è passato del tempo da quando sono su Unity. Forse cercalo in CCSM ..?
Rasmus

Guarda askubuntu.com/questions/101226/… o wiki.ubuntu.com/Keybindings o superuser.com/questions/152367/… - Ci sono diverse posizioni descritte, ad esempio in dconf o gconf, in cui Unity memorizza i collegamenti. Forse ti piacerebbe controllare queste pagine per qualsiasi nuova informazione?
Byte Commander

Risposte:


2

Tra il 12.10 e il 17.04 il desktop Ubuntu è in realtà Compiz e Unity stesso è solo un plug-in Compiz.

Se, invece, imposti e abiliti il ​​plug-in "comandi" Compiz e imposti le scorciatoie da tastiera usando CCSS in caso di conflitto, CCSM dovrebbe avvisarti di quale plug-in sta causando il conflitto e dovrebbe anche fornire opzioni per disabilitare il plug-in in conflitto o la combinazione di tasti in conflitto prima di applicare le tue impostazioni.

Personalmente, ho anche avuto difficoltà a impostare le scorciatoie da tastiera in 14.04+ ma da quando ho deciso di iniziare a utilizzare il plug-in CCSM invece delle impostazioni delle scorciatoie da tastiera in Unity, non ho riscontrato alcun problema e tutte le mie scorciatoie funzionano bene e quindi consiglio vivamente di provarlo almeno come opzione.


1

Ora capisco di cosa hai bisogno ...

sudo apt-get install evtest

Divertiti a sventrare gli eventi Ubuntu USB HID!

Attenzione Questo non funziona con le tastiere PS2 / style ... (ma chi ci usa più comunque?) :-)


Non risolvo completamente il mio problema, ma sicuramente utile. Tuttavia, sono curioso di sapere qual è il luogo in cui vengono effettivamente conservati quei binding attivi e se può essere introspezionato (le impostazioni sono le posizioni da cui vengono lette da molte app, ma non tutte le app devono usare le impostazioni ...)
Mekk

Se mi dai l'output del comando sopra, posso aiutarti ... Se vuoi sapere perché , ti consiglio di leggere: wiki.archlinux.org/index.php/Extra_keyboard_keys e poi apprezzerai che funzioni affatto!!! ;-)
Fabby

Questo articolo non è proprio quello di cui mi sto chiedendo: non chiedo come le chiavi vengono tradotte dai tasti fisici ai simboli (anche se questo è anche interessante e talvolta confuso). Chiedo una cosa più semplice: quale programma mantiene e applica le scorciatoie da tastiera globali e se esiste qualche tipo di util o API che mi permetta di introspettare o tracciare quei compiti.
Mekk,

(quando inizio unità, registra Alt-F2, Alt-F4, Win-S ecc. ecc. quando inizio sinapsi registra Win-space, quando inizio yakuake registra F12 ecc ecc. - due secondi secondo la mia configurazione - ma qual è il posto in cui registrano quelle chiavi e come accedere a questo posto?)
Mekk,

Oooh ... Ora vedo ... C'è qualcosa chiamato evtestma che fa solo cose USB! D'altra parte, è esattamente quello che ti serve se usi un laptop o un desktop senza tastiera in stile PS / 2!
Fabby,

1

Da una delle mie risposte più vecchie :

Innanzitutto devi installare xdotool:

sudo apt-get install xdotool

Ho creato una serie di comandi per mostrarci le prese passive su una sequenza di tasti. Ad esempio, per vedere cosa sta afferrando la combinazione Shift + PrintScreen, puoi usare lo "script" seguente:

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

Questo attiverà Shift + PrtSc keyevent e su un'installazione Ubuntu predefinita mostrerà gnome-settings-daemon che afferra la tastiera. Almeno questo ha funzionato sulla mia vecchia installazione 12.04, ma sembra che su un 14.04 ho dovuto usare questo:

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

ma

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

funziona ancora, a volte, e non altre volte. Non so perché.

Devi solo modificare lo "script" sopra cambiando i tasti che devono essere simulati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.