Case of EventSensor keystrokes on Windows.

Joshua Gargus schwa at fastmail.us
Sat Dec 3 16:27:05 UTC 2005


Hi,

I've noticed that EventSensor always uses uppercase characters for 
#keyUp and #keyDown events on Windows, even if shift is not pressed when 
typing the key.  For #keystroke, the "correct" case is used.

For example, if I quickly press and release the 'd' key (no shift 
pressed), three events are generated:
keyDown: 'D'
keystroke: 'd'
keyUp: 'D'

On Mac OS, all three events are have a lowercase character value.

Digging deeper, I looked at Interpreter>>nextEvent, which led to 
ioGetNextEvent() and then to ioProcessEvents() (two platform-specific C 
functions).  And here my Windows knowledge fails me (where do the 
messages to DispatchMsg go next?).
Does anyone know why the Windows VM would generate an uppercase 
keystroke event when you type a letter without shift pressed?  This 
seems to be a bug, no?

Thanks,
Josh



More information about the Squeak-dev mailing list