Où Ubuntu stocke-t-il sa configuration de raccourci clavier?

30

Y a-t-il une place dans "Ubuntu" qui stocke une liste complète des clés / combinaisons / raccourcis liés à quoi?

Quels sont les raccourcis clavier et souris d'Unity? en lister " Unity "raccourcis vers le Dash, le Lanceur, etc. et Comment lister les raccourcis de use? montre un moyen de lister les liaisons compiz, mais je recherche plus que cela (pas seulement quelques raccourcis limités à Unity ou Compiz) bien que ce soit un début.

Existe-t-il une liste globale des raccourcis clavier / combinaisons de touches / raccourcis clavier utilisés, stockés quelque part dans Ubuntu ou existe-t-il un moyen de les compiler et de les répertorier? Celui qui s'applique à Ubuntu et les choses qui s'y déroulent (Unity, Compiz, raccourcis vers des programmes, etc.).

Ubuntu doit sûrement stocker cela quelque part pour que la combinaison de touches appuyée sur le clavier soit dirigée vers ce qu’elle est connectée? S'il n'y a pas un tel endroit dans Ubuntu, alors publiez-le comme une réponse, donc les futurs utilisateurs, cette recherche, le sauront.

    
posée James 04.02.2012 - 01:01
la source

5 réponses

8

Votre gestionnaire de fenêtres obtient tous les événements clés avant que les applications ne le fassent. Par conséquent, s'il souhaite utiliser ces événements, il le fera et vos applications ne les recevront jamais. Si le gestionnaire de fenêtres ne veut pas réagir aux événements clés, il les transmet à l'application.

Vous pouvez le vérifier vous-même de la manière suivante:

  1. Démarrer un terminal.
  2. Démarrez xev | grep KeyPress , l'afficheur d'événements X.
  3. Appuyez sur Alt , notez que xev indique qu'il a eu l'événement clé dans sa fenêtre de terminal.
  4. Appuyez sur Ctrl , notez à nouveau que xev a eu l'événement. Prenez note de ce que la fenêtre du terminal ressemble maintenant.
  5. Appuyez sur Left arrow pour accéder à un autre espace de travail. (Je suppose que vous avez cela comme une touche de raccourci du gestionnaire de fenêtre.)
  6. Appuyez sur Right arrow pour revenir à l'endroit où vous exécutez xev . Notez qu’il n’a jamais reçu d’événements importants pour changer d’espace de travail via les touches fléchées gauche et droite - la sortie est identique à celle de l’étape 4.

Vous voyez donc que le gestionnaire de fenêtres obtient en pratique tous les événements clés et s’il ne veut pas les capturer, il les transmet à l’application. L'application fait alors la même chose pour ses propres widgets (comme comment appuyer sur Enter toute la journée dans votre navigateur Web mais cela ne fera rien tant que vous n'aurez pas placé le curseur dans la barre d'adresse ou dans un champ entrer du texte).

L'application doit définir ses propres raccourcis et les applications sont configurées indépendamment les unes des autres.

Dans KDE 3.x, si je me souviens bien, vous pouvez définir les raccourcis par défaut (par exemple Ctrl-s pour enregistrer) dans le Centre de contrôle de KDE et cela s’appliquerait à toutes les applications écrites avec le toolkit Qt, mais Je ne sais pas si cela est encore possible depuis leur passage à KDE 4.

    
réponse donnée Lakritsbollar 09.02.2012 - 12:09
la source
17

Jusqu'à Ubuntu 12.04

Les raccourcis sont placés différemment en fonction du bureau utilisé (gnome / unity, kde, xfce, lxde, etc.).

Pour gnome, ils sont sous
~/.gconf/desktop/gnome/keybindings (raccourcis personnalisés)

et sous
~/.gconf/apps/metacity .

Depuis Ubuntu 12.10

~/.config/dconf/user (dans dconf-editor: org.gnome.settings-daemon.plugins.media-keys.custom-keybindings (raccourcis personnalisés)

~/.config/compiz-1/compizconfig

    
réponse donnée desgua 04.02.2012 - 02:19
la source
4

Non, il n’ya aucun endroit unique où tous les raccourcis sont stockés. Les applications peuvent choisir de stocker leurs configurations où bon leur semble.

Cela dit, vous examinez principalement deux niveaux: le niveau de l’application (comme Ctrl-C pour copier dans Firefox) et le niveau du gestionnaire de fenêtres (comme Win + D pour afficher le bureau). Compiz utilise gconf pour stocker sa configuration .

Pour les applications, vous pouvez les diviser grossièrement par leurs boîtes à outils. À savoir, les applications GTK utilisent également gconf.

  

Ubuntu doit sûrement stocker ceci quelque part pour que la combinaison de touches appuyée sur le clavier soit dirigée vers ce qu’elle est connectée?

Pas tout à fait. L'application ciblée obtient le premier coup de pied sur un événement de clavier X, mais si ce n'est pas le cas, cela fait éclater d'autres applications, à savoir le gestionnaire de fenêtres. Ainsi, vous pouvez avoir un jeu qui capture Alt + F4 et ne ferme pas la fenêtre (putain, Jamestown!). Je pense que vous pensez que cela va à un routeur d'événement central, puis mis en correspondance avec une base de données et routé vers sa destination. C'est plutôt passer une bouteille de boisson autour: passer, prendre une gorgée si vous voulez et passer le reste, ou prendre le tout et être gourmand.

L'environnement Linux / FOSS (vous l'avez peut-être remarqué) est plutôt démocratique, et faire en sorte que toutes les applications s'accordent sur un référentiel de configuration de clavier central unique est une tâche idiote. D'une part, vous avez des applications non maintenues qui ont été écrites il y a longtemps et qui ne le sauraient pas.

Mise à jour: Selon les documents Xlib sur le sujet :

  

À partir de la fenêtre source, le serveur X effectue une recherche dans la hiérarchie de la fenêtre jusqu'à ce qu'il trouve la première fenêtre spécifiée par un client comme étant intéressée par ces événements. Si l’une des fenêtres intermédiaires a son ensemble do-not-propagate-mask pour interdire la génération du type d’événement, les événements de ces types seront supprimés.

Aussi,

  

Pour recevoir des événements KeyPress, KeyRelease, ButtonPress et ButtonRelease, définissez les bits KeyPressMask, KeyReleaseMask, ButtonPressMask et ButtonReleaseMask dans l'attribut de masque d'événements de la fenêtre.

Et vous pouvez définir un attribut pour désactiver la propagation .

Le problème est que vous ne dites pas à X quelles clés écouter, vous ne pouvez donc jamais dire à a priori à quelles touches l’application écoute ils le font) ou vraiment s’ils ont l’intention de les propager s’ils les écoutent. Ainsi, un registre central est impossible au niveau X, vous devez donc le faire au niveau de la boîte à outils, ce qui est pratiquement impossible. : D

    
réponse donnée nfirvine 11.02.2012 - 04:23
la source
1

Les applications stockent leurs raccourcis indépendamment, il n’ya donc pas d’endroit central où elles sont stockées.

Je ne comprends pas tout le processus du clavier d’interaction - OS - kernel - X11 - Window Manager - Desktop Environment - Applications, mais si une certaine fenêtre, comme Gedit, a le focus clavier, il peut gérer lui-même l'entrée, et c'est ce qu'il fait.

    
réponse donnée user unknown 04.02.2012 - 03:06
la source
-1

Au 11.10, sous Configuration du système - & gt; Clavier - & gt; Raccourcis vous obtenez une liste assez grande d'entre eux. Est-ce ce que vous recherchez?

    
réponse donnée Cmorales 10.02.2012 - 19:26
la source

Lire d'autres questions sur les étiquettes