- From: Ben Peters <Ben.Peters@microsoft.com>
- Date: Mon, 2 Jun 2014 21:00:24 +0000
- To: Robin Berjon <robin@w3.org>, Julie Parent <jparent@gmail.com>
- CC: Johannes Wilm <johannes@fiduswriter.com>, "public-webapps@w3.org" <public-webapps@w3.org>
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 Monday, 2 June 2014 21:01:12 UTC