static void in_evdev_probe(void)
{
+ long keybits[KEY_CNT / sizeof(long) / 8];
+ long absbits[(ABS_MAX+1) / sizeof(long) / 8];
int i;
+ // the kernel might support and return less keys then we know about,
+ // so make sure the buffers are clear.
+ memset(keybits, 0, sizeof(keybits));
+ memset(absbits, 0, sizeof(absbits));
+
for (i = 0;; i++)
{
- int keybits[KEY_CNT / sizeof(int)], absbits[(ABS_MAX+1)/sizeof(int)];
int support = 0, count = 0;
in_evdev_t *dev;
int u, ret, fd;
{ KEY_LEFT, PBTN_LEFT },
{ KEY_RIGHT, PBTN_RIGHT },
{ KEY_ENTER, PBTN_MOK },
- { BTN_A, PBTN_MOK },
+ { KEY_END, PBTN_MOK },
{ BTN_TRIGGER, PBTN_MOK },
{ KEY_ESC, PBTN_MBACK },
- { BTN_B, PBTN_MBACK },
+ { KEY_PAGEDOWN, PBTN_MBACK },
{ BTN_THUMB, PBTN_MBACK },
{ KEY_A, PBTN_MA2 },
+ { KEY_HOME, PBTN_MA2 },
{ KEY_S, PBTN_MA3 },
+ { KEY_PAGEUP, PBTN_MA3 },
{ KEY_BACKSLASH, PBTN_MENU },
- { KEY_MENU, PBTN_MENU },
+ { KEY_LEFTCTRL, PBTN_MENU },
+ { KEY_RIGHTSHIFT, PBTN_L },
{ KEY_LEFTBRACE, PBTN_L },
+ { KEY_RIGHTCTRL, PBTN_R },
{ KEY_RIGHTBRACE, PBTN_R },
};
{ KEY_LEFT, IN_BINDTYPE_PLAYER12, 2 },
{ KEY_RIGHT, IN_BINDTYPE_PLAYER12, 3 },
{ KEY_S, IN_BINDTYPE_PLAYER12, 4 }, /* B */
- { BTN_B, IN_BINDTYPE_PLAYER12, 4 },
+ { KEY_PAGEDOWN, IN_BINDTYPE_PLAYER12, 4 },
{ KEY_D, IN_BINDTYPE_PLAYER12, 5 }, /* C */
- { BTN_A, IN_BINDTYPE_PLAYER12, 5 },
+ { KEY_END, IN_BINDTYPE_PLAYER12, 5 },
{ KEY_A, IN_BINDTYPE_PLAYER12, 6 }, /* A */
- { BTN_Y, IN_BINDTYPE_PLAYER12, 6 },
+ { KEY_HOME, IN_BINDTYPE_PLAYER12, 6 },
{ KEY_ENTER, IN_BINDTYPE_PLAYER12, 7 },
- { BTN_START, IN_BINDTYPE_PLAYER12, 7 },
- { BTN_TL, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
- { BTN_TR, IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
+ { KEY_LEFTALT, IN_BINDTYPE_PLAYER12, 7 },
+ { KEY_RIGHTSHIFT,IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
+ { KEY_RIGHTCTRL, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
+ { KEY_LEFTCTRL, IN_BINDTYPE_EMU, PEVB_MENU },
};
#define DEF_BIND_COUNT (sizeof(in_evdev_def_binds) / sizeof(in_evdev_def_binds[0]))