Subversion Repositories Kolibri OS

Rev

Rev 6351 | Rev 6386 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6351 Rev 6384
Line 161... Line 161...
161
{
161
{
162
 int i;
162
 int i;
163
 SDL_keysym key;
163
 SDL_keysym key;
164
 static int ext_code=0;
164
 static int ext_code=0;
165
 static uint8_t old_mode=0;
165
 static uint8_t old_mode=0;
-
 
166
 
166
 for (;;) {
167
 for (;;) {
167
   i=check_os_event();
168
   i=check_os_event();
-
 
169
   unsigned int k;
-
 
170
 
168
  switch(i)
171
   switch(i)
169
  {
172
     {
170
   case 0:
173
   case 0:
171
    return;
174
    return;
172
   case 1:
175
   case 1:
-
 
176
 
173
    MenuetOS_SDL_RepaintWnd();
177
    MenuetOS_SDL_RepaintWnd();
174
    break;
178
    break;
-
 
179
 
175
   case 2:
180
   case 2:
-
 
181
     __asm__ __volatile__("int $0x40":"=a"(k):"a"(2));
176
     key.scancode = get_key().code;
182
     key.scancode = (k >> 8) & 0xFF;
-
 
183
 
177
    if (key.scancode == 0xE0 || key.scancode == 0xE1)
184
    if (key.scancode == 0xE0 || key.scancode == 0xE1)
178
    {ext_code=key.scancode;break;}
185
    {ext_code=key.scancode;break;}
-
 
186
 
179
    if (ext_code == 0xE1 && (key.scancode & 0x7F) == 0x1D) break;
187
   if (ext_code == 0xE1 && (key.scancode & 0x7F) == 0x1D) { break;}
180
    if (ext_code == 0xE1 && key.scancode == 0xC5) {ext_code=0;break;}
188
    if (ext_code == 0xE1 && key.scancode == 0xC5) {ext_code=0;break;}
181
    key.mod = GetModState();
189
    key.mod = GetModState();
182
    if (ext_code == 0xE1) key.mod &= ~KMOD_CTRL;
190
    if (ext_code == 0xE1) key.mod &= ~KMOD_CTRL;
183
    if (!(key.scancode&0x80))
191
    if (!(key.scancode&0x80))
184
      old_mode = key.mod;
192
      old_mode = key.mod;