chore: remap controls to Left Ctrl and Left Alt to avoid overlap

This commit is contained in:
enne2
2026-06-19 11:08:01 +02:00
parent acfb1487a6
commit ffe65026ca
+9 -11
View File
@@ -176,8 +176,8 @@
<div class="controls" id="keyboard-controls"> <div class="controls" id="keyboard-controls">
<strong>Comandi Tastiera:</strong><br><br> <strong>Comandi Tastiera:</strong><br><br>
<span class="key">Frecce</span> Muovi Cursore<br> <span class="key">Frecce</span> Muovi Cursore<br>
<span class="key">A</span> Bottone A (Conferma)<br> <span class="key">Ctrl Sinistro</span> Bottone A (Conferma)<br>
<span class="key">S</span> Bottone B (Spara)<br> <span class="key">Alt Sinistro</span> Bottone B (Spara)<br>
<span class="key">Invio</span> Start<br> <span class="key">Invio</span> Start<br>
<span class="key">Backspace</span> Select <span class="key">Backspace</span> Select
</div> </div>
@@ -207,12 +207,10 @@
}); });
// WasmBoy usa Z=A, X=B, Enter=Start, Space=Select. // WasmBoy usa Z=A, X=B, Enter=Start, Space=Select.
// Mappiamo i tasti richiesti per forzare l'evento corretto. // Mappiamo i tasti richiesti (Ctrl/Alt sinistri) per forzare l'evento corretto.
const keyMap = { const keyMap = {
'a': { key: 'z', code: 'KeyZ' }, 'ControlLeft': { key: 'z', code: 'KeyZ' },
'A': { key: 'z', code: 'KeyZ' }, 'AltLeft': { key: 'x', code: 'KeyX' },
's': { key: 'x', code: 'KeyX' },
'S': { key: 'x', code: 'KeyX' },
'Backspace': { key: ' ', code: 'Space' } 'Backspace': { key: ' ', code: 'Space' }
}; };
@@ -229,15 +227,15 @@
}; };
window.addEventListener('keydown', (e) => { window.addEventListener('keydown', (e) => {
if (keyMap[e.key]) { if (keyMap[e.code]) {
e.preventDefault(); e.preventDefault();
simulateKeyEvent('keydown', keyMap[e.key]); simulateKeyEvent('keydown', keyMap[e.code]);
} }
}); });
window.addEventListener('keyup', (e) => { window.addEventListener('keyup', (e) => {
if (keyMap[e.key]) { if (keyMap[e.code]) {
e.preventDefault(); e.preventDefault();
simulateKeyEvent('keyup', keyMap[e.key]); simulateKeyEvent('keyup', keyMap[e.code]);
} }
}); });