X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fgp2x%2Fplat.c;h=4fcf76f42aa3eca8d67996499d7ac300aef42b4d;hb=1d366b1ad9362fd463c42979c8a687dfc7f46c46;hp=e5bf18a3d77f56214ef0473870c18063d253ea29;hpb=31f944ea8ceee82ec8b1451aa86b8d4a9d07367e;p=picodrive.git diff --git a/platform/gp2x/plat.c b/platform/gp2x/plat.c index e5bf18a..4fcf76f 100644 --- a/platform/gp2x/plat.c +++ b/platform/gp2x/plat.c @@ -71,6 +71,36 @@ static struct in_default_bind in_gp2x_defbinds[] = { 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 }, + /* Caanoo */ + { BTN_THUMB2, PBTN_MOK }, + { BTN_THUMB, PBTN_MBACK }, + { BTN_TRIGGER, PBTN_MA2 }, + { BTN_TOP, PBTN_MA3 }, + { BTN_BASE, PBTN_MENU }, + { BTN_TOP2, PBTN_L }, + { BTN_PINKIE, 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 gp2x_evdev_pdata = { + .defbinds = in_evdev_defbinds, + .key_map = key_pbtn_map, + .kmap_size = sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]), +}; + void gp2x_video_changemode(int bpp, int is_pal) { gp2x_video_changemode_ll(bpp, is_pal); @@ -149,6 +179,11 @@ void plat_video_menu_leave(void) { } +void *plat_mem_get_for_drc(size_t size) +{ + return NULL; +} + void plat_early_init(void) { // just use gettimeofday until plat_init() @@ -173,6 +208,7 @@ void plat_init(void) g_menuscreen_w = 320; g_menuscreen_h = 240; + g_menuscreen_pp = g_menuscreen_w; gp2x_memset_all_buffers(0, 0, 320*240*2); gp2x_make_fb_bufferable(1); @@ -183,7 +219,7 @@ void plat_init(void) flip_after_sync = 1; gp2x_menu_init(); - in_evdev_init(in_evdev_defbinds); + in_evdev_init(&gp2x_evdev_pdata); in_gp2x_init(in_gp2x_defbinds); in_probe(); plat_target_setup_input();