Благодаря примеру с кодом ручки Кристофера Ван Вимерша по адресу https://codepen.io/cvan/pen/aOzgGE Я нашел решение в Firefox.
Сначала я открыл браузер Firefox (версия 73.0. 1) и введите about:config
в URL. Затем я переключил dom.gamepad.non_standard_events.enabled
в true.
Затем я использовал следующие функции / слушатели из кодекса Кристофера:
var gamepadConnected = function (e) {
console.log('Gamepad connected at index %d: %s. %d buttons, %d axes.',
e.gamepad.index, e.gamepad.id, e.gamepad.buttons.length, e.gamepad.axes.length);
};
var gamepadDisconnected = function (e) {
console.log('Gamepad removed at index %d: %s.', e.gamepad.index, e.gamepad.id);
};
var gamepadButtonDown = function (e) {
console.log('Gamepad button down at index %d: %s. Button: %d.',
e.gamepad.index, e.gamepad.id, e.button);
};
var gamepadButtonUp = function (e) {
console.log('Gamepad button up at index %d: %s. Button: %d.',
e.gamepad.index, e.gamepad.id, e.button);
};
window.addEventListener('gamepadconnected', gamepadConnected);
window.addEventListener('gamepaddisconnected', gamepadDisconnected);
window.addEventListener('gamepadbuttondown', gamepadButtonDown);
window.addEventListener('gamepadbuttonup', gamepadButtonUp);
Затем, когда нажимается кнопка, я записываю метку времени, используя var timestamp = new Date().getTime()
.