int initinput(void) { GXOpenInput(); klist = GXGetDefaultKeys(GX_NORMALKEYS); joykey_map[0][0] = klist.vkUp; joykey_map[0][1] = klist.vkDown; joykey_map[0][2] = klist.vkLeft; joykey_map[0][3] = klist.vkRight; joykey_map[1][0] = klist.vkLeft; joykey_map[1][1] = klist.vkRight; joykey_map[1][2] = klist.vkDown; joykey_map[1][3] = klist.vkUp; joykey_map[2][0] = klist.vkRight; joykey_map[2][1] = klist.vkLeft; joykey_map[2][2] = klist.vkUp; joykey_map[2][3] = klist.vkDown; kbd_translation[KBDT_F3].winKey = klist.vkA; kbd_translation[KBDT_F2].winKey = klist.vkB; kbd_translation[KBDT_UI].winKey = klist.vkC; kbd_image = kbd_image_800; kbd_struct = kbd_struct_800; keys = sizeof(kbd_struct_800)/sizeof(kbd_struct_800[0]); clearkb(); stylus_down = 0; return 0; }
int initinput(void) { GXOpenInput(); klist = GXGetDefaultKeys(GX_NORMALKEYS); joykey_map[0][0] = klist.vkUp; joykey_map[0][1] = klist.vkDown; joykey_map[0][2] = klist.vkLeft; joykey_map[0][3] = klist.vkRight; joykey_map[1][0] = klist.vkLeft; joykey_map[1][1] = klist.vkRight; joykey_map[1][2] = klist.vkDown; joykey_map[1][3] = klist.vkUp; joykey_map[2][0] = klist.vkRight; joykey_map[2][1] = klist.vkLeft; joykey_map[2][2] = klist.vkUp; joykey_map[2][3] = klist.vkDown; if (smkeyhack) { klist.vkB ^= klist.vkC; klist.vkC ^= klist.vkB; klist.vkB ^= klist.vkC; } if (issmartphone) { kbd_translation[KBDT_F3].winKey = '8'; kbd_translation[KBDT_F2].winKey = '7'; kbd_translation[KBDT_UI].winKey = klist.vkC; kbd_translation[KBDT_F4].winKey = '9'; kbd_translation[KBDT_RETURN].winKey = '0'; } else { kbd_translation[KBDT_F3].winKey = klist.vkA; kbd_translation[KBDT_F2].winKey = klist.vkB; kbd_translation[KBDT_UI].winKey = klist.vkC; } kbd_image = kbd_image_800; kbd_struct = kbd_struct_800; keys = sizeof(kbd_struct_800)/sizeof(kbd_struct_800[0]); clearkb(); stylus_down = 0; return 0; }
GF_Err GAPI_Setup(GF_VideoOutput *dr, void *os_handle, void *os_display, Bool noover) { struct GXDisplayProperties gx = GXGetDisplayProperties(); RECT rc; GAPICTX(dr); gctx->hWnd = (HWND) os_handle; /*get keys in both 2D and 3D modes*/ gctx->keys = GXGetDefaultKeys(GX_NORMALKEYS); #if 0 /*FIXME - not supported in rasterizer*/ if (gx.ffFormat & kfDirect444) { gctx->pixel_format = GF_PIXEL_RGB_444; gctx->BPP = 2; gctx->bitsPP = 12; } else #endif if (gx.ffFormat & kfDirect555) { gctx->pixel_format = GF_PIXEL_RGB_555; gctx->BPP = 2; gctx->bits_per_pixel = 15; } else if (gx.ffFormat & kfDirect565) { gctx->pixel_format = GF_PIXEL_RGB_565; gctx->BPP = 2; gctx->bits_per_pixel = 16; } else if (gx.ffFormat & kfDirect888) { gctx->pixel_format = GF_PIXEL_RGB_24; gctx->BPP = 3; gctx->bits_per_pixel = 24; } else { return GF_NOT_SUPPORTED; } GAPI_SetupWindow(dr); if (!gctx->hWnd) return GF_IO_ERR; /*setup GX*/ if (!GXOpenDisplay(gctx->hWnd, 0L)) { MessageBox(NULL, _T("Cannot open display"), _T("GAPI Error"), MB_OK); return GF_IO_ERR; } GetClientRect(gctx->hWnd, &rc); gctx->backup_w = rc.right - rc.left; gctx->backup_h = rc.bottom - rc.top; return GAPI_InitBackBuffer(dr, gctx->backup_w, gctx->backup_h); }