Subversion Repositories Kolibri OS

Rev

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));