Ma souris Logitech M280 est en fin de vie, par quoi la remplacer? Début de réponse avec la SteelSeries Rival 3 Wireless.

Introduction

Ma souris Logitech M280 a fini sa (très) courte carrière: le bouton gauche ne clique quasiment plus et le caoutchouc se troue. Une fois la déception passée (40.- CHF, moins d’un an), il est temps de trouver sa remplaçante.

Le choix

Les critères

Afin de limiter les possibilités et choisir facilement, j’ai opté pour les critères suivants:

  • Le prix (c’est le nerf de la guerre): entre 40.- et 55.- CHF.
  • Sans fil (compatible Linux, of course)
  • Marques: Asus, Corsair ou Steelseries
  • Ambidextre
  • Sobre

Il reste en course: Corsair Katar Pro, Asus WT300 et SteelSeries Rival 3

Corsair Katar Pro

Elle avait l’air pas mal cette Corsair, mais je n’ai pas trouvé le look très à mon goût, surtout le trou devant la molette. Et surtout, elle a des bandes de caoutchouc sur les deux côtés. Après l’affaire de la M280, je n’ai pas voulu retenter. Éliminée donc.

Asus WT300

Cette souris semble répondre à tous les critères. Sauf qu’il n’y a aucune information sur la compatibilité Linux. Dommage.

SteelSeries Rival 3 Wireless

C’est la gagnante, cette souris coche toutes les cases. Pas de caoutchouc moche, symétrique, discrète. Le top.

Unboxing

SteelSeries Rival 3 Wireless: boîte

Boîte

SteelSeries Rival 3 Wireless: contenu

Contenu

SteelSeries Rival 3 Wireless: dos de souris

Dos de souris

SteelSeries Rival 3 Wireless: souris

Souris

La boîte est jolie et protège bien l’ensemble (surtout il n’y a que du carton. Bien joué SteelSeries). La souris est livré avec un mini mode d’emploi et deux piles Duracell. Il y a un tout petit guide de montage coincé sous le dongle USB lui-même logé dans le ventre de la souris (bon point pour le transport). Au dos de la souris, on trouve un interrupteur pour éteindre la souris et choisir le type de connexion (bluetooth ou wireless). Les patins sont de bonne taille et permettent une bonne glisse.

Installation et configuration

Sous Linux, il va falloir installer le driver / configurateur “RivalCfg” (par Fabien Loison). On commence par le nécessaire pour Python 3:

1
sudo apt install build-essential python3-pip python3-dev python3-setuptools libusb-1.0-0-dev libudev-dev

On obtient le résultat suivant:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Reading package lists 
Done
Building dependency tree
Reading state information 
Done
build-essential is already the newest version (12.6).
build-essential set to manually installed.
The following additional packages will be installed:dh-python libexpat1-dev libpython3-dev libpython3.7-dev libusb-1.0-docpython-pip-whl python3-asn1crypto python3-cffi-backend python3-cryptopython3-cryptography python3-entrypoints python3-keyringpython3-keyrings.alt python3-secretstorage python3-wheel python3-xdgpython3.7-devSuggested packages:python-crypto-doc python-cryptography-doc python3-cryptography-vectorsgir1.2-gnomekeyring-1.0 python-secretstorage-doc python-setuptools-doc
The following NEW packages will be installed:dh-python libexpat1-dev libpython3-dev libpython3.7-dev libudev-devlibusb-1.0-0-dev libusb-1.0-doc python-pip-whl python3-asn1cryptopython3-cffi-backend python3-crypto python3-cryptography python3-devpython3-entrypoints python3-keyring python3-keyrings.alt python3-pippython3-secretstorage python3-setuptools python3-wheel python3-xdgpython3.7-dev
0 upgraded, 22 newly installed, 0 to remove and 0 not upgraded.
Need to get 52.4 MB of archives.
After this operation, 96.4 MB of additional disk space will be used.

Ensuite, on installe RivalCfg avec

1
sudo pip3 install rivalcfg

L’installeur indique:

1
Collecting rivalcfgDownloading https://files.pythonhosted.org/packages/e2/ee/f62a3238577b46bd5c8636d48c3828f6f07e00d83b3f26674b0050dc6ab8/rivalcfg-4.3.0.tar.gzCollecting hidapi>=0.7.99.post20 (from rivalcfg)Downloading https://files.pythonhosted.org/packages/99/9b/5c41756461308a5b2d8dcbcd6eaa2f1c1bc60f0a6aa743b58cab756a92e1/hidapi-0.10.1.tar.gz (60kB)100% |████████████████████████████████| 61kB 3.4MB/sRequirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from rivalcfg) (40.8.0)Building wheels for collected packages: rivalcfg, hidapiRunning setup.py bdist_wheel for rivalcfg … doneStored in directory: /root/.cache/pip/wheels/60/f6/ba/be42cc1bf8d4a1ae0d01db04c4baa769b64e0902c79336b917Running setup.py bdist_wheel for hidapi … doneStored in directory: /root/.cache/pip/wheels/66/86/c6/aa5e8c9edf31f80492d272d2ffca7201cb3e7178cb418582f2Successfully built rivalcfg hidapiInstalling collected packages: hidapi, rivalcfgSuccessfully installed hidapi-0.10.1 rivalcfg-4.3.0

Pour finir, on exécute

1
sudo rivalcfg --update-udev

Et voilà. Sauf que (il y a toujours un “sauf que”), bin heu, la souris n’est pas reconnue, le curseur ne bouge pas. WTF??

Un coup de “dmseg” pour voir si le matériel est détecté, et c’est bien le cas:

1
input: SteelSeries SteelSeries Rival 3 Wireless as /devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/0003:1038:1830.000B/input/input24

En gras, c’est l’ID de la souris (1830). Il se trouve que les deux modèles de Rival 3 supportés par RivalCfg sont la 1824 et la 184c (voir ici). C’est le genre de gag impossible à éviter (je doute que la boutique sache vous dire précisément l’ID du matériel). Bref, comment faire? C’est plutôt simple en fait, il faut modifier le fichier de configuration rival3.py.

1
sudo nano /usr/local/lib/python3.7/dist-packages/rivalcfg/devices/rival3.py

Dans le bloc suivant, il faut remplacer 0x1824 par 0x1830:

1
2
3
4
5
6
"models": [{
"name": "SteelSeries Rival 3",
"vendor_id": 0x1038,
"product_id": 0x1830,
"endpoint": 3,
}

Après, j’ai éteint la souris puis rallumée et hop! elle est reconnue. Ensuite j’ai modifié la sensibilité avec la commande:

1
sudo rivalcfg --sensitivity 800

Les autres commandes (couleurs, affectation des boutons) ne fonctionnent pas encore parce qu’il s’agit d’un nouveau modèle et que le driver doit être complété en conséquence.

Conclusion

Pour tout juste moins de 50.- CHF, la souris SteelSeries Rival 3 Wireless est un super produit, très confortable pour un usage bureautique / programmation. Le support sous Linux est correct et devrait être amélioré rapidement.