[mediacapture-screen-share] SystemCursorEvent and cursor customization cursor (#267)

jozefchutka has just created a new issue for https://github.com/w3c/mediacapture-screen-share:

== SystemCursorEvent and cursor customization cursor ==
It would be really useful to have an option to customize cursor appearance during capturing. My idea is having a default cursor removed using existing `.getDisplayMedia({video: {cursor: "never"}})` and a custom one added in postproduction or live / onflight with the help of a new SystemCursorEvent API.

### Use Case

Consider (these days very popular) video tutorials where one records himself + screen. This is possible with current APIs, however the missing part is to have an option to provide nice big bold custom cursor. As an example, have a look at some videos in https://www.screen.studio/

### SystemCursorEvent Proposal

- Have an API that would provide cursor events during capturing - live.
- These events should provide x, y coordinates relative to the currently captured area
- type of system cursor currently being in use (i.e. these https://developer.mozilla.org/en-US/docs/Web/CSS/cursor ).
- which button is pressed (i.e. similar to https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button )
- Timestamp somehow related to capture start so events can be eventually synced with recording video in postproduction
- Events should only get triggered on change (x, y, cursor, button)

### Security

Considering user already granted access to the screen capturing and cursor appearance is not within his control anyway (dev controls `.getDisplayMedia({video:{cursor:...}})`) there is no additional information being "leaked" from a system.

API could be also restricted to provide events only when cursor appears within captured area / on captured surface.

Please view or discuss this issue at https://github.com/w3c/mediacapture-screen-share/issues/267 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 12 May 2023 13:50:13 UTC