487 lines
19 KiB
C++
487 lines
19 KiB
C++
/*
|
|
* \brief Genode-specific event backend
|
|
* \author Stefan Kalkowski
|
|
* \date 2008-12-12
|
|
*/
|
|
|
|
/*
|
|
* Copyright (c) <2008> Stefan Kalkowski
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person
|
|
* obtaining a copy of this software and associated documentation
|
|
* files (the "Software"), to deal in the Software without
|
|
* restriction, including without limitation the rights to use,
|
|
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the
|
|
* Software is furnished to do so, subject to the following
|
|
* conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be
|
|
* included in all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
#include <base/printf.h>
|
|
#include <input_session/connection.h>
|
|
#include <input/event.h>
|
|
#include <input/keycodes.h>
|
|
|
|
extern "C" {
|
|
|
|
#include <SDL/SDL.h>
|
|
#include "SDL_events_c.h"
|
|
#include "SDL_sysevents.h"
|
|
#include "SDL_genode_fb_events.h"
|
|
|
|
static Input::Connection *input = 0;
|
|
static Input::Event *ev_buf = 0;
|
|
static const int KEYNUM_MAX = 512;
|
|
static SDLKey keymap[KEYNUM_MAX];
|
|
static int buttonmap[KEYNUM_MAX];
|
|
|
|
|
|
inline SDL_keysym *Genode_Fb_TranslateKey(int keycode, SDL_keysym *k)
|
|
{
|
|
k->scancode = keycode;
|
|
k->sym = keymap[keycode];
|
|
k->mod = SDL_GetModState();
|
|
k->unicode = keymap[keycode];
|
|
return k;
|
|
}
|
|
|
|
|
|
void Genode_Fb_PumpEvents(SDL_VideoDevice *t)
|
|
{
|
|
if (!input->is_pending())
|
|
return;
|
|
int num_ev = input->flush();
|
|
for (int src_ev_cnt = 0; src_ev_cnt < num_ev; src_ev_cnt++)
|
|
{
|
|
Input::Event curr = ev_buf[src_ev_cnt];
|
|
SDL_keysym ksym;
|
|
switch(curr.type())
|
|
{
|
|
case Input::Event::MOTION:
|
|
SDL_PrivateMouseMotion(0, 1, curr.rx(), curr.ry());
|
|
break;
|
|
case Input::Event::PRESS:
|
|
if(curr.code() >= Input::BTN_MISC &&
|
|
curr.code() <= Input::BTN_GEAR_UP)
|
|
SDL_PrivateMouseButton(SDL_PRESSED,
|
|
buttonmap[curr.code()],
|
|
0, 0);
|
|
else
|
|
SDL_PrivateKeyboard(SDL_PRESSED,
|
|
Genode_Fb_TranslateKey(curr.code(),
|
|
&ksym));
|
|
break;
|
|
case Input::Event::RELEASE:
|
|
if(curr.code() >= Input::BTN_MISC &&
|
|
curr.code() <= Input::BTN_GEAR_UP)
|
|
SDL_PrivateMouseButton(SDL_RELEASED,
|
|
buttonmap[curr.code()],
|
|
0, 0);
|
|
else
|
|
SDL_PrivateKeyboard(SDL_RELEASED,
|
|
Genode_Fb_TranslateKey(curr.code(),
|
|
&ksym));
|
|
break;
|
|
case Input::Event::WHEEL:
|
|
PWRN("Mouse wheel, not implemented yet!");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void Genode_Fb_InitOSKeymap(SDL_VideoDevice *t)
|
|
{
|
|
using namespace Input;
|
|
input = new(Genode::env()->heap()) Connection();
|
|
if(!input->cap().valid())
|
|
{
|
|
PERR("No input driver available!");
|
|
return;
|
|
}
|
|
|
|
/* Attach event buffer to address space */
|
|
ev_buf = Genode::env()->rm_session()->attach(input->dataspace());
|
|
|
|
/* Prepare button mappings */
|
|
for (int i=0; i<KEYNUM_MAX; i++)
|
|
{
|
|
switch(i)
|
|
{
|
|
case BTN_LEFT: buttonmap[i]=SDL_BUTTON_LEFT; break;
|
|
case BTN_RIGHT: buttonmap[i]=SDL_BUTTON_RIGHT; break;
|
|
case BTN_MIDDLE: buttonmap[i]=SDL_BUTTON_MIDDLE; break;
|
|
case BTN_0:
|
|
case BTN_1:
|
|
case BTN_2:
|
|
case BTN_3:
|
|
case BTN_4:
|
|
case BTN_5:
|
|
case BTN_6:
|
|
case BTN_7:
|
|
case BTN_8:
|
|
case BTN_9:
|
|
case BTN_SIDE:
|
|
case BTN_EXTRA:
|
|
case BTN_FORWARD:
|
|
case BTN_BACK:
|
|
case BTN_TASK:
|
|
case BTN_TRIGGER:
|
|
case BTN_THUMB:
|
|
case BTN_THUMB2:
|
|
case BTN_TOP:
|
|
case BTN_TOP2:
|
|
case BTN_PINKIE:
|
|
case BTN_BASE:
|
|
case BTN_BASE2:
|
|
case BTN_BASE3:
|
|
case BTN_BASE4:
|
|
case BTN_BASE5:
|
|
case BTN_BASE6:
|
|
case BTN_DEAD:
|
|
case BTN_A:
|
|
case BTN_B:
|
|
case BTN_C:
|
|
case BTN_X:
|
|
case BTN_Y:
|
|
case BTN_Z:
|
|
case BTN_TL:
|
|
case BTN_TR:
|
|
case BTN_TL2:
|
|
case BTN_TR2:
|
|
case BTN_SELECT:
|
|
case BTN_START:
|
|
case BTN_MODE:
|
|
case BTN_THUMBL:
|
|
case BTN_THUMBR:
|
|
case BTN_TOOL_PEN:
|
|
case BTN_TOOL_RUBBER:
|
|
case BTN_TOOL_BRUSH:
|
|
case BTN_TOOL_PENCIL:
|
|
case BTN_TOOL_AIRBRUSH:
|
|
case BTN_TOOL_FINGER:
|
|
case BTN_TOOL_MOUSE:
|
|
case BTN_TOOL_LENS:
|
|
case BTN_TOUCH:
|
|
case BTN_STYLUS:
|
|
case BTN_STYLUS2:
|
|
case BTN_TOOL_DOUBLETAP:
|
|
case BTN_TOOL_TRIPLETAP:
|
|
case BTN_GEAR_DOWN:
|
|
case BTN_GEAR_UP:
|
|
default: buttonmap[i]=0;
|
|
}
|
|
}
|
|
|
|
/* Prepare key mappings */
|
|
for(int i=0; i<KEYNUM_MAX; i++)
|
|
{
|
|
switch(i)
|
|
{
|
|
case KEY_RESERVED: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ESC: keymap[i]=SDLK_ESCAPE; break;
|
|
case KEY_1: keymap[i]=SDLK_1; break;
|
|
case KEY_2: keymap[i]=SDLK_2; break;
|
|
case KEY_3: keymap[i]=SDLK_3; break;
|
|
case KEY_4: keymap[i]=SDLK_4; break;
|
|
case KEY_5: keymap[i]=SDLK_5; break;
|
|
case KEY_6: keymap[i]=SDLK_6; break;
|
|
case KEY_7: keymap[i]=SDLK_7; break;
|
|
case KEY_8: keymap[i]=SDLK_8; break;
|
|
case KEY_9: keymap[i]=SDLK_9; break;
|
|
case KEY_0: keymap[i]=SDLK_0; break;
|
|
case KEY_MINUS: keymap[i]=SDLK_MINUS; break;
|
|
case KEY_EQUAL: keymap[i]=SDLK_EQUALS; break;
|
|
case KEY_BACKSPACE: keymap[i]=SDLK_BACKSPACE; break;
|
|
case KEY_TAB: keymap[i]=SDLK_TAB; break;
|
|
case KEY_Q: keymap[i]=SDLK_q; break;
|
|
case KEY_W: keymap[i]=SDLK_w; break;
|
|
case KEY_E: keymap[i]=SDLK_e; break;
|
|
case KEY_R: keymap[i]=SDLK_r; break;
|
|
case KEY_T: keymap[i]=SDLK_t; break;
|
|
case KEY_Y: keymap[i]=SDLK_y; break;
|
|
case KEY_U: keymap[i]=SDLK_u; break;
|
|
case KEY_I: keymap[i]=SDLK_i; break;
|
|
case KEY_O: keymap[i]=SDLK_o; break;
|
|
case KEY_P: keymap[i]=SDLK_p; break;
|
|
case KEY_LEFTBRACE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RIGHTBRACE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ENTER: keymap[i]=SDLK_KP_ENTER; break;
|
|
case KEY_LEFTCTRL: keymap[i]=SDLK_LCTRL; break;
|
|
case KEY_A: keymap[i]=SDLK_a; break;
|
|
case KEY_S: keymap[i]=SDLK_s; break;
|
|
case KEY_D: keymap[i]=SDLK_d; break;
|
|
case KEY_F: keymap[i]=SDLK_f; break;
|
|
case KEY_G: keymap[i]=SDLK_g; break;
|
|
case KEY_H: keymap[i]=SDLK_h; break;
|
|
case KEY_J: keymap[i]=SDLK_j; break;
|
|
case KEY_K: keymap[i]=SDLK_k; break;
|
|
case KEY_L: keymap[i]=SDLK_l; break;
|
|
case KEY_SEMICOLON: keymap[i]=SDLK_SEMICOLON; break;
|
|
case KEY_APOSTROPHE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_GRAVE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_LEFTSHIFT: keymap[i]=SDLK_LSHIFT; break;
|
|
case KEY_BACKSLASH: keymap[i]=SDLK_BACKSLASH; break;
|
|
case KEY_Z: keymap[i]=SDLK_z; break;
|
|
case KEY_X: keymap[i]=SDLK_x; break;
|
|
case KEY_C: keymap[i]=SDLK_c; break;
|
|
case KEY_V: keymap[i]=SDLK_v; break;
|
|
case KEY_B: keymap[i]=SDLK_b; break;
|
|
case KEY_N: keymap[i]=SDLK_n; break;
|
|
case KEY_M: keymap[i]=SDLK_m; break;
|
|
case KEY_COMMA: keymap[i]=SDLK_COMMA; break;
|
|
case KEY_DOT: keymap[i]=SDLK_PERIOD; break;
|
|
case KEY_SLASH: keymap[i]=SDLK_SLASH; break;
|
|
case KEY_RIGHTSHIFT: keymap[i]=SDLK_RSHIFT; break;
|
|
case KEY_KPASTERISK: keymap[i]=SDLK_ASTERISK; break;
|
|
case KEY_LEFTALT: keymap[i]=SDLK_LALT; break;
|
|
case KEY_SPACE: keymap[i]=SDLK_SPACE; break;
|
|
case KEY_CAPSLOCK: keymap[i]=SDLK_CAPSLOCK; break;
|
|
case KEY_F1: keymap[i]=SDLK_F1; break;
|
|
case KEY_F2: keymap[i]=SDLK_F2; break;
|
|
case KEY_F3: keymap[i]=SDLK_F3; break;
|
|
case KEY_F4: keymap[i]=SDLK_F4; break;
|
|
case KEY_F5: keymap[i]=SDLK_F5; break;
|
|
case KEY_F6: keymap[i]=SDLK_F6; break;
|
|
case KEY_F7: keymap[i]=SDLK_F7; break;
|
|
case KEY_F8: keymap[i]=SDLK_F8; break;
|
|
case KEY_F9: keymap[i]=SDLK_F9; break;
|
|
case KEY_F10: keymap[i]=SDLK_F10; break;
|
|
case KEY_NUMLOCK: keymap[i]=SDLK_NUMLOCK; break;
|
|
case KEY_SCROLLLOCK: keymap[i]=SDLK_SCROLLOCK; break;
|
|
case KEY_KP7: keymap[i]=SDLK_KP7; break;
|
|
case KEY_KP8: keymap[i]=SDLK_KP8; break;
|
|
case KEY_KP9: keymap[i]=SDLK_KP9; break;
|
|
case KEY_KPMINUS: keymap[i]=SDLK_KP_MINUS; break;
|
|
case KEY_KP4: keymap[i]=SDLK_KP4; break;
|
|
case KEY_KP5: keymap[i]=SDLK_KP5; break;
|
|
case KEY_KP6: keymap[i]=SDLK_KP6; break;
|
|
case KEY_KPPLUS: keymap[i]=SDLK_KP_PLUS; break;
|
|
case KEY_KP1: keymap[i]=SDLK_KP1; break;
|
|
case KEY_KP2: keymap[i]=SDLK_KP2; break;
|
|
case KEY_KP3: keymap[i]=SDLK_KP3; break;
|
|
case KEY_KP0: keymap[i]=SDLK_KP0; break;
|
|
case KEY_KPDOT: keymap[i]=SDLK_KP_PERIOD; break;
|
|
case KEY_ZENKAKUHANKAKU: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_102ND: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F11: keymap[i]=SDLK_F11; break;
|
|
case KEY_F12: keymap[i]=SDLK_F12; break;
|
|
case KEY_RO: keymap[i]=SDLK_EURO; break;
|
|
case KEY_KATAKANA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HIRAGANA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HENKAN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KATAKANAHIRAGANA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MUHENKAN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KPJPCOMMA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KPENTER: keymap[i]=SDLK_KP_ENTER; break;
|
|
case KEY_RIGHTCTRL: keymap[i]=SDLK_RCTRL; break;
|
|
case KEY_KPSLASH: keymap[i]=SDLK_KP_DIVIDE; break;
|
|
case KEY_SYSRQ: keymap[i]=SDLK_SYSREQ; break;
|
|
case KEY_RIGHTALT: keymap[i]=SDLK_RALT; break;
|
|
case KEY_LINEFEED: keymap[i]=SDLK_RETURN; break;
|
|
case KEY_HOME: keymap[i]=SDLK_HOME; break;
|
|
case KEY_UP: keymap[i]=SDLK_UP; break;
|
|
case KEY_PAGEUP: keymap[i]=SDLK_PAGEUP; break;
|
|
case KEY_LEFT: keymap[i]=SDLK_LEFT; break;
|
|
case KEY_RIGHT: keymap[i]=SDLK_RIGHT; break;
|
|
case KEY_END: keymap[i]=SDLK_END; break;
|
|
case KEY_DOWN: keymap[i]=SDLK_DOWN; break;
|
|
case KEY_PAGEDOWN: keymap[i]=SDLK_PAGEDOWN; break;
|
|
case KEY_INSERT: keymap[i]=SDLK_INSERT; break;
|
|
case KEY_DELETE: keymap[i]=SDLK_DELETE; break;
|
|
case KEY_MACRO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MUTE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VOLUMEDOWN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VOLUMEUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_POWER: keymap[i]=SDLK_POWER; break;
|
|
case KEY_KPEQUAL: keymap[i]=SDLK_KP_EQUALS; break;
|
|
case KEY_KPPLUSMINUS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PAUSE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KPCOMMA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HANGUEL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HANJA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_YEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_LEFTMETA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RIGHTMETA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_COMPOSE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_STOP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_AGAIN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROPS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_UNDO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FRONT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_COPY: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_OPEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PASTE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FIND: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CUT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HELP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MENU: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CALC: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SETUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SLEEP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_WAKEUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FILE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SENDFILE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DELETEFILE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_XFER: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROG1: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROG2: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_WWW: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MSDOS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_COFFEE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DIRECTION: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CYCLEWINDOWS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MAIL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BOOKMARKS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_COMPUTER: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BACK: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FORWARD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CLOSECD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EJECTCD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EJECTCLOSECD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_NEXTSONG: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PLAYPAUSE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PREVIOUSSONG: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_STOPCD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RECORD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_REWIND: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PHONE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ISO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CONFIG: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HOMEPAGE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_REFRESH: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EXIT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MOVE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EDIT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SCROLLUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SCROLLDOWN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KPLEFTPAREN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KPRIGHTPAREN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F13: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F14: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F15: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F16: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F17: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F18: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F19: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F20: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F21: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F22: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F23: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_F24: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PLAYCD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PAUSECD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROG3: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROG4: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SUSPEND: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CLOSE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PLAY: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FASTFORWARD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BASSBOOST: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PRINT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_HP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CAMERA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SOUND: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_QUESTION: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EMAIL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CHAT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SEARCH: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CONNECT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FINANCE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SPORT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SHOP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ALTERASE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CANCEL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BRIGHTNESSDOWN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BRIGHTNESSUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MEDIA: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_OK: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SELECT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_GOTO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CLEAR: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_POWER2: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_OPTION: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_INFO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TIME: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VENDOR: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ARCHIVE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PROGRAM: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CHANNEL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FAVORITES: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_EPG: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PVR: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MHP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_LANGUAGE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TITLE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SUBTITLE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ANGLE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_ZOOM: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MODE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_KEYBOARD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SCREEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PC: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TV: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TV2: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VCR: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VCR2: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SAT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SAT2: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TAPE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RADIO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TUNER: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PLAYER: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TEXT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DVD: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_AUX: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MP3: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_AUDIO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_VIDEO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DIRECTORY: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_LIST: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MEMO: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CALENDAR: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RED: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_GREEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_YELLOW: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BLUE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CHANNELUP: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_CHANNELDOWN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_FIRST: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_LAST: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_AB: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_NEXT: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_RESTART: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SLOW: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_SHUFFLE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_BREAK: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_PREVIOUS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DIGITS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TEEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_TWEN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DEL_EOL: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DEL_EOS: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_INS_LINE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_DEL_LINE: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_UNKNOWN: keymap[i]=SDLK_UNKNOWN; break;
|
|
case KEY_MAX: keymap[i]=SDLK_UNKNOWN; break;
|
|
default:
|
|
keymap[i]=SDLK_UNKNOWN;
|
|
}
|
|
}
|
|
}
|
|
}//exern"C"
|