Adding extra keys/buttons to be available for mapping through UI?

I make changes on the fMSX core from time to time.

Why fMSX not the better blueMSX? Because fMSX is the one available on Nintendo 3DS.

I’d like to add the ability to be able to map any key of the emulated physical keyboard layout to any button on the 3DS.

As of right now, it’s only possible to move around the default keys that have been defined against the 3DS buttons. They are:

keymap_t keybemu1_map[] =
  {
  { RETRO_DEVICE_ID_JOYPAD_UP,       KBD_UP },
  { RETRO_DEVICE_ID_JOYPAD_DOWN,   KBD_DOWN },
  { RETRO_DEVICE_ID_JOYPAD_LEFT,   KBD_LEFT },
  { RETRO_DEVICE_ID_JOYPAD_RIGHT, KBD_RIGHT },
  { RETRO_DEVICE_ID_JOYPAD_B,     KBD_ENTER },
  { RETRO_DEVICE_ID_JOYPAD_A,     KBD_SPACE },
  { RETRO_DEVICE_ID_JOYPAD_X,           'n' },
  { RETRO_DEVICE_ID_JOYPAD_Y,           'm' },
  { RETRO_DEVICE_ID_JOYPAD_SELECT,   KBD_F4 },
  { RETRO_DEVICE_ID_JOYPAD_START,    KBD_F1 },
  { RETRO_DEVICE_ID_JOYPAD_L,        KBD_F2 },
  { RETRO_DEVICE_ID_JOYPAD_R,        KBD_F3 },
  { RETRO_DEVICE_ID_JOYPAD_L2,    KBD_GRAPH },
  { RETRO_DEVICE_ID_JOYPAD_R2,  KBD_CONTROL },
  { RETRO_DEVICE_ID_JOYPAD_L3,       KBD_F5 },
  { RETRO_DEVICE_ID_JOYPAD_R3,   KBD_ESCAPE },
};

So essentially, I’d like the buttons to be mapped as above, from the full set of ~100 keys. Rather than there only being 16 keys available.

Make sense? Possible?

Pointers/hints appreciated.

Thanks, matt

I think the only core that has something similar to a full keyboard mapper is DosBox.

1 Like