Navigator.getGamepads Polyfill

Navigator.getGamepads Polyfill for gamepad-tester.com

  1. // ==UserScript==
  2. // @name Navigator.getGamepads Polyfill
  3. // @namespace https://gf.qytechs.cn/zh-CN/users/193133-pana
  4. // @version 1.0.0
  5. // @description Navigator.getGamepads Polyfill for gamepad-tester.com
  6. // @author pana
  7. // @match *://gamepad-tester.com/*
  8. // @icon https://icons.duckduckgo.com/ip2/gamepad-tester.com.ico
  9. // @run-at document-start
  10. // @compatible chrome version < 99
  11. // @license GNU General Public License v3.0 or later
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15. (function () {
  16. 'use strict';
  17.  
  18. const oriGamepads = navigator.getGamepads.bind(navigator);
  19. navigator.getGamepads = () => {
  20. const gameTemp = oriGamepads.call() || {};
  21. let res = [];
  22. if (Array.isArray(gameTemp)) {
  23. res = gameTemp;
  24. } else {
  25. res = Array.from(gameTemp);
  26. }
  27. return res;
  28. };
  29. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址