- 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