Kristian Adrup wrote in message <45077@palm-dev-forum>...
>
>Kristian Adrup wrote in message <44776@palm-dev-forum>...
>>Hi,
>>I know that I can't use the serial port and IR port at the same time since
>>they share the same UART. My app sends/receives data through IR using
>>Netlib. If a user has a Palm portable keyboard and hits a key during a
>>transfer he will get an error. Can I disable the PPK somehow during the
>>transfer? Currently I don't have a PPK in my posession so I can't test it.
>>I haven't been able to find any info on how the PPK driver works, I guess
>>it traps som system event handlers and waits for a hotsync signal. Any
>>ideas?
>Ok, I've thought a bit more on this one. The keyboard driver does patch 
>sysTrapEvtGetEvent, and there doesn't seem to exists any API to 
>programmatically disable the driver. So my idea is to patch 
>sysTrapEvtGetEvent myself and when my app is in connected state redirect
>EvtGetEvent calls to the original(Palm) EvtGetEvent routine, instead of the
>keyboard EvtGetEvent which normally gets called. My question is how do I
>know the address of the original EvtGetEvent? Is there a way to get it from
>the system or do I have to figure out where the keyboard driver saves it?
>If I patch a trap with SetTrapAddress() and then reset the palm, the trap
>reverts back to its original handler. So there ought to be some way for me
>to get the original address, at least I hope so!

[For the archives...]
The keyboard driver saves the original addresses of the patched traps in features. 
This is what I do to get the original EvtGetEvent.

typedef void (*EvtGetEventP)(EventType *event, Int32 timeout);
EvtGetEventP OriginalEvtGetEvent;
FtrGet('KO01', 1, (UInt32 *)&OriginalEvtGetEvent);

I've tried this with version 1.1, 1.2 and 1.5beta of the keyboard driver.

Regards,
Kristian Adrup



--
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to