Bon ayant ras le bol de voir qu'en jeux mes touches claviers ne sont pas toujours prisent en compte, j'ai craqué pour un clavier mécanique logitech G910 orion spark.

A part l'histoire du réglage des couleurs sous linux (bah oui, sous windows ça fonctionne au poils), je regrette juste de ne pas pouvoir régler les touches G1, G2....

Je n'en suis qu'au début de la découverte de ce clavier qui me rappel mon vieux clavier Série (avec la grosse fiche ronde bien avant les PS2...) avec une vielle puce clavier Intel de 1982 (il doit encore trainer quelque part chez mon paternel),qui faisait la même chose. C'est à dire qu'il ne planté pas dès que tu tapé sur plus de deux touches en même temps.

Maintenant c'est mon logiciel de MAO LMMS qui n'arrive plus à suivre.

Seule bémole, en dehors des touches G, c'est le repose poignet qui est bof bof. Mon K350 de la même marque est largement mieux loti de ce coté, sans compté le confort pour les frappes dût à la disposition en vague des touches (style microsoft natural keyboard pour ceux qui connaissent).

Par contre je suis étonné de la facilité de la frappe, même si à la longue elle est en dessous du K350, et surtout du peu de bruit que font les touches.

Donc la question est : Est-ce que quelqu'un a une solution pour la prise en charge des touches G... (macro) supplémentaire? car le reste semble fonctionner, comme les touches multimédia, parfaitement.

C'est bien dommage que l'on ai pas un petit geste des fabricants de clavier pour les linuxiens 😢.

Je verrai à la longue si j'arrive à trouver une solution, surtout pour les couleurs, mais si quelqu'un avait des pistes à suivre ça aiderai grandement.

Après en jeux (TF2, Verdun, Ark survivor evolved, Arma3, etc...) ça fonctionne vraiment très bien et, comme je l'ai dit, sur les logiciels de musique qui utilise le clavier pour les touches du piano c'est le pied. (bon après j'ai un clavier maitre midi qui traine et qui est mieux adapté, mais bon à défaut).

Édit :
Bon je me répond plus ou moins à moi même :-P.

Les touches G1... sont vu comme les touches F1, F2.... Donc il doit y avoir moyen de faire quelque chose avec 🙂.

Voici la tête de la bête (les couleurs sont au choix normalement, seulement toujours pas géré sous linux, du coup c'est du bleu clair pétant) :
21 jours plus tard
Je te rejoins sur une chose : le manque de support de Logitech sous Linux.

Mais si tu arrives à tes fins, je veux bien savoir comment. G'ai bien un g510 et toujours rien à faire sous linux... 🙁
Le souci c'est que les touches G1... ont renvois le même code que les touche F1... Du coup il faut sans doute agir dans le micro logiciel du clavier pour configurer le tout. Parce que les modifications sous Windows restent que si tu plante le logiciel. (couleurs et macro)
Par contre ça fait sans doute planté autre chose, car le clavier ce met à déconner par moment même sous Linux...

Il y a bien un pilote linux pour le G410 qui traine, mais il n'est malheureusement plus mis à jour.

Bon après ça reste un très bon clavier. Même si je préfère avoir un en "vague" pour la saisi. Dommage qu'ils ne pensent qu'à la gamme "gamers" pour les touches mécanique... Mais ils ne sont pas les seuls...

Mon rêve : Un K350 avec ces touches "Romer G" 🙂. Et un trackball au pouce un peut plus gros que le M570 comme leurs premiers trackman marble... (bon je sais je suis "bizarre", mais les souris me provoque des envies de meurtres :-P, après des putains de tendinites aïgue...)
Bonjour,

je pense que ce soucis de touches macros est assez constant dans les claviers de ce style. J'ai un mad catz qui possède 12 touches macros, tout fonctionne...sauf ces foutus macros. En gros, le driver balance une commande de configuration au clavier, qui stocke cette config en RAM interne. Et je n'ai pas encore vu de drivers tout fait pour linux (en tout cas pour mon clavier, je ne sais pas pour le G910)

j'ai pour projet de faire un driver qui permette cela, mais pas vraiment le temps de regarder ça en ce moment.
Il a exister différents drivers poussés pour l'utilisation des clavier logitech mais abandonnés.

Edit : ce post lance un peu les prémices mais pas eu vraiment de suite...

Dommage qu'il n'y a rien sous Linux pour configurer correctement nos claviers avec macro...
Bah après c'est compréhensible vu le nombre de joueurs sous linux... (2% chez steam par exemple)

A voir si vulkan s'impose ça aidera peut être à avoir de gros titres, mais après reste les soucis des perfs des pilotes graphiques...

Enfin bon... Tant que l'on peut avoir les avantages d'un mécanique, les macros ou les couleurs passent en second plan :-P.
VINDICATORs wrote:Bah après c'est compréhensible vu le nombre de joueurs sous linux... (2% chez steam par exemple)

A voir si vulkan s'impose ça aidera peut être à avoir de gros titres, mais après reste les soucis des perfs des pilotes graphiques...

Enfin bon... Tant que l'on peut avoir les avantages d'un mécanique, les macros ou les couleurs passent en second plan :-P.
J'aime pas les claviers mécanique (point de vu). Mais il est vrais que le peu de nombre de joueur sous Linux refroidit ceux qui voudraient porter leur soft sous Linux. Sans compter les différentes distributions qui ne fonctionnent pas de la même façon (Fedora/Ubuntu/Archilinux)...
bah chui très content de celui ci. Pour en avoir essayé (switch rouge et marron de chez cherry) et avoir eu un passif sur des très vieux j'avais un doute, mais là...je me sent bien avec, sauf comme je l'ai dit pour la saisi, mais j'ai aussi plus l'habitude des claviers en vague.

Après en jeux c'est surtout l'anti ghosting qui est le pied. Surtout que celui là il l'est sur toutes les touches (testé et approuvé :-P).

Après c'est vrai que les leds ça fait bling bling, mais c'est sympa quand tu peux modifier les couleurs selon ce que tu fais/joue.

Au passage il y a pas mal de nouveauté niveau des shaders avec le cache disk de 1Go par défaut implémenté dans MESA (pour intel pour le moment). Du coup on devrait avoir de gros jeux qui avaient du mal tourner sans trop de soucis avec les pilotes libres 🙂.

Après avec steam la distribution ne pose plus de soucis à ce niveau, mais c'est ce faire encore enchainer à qqchose...
2 mois plus tard
J'ai rien pour les macros et les touches programmables mais j'ai acheté un clavier G810 orion spectrum et sur Linux impossible de régler les led...

J'ai fini par utiliser wireshark pour récupérer les infos envoyées au clavier par USB et créer un soft pour cela...

Vous pouvez consulter le projet sur : https://github.com/MatMoul/g810-led

Le support du G910 spark est fonctionnel sur la branche spark qui j'espère rejoindra la branche master d'ici quelques jours...
Ah.. pas con. Merci pour l'information. Je ne savais pas pour l'utilisation de wireshark pour récupérer les informations clavier.

Je regarde cela ce week end. Pour les macro le problème c'est que le code clavier est identique au code des touches F1.... a voir si il y a qqes choses à faire comme tu as fait pour les ledd 🙂.
3 mois plus tard
Pour info j'ai testé ce projet avec succès 🙂!!!

Merci à toi matmoul, plus qu'à voir pour une tite interface graphique, je m'y pencherai si j'ai un peu de temps.

Reste plus que l'histoire des raccourcis et ce sera parfait 🙂.
Je suis même étonné de la simplicité du programme niveau installation et tout.

Dommage de ne pas l'avoir d'inclus dans les dépôts (une idée à creuser vu que c'est déjà le cas avec pour la connexion des périphériques "unifing", autrement appelé "bluetooth bricolé proprio", de la même marque?)...
Compiler et un make install :
Job for g810-led.service failed because the control process exited with error code.
See "systemctl status g810-led.service" and "journalctl -xe" for details.
makefile:45 : la recette pour la cible « install » a échouée
make: *** [install] Erreur 1
Je pense à la non prise en charge du g510 que j'ai. 🙁
-- L'unité (unit) g810-led.service a commencé à démarrer.
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre g810-led[21734]: Keyboard not found
mars 07 18:00:13 Tigre systemd[1]: g810-led.service: Main process exited, code=exited, status=1/FAILURE
mars 07 18:00:13 Tigre systemd[1]: Failed to start Set Logitech G810 Led Profile.
-- Subject: L'unité (unit) g810-led.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) g810-led.service a échoué, avec le résultat failed.
mars 07 18:00:13 Tigre audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=g810-
mars 07 18:00:13 Tigre systemd[1]: g810-led.service: Unit entered failed state.
mars 07 18:00:13 Tigre systemd[1]: g810-led.service: Failed with result 'exit-code'.
mars 07 18:00:13 Tigre audit[21695]: USER_END pid=21695 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 m
mars 07 18:00:13 Tigre audit[21695]: CRED_DISP pid=21695 uid=0 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 
mars 07 18:00:13 Tigre sudo[21695]: pam_unix(sudo:session): session closed for user root

Avant compilation, un su -lc 'dnf install git make gcc-c++ hidapi-devel' s'impose.
Tu dois sans doute pouvoir rajouter le modèle dans " g810-led/udev/g810-led.rules".

Comme dit dans le Readme voici les modèles supporté:
    G410 Atlas Spectrum
    G610 Orion Brown
    G610 Orion Red
    G810 Orion Spectrum
    G910 Orion Spark
    G910 Orion Spectrum
Ce qui doit correspondre juste à :
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c331", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c337", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c330", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c333", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c338", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c32b", MODE="666"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c335", MODE="666"
Donc à voir si en rajoutant la ligne qui correspond à ton clavier ne résout pas le problème.

Après c'est peut être très différent de la série actuel non?

Il semble que tu peux regarder du coté du pilote "G15daemon" : https://wiki.archlinux.org/index.php/Logitech_Gaming_Keyboards
6 jours plus tard
concernent g810-led.rules, il sert uniquement pour éviter le sudo.

Le G510 est normalement pris en cherge par gnome15.org

Mais si tu veux tester avec g810-led,
Commence par un "lsusb | grep 46d"
Puis après la ligne 19 dans src/classes/Keaboard.h il faut ajouter une ligne du style :
{ 0x46d, 0xc????, (u_int16_t)KeyboardModel::g910 }
Les ???? proviennent du lsusb
puis make
make install
g810-led -a 808080
ou
make
./bin/g810-led -a 808080
4 mois plus tard
Alors il semble que ce projet soit à suivre pour les touches en plus : https://github.com/MohamadSaada/LogiGSK

A voir ou s'en inspirer 🙂. En plus il a repris ton code mathmoul 🙂.

Bon en fait d'après ce que j'ai compris c'est simplement au niveau des leds 😢...

Edit :

Ce qui est marrant, c'est que j'ai deux claviers de détecté :
[root@xxxx ~]# evemu-record > scroll.evemu                
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event2:      Logitech Gaming Keyboard G910
/dev/input/event3:      Logitech Gaming Keyboard G910
/dev/input/event4:      Logitech Logitech G930 Headset
/dev/input/event5:      Logitech M570
/dev/input/event6:      Logitech K350
/dev/input/event7:      Logitech G29 Driving Force Racing Wheel
/dev/input/event8:      HDA ATI HDMI HDMI/DP,pcm=3
/dev/input/event9:      HDA ATI HDMI HDMI/DP,pcm=7
/dev/input/event10:     HDA ATI HDMI HDMI/DP,pcm=8
/dev/input/event11:     HDA ATI HDMI HDMI/DP,pcm=9
/dev/input/event12:     HDA ATI HDMI HDMI/DP,pcm=10
/dev/input/event13:     HDA ATI HDMI HDMI/DP,pcm=11
/dev/input/event14:     HDA Intel PCH Front Mic
/dev/input/event15:     HDA Intel PCH Rear Mic
/dev/input/event16:     HDA Intel PCH Line
/dev/input/event17:     HDA Intel PCH Line Out Front
/dev/input/event18:     HDA Intel PCH Line Out Surround
/dev/input/event19:     HDA Intel PCH Line Out CLFE
/dev/input/event20:     HDA Intel PCH Line Out Side
/dev/input/event21:     HDA Intel PCH Front Headphone
Select the device event number [0-21]: :q!
Usage: evemu-record [--autorestart=s] <device> [output file]
Options:
    --autorestart=s
        Terminate the current recording after <s> seconds
        of inactivity and restart a new recording. This option requires
        an output file, the file is suffixed with the date and time of 
        the recording's start.
        The timeout must be greater than 0.
        This option is only valid for evemu-record.
[root@xxxxx ~]# exit
déconnexion
[xxx@xxx ~]$ udevadm info /sys/class/input/event3
P: /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.1/0003:046D:C32B.000D/input/input24/event3
N: input/event3
S: input/by-id/usb-Logitech_Gaming_Keyboard_G910_017A344D3232-if01-event-kbd
S: input/by-path/pci-0000:00:14.0-usb-0:4:1.1-event-kbd
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:4:1.1-event-kbd /dev/input/by-id/usb-Logitech_Gaming_Keyboard_G910_017A344D3232-if01-event-kbd
E: DEVNAME=/dev/input/event3
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.1/0003:046D:C32B.000D/input/input24/event3
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=Gaming_Keyboard_G910
E: ID_MODEL_ENC=Gaming\x20Keyboard\x20G910
E: ID_MODEL_ID=c32b
E: ID_PATH=pci-0000:00:14.0-usb-0:4:1.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_1_1
E: ID_REVISION=9204
E: ID_SERIAL=Logitech_Gaming_Keyboard_G910_017A344D3232
E: ID_SERIAL_SHORT=017A344D3232
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: LIBINPUT_DEVICE_GROUP=3/46d/c32b/111:usb-0000:00:14.0-4
E: MAJOR=13
E: MINOR=67
E: SUBSYSTEM=input
E: USEC_INITIALIZED=12038460

[xxxxx@xxxxx ~]$ udevadm info /sys/class/input/event2
P: /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0/0003:046D:C32B.000C/input/input23/event2
N: input/event2
S: input/by-id/usb-Logitech_Gaming_Keyboard_G910_017A344D3232-event-kbd
S: input/by-path/pci-0000:00:14.0-usb-0:4:1.0-event-kbd
E: DEVLINKS=/dev/input/by-id/usb-Logitech_Gaming_Keyboard_G910_017A344D3232-event-kbd /dev/input/by-path/pci-0000:00:14.0-usb-0:4:1.0-event-kbd
E: DEVNAME=/dev/input/event2
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0/0003:046D:C32B.000C/input/input23/event2
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=Gaming_Keyboard_G910
E: ID_MODEL_ENC=Gaming\x20Keyboard\x20G910
E: ID_MODEL_ID=c32b
E: ID_PATH=pci-0000:00:14.0-usb-0:4:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_1_0
E: ID_REVISION=9204
E: ID_SERIAL=Logitech_Gaming_Keyboard_G910_017A344D3232
E: ID_SERIAL_SHORT=017A344D3232
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: LIBINPUT_DEVICE_GROUP=3/46d/c32b/111:usb-0000:00:14.0-4
E: MAJOR=13
E: MINOR=66
E: SUBSYSTEM=input
E: USEC_INITIALIZED=12006174

[xxxx@xxxxx ~]$ 
Je me demande si cela n'explique pas le fait que les touches Gx sont vue comme des touches Fx, car en fait rattaché à un autre "clavier". Cela voudrait dire que Linux n'est pas capable d’interprété les deux différemment. Du moins en l'état...
C'est peut être une piste à creuser non?
Bon la prochaine piste à creuser pour cette histoire de touche macro c'est :
De rattacher le raccourci X à la touche GX du clavier event3 ou event2 ici.

La difficulté est la même quand on fait du multi clavier/multi bureau/ dans le style KVM.

D'après mes recherches ce n'est pas prévu à la base, ce qui explique les difficultés depuis des années avec les touches macro de nombreux claviers. Tout cela parce que la norme ne dois pas prévoir autant de codes qu'il n'en faudrait...

Le problème est identique sous MS windows, tant que le pilote, avec sans doute un hack, n'est pas installé, ces touches sont vue avec un code identique à d'autres touches (ici FX ou F1, F2...).
Donc cela ce comporte comme quand je branche mes deux claviers (avec fil et sans fil).

Si quelqu'un avait une idée ou est spécialise de l'utilisation du multi-clavier?

Peut être une configuration particulière à mettre dans /etc/X11/xorg.conf.d/?
Dire que event2 rattaché à keyboard1 en clavier fr
event3 rattaché à keyboard2 en clavier grec ancien (bon là c'est un exemple) avec la touche G1 rattaché aux symbole grec Oméga et pas à F1?
5 jours plus tard
Et bien je me suis emballé avec cette histoire de double clavier. En fait le second périphérique est associé au clavier est uniquement utilisé pour les touches multimédia.

Du coup je reviens au point de départ 🙁.