From 7c12f1b10009ad8da1051ae875d6b9841ee1dd7a Mon Sep 17 00:00:00 2001
From: Timotius Margo
+A floating-point number is a Number that is
+produced by the parseFloat operation.
+
The initial value of an ECMAScript property
is the value defined by the platform for that property,
@@ -6888,8 +6892,7 @@
-A pointer input source’s input source state
+ A pointer input source’s input source state
is a pointer input state object.
This consists of a When required to create a new pointer input state object
with arguments subtype an implementation must return
a pointer input state object with Each session has an associated input state table.
This is a map between input id
@@ -7026,7 +7037,7 @@
-The most robust way to despatch these events
+The most robust way to dispatch these events
is by creating them in the browser implementation itself.
Sending operating system specific input messages to the browser’s window
has the disadvantage that the browser being automated
@@ -7386,6 +7397,12 @@
+If subtype is "
If subtype is " Return success with data null.
+
+ When required to process optional pointer properties
+ with arguments action item, and action, a
+ remote end must run the following steps in accordance with
+ the requirements of [[!POINTER-EVENTS]]: Let width be the result
+ of getting the property If width is not undefined:
+
+
+ If width is not a Floating-Point Number greater than or equal to 1,
+ return error with error code invalid argument.
+
+
+ Set the Let height be the result
+ of getting the property If height is not undefined:
+
+
+ If height is not a Floating-Point Number greater than or equal to 1,
+ return error with error code invalid argument.
+
+
+ Set the If width is not undefined while
+ height is undefined or vice versa
+ return error with error code invalid argument.
+
+ Let pressure be the result
+ of getting the property If pressure is not undefined:
+
+
+ If pressure is not a Floating-Point Number in the range of [0, 1]
+ return error with error code invalid argument.
+
+
+ Set the Let tangentialPressure be the result
+ of getting the property If tangentialPressure is not undefined:
+
+
+ If tangentialPressure is not a Floating-Point Number
+ in the range of [-1, 1]
+ return error with error code invalid argument.
+
+
+ Set the Let tiltX be the result
+ of getting the property If tiltX is not undefined:
+
+
+ If tiltX is not an Integer in the range of [-90, 90]
+ return error with error code invalid argument.
+
+
+ Set the Let tiltY be the result
+ of getting the property If tiltY is not undefined:
+
+
+ If tiltY is not an Integer in the range of [-90, 90]
+ return error with error code invalid argument.
+
+
+ Set the Let twist be the result
+ of getting the property If twist is not undefined:
+
+
+ If twist is not an Integer in the range of [0, 359]
+ return error with error code invalid argument.
+
+
+ Set the Return success with data null.
+ Additionally, a pointer input state object also contains
+optional pointer properties as shown in the table below
+in accordance with the requirements of [[POINTER-EVENTS]].
+
+ When required to create a new pointer input state object
with arguments subtype an implementation must return
a pointer input state object with Each session has an associated input state table.
This is a map between input id
@@ -7509,7 +7545,7 @@ When required to process optional pointer properties
with arguments action item, and action, a
remote end must run the following steps in accordance with
- the requirements of [[!POINTER-EVENTS]]:Terminology
An integer is a Number that is unchanged
under the ToInteger operation.
+State
and alt
, shift
, ctrl
,
and meta
all set to false
.
-subtype
property,
which has the possible values
@@ -6899,12 +6902,20 @@ State
a pressed
property which is a set of unsigned integers,
an x
property which is an unsigned integer,
and a y
property which is an unsigned integer.
+Additionally, it also contains optional properties
+width
, height
, pressure
, and
+tangentialPressure
which are floating-point numbers, and
+tiltX
, tiltY
, and twist
which
+are integers in accordance with the requirements of [[!POINTER-EVENTS]].
subtype
set
- to subtype, pressed
set to an empty set and
- both x
and y
set to 0
.
+ to subtype, pressed
set to an empty set,
+ both x
and y
set to 0
, and
+ width
, height
, pressure
,
+ tangentialPressure
, tiltX
, tiltY
,
+ and twist
are set to null.
Ticks
will have the isTrusted
attribute set to true.
Processing actions
action item and action.
If doing so results in an error, return that error.
+pointerUp
" or "pointerDown
"
+or "pointerMove
", process optional pointer properties with
+arguments action item and action.
+If doing so results in an error, return that error.
+
pointerCancel
"
process a pointer cancel action.
@@ -7488,6 +7505,132 @@ Processing actions
+
@@ -9168,6 +9311,7 @@ width
+ from action item.
+
+
+
+
+ width
property of action
+ to width.
+ height
+ from action item.
+
+
+
+
+ height
property of action
+ to height.
+ pressure
+ from action item.
+
+
+
+
+ pressure
property of action
+ to pressure.
+ tangentialPressure
+ from action item.
+
+
+
+
+ tangentialPressure
property of action
+ to tangentialPressure.
+ tiltX
+ from action item.
+
+
+
+
+ tiltX
property of action
+ to tiltX.
+ tiltY
+ from action item.
+
+
+
+
+ tiltY
property of action
+ to tiltY.
+ twist
+ from action item.
+
+
+
+
+ twist
property of action
+ to twist.
+ Acknowledgements
Sam Sneddon,
Seva Lotoshnikov,
Simon Stewart,
+ Timotius Arya Margo,
Titus Fortner,
and Vangelis Katsikaros.
From f7101d453280cf8fb78de304e109264492fe560b Mon Sep 17 00:00:00 2001
From: Timotius Margo State
a pressed
property which is a set of unsigned integers,
an x
property which is an unsigned integer,
and a y
property which is an unsigned integer.
-Additionally, it also contains optional properties
-width
, height
, pressure
, and
-tangentialPressure
which are floating-point numbers, and
-tiltX
, tiltY
, and twist
which
-are integers in accordance with the requirements of [[!POINTER-EVENTS]].
+
+
+
+
+
+
+ Property
+ Type
+
+
+ width
+ floating-point number
+
+
+ height
+ floating-point number
+
+
+ pressure
+ floating-point number
+
+
+ tangentialPressure
+ floating-point number
+
+
+ tiltX
+ integer
+
+
+ tiltY
+ integer
+
+
+twist
+ integer
+ subtype
set
to subtype, pressed
set to an empty set,
- both x
and y
set to 0
, and
+ both x
and y
set to 0
,
width
, height
, pressure
,
tangentialPressure
, tiltX
, tiltY
,
- and twist
are set to null.
+ and twist
set to null.
Processing actions
Let width be the result @@ -8243,6 +8279,9 @@
pressed
property, and
let buttons be the resulting value of that property.
+ Set input state optional pointer properties with + arguments action object, input state. +
Append a copy of action object with the subtype property changed to pointerUp to the current session’s input cancel list. @@ -8252,7 +8291,9 @@
ctrlKey
, shiftKey
, altKey
,
@@ -8290,6 +8331,9 @@ Let y be equal to input state’s
y
property.
+
Set input state optional pointer properties with + arguments action object, input state. +
Remove button from the set corresponding
to input state’s pressed
property, and
let buttons be the resulting value of that
@@ -8301,6 +8345,8 @@
ctrlKey
, shiftKey
, altKey
,
@@ -8378,6 +8424,9 @@ Set input state optional pointer properties with + arguments action object, input state. +
Let duration be equal to
action object’s duration
property if it
is not undefined, or tick duration
@@ -8449,7 +8498,9 @@
ctrlKey
, shiftKey
,
altKey
, and metaKey
from the
@@ -8502,6 +8553,54 @@ When required to set input state optional pointer properties + with arguments action object, input state, + an implementation must run the following steps: + +
Let width be equal to
+ action object’s width
property.
+
+
If width is not undefined, let input state’s
+ width
property equal width.
+
+
Let height be equal to
+ action object’s height
property.
+
+
If height is not undefined, let input state’s
+ height
property equal height.
+
+
Let pressure be equal to
+ action object’s pressure
property.
+
+
If pressure is not undefined, let input state’s
+ pressure
property equal pressure.
+
+
Let tangentialPressure be equal to
+ action object’s tangentialPressure
property.
+
+
If tangentialPressure is not undefined, let input state’s
+ tangentialPressure
property equal tangentialPressure.
+
+
Let tiltX be equal to
+ action object’s tiltX
property.
+
+
If tiltX is not undefined, let input state’s
+ tiltX
property equal tiltX.
+
+
Let tiltY be equal to
+ action object’s tiltY
property.
+
+
If tiltY is not undefined, let input state’s
+ tiltY
property equal tiltY.
+
+
Let twist be equal to
+ action object’s twist
property.
+
+
If twist is not undefined, let input state’s
+ twist
property equal twist.
+
When required to dispatch a pointerCancel action with arguments source id, action object, input state and tick duration a