From 5a4b7c39200a361a6f9a4f842dc9dc39082c2f9a Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Wed, 8 Dec 2010 21:40:35 +0000 Subject: [PATCH] MPIO HD300 simulator. FS#11796 by Michael Leslie git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28775 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/hosted/sdl/sim-ui-defines.h | 7 ++ uisimulator/bitmaps/UI-mpiohd300.bmp | Bin 0 -> 450694 bytes uisimulator/buttonmap/SOURCES | 2 + uisimulator/buttonmap/mpio-hd300.c | 82 ++++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 uisimulator/bitmaps/UI-mpiohd300.bmp create mode 100644 uisimulator/buttonmap/mpio-hd300.c diff --git a/firmware/target/hosted/sdl/sim-ui-defines.h b/firmware/target/hosted/sdl/sim-ui-defines.h index c44fea54b7..db777e7821 100644 --- a/firmware/target/hosted/sdl/sim-ui-defines.h +++ b/firmware/target/hosted/sdl/sim-ui-defines.h @@ -404,6 +404,13 @@ #define UI_LCD_POSX 101 #define UI_LCD_POSY 195 +#elif defined(MPIO_HD300) +#define UI_TITLE "MPIO HD300" +#define UI_WIDTH 286 /* width of GUI window */ +#define UI_HEIGHT 524 /* height of GUI window */ +#define UI_LCD_POSX 64 +#define UI_LCD_POSY 127 + #elif defined(APPLICATION) #define UI_TITLE "Rockbox" #define UI_LCD_POSX 0 diff --git a/uisimulator/bitmaps/UI-mpiohd300.bmp b/uisimulator/bitmaps/UI-mpiohd300.bmp new file mode 100644 index 0000000000000000000000000000000000000000..60dac62b8fccec1715027981b225389a679a683a GIT binary patch literal 450694 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 H1|E+ey{_Tl literal 0 HcmV?d00001 diff --git a/uisimulator/buttonmap/SOURCES b/uisimulator/buttonmap/SOURCES index 7ab80da5d3..c9955d408f 100644 --- a/uisimulator/buttonmap/SOURCES +++ b/uisimulator/buttonmap/SOURCES @@ -63,5 +63,7 @@ samsung-yh820_yh92x.c pbell-vibe500.c #elif CONFIG_KEYPAD == MPIO_HD200_PAD mpio-hd200.c +#elif CONFIG_KEYPAD == MPIO_HD300_PAD +mpio-hd300.c #endif #endif /* SIMULATOR */ diff --git a/uisimulator/buttonmap/mpio-hd300.c b/uisimulator/buttonmap/mpio-hd300.c new file mode 100644 index 0000000000..454e3a6d6f --- /dev/null +++ b/uisimulator/buttonmap/mpio-hd300.c @@ -0,0 +1,82 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Michael Leslie + * + * 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_UP; + break; + case SDLK_DOWN: + new_btn = BUTTON_DOWN; + break; + + case SDLK_LEFT: + new_btn = BUTTON_LEFT; + break; + case SDLK_RIGHT: + new_btn = BUTTON_RIGHT; + break; + + case SDLK_SPACE: + case SDLK_ESCAPE: + new_btn = BUTTON_MENU; + break; + + case SDLK_RETURN: + new_btn = BUTTON_ENTER; + break; + + case SDLK_p: + new_btn = BUTTON_PLAY; + break; + + case SDLK_r: + new_btn = BUTTON_REC; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_LEFT, 98, 312, 15, "Rew" }, + { SDLK_RIGHT, 186, 312, 15, "FF" }, + + { SDLK_ESCAPE, 90, 364, 40, "Menu" }, + { SDLK_RETURN, 196, 364, 40, "Enter" }, + + { SDLK_r, 98, 410, 15, "Rec" }, + { SDLK_p, 186, 410, 15, "Play/Stop" }, + + { SDLK_UP, 143, 315, 40, "Up" }, + { SDLK_DOWN, 143, 415, 40, "Down" }, + + { SDLK_h, 116, 52, 20, "Hold" }, + { 0, 0, 0, 0, "None" } +};