Jim McGowen wrote:
Just tried your code on the T5 and bad news, no workie.
I'm assuming key == event->data.keyDown.chr?
Yes, key == event->data.keyDown.chr
I wonder why it doesn't work for you. I have this code implemented in
my app for quite a while, and I have T650, T5 and LifeDrive people among
my user base, and they would have noticed not being able to switch
events with the up/down buttons. Now, I didn't include ALL of the code
in that module that processes the key codes, only those that appeared to
handle the 5-way. But I also have such lines as
if (key== chrVerticalTabulation) return keyU;
if (key== chrFormFeed) return keyD;
to handle the generic up/down on non-5-way devices.
Bob
"Robert Moynihan" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
Jim McGowen wrote:
Well after much toil I'm back where I started, only even more confused
than I was.
What I want to do is handle 5-way navigation key down events. I don't
need "one-handed navigaion" or focus rings ect... I simply want to handle
scrolling and selecting in a custom list control I made. I got this
working over a year ago with the Tungsten C but the new navigation
features on newer devices boke it.
Aren't you just looking for a keydown event, and comparing the keyDown
data to either one group of values or another? Here's a snippit of what
I've been doing for some while now, and I've not heard of any complaints.
Of course, I don't have a physical T5 to test on... so maybe there are
issues. I've certainly never bothered to concern myself with "Interaction
Mode" at all thus far.
Note that all return values are from a small custom enum that I created
for my own purposes.
Bob.
if (key==vchrNavChange){
if (event->data.keyDown.keyCode & (navBitUp | navChangeUp)) return
key5wayUp;
if (event->data.keyDown.keyCode & (navBitDown | navChangeDown))
return key5wayDown;
if (event->data.keyDown.keyCode & (navBitLeft | navChangeLeft))
return key5wayL;
if (event->data.keyDown.keyCode & (navBitRight | navChangeRight))
return key5wayR;
if (event->data.keyDown.keyCode & (navBitSelect | navChangeSelect)
&& !(event->data.keyDown.modifiers & autoRepeatKeyMask))
return key5wayCtr;
}
else{
if (key==vchrRockerUp) return key5wayUp;
if (key==vchrRockerDown) return key5wayDown;
if (key==vchrRockerLeft) return key5wayL;
if (key==vchrRockerRight) return key5wayR;
if (key==vchrRockerCenter) return key5wayCtr;
}
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/