diff --git a/uisimulator/sdl/UI-c200.bmp b/uisimulator/sdl/UI-c200.bmp new file mode 100644 index 0000000000..d4b169260d Binary files /dev/null and b/uisimulator/sdl/UI-c200.bmp differ diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c index a435fd2c4e..36f502e395 100644 --- a/uisimulator/sdl/button.c +++ b/uisimulator/sdl/button.c @@ -550,6 +550,41 @@ void button_event(int key, bool pressed) 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_UP; + break; + case SDLK_KP9: + new_btn = BUTTON_VOL_DOWN; + break; + #endif /* CONFIG_KEYPAD */ case SDLK_KP0: case SDLK_F5: diff --git a/uisimulator/sdl/uisdl.h b/uisimulator/sdl/uisdl.h index 38bfdce429..0f0d29847b 100644 --- a/uisimulator/sdl/uisdl.h +++ b/uisimulator/sdl/uisdl.h @@ -259,6 +259,16 @@ #define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */ #define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */ +#elif defined(SANSA_C200) +#define UI_TITLE "Sansa c200" +#define UI_WIDTH 350 /* width of GUI window */ +#define UI_HEIGHT 152 /* height of GUI window */ +/* high-colour */ +#define UI_LCD_POSX 42 /* x position of lcd */ +#define UI_LCD_POSY 35 /* y position of lcd (74 for real aspect) */ +#define UI_LCD_WIDTH LCD_WIDTH /* * 1.5 */ +#define UI_LCD_HEIGHT LCD_HEIGHT /* * 1.5 */ + #elif defined(IRIVER_IFP7XX) #define UI_TITLE "iriver iFP7xx" #define UI_WIDTH 425 /* width of GUI window */