Code:
casekEventRawKeyDown:GetEventParameter(inEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode);
GetEventParameter(inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &charCode);
if ( (int)keyCode == 1 || (int)keyCode == 2 || (int)keyCode == 3 || (int)keyCode == 14 || (int)keyCode == 36 || (int)keyCode == 53 || (int)keyCode == 44 || (int)keyCode == 49)
{
break;
}
//syslog(LOG_NOTICE, "Key Down [%c] [%d]", (char)charCode, (int)keyCode);
keyPressed = true;
keyDown = true;
break;
casekEventRawKeyUp:
GetEventParameter(inEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode);
GetEventParameter(inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &charCode);
if ( (int)keyCode == 1 || (int)keyCode == 2 || (int)keyCode == 3 || (int)keyCode == 14 || (int)keyCode == 36 || (int)keyCode == 53 || (int)keyCode == 44 || (int)keyCode == 49)
{
break;
}
//syslog(LOG_NOTICE, "Key Up [%c] [%d]", (char)charCode, (int)keyCode);
keyPressed = true;
keyDown = false;
break;
casekEventRawKeyRepeat:
GetEventParameter(inEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode);
GetEventParameter(inEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &charCode);
if ( (int)keyCode == 1 || (int)keyCode == 2 || (int)keyCode == 3 || (int)keyCode == 14 || (int)keyCode == 36 || (int)keyCode == 53 || (int)keyCode == 44 || (int)keyCode == 49)
{
break;
}
//syslog(LOG_NOTICE, "Key Repeat [%c] [%d]", (char)charCode, (int)keyCode);
// For key repeats, just sending another keyDown seems to work just fine.
keyPressed = true;
keyDown = true;
break;
Connect With Us