web-dev-qa-db-fra.com

Comment désactiver le rebouncing de la souris dans libinput

Je viens de recevoir une nouvelle souris (modèle glorieux o) et je peux obtenir des doubles clics dessus (je clique une fois, j'obtiens deux clics) mais je ne peux l'obtenir que pour enregistrer deux clics sur Windows. J'ai fait quelques recherches et je suis sûr que c'est libinput qui empêche les doubles clics par défaut. Existe-t-il un moyen de faire en sorte qu'il n'essaye pas d'annuler les doubles clics? Je sais que pour la plupart des gens, empêcher les double-clics est utile, mais je veux pouvoir double-cliquer pour obtenir un CPS plus élevé dans Minecraft et je n'arrive jamais à obtenir accidentellement un double-clic.

2
Custard

Il suffit de republier la discussion dans les commentaires comme réponse.

Tout d'abord, pour éviter toute confusion: OP n'a pas de bouton matériel pour les double-clics. Au contraire, le double-clic auquel ils faisaient référence est lorsque vous appuyez sur le bouton gauche de la souris de manière si spéciale qu'il rebondit et provoque 2 clics. Je pourrais aussi le reproduire avec ma souris.

Ce n'est presque jamais un comportement recherché, donc libinput a un algorithme anti-rebond en place, qui détecte et rejette ces rebonds. (et juste pour mémoire: cela fonctionne très bien avec les boutons matériels de double-clic). OP a donc demandé s'ils pouvaient le désactiver localement.

C'est en effet possible via le sous-système quirk. Avant de continuer, j'ai besoin de pour citer la documentation :

Pour des solutions de contournement locales temporaires, libinput lit le /etc/libinput/local-overrides.quirks fichier. Les utilisateurs peuvent ajouter des sections à ce fichier pour ajouter une bizarrerie de périphérique pour un périphérique local, mais attention ( toute modification doit être amont ou il peut cesser de fonctionner à à tout moment.

Avertissement: les bizarreries du modèle sont des API internes et peuvent changer à tout moment. Aucune rétrocompatibilité n'est garantie. Les remplacements locaux ne doivent être utilisés que jusqu'à ce que la distribution mette à jour les packages libinput.

Le sous-système quirks n'est donc pas une API de configuration. Si vous avez un problème qui peut être résolu avec une bizarrerie, la bizarrerie doit très probablement être en amont.

Cela dit, le code suivant placé à /etc/libinput/local-overrides.quirks fichier a aidé l'OP:

[SINOWEALTH Wired Gaming Mouse]
MatchName=SINOWEALTH Wired Gaming Mouse
ModelBouncingKeys=1

Le nom du modèle de souris est un de libinput list-devices | grep Device production. Pour que cela fonctionne, libinput doit être au moins de la version 1.12.0 (pour OP cela a fonctionné sur libinput 1.15.0).

3
Hi-Angel