Many of Safari's APIs require a user gesture, e.g.: - fullscreen - autoplay - clipboard However it is not possible to trigger a user gesture from an attached USB or Bluetooth gamepad, which makes it hard for apps to entirely drive their UI from a gamepad. Chrome adopted an approach where a getGamepads() call with at least one button pushed more than 50% triggers a user gesture callback (https://bugs.chromium.org/p/chromium/issues/detail?id=381596#c13). This seems like it would be easy to adopt in Safari as well, assuming this approach gets a thumbs-up.
<rdar://problem/70315471>
This seems like a reasonable thing to do.
OK, great. I'll look at grabbing a UserGestureToken somewhere like https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Source/WebCore/platform/gamepad/GamepadProvider.cpp#L53 and see if that direction will work.