Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/01/2014, à 15:16

Zorgh

Clavier Steelseries Apex, configuration des touches macros.

Bonjour à tous,

J'ai acheté un clavier Steelseries Apex. J'espérais pouvoir utiliser les touches macros pour lancer des commandes (et/ou des scripts) rapidemment. Non, ce n'est pas pour jouer. J'ai bien lu dans la documentation que le support est limité sur Linux (Full SteelSeries Engine support on Windows & OSX. Linux support is limited to basic HID Keyboard, Windows Key toggling, and illumination brightness control.) mais je pensais pouvoir bidouiller quelque chose. (De toute façon, le support pour Linux, c'est assez rare...)

Le clavier fonctionne globalement bien sauf pour les touches macros.

J'ai essayé :
1) D'utiliser xev pour voir ce que le clavier envoie lorsqu'on presse sur la touche.
commande : $ 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
keycode 24 = (keysym 0x61, a), state = 0x10
keycode 9 = (keysym 0xff1b, Escape), state = 0x10
keycode 9 = (keysym 0xff1b, Escape), state = 0x10
keycode 111 = (keysym 0xff52, Up), state = 0x10
keycode 111 = (keysym 0xff52, Up), state = 0x10
(...)

===> Les touches macros n'affichent rien.

2) D'utiliser wireshark pour sniffer ce qui transite par le port usb et récupérer des infos. (tutoriel ici (anglais).)
commandes :
# mount -t debugfs none_debugs /sys/kernel/debug
# modprobe usbmon
# wireshark

===> Je vois les trames quand j'appuie sur les touches classiques mais les touches macros n'envoient rien non plus.


Il doit bien y avoir un moyen de voir si la touche est appuyée ou non ? Qu'elles ne soient pas reconnues par le système directement car rien n'est prévu pour, je peux imaginer, mais je ne comprends pas pourquoi je ne reçois rien. Si je recevais quelque chose, je pourrais coder un petit programme en python pour réagir en fonction.

Je vais essayer depuis un ordinateur où le clavier et les macros fonctionnent et voir si je reçois quelque chose.


Auriez-vous une petite piste pour moi ? smile


Merci d'avance,

Dernière modification par Zorgh (Le 05/01/2014, à 19:27)

Hors ligne

#2 Le 03/01/2014, à 17:08

Zorgh

Re : Clavier Steelseries Apex, configuration des touches macros.

Compléments d'information :
J'ai testé le clavier sur un MacBook. Le logiciel steelseries fait ~300Mo yikes .

Quand il tourne, et après avoir configuré deux touches avec des macros, je récupère des infos dans xev.
Pour une touche qui colle du texte, la sortie de xev :

KeyPress event, serial 25, synthetic NO, window 0x600001,
    root 0xe2, subw 0x0, time 1486454067, (93,48), root:(93,70),
    state 0x0, keycode 63 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 25, synthetic NO, window 0x600001,
    root 0xe2, subw 0x0, time 1486454067, (93,48), root:(93,70),
    state 0x10, keycode 17 (keysym 0x76, v), same_screen YES,
    XLookupString gives 1 bytes: (76) "v"
    XFilterEvent returns: False

KeyRelease event, serial 25, synthetic NO, window 0x600001,
    root 0xe2, subw 0x0, time 1486454067, (93,48), root:(93,70),
    state 0x10, keycode 17 (keysym 0x76, v), same_screen YES,
    XLookupString gives 1 bytes: (76) "v"
    XFilterEvent returns: False

KeyRelease event, serial 25, synthetic NO, window 0x600001,
    root 0xe2, subw 0x0, time 1486454067, (93,48), root:(93,70),
    state 0x10, keycode 63 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Pour une touche qui lance une application :

FocusIn event, serial 22, synthetic NO, window 0x600001,
    mode NotifyNormal, detail NotifyNonlinear

Si je quitte le logiciel "SteelSeries engine", je ne reçois plus rien à l'appui de ces mêmes touches. hmm
Donc il parait indispensable d'avoir un logiciel. Mais comment celui-ci travaille-t-il pour récupèrer des informations sur le clavier ?

Il n'est certainement pas impossible de le remplacer par un script python ou bash ?

Hors ligne

#3 Le 06/01/2014, à 12:00

Zorgh

Re : Clavier Steelseries Apex, configuration des touches macros.

Bonjour,

Personne n'a une suggestion qui me permettrait de progresser sur ce problème ? Une petite piste ? smile

Hors ligne

#4 Le 25/02/2014, à 18:14

dexedrine

Re : Clavier Steelseries Apex, configuration des touches macros.

Salut Zorgh,

Est-ce que tu as pu avancer sur le problème ?
Je pense que d'ici quelques semaines je vais être confrontée au mm problème smile (Il arrive...^^)

Hors ligne

#5 Le 07/03/2014, à 10:14

Zorgh

Re : Clavier Steelseries Apex, configuration des touches macros.

Bonjour dexedrine,

Je n'ai jamais réussis à utiliser les touches macros sur GNU/Linux. J'ai pu configurer les couleurs via le programme de steelseries sur OSx (et ça fonctionne partout donc c'est enregistré dans le clavier). Par contre, même si je configure les macros sur OSx, dès que j'arrête le programme de Steelseries, ça ne fonctionne plus. Donc le programme est nécessaire... hmm

Si ce n'est ça, le clavier fonctionne bien, je n'ai pas grand chose à lui repprocher. Parfois quelques soucis avec la touche "4" du pavé numérique (si je tape la touche deux fois de suite rapidemment, il loupe parfois la deuxième frappe. Uniquement avec le "4"..).

Bon amusement avec ce clavier, si tu trouves quelque chose là-dessus, n'hésite pas à revenir en parler ici. smile

Hors ligne

#6 Le 17/04/2014, à 16:28

Zorgh

Re : Clavier Steelseries Apex, configuration des touches macros.

J'ai peut-être une piste intéressante !

J'ai commencé aujourd'hui à tester Synergy ( http://synergy-foss.org/ ). C'est un outil qui permet de partager le clavier et la souris entre différents ordinateurs. (Un clavier pour les contrôler tous, mouhaha! Pardon, je m'égare...) J'ai donc, d'un côté, mon ordinateur sous GNU/Linux, de l'autre un Mac.

J'ai installé Synergy sur les deux ordinateurs et j'ai mis le Mac comme "serveur", l'ordi sous Linux comme "client". J'ai branché le clavier Steelseries Apex sur le Mac. Et du coup, je vois quelque chose avec xev ! (voir commande du premier post)

Quand j'appuie sur la touche "M10", j'ai trois lignes :
keycode 55 = (keysym 0x76, v), state = 0x50
keycode 55 = (keysym 0x76, v), state = 0x50
keycode 133 = (keysym 0xffeb, Super_L), state = 0x50

Sur le logiciel SteelSeries (installé sur le Mac donc), la touche "M10" est configurée comme "Macro texte" et elle doit normalement taper la lettre "a".

Quand j'appuie sur la touche "M11", j'ai également trois lignes :
keycode 55 = (keysym 0x76, v), state = 0x40
keycode 55 = (keysym 0x76, v), state = 0x40
keycode 133 = (keysym 0xffeb, Super_L), state = 0x40

Cette touche est configurée aussi comme une macro texte mais avec une chaine de caractère plus longue. (testmacrotexte..)

La touche "M12" est configurée pour lancer une application et fonctionne bien sur le Mac mais ne renvoie rien sur xev.

La seule différence que je vois entre M10 et M11, c'est l'état (state). Il faut que j'essaye de mettre plus de touches pour voir si le "state" me permet d'identifier quelle est la touche qui est frappée. (la pauvre...)
[Edit : Le state n'est pas lié à la touche... sad ]

(C'est évidemment une début de solution très particulier qui nécessite un autre ordinateur...)

A bientôt pour la suite,

Zorgh


[Edit : Je viens de réessayer. Le "state" n'est pas lié à la touche... sad Il va falloir trouver autre chose. Mais il se passe quelque chose quand je tape sur les touches macros, ce qui n'était pas le cas avant!

Dernière modification par Zorgh (Le 17/04/2014, à 16:31)

Hors ligne