Hi all.
I'm trying to write an application that intecepts some key holds on Treo
keyboard. I don't have a treo phone, so I'm using the Simulator. What I notice
is that the keyhold event doesn't seem to be triggered by eventdequeued
notification (while it is in the application event loop). The keyUp event is
never thrown. Can someone confirm this on a real device?
In addition, I can't get the PmKeyLib work (at least on simulator). Can you
please help me?
The code I use for PmKeyLib is:
static Char letterPressed () {
UInt32 ftr;
FtrGet(sysFtrCreator, sysFtrNumUIHardwareFlags, &ftr);
if ((ftr & sysFtrNumUIHardwareHasKbd) == 0)
return '\0';
UInt16 libRefNum = 0;
bool close = false;
Err err = SysLibFind(kPmKeyLibName, &libRefNum);
if (err == sysErrLibNotFound) {
err = SysLibLoad(kPmKeyLibType, kPmKeyLibCreator, &libRefNum);
if (err == errNone) {
close = true;
err = PmKeyLibOpen(libRefNum);
}
}
if (err == errNone) {
UInt16 keyCodes[1];
Boolean pressed[1];
for (int i = 0; i < 1; i++) {
keyCodes[i] = keyA; // also tried 'a' and 'A'
}
UInt16 presses = PmKeyKeysPressed(libRefNum, 1, keyCodes, pressed);
if (close)
PmKeyLibClose(libRefNum);
if (presses != 0) {
for (int i = 0; i < 1; i++) {
if (pressed[i] != 0) {
return (Char)('A' + i);
}
}
}
}
return '\0';
}
Thank you,
Ignazio Di Napoli
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/