J'ai un trackball Logitech Cordless Trackman Optical qui possède 8 boutons.
Le problème est que je n'arrive pas à faire réagir le 8e bouton, avec un cadenas dessus (drag lock button). xev ne donne pas de réponse.
J'ai tenté avec Option "Buttons" "8" mais ça n'a pas marché.
Je suis en train de me demander si il n'y a pas plus de boutons sur le trackball car la molette est considéré comme 4 et 5.
Quelqu'un a réussi à faire réagir ce bouton ?
# heu ...
Posté par kesako . Évalué à 2.
[^] # Re: heu ...
Posté par Geob-o-matic . Évalué à 1.
# pas expert en X
Posté par TheBreton . Évalué à 1.
Desolé mais j'analyse le pb dans l'autre sens (bas niveau-haut niveau).
J'en deduis que sous X tu ne vois aucune reaction a ton appuie sur le bouton en question.
Quel est le drivers que ton periph utilise ? (un module X?)
Si c'est un module USB (et la c'est qu'une hyppothese) peut etre qu'il n'est pas specifique a ton trackball et qu'il ne gere pas le 8eme bouton tout simplement ?
A partir de plus d'information je pourrais peut etre t'aider a investiguer dans ce sens la...
[^] # Re: pas expert en X
Posté par Geob-o-matic . Évalué à 1.
Section "InputDevice"
Identifier "Trackball"
Driver "mouse"
Option "Device" "/dev/usb/input"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "8"
Option "ZAxisMapping" "4 5"
Option "AngleOffset" "-32"
EndSection
et j'avais le même problème avec Protocol sur ImPS/2
[^] # Re: pas expert en X
Posté par TheBreton . Évalué à 1.
montre l'utilisation d'un peripherique de type usb-input.
que donne le resultat de la commande lsmod ?
c'est avec elle que l'on verra le driver chargé pour la gestion de ton trackball.
merci de preciser la version de ton kernel aussi.
[^] # Re: pas expert en X
Posté par TheBreton . Évalué à 1.
pour verifier que le vendorid et productid du scanner soit bien les memes que dans le tuto..(on sait jamais avec les constructeurs)
[^] # Re: pas expert en X
Posté par Geob-o-matic . Évalué à 1.
Section "InputDevice"
Identifier "Trackball"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Name" "AutoDetected"
Option "Vendor" "AutoDetected"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "7"
Option "AngleOffset" "-32"
Option "ZAxisMapping" "4 5"
EndSection
lsmod (ces 3 là semblent se rapporter à mon trackball):
mousedev 4276 1
hid 22212 0 (unused)
input 3552 0 [mousedev hid]
lsusb -v (je ne met que le dernier qui comporte logitech):
Bus 001 Device 003: ID 046d:c508 Logitech, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x046d Logitech, Inc.
idProduct 0xc508
bcdDevice 15.00
iManufacturer 1 Logitech
iProduct 2 USB Receiver
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
Remote Wakeup
MaxPower 50mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Devices
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 bytes 8 once
bInterval 10
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 76
je suis en noyaux 2.4.16
J'ai essayé ça :
http://devilgallery.free.fr/articles.php?lng=fr&pg=14&prt=1(...)
et
http://www.slyunix.org/astuce/astuce.php?a_id=184(...)
mais xev ne me donne pas de réponse pour ce bouton (ainsi que 2 autres :/)
j'ai tenté de mettre /dev/psaux mais ça a craché mon serveur XFree 4.3.0.1
[^] # Point sur la situation
Posté par TheBreton . Évalué à 1.
le drivers usb utilisé pour ton trackball est le driver standard des souris usb.
Malheuresement pour toi la norme usb
(http://www.usb.org/developers/devclass_docs/HID1_11.pdf(...) page 68 )
definit qu'une souris standard dispose de 3 bouton, un deplacement X et Y. Le reste etant a la disposition du fabricant pour rajouter des fonction diversent et variés.
Ton trackball renvoie 8 octets la ou la norme en prevoit 3 obligatoire.
Le module mousedev est le module generic des souris sous linux et prevoit l'usage de 32 boutons donc pas de pb avec lui.
-J'aurais tendance a dire que tu dois avoir un module usbmouse de chargé en memoire non ? peut tu fournir le resultat complet de lsmod ?
Car lui quand je le lit ( /usr/src/linux/drivers/usb/usbmouse.c ) le source du driver il me montre qu'il connait 5 boutons (fonction usb_mouse_irq)
situer dans le premier octet du endpoint irq de la souris.
un deplacement X,Y et wheel.
En résumé car je m'égare dans la technique, il faut pour utiliser ton trackball un driver specifique en lieu et place du driver standard.
quatre solutions:
tu t'arrete la
tu cherche partout sur le net si quelqu'un est deja en cours
tu decide de le faire (et je peut te filer un coup de main)
tu attend qu'un nouveau kernel/driver soit disponible
Je tiens a souligner que je ne dispose pas d'un 2.6 pour verifier et que peut etre le boulot a deja été fait????
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
j'ai pas vu de usbmouse, mais c de mémoire.
sinon j'ai vu des tutoriaux en anglais et avant de tester avec xev, ils font le xmodmap que je n'ai pas fait. Donc j'ai plusieur piste avant de me lancer dans le dév de drivers :D je suis certe programmeur mais les drivers j'y ai jamais touché :)
[^] # Re: Point sur la situation
Posté par TheBreton . Évalué à 1.
Deux solutions, soit c'est un autre module qui prend en charge ta souris (a voir avec le resultat du lsmod)
soit dans le 2.6 il y a un driver specifique a ton matos (mais je doute).
Autrement pour le driver il s'agit de rajouter une dizaine de ligne dans le usbmouse.c de ton et je peut t'indiquer ligne par ligne quoi mettre (tu as de la chance ca fais partie de mon job d'ecrire des drivers sous linux)
sauf que d'habitude c'est pour le matos que j'ai concu et pas celui des autres.
L'usb driver c'est marrant et tout simple, par contre la couche input j'ai jamais triturer mais tout a l'air prevue pour ton cas donc en 10 ligne ca pourrait le faire.
(moyennant le respect de deux ou trois contrainte sur ta machine)
vu qu'un drivers peut plantetr on ne tourne pas sur une machine ou les données ne sont pas sauvegarde, on ne tourne pas sous X avant d'etre sur que le driver est stable, et on est patient parce qu'un nouveau kernel ca se compile...lentement
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
[^] # Re: Point sur la situation
Posté par TheBreton . Évalué à 1.
la reponse est non des partitions ne protege pas les donnees,il faut des disques physiquement deconnecté (debranché electriquement quoi): suivant le plantage du kernel que l'on peut faire on peut corrompre le drivers IDE/SCSI du kernel et faire faire des choses pas bien au controlleur de disk.
Par contre, les modifs a faire sont atomique(tres petites) et tres localisé (usbmouse.c), on peut facilement garantir avec un minimum de relecture du code avant execution un risque presque inexistant.
Ca fais 3 ans que je code des drivers linux et je n'ai crasher des disque que vraiment au tout debut (pointeur en vrac,utilisation de routines interdite dans le kernel et interrupt level principalement...)
je te garanti meme que les modifs que l'on ferait tu les comprendras tellement c'est simple.
Par contre c'est pas bien de ne pas faire de sauvegarde !
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 2.
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
avec la conf 10 buttons les 10 réagissent mais étrangement :
g un bouton qui lève 4 évemnements : pressed/release pour 2 boutons différents.
Un bouton qui prends le même numéro que la molette vers le bas et un autre bouon qui se prends pour le num 1.
j'ai donc 2 num 1.
le lsmod :
kernel 2.6.8, XFree86 4.3.0.1
g trouvé ça aussi :
http://marc.theaimsgroup.com/?l=linux-kernel&m=104864737506477&(...)
mais je ne sais pas quoi faire de ça :/
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
http://mmcustomize.free.fr/logitech/(...)
[^] # Re: Point sur la situation
Posté par TheBreton . Évalué à 1.
je ne sait pas si il y as un parallele entre ps2 et usb mais c'est une piste a suire.
Pour ta souris c'est pas un xmodmap qu'il faudait faire maintenant ?
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
mais pareil, les 3 boutons spéciaux se comportent bizarrement
c clairement le protocol PS/2 qui pose problème et je me tenterai bien :
http://marc.theaimsgroup.com/?l=linux-kernel&m=104864737506477&(...)
car il patch le protocol PS/2 mais vu la date ça devrait être intégré non ?
ou peut être pas ?
en tout cas en passant le protocol à PS/2++ ça empêche X de démarrer.
[^] # Re: Point sur la situation
Posté par TheBreton . Évalué à 1.
pour voir si tu retrouve le bout de code.
rien ne dit que l'auteur du patch a proposer au dev kernel sont bout de code, ni que soumis il a ete accepter.
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
j'ai étudié le patch et regarder le source voir si je reconnaissait des choses.
c'est pas tout à fait pariel mais ya des choses que je retrouve dans logips2pp.c
je t'envoie une archive des source du rep drivers/mouse par mp
si le patch y est déjà, je pige pas pkoi ça marche pas :'(
[^] # Re: Point sur la situation
Posté par Geob-o-matic . Évalué à 1.
[^] # Re: Point sur la situation
Posté par TheBreton . Évalué à 1.
# Remapper les boutons
Posté par Sébastien Rohaut . Évalué à 1.
http://www.slyunix.org/astuce/astuce.php?a_id=184(...)
[^] # Re: Remapper les boutons
Posté par Geob-o-matic . Évalué à 1.
# TROUVER !!!!!
Posté par Geob-o-matic . Évalué à 1.
en fait c'est eux :
http://www.linux-gamers.net/modules/wfsection/article.php?articleid(...)
il faut savoir que pour moi, Debian sarge, je n'ai que le module evdev dans le noyaux et j'ai pas d'affichage qui me dise que evdev est dans le XFree. J'ai tenté qd même leur réglage Xfree et j'ai mes 8 + 2 boutons qui répondent normalement sous xev !!! c trop de la balle :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.