From 6c33c51a4ca9907d23e3154d956fd6781122f492 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Sun, 19 Sep 2004 21:58:37 +0000 Subject: Redesigned the button handling. The code now uses symbolic function defines instead of checking for specific buttons. This makes it easier to add support for new devices with different button layouts. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5091 a1c6a512-1295-4272-9138-f99709370657 --- uisimulator/x11/Makefile | 7 +++++-- uisimulator/x11/button-x11.c | 32 ++++++++++++++++++++++++-------- 2 files changed, 29 insertions(+), 10 deletions(-) (limited to 'uisimulator/x11') diff --git a/uisimulator/x11/Makefile b/uisimulator/x11/Makefile index 785e590623..2bc2cba267 100644 --- a/uisimulator/x11/Makefile +++ b/uisimulator/x11/Makefile @@ -23,6 +23,7 @@ PLAYDIR = $(APPDIR)/player PLUGINDIR = $(APPDIR)/plugins SIMCOMMON = ../common +ISONDIO := $(findstring ONDIO, $(TARGET)) ISPLAYER := $(findstring PLAYER, $(TARGET)) ifeq ($(ISPLAYER), PLAYER) MACHINEDIR = $(PLAYDIR) @@ -142,8 +143,10 @@ SRCS = screenhack.c uibasic.c resources.c visual.c lcd-x11.c \ OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) +ifneq ($(ISONDIO),ONDIO) ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) +endif all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS) @@ -249,11 +252,11 @@ $(OBJDIR)/%.o: %.c $(CC) $(CFLAGS) -c $< -o $@ ifeq ($(UNAME),CYGWIN) -$(EXEFILE): $(OBJS) $(OBJDIR)/libplugin.a +$(EXEFILE): $(OBJS) @echo LD $@ @$(CC) -g -o $(EXEFILE) $(OBJS) $(LIBDIRS) $(LDFLAGS) $(LIBS) else -$(EXEFILE): $(OBJS) $(OBJDIR)/libplugin.a +$(EXEFILE): $(OBJS) @echo LD $@ @$(CC) -g -o $(EXEFILE) $(LIBDIRS) $(LDFLAGS) $(OBJS) $(LIBS) endif diff --git a/uisimulator/x11/button-x11.c b/uisimulator/x11/button-x11.c index 951bf730c5..534568b658 100644 --- a/uisimulator/x11/button-x11.c +++ b/uisimulator/x11/button-x11.c @@ -75,35 +75,49 @@ static int get_raw_button (void) case XK_KP_Up: case XK_Up: case XK_KP_8: +#ifdef BUTTON_UP k = BUTTON_UP; +#elif defined BUTTON_PLAY + k = BUTTON_PLAY; +#endif break; case XK_KP_Down: case XK_Down: case XK_KP_2: +#ifdef BUTTON_DOWN k = BUTTON_DOWN; +#elif defined BUTTON_STOP + k = BUTTON_STOP; +#endif break; -#ifdef HAVE_RECORDER_KEYPAD +#ifdef BUTTON_PLAY case XK_KP_Space: case XK_KP_5: case XK_KP_Begin: case XK_space: k = BUTTON_PLAY; break; +#endif +#ifdef BUTTON_OFF case XK_KP_Enter: case XK_A: case XK_a: k = BUTTON_OFF; break; +#endif +#ifdef BUTTON_ON case XK_KP_Add: case XK_Q: case XK_q: k = BUTTON_ON; break; +#endif +#ifdef BUTTON_F1 case XK_KP_Divide: case XK_1: k = BUTTON_F1; @@ -118,7 +132,9 @@ static int get_raw_button (void) case XK_3: k = BUTTON_F3; break; +#endif +#ifdef HAVE_LCD_BITMAP case XK_5: if(!release) { @@ -126,16 +142,16 @@ static int get_raw_button (void) return 0; } break; +#endif -#else - case XK_KP_Add: - case XK_Q: - case XK_q: - k = BUTTON_ON; - break; - +#ifdef BUTTON_MENU +#ifdef HAVE_PLAYER_KEYPAD case XK_KP_Enter: case XK_Return: +#elif defined HAVE_ONDIO_KEYPAD + case XK_KP_Insert: + case XK_Control_R: +#endif k = BUTTON_MENU; break; #endif -- cgit v1.2.3