1 votes

Désactiver le pavé tactile du clavier Logitech K400 Pinch/Zoom

Lors du défilement ou de l'utilisation du pavé tactile du K400, la chaleur des doigts ou le frôlement accidentel se produisent assez souvent, activant les fonctions Pinch et Zoom. Cependant ces fonctions sont liées au code 37 (habituellement Control. J'ai échangé Control_L avec Super_L). J'ai besoin de faire en sorte que le pavé tactile arrête toutes les fonctions Pinch et Zoom pour ne plus être lié au code 37. Ubuntu 14.04. Merci.

xinput liste-props 9

Device 'Logitech K400':
Device Enabled (151):   1
Coordinate Transformation Matrix (153): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (278): 0
Device Accel Constant Deceleration (279):   1.000000
Device Accel Adaptive Deceleration (280):   1.000000
Device Accel Velocity Scaling (281):    10.000000
Device Product ID (267):    1133, 16459
Device Node (268):  "/dev/input/event12"
Evdev Axis Inversion (282): 0, 0
Evdev Axes Swap (284):  0
Axis Labels (285):  "Rel X" (161), "Rel Y" (162), "Rel Horiz Wheel" (276), "Rel Dial" (301), "Rel Vert Wheel" (277)
Button Labels (286):    "Button Left" (154), "Button Middle" (155), "Button Right" (156), "Button Wheel Up" (157), "Button Wheel Down" (158), "Button Horiz Wheel Left" (159), "Button Horiz Wheel Right" (160), "Button Side" (271), "Button Extra" (272), "Button Forward" (273), "Button Back" (274), "Button Task" (275), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270), "Button Unknown" (270)
Evdev Scrolling Distance (287): 1, 1, 1
Evdev Middle Button Emulation (288):    0
Evdev Middle Button Timeout (289):  50
Evdev Third Button Emulation (290): 0
Evdev Third Button Emulation Timeout (291): 0
Evdev Third Button Emulation Button (292):  3
Evdev Third Button Emulation Threshold (293):   0
Evdev Wheel Emulation (294):    0
Evdev Wheel Emulation Axes (295):   0, 0, 4, 5
Evdev Wheel Emulation Inertia (296):    10
Evdev Wheel Emulation Timeout (297):    200
Evdev Wheel Emulation Button (298): 4
Evdev Drag Lock Buttons (299):  0

xinput test 9

key release 37 
key press   37 

xev

KeyRelease event, serial 37, synthetic NO, window 0x6000001,
    root 0x2a4, subw 0x0, time 79761120, (368,436), root:(368,488),
    state 0x840, keycode 37 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

2voto

Tel Points 21

Ce qui se passe ici, je crois, c'est que le clavier envoie des événements souris sur l'axe de mouvement n°4 qui sont ensuite interprétés comme des événements roue. La touche de contrôle gauche est insérée pour distinguer le défilement à deux doigts du pincement à deux doigts (sans touche de contrôle, le défilement se fait, et avec touche de contrôle, le zoom se fait).

Bien sûr, tout cela est complètement inutile et assez ennuyeux, lorsque vous avez des pages Web qui font des zooms avant et arrière dans tous les sens, car ces événements à deux doigts se déclenchent par accident tout le temps. Heureusement... On peut simplement dire à Linux d'ignorer les événements sur l'axe de mouvement n°4 et c'est la fin de tout ça. Je pense que cela fonctionnera sur tous les systèmes, y compris Ubuntu ... mais si quelqu'un veut tester, n'hésitez pas à m'informer.

#!/bin/sh

XIN=/usr/bin/xinput
DEV1="pointer:Logitech USB Receiver"
DEV2="pointer:Logitech K400"

for DEV in "$DEV1" "$DEV2"
do
    MOUSEID=$($XIN --list --id-only "$DEV" 2>/dev/null)
    if [ -n "$MOUSEID" ]
    then
        echo "ID $MOUSEID is $DEV"

        # This disables the button 4 and button 5 which emulate scroll wheel.
        $XIN set-button-map "$MOUSEID" 1 2 3 0 0 0 0 0

        # This disables the translation from motion a[4] events into Wheel emulation.
        $XIN set-prop "$MOUSEID" --type=int --format=8 "Evdev Wheel Emulation Axes" 0, 0, 0, 0
    fi
done

Prenez note que si vous débranchez la clé USB Logitech et la rebranchez, les paramètres seront réinitialisés par défaut et vous devrez exécuter le script à nouveau. Je suis sûr qu'il y a un moyen d'obtenir ces changements dans les paramètres par défaut du système, mais cela est suffisant pour mes besoins. Pour une raison quelconque, mon appareil a un nom différent de celui de la question originale, le mien a un dongle sans fil avec "Device Product ID (272) : 1133, 50475" dans les accessoires, donc peut-être qu'il y a un tas d'appareils similaires.

0voto

Philippe Gachoud Points 5360

Fait ce page répondre à votre question ? il y a quelques fonctions spéciales sur le K400 qui peuvent être utilisées avec FN + touchpad

0voto

Seek Truth Points 381

Pour aider les autres, j'ai découvert que ( FN + Clic droit ) désactive les options de glissement supplémentaires sur le pavé tactile. N'oubliez pas que cette option doit être réinitialisée chaque fois que vous éteignez manuellement le clavier. Cela semble être une solution de contournement utile.

0voto

PinchZoomLame Points 1

Je viens d'apprendre que si vous maintenez Fn + utiliser un seul doigt sur le pavé tactile, vous pouvez faire défiler dans 4 directions.

CTRL + Fn + Un seul doigt vers le haut ou le bas pour le zoom avant/arrière.

En principe, n'utilisez jamais deux doigts sur le pavé tactile, sinon vous risquez de passer un mauvais quart d'heure. Utilisez plutôt la touche Fn + un seul doigt pour émuler la fonctionnalité de deux doigts.

Naturellement, il est impossible de pincer avec un seul doigt ;)

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