- From: Travis Leithead <travis.leithead@microsoft.com>
- Date: Wed, 4 Jun 2014 21:38:37 +0000
- To: Ben Peters <Ben.Peters@microsoft.com>, Robin Berjon <robin@w3.org>, "Julie Parent" <jparent@gmail.com>
- CC: Johannes Wilm <johannes@fiduswriter.com>, "public-webapps@w3.org" <public-webapps@w3.org>
DOM L3 does require implementations to fire composition event for dead-key combinations, so insofar as the (Alt-`) combo results in a dead key for accent-grave (and other dead key combos mentioned below), the composition events should (or are supposed to) fire as a result.
-----Original Message-----
From: Ben Peters [mailto:Ben.Peters@microsoft.com]
Sent: Monday, June 2, 2014 2:00 PM
To: Robin Berjon; Julie Parent
Cc: Johannes Wilm; public-webapps@w3.org
Subject: RE: contentEditable=minimal
Great context. Thanks! Let me ask my question another way- should CompositionEvents be used when there isn't a composition? Should typing 'a' fire CompositionEnd? If not we still need a CommandEvent of type insertText, and it seems inconsistent not to fire it for all typing, doesn't it?
> From: Robin Berjon [mailto:robin@w3.org]
>
> On 27/05/2014 01:52 , Ben Peters wrote:
> >> From: Robin Berjon [mailto:robin@w3.org] On 23/05/2014 01:23 , Ben
> >> Peters wrote:
> >>>> As I said I am unsure that the way in which composition events
> >>>> are described in DOM 3 Events is perfect, but that's only because
> >>>> I haven't used them in anger and they aren't supported much.
> >>>
> >>> My thought is that we can use CommandEvent with type="insertText".
> >>> This would be the corollary to execComamnd("insertText"), and the
> >>> data would be the ñ that is about to be inserted.
> >>
> >> But if you only get one event you can't render the composition as
> >> it is carrying out.
> >
> > I believe Composition Events are very important for IME input, but
> > we should fire CommandEvent with Insert text for all text input,
> > including IME. Are you saying we should use Composition Events even
> > for non-IME input?
>
> I am not using an IME, and yet I could not type in French on my
> keyboard without composition.
>
> Obviously, if I switch to Kotoeri input, I'll get composition *and* an
> IME popup. But for regular French input (in a US keyboard) I need:
>
> é -> Alt-E, E
> è -> Alt-`, E
> à -> Alt-`, A
> ô -> Alt-I, O
> ü -> Alt-U, U
> ñ -> Alt-˜, N (for the occasional Spanish)
> (and a bunch more)
>
> Some older apps (you pretty much can't find them anymore) used to not
> display the composition as it was ongoing and only show the text after
> composition had terminated. That was survivable but annoying, and it
> only worked because composition in Latin-script languages is pretty
> trivial (except perhaps for all you Livonian speakers out there!), but
> I don't think it would be viable for more complex compositions. And
> even in simple cases it would confuse users to be typing characters with no rendering feedback.
>
> Without composition events you can't render the ongoing composition.
> See what's going on at:
>
>
> https://gist.github.com/darobin/8a128f05106d0e02717b#file-twitter-html
> -
> L81
>
> That is basically inserting text in a range that's decorated to be
> underlined to show composition in progress. Composition updates
> *replace* the text in the range. And at the end the range is removed
> and text is inserted.
>
> The above is for Mac, but I have distant memories of using something
> similar on Windows called the "US International Keyboard" where you
> could have apostrophes compose as accents, etc.. I don't recall how it
> was rendered though.
>
> --
> Robin Berjon - http://berjon.com/ - @robinberjon
Received on Wednesday, 4 June 2014 21:39:09 UTC