From 59d2603c41096b55ca19cdb5dacaf87b3d4f236d Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Sun, 6 Jun 2010 09:11:52 +0000 Subject: Move target-simulating specific keymaps out of button-sdl.c into a file per keypad. Copyright is restored for each keymap according to git blame. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26615 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/hosted/sdl/button-sdl.c | 1670 +-------------------------- uisimulator/buttonmap/SOURCES | 68 ++ uisimulator/buttonmap/archos-av300.c | 81 ++ uisimulator/buttonmap/archos-ondio.c | 69 ++ uisimulator/buttonmap/archos-player.c | 68 ++ uisimulator/buttonmap/archos-recorder.c | 104 ++ uisimulator/buttonmap/buttonmap.h | 42 + uisimulator/buttonmap/buttonmaps.c | 40 + uisimulator/buttonmap/cowon-d2.c | 64 + uisimulator/buttonmap/creative-zv.c | 92 ++ uisimulator/buttonmap/creative-zvm.c | 83 ++ uisimulator/buttonmap/gigabeat-s.c | 79 ++ uisimulator/buttonmap/gigabeat.c | 90 ++ uisimulator/buttonmap/gogear-hdd1630.c | 77 ++ uisimulator/buttonmap/gogear-sa9200.c | 88 ++ uisimulator/buttonmap/iaudio-6_7.c | 64 + uisimulator/buttonmap/iaudio-x5_m5.c | 96 ++ uisimulator/buttonmap/iaudo-m3.c | 101 ++ uisimulator/buttonmap/ipod.c | 136 +++ uisimulator/buttonmap/iriver-h10.c | 92 ++ uisimulator/buttonmap/iriver-h100_h300.c | 124 ++ uisimulator/buttonmap/iriver-ifp7xx.c | 71 ++ uisimulator/buttonmap/meizu-m6sl.c | 65 ++ uisimulator/buttonmap/mpio-hd200.c | 67 ++ uisimulator/buttonmap/mrobe100.c | 105 ++ uisimulator/buttonmap/mrobe500.c | 76 ++ uisimulator/buttonmap/onda-vx747.c | 62 + uisimulator/buttonmap/onda-vx777.c | 41 + uisimulator/buttonmap/pbell-vibe500.c | 72 ++ uisimulator/buttonmap/samsung-yh820_yh92x.c | 94 ++ uisimulator/buttonmap/sansa-c200.c | 81 ++ uisimulator/buttonmap/sansa-clip.c | 81 ++ uisimulator/buttonmap/sansa-e200.c | 83 ++ uisimulator/buttonmap/sansa-fuze.c | 85 ++ uisimulator/buttonmap/sansa-m200.c | 75 ++ uisimulator/buttonmap/touchscreen.c | 103 ++ uisimulator/uisimulator.make | 3 +- 37 files changed, 2832 insertions(+), 1660 deletions(-) create mode 100644 uisimulator/buttonmap/SOURCES create mode 100644 uisimulator/buttonmap/archos-av300.c create mode 100644 uisimulator/buttonmap/archos-ondio.c create mode 100644 uisimulator/buttonmap/archos-player.c create mode 100644 uisimulator/buttonmap/archos-recorder.c create mode 100644 uisimulator/buttonmap/buttonmap.h create mode 100644 uisimulator/buttonmap/buttonmaps.c create mode 100644 uisimulator/buttonmap/cowon-d2.c create mode 100644 uisimulator/buttonmap/creative-zv.c create mode 100644 uisimulator/buttonmap/creative-zvm.c create mode 100644 uisimulator/buttonmap/gigabeat-s.c create mode 100644 uisimulator/buttonmap/gigabeat.c create mode 100644 uisimulator/buttonmap/gogear-hdd1630.c create mode 100644 uisimulator/buttonmap/gogear-sa9200.c create mode 100644 uisimulator/buttonmap/iaudio-6_7.c create mode 100644 uisimulator/buttonmap/iaudio-x5_m5.c create mode 100644 uisimulator/buttonmap/iaudo-m3.c create mode 100644 uisimulator/buttonmap/ipod.c create mode 100644 uisimulator/buttonmap/iriver-h10.c create mode 100644 uisimulator/buttonmap/iriver-h100_h300.c create mode 100644 uisimulator/buttonmap/iriver-ifp7xx.c create mode 100644 uisimulator/buttonmap/meizu-m6sl.c create mode 100644 uisimulator/buttonmap/mpio-hd200.c create mode 100644 uisimulator/buttonmap/mrobe100.c create mode 100644 uisimulator/buttonmap/mrobe500.c create mode 100644 uisimulator/buttonmap/onda-vx747.c create mode 100644 uisimulator/buttonmap/onda-vx777.c create mode 100644 uisimulator/buttonmap/pbell-vibe500.c create mode 100644 uisimulator/buttonmap/samsung-yh820_yh92x.c create mode 100644 uisimulator/buttonmap/sansa-c200.c create mode 100644 uisimulator/buttonmap/sansa-clip.c create mode 100644 uisimulator/buttonmap/sansa-e200.c create mode 100644 uisimulator/buttonmap/sansa-fuze.c create mode 100644 uisimulator/buttonmap/sansa-m200.c create mode 100644 uisimulator/buttonmap/touchscreen.c diff --git a/firmware/target/hosted/sdl/button-sdl.c b/firmware/target/hosted/sdl/button-sdl.c index 20dcf6349d..2f971d7a4e 100644 --- a/firmware/target/hosted/sdl/button-sdl.c +++ b/firmware/target/hosted/sdl/button-sdl.c @@ -29,10 +29,12 @@ #include "kernel.h" #include "backlight.h" #include "misc.h" -#include "sim_tasks.h" #include "button-sdl.h" #include "backlight.h" - +#ifdef SIMULATOR +#include "sim_tasks.h" +#include "buttonmap.h" +#endif #include "debug.h" #ifdef HAVE_TOUCHSCREEN @@ -63,8 +65,6 @@ int remote_type(void) } #endif -static int xy2button(int x, int y); - struct event_queue button_queue; static int btn = 0; /* Hopefully keeps track of currently pressed keys... */ @@ -196,77 +196,6 @@ static void button_event(int key, bool pressed) return; switch (key) { - -#ifdef HAVE_TOUCHSCREEN - case BUTTON_TOUCHSCREEN: - switch (touchscreen_get_mode()) - { - case TOUCHSCREEN_POINT: - new_btn = BUTTON_TOUCHSCREEN; - break; - case TOUCHSCREEN_BUTTON: - { - static int touchscreen_buttons[3][3] = { - {BUTTON_TOPLEFT, BUTTON_TOPMIDDLE, BUTTON_TOPRIGHT}, - {BUTTON_MIDLEFT, BUTTON_CENTER, BUTTON_MIDRIGHT}, - {BUTTON_BOTTOMLEFT, BUTTON_BOTTOMMIDDLE, BUTTON_BOTTOMRIGHT}, - }; - int px_x = ((mouse_coords&0xffff0000)>>16); - int px_y = ((mouse_coords&0x0000ffff)); - new_btn = touchscreen_buttons[px_y/(LCD_HEIGHT/3)][px_x/(LCD_WIDTH/3)]; - break; - } - } - break; - case SDLK_KP7: - case SDLK_7: - new_btn = BUTTON_TOPLEFT; - break; - case SDLK_KP8: - case SDLK_8: - case SDLK_UP: - new_btn = BUTTON_TOPMIDDLE; - break; - case SDLK_KP9: - case SDLK_9: - new_btn = BUTTON_TOPRIGHT; - break; - case SDLK_KP4: - case SDLK_u: - case SDLK_LEFT: - new_btn = BUTTON_MIDLEFT; - break; - case SDLK_KP5: - case SDLK_i: - new_btn = BUTTON_CENTER; - break; - case SDLK_KP6: - case SDLK_o: - case SDLK_RIGHT: - new_btn = BUTTON_MIDRIGHT; - break; - case SDLK_KP1: - case SDLK_j: - new_btn = BUTTON_BOTTOMLEFT; - break; - case SDLK_KP2: - case SDLK_k: - case SDLK_DOWN: - new_btn = BUTTON_BOTTOMMIDDLE; - break; - case SDLK_KP3: - case SDLK_l: - new_btn = BUTTON_BOTTOMRIGHT; - break; - case SDLK_F4: - if(pressed) - { - touchscreen_set_mode(touchscreen_get_mode() == TOUCHSCREEN_POINT ? TOUCHSCREEN_BUTTON : TOUCHSCREEN_POINT); - printf("Touchscreen mode: %s\n", touchscreen_get_mode() == TOUCHSCREEN_POINT ? "TOUCHSCREEN_POINT" : "TOUCHSCREEN_BUTTON"); - } - break; - -#endif case USB_KEY: if (!pressed) { @@ -298,1116 +227,7 @@ static void button_event(int key, bool pressed) } return; #endif - -#if CONFIG_KEYPAD == GIGABEAT_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_POWER; - break; - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_a: - new_btn = BUTTON_A; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP_PERIOD: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; - case SDLK_KP9: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_KP3: - new_btn = BUTTON_VOL_DOWN; - break; - -#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: - 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_ESCAPE: - new_btn = BUTTON_POWER; - break; - 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; - -#elif CONFIG_KEYPAD == IAUDIO_M3_PAD - case SDLK_KP4: - new_btn = BUTTON_LEFT; - break; - case SDLK_LEFT: - new_btn = BUTTON_RC_REW; - break; - case SDLK_KP6: - new_btn = BUTTON_RIGHT; - break; - case SDLK_RIGHT: - new_btn = BUTTON_RC_FF; - break; - case SDLK_KP8: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_UP: - new_btn = BUTTON_RC_VOL_UP; - break; - case SDLK_KP2: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_DOWN: - new_btn = BUTTON_RC_VOL_DOWN; - break; - case SDLK_KP_PERIOD: - new_btn = BUTTON_MODE; - break; - case SDLK_INSERT: - new_btn = BUTTON_RC_MODE; - break; - case SDLK_KP_DIVIDE: - new_btn = BUTTON_REC; - break; - case SDLK_F1: - new_btn = BUTTON_RC_REC; - break; - case SDLK_KP5: - new_btn = BUTTON_PLAY; - break; - case SDLK_SPACE: - new_btn = BUTTON_RC_PLAY; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_RC_MENU; - break; - -#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; - 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_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; - -#elif CONFIG_KEYPAD == IRIVER_H10_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_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: - case SDLK_F1: - new_btn = BUTTON_REW; - break; - case SDLK_KP_MULTIPLY: - case SDLK_F2: - new_btn = BUTTON_FF; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_PLAY; - break; - -#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) - case SDLK_t: - if(pressed) - switch(_remote_type) - { - case REMOTETYPE_UNPLUGGED: - _remote_type=REMOTETYPE_H100_LCD; - DEBUGF("Changed remote type to H100\n"); - break; - case REMOTETYPE_H100_LCD: - _remote_type=REMOTETYPE_H300_LCD; - DEBUGF("Changed remote type to H300\n"); - break; - case REMOTETYPE_H300_LCD: - _remote_type=REMOTETYPE_H300_NONLCD; - DEBUGF("Changed remote type to H300 NON-LCD\n"); - break; - case REMOTETYPE_H300_NONLCD: - _remote_type=REMOTETYPE_UNPLUGGED; - DEBUGF("Changed remote type to none\n"); - 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; - -#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: - case SDLK_PAGEUP: - new_btn = BUTTON_UP; - break; - case SDLK_KP3: - case SDLK_PAGEDOWN: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP1: - case SDLK_HOME: - new_btn = BUTTON_POWER; - break; - case SDLK_KP7: - case SDLK_END: - 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 - case SDLK_F9: - new_btn = BUTTON_RC_HEART; - break; - case SDLK_F10: - new_btn = BUTTON_RC_MODE; - break; - case SDLK_F11: - new_btn = BUTTON_RC_VOL_DOWN; - break; - case SDLK_F12: - new_btn = BUTTON_RC_VOL_UP; - break; - case SDLK_MINUS: - case SDLK_LESS: - case SDLK_LEFTBRACKET: - case SDLK_KP_DIVIDE: - new_btn = BUTTON_LEFT; - break; - case SDLK_PLUS: - case SDLK_GREATER: - case SDLK_RIGHTBRACKET: - case SDLK_KP_MULTIPLY: - new_btn = BUTTON_RIGHT; - break; - case SDLK_PAGEUP: - new_btn = BUTTON_RC_PLAY; - break; - case SDLK_PAGEDOWN: - new_btn = BUTTON_RC_DOWN; - break; - case SDLK_F8: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; -#elif CONFIG_KEYPAD == MROBE100_PAD - case SDLK_F9: - new_btn = BUTTON_RC_HEART; - break; - case SDLK_F10: - new_btn = BUTTON_RC_MODE; - break; - case SDLK_F11: - new_btn = BUTTON_RC_VOL_DOWN; - break; - case SDLK_F12: - new_btn = BUTTON_RC_VOL_UP; - break; - case SDLK_LEFT: - new_btn = BUTTON_RC_FF; - break; - case SDLK_RIGHT: - new_btn = BUTTON_RC_REW; - break; - case SDLK_UP: - new_btn = BUTTON_RC_PLAY; - break; - case SDLK_DOWN: - new_btn = BUTTON_RC_DOWN; - break; - 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: - new_btn = BUTTON_LEFT; - break; - case SDLK_KP6: - new_btn = BUTTON_RIGHT; - break; - case SDLK_KP8: - new_btn = BUTTON_UP; - break; - case SDLK_KP2: - 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 == COWON_D2_PAD - case SDLK_KP_MULTIPLY: - case SDLK_F8: - case SDLK_ESCAPE: - case SDLK_BACKSPACE: - case SDLK_DELETE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_PLUS: - case SDLK_EQUALS: - new_btn = BUTTON_PLUS; - break; - case SDLK_KP_MINUS: - case SDLK_MINUS: - new_btn = BUTTON_MINUS; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - case SDLK_SPACE: - case SDLK_INSERT: - new_btn = BUTTON_MENU; - break; -#elif CONFIG_KEYPAD == IAUDIO67_PAD - case SDLK_UP: - new_btn = BUTTON_RIGHT; - break; - case SDLK_DOWN: - new_btn = BUTTON_LEFT; - break; - case SDLK_LEFT: - new_btn = BUTTON_STOP; - break; - case SDLK_RETURN: - case SDLK_KP_ENTER: - case SDLK_RIGHT: - new_btn = BUTTON_PLAY; - break; - case SDLK_PLUS: - new_btn = BUTTON_VOLUP; - break; - case SDLK_MINUS: - new_btn = BUTTON_VOLDOWN; - break; - case SDLK_SPACE: - new_btn = BUTTON_MENU; - break; - case SDLK_BACKSPACE: - new_btn = BUTTON_POWER; - break; -#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; -#elif CONFIG_KEYPAD == SANSA_FUZE_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_PAGEUP: - case SDLK_KP9: - new_btn = BUTTON_UP; - break; - case SDLK_PAGEDOWN: - case SDLK_KP3: - new_btn = BUTTON_DOWN; - break; - case SDLK_KP_MINUS: - case SDLK_KP1: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_MULTIPLY: - new_btn = BUTTON_HOME; - break; - case SDLK_KP5: - case SDLK_SPACE: - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_SELECT; - break; -#elif CONFIG_KEYPAD == SANSA_CLIP_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_INSERT: - case SDLK_KP_MULTIPLY: - new_btn = BUTTON_HOME; - break; - case SDLK_SPACE: - case SDLK_KP5: - new_btn = BUTTON_SELECT; - break; - case SDLK_PAGEDOWN: - case SDLK_KP3: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_PAGEUP: - case SDLK_KP9: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_ESCAPE: - case SDLK_KP1: - new_btn = BUTTON_POWER; - break; -#elif CONFIG_KEYPAD == SANSA_M200_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_PLUS: - new_btn = BUTTON_POWER; - break; - case SDLK_KP5: - 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 == PHILIPS_SA9200_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_KP1: - new_btn = BUTTON_MENU; - break; - case SDLK_KP5: - case SDLK_SPACE: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP7: - new_btn = BUTTON_PREV; - break; - case SDLK_KP9: - new_btn = BUTTON_NEXT; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_POWER; - break; - case SDLK_PAGEUP: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_PAGEDOWN: - new_btn = BUTTON_VOL_DOWN; - break; -#elif CONFIG_KEYPAD == PHILIPS_HDD1630_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_KP5: - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_KP7: - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP1: - new_btn = BUTTON_PLAYLIST; - break; - case SDLK_KP9: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_KP3: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_KP_MINUS: - new_btn = BUTTON_MENU; - break; - case SDLK_KP_PLUS: - new_btn = BUTTON_VIEW; - break; -#elif CONFIG_KEYPAD == ONDAVX747_PAD - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_PLUS: - case SDLK_PLUS: - case SDLK_GREATER: - case SDLK_RIGHTBRACKET: - case SDLK_KP_MULTIPLY: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_KP_MINUS: - case SDLK_MINUS: - case SDLK_LESS: - case SDLK_LEFTBRACKET: - case SDLK_KP_DIVIDE: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_KP_ENTER: - case SDLK_RETURN: - new_btn = BUTTON_MENU; - break; -#elif CONFIG_KEYPAD == ONDAVX777_PAD - case SDLK_ESCAPE: - new_btn = BUTTON_POWER; - break; -#elif CONFIG_KEYPAD == SAMSUNG_YH_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_KP5: - case SDLK_KP_ENTER: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP9: - case SDLK_PAGEUP: - new_btn = BUTTON_FFWD; - break; -#ifdef SAMSUNG_YH820 - case SDLK_KP7: -#else - case SDLK_KP3: -#endif - case SDLK_PAGEDOWN: - new_btn = BUTTON_REW; - break; - case SDLK_KP_PLUS: - new_btn = BUTTON_REC; - break; -#elif CONFIG_KEYPAD == MINI2440_PAD - /* no keymap, touchscreen */ -#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD - case SDLK_KP4: - case SDLK_LEFT: - new_btn = BUTTON_PREV; - break; - case SDLK_KP6: - case SDLK_RIGHT: - new_btn = BUTTON_NEXT; - 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_KP7: - new_btn = BUTTON_MENU; - break; - case SDLK_KP9: - new_btn = BUTTON_PLAY; - break; - case SDLK_KP5: - new_btn = BUTTON_OK; - break; - case SDLK_KP_DIVIDE: - new_btn = BUTTON_CANCEL; - break; - case SDLK_KP_PLUS: - new_btn = BUTTON_POWER; - break; - case SDLK_KP_MULTIPLY: - new_btn = BUTTON_REC; - break; - -#elif CONFIG_KEYPAD == MPIO_HD200_PAD - case SDLK_UP: - new_btn = BUTTON_PREV; - break; - case SDLK_DOWN: - new_btn = BUTTON_NEXT; - break; - case SDLK_SPACE: - new_btn = BUTTON_SELECT; - break; - case SDLK_RETURN: - new_btn = BUTTON_PLAY; - break; - case SDLK_LEFT: - new_btn = BUTTON_VOL_DOWN; - break; - case SDLK_RIGHT: - new_btn = BUTTON_VOL_UP; - break; - case SDLK_ESCAPE: - new_btn = BUTTON_REC; - break; - -#else -#error No keymap defined! -#endif /* CONFIG_KEYPAD */ case SDLK_KP0: case SDLK_F5: if(pressed) @@ -1416,8 +236,14 @@ static void button_event(int key, bool pressed) return; } break; + default: +#ifdef HAVE_TOUCHSCREEN + new_btn = key_to_touch(key); + if (!new_btn) +#endif + new_btn = key_to_button(key); + break; } - /* Call to make up for scrollwheel target implementation. This is * not handled in the main button.c driver, but on the target * implementation (look at button-e200.c for example if you are trying to @@ -1513,477 +339,3 @@ void button_init_device(void) tick_add_task(mouse_tick_task); #endif } - -/* Button maps: simulated key, x, y, radius, name */ -/* Run sim with --mapping to get coordinates */ -/* or --debugbuttons to check */ -/* The First matching button is returned */ -struct button_map { - int button, x, y, radius; - char *description; -}; - -#ifdef SANSA_FUZE -struct button_map bm[] = { - { SDLK_KP8, 70, 265, 35, "Scroll Back" }, - { SDLK_KP9, 141, 255, 31, "Play" }, - { SDLK_KP_MULTIPLY, 228, 267, 18, "Home" }, - { SDLK_LEFT, 69, 329, 31, "Left" }, - { SDLK_SPACE, 141, 330, 20, "Select" }, - { SDLK_RIGHT, 214, 331, 23, "Right" }, - { SDLK_KP3, 142, 406, 30, "Menu" }, - { SDLK_DOWN, 221, 384, 24, "Scroll Fwd" }, - { SDLK_KP_MINUS, 270, 299, 25, "Power" }, - { SDLK_h, 269, 358, 26, "Hold" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SANSA_CLIP) -struct button_map bm[] = { - { SDLK_KP_MULTIPLY, 165, 158, 17, "Home" }, - { SDLK_KP5, 102, 230, 29, "Select" }, - { SDLK_KP8, 100, 179, 25, "Play" }, - { SDLK_KP4, 53, 231, 21, "Left" }, - { SDLK_KP6, 147, 232, 19, "Right" }, - { SDLK_KP2, 105, 275, 22, "Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SANSA_C200) || defined(SANSA_C200V2) -struct button_map bm[] = { - - { SDLK_KP7, 84, 7, 21, "Vol Down" }, - { SDLK_KP9, 158, 7, 20, "Vol Up" }, - { SDLK_KP1, 173, 130, 27, "Record" }, - { SDLK_KP5, 277, 75, 21, "Select" }, - { SDLK_KP4, 233, 75, 24, "Left" }, - { SDLK_KP6, 313, 74, 18, "Right" }, - { SDLK_KP8, 276, 34, 15, "Play" }, - { SDLK_KP2, 277, 119, 17, "Down" }, - { SDLK_KP3, 314, 113, 19, "Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SANSA_E200V2) || defined(SANSA_E200) -struct button_map bm[] = { - { SDLK_KP7, 5, 92, 18, "Record" }, - { SDLK_KP9, 128, 295, 43, "Play" }, - { SDLK_KP4, 42, 380, 33, "Left" }, - { SDLK_KP5, 129, 378, 36, "Select" }, - { SDLK_KP6, 218, 383, 30, "Right" }, - { SDLK_KP3, 129, 461, 29, "Down" }, - { SDLK_KP1, 55, 464, 20, "Menu" }, - { SDLK_KP8, 92, 338, 17, "Scroll Back" }, - { SDLK_KP2, 167, 342, 17, "Scroll Fwd" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SANSA_M200V4) -struct button_map bm[] = { - { SDLK_KP_PLUS, 54, 14, 16, "Power" }, - { SDLK_KP7, 96, 13, 12, "Vol Down" }, - { SDLK_KP9, 139, 14, 14, "Vol Up" }, - { SDLK_KP5, 260, 82, 20, "Select" }, - { SDLK_KP8, 258, 35, 30, "Play" }, - { SDLK_KP4, 214, 84, 25, "Left" }, - { SDLK_KP6, 300, 83, 24, "Right" }, - { SDLK_KP2, 262, 125, 28, "Repeat" }, - { SDLK_h, 113, 151, 21, "Hold" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IPOD_VIDEO) -struct button_map bm[] = { - { SDLK_KP_PERIOD, 174, 350, 35, "Menu" }, - { SDLK_KP8, 110, 380, 33, "Scroll Back" }, - { SDLK_KP2, 234, 377, 34, "Scroll Fwd" }, - { SDLK_KP4, 78, 438, 47, "Left" }, - { SDLK_KP5, 172, 435, 43, "Select" }, - { SDLK_KP6, 262, 438, 52, "Right" }, - { SDLK_KP_PLUS, 172, 519, 43, "Play" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_MINI) || defined(IPOD_MINI2G) -struct button_map bm[] = { - { SDLK_KP5, 92, 267, 29, "Select" }, - { SDLK_KP4, 31, 263, 37, "Left" }, - { SDLK_KP6, 150, 268, 33, "Right" }, - { SDLK_KP_PERIOD, 93, 209, 30, "Menu" }, - { SDLK_KP_PLUS, 93, 324, 25, "Play" }, - { SDLK_KP8, 53, 220, 29, "Scroll Back" }, - { SDLK_KP2, 134, 219, 31, "Scroll Fwd" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_3G) -struct button_map bm[] = { - { SDLK_KP5, 108, 296, 26, "Select" }, - { SDLK_KP8, 70, 255, 26, "Scroll Back" }, - { SDLK_KP2, 149, 256, 28, "Scroll Fwd" }, - { SDLK_KP4, 27, 186, 22, "Left" }, - { SDLK_KP_PERIOD, 82, 185, 22, "Menu" }, - { SDLK_KP_PERIOD, 133, 185, 21, "Play" }, - { SDLK_KP6, 189, 188, 21, "Right" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_4G) -struct button_map bm[] = { - { SDLK_KP5, 96, 269, 27, "Select" }, - { SDLK_KP4, 39, 267, 30, "Left" }, - { SDLK_KP6, 153, 270, 27, "Right" }, - { SDLK_KP_PERIOD, 96, 219, 30, "Menu" }, - { SDLK_KP_PLUS, 95, 326, 27, "Play" }, - { SDLK_KP8, 57, 233, 29, "Scroll Back" }, - { SDLK_KP2, 132, 226, 29, "Scroll Fwd" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_COLOR) -struct button_map bm[] = { - { SDLK_KP5, 128, 362, 35, "Select" }, - { SDLK_KP4, 55, 358, 38, "Left" }, - { SDLK_KP6, 203, 359, 39, "Right" }, - { SDLK_KP_PERIOD, 128, 282, 34, "Menu" }, - { SDLK_KP_PLUS, 129, 439, 41, "Play" }, - { SDLK_KP8, 76, 309, 34, "Scroll Back" }, - { SDLK_KP2, 182, 311, 45, "Scroll Fwd" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_1G2G) -struct button_map bm[] = { - { SDLK_KP5, 112, 265, 31, "Select" }, - { SDLK_KP8, 74, 224, 28, "Scroll Back" }, - { SDLK_KP2, 146, 228, 28, "Scroll Fwd" }, - /* Dummy button to make crescent shape */ - { SDLK_y, 112, 265, 76, "None" }, - { SDLK_KP8, 74, 224, 28, "Scroll Back" }, - { SDLK_KP2, 146, 228, 28, "Scroll Fwd" }, - { SDLK_KP6, 159, 268, 64, "Right" }, - { SDLK_KP4, 62, 266, 62, "Left" }, - { SDLK_KP_PERIOD, 111, 216, 64, "Menu" }, - { SDLK_KP_PLUS, 111, 326, 55, "Down" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_NANO) -struct button_map bm[] = { - { SDLK_KP5, 98, 316, 37, "Select" }, - { SDLK_KP4, 37, 312, 28, "Left" }, - { SDLK_KP6, 160, 313, 25, "Right" }, - { SDLK_KP_PERIOD,102, 256, 23, "Menu" }, - { SDLK_KP_PLUS, 99, 378, 28, "Play" }, - { SDLK_KP8, 58, 272, 24, "Scroll Back" }, - { SDLK_KP2, 141, 274, 22, "Scroll Fwd" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (IPOD_NANO2G) -struct button_map bm[] = { - { SDLK_KP5, 118, 346, 37, "Select" }, - { SDLK_KP4, 51, 345, 28, "Left" }, - { SDLK_KP6, 180, 346, 26, "Right" }, - { SDLK_KP_PERIOD, 114, 286, 23, "Menu" }, - { SDLK_KP_PLUS, 115, 412, 27, "Down" }, - { SDLK_KP8, 67, 303, 28, "Scroll Back" }, - { SDLK_KP2, 163, 303, 27, "Scroll Fwd" }, - { 0, 0, 0 , 0, "None" } -}; -#elif defined (COWON_D2) -struct button_map bm[] = { - { SDLK_DELETE, 51, 14, 17, "Power" }, - { SDLK_h, 138, 14, 16, "Hold" }, - { SDLK_MINUS, 320, 14, 10, "Minus" }, - { SDLK_INSERT, 347, 13, 13, "Menu" }, - { SDLK_KP_PLUS, 374, 14, 12, "Plus" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IAUDIO_M3) -struct button_map bm[] = { - { SDLK_KP5, 256, 72, 29, "Play" }, - { SDLK_KP6, 255, 137, 28, "Right" }, - { SDLK_KP4, 257, 201, 26, "Left" }, - { SDLK_KP8, 338, 31, 27, "Up" }, - { SDLK_KP2, 339, 92, 23, "Down" }, - { SDLK_KP_PERIOD, 336, 50, 23, "Mode" }, - { SDLK_KP_DIVIDE, 336, 147, 23, "Rec" }, - { SDLK_h, 336, 212, 30, "Hold" }, - /* remote */ - { SDLK_SPACE, 115, 308, 20, "RC Play" }, - { SDLK_RIGHT, 85, 308, 20, "RC Rew" }, - { SDLK_LEFT, 143, 308, 20, "RC FF" }, - { SDLK_UP, 143, 498, 20, "RC Up" }, - { SDLK_DOWN, 85, 498, 20, "RC Down" }, - { SDLK_INSERT, 212, 308, 30, "RC Mode" }, - { SDLK_F1, 275, 308, 25, "RC Rec" }, - { SDLK_KP_ENTER, 115, 498, 20, "RC Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IAUDIO_M5) -struct button_map bm[] = { - { SDLK_KP_ENTER, 333, 41, 17, "Enter" }, - { SDLK_h, 334, 74, 21, "Hold" }, - { SDLK_KP_DIVIDE, 333, 142, 24, "Record" }, - { SDLK_KP_PLUS, 332, 213, 20, "Play" }, - { SDLK_KP5, 250, 291, 19, "Select" }, - { SDLK_KP8, 249, 236, 32, "Up" }, - { SDLK_KP4, 194, 292, 29, "Left" }, - { SDLK_KP6, 297, 290, 27, "Right" }, - { SDLK_KP2, 252, 335, 28, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IAUDIO_7) -struct button_map bm[] = { - { 0, 0, 0, 0, "None" } -}; -#elif defined (IAUDIO_X5) -struct button_map bm[] = { - { SDLK_KP_ENTER, 275, 38, 17, "Power" }, - { SDLK_h, 274, 83, 16, "Hold" }, - { SDLK_KP_DIVIDE, 276, 128, 22, "Record" }, - { SDLK_KP_PLUS, 274, 186, 22, "Play" }, - { SDLK_KP5, 200, 247, 16, "Select" }, - { SDLK_KP8, 200, 206, 16, "Up" }, - { SDLK_KP4, 163, 248, 19, "Left" }, - { SDLK_KP6, 225, 247, 24, "Right" }, - { SDLK_KP2, 199, 279, 20, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (ARCHOS_PLAYER) -struct button_map bm[] = { - { SDLK_KP_PLUS, 79, 252, 23, "On" }, - { SDLK_KP_PERIOD, 81, 310, 20, "Menu" }, - { SDLK_KP8, 154, 237, 28, "Play" }, - { SDLK_KP4, 121, 282, 23, "Left" }, - { SDLK_KP6, 187, 282, 22, "Right" }, - { SDLK_KP2, 157, 312, 20, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (ARCHOS_RECORDER) -struct button_map bm[] = { - { SDLK_F1, 94, 205, 22, "F1" }, - { SDLK_F2, 136, 204, 21, "F2" }, - { SDLK_F3, 174, 204, 24, "F3" }, - { SDLK_KP_PLUS, 75, 258, 19, "On" }, - { SDLK_KP_ENTER, 76, 307, 15, "Off" }, - { SDLK_KP5, 151, 290, 20, "Select" }, - { SDLK_KP8, 152, 251, 23, "Up" }, - { SDLK_KP4, 113, 288, 26, "Left" }, - { SDLK_KP6, 189, 291, 23, "Right" }, - { SDLK_KP2, 150, 327, 27, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (ARCHOS_FMRECORDER) || defined (ARCHOS_RECORDERV2) -struct button_map bm[] = { - { SDLK_F1, 88, 210, 28, "F1" }, - { SDLK_F2, 144, 212, 28, "F2" }, - { SDLK_F3, 197, 212, 28, "F3" }, - { SDLK_KP5, 144, 287, 21, "Select" }, - { SDLK_KP_PLUS, 86, 320, 13, "Menu" }, - { SDLK_KP_ENTER, 114, 347, 13, "Stop" }, - { SDLK_y, 144, 288, 31, "None" }, - { SDLK_KP8, 144, 259, 25, "Up" }, - { SDLK_KP2, 144, 316, 31, "Down" }, - { SDLK_KP6, 171, 287, 32, "Right" }, - { SDLK_KP4, 117, 287, 31, "Left" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (ARCHOS_ONDIOSP) || defined (ARCHOS_ONDIOFM) -struct button_map bm[] = { - { SDLK_KP_ENTER, 75, 23, 30, "Enter" }, - { SDLK_KP8, 75, 174, 33, "KP8" }, - { SDLK_KP4, 26, 186, 48, "KP4" }, - { SDLK_KP6, 118, 196, 32, "KP6" }, - { SDLK_KP2, 75, 234, 16, "KP2" }, - { SDLK_KP_PERIOD, 54, 250, 24, "Period" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IRIVER_H10) -struct button_map bm[] = { - { SDLK_KP_PLUS, 38, 70, 37, "Power" }, - { SDLK_KP4, 123, 194, 26, "Cancel" }, - { SDLK_KP6, 257, 195, 34, "Select" }, - { SDLK_KP8, 190, 221, 28, "Up" }, - { SDLK_KP2, 192, 320, 27, "Down" }, - { SDLK_KP_DIVIDE, 349, 49, 20, "Rew" }, - { SDLK_KP5, 349, 96, 20, "Play" }, - { SDLK_KP_MULTIPLY, 350, 141, 23, "FF" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IRIVER_H10_5GB) -struct button_map bm[] = { - { SDLK_KP_PLUS, 34, 76, 23, "Power" }, - { SDLK_KP4, 106, 222, 28, "Cancel" }, - { SDLK_KP6, 243, 220, 31, "Select" }, - { SDLK_KP8, 176, 254, 34, "Up" }, - { SDLK_KP2, 175, 371, 35, "Down" }, - { SDLK_KP_DIVIDE, 319, 63, 26, "Rew" }, - { SDLK_KP5, 320, 124, 26, "Play" }, - { SDLK_KP_MULTIPLY, 320, 181, 32, "FF" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IRIVER_H120) || defined (IRIVER_H100) -struct button_map bm[] = { - { SDLK_KP_DIVIDE, 46, 162, 13, "Record" }, - { SDLK_KP_PLUS, 327, 36, 16, "Play" }, - { SDLK_KP_ENTER, 330, 99, 18, "Stop" }, - { SDLK_KP_PERIOD, 330, 163, 18, "AB" }, - { SDLK_KP5, 186, 227, 27, "5" }, - { SDLK_KP8, 187, 185, 19, "8" }, - { SDLK_KP4, 142, 229, 23, "4" }, - { SDLK_KP6, 231, 229, 22, "6" }, - { SDLK_KP2, 189, 272, 28, "2" }, -/* Remote Buttons */ - { SDLK_KP_ENTER, 250, 404, 20, "Stop" }, - { SDLK_SPACE, 285, 439, 29, "Space" }, - { SDLK_h, 336, 291, 24, "Hold" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (IRIVER_H300) -struct button_map bm[] = { - { SDLK_KP_PLUS, 56, 335, 20, "Play" }, - { SDLK_KP8, 140, 304, 29, "Up" }, - { SDLK_KP_DIVIDE, 233, 331, 23, "Record" }, - { SDLK_KP_ENTER, 54, 381, 24, "Stop" }, - { SDLK_KP4, 100, 353, 17, "Left" }, - { SDLK_KP5, 140, 351, 19, "Navi" }, - { SDLK_KP6, 185, 356, 19, "Right" }, - { SDLK_KP_PERIOD, 230, 380, 20, "AB" }, - { SDLK_KP2, 142, 402, 24, "Down" }, - { SDLK_KP_ENTER, 211, 479, 21, "Stop" }, - { SDLK_KP_PLUS, 248, 513, 29, "Play" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (MROBE_500) -struct button_map bm[] = { - { SDLK_KP9, 171, 609, 9, "Play" }, - { SDLK_KP4, 158, 623, 9, "Left" }, - { SDLK_KP6, 184, 622, 9, "Right" }, - { SDLK_KP7, 171, 638, 11, "Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (MROBE_100) -struct button_map bm[] = { - { SDLK_KP7, 80, 233, 30, "Menu" }, - { SDLK_KP8, 138, 250, 19, "Up" }, - { SDLK_KP9, 201, 230, 27, "Play" }, - { SDLK_KP4, 63, 305, 25, "Left" }, - { SDLK_KP5, 125, 309, 28, "Select" }, - { SDLK_KP6, 200, 307, 35, "Right" }, - { SDLK_KP1, 52, 380, 32, "Display" }, - { SDLK_KP2, 125, 363, 30, "Down" }, - { SDLK_KP9, 168, 425, 10, "Play" }, - { SDLK_KP4, 156, 440, 11, "Left" }, - { SDLK_KP6, 180, 440, 13, "Right" }, - { SDLK_KP7, 169, 452, 10, "Menu" }, - { SDLK_KP_MULTIPLY, 222, 15, 16, "Power" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (GIGABEAT_F) -struct button_map bm[] = { - { SDLK_KP_PLUS, 361, 187, 22, "Power" }, - { SDLK_KP_PERIOD, 361, 270, 17, "Menu" }, - { SDLK_KP9, 365, 345, 26, "Vol Up" }, - { SDLK_KP3, 363, 433, 25, "Vol Down" }, - { SDLK_KP_ENTER, 365, 520, 19, "A" }, - { SDLK_KP8, 167, 458, 35, "Up" }, - { SDLK_KP4, 86, 537, 29, "Left" }, - { SDLK_KP5, 166, 536, 30, "Select" }, - { SDLK_KP6, 248, 536, 30, "Right" }, - { SDLK_KP2, 169, 617, 28, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (GIGABEAT_S) -struct button_map bm[] = { - { SDLK_KP_PLUS, 416, 383, 23, "Play" }, - { SDLK_KP7, 135, 442, 46, "Back" }, - { SDLK_KP9, 288, 447, 35, "Menu" }, - { SDLK_KP8, 214, 480, 32, "Up" }, - { SDLK_KP4, 128, 558, 33, "Left" }, - { SDLK_KP5, 214, 556, 34, "Select" }, - { SDLK_KP6, 293, 558, 35, "Right" }, - { SDLK_KP2, 214, 637, 38, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SAMSUNG_YH820) -struct button_map bm[] = { - { SDLK_KP_PLUS, 330, 53, 23, "Record" }, - { SDLK_KP7, 132, 208, 21, "Left" }, - { SDLK_KP5, 182, 210, 18, "Play" }, - { SDLK_KP9, 234, 211, 22, "Right" }, - { SDLK_KP8, 182, 260, 15, "Up" }, - { SDLK_KP4, 122, 277, 29, "Menu" }, - { SDLK_KP6, 238, 276, 25, "Select" }, - { SDLK_KP2, 183, 321, 24, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (SAMSUNG_YH920) || defined (SAMSUNG_YH925) -struct button_map bm[] = { - { SDLK_KP9, 370, 32, 15, "FF" }, - { SDLK_KP5, 369, 84, 25, "Play" }, - { SDLK_KP5, 367, 125, 27, "Play" }, - { SDLK_KP3, 369, 188, 17, "Rew" }, - { SDLK_KP_PLUS, 370, 330, 30, "Record" }, - { SDLK_KP4, 146, 252, 32, "Menu" }, - { SDLK_KP8, 204, 226, 27, "Up" }, - { SDLK_KP6, 257, 250, 34, "Select" }, - { SDLK_KP2, 205, 294, 35, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (ONDA_VX747) || defined (ONDA_VX747P) -struct button_map bm[] = { - { SDLK_MINUS, 113, 583, 28, "Minus" }, - { SDLK_PLUS, 227, 580, 28, "Plus" }, - { SDLK_RETURN, 171, 583, 34, "Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (PHILIPS_SA9200) -struct button_map bm[] = { - { SDLK_KP_ENTER, 25, 155, 33, "Power" }, - { SDLK_PAGEUP, 210, 98, 31, "Vol Up" }, - { SDLK_PAGEDOWN, 210, 168, 34, "Vol Down" }, - { SDLK_KP7, 40, 249, 26, "Prev" }, - { SDLK_KP8, 110, 247, 22, "Up" }, - { SDLK_KP9, 183, 249, 31, "Next" }, - { SDLK_KP4, 45, 305, 25, "Left" }, - { SDLK_KP5, 111, 304, 24, "Play" }, - { SDLK_KP6, 183, 304, 21, "Right" }, - { SDLK_KP1, 43, 377, 21, "Menu" }, - { SDLK_KP2, 112, 371, 24, "Down" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (CREATIVE_ZVM) || defined (CREATIVE_ZVM60GB) || \ - defined (CREATIVE_ZV) -struct button_map bm[] = { - { SDLK_KP7, 52, 414, 35, "Custom" }, - { SDLK_KP8, 185, 406, 55, "Up" }, - { SDLK_KP9, 315, 421, 46, "Play" }, - { SDLK_KP4, 122, 500, 41, "Left" }, - { SDLK_KP6, 247, 493, 49, "Right" }, - { SDLK_KP1, 58, 577, 49, "Back" }, - { SDLK_KP2, 186, 585, 46, "Down" }, - { SDLK_KP3, 311, 569, 47, "Menu" }, - { 0, 0, 0, 0, "None" } -}; -#elif defined (MPIO_HD200) -struct button_map bm[] = { - { SDLK_ESCAPE, 369, 257, 20, "Rec" }, - { SDLK_RETURN, 369, 305, 20, "Play/Stop" }, - { SDLK_UP, 353, 168, 10, "Rew" }, - { SDLK_DOWN, 353, 198, 10, "FF" }, - { SDLK_SPACE, 353, 186, 10, "Select" }, - { SDLK_LEFT, 123, 67, 20, "Vol Down" }, - { SDLK_RIGHT, 206, 67, 20, "Vol Up" }, - { SDLK_h, 369, 402, 30, "Hold" }, - { 0, 0, 0, 0, "None" } -}; -#else -struct button_map bm[] = { - { 0, 0, 0, 0, ""} -}; -#endif - -static int xy2button( int x, int y) -{ - int i; - extern bool debug_buttons; - - for ( i = 0; bm[i].button; i++ ) - /* check distance from center of button < radius */ - if ( ( (x-bm[i].x)*(x-bm[i].x) ) + ( ( y-bm[i].y)*(y-bm[i].y) ) < bm[i].radius*bm[i].radius ) { - if (debug_buttons) - printf("Button: %s\n", bm[i].description ); - return bm[i].button; - } - return 0; -} diff --git a/uisimulator/buttonmap/SOURCES b/uisimulator/buttonmap/SOURCES new file mode 100644 index 0000000000..4d99093e7d --- /dev/null +++ b/uisimulator/buttonmap/SOURCES @@ -0,0 +1,68 @@ +#ifdef SIMULATOR +buttonmaps.c +#ifdef HAVE_TOUCHSCREEN +touchscreen.c +#endif +#if CONFIG_KEYPAD == GIGABEAT_PAD +gigabeat.c +#elif CONFIG_KEYPAD == GIGABEAT_S_PAD +gigabeat-s.c +#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD +iaudio-x5m5.c +#elif CONFIG_KEYPAD == IAUDIO_M3_PAD +iaudio-m3.c +#elif (CONFIG_KEYPAD == IPOD_1G2G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) \ + || (CONFIG_KEYPAD == IPOD_4G_PAD) +ipod.c +#elif CONFIG_KEYPAD == IRIVER_H10_PAD +iriver-h10.c +#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) +iriver-h100_h300.c +#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD +iriver-ifp7xx.c +#elif CONFIG_KEYPAD == ONDIO_PAD +archos-ondio.c +#elif CONFIG_KEYPAD == PLAYER_PAD +archos-player.c +#elif CONFIG_KEYPAD == RECORDER_PAD +archos-recorder.c +#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD +archos-av300.c +#elif CONFIG_KEYPAD == SANSA_C200_PAD +sansa-c200.c +#elif CONFIG_KEYPAD == SANSA_CLIP_PAD +sansa-clip.c +#elif CONFIG_KEYPAD == SANSA_E200_PAD +sansa-e200.c +#elif CONFIG_KEYPAD == SANSA_FUZE_PAD +sansa-fuze.c +#elif CONFIG_KEYPAD == SANSA_M200_PAD +sansa-m200.c +#elif CONFIG_KEYPAD == MROBE500_PAD +mrobe500.c +#elif CONFIG_KEYPAD == MROBE100_PAD +mrobe100.c +#elif CONFIG_KEYPAD == COWON_D2_PAD +cowon-d2.c +#elif CONFIG_KEYPAD == IAUDIO67_PAD +iaudio-6_7.c +#elif CONFIG_KEYPAD == CREATIVEZVM_PAD +creative-zvm.c +#elif CONFIG_KEYPAD == MEIZU_M6SL_PAD +meizu-m6sl.c +#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD +gogear-sa9200.c +#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD +gogear-hdd1630.c +#elif CONFIG_KEYPAD == ONDAVX747_PAD +onda-vx747.c +#elif CONFIG_KEYPAD == ONDAVX777_PAD +onda-vx777.c +#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD +samsung-yh820_yh925.c +#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD +pbell-vibe500.c +#elif CONFIG_KEYPAD == MPIO_HD200_PAD +mpio-hd200.c +#endif +#endif /* SIMULATOR */ diff --git a/uisimulator/buttonmap/archos-av300.c b/uisimulator/buttonmap/archos-av300.c new file mode 100644 index 0000000000..5f09f7fc3e --- /dev/null +++ b/uisimulator/buttonmap/archos-av300.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 Dave Chapman + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; + diff --git a/uisimulator/buttonmap/archos-ondio.c b/uisimulator/buttonmap/archos-ondio.c new file mode 100644 index 0000000000..f92715ced8 --- /dev/null +++ b/uisimulator/buttonmap/archos-ondio.c @@ -0,0 +1,69 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Dan Everton + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_ENTER, 75, 23, 30, "Enter" }, + { SDLK_KP8, 75, 174, 33, "KP8" }, + { SDLK_KP4, 26, 186, 48, "KP4" }, + { SDLK_KP6, 118, 196, 32, "KP6" }, + { SDLK_KP2, 75, 234, 16, "KP2" }, + { SDLK_KP_PERIOD, 54, 250, 24, "Period" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/archos-player.c b/uisimulator/buttonmap/archos-player.c new file mode 100644 index 0000000000..3524e7b243 --- /dev/null +++ b/uisimulator/buttonmap/archos-player.c @@ -0,0 +1,68 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Dan Everton + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_PLUS, 79, 252, 23, "On" }, + { SDLK_KP_PERIOD, 81, 310, 20, "Menu" }, + { SDLK_KP8, 154, 237, 28, "Play" }, + { SDLK_KP4, 121, 282, 23, "Left" }, + { SDLK_KP6, 187, 282, 22, "Right" }, + { SDLK_KP2, 157, 312, 20, "Down" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/archos-recorder.c b/uisimulator/buttonmap/archos-recorder.c new file mode 100644 index 0000000000..cdf98c0814 --- /dev/null +++ b/uisimulator/buttonmap/archos-recorder.c @@ -0,0 +1,104 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Dan Everton + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "config.h" +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (ARCHOS_RECORDER) + { SDLK_F1, 94, 205, 22, "F1" }, + { SDLK_F2, 136, 204, 21, "F2" }, + { SDLK_F3, 174, 204, 24, "F3" }, + { SDLK_KP_PLUS, 75, 258, 19, "On" }, + { SDLK_KP_ENTER, 76, 307, 15, "Off" }, + { SDLK_KP5, 151, 290, 20, "Select" }, + { SDLK_KP8, 152, 251, 23, "Up" }, + { SDLK_KP4, 113, 288, 26, "Left" }, + { SDLK_KP6, 189, 291, 23, "Right" }, + { SDLK_KP2, 150, 327, 27, "Down" }, +#elif defined (ARCHOS_FMRECORDER) || defined (ARCHOS_RECORDERV2) + { SDLK_F1, 88, 210, 28, "F1" }, + { SDLK_F2, 144, 212, 28, "F2" }, + { SDLK_F3, 197, 212, 28, "F3" }, + { SDLK_KP5, 144, 287, 21, "Select" }, + { SDLK_KP_PLUS, 86, 320, 13, "Menu" }, + { SDLK_KP_ENTER, 114, 347, 13, "Stop" }, + { SDLK_y, 144, 288, 31, "None" }, + { SDLK_KP8, 144, 259, 25, "Up" }, + { SDLK_KP2, 144, 316, 31, "Down" }, + { SDLK_KP6, 171, 287, 32, "Right" }, +#endif + { SDLK_KP4, 117, 287, 31, "Left" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/buttonmap.h b/uisimulator/buttonmap/buttonmap.h new file mode 100644 index 0000000000..d5b951af9b --- /dev/null +++ b/uisimulator/buttonmap/buttonmap.h @@ -0,0 +1,42 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Fred Bauer + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef __BUTTONMAP_H__ +#define __BUTTONMAP_H__ +/* Button maps: simulated key, x, y, radius, name */ +/* Run sim with --mapping to get coordinates */ +/* or --debugbuttons to check */ +/* The First matching button is returned */ +struct button_map { + int button, x, y, radius; + char *description; +}; + +extern struct button_map bm[]; + +int xy2button( int x, int y); + +int key_to_button(int keyboard_button); +#ifdef HAVE_TOUCHSCREEN +int key_to_touch(int keyboard_button); +#endif + +#endif /* __BUTTONMAP_H__ */ diff --git a/uisimulator/buttonmap/buttonmaps.c b/uisimulator/buttonmap/buttonmaps.c new file mode 100644 index 0000000000..b015a26020 --- /dev/null +++ b/uisimulator/buttonmap/buttonmaps.c @@ -0,0 +1,40 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 by Fred Bauer + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include +#include "buttonmap.h" +#include "config.h" + +int xy2button( int x, int y) +{ + int i; + extern bool debug_buttons; + + for ( i = 0; bm[i].button; i++ ) + /* check distance from center of button < radius */ + if ( ( (x-bm[i].x)*(x-bm[i].x) ) + ( ( y-bm[i].y)*(y-bm[i].y) ) < bm[i].radius*bm[i].radius ) { + if (debug_buttons) + printf("Button: %s\n", bm[i].description ); + return bm[i].button; + } + return 0; +} diff --git a/uisimulator/buttonmap/cowon-d2.c b/uisimulator/buttonmap/cowon-d2.c new file mode 100644 index 0000000000..f08905e648 --- /dev/null +++ b/uisimulator/buttonmap/cowon-d2.c @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Rob Purchase + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP_MULTIPLY: + case SDLK_F8: + case SDLK_ESCAPE: + case SDLK_BACKSPACE: + case SDLK_DELETE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP_PLUS: + case SDLK_EQUALS: + new_btn = BUTTON_PLUS; + break; + case SDLK_KP_MINUS: + case SDLK_MINUS: + new_btn = BUTTON_MINUS; + break; + case SDLK_KP_ENTER: + case SDLK_RETURN: + case SDLK_SPACE: + case SDLK_INSERT: + new_btn = BUTTON_MENU; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_DELETE, 51, 14, 17, "Power" }, + { SDLK_h, 138, 14, 16, "Hold" }, + { SDLK_MINUS, 320, 14, 10, "Minus" }, + { SDLK_INSERT, 347, 13, 13, "Menu" }, + { SDLK_KP_PLUS, 374, 14, 12, "Plus" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/creative-zv.c b/uisimulator/buttonmap/creative-zv.c new file mode 100644 index 0000000000..2adc9380e4 --- /dev/null +++ b/uisimulator/buttonmap/creative-zv.c @@ -0,0 +1,92 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Maurus Cuelenaere + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP7, 52, 414, 35, "Custom" }, + { SDLK_KP8, 185, 406, 55, "Up" }, + { SDLK_KP9, 315, 421, 46, "Play" }, + { SDLK_KP4, 122, 500, 41, "Left" }, + { SDLK_KP6, 247, 493, 49, "Right" }, + { SDLK_KP1, 58, 577, 49, "Back" }, + { SDLK_KP2, 186, 585, 46, "Down" }, + { SDLK_KP3, 311, 569, 47, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/creative-zvm.c b/uisimulator/buttonmap/creative-zvm.c new file mode 100644 index 0000000000..0efbcccc98 --- /dev/null +++ b/uisimulator/buttonmap/creative-zvm.c @@ -0,0 +1,83 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Maurus Cuelenaere + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP7, 52, 414, 35, "Custom" }, + { SDLK_KP8, 185, 406, 55, "Up" }, + { SDLK_KP9, 315, 421, 46, "Play" }, + { SDLK_KP4, 122, 500, 41, "Left" }, + { SDLK_KP6, 247, 493, 49, "Right" }, + { SDLK_KP1, 58, 577, 49, "Back" }, + { SDLK_KP2, 186, 585, 46, "Down" }, + { SDLK_KP3, 311, 569, 47, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/gigabeat-s.c b/uisimulator/buttonmap/gigabeat-s.c new file mode 100644 index 0000000000..98a8489446 --- /dev/null +++ b/uisimulator/buttonmap/gigabeat-s.c @@ -0,0 +1,79 @@ +n/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Will Robertson + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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: + case SDLK_KP_PERIOD: + case SDLK_INSERT: + new_btn = BUTTON_MENU; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_PLUS, 416, 383, 23, "Play" }, + { SDLK_KP7, 135, 442, 46, "Back" }, + { SDLK_KP9, 288, 447, 35, "Menu" }, + { SDLK_KP8, 214, 480, 32, "Up" }, + { SDLK_KP4, 128, 558, 33, "Left" }, + { SDLK_KP5, 214, 556, 34, "Select" }, + { SDLK_KP6, 293, 558, 35, "Right" }, + { SDLK_KP2, 214, 637, 38, "Down" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/gigabeat.c b/uisimulator/buttonmap/gigabeat.c new file mode 100644 index 0000000000..02055cf0b9 --- /dev/null +++ b/uisimulator/buttonmap/gigabeat.c @@ -0,0 +1,90 @@ +n/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_POWER; + break; + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP_ENTER: + case SDLK_RETURN: + case SDLK_a: + new_btn = BUTTON_A; + break; + case SDLK_KP5: + case SDLK_SPACE: + new_btn = BUTTON_SELECT; + break; + case SDLK_KP_PERIOD: + case SDLK_INSERT: + new_btn = BUTTON_MENU; + break; + case SDLK_KP9: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP3: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_PLUS, 361, 187, 22, "Power" }, + { SDLK_KP_PERIOD, 361, 270, 17, "Menu" }, + { SDLK_KP9, 365, 345, 26, "Vol Up" }, + { SDLK_KP3, 363, 433, 25, "Vol Down" }, + { SDLK_KP_ENTER, 365, 520, 19, "A" }, + { SDLK_KP8, 167, 458, 35, "Up" }, + { SDLK_KP4, 86, 537, 29, "Left" }, + { SDLK_KP5, 166, 536, 30, "Select" }, + { SDLK_KP6, 248, 536, 30, "Right" }, + { SDLK_KP2, 169, 617, 28, "Down" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/gogear-hdd1630.c b/uisimulator/buttonmap/gogear-hdd1630.c new file mode 100644 index 0000000000..fea4e56a9f --- /dev/null +++ b/uisimulator/buttonmap/gogear-hdd1630.c @@ -0,0 +1,77 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_KP7: + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP1: + new_btn = BUTTON_PLAYLIST; + break; + case SDLK_KP9: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP3: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_KP_MINUS: + new_btn = BUTTON_MENU; + break; + case SDLK_KP_PLUS: + new_btn = BUTTON_VIEW; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/gogear-sa9200.c b/uisimulator/buttonmap/gogear-sa9200.c new file mode 100644 index 0000000000..ef06f0dd28 --- /dev/null +++ b/uisimulator/buttonmap/gogear-sa9200.c @@ -0,0 +1,88 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_KP1: + new_btn = BUTTON_MENU; + break; + case SDLK_KP5: + case SDLK_SPACE: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP7: + new_btn = BUTTON_PREV; + break; + case SDLK_KP9: + new_btn = BUTTON_NEXT; + break; + case SDLK_KP_ENTER: + case SDLK_RETURN: + new_btn = BUTTON_POWER; + break; + case SDLK_PAGEUP: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_PAGEDOWN: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_ENTER, 25, 155, 33, "Power" }, + { SDLK_PAGEUP, 210, 98, 31, "Vol Up" }, + { SDLK_PAGEDOWN, 210, 168, 34, "Vol Down" }, + { SDLK_KP7, 40, 249, 26, "Prev" }, + { SDLK_KP8, 110, 247, 22, "Up" }, + { SDLK_KP9, 183, 249, 31, "Next" }, + { SDLK_KP4, 45, 305, 25, "Left" }, + { SDLK_KP5, 111, 304, 24, "Play" }, + { SDLK_KP6, 183, 304, 21, "Right" }, + { SDLK_KP1, 43, 377, 21, "Menu" }, + { SDLK_KP2, 112, 371, 24, "Down" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/iaudio-6_7.c b/uisimulator/buttonmap/iaudio-6_7.c new file mode 100644 index 0000000000..82ec78ce99 --- /dev/null +++ b/uisimulator/buttonmap/iaudio-6_7.c @@ -0,0 +1,64 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Vitja Makarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_UP: + new_btn = BUTTON_RIGHT; + break; + case SDLK_DOWN: + new_btn = BUTTON_LEFT; + break; + case SDLK_LEFT: + new_btn = BUTTON_STOP; + break; + case SDLK_RETURN: + case SDLK_KP_ENTER: + case SDLK_RIGHT: + new_btn = BUTTON_PLAY; + break; + case SDLK_PLUS: + new_btn = BUTTON_VOLUP; + break; + case SDLK_MINUS: + new_btn = BUTTON_VOLDOWN; + break; + case SDLK_SPACE: + new_btn = BUTTON_MENU; + break; + case SDLK_BACKSPACE: + new_btn = BUTTON_POWER; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/iaudio-x5_m5.c b/uisimulator/buttonmap/iaudio-x5_m5.c new file mode 100644 index 0000000000..9bab1df94b --- /dev/null +++ b/uisimulator/buttonmap/iaudio-x5_m5.c @@ -0,0 +1,96 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "config.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_ESCAPE: + new_btn = BUTTON_POWER; + break; + 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; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (IAUDIO_M5) + { SDLK_KP_ENTER, 333, 41, 17, "Enter" }, + { SDLK_h, 334, 74, 21, "Hold" }, + { SDLK_KP_DIVIDE, 333, 142, 24, "Record" }, + { SDLK_KP_PLUS, 332, 213, 20, "Play" }, + { SDLK_KP5, 250, 291, 19, "Select" }, + { SDLK_KP8, 249, 236, 32, "Up" }, + { SDLK_KP4, 194, 292, 29, "Left" }, + { SDLK_KP6, 297, 290, 27, "Right" }, + { SDLK_KP2, 252, 335, 28, "Down" }, +#elif defined (IAUDIO_X5) + { SDLK_KP_ENTER, 275, 38, 17, "Power" }, + { SDLK_h, 274, 83, 16, "Hold" }, + { SDLK_KP_DIVIDE, 276, 128, 22, "Record" }, + { SDLK_KP_PLUS, 274, 186, 22, "Play" }, + { SDLK_KP5, 200, 247, 16, "Select" }, + { SDLK_KP8, 200, 206, 16, "Up" }, + { SDLK_KP4, 163, 248, 19, "Left" }, + { SDLK_KP6, 225, 247, 24, "Right" }, + { SDLK_KP2, 199, 279, 20, "Down" }, +#endif + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/iaudo-m3.c b/uisimulator/buttonmap/iaudo-m3.c new file mode 100644 index 0000000000..1ab1392f47 --- /dev/null +++ b/uisimulator/buttonmap/iaudo-m3.c @@ -0,0 +1,101 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 by Jens Arnold + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP4: + new_btn = BUTTON_LEFT; + break; + case SDLK_LEFT: + new_btn = BUTTON_RC_REW; + break; + case SDLK_KP6: + new_btn = BUTTON_RIGHT; + break; + case SDLK_RIGHT: + new_btn = BUTTON_RC_FF; + break; + case SDLK_KP8: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_UP: + new_btn = BUTTON_RC_VOL_UP; + break; + case SDLK_KP2: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_DOWN: + new_btn = BUTTON_RC_VOL_DOWN; + break; + case SDLK_KP_PERIOD: + new_btn = BUTTON_MODE; + break; + case SDLK_INSERT: + new_btn = BUTTON_RC_MODE; + break; + case SDLK_KP_DIVIDE: + new_btn = BUTTON_REC; + break; + case SDLK_F1: + new_btn = BUTTON_RC_REC; + break; + case SDLK_KP5: + new_btn = BUTTON_PLAY; + break; + case SDLK_SPACE: + new_btn = BUTTON_RC_PLAY; + break; + case SDLK_KP_ENTER: + case SDLK_RETURN: + new_btn = BUTTON_RC_MENU; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP5, 256, 72, 29, "Play" }, + { SDLK_KP6, 255, 137, 28, "Right" }, + { SDLK_KP4, 257, 201, 26, "Left" }, + { SDLK_KP8, 338, 31, 27, "Up" }, + { SDLK_KP2, 339, 92, 23, "Down" }, + { SDLK_KP_PERIOD, 336, 50, 23, "Mode" }, + { SDLK_KP_DIVIDE, 336, 147, 23, "Rec" }, + { SDLK_h, 336, 212, 30, "Hold" }, + /* remote */ + { SDLK_SPACE, 115, 308, 20, "RC Play" }, + { SDLK_RIGHT, 85, 308, 20, "RC Rew" }, + { SDLK_LEFT, 143, 308, 20, "RC FF" }, + { SDLK_UP, 143, 498, 20, "RC Up" }, + { SDLK_DOWN, 85, 498, 20, "RC Down" }, + { SDLK_INSERT, 212, 308, 30, "RC Mode" }, + { SDLK_F1, 275, 308, 25, "RC Rec" }, + { SDLK_KP_ENTER, 115, 498, 20, "RC Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/ipod.c b/uisimulator/buttonmap/ipod.c new file mode 100644 index 0000000000..504b77b8dd --- /dev/null +++ b/uisimulator/buttonmap/ipod.c @@ -0,0 +1,136 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "config.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_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; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (IPOD_VIDEO) + { SDLK_KP_PERIOD, 174, 350, 35, "Menu" }, + { SDLK_KP8, 110, 380, 33, "Scroll Back" }, + { SDLK_KP2, 234, 377, 34, "Scroll Fwd" }, + { SDLK_KP4, 78, 438, 47, "Left" }, + { SDLK_KP5, 172, 435, 43, "Select" }, + { SDLK_KP6, 262, 438, 52, "Right" }, + { SDLK_KP_PLUS, 172, 519, 43, "Play" }, +#elif defined (IPOD_MINI) || defined(IPOD_MINI2G) + { SDLK_KP5, 92, 267, 29, "Select" }, + { SDLK_KP4, 31, 263, 37, "Left" }, + { SDLK_KP6, 150, 268, 33, "Right" }, + { SDLK_KP_PERIOD, 93, 209, 30, "Menu" }, + { SDLK_KP_PLUS, 93, 324, 25, "Play" }, + { SDLK_KP8, 53, 220, 29, "Scroll Back" }, + { SDLK_KP2, 134, 219, 31, "Scroll Fwd" }, +#elif defined (IPOD_3G) + { SDLK_KP5, 108, 296, 26, "Select" }, + { SDLK_KP8, 70, 255, 26, "Scroll Back" }, + { SDLK_KP2, 149, 256, 28, "Scroll Fwd" }, + { SDLK_KP4, 27, 186, 22, "Left" }, + { SDLK_KP_PERIOD, 82, 185, 22, "Menu" }, + { SDLK_KP_PERIOD, 133, 185, 21, "Play" }, + { SDLK_KP6, 189, 188, 21, "Right" }, +#elif defined (IPOD_4G) + { SDLK_KP5, 96, 269, 27, "Select" }, + { SDLK_KP4, 39, 267, 30, "Left" }, + { SDLK_KP6, 153, 270, 27, "Right" }, + { SDLK_KP_PERIOD, 96, 219, 30, "Menu" }, + { SDLK_KP_PLUS, 95, 326, 27, "Play" }, + { SDLK_KP8, 57, 233, 29, "Scroll Back" }, + { SDLK_KP2, 132, 226, 29, "Scroll Fwd" }, +#elif defined (IPOD_COLOR) + { SDLK_KP5, 128, 362, 35, "Select" }, + { SDLK_KP4, 55, 358, 38, "Left" }, + { SDLK_KP6, 203, 359, 39, "Right" }, + { SDLK_KP_PERIOD, 128, 282, 34, "Menu" }, + { SDLK_KP_PLUS, 129, 439, 41, "Play" }, + { SDLK_KP8, 76, 309, 34, "Scroll Back" }, + { SDLK_KP2, 182, 311, 45, "Scroll Fwd" }, +#elif defined (IPOD_1G2G) + { SDLK_KP5, 112, 265, 31, "Select" }, + { SDLK_KP8, 74, 224, 28, "Scroll Back" }, + { SDLK_KP2, 146, 228, 28, "Scroll Fwd" }, + /* Dummy button to make crescent shape */ + { SDLK_y, 112, 265, 76, "None" }, + { SDLK_KP8, 74, 224, 28, "Scroll Back" }, + { SDLK_KP2, 146, 228, 28, "Scroll Fwd" }, + { SDLK_KP6, 159, 268, 64, "Right" }, + { SDLK_KP4, 62, 266, 62, "Left" }, + { SDLK_KP_PERIOD, 111, 216, 64, "Menu" }, + { SDLK_KP_PLUS, 111, 326, 55, "Down" }, +#elif defined (IPOD_NANO) + { SDLK_KP5, 98, 316, 37, "Select" }, + { SDLK_KP4, 37, 312, 28, "Left" }, + { SDLK_KP6, 160, 313, 25, "Right" }, + { SDLK_KP_PERIOD,102, 256, 23, "Menu" }, + { SDLK_KP_PLUS, 99, 378, 28, "Play" }, + { SDLK_KP8, 58, 272, 24, "Scroll Back" }, + { SDLK_KP2, 141, 274, 22, "Scroll Fwd" }, +#elif defined (IPOD_NANO2G) + { SDLK_KP5, 118, 346, 37, "Select" }, + { SDLK_KP4, 51, 345, 28, "Left" }, + { SDLK_KP6, 180, 346, 26, "Right" }, + { SDLK_KP_PERIOD, 114, 286, 23, "Menu" }, + { SDLK_KP_PLUS, 115, 412, 27, "Down" }, + { SDLK_KP8, 67, 303, 28, "Scroll Back" }, + { SDLK_KP2, 163, 303, 27, "Scroll Fwd" }, +#endif + { 0, 0, 0 , 0, "None" } +}; diff --git a/uisimulator/buttonmap/iriver-h10.c b/uisimulator/buttonmap/iriver-h10.c new file mode 100644 index 0000000000..24dbe83192 --- /dev/null +++ b/uisimulator/buttonmap/iriver-h10.c @@ -0,0 +1,92 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include "config.h" +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_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: + case SDLK_F1: + new_btn = BUTTON_REW; + break; + case SDLK_KP_MULTIPLY: + case SDLK_F2: + new_btn = BUTTON_FF; + break; + case SDLK_KP5: + case SDLK_SPACE: + new_btn = BUTTON_PLAY; + break; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (IRIVER_H10) + { SDLK_KP_PLUS, 38, 70, 37, "Power" }, + { SDLK_KP4, 123, 194, 26, "Cancel" }, + { SDLK_KP6, 257, 195, 34, "Select" }, + { SDLK_KP8, 190, 221, 28, "Up" }, + { SDLK_KP2, 192, 320, 27, "Down" }, + { SDLK_KP_DIVIDE, 349, 49, 20, "Rew" }, + { SDLK_KP5, 349, 96, 20, "Play" }, + { SDLK_KP_MULTIPLY, 350, 141, 23, "FF" }, +#elif defined (IRIVER_H10_5GB) + { SDLK_KP_PLUS, 34, 76, 23, "Power" }, + { SDLK_KP4, 106, 222, 28, "Cancel" }, + { SDLK_KP6, 243, 220, 31, "Select" }, + { SDLK_KP8, 176, 254, 34, "Up" }, + { SDLK_KP2, 175, 371, 35, "Down" }, + { SDLK_KP_DIVIDE, 319, 63, 26, "Rew" }, + { SDLK_KP5, 320, 124, 26, "Play" }, + { SDLK_KP_MULTIPLY, 320, 181, 32, "FF" }, +#endif + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/iriver-h100_h300.c b/uisimulator/buttonmap/iriver-h100_h300.c new file mode 100644 index 0000000000..5e4ad3bafc --- /dev/null +++ b/uisimulator/buttonmap/iriver-h100_h300.c @@ -0,0 +1,124 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Dan Everton + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include +#include "config.h" +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_t: + if(pressed) + switch(_remote_type) + { + case REMOTETYPE_UNPLUGGED: + _remote_type=REMOTETYPE_H100_LCD; + DEBUGF("Changed remote type to H100\n"); + break; + case REMOTETYPE_H100_LCD: + _remote_type=REMOTETYPE_H300_LCD; + DEBUGF("Changed remote type to H300\n"); + break; + case REMOTETYPE_H300_LCD: + _remote_type=REMOTETYPE_H300_NONLCD; + DEBUGF("Changed remote type to H300 NON-LCD\n"); + break; + case REMOTETYPE_H300_NONLCD: + _remote_type=REMOTETYPE_UNPLUGGED; + DEBUGF("Changed remote type to none\n"); + 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; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (IRIVER_H120) || defined (IRIVER_H100) + { SDLK_KP_DIVIDE, 46, 162, 13, "Record" }, + { SDLK_KP_PLUS, 327, 36, 16, "Play" }, + { SDLK_KP_ENTER, 330, 99, 18, "Stop" }, + { SDLK_KP_PERIOD, 330, 163, 18, "AB" }, + { SDLK_KP5, 186, 227, 27, "5" }, + { SDLK_KP8, 187, 185, 19, "8" }, + { SDLK_KP4, 142, 229, 23, "4" }, + { SDLK_KP6, 231, 229, 22, "6" }, + { SDLK_KP2, 189, 272, 28, "2" }, +/* Remote Buttons */ + { SDLK_KP_ENTER, 250, 404, 20, "Stop" }, + { SDLK_SPACE, 285, 439, 29, "Space" }, + { SDLK_h, 336, 291, 24, "Hold" }, +#elif defined (IRIVER_H300) + { SDLK_KP_PLUS, 56, 335, 20, "Play" }, + { SDLK_KP8, 140, 304, 29, "Up" }, + { SDLK_KP_DIVIDE, 233, 331, 23, "Record" }, + { SDLK_KP_ENTER, 54, 381, 24, "Stop" }, + { SDLK_KP4, 100, 353, 17, "Left" }, + { SDLK_KP5, 140, 351, 19, "Navi" }, + { SDLK_KP6, 185, 356, 19, "Right" }, + { SDLK_KP_PERIOD, 230, 380, 20, "AB" }, + { SDLK_KP2, 142, 402, 24, "Down" }, + { SDLK_KP_ENTER, 211, 479, 21, "Stop" }, + { SDLK_KP_PLUS, 248, 513, 29, "Play" }, +#endif + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/iriver-ifp7xx.c b/uisimulator/buttonmap/iriver-ifp7xx.c new file mode 100644 index 0000000000..97f29c7376 --- /dev/null +++ b/uisimulator/buttonmap/iriver-ifp7xx.c @@ -0,0 +1,71 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Dan Everton + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/meizu-m6sl.c b/uisimulator/buttonmap/meizu-m6sl.c new file mode 100644 index 0000000000..e796dce41d --- /dev/null +++ b/uisimulator/buttonmap/meizu-m6sl.c @@ -0,0 +1,65 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Marcoen Hirschberg + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/mpio-hd200.c b/uisimulator/buttonmap/mpio-hd200.c new file mode 100644 index 0000000000..36cbfe5ff1 --- /dev/null +++ b/uisimulator/buttonmap/mpio-hd200.c @@ -0,0 +1,67 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Marcin Bukat + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_UP: + new_btn = BUTTON_PREV; + break; + case SDLK_DOWN: + new_btn = BUTTON_NEXT; + break; + case SDLK_SPACE: + new_btn = BUTTON_SELECT; + break; + case SDLK_RETURN: + new_btn = BUTTON_PLAY; + break; + case SDLK_LEFT: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_RIGHT: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_ESCAPE: + new_btn = BUTTON_REC; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_ESCAPE, 369, 257, 20, "Rec" }, + { SDLK_RETURN, 369, 305, 20, "Play/Stop" }, + { SDLK_UP, 353, 168, 10, "Rew" }, + { SDLK_DOWN, 353, 198, 10, "FF" }, + { SDLK_SPACE, 353, 186, 10, "Select" }, + { SDLK_LEFT, 123, 67, 20, "Vol Down" }, + { SDLK_RIGHT, 206, 67, 20, "Vol Up" }, + { SDLK_h, 369, 402, 30, "Hold" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/mrobe100.c b/uisimulator/buttonmap/mrobe100.c new file mode 100644 index 0000000000..8e96188a93 --- /dev/null +++ b/uisimulator/buttonmap/mrobe100.c @@ -0,0 +1,105 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Robert Kukla + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_F9: + new_btn = BUTTON_RC_HEART; + break; + case SDLK_F10: + new_btn = BUTTON_RC_MODE; + break; + case SDLK_F11: + new_btn = BUTTON_RC_VOL_DOWN; + break; + case SDLK_F12: + new_btn = BUTTON_RC_VOL_UP; + break; + case SDLK_LEFT: + new_btn = BUTTON_RC_FF; + break; + case SDLK_RIGHT: + new_btn = BUTTON_RC_REW; + break; + case SDLK_UP: + new_btn = BUTTON_RC_PLAY; + break; + case SDLK_DOWN: + new_btn = BUTTON_RC_DOWN; + break; + 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: + new_btn = BUTTON_LEFT; + break; + case SDLK_KP6: + new_btn = BUTTON_RIGHT; + break; + case SDLK_KP8: + new_btn = BUTTON_UP; + break; + case SDLK_KP2: + 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; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP7, 80, 233, 30, "Menu" }, + { SDLK_KP8, 138, 250, 19, "Up" }, + { SDLK_KP9, 201, 230, 27, "Play" }, + { SDLK_KP4, 63, 305, 25, "Left" }, + { SDLK_KP5, 125, 309, 28, "Select" }, + { SDLK_KP6, 200, 307, 35, "Right" }, + { SDLK_KP1, 52, 380, 32, "Display" }, + { SDLK_KP2, 125, 363, 30, "Down" }, + { SDLK_KP9, 168, 425, 10, "Play" }, + { SDLK_KP4, 156, 440, 11, "Left" }, + { SDLK_KP6, 180, 440, 13, "Right" }, + { SDLK_KP7, 169, 452, 10, "Menu" }, + { SDLK_KP_MULTIPLY, 222, 15, 16, "Power" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/mrobe500.c b/uisimulator/buttonmap/mrobe500.c new file mode 100644 index 0000000000..50d85f6901 --- /dev/null +++ b/uisimulator/buttonmap/mrobe500.c @@ -0,0 +1,76 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 Karl Kurbjun + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_F9: + new_btn = BUTTON_RC_HEART; + break; + case SDLK_F10: + new_btn = BUTTON_RC_MODE; + break; + case SDLK_F11: + new_btn = BUTTON_RC_VOL_DOWN; + break; + case SDLK_F12: + new_btn = BUTTON_RC_VOL_UP; + break; + case SDLK_MINUS: + case SDLK_LESS: + case SDLK_LEFTBRACKET: + case SDLK_KP_DIVIDE: + new_btn = BUTTON_LEFT; + break; + case SDLK_PLUS: + case SDLK_GREATER: + case SDLK_RIGHTBRACKET: + case SDLK_KP_MULTIPLY: + new_btn = BUTTON_RIGHT; + break; + case SDLK_PAGEUP: + new_btn = BUTTON_RC_PLAY; + break; + case SDLK_PAGEDOWN: + new_btn = BUTTON_RC_DOWN; + break; + case SDLK_F8: + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP9, 171, 609, 9, "Play" }, + { SDLK_KP4, 158, 623, 9, "Left" }, + { SDLK_KP6, 184, 622, 9, "Right" }, + { SDLK_KP7, 171, 638, 11, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/onda-vx747.c b/uisimulator/buttonmap/onda-vx747.c new file mode 100644 index 0000000000..6d50427075 --- /dev/null +++ b/uisimulator/buttonmap/onda-vx747.c @@ -0,0 +1,62 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Maurus Cuelenaere + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP_PLUS: + case SDLK_PLUS: + case SDLK_GREATER: + case SDLK_RIGHTBRACKET: + case SDLK_KP_MULTIPLY: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP_MINUS: + case SDLK_MINUS: + case SDLK_LESS: + case SDLK_LEFTBRACKET: + case SDLK_KP_DIVIDE: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_KP_ENTER: + case SDLK_RETURN: + new_btn = BUTTON_MENU; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_MINUS, 113, 583, 28, "Minus" }, + { SDLK_PLUS, 227, 580, 28, "Plus" }, + { SDLK_RETURN, 171, 583, 34, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/onda-vx777.c b/uisimulator/buttonmap/onda-vx777.c new file mode 100644 index 0000000000..9181b07fe0 --- /dev/null +++ b/uisimulator/buttonmap/onda-vx777.c @@ -0,0 +1,41 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Maurus Cuelenaere + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/pbell-vibe500.c b/uisimulator/buttonmap/pbell-vibe500.c new file mode 100644 index 0000000000..662d2248bf --- /dev/null +++ b/uisimulator/buttonmap/pbell-vibe500.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Szymon Dziok + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP4: + case SDLK_LEFT: + new_btn = BUTTON_PREV; + break; + case SDLK_KP6: + case SDLK_RIGHT: + new_btn = BUTTON_NEXT; + 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_KP7: + new_btn = BUTTON_MENU; + break; + case SDLK_KP9: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP5: + new_btn = BUTTON_OK; + break; + case SDLK_KP_DIVIDE: + new_btn = BUTTON_CANCEL; + break; + case SDLK_KP_PLUS: + new_btn = BUTTON_POWER; + break; + case SDLK_KP_MULTIPLY: + new_btn = BUTTON_REC; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/samsung-yh820_yh92x.c b/uisimulator/buttonmap/samsung-yh820_yh92x.c new file mode 100644 index 0000000000..0f12c77df3 --- /dev/null +++ b/uisimulator/buttonmap/samsung-yh820_yh92x.c @@ -0,0 +1,94 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "config.h" +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_KP_ENTER: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP9: + case SDLK_PAGEUP: + new_btn = BUTTON_FFWD; + break; +#ifdef SAMSUNG_YH820 + case SDLK_KP7: +#else + case SDLK_KP3: +#endif + case SDLK_PAGEDOWN: + new_btn = BUTTON_REW; + break; + case SDLK_KP_PLUS: + new_btn = BUTTON_REC; + break; + } + return new_btn; +} + +struct button_map bm[] = { +#if defined (SAMSUNG_YH820) + { SDLK_KP_PLUS, 330, 53, 23, "Record" }, + { SDLK_KP7, 132, 208, 21, "Left" }, + { SDLK_KP5, 182, 210, 18, "Play" }, + { SDLK_KP9, 234, 211, 22, "Right" }, + { SDLK_KP8, 182, 260, 15, "Up" }, + { SDLK_KP4, 122, 277, 29, "Menu" }, + { SDLK_KP6, 238, 276, 25, "Select" }, + { SDLK_KP2, 183, 321, 24, "Down" }, +#elif defined (SAMSUNG_YH920) || defined (SAMSUNG_YH925) + { SDLK_KP9, 370, 32, 15, "FF" }, + { SDLK_KP5, 369, 84, 25, "Play" }, + { SDLK_KP5, 367, 125, 27, "Play" }, + { SDLK_KP3, 369, 188, 17, "Rew" }, + { SDLK_KP_PLUS, 370, 330, 30, "Record" }, + { SDLK_KP4, 146, 252, 32, "Menu" }, + { SDLK_KP8, 204, 226, 27, "Up" }, + { SDLK_KP6, 257, 250, 34, "Select" }, + { SDLK_KP2, 205, 294, 35, "Down" }, +#endif + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/sansa-c200.c b/uisimulator/buttonmap/sansa-c200.c new file mode 100644 index 0000000000..96755d0185 --- /dev/null +++ b/uisimulator/buttonmap/sansa-c200.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 Mark Arigo + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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; + } + return new_btn; +} + +struct button_map bm[] = { + + { SDLK_KP7, 84, 7, 21, "Vol Down" }, + { SDLK_KP9, 158, 7, 20, "Vol Up" }, + { SDLK_KP1, 173, 130, 27, "Record" }, + { SDLK_KP5, 277, 75, 21, "Select" }, + { SDLK_KP4, 233, 75, 24, "Left" }, + { SDLK_KP6, 313, 74, 18, "Right" }, + { SDLK_KP8, 276, 34, 15, "Play" }, + { SDLK_KP2, 277, 119, 17, "Down" }, + { SDLK_KP3, 314, 113, 19, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/sansa-clip.c b/uisimulator/buttonmap/sansa-clip.c new file mode 100644 index 0000000000..c1997ade6d --- /dev/null +++ b/uisimulator/buttonmap/sansa-clip.c @@ -0,0 +1,81 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Rafaël Carré + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_INSERT: + case SDLK_KP_MULTIPLY: + new_btn = BUTTON_HOME; + break; + case SDLK_SPACE: + case SDLK_KP5: + new_btn = BUTTON_SELECT; + break; + case SDLK_PAGEDOWN: + case SDLK_KP3: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_PAGEUP: + case SDLK_KP9: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_ESCAPE: + case SDLK_KP1: + new_btn = BUTTON_POWER; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_MULTIPLY, 165, 158, 17, "Home" }, + { SDLK_KP5, 102, 230, 29, "Select" }, + { SDLK_KP8, 100, 179, 25, "Play" }, + { SDLK_KP4, 53, 231, 21, "Left" }, + { SDLK_KP6, 147, 232, 19, "Right" }, + { SDLK_KP2, 105, 275, 22, "Menu" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/sansa-e200.c b/uisimulator/buttonmap/sansa-e200.c new file mode 100644 index 0000000000..66655e26c5 --- /dev/null +++ b/uisimulator/buttonmap/sansa-e200.c @@ -0,0 +1,83 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 Barry Wardell + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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: + case SDLK_PAGEUP: + new_btn = BUTTON_UP; + break; + case SDLK_KP3: + case SDLK_PAGEDOWN: + new_btn = BUTTON_DOWN; + break; + case SDLK_KP1: + case SDLK_HOME: + new_btn = BUTTON_POWER; + break; + case SDLK_KP7: + case SDLK_END: + new_btn = BUTTON_REC; + break; + case SDLK_KP5: + case SDLK_SPACE: + new_btn = BUTTON_SELECT; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP7, 5, 92, 18, "Record" }, + { SDLK_KP9, 128, 295, 43, "Play" }, + { SDLK_KP4, 42, 380, 33, "Left" }, + { SDLK_KP5, 129, 378, 36, "Select" }, + { SDLK_KP6, 218, 383, 30, "Right" }, + { SDLK_KP3, 129, 461, 29, "Down" }, + { SDLK_KP1, 55, 464, 20, "Menu" }, + { SDLK_KP8, 92, 338, 17, "Scroll Back" }, + { SDLK_KP2, 167, 342, 17, "Scroll Fwd" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/sansa-fuze.c b/uisimulator/buttonmap/sansa-fuze.c new file mode 100644 index 0000000000..2788af5d51 --- /dev/null +++ b/uisimulator/buttonmap/sansa-fuze.c @@ -0,0 +1,85 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Thomas Martitz + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_PAGEUP: + case SDLK_KP9: + new_btn = BUTTON_UP; + break; + case SDLK_PAGEDOWN: + case SDLK_KP3: + new_btn = BUTTON_DOWN; + break; + case SDLK_KP_MINUS: + case SDLK_KP1: + new_btn = BUTTON_POWER; + break; + case SDLK_KP_MULTIPLY: + new_btn = BUTTON_HOME; + break; + case SDLK_KP5: + case SDLK_SPACE: + case SDLK_KP_ENTER: + case SDLK_RETURN: + new_btn = BUTTON_SELECT; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP8, 70, 265, 35, "Scroll Back" }, + { SDLK_KP9, 141, 255, 31, "Play" }, + { SDLK_KP_MULTIPLY, 228, 267, 18, "Home" }, + { SDLK_LEFT, 69, 329, 31, "Left" }, + { SDLK_SPACE, 141, 330, 20, "Select" }, + { SDLK_RIGHT, 214, 331, 23, "Right" }, + { SDLK_KP3, 142, 406, 30, "Menu" }, + { SDLK_DOWN, 221, 384, 24, "Scroll Fwd" }, + { SDLK_KP_MINUS, 270, 299, 25, "Power" }, + { SDLK_h, 269, 358, 26, "Hold" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/sansa-m200.c b/uisimulator/buttonmap/sansa-m200.c new file mode 100644 index 0000000000..6a8c4f2f8f --- /dev/null +++ b/uisimulator/buttonmap/sansa-m200.c @@ -0,0 +1,75 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Dominik Wenger + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + 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_PLUS: + new_btn = BUTTON_POWER; + break; + case SDLK_KP5: + new_btn = BUTTON_SELECT; + break; + case SDLK_KP7: + new_btn = BUTTON_VOL_DOWN; + break; + case SDLK_KP9: + new_btn = BUTTON_VOL_UP; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_PLUS, 54, 14, 16, "Power" }, + { SDLK_KP7, 96, 13, 12, "Vol Down" }, + { SDLK_KP9, 139, 14, 14, "Vol Up" }, + { SDLK_KP5, 260, 82, 20, "Select" }, + { SDLK_KP8, 258, 35, 30, "Play" }, + { SDLK_KP4, 214, 84, 25, "Left" }, + { SDLK_KP6, 300, 83, 24, "Right" }, + { SDLK_KP2, 262, 125, 28, "Repeat" }, + { SDLK_h, 113, 151, 21, "Hold" }, + { 0, 0, 0, 0, "None" } +}; diff --git a/uisimulator/buttonmap/touchscreen.c b/uisimulator/buttonmap/touchscreen.c new file mode 100644 index 0000000000..746a6d5f20 --- /dev/null +++ b/uisimulator/buttonmap/touchscreen.c @@ -0,0 +1,103 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2008 Jonathan Gordon + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include +#include "button.h" +#include "buttonmap.h" +#include "touchscreen.h" + +int key_to_touch(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case BUTTON_TOUCHSCREEN: + switch (touchscreen_get_mode()) + { + case TOUCHSCREEN_POINT: + new_btn = BUTTON_TOUCHSCREEN; + break; + case TOUCHSCREEN_BUTTON: + { + static const int touchscreen_buttons[3][3] = { + {BUTTON_TOPLEFT, BUTTON_TOPMIDDLE, BUTTON_TOPRIGHT}, + {BUTTON_MIDLEFT, BUTTON_CENTER, BUTTON_MIDRIGHT}, + {BUTTON_BOTTOMLEFT, BUTTON_BOTTOMMIDDLE, BUTTON_BOTTOMRIGHT}, + }; + int px_x = ((mouse_coords&0xffff0000)>>16); + int px_y = ((mouse_coords&0x0000ffff)); + new_btn = touchscreen_buttons[px_y/(LCD_HEIGHT/3)][px_x/(LCD_WIDTH/3)]; + break; + } + } + break; + case SDLK_KP7: + case SDLK_7: + new_btn = BUTTON_TOPLEFT; + break; + case SDLK_KP8: + case SDLK_8: + case SDLK_UP: + new_btn = BUTTON_TOPMIDDLE; + break; + case SDLK_KP9: + case SDLK_9: + new_btn = BUTTON_TOPRIGHT; + break; + case SDLK_KP4: + case SDLK_u: + case SDLK_LEFT: + new_btn = BUTTON_MIDLEFT; + break; + case SDLK_KP5: + case SDLK_i: + new_btn = BUTTON_CENTER; + break; + case SDLK_KP6: + case SDLK_o: + case SDLK_RIGHT: + new_btn = BUTTON_MIDRIGHT; + break; + case SDLK_KP1: + case SDLK_j: + new_btn = BUTTON_BOTTOMLEFT; + break; + case SDLK_KP2: + case SDLK_k: + case SDLK_DOWN: + new_btn = BUTTON_BOTTOMMIDDLE; + break; + case SDLK_KP3: + case SDLK_l: + new_btn = BUTTON_BOTTOMRIGHT; + break; + case SDLK_F4: + if(pressed) + { + touchscreen_set_mode(touchscreen_get_mode() == TOUCHSCREEN_POINT ? TOUCHSCREEN_BUTTON : TOUCHSCREEN_POINT); + printf("Touchscreen mode: %s\n", touchscreen_get_mode() == TOUCHSCREEN_POINT ? "TOUCHSCREEN_POINT" : "TOUCHSCREEN_BUTTON"); + } + break; + } + return new_btn; +} diff --git a/uisimulator/uisimulator.make b/uisimulator/uisimulator.make index 2e6e75fdfe..d09fcc2063 100644 --- a/uisimulator/uisimulator.make +++ b/uisimulator/uisimulator.make @@ -7,12 +7,13 @@ # $Id$ # -INCLUDES += -I$(ROOTDIR)/uisimulator/bitmaps -I$(ROOTDIR)/uisimulator/common \ +INCLUDES += -I$(ROOTDIR)/uisimulator/bitmaps -I$(ROOTDIR)/uisimulator/common -I$(ROOTDIR)/uisimulator/buttonmap $\ -I$(FIRMDIR)/include -I$(FIRMDIR)/export $(TARGET_INC) -I$(BUILDDIR) -I$(APPSDIR) SIMFLAGS += $(INCLUDES) $(DEFINES) -DHAVE_CONFIG_H $(GCCOPTS) SIMSRC += $(call preprocess, $(ROOTDIR)/uisimulator/common/SOURCES) +SIMSRC += $(call preprocess, $(ROOTDIR)/uisimulator/buttonmap/SOURCES) SIMOBJ = $(call c2obj,$(SIMSRC)) OTHER_SRC += $(SIMSRC) -- cgit v1.2.3