web-dev-qa-db-fra.com

Changer le raccourci clavier pour la page précédente et la page suivante dans Evince

Je voudrais changer les raccourcis clavier pour "Page précédente" et "Page suivante" dans evince. J'ai un ordinateur portable Dell Vostro 5568 dans lequel les touches PgUp et PgDn sont situées maladroitement à droite du clavier. Au lieu de cela, j'aimerais utiliser Ctrl+Left et Ctrl+Right (actuellement lié à "Rotation à gauche" et "Tourner à droite" ), ou bien utiliser Ctrl+Up et Ctrl+Down.

De la page d'aide de Gnome je me suis dit que je devais utiliser dconf-editor. Voici deux captures d'écran montrant mes paramètres:

enter image description hereenter image description here

Maintenant, lorsque je clique sur le menu "Aller" dans Evince, et que je déplace le pointeur de la souris vers le bas pour l’élément de menu "Page précédente ", je devrais pouvoir entrer un nouveau raccourci clavier. Mais si j'appuie sur Ctrl+Up, ferme Evince et le rouvre, le raccourci ne fonctionne pas. Voici une capture d'écran d'Evince:

enter image description here

J'utilise Ubuntu 16.10. Il y a aussi une question plus ancienne pour Ubuntu 10.10 ici .

6
Håkon Hægland

Premièrement, juste au cas où vous ne le sauriez pas, vous pouvez utiliser Space et Shift-Space au lieu de PgDn et PgUp.

Si vous souhaitez toujours modifier les combinaisons de touches, je pense malheureusement que, pour preuve, les combinaisons de touches sont codées en dur. Trois solutions possibles sont:

  1. Basculez vers atril qui est la fourchette MATE de evince et qui permet la personnalisation des combinaisons de touches, au moins via un fichier accels (dans ~/.config/atril/accels). À titre de comparaison, vous pouvez regarder, par exemple, ~/.config/nautilus/accels.

  2. Utilisez quelque chose avec la fonctionnalité AutoHotkey (pour certaines possibilités, voir cette question stackexchange ).

  3. (Si vous vous sentez aventureux) corrigez la source de evince et recompilez:

Pour obtenir le source utilisé par Ubuntu:

apt-get source evince

Si cela ne fonctionne pas, décommentez les lignes deb-src dans /etc/apt/sources.list.

Les lignes incriminées, responsables des liaisons dans evince sont les suivantes:

add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);

dans Shell/ev-view.c. (Voir ici sur GitHub. Le lien GitHub est fourni pour des raisons de commodité, mais n'obtenez pas de préférence le code source à partir de là, mais via apt-get comme décrit ci-dessus.)

Les lignes doivent être changées en:

add_scroll_binding_keypad (binding_set, GDK_KEY_Up, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_BACKWARD, GTK_ORIENTATION_VERTICAL);
add_scroll_binding_keypad (binding_set, GDK_KEY_Down, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_FORWARD, GTK_ORIENTATION_VERTICAL);

Notez cependant que vous ne pourrez pas obtenir automatiquement des correctifs de sécurité si vous le compilez vous-même.

Pour référence, si quelqu'un souhaite modifier d'autres raccourcis clavier dans evince, certaines des liaisons action (par opposition à motion) sont spécifiées dans Shell/ev-application.c dans la définition de const gchar *action_accels[] ( ici sur GitHub ).

2
aplaice