W3C home > Mailing lists > Public > www-dom@w3.org > July to September 2009

Re: convertKeyIdentifier

From: Maciej Stachowiak <mjs@apple.com>
Date: Tue, 22 Sep 2009 20:23:59 -0700
Cc: Anne van Kesteren <annevk@opera.com>, Doug Schepers <schepers@w3.org>, "www-dom@w3.org" <www-dom@w3.org>
Message-id: <33F34BA6-EECD-4A33-A7C8-58B5EECF48AD@apple.com>
To: Ian Hickson <ian@hixie.ch>

On Sep 22, 2009, at 7:53 PM, Ian Hickson wrote:

> On Tue, 22 Sep 2009, Maciej Stachowiak wrote:
>> On Sep 22, 2009, at 9:27 AM, Anne van Kesteren wrote:
>> I agree with Anne. I think we should remove the U+XXXX format  
>> entirely.
>> If you have a string like Q, you can convert it to a unicode numeric
>> value for range checking like this: [...]
>> I don't think the U+XXXX string format does not add any value.
> Are dead keys represented in some way? The string "\x0308" is not a  
> valid
> Unicode string (it has a combining character with no base), but I  
> don't
> see how else we would represent the diaeresis dead key.

I hadn't thought of dead keys. According to the spec, the key  
identifier for the diaeresis dead key is the string "DeadUmlaut". I  
can see a few possible ways to deal with this:

1) Have a way to get the unicode code point for a dead key. But I  
think a numeric value would be more useful than the U+XXXX format  
     1.a) This could be a global method that takes strings like  
"DeadUmlaut" and returns code points as numeric values ; OR
     1.b) There could be an attribute on key events that gives the  
code point, if any, separate from the key identifier. long  
unicodeCodePoint for instance.

2) Alternately - even though "\x0308" is not a valid Unicode string,  
it can still be represented as a DOM string and as a JavaScript  
string, since both the DOM and JavaScript define strings as sequences  
of 16-bit UTf-16 code units, and may represent invalid strings  
(including even such things as containing only one code unit of the  
two that comprise a surrogate pair). Thus, identifiers like  
"DeadUmlaut" could be replaced with ones like "\x0308".

Received on Wednesday, 23 September 2009 03:24:40 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:36:56 UTC