- From: Philippe Le Hegaret <plh@w3.org>
- Date: Tue, 24 Jul 2001 08:16:05 -0400
- To: David Flanagan <david@oreilly.com>
- Cc: www-dom@w3.org
> Date: Tue, 1 May 2001 10:59:17 -0700
> Message-Id: <200105011759.KAA00919@oxymoron.oreilly.com>
> From: David Flanagan <david@oreilly.com>
> To: www-dom@w3.org
> Subject: comments on DOM3 Events working draft of April 10
>
> Here are some comments on the 4/10/2001 draft of the Level 3 DOM Events
> spec.
>
> 1) Typo: the description of the checkModifier() method refers twice to
> it as "CheckModifier" with a capital C. Also, in the description of
> virtKeyVal, change "virtKeyVale" to "virtKeyVal".
Fixed.
> 2) inputGenerated: I don't understand why this property has the word
> "input" in its name when the description refers to "visible
> *output*". Would outputGenerated be a better name?
To avoid confusion with outputString, we renamed it to visibleOutputGenerated.
> Also: the description of this property needs an example. It says "is
> intended to differentiate between key events which may or may not
> produce visible output depending on system state". This is really
> vague, and I just don't get it, but I think an example would help.
The sentence seems pretty clear. As an example, 'Ctrl+a' doesn't normally
generate a visible output, while 'a' does.
> 3) keyVal: according to the description, this property doesn't provide
> any information that isn't already provided by outputString. Is this
> correct, or is there some interaction between inputGenerated, keyVal
> and outputString?
keyVal will hold the value of the last used key. For 'ctrl+a', you will
obtain the following sequence:
(v == virtKeyVal, k == keyVal, o == outputString, vo == visibleOutputGenerated,
m == modifier, 0 == 0/null)
ctrl+a
keydown [v=^,k=0, o=0, vo=0, m=0]
textEvent [v=^,k=0, o=0, vo=0, m=0]
keydown [v=0, k=a, o=0, vo=0, m=right_ctrl]
textEvent [v=0, k=a, o=0, vo=0, m=right_ctrl]
keyup [v=0, k=a, o=0, vo=0, m=right_ctrl]
keyup [v=^, k=0, o=0, vo=0, m=0]
> What I really think we need to accompany the description of KeyEvent
> is some pseudo-code showing how an event listener might examine a
> KeyEvent and extract the maximum amount of information from
> it. Here's the understanding I've formed based on the current draft:
>
> if (e.outputString != null && e.outputString.length > 1) {
> // use outputString
> }
> else if (e.outputString != null && e.outputString.length == 1) {
> // use outputString or keyVal, depending on preference
> }
> else if (e.outputString == null || e.outputString.length == 0 ||
> e.keyVal == 0) {
> // use virtKeyVal
> }
I'm double-checking my example with Tom and will fix the draft.
> 4) In the specs for other event modules, each event type specifies which
> properties of the event interface are valid for that type. It would
> be useful to have the same specified here for textEvent, keyup, and
> keydown events. For example, id the inputGenerated property ever
> valid for keyup and keydown events, or only for textEvent events?
Fixed. (btw, 'views' was missing in DOM Level 2 events context info. oops).
> 5) I've got to question the event type "textEvent". This is better than
> "keypress", since that event name is already in use in existing
> browsers. But it is redundant and unprecedented to have the word
> "Event" in an event type name. The usual format of event names is
> nounVerb or nounverb, so how about "textGenerated" or "textgenerated"
> instead?
hum. could be confusing with visibleOutputGenerated...
Philippe
Received on Tuesday, 24 July 2001 08:16:06 UTC