Re: converting a characer to a keycode
Re: converting a characer to a keycode
- Subject: Re: converting a characer to a keycode
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 11 May 2009 09:27:16 +0200
Le 9 mai 09 à 22:29, email@hidden a écrit :
At 9:14 PM -0700 5/8/09, email@hidden wrote:
ken wrote:
the only way i can think to perform this conversion is to
itereate over the virtual key codes 0-127 (with various
combinations of shift and option keys) until i find the one that
matches the user input character.
and while this is certainly doable, it feels awfully clumsy (and
potentially slow).
is there a better way?
Create the inverse mapping once, e.g. in an NSDictionary, then use
that mapping thereafter, instead of searching repeatedly.
This assumes there is an unambiguous inverse mapping, which ain't
necessarily so. For example, a keyboard with a numpad has
duplicate key legends for all numpad keys. I think these numpad
keys have different keycodes than the keys in the main alphanum
layout. So given a character like "1" (or "*", "=", etc.) it's not
possible to
reverse it to a single unique keycode.
greg,
thanx for the reply. and yes i am aware of the possible duplicates.
i was just hoping for a better way other that iterating via
UCKeyTranslate (which turns out to be fast enough, so probably no
need to cache via a dictionary or otherwise).
An alternative would be to parse the UCHR resource yourself instead of
using UCKeyTranslate.
http://developer.apple.com/documentation/Carbon/reference/Unicode_Utilities_Ref/uu_app_uchr/uu_app_uchr.html
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden