Re: Logitech MediaPlay

From: Christian Holzberger <molle(at)idontgivemynametoamachine.net>
Date: Fri, 03 Feb 2006 14:53:12 +0100

On Fri, 2006-02-03 at 11:32 +0100, Oliver Fromme wrote:
> Christian Holzberger <molle(at)idontgivemynametoamachine.net> wrote:
> > Oliver Fromme wrote:
> > > Christian Holzberger <molle(at)idontgivemynametoamachine.net> wrote:
> > > > Das stimmt so nicht. Xev erkennt schon 7 der 12 Buttons,
> > >
> > > Xev »erkennt« gar nichts, sondern gibt nur Events aus.
> > > Daß die Buttons irgendwelche Events generieren, mag ja
> > > durchaus sein.
> >
> > hehe, das wollt ich doch sagen, Xev gibt für 7 buttons events aus:
>
> [aufs wesentliche gekürzt]
>
> > state 0x10, button 1, same_screen YES
> > state 0x10, button 4, same_screen YES
> > state 0x10, button 6, same_screen YES
>
> Das sind ja erstmal nur drei verschiedene Buttons. Die
> Button-Nummern können von 0 bis 255 gehen.
>
> Ich habe mir mal kurz die Mühe gemacht, den aktuellen
> Button-Support von X zu recherchieren. Leider ist das
> ganze ein wenig verwirrend. Das normale X-Protokoll
> unterstützt nach wie vor nur fünf verschiedene Buttons
> (die, wie gesagt, Codes von 0 bis 255 haben können,
> was man mit xmodmap(1) konfigurieren kann). Siehe z.B.
> die Ausgabe von:
>
> $ grep Button /usr/X11R6/include/X11/X.h
>
> Selbst die XInputExtension unterstützt nur fünf Buttons,
> siehe XOpenDevice(3X11).
>
> An einigen Stellen scheinen es aber die Entwickler von
> X.org aufgebohrt zu haben. Während auf einem Rechner,
> auf dem ich noch XFree86 4.4.0 laufen habe (aktuell ist
> 4.5.0), auch xmodmap und andere Tools maximal fünf
> Pointer-Buttons handhaben wollen, scheint das unter
> einem aktuellen X.org auf elf erhöht worden zu sein.
> Allerdings gehe ich davon aus, daß das inkompatibel
> mit anderen X-Server ist.
>
> Du kannst ja mal testweise »xmodmap -pp« eingeben und
> gucken, was das ausgibt.
>

wow 16 buttons sag es:
There are 16 pointer buttons defined.

    Physical Button
     Button Code
        1 1
        2 2
        3 3
        4 4
        5 5
        6 6
        7 7
        8 8
        9 9
       10 10
       11 11
       12 12
       13 13
       14 14
       15 15
       16 16

> > > > Wie gesagt ich kann 7 nutzen also stimmt die Aussage so nicht.
> > >
> > > Was meinst Du mit »nutzen«? Wie nutzt Du diese sieben
> > > denn? Daß das X-Protokoll nur fünf Pointer-Buttons unter-
> > > scheiden kann, ist nunmal so und läßt sich nicht ohne wei-
> > > teres ändern.
> >
> > Warum kann mir Xev diese anderen Buttons dann anzeigen?
>
> Wir reden aneinander vorbei. :-)
>
definitiv :)

> Es mag ja durchaus sein, daß xev bei jedem Knöpfchen ein
> Event anzeigt. Das heißt aber noch lange nicht, daß (a)
> alle Buttons im X-Protokoll und somit auf Applikations-
> ebene unterschieden werden können, und daß (b) irgendwel-
> chen Anwendungen die Buttons konkret nutzen können.
Ob "irgendwelche" apps das koennen ist mir auch egal :), ich will es nur
fuer ein selbstgestricktes programm mit vorhandener hardware nutzen,
also nichts was fuer alle welt gueltig seien muss
>
> Wenn ich von »nutzen« sprach, meinte ich nicht xev, denn
> xev ist nur ein Debugging-Tool, keine Anwendung. Mit
> »nutzen« meine ich, ob Du z.B. im Webbrowser oder Office-
> Programm (oder sonstwo) verschiedene Aktionen mit jedem
> der Buttons verknüpfen kannst.
ja das ist zu sehr applikationsspezifisch und eine sache in der fuer die
usability eigentlichklare standarts geschaffen werden muessten, ...
(hehe aber nicht von mir :) hab so schon soviel zu tun)
>
> Und interessant wäre dann auch, ob das auch remote mit
> einem anderen X-Server funktioniert. Da tippe ich mal
> auf ein definitives »nein«. :-)
naja aber man kann wie du in einer deiner ersten mails sagtest bestimmt
die buttons mit keypresses verbinden
>
> In einer anderen Mail schriebst Du:
> > Kann man den UMS irgendwie ohne Codeänderungen zwingen mehr als 7
> > Buttons zu erkennen? Per sysctl finde ich da nichts... (habe aber mit
> > kerneloptionstuning in fbsd aber auch nicht so die Erfahrung)
> >
> > ums0: Logitech USB Receiver, rev 1.10/25.00, addr 2, iclass 3/1
> > ums0: 7 buttons and Z dir.
> > ^ hmmmmm.... (das stimmt so nicht)
>
> Aha, warum hast Du die Ausgabe nicht mal früher gezeigt?
> Das ist doch mal etwas handfestes.
>
> Ein oberflächlicher Blick in /usr/src/sys/dev/usb/ums.c
> liefert nach einer Sekunde folgende Zeile:
>
> #define MAX_BUTTONS 7 /* chosen because sc_buttons is u_char */
>
> Du könntest mal versuchen, das Limit auf 15 zu erhöhen.
> Du mußt dann allerdings auch an einigen Stellen die
> Typen anpassen, damit das funktioniert, z.B. in der
> Funktion ums_intr() in der Zeile »u_char buttons = 0;«
> einen int draus machen.
>
aber int waehr auch nicht richtig, da es ja bei 64 bit maschinen auch 64
bit entspricht bei 32 bit maschinen 32 bit (oder so aehnlich :) usw.
gibt es da nicht einen fixen 32 bit typen?

> Per moused sollten dann immerhin zehn Buttons nutzbar sein
> (mehr gibt das sysmouse-Protokoll nicht her). Bei direkter
> Verwendung des ums-Treibers sollten alle 12 Buttons gehen.
> Was X11 daraus macht, ist natürlich wieder ein andere
> Frage, siehe oben.
>

jop danke fuer die Antwort!!! hast mir echt weitergeholfen, wenn ich
zeit hab zieh ich mir den treiber rein und versuche ihn auf 12 buttons
aufzubohren...

> Gruß
> Olli
>
> PS: Falls das mit dem Patch an ums.c funktioniert, kannst
> Du ja mal versuchen, das per send-pr einzureichen.
>
> --
> Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
> Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
> Any opinions expressed in this message may be personal to the author
> and may not necessarily reflect the opinions of secnetix in any way.
>
> "I have stopped reading Stephen King novels.
> Now I just read C code instead."
> -- Richard A. O'Keefe
>
>
> To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
> with "unsubscribe de-bsd-questions" in the body of the message
>

-- 
Gruß,
Christian Holzberger
<molle(at)idontgivemynametoamachine.net>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 03 Feb 2006 - 14:53:37 CET

search this site