Index: uisimulator/sdl/button.c =================================================================== --- uisimulator/sdl/button.c (revision 18217) +++ uisimulator/sdl/button.c (working copy) @@ -113,7 +113,7 @@ #ifdef HAVE_REMOTE_LCD static bool skip_remote_release = false; #endif -#endif +#endif static bool usb_connected = false; if (usb_connected && key != SDLK_u) return; @@ -175,7 +175,7 @@ printf("Touchpad mode: %s\n", touchpad_mode == TOUCHPAD_POINT ? "TOUCHPAD_POINT" : "TOUCHPAD_BUTTON"); } break; - + #endif case SDLK_u: if (!pressed) @@ -197,7 +197,7 @@ } return; #endif - + #ifdef HAS_REMOTE_BUTTON_HOLD case SDLK_j: if(pressed) @@ -208,232 +208,363 @@ } return; #endif - -#if CONFIG_KEYPAD == GIGABEAT_PAD + +/* Left and Right */ +#if (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_M3_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || \ + (CONFIG_KEYPAD == ONDIO_PAD) || \ + (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) || \ + (CONFIG_KEYPAD == MROBE500_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) + +#ifndef HAVE_TOUCHPAD case SDLK_KP4: +#endif case SDLK_LEFT: new_btn = BUTTON_LEFT; break; +#ifndef HAVE_TOUCHPAD case SDLK_KP6: +#endif case SDLK_RIGHT: new_btn = BUTTON_RIGHT; break; +#endif + +/* Up and Down */ +#if (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_M3_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || \ + (CONFIG_KEYPAD == ONDIO_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + +#ifndef HAVE_TOUCHPAD case SDLK_KP8: +#endif case SDLK_UP: new_btn = BUTTON_UP; break; +#ifndef HAVE_TOUCHPAD case SDLK_KP2: +#endif case SDLK_DOWN: new_btn = BUTTON_DOWN; break; +#endif + +/* Volume Up / Down + * Iriver H100: Power On / Power Off + * Iriver H300: Power On / Power Off + * Player: Power On / Stop + * Recorder: Power On / Power Off + * Archos AV300: Power On / Power Off + * Cowond2: Minus / Plus + */ +#if (CONFIG_KEYPAD == GIGABEAT_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) || \ + (CONFIG_KEYPAD == COWOND2_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) + case SDLK_PLUS: case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_POWER; +#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) + new_btn = BUTTON_ON; +#elif CONFIG_KEYPAD == COWOND2_PAD + new_btn = BUTTON_PLUS; +#else + new_btn = BUTTON_VOL_UP; +#endif break; - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_A; + case SDLK_MINUS: + case SDLK_KP_MINUS: +#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) + new_btn = BUTTON_OFF; +#elif (CONFIG_KEYPAD == PLAYER_PAD) + new_btn = BUTTON_STOP; +#elif CONFIG_KEYPAD == COWOND2_PAD + new_btn = BUTTON_MINUS; +#else + new_btn = BUTTON_VOL_DOWN; +#endif break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; +#endif + +/* Scroll Back / Forward */ +#if (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) + +#ifndef HAVE_TOUCHPAD case SDLK_KP9: - new_btn = BUTTON_VOL_UP; +#endif + case SDLK_PAGEUP: + case SDLK_RIGHTBRACKET: + new_btn = BUTTON_SCROLL_BACK; break; +#ifndef HAVE_TOUCHPAD case SDLK_KP3: - new_btn = BUTTON_VOL_DOWN; +#endif + case SDLK_PAGEDOWN: + case SDLK_LEFTBRACKET: + new_btn = BUTTON_SCROLL_FWD; break; +#endif -#elif CONFIG_KEYPAD == GIGABEAT_S_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_PLUS: - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP7: - new_btn = BUTTON_BACK; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP9: +/* Power */ +#if (CONFIG_KEYPAD == GIGABEAT_PAD) || \ + (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) || \ + (CONFIG_KEYPAD == MROBE500_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == COWOND2_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; - -#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_PLAY; - break; + case SDLK_DELETE: + case SDLK_BACKSPACE: case SDLK_ESCAPE: + case SDLK_F8: new_btn = BUTTON_POWER; break; +#endif + +/* Select */ +#if (CONFIG_KEYPAD == GIGABEAT_PAD) || \ + (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) case SDLK_KP_ENTER: case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_DIVIDE: - case SDLK_F1: - new_btn = BUTTON_REC; - break; - case SDLK_KP5: case SDLK_SPACE: new_btn = BUTTON_SELECT; break; +#endif -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; +/* Menu */ +#if (CONFIG_KEYPAD == GIGABEAT_PAD) || \ + (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == ONDIO_PAD) || \ + (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == COWOND2_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + +#ifndef HAVE_TOUCHPAD + case SDLK_KP7: +#endif + case SDLK_HOME: + case SDLK_m: + new_btn = BUTTON_MENU; break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_KP_PERIOD: +#endif + +/* Mode */ +#if (CONFIG_KEYPAD == IAUDIO_M3_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) + case SDLK_KP0: case SDLK_INSERT: new_btn = BUTTON_MODE; break; - case SDLK_KP_DIVIDE: - case SDLK_F1: - new_btn = BUTTON_REC; - break; +#endif + +/* Play */ +#if (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_M3_PAD) || \ + (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \ + (CONFIG_KEYPAD == IPOD_3G_PAD) || \ + (CONFIG_KEYPAD == IPOD_4G_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || \ + (CONFIG_KEYPAD == PLAYER_PAD) || \ + (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + +#ifndef HAVE_TOUCHPAD case SDLK_KP5: - case SDLK_SPACE: +#endif + case SDLK_p: new_btn = BUTTON_PLAY; break; +#endif -#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ - || (CONFIG_KEYPAD == IPOD_4G_PAD) - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; +/* Record */ +#if (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) || \ + (CONFIG_KEYPAD == IAUDIO_M3_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ + (CONFIG_KEYPAD == SANSA_E200_PAD) || \ + (CONFIG_KEYPAD == SANSA_C200_PAD) + case SDLK_r: + new_btn = BUTTON_REC; break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; +#endif + +/* Rew + * Gigabeat S: Back + * Creative ZVM: Back + * Creative ZV: Prev + * Meizu M6SL: Prev + */ +#if (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + case SDLK_KP_DIVIDE: + case SDLK_LESS: +#if (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) + new_btn = BUTTON_BACK; +#elif (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + new_btn = BUTTON_PREV; +#else + new_btn = BUTTON_REW; +#endif break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_SCROLL_BACK; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_SCROLL_FWD; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; +#endif -#elif CONFIG_KEYPAD == IRIVER_H10_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; +/* FF + * Creative ZV: Next + * Meizu M6SL: Next + */ +#if (CONFIG_KEYPAD == IRIVER_H10_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + case SDLK_KP_MULTIPLY: + case SDLK_GREATER: +#if (CONFIG_KEYPAD == CREATIVEZV_PAD) || \ + (CONFIG_KEYPAD == MEIZU_M6SL_PAD) + new_btn = BUTTON_NEXT; +#else + new_btn = BUTTON_FF; break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_SCROLL_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_SCROLL_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_POWER; - break; - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_DIVIDE: +#endif +#endif + +/* Function keys */ +#if (CONFIG_KEYPAD == RECORDER_PAD) || \ + (CONFIG_KEYPAD == ARCHOS_AV300_PAD) case SDLK_F1: - new_btn = BUTTON_REW; + new_btn = BUTTON_F1; break; case SDLK_KP_MULTIPLY: case SDLK_F2: - new_btn = BUTTON_FF; + new_btn = BUTTON_F2; break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_PLAY; + case SDLK_KP_MINUS: + case SDLK_F3: + new_btn = BUTTON_F3; break; +#endif -#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) +/* Special function: + * Gigabeat: Button A + * Iriver IFP7XX: EQ + * Ondio: Off + * Mrobe100: Display + * Creative ZVM: Custom + * Creative ZV: Back + */ +#if (CONFIG_KEYPAD == GIGABEAT_PAD) || \ + (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) || \ + (CONFIG_KEYPAD == ONDIO_PAD) || \ + (CONFIG_KEYPAD == MROBE100_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZVM_PAD) || \ + (CONFIG_KEYPAD == CREATIVEZV_PAD) + +#ifndef HAVE_TOUCHPAD + case SDLK_KP1: +#endif + case SDLK_END: +#if CONFIG_KEYPAD == GIGABEAT_PAD + new_btn = BUTTON_A; +#elif (CONFIG_KEYPAD == IRIVER_IFP7XX_PAD) + new_btn = BUTTON_EQ; +#elif (CONFIG_KEYPAD == ONDIO_PAD) + new_btn = BUTTON_OFF; +#elif (CONFIG_KEYPAD == MROBE100_PAD) + new_btn = BUTTON_DISPLAY; +#elif (CONFIG_KEYPAD == CREATIVEZVM_PAD) + new_btn = BUTTON_CUSTOM; +#elif (CONFIG_KEYPAD == CREATIVEZV_PAD) + new_btn = BUTTON_BACK; +#endif + break; +#endif + +/* Iriver H100 and Iriver H300 specific keys */ +#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ + (CONFIG_KEYPAD == IRIVER_H300_PAD) case SDLK_t: if(pressed) switch(_remote_type) { - case REMOTETYPE_UNPLUGGED: + case REMOTETYPE_UNPLUGGED: _remote_type=REMOTETYPE_H100_LCD; DEBUGF("Changed remote type to H100\n"); break; @@ -451,288 +582,10 @@ break; } break; - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_ON; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_OFF; - break; - case SDLK_KP_DIVIDE: - case SDLK_F1: - new_btn = BUTTON_REC; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MODE; - break; +#endif -#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_EQ; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MODE; - break; - -#elif CONFIG_KEYPAD == ONDIO_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_OFF; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; - -#elif CONFIG_KEYPAD == PLAYER_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_STOP; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_ON; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; - -#elif CONFIG_KEYPAD == RECORDER_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_ON; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_OFF; - break; - case SDLK_KP_DIVIDE: - case SDLK_F1: - new_btn = BUTTON_F1; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F2: - new_btn = BUTTON_F2; - break; - case SDLK_KP_MINUS: - case SDLK_F3: - new_btn = BUTTON_F3; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_PLAY; - break; - -#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_PLUS: - case SDLK_F8: - new_btn = BUTTON_ON; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_OFF; - break; - case SDLK_KP_DIVIDE: - case SDLK_F1: - new_btn = BUTTON_F1; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F2: - new_btn = BUTTON_F2; - break; - case SDLK_KP_MINUS: - case SDLK_F3: - new_btn = BUTTON_F3; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - -#elif CONFIG_KEYPAD == SANSA_E200_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_SCROLL_BACK; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_SCROLL_FWD; - break; - case SDLK_KP9: - new_btn = BUTTON_UP; - break; - case SDLK_KP3: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP1: - new_btn = BUTTON_POWER; - break; - case SDLK_KP7: - new_btn = BUTTON_REC; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - -#elif CONFIG_KEYPAD == SANSA_C200_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP3: - new_btn = BUTTON_POWER; - break; - case SDLK_KP1: - new_btn = BUTTON_REC; - break; - case SDLK_KP5: - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP7: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_KP9: - new_btn = BUTTON_VOL_UP; - break; - -#elif CONFIG_KEYPAD == MROBE500_PAD +/* Mrobe500 specific keys */ +#if CONFIG_KEYPAD == MROBE500_PAD case SDLK_F9: new_btn = BUTTON_RC_HEART; break; @@ -745,189 +598,19 @@ case SDLK_F12: new_btn = BUTTON_RC_VOL_UP; break; - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_UP: + case SDLK_F7: new_btn = BUTTON_RC_PLAY; break; - case SDLK_DOWN: + case SDLK_F6: new_btn = BUTTON_RC_DOWN; break; - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; -#elif CONFIG_KEYPAD == MROBE100_PAD - case SDLK_KP1: - new_btn = BUTTON_DISPLAY; - break; - case SDLK_KP7: - new_btn = BUTTON_MENU; - break; - case SDLK_KP9: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - -#elif CONFIG_KEYPAD == COWOND2_PAD - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_PLUS: - new_btn = BUTTON_PLUS; - break; - case SDLK_KP_MINUS: - new_btn = BUTTON_MINUS; - break; - case SDLK_KP_ENTER: - new_btn = BUTTON_MENU; - break; +#endif -#elif CONFIG_KEYPAD == CREATIVEZVM_PAD - case SDLK_KP1: - new_btn = BUTTON_BACK; - break; - case SDLK_KP3: - new_btn = BUTTON_MENU; - break; - case SDLK_KP7: - new_btn = BUTTON_CUSTOM; - break; - case SDLK_KP9: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; -#elif CONFIG_KEYPAD == CREATIVEZV_PAD - case SDLK_KP1: - new_btn = BUTTON_PREV; - break; - case SDLK_KP3: - new_btn = BUTTON_NEXT; - break; - case SDLK_KP7: - new_btn = BUTTON_BACK; - break; - case SDLK_p: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP9: - new_btn = BUTTON_MENU; - break; - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_z: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_s: - new_btn = BUTTON_VOL_UP; - -#elif CONFIG_KEYPAD == MEIZU_M6SL_PAD - case SDLK_KP1: - new_btn = BUTTON_PREV; - break; - case SDLK_KP3: - new_btn = BUTTON_NEXT; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; - case SDLK_KP8: - case SDLK_UP: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - case SDLK_DOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; -#else +#ifndef CONFIG_KEYPAD #error No keymap defined! -#endif /* CONFIG_KEYPAD */ - case SDLK_KP0: +#elif (CONFIG_KEYPAD == 0) +#error No keymap defined! +#endif case SDLK_F5: if(pressed) { @@ -936,7 +619,7 @@ } break; } - + if (pressed) btn |= new_btn; else @@ -1023,7 +706,7 @@ skip_remote_release = false; } else -#endif +#endif if(skip_release) skip_release = false; #endif @@ -1035,15 +718,15 @@ #ifdef HAVE_BACKLIGHT #ifdef HAVE_REMOTE_LCD if (btn & BUTTON_REMOTE) { - if (!remote_filter_first_keypress + if (!remote_filter_first_keypress || is_remote_backlight_on(false)) queue_post(&button_queue, btn, data); else skip_remote_release = true; } else -#endif - if (!filter_first_keypress +#endif + if (!filter_first_keypress || is_backlight_on(false)) queue_post(&button_queue, btn, data); else @@ -1052,7 +735,7 @@ queue_post(&button_queue, btn, data); #endif post = false; - } + } #ifdef HAVE_REMOTE_LCD if(btn & BUTTON_REMOTE) @@ -1128,11 +811,11 @@ { x -= UI_LCD_POSX; y -= UI_LCD_POSY; - + if(x<0 || y<0 || x>UI_LCD_WIDTH || y>UI_LCD_HEIGHT) return; } - + mouse_coords = (x<<16)|y; button_event(BUTTON_TOUCHPAD, true); if (debug_wps)