Tom,
Sorry for the delay I in this response.
To answer your question I believe you are correct.
Buttons are returned as events in the driver (h3650_ts.c).
Each event describes the status (on or off) of a _single_ button. Thus when
you press and release a button you get two events. The first event describes
the on state and the second describes the off state.
There is a test application called key_read at:
http://www.handhelds.org/cgi-bin/viewcvs.cgi/apps/h3600_test/
I ran this application and pressed two buttons at the same time however only
one button (event) was registered.
The events are collected by a microcontroller which in turn feeds them to the
above driver (h3650_ts.c). The events ( as stated above) descibe a _single_
key.
I don't believe the driver's ISR is missing events and I when I pressed two
keys simultaneously I was unable to to register both keys just the lowest
number key's ON and OFF status. You can try this test on the iPAQ for yourself
by
from the iPAQ's serial console.
/etc/init.d/xdemo stop
(zmodem key_read to the iPAQ using minicom or equivalent)
./key_read
(press any button and you will see the key event codes on your console)
Regards
Charlie
Tom_Kirksey@ingersoll-rand.com wrote:
> I have been talking with some developers about porting xmame to the iPaq
> and one of them said there is a problem with the buttons on the iPaq.
> Supposedly, only one button press can be detected at one time. So the
> direction indicated by the game pad and a button mapped "fire" could not be
> detected at the same time. Many games will be hard, or impossible to play
> with this limitation.
>
> I searched the mailing list archives and found a mention (possibly) of this
> problem, but no solution. The way I understand it, each button is
> connected to a resistor matrix and each button press is indicated to the
> CPU by 3v minus whatever voltage is dropped across the resistor that button
> is connected to. Each button is represented by a voltage.
>
> If this is the case, would it be possible to create "new" events (i.e.
> "Left-Fire", which would be the voltage drop of "left" minus the drop for
> "fire"). This may not be possible, the voltage range tolerance's may be
> too close.
>
> BTW, I am also working on getting Doom and Gameboy emulation for the Linux
> iPaq. Gmate has Doom and some type of Gameboy emulator running on the Yopy
> and there is a version of Doom
> (http://www.jimmysoftware.com/Software/Doom4CE/index.html) for the HP
> Jornada 820. It runs under CE, but is based on the Linux version of Doom,
> so should be portable to the iPaq.
>
> Cpt_Kirks
>
> _______________________________________________
> iPAQ mailing list
> iPAQ@handhelds.org
> http://handhelds.org/mailman/listinfo/ipaq
Received on Tue Aug 15 17:49:51 2000
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:43:40 EDT