Does anyone know why the below code is causing UCKeyTranslate to return an error?
const int kBuffSize = 16;
MacTypes::TSMDocumentID idocID;
MacTypes::OSType types[1];
types[0] = MacTypes::kUnicodeDocument;
MacTypes::NewTSMDocument(1, types, &idocID,0);
const MacTypes::UCKeyboardLayout* uchrHandle;
MacTypes::UInt32 deadKeyState = 0;
MacTypes::SInt16 currentKeyScript;
MacTypes::SInt16 lastKeyLayoutID;
MacTypes::UniChar unicodeInputString[kBuffSize];
MacTypes::UInt32 keyboardType;
MacTypes::UInt32 modifierKeyState;
MacTypes::UInt16 virtualKeyCode;
MacTypes::UInt16 keyAction;
MacTypes::UniCharCount actualStringLength;
keyAction = MacTypes::kUCKeyActionDown;
modifierKeyState = 0;
keyboardType = MacTypes::LMGetKbdType();
currentKeyScript = GetScriptManagerVariable(MacTypes::smKeyScript);
lastKeyLayoutID = GetScriptVariable(currentKeyScript, MacTypes::smScriptKeys);
//uchrHandle = MacTypes::GetResource('uchr', lastKeyLayoutID);
uchrHandle = (const MacTypes::UCKeyboardLayout*)MacTypes::GetResource('uchr', 0);
if (uchrHandle)
{
MacTypes::OSStatus status = MacTypes::UCKeyTranslate(uchrHandle, uVirtualKey,keyAction, modifierKeyState, keyboardType, 0, &deadKeyState,
kBuffSize, &actualStringLength, unicodeInputString);
}
const int kBuffSize = 16;
MacTypes::TSMDocumentID idocID;
MacTypes::OSType types[1];
types[0] = MacTypes::kUnicodeDocument;
MacTypes::NewTSMDocument(1, types, &idocID,0);
const MacTypes::UCKeyboardLayout* uchrHandle;
MacTypes::UInt32 deadKeyState = 0;
MacTypes::SInt16 currentKeyScript;
MacTypes::SInt16 lastKeyLayoutID;
MacTypes::UniChar unicodeInputString[kBuffSize];
MacTypes::UInt32 keyboardType;
MacTypes::UInt32 modifierKeyState;
MacTypes::UInt16 virtualKeyCode;
MacTypes::UInt16 keyAction;
MacTypes::UniCharCount actualStringLength;
keyAction = MacTypes::kUCKeyActionDown;
modifierKeyState = 0;
keyboardType = MacTypes::LMGetKbdType();
currentKeyScript = GetScriptManagerVariable(MacTypes::smKeyScript);
lastKeyLayoutID = GetScriptVariable(currentKeyScript, MacTypes::smScriptKeys);
//uchrHandle = MacTypes::GetResource('uchr', lastKeyLayoutID);
uchrHandle = (const MacTypes::UCKeyboardLayout*)MacTypes::GetResource('uchr', 0);
if (uchrHandle)
{
MacTypes::OSStatus status = MacTypes::UCKeyTranslate(uchrHandle, uVirtualKey,keyAction, modifierKeyState, keyboardType, 0, &deadKeyState,
kBuffSize, &actualStringLength, unicodeInputString);
}