134 liens privés
Il y a quelques temps, j'ai acheté un clavier Steelseries Apex pour bosser. (http://steelseries.com/products/keyboards/steelseries-apex-gaming-keyboard)
Je voulais utiliser les 22 touches macros pour lancer des scripts plus rapidemment ou lancer des connexions RDP sur les différents serveurs, etc...
Malheureusement, ce clavier ne fonctionne qu'avec le logiciel steelseries compatible windows et osx... Sur GNU/Linux, c'est mort. Mais dans mes tentatives pour faire fonctionner le clavier, j'ai été amené à sniffer le port usb pour voir si rien n'y transitait quand j'appuyais sur les touches macros.
J'ai d'abord utilisée une commande trouvée sur la toile utilisant xev :
simon@ordi $ xev | sed -n 's/^.*state \([0-9].*\), keycode *\([0-9]\+\) *\(.*\), .*$/keycode \2 = \3, state = \1/p'
keycode 87 = (keysym 0xffb1, KP_1), state = 0x10
keycode 87 = (keysym 0xffb1, KP_1), state = 0x10
keycode 24 = (keysym 0x61, a), state = 0x10
(...)
=> Rien quand on appuie sur les touches macros.
J'ai ensuite trouvé une autre astuce permettant de sniffer le port usb avec Wireshark.
simon@ordi # mount -t debugfs none_debugs /sys/kernel/debug
simon@ordi # modprobe usbmon
simon@ordi # wireshark
===> Je vois les trames quand j'appuie sur les touches classiques mais les touches macros n'envoient rien non plus.
Je n'ai pas su résoudre mon problème dans ce cas-ci mais ça peut toujours être intéressant dans d'autres cas. :-)
[edit le 14/05/2017 (!!)
Je viens de tomber sur un petit programme sur Github pour contrôler son clavier Steelseries APEX. Je suis en train de l'installer.
Dépendances :
# yum -y install ghc libusb libusb-devel cabal-install git pkgconfig
# cabal update
# cabal install usb cmdargs
Installation :
$ git clone https://github.com/tuxmark5/ApexCtl.git
Clonage dans 'ApexCtl'...
$ cd ApexCtl/
# make && make install
Utilisation :
$ apexctl --help
Changer la couleur des différentes parties :
# apexctl colors -s bb33bb:8 -n ee1111:8 -e 33aa33:8 -w 88ee88:8 -l aa7777:8
WRITING SET_REPORT
OK