SDL: Migrate to SDL2

Incorporates large portions of g#5879 g#5282 g#5285 g#5286 g#5287

Differences from the above patches:

 * Removed all MacOS-specific stuff
 * Removed support for SDL1 entirely
 * Properly implement mousewheel support
 * Bumped up minimum stack size for sigalstack threading
 * Check for overflow before enqueing scrollwheel events

Tested on:

 * sdl application (Linux)
 * Simulator (x86_64, Linux) -- xduoox3/ipod4g/sansafuze
 * Simulator (i686, Windows) -- xduoox3
 * Simulator (arm64, Linux)

Change-Id: Ia3012dd1be123feb2888798a42d5b7cc149f382b
This commit is contained in:
Solomon Peachy 2024-09-21 16:31:20 -04:00
parent d13029ebdd
commit 7927423e34
49 changed files with 709 additions and 717 deletions

View file

@ -50,8 +50,8 @@ struct regs
#ifndef MINSIGSTKSZ
#define MINSIGSTKSZ 16384
#endif
/* MINSIGSTKSZ for the OS to deliver the signal + 0x3000 for us */
#define DEFAULT_STACK_SIZE (MINSIGSTKSZ+0x3000) /* Bytes */
/* MINSIGSTKSZ for the OS to deliver the signal + 0x6000 for us */
#define DEFAULT_STACK_SIZE (MINSIGSTKSZ+0x6000) /* Bytes */
#elif defined(HAVE_WIN32_FIBER_THREADS)
#define DEFAULT_STACK_SIZE 0x1000 /* Bytes */
#endif

View file

@ -40,23 +40,23 @@ int key_to_button(int keyboard_key)
#if (CONFIG_PLATFORM & PLATFORM_MAEMO4)
case SDLK_ESCAPE:
#endif
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_TOPLEFT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_TOPMIDDLE;
break;
#if (CONFIG_PLATFORM & PLATFORM_MAEMO4)
case SDLK_F7:
#endif
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_TOPRIGHT;
break;
#if (CONFIG_PLATFORM & PLATFORM_PANDORA)
case SDLK_RSHIFT:
#endif
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_MIDLEFT;
break;
@ -64,40 +64,32 @@ int key_to_button(int keyboard_key)
case SDLK_RETURN:
case SDLK_KP_ENTER:
#endif
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_CENTER;
break;
#if (CONFIG_PLATFORM & PLATFORM_PANDORA)
case SDLK_RCTRL:
#endif
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_MIDRIGHT;
break;
#if (CONFIG_PLATFORM & PLATFORM_MAEMO4)
case SDLK_F6:
#endif
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_BOTTOMLEFT;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_BOTTOMMIDDLE;
break;
#if (CONFIG_PLATFORM & PLATFORM_MAEMO4)
case SDLK_F8:
#endif
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_BOTTOMRIGHT;
break;
#ifdef HAVE_SCROLLWHEEL
case SDL_BUTTON_WHEELUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDL_BUTTON_WHEELDOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
#endif
case SDL_BUTTON_RIGHT:
new_btn = BUTTON_MIDLEFT;
break;

View file

@ -107,6 +107,30 @@ static void touchscreen_event(int x, int y)
}
#endif
#if defined(HAVE_SCROLLWHEEL) || ((defined(BUTTON_SCROLL_FWD) && defined(BUTTON_SCROLL_BACK)))
static void scrollwheel_event(int x, int y)
{
int new_btn = 0;
if (y > 0)
new_btn = BUTTON_SCROLL_BACK;
else if (y < 0)
new_btn = BUTTON_SCROLL_FWD;
else
return;
#ifdef HAVE_BACKLIGHT
backlight_on();
#endif
#ifdef HAVE_BUTTON_LIGHT
buttonlight_on();
#endif
reset_poweroff_timer();
if (new_btn && !queue_full(&button_queue))
queue_post(&button_queue, new_btn, 1<<24);
(void)x;
}
#endif
static void mouse_event(SDL_MouseButtonEvent *event, bool button_up)
{
#define SQUARE(x) ((x)*(x))
@ -118,10 +142,6 @@ static void mouse_event(SDL_MouseButtonEvent *event, bool button_up)
if(button_up) {
switch ( event->button )
{
#ifdef HAVE_SCROLLWHEEL
case SDL_BUTTON_WHEELUP:
case SDL_BUTTON_WHEELDOWN:
#endif
case SDL_BUTTON_MIDDLE:
case SDL_BUTTON_RIGHT:
button_event( event->button, false );
@ -145,13 +165,9 @@ static void mouse_event(SDL_MouseButtonEvent *event, bool button_up)
#endif
break;
}
} else { /* button down */
} else { /* button down */
switch ( event->button )
{
#ifdef HAVE_SCROLLWHEEL
case SDL_BUTTON_WHEELUP:
case SDL_BUTTON_WHEELDOWN:
#endif
case SDL_BUTTON_MIDDLE:
case SDL_BUTTON_RIGHT:
button_event( event->button, true );
@ -215,18 +231,15 @@ static void mouse_event(SDL_MouseButtonEvent *event, bool button_up)
static bool event_handler(SDL_Event *event)
{
SDLKey ev_key;
SDL_Keycode ev_key;
switch(event->type)
{
case SDL_ACTIVEEVENT:
if (event->active.state & SDL_APPINPUTFOCUS)
{
if (event->active.gain == 1)
sdl_app_has_input_focus = 1;
else
sdl_app_has_input_focus = 0;
}
case SDL_WINDOWEVENT:
if (event->window.event == SDL_WINDOWEVENT_FOCUS_GAINED)
sdl_app_has_input_focus = 1;
else if (event->window.event == SDL_WINDOWEVENT_FOCUS_LOST)
sdl_app_has_input_focus = 0;
break;
case SDL_KEYDOWN:
case SDL_KEYUP:
@ -275,6 +288,13 @@ static bool event_handler(SDL_Event *event)
mouse_event(mev, event->type == SDL_MOUSEBUTTONUP);
break;
}
#ifdef HAVE_SCROLLWHEEL
case SDL_MOUSEWHEEL:
{
scrollwheel_event(event->wheel.x, event->wheel.y);
break;
}
#endif
case SDL_QUIT:
/* Will post SDL_USEREVENT in shutdown_hw() if successful. */
sdl_sys_quit();
@ -362,7 +382,7 @@ static void button_event(int key, bool pressed)
}
return;
#endif
#ifdef HAS_REMOTE_BUTTON_HOLD
case SDLK_j:
if(pressed)
@ -379,7 +399,7 @@ static void button_event(int key, bool pressed)
if(pressed)
switch(_remote_type)
{
case REMOTETYPE_UNPLUGGED:
case REMOTETYPE_UNPLUGGED:
_remote_type=REMOTETYPE_H100_LCD;
DEBUGF("Changed remote type to H100\n");
break;
@ -399,7 +419,7 @@ static void button_event(int key, bool pressed)
break;
#endif
#ifndef APPLICATION
case SDLK_KP0:
case SDLK_KP_0:
case SDLK_F5:
if(pressed)
{
@ -430,32 +450,17 @@ static void button_event(int key, bool pressed)
#endif
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
* figure out why using button_get_data needed a hack before).
*/
#if defined(BUTTON_SCROLL_FWD) && defined(BUTTON_SCROLL_BACK)
if((new_btn == BUTTON_SCROLL_FWD || new_btn == BUTTON_SCROLL_BACK) &&
if((new_btn == BUTTON_SCROLL_FWD || new_btn == BUTTON_SCROLL_BACK) &&
pressed)
{
/* Clear these buttons from the data - adding them to the queue is
* handled in the scrollwheel drivers for the targets. They do not
* store the scroll forward/back buttons in their button data for
* the button_read call.
*/
#ifdef HAVE_BACKLIGHT
backlight_on();
#endif
#ifdef HAVE_BUTTON_LIGHT
buttonlight_on();
#endif
reset_poweroff_timer();
queue_post(&button_queue, new_btn, 1<<24);
scrollwheel_event(0, new_btn == BUTTON_SCROLL_FWD ? -1 : 1);
new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK);
}
#endif
/* Update global button press state */
if (pressed)
btn |= new_btn;
else
@ -496,5 +501,4 @@ int button_read_device(void)
void button_init_device(void)
{
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
}

View file

@ -153,7 +153,7 @@ void sim_kernel_shutdown(void)
SDL_Delay(10);
SDL_DestroyMutex(sim_irq_mtx);
SDL_DestroyCond(sim_thread_cond);
SDL_DestroyCond(sim_thread_cond);
}
Uint32 tick_timer(Uint32 interval, void *param)
@ -162,9 +162,9 @@ Uint32 tick_timer(Uint32 interval, void *param)
(void) interval;
(void) param;
new_tick = (SDL_GetTicks() - start_tick) / (1000/HZ);
while(new_tick != current_tick)
{
sim_enter_irq_handler();
@ -175,7 +175,7 @@ Uint32 tick_timer(Uint32 interval, void *param)
sim_exit_irq_handler();
}
return interval;
}
@ -187,10 +187,10 @@ void tick_start(unsigned int interval_in_ms)
exit(-1);
}
if (tick_timer_id != NULL)
if (tick_timer_id != 0)
{
SDL_RemoveTimer(tick_timer_id);
tick_timer_id = NULL;
tick_timer_id = 0;
}
else
{

View file

@ -164,12 +164,12 @@ void sim_backlight(int value)
#else /* LCD_DEPTH > 8 */
#if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP)
if (!lcd_active())
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, 0);
SDL_SetSurfaceAlphaMod(lcd_surface, 0);
else
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA,
SDL_SetSurfaceAlphaMod(lcd_surface,
MAX(BACKLIGHT_OFF_ALPHA, (value * 255) / 100));
#else
SDL_SetAlpha(lcd_surface, SDL_SRCALPHA, (value * 255) / 100);
SDL_SetSurfaceAlphaMod(lcd_surface, (value * 255) / 100);
#endif
#endif /* LCD_DEPTH */
@ -187,6 +187,7 @@ void lcd_init_device(void)
SIM_LCD_WIDTH * display_zoom,
SIM_LCD_HEIGHT * display_zoom,
LCD_DEPTH, 0, 0, 0, 0);
SDL_SetSurfaceBlendMode(lcd_surface, SDL_BLENDMODE_BLEND);
#elif LCD_DEPTH <= 8
lcd_surface = SDL_CreateRGBSurface(SDL_SWSURFACE,
SIM_LCD_WIDTH * display_zoom,
@ -222,7 +223,7 @@ void sim_lcd_ex_update_rect(int x_start, int y_start, int width, int height)
if (lcd_ex_getpixel) {
sdl_update_rect(lcd_surface, x_start, y_start, width, height,
LCD_WIDTH, LCD_HEIGHT, lcd_ex_getpixel);
sdl_gui_update(lcd_surface, x_start, y_start, width,
sdl_gui_update(lcd_surface, x_start, y_start, width,
height + LCD_SPLIT_LINES, SIM_LCD_WIDTH, SIM_LCD_HEIGHT,
background ? UI_LCD_POSX : 0,
background ? UI_LCD_POSY : 0);

View file

@ -115,12 +115,17 @@ void sdl_gui_update(SDL_Surface *surface, int x_start, int y_start, int width,
(ui_y + y_start) * display_zoom,
width * display_zoom, height * display_zoom};
if (surface->flags & SDL_SRCALPHA) /* alpha needs a black background */
uint8_t alpha;
if (SDL_GetSurfaceAlphaMod(surface,&alpha) == 0 && alpha < 255)
SDL_FillRect(gui_surface, &dest, 0);
SDL_BlitSurface(surface, &src, gui_surface, &dest);
SDL_BlitSurface(surface, &src, gui_surface, &dest); /* alpha needs a black background */
SDL_Flip(gui_surface);
SDL_Texture *sdlTexture = SDL_CreateTextureFromSurface(sdlRenderer, gui_surface);
SDL_RenderClear(sdlRenderer);
SDL_RenderCopy(sdlRenderer, sdlTexture, NULL, NULL);
SDL_RenderPresent(sdlRenderer);
SDL_DestroyTexture(sdlTexture);
}
/* set a range of bitmap indices to a gradient from startcolour to endcolour */
@ -136,7 +141,7 @@ void sdl_set_gradient(SDL_Surface *surface, SDL_Color *start, SDL_Color *end,
palette[i].b = start->b + (end->b - start->b) * i / (steps - 1);
}
SDL_SetPalette(surface, SDL_LOGPAL|SDL_PHYSPAL, palette, first, steps);
SDL_SetPaletteColors(surface->format->palette, palette, first , steps);
}
int lcd_get_dpi(void)

View file

@ -3,7 +3,7 @@
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
@ -27,6 +27,7 @@
/* Default display zoom level */
extern SDL_Surface *gui_surface;
extern SDL_Renderer *sdlRenderer;
void sdl_update_rect(SDL_Surface *surface, int x_start, int y_start, int width,
int height, int max_x, int max_y,
@ -39,4 +40,3 @@ void sdl_set_gradient(SDL_Surface *surface, SDL_Color *start, SDL_Color *end,
int first, int steps);
#endif /* #ifndef __LCDSDL_H__ */

View file

@ -1,10 +1,10 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2005 by Nick Lanham
@ -85,8 +85,43 @@ void pcm_play_unlock(void)
SDL_UnlockMutex(audio_lock);
}
static void sdl_audio_callback(struct pcm_udata *udata, Uint8 *stream, int len);
static void pcm_dma_apply_settings_nolock(void)
{
SDL_AudioSpec wanted_spec;
wanted_spec.freq = pcm_sampr;
wanted_spec.format = AUDIO_S16SYS;
wanted_spec.channels = 2;
wanted_spec.samples = 2048;
wanted_spec.callback =
(void (SDLCALL *)(void *userdata,
Uint8 *stream, int len))sdl_audio_callback;
wanted_spec.userdata = &udata;
SDL_CloseAudio();
/* Open the audio device and start playing sound! */
if(SDL_OpenAudio(&wanted_spec, &obtained) < 0) {
DEBUGF("Unable to open audio: %s\n", SDL_GetError());
return;
}
switch (obtained.format)
{
case AUDIO_U8:
case AUDIO_S8:
pcm_channel_bytes = 1;
break;
case AUDIO_U16LSB:
case AUDIO_S16LSB:
case AUDIO_U16MSB:
case AUDIO_S16MSB:
pcm_channel_bytes = 2;
break;
default:
DEBUGF("Unknown sample format obtained: %u\n",
(unsigned)obtained.format);
return;
}
pcm_sample_bytes = obtained.channels * pcm_channel_bytes;
cvt_status = SDL_BuildAudioCVT(&cvt, AUDIO_S16SYS, 2, pcm_sampr,
obtained.format, obtained.channels, obtained.freq);
@ -256,9 +291,7 @@ static void sdl_audio_callback(struct pcm_udata *udata, Uint8 *stream, int len)
if (delay > 0)
{
SDL_UnlockMutex(audio_lock);
SDL_Delay(delay);
SDL_LockMutex(audio_lock);
if (!pcm_is_playing())
break;
@ -339,7 +372,6 @@ void pcm_play_dma_init(void)
return;
}
SDL_AudioSpec wanted_spec;
#ifdef DEBUG
udata.debug = NULL;
if (debug_audio) {
@ -347,43 +379,6 @@ void pcm_play_dma_init(void)
DEBUGF("Audio debug file open\n");
}
#endif
/* Set 16-bit stereo audio at 44Khz */
wanted_spec.freq = 44100;
wanted_spec.format = AUDIO_S16SYS;
wanted_spec.channels = 2;
wanted_spec.samples = 2048;
wanted_spec.callback =
(void (SDLCALL *)(void *userdata,
Uint8 *stream, int len))sdl_audio_callback;
wanted_spec.userdata = &udata;
/* Open the audio device and start playing sound! */
if(SDL_OpenAudio(&wanted_spec, &obtained) < 0) {
DEBUGF("Unable to open audio: %s\n", SDL_GetError());
return;
}
switch (obtained.format)
{
case AUDIO_U8:
case AUDIO_S8:
pcm_channel_bytes = 1;
break;
case AUDIO_U16LSB:
case AUDIO_S16LSB:
case AUDIO_U16MSB:
case AUDIO_S16MSB:
pcm_channel_bytes = 2;
break;
default:
DEBUGF("Unknown sample format obtained: %u\n",
(unsigned)obtained.format);
return;
}
pcm_sample_bytes = obtained.channels * pcm_channel_bytes;
pcm_dma_apply_settings_nolock();
}
void pcm_play_dma_postinit(void)

View file

@ -1,10 +1,10 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2006 by Daniel Everton <dan@iocaine.org>
@ -50,6 +50,8 @@
#define SIMULATOR_DEFAULT_ROOT "simdisk"
SDL_Surface *gui_surface;
SDL_Window *window;
SDL_Renderer *sdlRenderer;
bool background = true; /* use backgrounds by default */
#ifdef HAVE_REMOTE_LCD
@ -72,26 +74,12 @@ bool debug_audio = false;
bool debug_wps = false;
int wps_verbose_level = 3;
/*
* This thread will read the buttons in an interrupt like fashion, and
* also initializes SDL_INIT_VIDEO and the surfaces
*
* it must be done in the same thread (at least on windows) because events only
* work in the thread which called SDL_Init(SubSystem) with SDL_INIT_VIDEO
*
* This is an SDL thread and relies on preemptive behavoir of the host
**/
static int sdl_event_thread(void * param)
static void sdl_window_setup(void)
{
SDL_InitSubSystem(SDL_INIT_VIDEO);
#if (CONFIG_PLATFORM & PLATFORM_MAEMO)
SDL_sem *wait_for_maemo_startup;
#endif
SDL_Surface *picture_surface = NULL;
int width, height;
int depth;
Uint32 flags;
Uint32 flags = 0;
/* Try and load the background image. If it fails go without */
if (background) {
@ -101,14 +89,14 @@ static int sdl_event_thread(void * param)
DEBUGF("warn: %s\n", SDL_GetError());
}
}
/* Set things up */
if (background)
{
width = UI_WIDTH;
height = UI_HEIGHT;
}
else
}
else
{
#ifdef HAVE_REMOTE_LCD
if (showremote)
@ -128,17 +116,47 @@ static int sdl_event_thread(void * param)
if (depth < 8)
depth = 16;
flags = SDL_HWSURFACE|SDL_DOUBLEBUF;
#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
/* Fullscreen mode for maemo app */
flags |= SDL_FULLSCREEN;
flags |= SDL_WINDOW_FULLSCREEN;
#endif
SDL_WM_SetCaption(UI_TITLE, NULL);
if ((gui_surface = SDL_SetVideoMode(width * display_zoom, height * display_zoom, depth, flags)) == NULL) {
if ((window = SDL_CreateWindow(UI_TITLE, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
width * display_zoom, height * display_zoom , flags)) == NULL)
panicf("%s", SDL_GetError());
if ((sdlRenderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC)) == NULL)
panicf("%s", SDL_GetError());
if ((gui_surface = SDL_CreateRGBSurface(0, width * display_zoom, height * display_zoom, depth,
0, 0, 0, 0)) == NULL)
panicf("%s", SDL_GetError());
/* If we have a background, blit it over to the display surface */
if (background && picture_surface)
{
SDL_BlitSurface(picture_surface, NULL, gui_surface, NULL);
SDL_FreeSurface(picture_surface);
}
}
/*
* This thread will read the buttons in an interrupt like fashion, and
* also initializes SDL_INIT_VIDEO and the surfaces
*
* it must be done in the same thread (at least on windows) because events only
* work in the thread that called SDL_InitSubSystem(SDL_INIT_VIDEO)
*
* This is an SDL thread and relies on preemptive behavoir of the host
**/
static int sdl_event_thread(void * param)
{
#ifdef __WIN32 /* Fails on Linux and MacOS */
SDL_InitSubSystem(SDL_INIT_VIDEO);
sdl_window_setup();
#endif
#if (CONFIG_PLATFORM & PLATFORM_MAEMO)
SDL_sem *wait_for_maemo_startup;
#endif
#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
/* SDL touch screen fix: Work around a SDL assumption that returns
@ -152,14 +170,10 @@ static int sdl_event_thread(void * param)
SDL_SetCursor(hiddenCursor);
#endif
if (background && picture_surface != NULL)
SDL_BlitSurface(picture_surface, NULL, gui_surface, NULL);
#if (CONFIG_PLATFORM & PLATFORM_MAEMO)
/* start maemo thread: Listen to display on/off events and battery monitoring */
wait_for_maemo_startup = SDL_CreateSemaphore(0); /* 0-count so it blocks */
SDL_Thread *maemo_thread = SDL_CreateThread(maemo_thread_func, wait_for_maemo_startup);
SDL_Thread *maemo_thread = SDL_CreateThread(maemo_thread_func, NULL, wait_for_maemo_startup);
SDL_SemWait(wait_for_maemo_startup);
SDL_DestroySemaphore(wait_for_maemo_startup);
#endif
@ -184,9 +198,6 @@ static int sdl_event_thread(void * param)
SDL_FreeCursor(hiddenCursor);
#endif
if(picture_surface)
SDL_FreeSurface(picture_surface);
/* Order here is relevent to prevent deadlocks and use of destroyed
sync primitives by kernel threads */
#ifdef HAVE_SDL_THREADS
@ -251,15 +262,16 @@ void system_init(void)
g_type_init();
#endif
if (SDL_Init(SDL_INIT_TIMER))
if (SDL_InitSubSystem(SDL_INIT_TIMER))
panicf("%s", SDL_GetError());
#ifndef __WIN32 /* Fails on Windows */
SDL_InitSubSystem(SDL_INIT_VIDEO);
sdl_window_setup();
#endif
s = SDL_CreateSemaphore(0); /* 0-count so it blocks */
evt_thread = SDL_CreateThread(sdl_event_thread, s);
/* wait for sdl_event_thread to run so that it can initialize the surfaces
* and video subsystem needed for SDL events */
evt_thread = SDL_CreateThread(sdl_event_thread, NULL, s);
SDL_SemWait(s);
/* cleanup */
SDL_DestroySemaphore(s);
@ -303,29 +315,29 @@ int hostfs_flush(void)
void sys_handle_argv(int argc, char *argv[])
{
if (argc >= 1)
if (argc >= 1)
{
int x;
for (x = 1; x < argc; x++)
for (x = 1; x < argc; x++)
{
#ifdef DEBUG
if (!strcmp("--debugaudio", argv[x]))
if (!strcmp("--debugaudio", argv[x]))
{
debug_audio = true;
printf("Writing debug audio file.\n");
}
else
else
#endif
if (!strcmp("--debugwps", argv[x]))
{
debug_wps = true;
printf("WPS debug mode enabled.\n");
}
}
else if (!strcmp("--nobackground", argv[x]))
{
background = false;
printf("Disabling background image.\n");
}
}
#ifdef HAVE_REMOTE_LCD
else if (!strcmp("--noremote", argv[x]))
{
@ -346,7 +358,7 @@ void sys_handle_argv(int argc, char *argv[])
display_zoom=atof(argv[x]);
else
display_zoom = 2;
printf("Window zoom is %d\n", display_zoom);
printf("Window zoom is %f\n", display_zoom);
}
else if (!strcmp("--alarm", argv[x]))
{
@ -372,7 +384,7 @@ void sys_handle_argv(int argc, char *argv[])
debug_buttons = true;
printf("Printing background button clicks.\n");
}
else
else
{
printf("rockboxui\n");
printf("Arguments:\n");

View file

@ -340,7 +340,7 @@ unsigned int create_thread(void (*function)(void),
return 0;
}
SDL_Thread *t = SDL_CreateThread(runthread, thread);
SDL_Thread *t = SDL_CreateThread(runthread, NULL, thread);
if (t == NULL)
{
DEBUGF("Failed to create SDL thread\n");
@ -447,7 +447,7 @@ void init_threads(void)
thread->context.s = SDL_CreateSemaphore(0);
thread->context.t = NULL; /* NULL for the implicit main thread */
__running_self_entry() = thread;
if (thread->context.s == NULL)
{
fprintf(stderr, "Failed to create main semaphore\n");

4
tools/configure vendored
View file

@ -162,7 +162,7 @@ findtool(){
# scan the $PATH for sdl-config - check whether for a (cross-)win32
# sdl as requested
findsdl(){
files=sdl-config
files=sdl2-config
if [ -n "$CROSS_COMPILE" ]; then
# sdl-config might (not) be prefixed for cross compiles so try both.
files="${CROSS_COMPILE}sdl-config:${files}"
@ -1676,7 +1676,7 @@ cat <<EOF
==AIGO== 244) M3K Linux
245) Eros Q / K 246) M3K baremetal ==Shanling==
247) Eros Q / K native 260) Q1
248) Eros Q / K native v3
248) Eros Q / K native v3
(GC9A01 LCD Controller)
EOF

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -60,7 +60,7 @@ int key_to_button(int keyboard_button)
case SDLK_RETURN:
case SDLK_SPACE:
case SDLK_INSERT:
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_SELECT;
break;
}

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -59,16 +59,16 @@ int key_to_button(int keyboard_button)
new_btn = BUTTON_POWER;
break;
#ifdef CREATIVE_ZENXFI
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_BOTTOMLEFT;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_BOTTOMRIGHT;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_TOPLEFT;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_TOPRIGHT;
break;
#endif
@ -78,7 +78,7 @@ int key_to_button(int keyboard_button)
break;
case SDLK_KP_ENTER:
case SDLK_RETURN:
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_SELECT;
break;
}
@ -106,10 +106,10 @@ struct button_map bm[] = {
{ SDLK_UP, 426, 126, 13, "Up" },
{ SDLK_DOWN, 426, 206, 13, "Down" },
{ SDLK_RETURN, 426, 166, 13, "Select" },
{ SDLK_KP7, 386, 126, 13, "Top Left" },
{ SDLK_KP9, 466, 126, 13, "Top Right" },
{ SDLK_KP3, 466, 166, 13, "Bottom Right" },
{ SDLK_KP1, 386, 166, 13, "Bottom Left" },
{ SDLK_KP_7, 386, 126, 13, "Top Left" },
{ SDLK_KP_9, 466, 126, 13, "Top Right" },
{ SDLK_KP_3, 466, 166, 13, "Bottom Right" },
{ SDLK_KP_1, 386, 166, 13, "Bottom Left" },
{ SDLK_HOME, 390, 63, 16, "Back" },
{ SDLK_PAGEUP, 463, 63, 16, "Menu" },
{ SDLK_END, 390, 267, 16, "Shortcut" },

View file

@ -29,23 +29,23 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_RIGHT:
new_btn = BUTTON_MENU;
break;

View file

@ -29,38 +29,38 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_PREV;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_BACK;
break;
case SDLK_p:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_MENU;
break;
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -80,13 +80,13 @@ int key_to_button(int keyboard_button)
}
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" },
{ SDLK_KP_7, 52, 414, 35, "Custom" },
{ SDLK_KP_8, 185, 406, 55, "Up" },
{ SDLK_KP_9, 315, 421, 46, "Play" },
{ SDLK_KP_4, 122, 500, 41, "Left" },
{ SDLK_KP_6, 247, 493, 49, "Right" },
{ SDLK_KP_1, 58, 577, 49, "Back" },
{ SDLK_KP_2, 186, 585, 46, "Down" },
{ SDLK_KP_3, 311, 569, 47, "Menu" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,35 +29,35 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_BACK;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_MENU;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_CUSTOM;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -71,13 +71,13 @@ int key_to_button(int keyboard_button)
}
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" },
{ SDLK_KP_7, 52, 414, 35, "Custom" },
{ SDLK_KP_8, 185, 406, 55, "Up" },
{ SDLK_KP_9, 315, 421, 46, "Play" },
{ SDLK_KP_4, 122, 500, 41, "Left" },
{ SDLK_KP_6, 247, 493, 49, "Right" },
{ SDLK_KP_1, 58, 577, 49, "Back" },
{ SDLK_KP_2, 186, 585, 46, "Down" },
{ SDLK_KP_3, 311, 569, 47, "Menu" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -28,19 +28,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_PREV;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
@ -58,12 +58,6 @@ int key_to_button(int keyboard_button)
case SDLK_INSERT:
new_btn = BUTTON_MENU;
break;
case SDL_BUTTON_WHEELUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDL_BUTTON_WHEELDOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
case SDLK_KP_MINUS:
case SDLK_PAGEUP:
new_btn = BUTTON_VOL_UP;
@ -78,10 +72,10 @@ int key_to_button(int keyboard_button)
struct button_map bm[] = {
{ SDLK_KP_PERIOD, 60, 599, 25, "Menu" },
{ SDLK_KP8, 213, 473, 20, "Scroll Back" },
{ SDLK_KP2, 50, 473, 20, "Scroll Fwd" },
{ SDLK_KP4, 323, 384, 30, "Prev" },
{ SDLK_KP6, 323, 465, 30, "Next" },
{ SDLK_KP_8, 213, 473, 20, "Scroll Back" },
{ SDLK_KP_2, 50, 473, 20, "Scroll Fwd" },
{ SDLK_KP_4, 323, 384, 30, "Prev" },
{ SDLK_KP_6, 323, 465, 30, "Next" },
{ SDLK_BACKSPACE, 323, 578, 25, "Back" },
{ SDLK_KP_PLUS, 397, 91, 30, "Vol Up" },
{ SDLK_KP_MINUS, 397, 185, 43, "Vol Dn" },

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -60,11 +60,9 @@ int key_to_button(int keyboard_button)
case SDLK_INSERT:
new_btn = BUTTON_MENU;
break;
case SDL_BUTTON_WHEELUP:
case SDLK_PAGEUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDL_BUTTON_WHEELDOWN:
case SDLK_PAGEDOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
@ -76,7 +74,7 @@ int key_to_button(int keyboard_button)
new_btn = BUTTON_SELECT;
break;
case SDLK_SPACE:
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_PLAY;
break;
}

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -54,14 +54,14 @@ int key_to_button(int keyboard_button)
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_BACK;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_KP_PERIOD:
case SDLK_INSERT:
new_btn = BUTTON_MENU;
@ -72,12 +72,12 @@ int key_to_button(int keyboard_button)
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" },
{ SDLK_KP_7, 135, 442, 46, "Back" },
{ SDLK_KP_9, 288, 447, 35, "Menu" },
{ SDLK_KP_8, 214, 480, 32, "Up" },
{ SDLK_KP_4, 128, 558, 33, "Left" },
{ SDLK_KP_5, 214, 556, 34, "Select" },
{ SDLK_KP_6, 293, 558, 35, "Right" },
{ SDLK_KP_2, 214, 637, 38, "Down" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -28,19 +28,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -54,7 +54,7 @@ int key_to_button(int keyboard_button)
case SDLK_a:
new_btn = BUTTON_A;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -62,11 +62,11 @@ int key_to_button(int keyboard_button)
case SDLK_INSERT:
new_btn = BUTTON_MENU;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_PAGEUP:
new_btn = BUTTON_VOL_UP;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_PAGEDOWN:
new_btn = BUTTON_VOL_DOWN;
break;
@ -77,13 +77,13 @@ int key_to_button(int keyboard_button)
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_9, 365, 345, 26, "Vol Up" },
{ SDLK_KP_3, 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" },
{ SDLK_KP_8, 167, 458, 35, "Up" },
{ SDLK_KP_4, 86, 537, 29, "Left" },
{ SDLK_KP_5, 166, 536, 30, "Select" },
{ SDLK_KP_6, 248, 536, 30, "Right" },
{ SDLK_KP_2, 169, 617, 28, "Down" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,37 +29,37 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_ESCAPE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_PLAYLIST;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_VOL_UP;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_KP_MINUS:

View file

@ -29,36 +29,36 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_PREV;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_MENU;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_VIEW;
break;
case SDLK_KP_MULTIPLY:

View file

@ -29,33 +29,33 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_MENU;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_PREV;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP_ENTER:
@ -76,13 +76,13 @@ 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" },
{ SDLK_KP_7, 40, 249, 26, "Prev" },
{ SDLK_KP_8, 110, 247, 22, "Up" },
{ SDLK_KP_9, 183, 249, 31, "Next" },
{ SDLK_KP_4, 45, 305, 25, "Left" },
{ SDLK_KP_5, 111, 304, 24, "Play" },
{ SDLK_KP_6, 183, 304, 21, "Right" },
{ SDLK_KP_1, 43, 377, 21, "Menu" },
{ SDLK_KP_2, 112, 371, 24, "Down" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,25 +29,25 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
new_btn = BUTTON_LEFT;
break;
case SDLK_LEFT:
new_btn = BUTTON_RC_REW;
break;
case SDLK_KP6:
case SDLK_KP_6:
new_btn = BUTTON_RIGHT;
break;
case SDLK_RIGHT:
new_btn = BUTTON_RC_FF;
break;
case SDLK_KP8:
case SDLK_KP_8:
new_btn = BUTTON_VOL_UP;
break;
case SDLK_UP:
new_btn = BUTTON_RC_VOL_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_DOWN:
@ -65,7 +65,7 @@ int key_to_button(int keyboard_button)
case SDLK_F1:
new_btn = BUTTON_RC_REC;
break;
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_PLAY;
break;
case SDLK_SPACE:
@ -80,11 +80,11 @@ int key_to_button(int keyboard_button)
}
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_5, 256, 72, 29, "Play" },
{ SDLK_KP_6, 255, 137, 28, "Right" },
{ SDLK_KP_4, 257, 201, 26, "Left" },
{ SDLK_KP_8, 338, 31, 27, "Up" },
{ SDLK_KP_2, 339, 92, 23, "Down" },
{ SDLK_KP_PERIOD, 336, 50, 23, "Mode" },
{ SDLK_KP_DIVIDE, 336, 147, 23, "Rec" },
{ SDLK_h, 336, 212, 30, "Hold" },

View file

@ -30,19 +30,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -62,7 +62,7 @@ int key_to_button(int keyboard_button)
case SDLK_F1:
new_btn = BUTTON_REC;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -76,21 +76,21 @@ struct button_map bm[] = {
{ 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" },
{ SDLK_KP_5, 250, 291, 19, "Select" },
{ SDLK_KP_8, 249, 236, 32, "Up" },
{ SDLK_KP_4, 194, 292, 29, "Left" },
{ SDLK_KP_6, 297, 290, 27, "Right" },
{ SDLK_KP_2, 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" },
{ SDLK_KP_5, 200, 247, 16, "Select" },
{ SDLK_KP_8, 200, 206, 16, "Up" },
{ SDLK_KP_4, 163, 248, 19, "Left" },
{ SDLK_KP_6, 225, 247, 24, "Right" },
{ SDLK_KP_2, 199, 279, 20, "Down" },
#endif
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,33 +29,33 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_ESCAPE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_KP_ENTER:
case SDLK_SPACE:
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_UP:
new_btn = BUTTON_PREV;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_PAGEUP:
new_btn = BUTTON_VOL_UP;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_BACKSPACE:
new_btn = BUTTON_HOME;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_PAGEDOWN:
new_btn = BUTTON_VOL_DOWN;
break;
@ -65,24 +65,24 @@ int key_to_button(int keyboard_button)
#if (CONFIG_KEYPAD == IHIFI_770_PAD)
struct button_map bm[] = {
{ SDLK_KP8, 210, 0, 20, "Power" },
{ SDLK_KP4, 94, 430, 40, "Play" },
{ SDLK_KP5, 190, 430, 40, "Prev" },
{ SDLK_KP6, 285, 430, 40, "Vol Up" },
{ SDLK_KP1, 94, 508, 40, "Home" },
{ SDLK_KP2, 190, 508, 40, "Next" },
{ SDLK_KP3, 285, 508, 40, "Vol Down" },
{ SDLK_KP_8, 210, 0, 20, "Power" },
{ SDLK_KP_4, 94, 430, 40, "Play" },
{ SDLK_KP_5, 190, 430, 40, "Prev" },
{ SDLK_KP_6, 285, 430, 40, "Vol Up" },
{ SDLK_KP_1, 94, 508, 40, "Home" },
{ SDLK_KP_2, 190, 508, 40, "Next" },
{ SDLK_KP_3, 285, 508, 40, "Vol Down" },
{ 0, 0, 0, 0, "None" }
};
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
struct button_map bm[] = {
{ SDLK_KP8, 214, 468, 25, "Power" },
{ SDLK_KP4, 168, 580, 25, "Play" },
{ SDLK_KP5, 60, 524, 25, "Prev" },
{ SDLK_KP6, 102, 455, 25, "Vol Up" },
{ SDLK_KP1, 246, 580, 25, "Home" },
{ SDLK_KP2, 60, 580, 25, "Next" },
{ SDLK_KP3, 50, 455, 25, "Vol Down" },
{ SDLK_KP_8, 214, 468, 25, "Power" },
{ SDLK_KP_4, 168, 580, 25, "Play" },
{ SDLK_KP_5, 60, 524, 25, "Prev" },
{ SDLK_KP_6, 102, 455, 25, "Vol Up" },
{ SDLK_KP_1, 246, 580, 25, "Home" },
{ SDLK_KP_2, 60, 580, 25, "Next" },
{ SDLK_KP_3, 50, 455, 25, "Vol Down" },
{ 0, 0, 0, 0, "None" }
};
#else

View file

@ -30,41 +30,42 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_F6:
new_btn = BUTTON_SELECT|BUTTON_PLAY;
break;
case SDLK_F7:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_F9:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
case SDLK_KP_PLUS:
case SDLK_SPACE:
case SDLK_F8:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_SPACE:
case SDLK_KP_5:
case SDLK_RETURN:
new_btn = BUTTON_SELECT;
break;
case SDLK_ESCAPE:
case SDLK_BACKSPACE:
case SDLK_KP_PERIOD:
case SDLK_INSERT:
new_btn = BUTTON_MENU;
break;
case SDL_BUTTON_WHEELUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDL_BUTTON_WHEELDOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
}
return new_btn;
}
@ -72,80 +73,80 @@ int key_to_button(int keyboard_button)
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_8, 110, 380, 33, "Scroll Back" },
{ SDLK_KP_2, 234, 377, 34, "Scroll Fwd" },
{ SDLK_KP_4, 78, 438, 47, "Left" },
{ SDLK_KP_5, 172, 435, 43, "Select" },
{ SDLK_KP_6, 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_5, 92, 267, 29, "Select" },
{ SDLK_KP_4, 31, 263, 37, "Left" },
{ SDLK_KP_6, 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" },
{ SDLK_KP_8, 53, 220, 29, "Scroll Back" },
{ SDLK_KP_2, 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_5, 108, 296, 26, "Select" },
{ SDLK_KP_8, 70, 255, 26, "Scroll Back" },
{ SDLK_KP_2, 149, 256, 28, "Scroll Fwd" },
{ SDLK_KP_4, 27, 186, 22, "Left" },
{ SDLK_KP_PERIOD, 82, 185, 22, "Menu" },
{ SDLK_KP_PERIOD, 133, 185, 21, "Play" },
{ SDLK_KP6, 189, 188, 21, "Right" },
{ SDLK_KP_6, 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_5, 96, 269, 27, "Select" },
{ SDLK_KP_4, 39, 267, 30, "Left" },
{ SDLK_KP_6, 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" },
{ SDLK_KP_8, 57, 233, 29, "Scroll Back" },
{ SDLK_KP_2, 132, 226, 29, "Scroll Fwd" },
#elif defined (IPOD_6G)
{ SDLK_KP5, 175, 432, 45, "Select" },
{ SDLK_KP4, 75, 432, 38, "Left" },
{ SDLK_KP6, 275, 432, 39, "Right" },
{ SDLK_KP_5, 175, 432, 45, "Select" },
{ SDLK_KP_4, 75, 432, 38, "Left" },
{ SDLK_KP_6, 275, 432, 39, "Right" },
{ SDLK_KP_PERIOD, 175, 350, 34, "Menu" },
{ SDLK_KP_PLUS, 175, 539, 41, "Play" },
{ SDLK_KP8, 100, 375, 35, "Scroll Back" },
{ SDLK_KP2, 245, 375, 35, "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_8, 100, 375, 35, "Scroll Back" },
{ SDLK_KP_2, 245, 375, 35, "Scroll Fwd" },
#elif defined (IPOD_COLOR)
{ SDLK_KP_5, 128, 362, 35, "Select" },
{ SDLK_KP_4, 55, 358, 38, "Left" },
{ SDLK_KP_6, 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" },
{ SDLK_KP_8, 76, 309, 34, "Scroll Back" },
{ SDLK_KP_2, 182, 311, 45, "Scroll Fwd" },
#elif defined (IPOD_1G2G)
{ SDLK_KP_5, 112, 265, 31, "Select" },
{ SDLK_KP_8, 74, 224, 28, "Scroll Back" },
{ SDLK_KP_2, 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_8, 74, 224, 28, "Scroll Back" },
{ SDLK_KP_2, 146, 228, 28, "Scroll Fwd" },
{ SDLK_KP_6, 159, 268, 64, "Right" },
{ SDLK_KP_4, 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" },
#elif defined (IPOD_NANO)
{ SDLK_KP_5, 98, 316, 37, "Select" },
{ SDLK_KP_4, 37, 312, 28, "Left" },
{ SDLK_KP_6, 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_8, 58, 272, 24, "Scroll Back" },
{ SDLK_KP_2, 141, 274, 22, "Scroll Fwd" },
#elif defined (IPOD_NANO2G)
{ SDLK_KP_5, 118, 346, 37, "Select" },
{ SDLK_KP_4, 51, 345, 28, "Left" },
{ SDLK_KP_6, 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" },
{ SDLK_KP_8, 67, 303, 28, "Scroll Back" },
{ SDLK_KP_2, 163, 303, 27, "Scroll Fwd" },
#endif
{ 0, 0, 0 , 0, "None" }
};

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_SCROLL_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_SCROLL_DOWN;
break;
@ -60,7 +60,7 @@ int key_to_button(int keyboard_button)
case SDLK_F2:
new_btn = BUTTON_FF;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_PLAY;
break;
@ -71,21 +71,21 @@ int key_to_button(int keyboard_button)
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_4, 123, 194, 26, "Cancel" },
{ SDLK_KP_6, 257, 195, 34, "Select" },
{ SDLK_KP_8, 190, 221, 28, "Up" },
{ SDLK_KP_2, 192, 320, 27, "Down" },
{ SDLK_KP_DIVIDE, 349, 49, 20, "Rew" },
{ SDLK_KP5, 349, 96, 20, "Play" },
{ SDLK_KP_5, 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_4, 106, 222, 28, "Cancel" },
{ SDLK_KP_6, 243, 220, 31, "Select" },
{ SDLK_KP_8, 176, 254, 34, "Up" },
{ SDLK_KP_2, 175, 371, 35, "Down" },
{ SDLK_KP_DIVIDE, 319, 63, 26, "Rew" },
{ SDLK_KP5, 320, 124, 26, "Play" },
{ SDLK_KP_5, 320, 124, 26, "Play" },
{ SDLK_KP_MULTIPLY, 320, 181, 32, "FF" },
#endif
{ 0, 0, 0, 0, "None" }

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -58,7 +58,7 @@ int key_to_button(int keyboard_button)
case SDLK_F1:
new_btn = BUTTON_REC;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -76,25 +76,25 @@ struct button_map bm[] = {
{ 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" },
{ SDLK_KP_5, 186, 227, 27, "5" },
{ SDLK_KP_8, 187, 185, 19, "8" },
{ SDLK_KP_4, 142, 229, 23, "4" },
{ SDLK_KP_6, 231, 229, 22, "6" },
{ SDLK_KP_2, 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_8, 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_4, 100, 353, 17, "Left" },
{ SDLK_KP_5, 140, 351, 19, "Navi" },
{ SDLK_KP_6, 185, 356, 19, "Right" },
{ SDLK_KP_PERIOD, 230, 380, 20, "AB" },
{ SDLK_KP2, 142, 402, 24, "Down" },
{ SDLK_KP_2, 142, 402, 24, "Down" },
{ SDLK_KP_ENTER, 211, 479, 21, "Stop" },
{ SDLK_KP_PLUS, 248, 513, 29, "Play" },
#endif

View file

@ -29,10 +29,10 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_PREV;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP_ENTER:
@ -44,15 +44,15 @@ int key_to_button(int keyboard_button)
case SDLK_INSERT:
new_btn = BUTTON_MENU;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;

View file

@ -53,28 +53,28 @@ int key_to_button(int keyboard_button)
case SDLK_DOWN:
new_btn = BUTTON_RC_DOWN;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_DISPLAY;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_MENU;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP4:
case SDLK_KP_4:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
@ -88,18 +88,18 @@ int key_to_button(int keyboard_button)
}
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_7, 80, 233, 30, "Menu" },
{ SDLK_KP_8, 138, 250, 19, "Up" },
{ SDLK_KP_9, 201, 230, 27, "Play" },
{ SDLK_KP_4, 63, 305, 25, "Left" },
{ SDLK_KP_5, 125, 309, 28, "Select" },
{ SDLK_KP_6, 200, 307, 35, "Right" },
{ SDLK_KP_1, 52, 380, 32, "Display" },
{ SDLK_KP_2, 125, 363, 30, "Down" },
{ SDLK_KP_9, 168, 425, 10, "Play" },
{ SDLK_KP_4, 156, 440, 11, "Left" },
{ SDLK_KP_6, 180, 440, 13, "Right" },
{ SDLK_KP_7, 169, 452, 10, "Menu" },
{ SDLK_KP_MULTIPLY, 222, 15, 16, "Power" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -68,9 +68,9 @@ int key_to_button(int keyboard_button)
}
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" },
{ SDLK_KP_9, 171, 609, 9, "Play" },
{ SDLK_KP_4, 158, 623, 9, "Left" },
{ SDLK_KP_6, 184, 622, 9, "Right" },
{ SDLK_KP_7, 171, 638, 11, "Menu" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,29 +29,29 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_PREV;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_MENU;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_OK;
break;
case SDLK_KP_DIVIDE:

View file

@ -30,31 +30,31 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_KP_ENTER:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_PAGEUP:
new_btn = BUTTON_FFWD;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_PAGEDOWN:
new_btn = BUTTON_REW;
break;
@ -67,12 +67,12 @@ int key_to_button(int keyboard_button)
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" },
{ SDLK_KP_7, 132, 208, 21, "Left" },
{ SDLK_KP_5, 182, 210, 18, "Play" },
{ SDLK_KP_9, 234, 211, 22, "Right" },
{ SDLK_KP_8, 182, 260, 15, "Up" },
{ SDLK_KP_4, 122, 277, 29, "Menu" },
{ SDLK_KP_6, 238, 276, 25, "Select" },
{ SDLK_KP_2, 183, 321, 24, "Down" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -30,31 +30,31 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_KP_ENTER:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_PAGEUP:
new_btn = BUTTON_FFWD;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_PAGEDOWN:
new_btn = BUTTON_REW;
break;
@ -69,15 +69,15 @@ int key_to_button(int keyboard_button)
}
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_9, 370, 32, 15, "FF" },
{ SDLK_KP_5, 369, 84, 25, "Play" },
{ SDLK_KP_5, 367, 125, 27, "Play" },
{ SDLK_KP_3, 369, 188, 17, "Rew" },
{ SDLK_KP_MINUS,370, 315, 15, "Rec On" },
{ SDLK_KP_PLUS, 370, 347, 15, "Rec Off" },
{ SDLK_KP4, 146, 252, 32, "Menu" },
{ SDLK_KP8, 204, 226, 27, "Up" },
{ SDLK_KP6, 257, 250, 34, "Select" },
{ SDLK_KP2, 205, 294, 35, "Down" },
{ SDLK_KP_4, 146, 252, 32, "Menu" },
{ SDLK_KP_8, 204, 226, 27, "Up" },
{ SDLK_KP_6, 257, 250, 34, "Select" },
{ SDLK_KP_2, 205, 294, 35, "Down" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -28,39 +28,39 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_PAGEUP:
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_MENU;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_BACK;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
case SDLK_KP_ENTER:
case SDLK_RETURN:
new_btn = BUTTON_SELECT;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_POWER;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_USER;
break;
}
@ -68,14 +68,14 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP7, 66, 423, 25, "Back" },
{ SDLK_KP8, 152, 406, 25, "Up" },
{ SDLK_KP9, 249, 429, 25, "Menu" },
{ SDLK_KP4, 105, 451, 25, "Left" },
{ SDLK_KP5, 155, 450, 25, "Select" },
{ SDLK_KP6, 208, 449, 25, "Right" },
{ SDLK_KP1, 65, 484, 25, "User" },
{ SDLK_KP2, 154, 501, 25, "Down" },
{ SDLK_KP3, 248, 484, 25, "Power" },
{ SDLK_KP_7, 66, 423, 25, "Back" },
{ SDLK_KP_8, 152, 406, 25, "Up" },
{ SDLK_KP_9, 249, 429, 25, "Menu" },
{ SDLK_KP_4, 105, 451, 25, "Left" },
{ SDLK_KP_5, 155, 450, 25, "Select" },
{ SDLK_KP_6, 208, 449, 25, "Right" },
{ SDLK_KP_1, 65, 484, 25, "User" },
{ SDLK_KP_2, 154, 501, 25, "Down" },
{ SDLK_KP_3, 248, 484, 25, "Power" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,37 +29,37 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_POWER;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_REC;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_KP_ENTER:
case SDLK_RETURN:
new_btn = BUTTON_SELECT;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_VOL_UP;
break;
}
@ -68,14 +68,14 @@ int key_to_button(int keyboard_button)
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" },
{ SDLK_KP_7, 84, 7, 21, "Vol Down" },
{ SDLK_KP_9, 158, 7, 20, "Vol Up" },
{ SDLK_KP_1, 173, 130, 27, "Record" },
{ SDLK_KP_5, 277, 75, 21, "Select" },
{ SDLK_KP_4, 233, 75, 24, "Left" },
{ SDLK_KP_6, 313, 74, 18, "Right" },
{ SDLK_KP_8, 276, 34, 15, "Play" },
{ SDLK_KP_2, 277, 119, 17, "Down" },
{ SDLK_KP_3, 314, 113, 19, "Menu" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,19 +29,19 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
@ -51,19 +51,19 @@ int key_to_button(int keyboard_button)
new_btn = BUTTON_HOME;
break;
case SDLK_SPACE:
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_SELECT;
break;
case SDLK_PAGEDOWN:
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_PAGEUP:
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_VOL_UP;
break;
case SDLK_ESCAPE:
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_POWER;
break;
}
@ -73,26 +73,26 @@ int key_to_button(int keyboard_button)
#ifdef SANSA_CLIPZIP
struct button_map bm[] = {
{ SDLK_KP_MULTIPLY, 31, 171, 12, "Home" },
{ SDLK_KP5, 81, 211, 10, "Select" },
{ SDLK_KP8, 81, 186, 13, "Play" },
{ SDLK_KP4, 32, 211, 14, "Left" },
{ SDLK_KP6, 112, 211, 14, "Right" },
{ SDLK_KP2, 81, 231, 14, "Menu" },
{ SDLK_KP_5, 81, 211, 10, "Select" },
{ SDLK_KP_8, 81, 186, 13, "Play" },
{ SDLK_KP_4, 32, 211, 14, "Left" },
{ SDLK_KP_6, 112, 211, 14, "Right" },
{ SDLK_KP_2, 81, 231, 14, "Menu" },
{ 0, 0, 0, 0, "None" }
};
#else
struct button_map bm[] = {
{ SDLK_KP_MULTIPLY, 166, 158, 12, "Home" },
{ SDLK_KP5, 101, 233, 19, "Select" },
{ SDLK_KP_5, 101, 233, 19, "Select" },
/* multiple entries allow rectangular regions */
{ SDLK_KP8, 98, 194, 19, "Play" },
{ SDLK_KP8, 104, 194, 19, "Play" },
{ SDLK_KP4, 62, 230, 19, "Left" },
{ SDLK_KP4, 62, 236, 19, "Left" },
{ SDLK_KP6, 140, 230, 19, "Right" },
{ SDLK_KP6, 140, 236, 19, "Right" },
{ SDLK_KP2, 98, 272, 19, "Menu" },
{ SDLK_KP2, 104, 272, 19, "Menu" },
{ SDLK_KP_8, 98, 194, 19, "Play" },
{ SDLK_KP_8, 104, 194, 19, "Play" },
{ SDLK_KP_4, 62, 230, 19, "Left" },
{ SDLK_KP_4, 62, 236, 19, "Left" },
{ SDLK_KP_6, 140, 230, 19, "Right" },
{ SDLK_KP_6, 140, 236, 19, "Right" },
{ SDLK_KP_2, 98, 272, 19, "Menu" },
{ SDLK_KP_2, 104, 272, 19, "Menu" },
{ 0, 0, 0, 0, "None" }
};
#endif

View file

@ -29,33 +29,33 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_PREV;
break;
case SDLK_PAGEUP:
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP_DIVIDE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
case SDLK_KP_ENTER:
case SDLK_RETURN:
@ -67,12 +67,10 @@ int key_to_button(int keyboard_button)
case SDLK_KP_MINUS:
new_btn = BUTTON_VOL_DOWN;
break;
case SDL_BUTTON_WHEELDOWN:
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_SCROLL_FWD;
break;
case SDL_BUTTON_WHEELUP:
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDLK_h:
@ -87,12 +85,12 @@ struct button_map bm[] = {
{ SDLK_DOWN, 191, 630, 18, "Down" },
{ SDLK_LEFT, 130, 568, 18, "Left" },
{ SDLK_RIGHT, 256, 568, 18, "Right" },
{ SDLK_KP7, 107, 443, 20, "Prev" },
{ SDLK_KP9, 271, 443, 20, "Next" },
{ SDLK_KP5, 191, 568, 18, "Select" },
{ SDLK_KP_7, 107, 443, 20, "Prev" },
{ SDLK_KP_9, 271, 443, 20, "Next" },
{ SDLK_KP_5, 191, 568, 18, "Select" },
{ SDLK_KP_DIVIDE, 220, 43, 15, "Power" },
{ SDLK_KP3, 231, 520, 10, "Scroll Fwd" },
{ SDLK_KP1, 149, 520, 10, "Scroll Back" },
{ SDLK_KP_3, 231, 520, 10, "Scroll Fwd" },
{ SDLK_KP_1, 149, 520, 10, "Scroll Back" },
{ SDLK_KP_MINUS, 3, 277, 25, "Volume -" },
{ SDLK_KP_PLUS, 6, 175, 25, "Volume +" },
{ SDLK_h, 300, 42, 20, "Hold" },

View file

@ -29,61 +29,55 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_PAGEUP:
new_btn = BUTTON_UP;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_PAGEDOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_HOME:
new_btn = BUTTON_POWER;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_END:
new_btn = BUTTON_REC;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
new_btn = BUTTON_SELECT;
break;
case SDL_BUTTON_WHEELUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDL_BUTTON_WHEELDOWN:
new_btn = BUTTON_SCROLL_FWD;
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" },
{ SDLK_KP_7, 5, 92, 18, "Record" },
{ SDLK_KP_9, 128, 295, 43, "Play" },
{ SDLK_KP_4, 42, 380, 33, "Left" },
{ SDLK_KP_5, 129, 378, 36, "Select" },
{ SDLK_KP_6, 218, 383, 30, "Right" },
{ SDLK_KP_3, 129, 461, 29, "Down" },
{ SDLK_KP_1, 55, 464, 20, "Menu" },
{ SDLK_KP_8, 92, 338, 17, "Scroll Back" },
{ SDLK_KP_2, 167, 342, 17, "Scroll Fwd" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,34 +29,32 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
case SDL_BUTTON_WHEELUP:
new_btn = BUTTON_SCROLL_BACK;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
case SDL_BUTTON_WHEELDOWN:
new_btn = BUTTON_SCROLL_FWD;
break;
case SDLK_PAGEUP:
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_UP;
break;
case SDLK_PAGEDOWN:
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_DOWN;
break;
case SDLK_KP_MINUS:
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_POWER;
break;
case SDLK_h:
@ -65,7 +63,7 @@ int key_to_button(int keyboard_button)
case SDLK_KP_MULTIPLY:
new_btn = BUTTON_HOME;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
case SDLK_KP_ENTER:
case SDLK_RETURN:
@ -76,14 +74,14 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP7, 70, 400, 15, "Back" },
{ SDLK_KP9, 142, 272, 15, "Play/Pause" },
{ SDLK_KP5, 142, 330, 26, "Select" },
{ SDLK_KP8, 70, 261, 26, "Up" },
{ SDLK_KP2, 219, 386, 26, "Down" },
{ SDLK_KP6, 199, 332, 26, "Right" },
{ SDLK_KP4, 77, 334, 26, "Left" },
{ SDLK_KP3, 140, 392, 26, "Menu" },
{ SDLK_KP_7, 70, 400, 15, "Back" },
{ SDLK_KP_9, 142, 272, 15, "Play/Pause" },
{ SDLK_KP_5, 142, 330, 26, "Select" },
{ SDLK_KP_8, 70, 261, 26, "Up" },
{ SDLK_KP_2, 219, 386, 26, "Down" },
{ SDLK_KP_6, 199, 332, 26, "Right" },
{ SDLK_KP_4, 77, 334, 26, "Left" },
{ SDLK_KP_3, 140, 392, 26, "Menu" },
{ SDLK_KP_MINUS, 265, 299, 17, "Power" },
{ SDLK_h, 270, 354, 19, "Hold" },
{ SDLK_KP_MULTIPLY, 231, 269, 16, "Home" },

View file

@ -29,30 +29,30 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_PAGEUP:
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_PLAYPAUSE;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_BACK;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_SPACE:
case SDLK_KP_ENTER:
case SDLK_RETURN:
@ -67,10 +67,10 @@ int key_to_button(int keyboard_button)
case SDLK_HOME:
new_btn = BUTTON_POWER;
break;
case SDLK_KP1:
case SDLK_KP_1:
new_btn = BUTTON_BOTTOMLEFT;
break;
case SDLK_KP3:
case SDLK_KP_3:
new_btn = BUTTON_BOTTOMRIGHT;
break;
}
@ -78,15 +78,15 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP7, 69, 401, 39, "Back" },
{ SDLK_KP8, 161, 404, 34, "Up" },
{ SDLK_KP9, 258, 400, 43, "Play/Pause" },
{ SDLK_KP4, 69, 477, 36, "Left" },
{ SDLK_KP5, 161, 476, 31, "Select" },
{ SDLK_KP6, 222, 474, 41, "Right" },
{ SDLK_KP1, 82, 535, 34, "Bottom-Left" },
{ SDLK_KP2, 162, 532, 33, "Down" },
{ SDLK_KP3, 234, 535, 42, "Bottom-Right" },
{ SDLK_KP_7, 69, 401, 39, "Back" },
{ SDLK_KP_8, 161, 404, 34, "Up" },
{ SDLK_KP_9, 258, 400, 43, "Play/Pause" },
{ SDLK_KP_4, 69, 477, 36, "Left" },
{ SDLK_KP_5, 161, 476, 31, "Select" },
{ SDLK_KP_6, 222, 474, 41, "Right" },
{ SDLK_KP_1, 82, 535, 34, "Bottom-Left" },
{ SDLK_KP_2, 162, 532, 33, "Down" },
{ SDLK_KP_3, 234, 535, 42, "Bottom-Right" },
{ SDLK_KP_PLUS, 1, 128, 29, "Vol+" },
{ SDLK_KP_MINUS, 5, 187, 30, "Vol-" },
{ SDLK_HOME, 170, 6, 50, "Power" },

View file

@ -29,32 +29,32 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_PLUS:
new_btn = BUTTON_POWER;
break;
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_SELECT;
break;
case SDLK_KP7:
case SDLK_KP_7:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_KP9:
case SDLK_KP_9:
new_btn = BUTTON_VOL_UP;
break;
}
@ -63,13 +63,13 @@ int key_to_button(int keyboard_button)
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_KP_7, 96, 13, 12, "Vol Down" },
{ SDLK_KP_9, 139, 14, 14, "Vol Up" },
{ SDLK_KP_5, 260, 82, 20, "Select" },
{ SDLK_KP_8, 258, 35, 30, "Play" },
{ SDLK_KP_4, 214, 84, 25, "Left" },
{ SDLK_KP_6, 300, 83, 24, "Right" },
{ SDLK_KP_2, 262, 125, 28, "Repeat" },
{ SDLK_h, 113, 151, 21, "Hold" },
{ 0, 0, 0, 0, "None" }
};

View file

@ -29,17 +29,17 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_PREV;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_RETURN:
case SDLK_SPACE:
new_btn = BUTTON_PLAY;

View file

@ -29,24 +29,24 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_LEFT:
new_btn = BUTTON_LEFT;
break;
case SDLK_KP6:
case SDLK_KP_6:
case SDLK_RIGHT:
new_btn = BUTTON_RIGHT;
break;
case SDLK_KP8:
case SDLK_KP_8:
case SDLK_UP:
new_btn = BUTTON_UP;
break;
case SDLK_KP2:
case SDLK_KP_2:
case SDLK_DOWN:
new_btn = BUTTON_DOWN;
break;
case SDLK_END:
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_ESCAPE:
case SDLK_DELETE:
new_btn = BUTTON_POWER;
@ -59,7 +59,7 @@ int key_to_button(int keyboard_button)
new_btn = BUTTON_VOL_DOWN;
break;
#endif
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_HOME:
case SDLK_BACKSPACE:
new_btn = BUTTON_BACK;
@ -68,7 +68,7 @@ int key_to_button(int keyboard_button)
case SDLK_RETURN:
case SDLK_SPACE:
case SDLK_INSERT:
case SDLK_KP5:
case SDLK_KP_5:
new_btn = BUTTON_PLAY;
break;
}

View file

@ -41,7 +41,7 @@ int key_to_button(int keyboard_button)
case SDLK_KP_MINUS:
new_btn = BUTTON_VOL_DOWN;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_HOME:
case SDLK_BACKSPACE:
new_btn = BUTTON_BACK;

View file

@ -28,30 +28,30 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_UP:
new_btn = BUTTON_PREV;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_DOWN:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_KP_ENTER:
case SDLK_SPACE:
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_END:
case SDLK_BACKSPACE:
new_btn = BUTTON_OPTION;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_ESCAPE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_HOME:
new_btn = BUTTON_HOME;
break;
@ -68,12 +68,12 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP4, 299, 335, 20, "Prev" },
{ SDLK_KP1, 299, 215, 20, "Next" },
{ SDLK_KP3, 299, 275, 20, "Play" },
{ SDLK_KP5, 299, 80, 20, "Option" },
{ SDLK_KP7, 0, 80, 20, "Power" },
{ SDLK_KP9, 299, 145, 20, "Home" },
{ SDLK_KP_4, 299, 335, 20, "Prev" },
{ SDLK_KP_1, 299, 215, 20, "Next" },
{ SDLK_KP_3, 299, 275, 20, "Play" },
{ SDLK_KP_5, 299, 80, 20, "Option" },
{ SDLK_KP_7, 0, 80, 20, "Power" },
{ SDLK_KP_9, 299, 145, 20, "Home" },
{ SDLK_KP_MINUS, 0, 145, 20, "Vol Up" },
{ SDLK_KP_PLUS, 0, 215, 20, "Vol Dn" },
{ 0, 0, 0, 0, "None" }

View file

@ -29,30 +29,30 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_UP:
new_btn = BUTTON_PREV;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_DOWN:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_KP_ENTER:
case SDLK_SPACE:
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_END:
case SDLK_BACKSPACE:
new_btn = BUTTON_OPTION;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_ESCAPE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_HOME:
new_btn = BUTTON_HOME;
break;
@ -69,12 +69,12 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP4, 68, 342, 17, "Prev" },
{ SDLK_KP1, 72, 404, 17, "Next" },
{ SDLK_KP3, 142, 374, 28, "Play" },
{ SDLK_KP5, 106, 288, 17, "Option" },
{ SDLK_KP7, 38, 244, 17, "Power" },
{ SDLK_KP9, 155, 244, 17, "Home" },
{ SDLK_KP_4, 68, 342, 17, "Prev" },
{ SDLK_KP_1, 72, 404, 17, "Next" },
{ SDLK_KP_3, 142, 374, 28, "Play" },
{ SDLK_KP_5, 106, 288, 17, "Option" },
{ SDLK_KP_7, 38, 244, 17, "Power" },
{ SDLK_KP_9, 155, 244, 17, "Home" },
{ SDLK_KP_MINUS, 192, 74, 17, "Vol Up" },
{ SDLK_KP_PLUS, 192, 132, 17, "Vol Dn" },
{ SDLK_h, 0, 66, 17, "Hold" },

View file

@ -29,30 +29,30 @@ int key_to_button(int keyboard_button)
int new_btn = BUTTON_NONE;
switch (keyboard_button)
{
case SDLK_KP4:
case SDLK_KP_4:
case SDLK_UP:
new_btn = BUTTON_PREV;
break;
case SDLK_KP1:
case SDLK_KP_1:
case SDLK_DOWN:
new_btn = BUTTON_NEXT;
break;
case SDLK_KP3:
case SDLK_KP_3:
case SDLK_KP_ENTER:
case SDLK_SPACE:
case SDLK_RETURN:
new_btn = BUTTON_PLAY;
break;
case SDLK_KP5:
case SDLK_KP_5:
case SDLK_END:
case SDLK_BACKSPACE:
new_btn = BUTTON_OPTION;
break;
case SDLK_KP7:
case SDLK_KP_7:
case SDLK_ESCAPE:
new_btn = BUTTON_POWER;
break;
case SDLK_KP9:
case SDLK_KP_9:
case SDLK_HOME:
new_btn = BUTTON_HOME;
break;
@ -69,12 +69,12 @@ int key_to_button(int keyboard_button)
}
struct button_map bm[] = {
{ SDLK_KP4, 214, 537, 20, "Prev" },
{ SDLK_KP1, 241, 488, 20, "Next" },
{ SDLK_KP3, 150, 488, 30, "Play" },
{ SDLK_KP5, 60, 488, 20, "Back" },
{ SDLK_KP7, 0, 60, 25, "Power" },
{ SDLK_KP9, 86, 537, 20, "Home" },
{ SDLK_KP_4, 214, 537, 20, "Prev" },
{ SDLK_KP_1, 241, 488, 20, "Next" },
{ SDLK_KP_3, 150, 488, 30, "Play" },
{ SDLK_KP_5, 60, 488, 20, "Back" },
{ SDLK_KP_7, 0, 60, 25, "Power" },
{ SDLK_KP_9, 86, 537, 20, "Home" },
{ SDLK_KP_MINUS, 0, 120, 25, "Vol Up" },
{ SDLK_KP_PLUS, 0, 200, 25, "Vol Dn" },
{ 0, 0, 0, 0, "None" }