- From: Кошмарчик <garykac@chromium.org>
- Date: Wed, 30 Jan 2013 09:10:56 -0800
- To: Florian Bösch <pyalot@gmail.com>
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CAGnkXoGAVL=QiZWm_uqPQSOhqtpnMRhkPiStZ9w7p=9Sjc4jEg@mail.gmail.com>
This is not the first time these issues have been raised. The following threads can provide some context to the current state of the discussion: http://lists.w3.org/Archives/Public/www-dom/2012JulSep/0103.html (obsolete proposal) http://lists.w3.org/Archives/Public/public-webapps/2012OctDec/0623.html Please also take a look at the UIEvents (formerly "DOM Level 4 Events") Editor's Draft at: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm I believe that it addresses all of your concerns but I'm interested in any comments that you might have. Thanks, -Gary On Wed, Jan 30, 2013 at 6:05 AM, Florian Bösch <pyalot@gmail.com> wrote: > I have written a blog post at length about this issue here: > http://codeflow.org/entries/2013/jan/30/keyboard-events-in-javascript-are-broken/ > > In short the problem is the following: > - RIAs (shortcut systems) and Games (shortcut systems and action systems) > need to be able to identify each key uniquely regardless of modifier keys > pressed. > - To make things mappable an unmodified primary symbol or description > needs to be available to display to the user. > - To make things speedy to handle there should also be an accompanying > unmodified keyCode (numeric) > > The current event model (keyCode, charCode and which) do not satisfy that > requirement: > - The same keyCode appears on multiple keys > - The same charCode appears (differently from keyCode) on multiple keys > - charCode and keyCode change based on modifiers > - keyCodes cannot be converted to a users locale > - no non printable key descriptions are offered > - "which" is a combination of all the problems above. > > It is recognized that this is not a good way to do things as for instance > the MDN already lists "keyCode", "charCode" and "which" as deprecated. > > The DOM Event Level 3 does not solve all these problems: > - The char member is still being delivered modified > - The key member has to match the char member for printable keys > - There is no numeric unmodified keyCode > > I would suggest: > - Add a primary key symbol (printable, from the users locale) umodified > and for non printable keys add the human readable description ('backspace', > 'enter' etc.) > - Add an additional unmodified key code member holding the numeric key > code unmodified >
Received on Wednesday, 30 January 2013 17:11:23 UTC