Rev 6384 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6384 | Rev 6386 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | #include |
1 | #include |
2 | #include |
2 | #include |
3 | #include |
3 | #include |
4 | #include |
- | |
5 | #include "SDL.h" |
4 | #include "SDL.h" |
6 | #include "SDL_sysevents.h" |
5 | #include "SDL_sysevents.h" |
7 | #include "SDL_sysvideo.h" |
6 | #include "SDL_sysvideo.h" |
8 | #include "SDL_events_c.h" |
7 | #include "SDL_events_c.h" |
9 | #include "SDL_menuetvideo.h" |
8 | #include "SDL_menuetvideo.h" |
Line 160... | Line 159... | ||
160 | void MenuetOS_PumpEvents(_THIS) |
159 | void MenuetOS_PumpEvents(_THIS) |
161 | { |
160 | { |
162 | int i; |
161 | int i; |
163 | SDL_keysym key; |
162 | SDL_keysym key; |
164 | static int ext_code=0; |
163 | static int ext_code=0; |
165 | static uint8_t old_mode=0; |
164 | static __u8 old_mode=0; |
166 | - | ||
167 | for (;;) { |
165 | for (;;) { |
168 | i=check_os_event(); |
166 | i=__menuet__check_for_event(); |
169 | unsigned int k; |
- | |
170 | - | ||
171 | switch(i) |
167 | switch(i) |
172 | { |
168 | { |
173 | case 0: |
169 | case 0: |
174 | return; |
170 | return; |
175 | case 1: |
171 | case 1: |
176 | - | ||
177 | MenuetOS_SDL_RepaintWnd(); |
172 | MenuetOS_SDL_RepaintWnd(); |
178 | break; |
173 | break; |
179 | - | ||
180 | case 2: |
174 | case 2: |
181 | __asm__ __volatile__("int $0x40":"=a"(k):"a"(2)); |
- | |
182 | key.scancode = (k >> 8) & 0xFF; |
175 | key.scancode = __menuet__getkey(); |
183 | - | ||
184 | if (key.scancode == 0xE0 || key.scancode == 0xE1) |
176 | if (key.scancode == 0xE0 || key.scancode == 0xE1) |
185 | {ext_code=key.scancode;break;} |
177 | {ext_code=key.scancode;break;} |
186 | - | ||
187 | if (ext_code == 0xE1 && (key.scancode & 0x7F) == 0x1D) { break;} |
178 | if (ext_code == 0xE1 && (key.scancode & 0x7F) == 0x1D) break; |
188 | if (ext_code == 0xE1 && key.scancode == 0xC5) {ext_code=0;break;} |
179 | if (ext_code == 0xE1 && key.scancode == 0xC5) {ext_code=0;break;} |
189 | key.mod = GetModState(); |
180 | key.mod = GetModState(); |
190 | if (ext_code == 0xE1) key.mod &= ~KMOD_CTRL; |
181 | if (ext_code == 0xE1) key.mod &= ~KMOD_CTRL; |
191 | if (!(key.scancode&0x80)) |
182 | if (!(key.scancode&0x80)) |
192 | old_mode = key.mod; |
183 | old_mode = key.mod; |
Line 205... | Line 196... | ||
205 | ext_code = 0; |
196 | ext_code = 0; |
206 | if (!key.sym) break; |
197 | if (!key.sym) break; |
207 | SDL_PrivateKeyboard(code,&key); |
198 | SDL_PrivateKeyboard(code,&key); |
208 | break; |
199 | break; |
209 | case 3: |
200 | case 3: |
210 | if(get_os_button()==1) exit(0); |
201 | if(__menuet__get_button_id()==1) exit(0); |
211 | break; |
202 | break; |
212 | case 6: { |
203 | case 6: { |
213 | int __tmp,mx,my; |
204 | int __tmp,mx,my; |
214 | static int oldmousestate = 0; |
205 | static int oldmousestate = 0; |
215 | __asm__("int $0x40":"=a"(__tmp):"a"(37),"b"(1)); |
206 | __asm__("int $0x40":"=a"(__tmp):"a"(37),"b"(1)); |