mirror of
https://github.com/EmulatorJS/EmulatorJS.git
synced 2024-09-20 02:46:23 +00:00
add default keycode controller mappings (#661)
* add default keycode controller mapings * add optional keycode maping
This commit is contained in:
parent
20bb8fe7cb
commit
c9bff432f4
2 changed files with 25 additions and 2 deletions
|
@ -2488,58 +2488,72 @@ class EmulatorJS {
|
||||||
0: {
|
0: {
|
||||||
'value': 'x',
|
'value': 'x',
|
||||||
'value2': 'BUTTON_2',
|
'value2': 'BUTTON_2',
|
||||||
|
'keycode': '88',
|
||||||
},
|
},
|
||||||
1: {
|
1: {
|
||||||
'value': 's',
|
'value': 's',
|
||||||
'value2': 'BUTTON_4',
|
'value2': 'BUTTON_4',
|
||||||
|
'keycode': '83',
|
||||||
},
|
},
|
||||||
2: {
|
2: {
|
||||||
'value': 'v',
|
'value': 'v',
|
||||||
'value2': 'SELECT',
|
'value2': 'SELECT',
|
||||||
|
'keycode': '86',
|
||||||
},
|
},
|
||||||
3: {
|
3: {
|
||||||
'value': 'enter',
|
'value': 'enter',
|
||||||
'value2': 'START',
|
'value2': 'START',
|
||||||
|
'keycode': '13',
|
||||||
},
|
},
|
||||||
4: {
|
4: {
|
||||||
'value': 'arrowup',
|
'value': 'arrowup',
|
||||||
'value2': 'DPAD_UP',
|
'value2': 'DPAD_UP',
|
||||||
|
'keycode': '38',
|
||||||
},
|
},
|
||||||
5: {
|
5: {
|
||||||
'value': 'arrowdown',
|
'value': 'arrowdown',
|
||||||
'value2': 'DPAD_DOWN',
|
'value2': 'DPAD_DOWN',
|
||||||
|
'keycode': '40',
|
||||||
},
|
},
|
||||||
6: {
|
6: {
|
||||||
'value': 'arrowleft',
|
'value': 'arrowleft',
|
||||||
'value2': 'DPAD_LEFT',
|
'value2': 'DPAD_LEFT',
|
||||||
|
'keycode': '37',
|
||||||
},
|
},
|
||||||
7: {
|
7: {
|
||||||
'value': 'arrowright',
|
'value': 'arrowright',
|
||||||
'value2': 'DPAD_RIGHT',
|
'value2': 'DPAD_RIGHT',
|
||||||
|
'keycode': '39',
|
||||||
},
|
},
|
||||||
8: {
|
8: {
|
||||||
'value': 'z',
|
'value': 'z',
|
||||||
'value2': 'BUTTON_1',
|
'value2': 'BUTTON_1',
|
||||||
|
'keycode': '90',
|
||||||
},
|
},
|
||||||
9: {
|
9: {
|
||||||
'value': 'a',
|
'value': 'a',
|
||||||
'value2': 'BUTTON_3',
|
'value2': 'BUTTON_3',
|
||||||
|
'keycode': '65',
|
||||||
},
|
},
|
||||||
10: {
|
10: {
|
||||||
'value': 'q',
|
'value': 'q',
|
||||||
'value2': 'LEFT_TOP_SHOULDER',
|
'value2': 'LEFT_TOP_SHOULDER',
|
||||||
|
'keycode': '81',
|
||||||
},
|
},
|
||||||
11: {
|
11: {
|
||||||
'value': 'e',
|
'value': 'e',
|
||||||
'value2': 'RIGHT_TOP_SHOULDER',
|
'value2': 'RIGHT_TOP_SHOULDER',
|
||||||
|
'keycode': '69',
|
||||||
},
|
},
|
||||||
12: {
|
12: {
|
||||||
'value': 'e',
|
'value': 'e',
|
||||||
'value2': 'LEFT_BOTTOM_SHOULDER',
|
'value2': 'LEFT_BOTTOM_SHOULDER',
|
||||||
|
'keycode': '69',
|
||||||
},
|
},
|
||||||
13: {
|
13: {
|
||||||
'value': 'w',
|
'value': 'w',
|
||||||
'value2': 'RIGHT_BOTTOM_SHOULDER',
|
'value2': 'RIGHT_BOTTOM_SHOULDER',
|
||||||
|
'keycode': '87',
|
||||||
},
|
},
|
||||||
14: {
|
14: {
|
||||||
'value2': 'LEFT_STICK',
|
'value2': 'LEFT_STICK',
|
||||||
|
@ -2550,34 +2564,42 @@ class EmulatorJS {
|
||||||
16: {
|
16: {
|
||||||
'value': 'h',
|
'value': 'h',
|
||||||
'value2': 'LEFT_STICK_X:+1',
|
'value2': 'LEFT_STICK_X:+1',
|
||||||
|
'keycode': '72'
|
||||||
},
|
},
|
||||||
17: {
|
17: {
|
||||||
'value': 'f',
|
'value': 'f',
|
||||||
'value2': 'LEFT_STICK_X:-1',
|
'value2': 'LEFT_STICK_X:-1',
|
||||||
|
'keycode': '70'
|
||||||
},
|
},
|
||||||
18: {
|
18: {
|
||||||
'value': 'g',
|
'value': 'g',
|
||||||
'value2': 'LEFT_STICK_Y:+1',
|
'value2': 'LEFT_STICK_Y:+1',
|
||||||
|
'keycode': '71'
|
||||||
},
|
},
|
||||||
19: {
|
19: {
|
||||||
'value': 't',
|
'value': 't',
|
||||||
'value2': 'LEFT_STICK_Y:-1',
|
'value2': 'LEFT_STICK_Y:-1',
|
||||||
|
'keycode': '84'
|
||||||
},
|
},
|
||||||
20: {
|
20: {
|
||||||
'value': 'l',
|
'value': 'l',
|
||||||
'value2': 'RIGHT_STICK_X:+1',
|
'value2': 'RIGHT_STICK_X:+1',
|
||||||
|
'keycode': '76'
|
||||||
},
|
},
|
||||||
21: {
|
21: {
|
||||||
'value': 'j',
|
'value': 'j',
|
||||||
'value2': 'RIGHT_STICK_X:-1',
|
'value2': 'RIGHT_STICK_X:-1',
|
||||||
|
'keycode': '74'
|
||||||
},
|
},
|
||||||
22: {
|
22: {
|
||||||
'value': 'k',
|
'value': 'k',
|
||||||
'value2': 'RIGHT_STICK_Y:+1',
|
'value2': 'RIGHT_STICK_Y:+1',
|
||||||
|
'keycode': '75'
|
||||||
},
|
},
|
||||||
23: {
|
23: {
|
||||||
'value': 'i',
|
'value': 'i',
|
||||||
'value2': 'RIGHT_STICK_Y:-1',
|
'value2': 'RIGHT_STICK_Y:-1',
|
||||||
|
'keycode': '73'
|
||||||
},
|
},
|
||||||
24: {},
|
24: {},
|
||||||
25: {},
|
25: {},
|
||||||
|
@ -2601,6 +2623,7 @@ class EmulatorJS {
|
||||||
this.controls[player][num] = {};
|
this.controls[player][num] = {};
|
||||||
}
|
}
|
||||||
this.controls[player][num].value = e.key.toLowerCase();
|
this.controls[player][num].value = e.key.toLowerCase();
|
||||||
|
this.controls[player][num].keycode = e.keyCode;
|
||||||
this.controlPopup.parentElement.parentElement.setAttribute("hidden", "");
|
this.controlPopup.parentElement.parentElement.setAttribute("hidden", "");
|
||||||
this.checkGamepadInputs();
|
this.checkGamepadInputs();
|
||||||
this.saveSettings();
|
this.saveSettings();
|
||||||
|
@ -2611,7 +2634,7 @@ class EmulatorJS {
|
||||||
const special = [16, 17, 18, 19, 20, 21, 22, 23];
|
const special = [16, 17, 18, 19, 20, 21, 22, 23];
|
||||||
for (let i=0; i<4; i++) {
|
for (let i=0; i<4; i++) {
|
||||||
for (let j=0; j<30; j++) {
|
for (let j=0; j<30; j++) {
|
||||||
if (this.controls[i][j] && this.controls[i][j].value === e.key.toLowerCase()) {
|
if (this.controls[i][j] && (this.controls[i][j].value === e.key.toLowerCase() || this.controls[i][j].keycode === e.keyCode)) {
|
||||||
this.gameManager.simulateInput(i, j, (e.type === 'keyup' ? 0 : (special.includes(j) ? 0x7fff : 1)));
|
this.gameManager.simulateInput(i, j, (e.type === 'keyup' ? 0 : (special.includes(j) ? 0x7fff : 1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
data/emulator.min.js
vendored
2
data/emulator.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue