Skip to content

Commit 787022f

Browse files
authored
Create a mouse-events feature (#1263)
This is an old feature, but created to capture `api.MouseEvent.movement{X,Y}` that, until this commit, were under the `pointer-lock` feature. The properties work independently of pointer lock, so it makes sense for them to live somewhere else. This was prompted by mdn/content#34263.
1 parent 677660c commit 787022f

File tree

4 files changed

+236
-16
lines changed

4 files changed

+236
-16
lines changed

features/mouse-events.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Mouse events
2+
description: Mouse events, such as `click`, `mousedown`, or `mousemove`, fire when users interact with an input or pointing device such as a mouse, trackpad, or touchscreen.
3+
spec: https://w3c.github.io/uievents/#events-mouse-types
4+
# TODO: With the exception of mouseenter and mouseleave, it's likely that the
5+
# mouse events were supported from the initial release in each browser. It'd be
6+
# nice to research the data to be sure and fix it.
7+
# https://github.com/web-platform-dx/web-features/pull/1263/files#r1666715169
8+
status:
9+
compute_from:
10+
- api.MouseEvent
11+
compat_features:
12+
- api.Element.click_event
13+
- api.Element.dblclick_event
14+
- api.Element.mousedown_event
15+
- api.Element.mouseup_event
16+
- api.Element.mousemove_event
17+
- api.Element.mouseout_event
18+
- api.Element.mouseover_event
19+
- api.MouseEvent
20+
- api.MouseEvent.altKey
21+
- api.MouseEvent.button
22+
- api.MouseEvent.clientX
23+
- api.MouseEvent.clientY
24+
- api.MouseEvent.ctrlKey
25+
- api.MouseEvent.metaKey
26+
- api.MouseEvent.pageX
27+
- api.MouseEvent.pageY
28+
- api.MouseEvent.relatedTarget
29+
- api.MouseEvent.screenX
30+
- api.MouseEvent.screenY
31+
- api.MouseEvent.shiftKey
32+
33+
- api.Element.mouseenter_event
34+
- api.Element.mouseleave_event
35+
- api.MouseEvent.MouseEvent
36+
- api.MouseEvent.buttons
37+
- api.MouseEvent.getModifierState
38+
- api.MouseEvent.offsetX
39+
- api.MouseEvent.offsetY
40+
- api.MouseEvent.x
41+
- api.MouseEvent.y
42+
43+
# Note that the next two were specified with `pointer-lock`, but work independently of it.
44+
- api.MouseEvent.movementX
45+
- api.MouseEvent.movementY

features/mouse-events.yml.dist

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
# Generated from: mouse-events.yml
2+
# Do not edit this file by hand. Edit the source file instead!
3+
4+
status:
5+
baseline: high
6+
baseline_low_date: 2015-07-29
7+
baseline_high_date: 2018-01-29
8+
support:
9+
chrome: "1"
10+
chrome_android: "18"
11+
edge: "12"
12+
firefox: "1"
13+
firefox_android: "4"
14+
safari: "1"
15+
safari_ios: "1"
16+
compat_features:
17+
# ⬇️ Same status as overall feature ⬇️
18+
# baseline: high
19+
# baseline_low_date: 2015-07-29
20+
# baseline_high_date: 2018-01-29
21+
# support:
22+
# chrome: "1"
23+
# chrome_android: "18"
24+
# edge: "12"
25+
# firefox: "1"
26+
# firefox_android: "4"
27+
# safari: "1"
28+
# safari_ios: "1"
29+
- api.MouseEvent
30+
- api.MouseEvent.button
31+
- api.MouseEvent.clientX
32+
33+
# baseline: high
34+
# baseline_low_date: 2015-07-29
35+
# baseline_high_date: 2018-01-29
36+
# support:
37+
# chrome: "1"
38+
# chrome_android: "18"
39+
# edge: "12"
40+
# firefox: "1.5"
41+
# firefox_android: "4"
42+
# safari: "1"
43+
# safari_ios: "1"
44+
- api.MouseEvent.altKey
45+
- api.MouseEvent.clientY
46+
- api.MouseEvent.ctrlKey
47+
- api.MouseEvent.metaKey
48+
- api.MouseEvent.pageX
49+
- api.MouseEvent.pageY
50+
- api.MouseEvent.relatedTarget
51+
- api.MouseEvent.screenX
52+
- api.MouseEvent.screenY
53+
- api.MouseEvent.shiftKey
54+
55+
# baseline: high
56+
# baseline_low_date: 2015-07-29
57+
# baseline_high_date: 2018-01-29
58+
# support:
59+
# chrome: "1"
60+
# chrome_android: "18"
61+
# edge: "12"
62+
# firefox: "6"
63+
# firefox_android: "6"
64+
# safari: "1"
65+
# safari_ios: "1"
66+
- api.Element.mouseout_event
67+
68+
# baseline: high
69+
# baseline_low_date: 2015-07-29
70+
# baseline_high_date: 2018-01-29
71+
# support:
72+
# chrome: "1"
73+
# chrome_android: "18"
74+
# edge: "12"
75+
# firefox: "6"
76+
# firefox_android: "6"
77+
# safari: "3"
78+
# safari_ios: "1"
79+
- api.Element.click_event
80+
- api.Element.dblclick_event
81+
82+
# baseline: high
83+
# baseline_low_date: 2015-07-29
84+
# baseline_high_date: 2018-01-29
85+
# support:
86+
# chrome: "2"
87+
# chrome_android: "18"
88+
# edge: "12"
89+
# firefox: "6"
90+
# firefox_android: "6"
91+
# safari: "4"
92+
# safari_ios: "3.2"
93+
- api.Element.mousedown_event
94+
- api.Element.mousemove_event
95+
- api.Element.mouseover_event
96+
- api.Element.mouseup_event
97+
98+
# baseline: high
99+
# baseline_low_date: 2015-07-29
100+
# baseline_high_date: 2018-01-29
101+
# support:
102+
# chrome: "26"
103+
# chrome_android: "26"
104+
# edge: "12"
105+
# firefox: "11"
106+
# firefox_android: "14"
107+
# safari: "7"
108+
# safari_ios: "7"
109+
- api.MouseEvent.MouseEvent
110+
111+
# baseline: high
112+
# baseline_low_date: 2015-07-29
113+
# baseline_high_date: 2018-01-29
114+
# support:
115+
# chrome: "30"
116+
# chrome_android: "30"
117+
# edge: "12"
118+
# firefox: "10"
119+
# firefox_android: "10"
120+
# safari: "7"
121+
# safari_ios: "7"
122+
- api.Element.mouseenter_event
123+
- api.Element.mouseleave_event
124+
125+
# baseline: high
126+
# baseline_low_date: 2015-11-12
127+
# baseline_high_date: 2018-05-12
128+
# support:
129+
# chrome: "37"
130+
# chrome_android: "37"
131+
# edge: "13"
132+
# firefox: "41"
133+
# firefox_android: "41"
134+
# safari: "9"
135+
# safari_ios: "8"
136+
- api.MouseEvent.movementX
137+
- api.MouseEvent.movementY
138+
139+
# baseline: high
140+
# baseline_low_date: 2015-12-15
141+
# baseline_high_date: 2018-06-15
142+
# support:
143+
# chrome: "1"
144+
# chrome_android: "18"
145+
# edge: "12"
146+
# firefox: "39"
147+
# firefox_android: "43"
148+
# safari: "1"
149+
# safari_ios: "1"
150+
- api.MouseEvent.offsetX
151+
- api.MouseEvent.offsetY
152+
153+
# baseline: high
154+
# baseline_low_date: 2017-04-19
155+
# baseline_high_date: 2019-10-19
156+
# support:
157+
# chrome: "1"
158+
# chrome_android: "18"
159+
# edge: "12"
160+
# firefox: "53"
161+
# firefox_android: "53"
162+
# safari: "3.1"
163+
# safari_ios: "2"
164+
- api.MouseEvent.x
165+
- api.MouseEvent.y
166+
167+
# baseline: high
168+
# baseline_low_date: 2018-04-12
169+
# baseline_high_date: 2020-10-12
170+
# support:
171+
# chrome: "43"
172+
# chrome_android: "43"
173+
# edge: "12"
174+
# firefox: "15"
175+
# firefox_android: "15"
176+
# safari: "11.1"
177+
# safari_ios: "11.3"
178+
- api.MouseEvent.buttons
179+
180+
# baseline: high
181+
# baseline_low_date: 2019-03-25
182+
# baseline_high_date: 2021-09-25
183+
# support:
184+
# chrome: "47"
185+
# chrome_android: "47"
186+
# edge: "12"
187+
# firefox: "15"
188+
# firefox_android: "15"
189+
# safari: "12.1"
190+
# safari_ios: "12.2"
191+
- api.MouseEvent.getModifierState

features/pointer-lock.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ compat_features:
88
- api.Document.pointerLockElement
99
- api.Document.pointerlockerror_event
1010
- api.Element.requestPointerLock
11-
- api.MouseEvent.movementX
12-
- api.MouseEvent.movementY
1311
# Later additions:
1412
# - api.ShadowRoot.pointerLockElement
1513
# - html.elements.iframe.sandbox.allow-pointer-lock

features/pointer-lock.yml.dist

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,6 @@ status:
1111
firefox_android: "50"
1212
safari: "10.1"
1313
compat_features:
14-
# baseline: high
15-
# baseline_low_date: 2015-11-12
16-
# baseline_high_date: 2018-05-12
17-
# support:
18-
# chrome: "37"
19-
# chrome_android: "37"
20-
# edge: "13"
21-
# firefox: "41"
22-
# firefox_android: "41"
23-
# safari: "9"
24-
# safari_ios: "8"
25-
- api.MouseEvent.movementX
26-
- api.MouseEvent.movementY
27-
2814
# baseline: false
2915
# support:
3016
# chrome: "36"

0 commit comments

Comments
 (0)