[squeak-dev] Unix keyboard events lose track when multiple keys pressed or keys held down

tim Rowledge tim at rowledge.org
Sun Jan 17 19:02:32 UTC 2021

> On 2021-01-17, at 10:36 AM, David T. Lewis <lewis at mail.msen.com> wrote:
> However, when I run the VM with -compositioninput and test keystrokes using
> the 'f' and 'j' keys, this is what I see:
> [502 at 771 keyDown (102) 127659]
> [502 at 771 keystroke 'f' (102) 127659]f
> [502 at 771 keyDown (106) 127848]
> [502 at 771 keystroke 'j' (106) 127848]j
> [502 at 771 keyUp (106) 127969]
> [502 at 771 keyUp (0) 128233]
> It looks to me like key release event for the 'f' key is being delivered
> to the image, but it has keycode 0 instead of keycode 102. 

I'll guess for now that it is a side effect of the prior mentioned  XmbLookupString vs XLookupString issue.

A question we've not yet asked but that likely has some important bearing on this is just how do the composition input UI widgets and so on actually work? The only system I'm currently aware of is the relatively simple ctl-e-e to get an "é" on my iMac. I'm sure there are much more sophisticated options out there for languages using the huge range of glyphs for Chinese and Japanese etc.

I suppose in some ways it's not very relevant to the Scratch usage issue because nobody is going to want to do a complex multi-gesture action instead of one of the cursor keys as part of a twitch game! Though a twitch training game to learn the actions as part of a language teaching system...  

tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Useful random insult:- A .22 caliber intellect in a .357 Magnum world.

More information about the Squeak-dev mailing list