[croquet] Windows keyDown events - numeric pad mapping to
alphabet.
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Dec 22 01:58:45 UTC 2004
On Dec 21, 2004, at 12:39 PM, Andreas Raab wrote:
> On Mac:
>
> I have no idea.
>
Currently KeyUp, keyDown generates the unicode value, historically
this was the macintosh virtual keycode but we decided a number of years
back to migrate that to unicode.
For OS-9 we map the unicode from the MacRoman value via a static table
lookup, hopefully it's correct. People are welcome to crosscheck.
For OS-X we use the unicode given to us by the operating system which
comes from the keyboard driver (well it's more complicated than that)
as a result of pressing a key, or from language services as a result of
picking from a keyboard palette or entering phonetics to signify what
phrase you want entered. As mentioned on my powerbook tapping the
numlock key and "J" gives 1 which is what I expect the keyboard driver
logic to supply.
KeyChar:
For OS-9 we use the value supplied to us by waitnextevent/getnextevent
logic (MacRoman). Again from the keyboard driver or language services.
A quick check shows yes num-lock "J" gives 1.
For OS-X we make a OS call and translate the unicode to
kCFStringEncodingMacRoman, this might result in 0, a non-mapping. In
that case we
toss back the unicode, versus ascii 0.
PS for the os-9 version
static int MacRomanToUnicode[256] =
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,
47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,
69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,
110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,
127,196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,
234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,
176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,
8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,17
2,
8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8
221,
8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218
,8222,
8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,3
05,710,
732,175,728,729,730,184,733,731,711};
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|