On Apr 29, 2009, at 6:40 PM, kvic...@pobox.com wrote:

thank you. this solved my problem.

You're welcome.  I'm glad I could help.


and for the archives (to help anyone in the future), here is my code:

UInt32 deadKeyState = 0;
UniCharCount actualCount = 0;
UniChar baseChar;
TISInputSourceRef sourceRef = TISCopyCurrentKeyboardLayoutInputSource(); CFDataRef keyLayoutPtr = (CFDataRef)TISGetInputSourceProperty( sourceRef, kTISPropertyUnicodeKeyLayoutData);
CFRelease( sourceRef);
UCKeyTranslate( (UCKeyboardLayout*)CFDataGetBytePtr(keyLayoutPtr),
                              [theEvent keyCode],
                             kUCKeyActionDown,
                               0,
                              LMGetKbdLast(),

Why LMGetKbdLast rather than LMGetKbdType? I think that the "Last" in LMGetKbdLast means "former". That is, if the keyboard is switched at some point, then LMGetKbdType gives the current keyboard type and LMGetKbdLast gives the previous keyboard type.


                        kUCKeyTranslateNoDeadKeysBit,
                           &deadKeyState,
                          1,
                              &actualCount,
                           &baseChar);

Cheers,
Ken

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to