/[pearpc]/src/system/ui/sdl/syskeyboard.cc
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /src/system/ui/sdl/syskeyboard.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations)
Wed Sep 5 17:11:21 2007 UTC (16 years, 7 months ago) by dpavlin
File size: 1938 byte(s)
import upstream CVS
1 dpavlin 1 /*
2     * PearPC
3     * keyboard.cc - keyboardaccess functions for POSIX
4     *
5     * Copyright (C) 1999-2004 Stefan Weyergraf
6     * Copyright (C) 1999-2004 Sebastian Biallas (sb@biallas.net)
7     *
8     * This program is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2 as
10     * published by the Free Software Foundation.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20     */
21    
22     #include <cstdlib>
23    
24     #include <SDL.h>
25    
26     #include "system/display.h"
27     #include "system/keyboard.h"
28    
29     class SDLSystemKeyboard: public SystemKeyboard {
30     public:
31     virtual int getKeybLEDs()
32     {
33     int r = 0;
34     SDLMod keyMods = SDL_GetModState();
35     if (keyMods & KMOD_NUM)
36     r |= KEYB_LED_NUM;
37     if (keyMods & KMOD_CAPS)
38     r |= KEYB_LED_CAPS;
39     /*
40     if (keyMods & SDLK_SCROLLOCK)
41     r |= KEYB_LED_SCROLL;*/
42     return r;
43     }
44    
45     void setKeybLEDs(int leds)
46     {
47     #if 0
48     int r = getKeybLEDs() ^ leds;
49     SDLMod keyMods = SDL_GetModState();
50    
51     if (r & KEYB_LED_NUM && leds & KEYB_LED_NUM)
52     (int)keyMods |= KMOD_NUM;
53     else
54     (int)keyMods &= KMOD_NUM;
55    
56     if (r & KEYB_LED_CAPS && leds & KEYB_LED_CAPS)
57     (int)keyMods |= KMOD_CAPS;
58     else
59     (int)keyMods &= KMOD_CAPS;
60     /*
61     if (r & KEYB_LED_SCROLL && leds & KEYB_LED_SCROLL)
62     keyMods |= SDLK_SCROLLOCK;
63     else
64     keyMods &= SDLK_SCROLLOCK;
65     */
66     SDL_SetModState(keyMods);
67     #endif
68     }
69    
70     virtual bool handleEvent(const SystemEvent &ev)
71     {
72     return SystemKeyboard::handleEvent(ev);
73     }
74     };
75    
76     SystemKeyboard *allocSystemKeyboard()
77     {
78     if (gKeyboard) return NULL;
79     return new SDLSystemKeyboard();
80     }

  ViewVC Help
Powered by ViewVC 1.1.26