Skip to content

Instantly share code, notes, and snippets.

@mdPlusPlus
Last active February 4, 2026 00:04
Show Gist options
  • Select an option

  • Save mdPlusPlus/924b474041a5814babc889ba8be6c076 to your computer and use it in GitHub Desktop.

Select an option

Save mdPlusPlus/924b474041a5814babc889ba8be6c076 to your computer and use it in GitHub Desktop.
Fixed emulatorjs config (switched X/Y) for German keyboards (Z=Y)
emulatorjs:
# settings:
# default:
# fps: show
controls:
# default: # 'default' keyword doesn't work here for some reason, every emulator has to be configured separately
gambatte: # default for Game Boy + Game Boy Color
# A MAPPING FOR EACH BUTTON MUST BE SET!
# value = Mapping for keyboard
# value2 = Mapping for connected controller
0: # Player 1
0: # Nintendo B | PlayStation X | Xbox A | Down
value: 'y' # default x
value2: 'BUTTON_1' # default BUTTON_2
1: # Nintendo Y | PlayStation □ | Xbox X | Left
value: 's'
value2: 'BUTTON_4'
8: # Nintendo A | PlayStation ○ | Xbox B | Right
value: 'x' # default z
value2: 'BUTTON_2' # default BUTTON_1
9: # Nintendo X | PlayStation △ | Xbox Y | Up
value: 'a'
value2: 'BUTTON_3'
2: # SELECT
value: 'v'
value2: 'SELECT'
3: # START
value: 'enter'
value2: 'START'
4: # UP
value: 'up arrow'
value2: 'DPAD_UP'
5: # DOWN
value: 'down arrow'
value2: 'DPAD_DOWN'
6: # LEFT
value: 'left arrow'
value2: 'DPAD_LEFT'
7: # RIGHT
value: 'right arrow'
value2: 'DPAD_RIGHT'
10: # L1
value: 'q'
value2: 'LEFT_TOP_SHOULDER'
11: # R1
value: 'e'
value2: 'RIGHT_TOP_SHOULDER'
12: # L2
value: 'tab'
value2: 'LEFT_BOTTOM_SHOULDER'
13: # R1
value: 'r'
value2: 'RIGHT_BOTTOM_SHOULDER'
14: # L3
value2: 'LEFT_STICK'
15: # R3
value2: 'RIGHT_STICK'
19: # L STICK UP
value: 't'
value2: 'LEFT_STICK_Y:-1'
18: # L STICK DOWN
value: 'g'
value2: 'LEFT_STICK_Y:+1'
17: # L STICK LEFT
value: 'f'
value2: 'LEFT_STICK_X:-1'
16: # L STICK RIGHT
value: 'h'
value2: 'LEFT_STICK_X:+1'
23: # R STICK UP
value: 'i'
value2: 'RIGHT_STICK_Y:-1'
22: # R STICK DOWN
value: 'k'
value2: 'RIGHT_STICK_Y:+1'
21: # R STICK LEFT
value: 'j'
value2: 'RIGHT_STICK_X:-1'
20: # R STICK RIGHT
value: 'l'
value2: 'RIGHT_STICK_X:+1'
24: # QUICK SAVE STATE
value: '1'
25: # QUICK LOAD STATE
value: '2'
26: # CHANGE STATE SLOT
value: '3'
27: # FAST FORWARD
value: 'add'
28: # REWIND
value: 'space'
29: # SLOW MOTION
value: 'subtract'
mgba: # default for Game Boy Advance
# A MAPPING FOR EACH BUTTON MUST BE SET!
# value = Mapping for keyboard
# value2 = Mapping for connected controller
0: # Player 1
0: # Nintendo B | PlayStation X | Xbox A | Down
value: 'y' # default x
value2: 'BUTTON_1' # default BUTTON_2
1: # Nintendo Y | PlayStation □ | Xbox X | Left
value: 's'
value2: 'BUTTON_4'
8: # Nintendo A | PlayStation ○ | Xbox B | Right
value: 'x' # default z
value2: 'BUTTON_2' # default BUTTON_1
9: # Nintendo X | PlayStation △ | Xbox Y | Up
value: 'a'
value2: 'BUTTON_3'
2: # SELECT
value: 'v'
value2: 'SELECT'
3: # START
value: 'enter'
value2: 'START'
4: # UP
value: 'up arrow'
value2: 'DPAD_UP'
5: # DOWN
value: 'down arrow'
value2: 'DPAD_DOWN'
6: # LEFT
value: 'left arrow'
value2: 'DPAD_LEFT'
7: # RIGHT
value: 'right arrow'
value2: 'DPAD_RIGHT'
10: # L1
value: 'q'
value2: 'LEFT_TOP_SHOULDER'
11: # R1
value: 'e'
value2: 'RIGHT_TOP_SHOULDER'
12: # L2
value: 'tab'
value2: 'LEFT_BOTTOM_SHOULDER'
13: # R1
value: 'r'
value2: 'RIGHT_BOTTOM_SHOULDER'
14: # L3
value2: 'LEFT_STICK'
15: # R3
value2: 'RIGHT_STICK'
19: # L STICK UP
value: 't'
value2: 'LEFT_STICK_Y:-1'
18: # L STICK DOWN
value: 'g'
value2: 'LEFT_STICK_Y:+1'
17: # L STICK LEFT
value: 'f'
value2: 'LEFT_STICK_X:-1'
16: # L STICK RIGHT
value: 'h'
value2: 'LEFT_STICK_X:+1'
23: # R STICK UP
value: 'i'
value2: 'RIGHT_STICK_Y:-1'
22: # R STICK DOWN
value: 'k'
value2: 'RIGHT_STICK_Y:+1'
21: # R STICK LEFT
value: 'j'
value2: 'RIGHT_STICK_X:-1'
20: # R STICK RIGHT
value: 'l'
value2: 'RIGHT_STICK_X:+1'
24: # QUICK SAVE STATE
value: '1'
25: # QUICK LOAD STATE
value: '2'
26: # CHANGE STATE SLOT
value: '3'
27: # FAST FORWARD
value: 'add'
28: # REWIND
value: 'space'
29: # SLOW MOTION
value: 'subtract'
mupen64plus_next: # default for Nintendo 64
# A MAPPING FOR EACH BUTTON MUST BE SET!
# value = Mapping for keyboard
# value2 = Mapping for connected controller
0: # Player 1
0: # Nintendo B | PlayStation X | Xbox A | Down
value: 'y' # default x
value2: 'BUTTON_1' # default BUTTON_2
1: # Nintendo Y | PlayStation □ | Xbox X | Left
value: 's'
value2: 'BUTTON_4'
8: # Nintendo A | PlayStation ○ | Xbox B | Right
value: 'x' # default z
value2: 'BUTTON_2' # default BUTTON_1
9: # Nintendo X | PlayStation △ | Xbox Y | Up
value: 'a'
value2: 'BUTTON_3'
2: # SELECT
value: 'v'
value2: 'SELECT'
3: # START
value: 'enter'
value2: 'START'
4: # UP
value: 'up arrow'
value2: 'DPAD_UP'
5: # DOWN
value: 'down arrow'
value2: 'DPAD_DOWN'
6: # LEFT
value: 'left arrow'
value2: 'DPAD_LEFT'
7: # RIGHT
value: 'right arrow'
value2: 'DPAD_RIGHT'
10: # L1
value: 'q'
value2: 'LEFT_TOP_SHOULDER'
11: # R1
value: 'e'
value2: 'RIGHT_TOP_SHOULDER'
12: # L2
value: 'tab'
value2: 'LEFT_BOTTOM_SHOULDER'
13: # R1
value: 'r'
value2: 'RIGHT_BOTTOM_SHOULDER'
14: # L3
value2: 'LEFT_STICK'
15: # R3
value2: 'RIGHT_STICK'
19: # L STICK UP
value: 't'
value2: 'LEFT_STICK_Y:-1'
18: # L STICK DOWN
value: 'g'
value2: 'LEFT_STICK_Y:+1'
17: # L STICK LEFT
value: 'f'
value2: 'LEFT_STICK_X:-1'
16: # L STICK RIGHT
value: 'h'
value2: 'LEFT_STICK_X:+1'
23: # R STICK UP
value: 'i'
value2: 'RIGHT_STICK_Y:-1'
22: # R STICK DOWN
value: 'k'
value2: 'RIGHT_STICK_Y:+1'
21: # R STICK LEFT
value: 'j'
value2: 'RIGHT_STICK_X:-1'
20: # R STICK RIGHT
value: 'l'
value2: 'RIGHT_STICK_X:+1'
24: # QUICK SAVE STATE
value: '1'
25: # QUICK LOAD STATE
value: '2'
26: # CHANGE STATE SLOT
value: '3'
27: # FAST FORWARD
value: 'add'
28: # REWIND
value: 'space'
29: # SLOW MOTION
value: 'subtract'
pcsx_rearmed: # default for Sony PlayStation
# A MAPPING FOR EACH BUTTON MUST BE SET!
# value = Mapping for keyboard
# value2 = Mapping for connected controller
0: # Player 1
0: # Nintendo B | PlayStation X | Xbox A | Down
value: 'y' # default x
value2: 'BUTTON_1' # default BUTTON_2
1: # Nintendo Y | PlayStation □ | Xbox X | Left
value: 's'
value2: 'BUTTON_4'
8: # Nintendo A | PlayStation ○ | Xbox B | Right
value: 'x' # default z
value2: 'BUTTON_2' # default BUTTON_1
9: # Nintendo X | PlayStation △ | Xbox Y | Up
value: 'a'
value2: 'BUTTON_3'
2: # SELECT
value: 'v'
value2: 'SELECT'
3: # START
value: 'enter'
value2: 'START'
4: # UP
value: 'up arrow'
value2: 'DPAD_UP'
5: # DOWN
value: 'down arrow'
value2: 'DPAD_DOWN'
6: # LEFT
value: 'left arrow'
value2: 'DPAD_LEFT'
7: # RIGHT
value: 'right arrow'
value2: 'DPAD_RIGHT'
10: # L1
value: 'q'
value2: 'LEFT_TOP_SHOULDER'
11: # R1
value: 'e'
value2: 'RIGHT_TOP_SHOULDER'
12: # L2
value: 'tab'
value2: 'LEFT_BOTTOM_SHOULDER'
13: # R1
value: 'r'
value2: 'RIGHT_BOTTOM_SHOULDER'
14: # L3
value2: 'LEFT_STICK'
15: # R3
value2: 'RIGHT_STICK'
19: # L STICK UP
value: 't'
value2: 'LEFT_STICK_Y:-1'
18: # L STICK DOWN
value: 'g'
value2: 'LEFT_STICK_Y:+1'
17: # L STICK LEFT
value: 'f'
value2: 'LEFT_STICK_X:-1'
16: # L STICK RIGHT
value: 'h'
value2: 'LEFT_STICK_X:+1'
23: # R STICK UP
value: 'i'
value2: 'RIGHT_STICK_Y:-1'
22: # R STICK DOWN
value: 'k'
value2: 'RIGHT_STICK_Y:+1'
21: # R STICK LEFT
value: 'j'
value2: 'RIGHT_STICK_X:-1'
20: # R STICK RIGHT
value: 'l'
value2: 'RIGHT_STICK_X:+1'
24: # QUICK SAVE STATE
value: '1'
25: # QUICK LOAD STATE
value: '2'
26: # CHANGE STATE SLOT
value: '3'
27: # FAST FORWARD
value: 'add'
28: # REWIND
value: 'space'
29: # SLOW MOTION
value: 'subtract'
snes9x: # default for Super Nintendo Entertainment System
# A MAPPING FOR EACH BUTTON MUST BE SET!
# value = Mapping for keyboard
# value2 = Mapping for connected controller
0: # Player 1
0: # Nintendo B | PlayStation X | Xbox A | Down
value: 'y' # default x
value2: 'BUTTON_1' # default BUTTON_2
1: # Nintendo Y | PlayStation □ | Xbox X | Left
value: 's'
value2: 'BUTTON_4'
8: # Nintendo A | PlayStation ○ | Xbox B | Right
value: 'x' # default z
value2: 'BUTTON_2' # default BUTTON_1
9: # Nintendo X | PlayStation △ | Xbox Y | Up
value: 'a'
value2: 'BUTTON_3'
2: # SELECT
value: 'v'
value2: 'SELECT'
3: # START
value: 'enter'
value2: 'START'
4: # UP
value: 'up arrow'
value2: 'DPAD_UP'
5: # DOWN
value: 'down arrow'
value2: 'DPAD_DOWN'
6: # LEFT
value: 'left arrow'
value2: 'DPAD_LEFT'
7: # RIGHT
value: 'right arrow'
value2: 'DPAD_RIGHT'
10: # L1
value: 'q'
value2: 'LEFT_TOP_SHOULDER'
11: # R1
value: 'e'
value2: 'RIGHT_TOP_SHOULDER'
12: # L2
value: 'tab'
value2: 'LEFT_BOTTOM_SHOULDER'
13: # R1
value: 'r'
value2: 'RIGHT_BOTTOM_SHOULDER'
14: # L3
value2: 'LEFT_STICK'
15: # R3
value2: 'RIGHT_STICK'
19: # L STICK UP
value: 't'
value2: 'LEFT_STICK_Y:-1'
18: # L STICK DOWN
value: 'g'
value2: 'LEFT_STICK_Y:+1'
17: # L STICK LEFT
value: 'f'
value2: 'LEFT_STICK_X:-1'
16: # L STICK RIGHT
value: 'h'
value2: 'LEFT_STICK_X:+1'
23: # R STICK UP
value: 'i'
value2: 'RIGHT_STICK_Y:-1'
22: # R STICK DOWN
value: 'k'
value2: 'RIGHT_STICK_Y:+1'
21: # R STICK LEFT
value: 'j'
value2: 'RIGHT_STICK_X:-1'
20: # R STICK RIGHT
value: 'l'
value2: 'RIGHT_STICK_X:+1'
24: # QUICK SAVE STATE
value: '1'
25: # QUICK LOAD STATE
value: '2'
26: # CHANGE STATE SLOT
value: '3'
27: # FAST FORWARD
value: 'add'
28: # REWIND
value: 'space'
29: # SLOW MOTION
value: 'subtract'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment