Désactiver la souris (pas le pavé tactile!) Dans Xorg en mode veille


17

Je suis un passionné de clavier, mais j'ai toujours besoin de la souris de temps en temps. Pour minimiser le déplacement de la main, j'ai la souris située sous mon clavier. (Sur une note secondaire, utiliser la souris de cette façon me semble plus naturel.)

J'utilise actuellement unclutter pour masquer le pointeur alors que je n'utilise pas la souris. Malheureusement, je le pousse parfois pendant la frappe, ce qui fait réapparaître le pointeur. Parfois, cela déplace le pointeur sur une autre fenêtre, ce qui à son tour éloigne le focus de ma fenêtre actuelle. (J'utilise une mise au point bâclée, et changer ce n'est pas une option.)

Je cherche maintenant une possibilité non seulement de masquer le pointeur après un certain temps d'inactivité, mais également de désactiver complètement la souris. Cliquer sur n'importe quel bouton de la souris ou utiliser la molette de la souris devrait alors réactiver la souris.

Réponses:


16

La première chose que nous devons accomplir est d'éteindre la souris, mais uniquement dans X. Pour cela, nous pourrions utiliser xinput.

Nous devons découvrir les périphériques d'entrée connectés à l'ordinateur (au serveur X):

pbm@tauri ~ $ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ A4Tech USB Mouse                          id=10   [slave  pointer  (2)]
⎜   ↳ Macintosh mouse button emulation          id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
     [...]

L'appareil que nous devons utiliser est A4Tech USB Mouseavec id=10. Ensuite, nous devons vérifier les propriétés de cet appareil:

pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
       Device Enabled (121):   1
       [....]

Pour éteindre l'appareil, nous devons changer la propriété Device Enabled:

xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0

Pour l'allumer:

xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1

La prochaine chose est de le faire automatiquement ...;) Dans cet exemple, nous allons désactiver la souris par raccourci clavier et l'activer en appuyant sur le bouton gauche + droit de la souris.

Pour cela, nous pourrions utiliser actkbd - démon de raccourci clavier (mais pas seulement) qui fonctionne en dehors du serveur X.

D' abord , nous devons créer un fichier de configuration vide pour actkbd: touch /etc/actkbd.conf. La prochaine étape consiste à découvrir les appareils connectés à l'ordinateur:

pbm@tauri ~ $ cat /proc/bus/input/devices 
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3 
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5 
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10

[...]

Dans cette partie, les noms et gestionnaires de périphériques de clavier et de souris sont les plus intéressants à utiliser.

Tout d'abord, nous gérons la désactivation de la souris par un raccourci clavier, nous devons donc découvrir les identifiants clés:

pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `

Lorsque nous savons quels sont les identifiants des clés, nous devons les mettre dans le fichier de configuration ( /etc/actkbd.conf):

29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0

Pour le tester, nous devons exécuter actkbden mode démon:

pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D

De la même manière, nous devons gérer l'événement "allumer":

  1. Vérifier les gestionnaires de souris
  2. Vérifiez les codes clés du bouton gauche + droit de la souris en utilisant actkbd
  3. Mettez-le à actkbd.conf
  4. Exécutez le démon actkbd pour surveiller le périphérique d'entrée de la souris

L'exécution de démons peut être réalisée en tant que script init ou script autorun dans l'environnement.

Pour éteindre automatiquement la souris, nous pourrions surveiller le périphérique d'entrée ( cat /dev/input/event5) et l'éteindre lorsqu'il n'y a pas d'entrée ...

J'espère que ma courte introduction vous aidera ...;)


Merci pour l'astuce avec actkbd! Après avoir posté ma question, j'avais déjà trouvé à utiliser xinput, mais je n'ai pas trouvé comment je réactiverais la souris en appuyant sur les boutons de la souris.
igor

Ceci est une réponse très bien écrite.
pjc50

Merci pour ces informations, en particulier pour l'indice avec atkkbd

Au lieu d'utiliser l'option --set-prop avec la propriété «Device Enabled / Disabled», on peut également utiliser les options --enable et --disable, par exemple xinput --enable [device] et xinput --disable [device] .
thebodzio

1

Avez-vous essayé une applet de panneau Gnome "Capture de pointeur" ?

Le pointeur de la souris peut être verrouillé dans une zone de l'écran afin que le périphérique de pointage soit libre pour d'autres tâches. Par exemple, cette capacité permet à un utilisateur de fauteuil roulant de contrôler à la fois le fauteuil roulant et le pointeur de la souris avec un seul joystick de fauteuil roulant

L'applet du panneau Capture de pointeur crée une telle zone sur le panneau, dans laquelle l'utilisateur peut verrouiller le pointeur jusqu'à ce qu'il soit libéré de manière déterminée.

L'applet du panneau Pointer Capture peut être installé en cliquant avec le bouton droit sur la barre de menus / panneau système de GNOME Desktop, en sélectionnant Ajouter au panneau, en choisissant Pointer Capture et en cliquant sur le bouton Ajouter

Dans le cas où la description de gnome.org n'est pas claire, cela créera une zone dans le panneau où lorsque la souris entre (ou vous cliquez), le curseur disparaît et ne réapparaît pas jusqu'à ce qu'une action définie se produise, par exemple un deuxième clic. Semble exactement ce dont vous avez besoin?


Je l'ai utilisé mais j'ai créé quelques problèmes. Je n'ai pas pu utiliser Alt + F1pour ouvrir par le menu des applications. Je ne sais pas ce qui a causé ça. Je suis un utilisateur ubuntu.
balki
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.