summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2004-09-19 21:58:37 +0000
committerBjörn Stenberg <bjorn@haxx.se>2004-09-19 21:58:37 +0000
commit6c33c51a4ca9907d23e3154d956fd6781122f492 (patch)
treef0e598efaf064bb72c33c0a8a2edba4cf9ebb13c /uisimulator
parent17f54a40f100a3343a15a431d235699024aa76c8 (diff)
downloadrockbox-6c33c51a4ca9907d23e3154d956fd6781122f492.tar.gz
rockbox-6c33c51a4ca9907d23e3154d956fd6781122f492.zip
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
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/common/lcd-playersim.c2
-rw-r--r--uisimulator/win32/Makefile3
-rw-r--r--uisimulator/win32/button.c31
-rw-r--r--uisimulator/x11/Makefile7
-rw-r--r--uisimulator/x11/button-x11.c32
5 files changed, 62 insertions, 13 deletions
diff --git a/uisimulator/common/lcd-playersim.c b/uisimulator/common/lcd-playersim.c
index 3f3453b9a1..5c8ca92f32 100644
--- a/uisimulator/common/lcd-playersim.c
+++ b/uisimulator/common/lcd-playersim.c
@@ -102,7 +102,7 @@ void lcd_print_char(int x, int y)
102 static char bitmap_content[11*8][2*8]; 102 static char bitmap_content[11*8][2*8];
103 103
104 if (double_height == 2 && y == 1) 104 if (double_height == 2 && y == 1)
105 return; /* Second row can't be printed in double height. ??*/ 105 return; /* only one row available if text is double height */
106 106
107 for (col=0; col<5; col++) { 107 for (col=0; col<5; col++) {
108 unsigned char fontbitmap=(*font_player)[ch][col]; 108 unsigned char fontbitmap=(*font_player)[ch][col];
diff --git a/uisimulator/win32/Makefile b/uisimulator/win32/Makefile
index d105076f85..22ce4d65d1 100644
--- a/uisimulator/win32/Makefile
+++ b/uisimulator/win32/Makefile
@@ -23,6 +23,7 @@ PLAYDIR = $(APPDIR)/player
23PLUGINDIR = $(APPDIR)/plugins 23PLUGINDIR = $(APPDIR)/plugins
24SIMCOMMON = ../common 24SIMCOMMON = ../common
25 25
26ISONDIO := $(findstring ONDIO, $(TARGET))
26ISPLAYER := $(findstring PLAYER, $(TARGET)) 27ISPLAYER := $(findstring PLAYER, $(TARGET))
27ifeq ($(ISPLAYER), PLAYER) 28ifeq ($(ISPLAYER), PLAYER)
28 MACHINEDIR = $(PLAYDIR) 29 MACHINEDIR = $(PLAYDIR)
@@ -124,8 +125,10 @@ SRCS = button.c lcd-win32.c panic-win32.c thread-win32.c \
124 125
125OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) $(OBJDIR)/uisw32-res.o 126OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) $(OBJDIR)/uisw32-res.o
126 127
128ifneq ($(ISONDIO),ONDIO)
127ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) 129ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c))
128PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) 130PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c))
131endif
129 132
130all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS) 133all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS)
131 134
diff --git a/uisimulator/win32/button.c b/uisimulator/win32/button.c
index 0af6ff40a6..5d56456f6e 100644
--- a/uisimulator/win32/button.c
+++ b/uisimulator/win32/button.c
@@ -59,22 +59,38 @@ void button_event(int key, bool pressed)
59 case VK_RIGHT: 59 case VK_RIGHT:
60 new_btn = BUTTON_RIGHT; 60 new_btn = BUTTON_RIGHT;
61 break; 61 break;
62
62 case VK_NUMPAD8: 63 case VK_NUMPAD8:
63 case VK_UP: 64 case VK_UP:
65#ifdef BUTTON_UP
64 new_btn = BUTTON_UP; 66 new_btn = BUTTON_UP;
67#elif defined BUTTON_PLAY
68 new_btn = BUTTON_PLAY;
69#endif
65 break; 70 break;
71
66 case VK_NUMPAD2: 72 case VK_NUMPAD2:
67 case VK_DOWN: 73 case VK_DOWN:
74#ifdef BUTTON_DOWN
68 new_btn = BUTTON_DOWN; 75 new_btn = BUTTON_DOWN;
76#elif defined BUTTON_STOP
77 new_btn = BUTTON_STOP;
78#endif
69 break; 79 break;
80
81#ifdef BUTTON_ON
70 case VK_ADD: 82 case VK_ADD:
71 new_btn = BUTTON_ON; 83 new_btn = BUTTON_ON;
72 break; 84 break;
85#endif
73 86
74#ifdef HAVE_RECORDER_KEYPAD 87#ifdef BUTTON_OFF
75 case VK_RETURN: 88 case VK_RETURN:
76 new_btn = BUTTON_OFF; 89 new_btn = BUTTON_OFF;
77 break; 90 break;
91#endif
92
93#ifdef BUTTON_F1
78 case VK_DIVIDE: 94 case VK_DIVIDE:
79 case VK_F1: 95 case VK_F1:
80 new_btn = BUTTON_F1; 96 new_btn = BUTTON_F1;
@@ -87,11 +103,16 @@ void button_event(int key, bool pressed)
87 case VK_F3: 103 case VK_F3:
88 new_btn = BUTTON_F3; 104 new_btn = BUTTON_F3;
89 break; 105 break;
106#endif
107
108#ifdef BUTTON_PLAY
90 case VK_NUMPAD5: 109 case VK_NUMPAD5:
91 case VK_SPACE: 110 case VK_SPACE:
92 new_btn = BUTTON_PLAY; 111 new_btn = BUTTON_PLAY;
93 break; 112 break;
113#endif
94 114
115#ifdef HAVE_LCD_BITMAP
95 case VK_NUMPAD0: 116 case VK_NUMPAD0:
96 case VK_F5: 117 case VK_F5:
97 if(pressed) 118 if(pressed)
@@ -100,8 +121,14 @@ void button_event(int key, bool pressed)
100 return; 121 return;
101 } 122 }
102 break; 123 break;
103#else 124#endif
125
126#ifdef BUTTON_MENU
127#ifdef HAVE_PLAYER_KEYPAD
104 case VK_RETURN: 128 case VK_RETURN:
129#elif defined HAVE_ONDIO_KEYPAD
130 case VK_INSERT:
131#endif
105 new_btn = BUTTON_MENU; 132 new_btn = BUTTON_MENU;
106 break; 133 break;
107#endif 134#endif
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
23PLUGINDIR = $(APPDIR)/plugins 23PLUGINDIR = $(APPDIR)/plugins
24SIMCOMMON = ../common 24SIMCOMMON = ../common
25 25
26ISONDIO := $(findstring ONDIO, $(TARGET))
26ISPLAYER := $(findstring PLAYER, $(TARGET)) 27ISPLAYER := $(findstring PLAYER, $(TARGET))
27ifeq ($(ISPLAYER), PLAYER) 28ifeq ($(ISPLAYER), PLAYER)
28 MACHINEDIR = $(PLAYDIR) 29 MACHINEDIR = $(PLAYDIR)
@@ -142,8 +143,10 @@ SRCS = screenhack.c uibasic.c resources.c visual.c lcd-x11.c \
142 143
143OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) 144OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o)
144 145
146ifneq ($(ISONDIO),ONDIO)
145ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) 147ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c))
146PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) 148PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c))
149endif
147 150
148all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS) 151all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS)
149 152
@@ -249,11 +252,11 @@ $(OBJDIR)/%.o: %.c
249 $(CC) $(CFLAGS) -c $< -o $@ 252 $(CC) $(CFLAGS) -c $< -o $@
250 253
251ifeq ($(UNAME),CYGWIN) 254ifeq ($(UNAME),CYGWIN)
252$(EXEFILE): $(OBJS) $(OBJDIR)/libplugin.a 255$(EXEFILE): $(OBJS)
253 @echo LD $@ 256 @echo LD $@
254 @$(CC) -g -o $(EXEFILE) $(OBJS) $(LIBDIRS) $(LDFLAGS) $(LIBS) 257 @$(CC) -g -o $(EXEFILE) $(OBJS) $(LIBDIRS) $(LDFLAGS) $(LIBS)
255else 258else
256$(EXEFILE): $(OBJS) $(OBJDIR)/libplugin.a 259$(EXEFILE): $(OBJS)
257 @echo LD $@ 260 @echo LD $@
258 @$(CC) -g -o $(EXEFILE) $(LIBDIRS) $(LDFLAGS) $(OBJS) $(LIBS) 261 @$(CC) -g -o $(EXEFILE) $(LIBDIRS) $(LDFLAGS) $(OBJS) $(LIBS)
259endif 262endif
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)
75 case XK_KP_Up: 75 case XK_KP_Up:
76 case XK_Up: 76 case XK_Up:
77 case XK_KP_8: 77 case XK_KP_8:
78#ifdef BUTTON_UP
78 k = BUTTON_UP; 79 k = BUTTON_UP;
80#elif defined BUTTON_PLAY
81 k = BUTTON_PLAY;
82#endif
79 break; 83 break;
80 84
81 case XK_KP_Down: 85 case XK_KP_Down:
82 case XK_Down: 86 case XK_Down:
83 case XK_KP_2: 87 case XK_KP_2:
88#ifdef BUTTON_DOWN
84 k = BUTTON_DOWN; 89 k = BUTTON_DOWN;
90#elif defined BUTTON_STOP
91 k = BUTTON_STOP;
92#endif
85 break; 93 break;
86 94
87#ifdef HAVE_RECORDER_KEYPAD 95#ifdef BUTTON_PLAY
88 case XK_KP_Space: 96 case XK_KP_Space:
89 case XK_KP_5: 97 case XK_KP_5:
90 case XK_KP_Begin: 98 case XK_KP_Begin:
91 case XK_space: 99 case XK_space:
92 k = BUTTON_PLAY; 100 k = BUTTON_PLAY;
93 break; 101 break;
102#endif
94 103
104#ifdef BUTTON_OFF
95 case XK_KP_Enter: 105 case XK_KP_Enter:
96 case XK_A: 106 case XK_A:
97 case XK_a: 107 case XK_a:
98 k = BUTTON_OFF; 108 k = BUTTON_OFF;
99 break; 109 break;
110#endif
100 111
112#ifdef BUTTON_ON
101 case XK_KP_Add: 113 case XK_KP_Add:
102 case XK_Q: 114 case XK_Q:
103 case XK_q: 115 case XK_q:
104 k = BUTTON_ON; 116 k = BUTTON_ON;
105 break; 117 break;
118#endif
106 119
120#ifdef BUTTON_F1
107 case XK_KP_Divide: 121 case XK_KP_Divide:
108 case XK_1: 122 case XK_1:
109 k = BUTTON_F1; 123 k = BUTTON_F1;
@@ -118,7 +132,9 @@ static int get_raw_button (void)
118 case XK_3: 132 case XK_3:
119 k = BUTTON_F3; 133 k = BUTTON_F3;
120 break; 134 break;
135#endif
121 136
137#ifdef HAVE_LCD_BITMAP
122 case XK_5: 138 case XK_5:
123 if(!release) 139 if(!release)
124 { 140 {
@@ -126,16 +142,16 @@ static int get_raw_button (void)
126 return 0; 142 return 0;
127 } 143 }
128 break; 144 break;
145#endif
129 146
130#else 147#ifdef BUTTON_MENU
131 case XK_KP_Add: 148#ifdef HAVE_PLAYER_KEYPAD
132 case XK_Q:
133 case XK_q:
134 k = BUTTON_ON;
135 break;
136
137 case XK_KP_Enter: 149 case XK_KP_Enter:
138 case XK_Return: 150 case XK_Return:
151#elif defined HAVE_ONDIO_KEYPAD
152 case XK_KP_Insert:
153 case XK_Control_R:
154#endif
139 k = BUTTON_MENU; 155 k = BUTTON_MENU;
140 break; 156 break;
141#endif 157#endif