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/

Reply via email to