Touch handling cleanup

This commit is contained in:
Ethan O'Brien 2023-07-04 19:32:00 -05:00
parent e504a356df
commit 71c33ff3ee

View file

@ -312,6 +312,9 @@ class EmulatorJS {
} }
} }
startButtonClicked(e) { startButtonClicked(e) {
if (e.pointerType === "touch") {
this.touch = true;
}
if (e.preventDefault) { if (e.preventDefault) {
e.preventDefault(); e.preventDefault();
e.target.remove(); e.target.remove();
@ -2411,7 +2414,7 @@ class EmulatorJS {
}, 'download'); }, 'download');
} }
if (this.touch) { if (this.touch || navigator.maxTouchPoints > 0) {
addToMenu(this.localization('Virtual Gamepad'), 'virtual-gamepad', { addToMenu(this.localization('Virtual Gamepad'), 'virtual-gamepad', {
'enabled': this.localization("Enabled"), 'enabled': this.localization("Enabled"),
'disabled': this.localization("Disabled") 'disabled': this.localization("Disabled")
@ -2422,21 +2425,23 @@ class EmulatorJS {
}, 'disabled'); }, 'disabled');
} }
this.gameManager.getCoreOptions().split('\n').forEach((line, index) => { if (this.gameManager.getCoreOptions()) {
let option = line.split('; '); this.gameManager.getCoreOptions().split('\n').forEach((line, index) => {
let name = option[0]; let option = line.split('; ');
let options = option[1].split('|'), let name = option[0];
optionName = name.split("|")[0].replace(/_/g, ' ').replace(/.+\-(.+)/, '$1'); let options = option[1].split('|'),
options.slice(1, -1); optionName = name.split("|")[0].replace(/_/g, ' ').replace(/.+\-(.+)/, '$1');
if (options.length === 1) return; options.slice(1, -1);
let availableOptions = {}; if (options.length === 1) return;
for (let i=0; i<options.length; i++) { let availableOptions = {};
availableOptions[options[i]] = this.localization(options[i]); for (let i=0; i<options.length; i++) {
} availableOptions[options[i]] = this.localization(options[i]);
addToMenu(this.localization(optionName), }
name.split("|")[0], availableOptions, addToMenu(this.localization(optionName),
(name.split("|").length > 1) ? name.split("|")[1] : options[0].replace('(Default) ', '')); name.split("|")[0], availableOptions,
}) (name.split("|").length > 1) ? name.split("|")[1] : options[0].replace('(Default) ', ''));
})
}
this.settingsMenu.appendChild(nested); this.settingsMenu.appendChild(nested);