89 votes

Désactiver le zoom par "Ctrl "+molette de la souris dans Chrome ?

Je suis une personne à la vue normale et j'aimerais pouvoir afficher les pages à 100% en permanence. J'utilise des raccourcis clavier qui impliquent Ctrl beaucoup, donc une vingtaine de fois par jour, j'ai accidentellement touché Ctrl en même temps que je fais défiler la page, ce qui a pour effet de la faire refluer et de la repeindre. C'est ennuyeux car la résolution du problème peut prendre jusqu'à 30 secondes, selon la complexité de la mise en page du site. Sur les sites dont la mise en page est dynamique, comme Google Docs, le problème est plus grave. Ctrl +La molette de la souris corrompt l'affichage et m'oblige à rafraîchir entièrement la page, ce qui me fait parfois perdre des informations.

Je voudrais soit découpler Ctrl +molette de la souris du zoom, ou désactiver complètement la fonctionnalité de zoom. Ceci est possible sur Firefox en utilisant about:config ; existe-t-il un moyen similaire de modifier les paramètres détaillés dans Chrome ? Aurais-je accès aux paramètres détaillés si j'utilisais Chromium au lieu de Chrome ? Je vais probablement revenir à Firefox si je ne parviens pas à résoudre ce problème.

Il y a une question de superutilisateur qui demande essentiellement la même chose que moi, mais pour Firefox et Internet Explorer exclusivement. D'autres personnes sur le forum Chrome ont eu des problèmes connexes, mais aucune n'a le même problème. " J'aimerais vraiment pouvoir désactiver le zoom avant/arrière automatique. "Il s'agit d'un problème lié aux ordinateurs portables et à Windows 7, et non à la fonctionnalité intégrée à Chrome. D'autres personnes ont eu des problèmes spécifiques au PDF, ce qui ne me concerne pas.

J'ai aussi essayé de chercher des extensions qui permettent de désactiver le défilement ; j'avais espéré que " Verrouillage du zoom " aurait la possibilité de verrouiller le zoom à 100 % et d'empêcher les Ctrl +La roue de défilement empêche de déformer l'affichage, mais cela ne fonctionne pas dans mon cas.

J'utilise Google Chrome (version 9.0.597.84 (Official Build 72991)) sur Ubuntu 10.10.

1voto

Foosh Points 1144

Deux possibilités apparaissent sur cette question sur SO :

https://stackoverflow.com/questions/5637530/disable-shortcuts-in-google-chrome

Les deux réponses parlent d'exécuter chrome en mode kiosque (avec --kiosk) ou d'utiliser un hack node-webkit. Ils semblent un peu exagérés car ils désactivent presque TOUS les raccourcis.

Cependant, en volant sans vergogne à l'utilisateur 240684, vous pouvez utiliser Tampermonkey pour créer un utilisateur script qui "s'exécute" sur chaque page. L'utilisateur script étant :

var actionwheel = function(evt){var evt = evt ? evt : window.event;
    if(evt.shiftKey || evt.ctrlKey)
    {
        evt.preventDefault();
        return false;
    }
}

Cela devrait capturer vos événements de défilement et les ignorer si la touche Maj ou la touche Contrôle est enfoncée.

1voto

jarno Points 275

Si vous n'avez pas besoin de cliquer avec Ctrl, vous pouvez résoudre le problème en désactivant complètement la souris lorsque cette touche de modification est enfoncée. Ma réponse devrait fonctionner sur les systèmes d'exploitation de type Unix qui utilisent X. Cet effet n'est en aucun cas limité à Chrome.

Vous devez modifier le script ci-dessous pour l'adapter à votre matériel de clavier et de pointeur. Voir les commentaires (c'est-à-dire les lignes qui commencent par # ) pour plus d'informations. Après avoir modifié le script, il suffit de le sauvegarder dans un fichier, de le rendre exécutable par chmod +x et le lancer au démarrage.

#!/bin/bash

# Use 'xinput list' to get the device names and id's, and use 
# 'xinput list $name' to test if you got the $name right.
# Use 'xinput test $id' to get key codes.

# Modify the pointer device name to match your hardware
pointer_id=$(xinput list --id-only 'pointer:Logitech K400')
# Modify the keyboard name to match your hardware
keyb_id=$(xinput list --id-only 'keyboard:Logitech K400')

[[ $pointer_id && $keyb_id ]] || exit 1

# Make sure to terminate precessess and to enable the pointer device
# on exit.
revert() {
    kill $(jobs -p) 2>/dev/null || :
    xinput enable $pointer_id
}
trap revert EXIT

keys_down=0
paused=0
xinput test $keyb_id | while read -r type action key rest; do
    # suppose $type is 'key'
    case $key in
        # key codes of Left Control and Right Control
        37|105)
            if [[ $action == press ]]
                then ((++keys_down))
                # suppose $action is 'release'
                else ((keys_down>0 ? keys_down-- : 1))
            fi
            if (( keys_down && !paused )); then
                xinput disable $pointer_id
                paused=1
            elif (( !keys_down && paused )); then
                xinput enable $pointer_id
                paused=0
            fi
        ;;
    esac
done

J'ai une question connexe pour le cas où vous souhaitez désactiver uniquement certains boutons d'une souris. aquí

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X