- From: Oliver Hunt <oliver@apple.com>
- Date: Wed, 1 Aug 2007 20:41:03 -0700
- To: Doug Schepers <schepers@w3.org>
- Cc: Web API public <public-webapi@w3.org>
> According to the spec as it stands, if there is an input method
> editor, it happens after this sequence, which should look something
> like this (note that the current spec doesn't have keypress, so I
> omitted it here):
>
> keydown -> keyup -> [IME/textInput]
>
> Assuming that we fit keypress in there, does this cause any problems
> for any browser?
>
> Finally, we discussed the IME more extensively offlist... maybe
> you'd like to share your opinions about how/whether/where this
> should be specified?
I am concerned about the belief the IM behaviour should happen after
DOM keyevents, there are a few reasons for this:
* non-IM aware sites could easily unintentionally and unnecessarily
cause IMs to not work correctly or at all
* why would a keyup come prior to textInput? pressing and holding a
key does not trigger a keyup, but does generate input. Why would
using an IM change this?
* IMs vary in expected behaviour, typing enter to confirm when
using a korean IM for example will send a keydown/press/input/up set
in addition to confirming the composition, whereas the same key using
a Japanese IM would be consumed by the IM, resulting in the keydown:
229/keyup pairing given to key events that happen during composition
events
* The icky implementation arguments:
* The windows IME API would make such a model difficult (though
not impossible), as it intercepts events fairly early
* Tying textInput to keyup, will cause many mighty problems, eg.
what should be entered if I go 'a'-down, 'b'-down, 'c'-down, 'b'-up,
'c'-up, 'a'-up? textInput (if fired) should always occur after the
keydown/press
The model used by IE and WebKit is
{composition starts} ->keydown:229->keyup:realKeyCode->{composition
changed}->keydown:229->keyup:realKeyCode->{composition confirmed/
cancelled/etc}->keydown:229->keyup:realKeyCode
where {..} is something that has happened for which there is no DOM
event.
Are there any Firefox/Opera/IE people on this list who have comments?
Cheers,
Oliver
>
>
> Regards-
> -Doug Schepers
> W3C Staff Contact, SVG, CDF, and WebAPI
>
Received on Thursday, 2 August 2007 03:41:19 UTC