At 7:22 PM -0500 4/29/09, Ken Thomases wrote:
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 (i think) you've helped again. thanx. (see below)



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.

the documentation for LMGetKbdLast says:
        The last physical keyboard type used.
i read that to mean the keyboard last used/typed on by the user, i.e., the keyboard used that triggered the current keyboard event. i'm assuming that you are correct and i've changed my code appropriately.

thanx,
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