X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fplat_pandora.c;h=3202c1d61b302b062181ac703d641a542e3eec7d;hp=694bb7e7fb7f3f446e51fee100250b5e708e9db9;hb=bcfc48e326fd502e77654330ce4b902e7db8c2dc;hpb=cc56203b76e1fcef2c7e55b460daf07e654a1547 diff --git a/frontend/plat_pandora.c b/frontend/plat_pandora.c index 694bb7e7..3202c1d6 100644 --- a/frontend/plat_pandora.c +++ b/frontend/plat_pandora.c @@ -39,21 +39,54 @@ static const struct in_default_bind in_evdev_defbinds[] = { { KEY_4, IN_BINDTYPE_EMU, SACTION_NEXT_SSLOT }, { KEY_5, IN_BINDTYPE_EMU, SACTION_TOGGLE_FSKIP }, { KEY_6, IN_BINDTYPE_EMU, SACTION_SCREENSHOT }, - { KEY_7, IN_BINDTYPE_EMU, SACTION_SWITCH_DISPMODE }, + { KEY_7, IN_BINDTYPE_EMU, SACTION_TOGGLE_FPS }, + { KEY_8, IN_BINDTYPE_EMU, SACTION_SWITCH_DISPMODE }, + { KEY_BACKSPACE,IN_BINDTYPE_EMU, SACTION_FAST_FORWARD }, { 0, 0, 0 } }; +static const struct menu_keymap key_pbtn_map[] = +{ + { KEY_UP, PBTN_UP }, + { KEY_DOWN, PBTN_DOWN }, + { KEY_LEFT, PBTN_LEFT }, + { KEY_RIGHT, PBTN_RIGHT }, + /* Pandora */ + { KEY_END, PBTN_MOK }, + { KEY_PAGEDOWN, PBTN_MBACK }, + { KEY_HOME, PBTN_MA2 }, + { KEY_PAGEUP, PBTN_MA3 }, + { KEY_LEFTCTRL, PBTN_MENU }, + { KEY_RIGHTSHIFT, PBTN_L }, + { KEY_RIGHTCTRL, PBTN_R }, + /* "normal" keyboards */ + { KEY_ENTER, PBTN_MOK }, + { KEY_ESC, PBTN_MBACK }, + { KEY_SEMICOLON, PBTN_MA2 }, + { KEY_APOSTROPHE, PBTN_MA3 }, + { KEY_BACKSLASH, PBTN_MENU }, + { KEY_LEFTBRACE, PBTN_L }, + { KEY_RIGHTBRACE, PBTN_R }, +}; + +static const struct in_pdata pandora_evdev_pdata = { + .defbinds = in_evdev_defbinds, + .key_map = key_pbtn_map, + .kmap_size = sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]), +}; + int plat_init(void) { plat_omap_init(); plat_target_init(); - in_evdev_init(in_evdev_defbinds); + in_evdev_init(&pandora_evdev_pdata); in_probe(); plat_target_setup_input(); in_adev[0] = in_name_to_id("evdev:nub0"); in_adev[1] = in_name_to_id("evdev:nub1"); + in_adev_is_nublike[0] = in_adev_is_nublike[1] = 1; return 0; } @@ -67,7 +100,7 @@ void plat_finish(void) void plat_gvideo_open(int is_pal) { plat_target_lcdrate_set(is_pal); - plat_target_hwfilter_set(filter); + plat_target_hwfilter_set(plat_target.hwfilter); plat_target_gamma_set(g_gamma, 0); plat_omap_gvideo_open();