diff options
author | Björn Stenberg <bjorn@haxx.se> | 2004-09-19 21:58:37 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2004-09-19 21:58:37 +0000 |
commit | 6c33c51a4ca9907d23e3154d956fd6781122f492 (patch) | |
tree | f0e598efaf064bb72c33c0a8a2edba4cf9ebb13c /uisimulator | |
parent | 17f54a40f100a3343a15a431d235699024aa76c8 (diff) | |
download | rockbox-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.c | 2 | ||||
-rw-r--r-- | uisimulator/win32/Makefile | 3 | ||||
-rw-r--r-- | uisimulator/win32/button.c | 31 | ||||
-rw-r--r-- | uisimulator/x11/Makefile | 7 | ||||
-rw-r--r-- | uisimulator/x11/button-x11.c | 32 |
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 | |||
23 | PLUGINDIR = $(APPDIR)/plugins | 23 | PLUGINDIR = $(APPDIR)/plugins |
24 | SIMCOMMON = ../common | 24 | SIMCOMMON = ../common |
25 | 25 | ||
26 | ISONDIO := $(findstring ONDIO, $(TARGET)) | ||
26 | ISPLAYER := $(findstring PLAYER, $(TARGET)) | 27 | ISPLAYER := $(findstring PLAYER, $(TARGET)) |
27 | ifeq ($(ISPLAYER), PLAYER) | 28 | ifeq ($(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 | ||
125 | OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) $(OBJDIR)/uisw32-res.o | 126 | OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) $(OBJDIR)/uisw32-res.o |
126 | 127 | ||
128 | ifneq ($(ISONDIO),ONDIO) | ||
127 | ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) | 129 | ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) |
128 | PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) | 130 | PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) |
131 | endif | ||
129 | 132 | ||
130 | all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS) | 133 | all: $(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 | |||
23 | PLUGINDIR = $(APPDIR)/plugins | 23 | PLUGINDIR = $(APPDIR)/plugins |
24 | SIMCOMMON = ../common | 24 | SIMCOMMON = ../common |
25 | 25 | ||
26 | ISONDIO := $(findstring ONDIO, $(TARGET)) | ||
26 | ISPLAYER := $(findstring PLAYER, $(TARGET)) | 27 | ISPLAYER := $(findstring PLAYER, $(TARGET)) |
27 | ifeq ($(ISPLAYER), PLAYER) | 28 | ifeq ($(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 | ||
143 | OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) | 144 | OBJS := $(OBJDIR)/lang.o $(SRCS:%.c=$(OBJDIR)/%.o) |
144 | 145 | ||
146 | ifneq ($(ISONDIO),ONDIO) | ||
145 | ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) | 147 | ROCKS := $(patsubst $(PLUGINDIR)/%.c,$(OBJDIR)/%.rock,$(wildcard $(PLUGINDIR)/*.c)) |
146 | PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) | 148 | PLUGINLIBOBJS := $(patsubst $(PLUGINDIR)/lib/%.c,$(OBJDIR)/%.o,$(wildcard $(PLUGINDIR)/lib/*.c)) |
149 | endif | ||
147 | 150 | ||
148 | all: $(TOOLSDIR)/convbdf $(EXEFILE) $(ROCKS) | 151 | all: $(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 | ||
251 | ifeq ($(UNAME),CYGWIN) | 254 | ifeq ($(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) |
255 | else | 258 | else |
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) |
259 | endif | 262 | 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) | |||
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 |