en fait, sous Debian/Ubuntu, soit tu fais un chmod 0666 /dev/input/inputdetonchoix à chaque redémarrage, soit tu ajoutes une règle udev qui elle sera permanente. ça vaudrait le coup de demander à Geoffrey de Tango Studio un coup de main là-dessus, il doit bien toucher de ce coté là.
L'autre manière que j'ai trouvé de fonctionner avec des périphériques USB était d'utiliser un script python de ixi-software (HID-server) qui te renvoie tout en OSC, libre à toi de parser sans te prendre la tête avec les droits (ni la droite).
http://www.ixi-audio.net/content/backyard.html
Hors ligne
Salut,
perso je suis sous Mac OsX 10.6, je ne comprends pas trop ce que tu dis, j'utilise aussi la boite [hid], le print reconnait les axes/boutons de mon matériel mais lorsque je bouge celui-ci le print ne m'affiche pas les axes en mouvement...
Je débute avec Pd... Désolé si je ne peut comprendre tous les termes.
Hors ligne
A toi, c'est bien à moi que tu répondait ?
Hors ligne
salut,
si dans la console tu as la liste des axes/boutons de ton joystick alors c'est que ton joystick est bien reconnu et géré par hid/pd, c'est pas plus compliqué que ça.
Mais il faut encore que tu récupère les infos que t'envoies ton contrôleur (peut être qu'il te les envoies c'est juste toi qui les récupère pas).
As tu regardé l'aide de [hid] ? Comment routes tu les messages renvoyés par [hid] ? Tu as un patch à partager que l'on voit ou tu en es ?
Hors ligne
Bonsoir,
j'ai regardé l'aide, lorsque je sélectionne le device (6) et que je clique sur Info, j'ai bien toutes les infos sur mon contrôleur :
info: device 6 info: total 8 info: poll 5 info: range key btn_0 0 1 info: range key btn_1 0 1 info: range key btn_2 0 1 info: range key btn_3 0 1 info: range key btn_4 0 1 info: range key btn_5 0 1 info: range key btn_6 0 1 info: range key btn_7 0 1 info: range key btn_8 0 1 info: range key btn_9 0 1 info: range key btn_10 0 1 info: range abs abs_x 0 255 info: range abs abs_y 0 255 info: range abs abs_z 0 255 info: product Logitech Attack 3 info: manufacturer Logitech info: transport USB info: vendorID 0x046d info: productID 0xc214 info: type joystick5
Je joint le .Pd que j'ai fait.
Lorsque je clique sur le [print( relié au [hid], voici les infos qu'il transmet :
[hid] found 14 elements: TYPE CODE # EVENT NAME ----------------------------------------------------------- key btn_0 0 Button Input, Button #1 key btn_1 0 Button Input, Button #2 key btn_2 0 Button Input, Button #3 key btn_3 0 Button Input, Button #4 key btn_4 0 Button Input, Button #5 key btn_5 0 Button Input, Button #6 key btn_6 0 Button Input, Button #7 key btn_7 0 Button Input, Button #8 key btn_8 0 Button Input, Button #9 key btn_9 0 Button Input, Button #10 key btn_10 0 Button Input, Button #11 abs abs_x 0 Miscellaneous Input, X-Axis abs abs_y 0 Miscellaneous Input, Y-Axis abs abs_z 0 Miscellaneous Input, Z-Axis
Oui j'ai du surement oublier une manipulation à faire..
Dernière modification par Subgaz (2011-10-27 20:12:55)
Hors ligne
Merci pour ce patch détaillé.
Les 3 premières étapes, pas de soucis mais quand je clique sur le poll, la première fois j'ai droit à un :
BigBordel: abs abs_x 127
BigBordel: abs abs_y 127
BigBordel: abs abs_z 255
Puis les secondes, plus rien. Quand je bouge les axes ou appuie sur les boutons rien ne s'affiche, mon matériel est reconnu mais impossible des capter les infos qu'il transmet..
Hors ligne
1) tu n'as besoin de ne cliquer qu'une fois sur [poll 20<.
2) si il t'affiche un truc du genre "BigBordel : blabla bla" c'est que ton joystick est reconnu et qu'il envoies des infos a pd.
Tu veux dire que cela fonctionne 1 seconde et puis plus rien ???
Tu as compris comment sont routés les messages/valeurs renvoyés par le joystick ?
Hors ligne
Oui je n'ai cliqué qu'une fois sur [poll 20<.
Oui voila il m'a affiché ces 3 lignes puis plus rien..
Euh j'ai compris qu'on lui demande d'afficher toutes les 20ms par exemple les valeurs de mon joystick, mais pas comment il les envois..
(routés = envoyés ?)
Hors ligne
Copies/colles tout ce qu'il y a inscrit dans la console, en particulier la partie ou ton joystick est reconnu (car sans plus d'infos on pourras pas vraiment t'aider).
Et 'router' cela veut dire 'aiguiller' (au sens voie ferrée) les messages : tel message sur telle voie, etc etc, regarde l'aide de l'objet [route].
Hors ligne
En ayant cliqué sur tous les objets ou tu m'a dit voici ma console :
__________________________________________________
Device 0: 'Apple Inc.' 'Apple Internal Keyboard / Trackpad' version 264 @ location 0xfa120000
device type: keyboard usage page: 0x0001 usage: 0x0006
vendorID: 0x05ac productID: 0x0246
__________________________________________________
Device 1: 'Apple Inc.' 'Apple Internal Keyboard / Trackpad' version 264 @ location 0xfa120000
device type: page: 0xff00, usage: 0x1 usage page: 0xff00 usage: 0x0001
vendorID: 0x05ac productID: 0x0246
__________________________________________________
Device 2: 'Apple Inc.' 'Apple Internal Keyboard / Trackpad' version 0 @ location 0xfa120000
device type: mouse usage page: 0x0001 usage: 0x0002
vendorID: 0x05ac productID: 0x0246
__________________________________________________
Device 3: 'Apple Inc.' 'Apple Internal Keyboard / Trackpad' version 264 @ location 0xfa120000
device type: mouse usage page: 0x0001 usage: 0x0002
vendorID: 0x05ac productID: 0x0246
__________________________________________________
Device 4: 'Apple Computer, Inc.' 'Apple IR' version 22 @ location 0xfd110000
device type: consumer usage 0x1 usage page: 0x000c usage: 0x0001
vendorID: 0x05ac productID: 0x8242
__________________________________________________
Device 5: 'Mitsumi Electric' 'Apple Optical USB Mouse' version 272 @ location 0xfd122000
device type: mouse usage page: 0x0001 usage: 0x0002
vendorID: 0x05ac productID: 0x0304
__________________________________________________
Device 6: 'Logitech' 'Logitech Attack 3' version 16 @ location 0xfd123000
device type: joystick usage page: 0x0001 usage: 0x0004
vendorID: 0x046d productID: 0xc214
__________________________________________________
Device 7: '' 'Apple Mikey HID Driver' version 0 @ location 0x00000000
device type: consumer usage 0x1 usage page: 0x000c usage: 0x0001
vendorID: 0x0000 productID: 0x0000
[hid] found 14 elements:
TYPE CODE # EVENT NAME
-----------------------------------------------------------
key btn_0 0 Button Input, Button #1
key btn_1 0 Button Input, Button #2
key btn_2 0 Button Input, Button #3
key btn_3 0 Button Input, Button #4
key btn_4 0 Button Input, Button #5
key btn_5 0 Button Input, Button #6
key btn_6 0 Button Input, Button #7
key btn_7 0 Button Input, Button #8
key btn_8 0 Button Input, Button #9
key btn_9 0 Button Input, Button #10
key btn_10 0 Button Input, Button #11
abs abs_x 0 Miscellaneous Input, X-Axis
abs abs_y 0 Miscellaneous Input, Y-Axis
abs abs_z 0 Miscellaneous Input, Z-Axis
Il n'affiche pas les boutons/axes que je met en mouvement mais les reconnait.
Hors ligne
Yop,
aucune idée d'où est le problème rep ?
Hors ligne
Ben au stade ou tu en es : reconnaissance du joystick + output des bouttons/axes dans la console, cela a toujours fonctionné pour moi.
Donc 2 possibilités :
1) tu es tombé sur un bug jamais découvert.
Dans ce cas il te faut lancer pd avec un débuggeur, sous linux tu peux le faire avec un '$ gdb pd'
puis regarder ce que le débuggeur te dit quand tu actives ton joystick, normalement il mettra en évidence la lib qui merdoie.
2) c'est ton patch qui ne fonctionne pas : tu routes mal les messages, donc ton joystick marche bien avec pd, c'est juste toi qui récupère pas ce qu'il t'envoie.
Bref, je ne sais pas vraiment étant donné que dans mon cas j'ai jamais eu ce genre de problèmes (ça a toujours marché), de plus ce qui m'étonne un peu c'est que normalement un joystick c'est quelque chose d'assez répandu, simple techniquement, et depuis longtemps supporté par pd, essaie de doner plus d'infos, de double checker tes patchs, de lancer un débuggeur pour voir ce qu'il se passe...
Hors ligne