web-dev-qa-db-fra.com

Comment trouver * pourquoi * je ne peux pas lier un raccourci clavier (ou une application qui l'a pris)?

En bref: existe-t-il (sous Unity) un moyen de savoir quelle application a saisi un raccourci global? Je ne demande pas de "raccourcis standard" mais un moyen d'obtenir des informations sur raccourcis réels (quelle application garde actuellement la clé donnée dans ma configuration actuelle)

Histoire plus longue:

J'ai des problèmes reproductibles avec la gestion des raccourcis clavier. En ce moment:

  • Parfois, Synapse (*) ne peut pas lier Win-Space car il s'agit d'un raccourci d'activation, indiquant "Échec d'enregistrement du raccourci clavier 'activer' avec la signature 'espace'" (ce qui signifie généralement que ce raccourci est déjà utilisé).

    (*) Après une connexion, cela fonctionne, après une autre connexion, cela ne fonctionne pas. Je soupçonne une course entre deux applications…

  • F9 pour une raison quelconque rend mon écran légèrement plus sombre (et F9 n'atteint pas les raccourcis au niveau de l'application, ainsi, par exemple, mon menu Byobu ne fonctionne pas)

J'ai essayé de regarder différents endroits et:

  • Je ne vois aucun de ces raccourcis dans Paramètres du clavier/Raccourcis

  • Je ne les trouve pas dans gconf-editor (j'ai essayé de rechercher F9 dans les valeurs en particulier, rien n'a été trouvé)

  • Je ne pouvais pas les trouver dans dconf-editor (il n'y a pas de recherche, alors j'ai cliqué sur les chemins les plus évidents)

Ma question est donc la suivante: y a-t-il un moyen de demander à l'unité/dconf/gconf/d-bus/quoi que ce soit à propos de l'allocation actuelle des raccourcis clavier globaux (quel processus garde quelle clé). Ou forcer la journalisation de ces allocations dans un fichier journal. Ou bien les chercher quelque part. Ou………

14
Mekk

Entre 12h10 et 17h04, le bureau Ubuntu est en fait Compiz et Unity lui-même n’est qu’un plugin Compiz.

Si vous définissez et activez le plug-in "commandes" Compiz et définissez les raccourcis clavier à l'aide de CCSS en cas de conflit, CCSM devrait vous alerter sur le type de plug-in qui est à l'origine du conflit et devrait également fournir des options pour désactiver le plug-in en conflit ou la liaison de clé en conflit. avant d'appliquer vos paramètres.

Personnellement, j’ai également eu de la difficulté à configurer les raccourcis clavier dans 14.04+, mais depuis que j’ai décidé de commencer à utiliser le plug-in CCSM au lieu des paramètres de raccourci clavier dans Unity, je n’ai connu aucun problème et tous mes raccourcis fonctionnent parfaitement. Nous vous suggérons fortement de choisir au moins une option.

2
mchid

De ne de mes réponses les plus anciennes s:

Vous devez d’abord installer xdotool:

Sudo apt-get install xdotool

J'ai composé une série de commandes pour nous montrer les saisies passives d'une frappe. Par exemple, pour voir ce qui est en train de saisir le combo Shift + PrintScreen, vous pouvez utiliser le "script" ci-dessous:

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

Cela déclenchera Shift + PrtSc keyevent et, lors d'une installation par défaut d'Ubuntu, montrera que gnome-settings-daemon saisit le clavier. Au moins, cela a fonctionné sur mon ancienne version 12.04, mais je dirais que sur une 14.04, je devais utiliser ceci:

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

mais

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

fonctionne toujours, parfois, et pas d'autres fois. Je ne sais pas pourquoi.

Il vous suffit de modifier le "script" ci-dessus en modifiant les clés à simuler.

1
falconer

Maintenant Je comprends ce dont vous avez besoin ...

Sudo apt-get install evtest

Profitez des événements Ubuntu USB HID en train de se dérouler!

Attention Cela ne marche pas sur les claviers PS2/style ... (mais qui les utilise quand même?) :-)

1
Fabby