@@ -6902,20 +6902,56 @@ <h3 id=input-source-state>State</h3>
69026902a < code > pressed</ code > property which is a set of unsigned integers,
69036903an < code > x</ code > property which is an unsigned integer,
69046904and a < code > y</ code > property which is an unsigned integer.
6905- Additionally, it also contains optional properties
6906- < code > width</ code > , < code > height</ code > , < code > pressure</ code > , and
6907- < code > tangentialPressure</ code > which are floating-point numbers, and
6908- < code > tiltX</ code > , < code > tiltY</ code > , and < code > twist</ code > which
6909- are integers in accordance with the requirements of [[!POINTER-EVENTS]].
6905+
6906+ < p > Additionally, a < a > pointer input state</ a > object also contains
6907+ < dfn > optional pointer properties</ dfn > as shown in the table below
6908+ in accordance with the requirements of [[POINTER-EVENTS]].
6909+
6910+ < table class =simple >
6911+ < thead >
6912+ < tr >
6913+ < th > Property
6914+ < th > Type
6915+ </ tr >
6916+ </ thead >
6917+ < tr >
6918+ < td > < code > width</ code >
6919+ < td > < a > floating-point number</ a >
6920+ </ tr >
6921+ < tr >
6922+ < td > < code > height</ code >
6923+ < td > < a > floating-point number</ a >
6924+ </ tr >
6925+ < tr >
6926+ < td > < code > pressure</ code >
6927+ < td > < a > floating-point number</ a >
6928+ </ tr >
6929+ < tr >
6930+ < td > < code > tangentialPressure</ code >
6931+ < td > < a > floating-point number</ a >
6932+ </ tr >
6933+ < tr >
6934+ < td > < code > tiltX</ code >
6935+ < td > < a > integer</ a >
6936+ </ tr >
6937+ < tr >
6938+ < td > < code > tiltY</ code >
6939+ < td > < a > integer</ a >
6940+ </ tr >
6941+ < tr >
6942+ < td > < code > twist</ code >
6943+ < td > < a > integer</ a >
6944+ </ tr >
6945+ </ table >
69106946
69116947< p > When required to < dfn > create a new pointer input state</ dfn > object
69126948 with arguments < var > subtype</ var > an implementation must return
69136949 a < a > pointer input state</ a > object with < code > subtype</ code > set
69146950 to < var > subtype</ var > , < code > pressed</ code > set to an empty set,
6915- both < code > x</ code > and < code > y</ code > set to < code > 0</ code > , and
6951+ both < code > x</ code > and < code > y</ code > set to < code > 0</ code > ,
69166952 < code > width</ code > , < code > height</ code > , < code > pressure</ code > ,
69176953 < code > tangentialPressure</ code > , < code > tiltX</ code > , < code > tiltY</ code > ,
6918- and < code > twist</ code > are set to null.
6954+ and < code > twist</ code > set to < a > null</ a > .
69196955
69206956< p > Each < a > session</ a > has an associated < dfn > input state table</ dfn > .
69216957 This is a map between < a > input id</ a >
@@ -7509,7 +7545,7 @@ <h2>Processing actions</h2>
75097545< p > When required to < dfn > process optional pointer properties</ dfn >
75107546 with arguments < var > action item</ var > , and < var > action</ var > , a
75117547 < a > remote end</ a > must run the following steps in accordance with
7512- the requirements of [[! POINTER-EVENTS]]:</ p >
7548+ the requirements of [[POINTER-EVENTS]]:</ p >
75137549
75147550< ol >
75157551 < li > < p > Let < var > width</ var > be the result
@@ -8243,6 +8279,9 @@ <h2>Pointer actions</h2>
82438279 < var > input state</ var > ’s < code > pressed</ code > property, and
82448280 let < var > buttons</ var > be the resulting value of that property.
82458281
8282+ < li > < p > < a > Set input state optional pointer properties</ a > with
8283+ arguments < var > action object</ var > , < var > input state</ var > .
8284+
82468285 < li > < p > Append a copy of < var > action object</ var > with
82478286 the < var > subtype</ var > property changed to < var > pointerUp</ var > to
82488287 the < a > current session</ a > ’s < a > input cancel list</ a > .
@@ -8252,7 +8291,9 @@ <h2>Pointer actions</h2>
82528291 numbered < var > button</ var > on the pointer with ID
82538292 < var > source id</ var > , having type < var > pointerType</ var > at
82548293 viewport x coordinate < var > x</ var > , viewport y
8255- coordinate < var > y</ var > , with buttons < var > buttons</ var > depressed
8294+ coordinate < var > y</ var > , with buttons < var > buttons</ var > depressed,
8295+ and type specific properties set to the < var > input state</ var > ’s
8296+ < a > optional pointer properties</ a > that are not < a > null</ a > ,
82568297 in accordance with the requirements of [[UI-EVENTS]] and
82578298 [[POINTER-EVENTS]]. The generated events must
82588299 set < code > ctrlKey</ code > , < code > shiftKey</ code > , < code > altKey</ code > ,
@@ -8290,6 +8331,9 @@ <h2>Pointer actions</h2>
82908331 < li > < p > Let < var > y</ var > be equal to < var > input state</ var > ’s
82918332 < code > y</ code > property.
82928333
8334+ < li > < p > < a > Set input state optional pointer properties</ a > with
8335+ arguments < var > action object</ var > , < var > input state</ var > .
8336+
82938337 < li > < p > Remove < var > button</ var > from the set corresponding
82948338 to < var > input state</ var > ’s < code > pressed</ code > property, and
82958339 let < var > buttons</ var > be the resulting value of that
@@ -8301,6 +8345,8 @@ <h2>Pointer actions</h2>
83018345 < var > source id</ var > having type < var > pointerType</ var > at
83028346 viewport x coordinate < var > x</ var > , viewport y
83038347 coordinate < var > y</ var > , with buttons < var > buttons</ var > depressed,
8348+ and type specific properties set to the < var > input state</ var > ’s
8349+ < a > optional pointer properties</ a > that are not < a > null</ a > ,
83048350 in accordance with the requirements of [[UI-EVENTS]] and
83058351 [[POINTER-EVENTS]]. The generated events must
83068352 set < code > ctrlKey</ code > , < code > shiftKey</ code > , < code > altKey</ code > ,
@@ -8378,6 +8424,9 @@ <h2>Pointer actions</h2>
83788424 return < a > error</ a > with error code < a > move target out of
83798425 bounds</ a > .
83808426
8427+ < li > < p > < a > Set input state optional pointer properties</ a > with
8428+ arguments < var > action object</ var > , < var > input state</ var > .
8429+
83818430 < li > < p > Let < var > duration</ var > be equal to
83828431 < var > action object</ var > ’s < code > duration</ code > property if it
83838432 is not < a > undefined</ a > , or < var > tick duration</ var >
@@ -8449,7 +8498,9 @@ <h2>Pointer actions</h2>
84498498 viewport x coordinate < var > current x</ var > , viewport y
84508499 coordinate < var > y</ var > to viewport x coordinate < var > x</ var > and
84518500 viewport y coordinate < var > y</ var > , with
8452- buttons < var > buttons</ var > depressed, in accordance with the
8501+ buttons < var > buttons</ var > depressed, and type specific properties
8502+ set to the < var > input state</ var > ’s < a > optional pointer properties</ a >
8503+ that are not < a > null</ a > , in accordance with the
84538504 requirements of [[UI-EVENTS]] and [[POINTER-EVENTS]]. The
84548505 generated events must set < code > ctrlKey</ code > , < code > shiftKey</ code > ,
84558506 < code > altKey</ code > , and < code > metaKey</ code > from the
@@ -8502,6 +8553,54 @@ <h2>Pointer actions</h2>
85028553
85038554</ ol >
85048555
8556+ < p > When required to < dfn > set input state optional pointer properties</ dfn >
8557+ with arguments < var > action object</ var > , < var > input state</ var > ,
8558+ an implementation must run the following steps:
8559+
8560+ < ol >
8561+ < li > < p > Let < var > width</ var > be equal to
8562+ < var > action object</ var > ’s < code > width</ code > property.
8563+
8564+ < li > < p > If < var > width</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8565+ < code > width</ code > property equal < var > width</ var > .
8566+
8567+ < li > < p > Let < var > height</ var > be equal to
8568+ < var > action object</ var > ’s < code > height</ code > property.
8569+
8570+ < li > < p > If < var > height</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8571+ < code > height</ code > property equal < var > height</ var > .
8572+
8573+ < li > < p > Let < var > pressure</ var > be equal to
8574+ < var > action object</ var > ’s < code > pressure</ code > property.
8575+
8576+ < li > < p > If < var > pressure</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8577+ < code > pressure</ code > property equal < var > pressure</ var > .
8578+
8579+ < li > < p > Let < var > tangentialPressure</ var > be equal to
8580+ < var > action object</ var > ’s < code > tangentialPressure</ code > property.
8581+
8582+ < li > < p > If < var > tangentialPressure</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8583+ < code > tangentialPressure</ code > property equal < var > tangentialPressure</ var > .
8584+
8585+ < li > < p > Let < var > tiltX</ var > be equal to
8586+ < var > action object</ var > ’s < code > tiltX</ code > property.
8587+
8588+ < li > < p > If < var > tiltX</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8589+ < code > tiltX</ code > property equal < var > tiltX</ var > .
8590+
8591+ < li > < p > Let < var > tiltY</ var > be equal to
8592+ < var > action object</ var > ’s < code > tiltY</ code > property.
8593+
8594+ < li > < p > If < var > tiltY</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8595+ < code > tiltY</ code > property equal < var > tiltY</ var > .
8596+
8597+ < li > < p > Let < var > twist</ var > be equal to
8598+ < var > action object</ var > ’s < code > twist</ code > property.
8599+
8600+ < li > < p > If < var > twist</ var > is not < a > undefined</ a > , let < var > input state</ var > ’s
8601+ < code > twist</ code > property equal < var > twist</ var > .
8602+ </ ol >
8603+
85058604< p > When required to < dfn > dispatch a pointerCancel action</ dfn > with
85068605 arguments < var > source id</ var > , < var > action object</ var > ,
85078606 < var > input state</ var > and < var > tick duration</ var > a
0 commit comments