kbd.h

00001 /***************************************************************************
00002     begin                : Sun Feb 20 2005
00003     copyright            : (C) 2005 - 2006 by Alper Akcan
00004     email                : distchx@yahoo.com
00005  ***************************************************************************/
00006 
00007 /***************************************************************************
00008  *                                                                         *
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU Lesser General Public License as        *
00011  *   published by the Free Software Foundation; either version 2.1 of the  *
00012  *   License, or (at your option) any later version.                       *
00013  *                                                                         *
00014  ***************************************************************************/
00015 
00016 #define KEYCODE_KEYS    128
00017 #define KEYCODE_PLAIN   0
00018 #define KEYCODE_SHIFT   1
00019 #define KEYCODE_ALTGR   2
00020 #define KEYCODE_FLAGS   3
00021 
00022 #define NUM_VGAKEYMAPS  (1 << KG_CAPSSHIFT)
00023 static unsigned short s_video_helper_keybd_keymap[NUM_VGAKEYMAPS][NR_KEYS];
00024 
00025 static S_KEYCODE_CODE s_video_helper_keybd_keycode_[KEYCODE_KEYS][KEYCODE_FLAGS] = {
00026 /*  keycode,     plain name,            shift name,             altgr name */
00027 /*   0 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00028 /*   1 */       {S_KEYCODE_ESCAPE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00029 /*   2 */       {S_KEYCODE_ONE,         S_KEYCODE_EXCLAM,       S_KEYCODE_NOCODE},
00030 /*   3 */       {S_KEYCODE_TWO,         S_KEYCODE_AT,           S_KEYCODE_AT},
00031 /*   4 */       {S_KEYCODE_THREE,       S_KEYCODE_NUMBERSIGN,   S_KEYCODE_NOCODE},
00032 /*   5 */       {S_KEYCODE_FOUR,        S_KEYCODE_DOLLAR,       S_KEYCODE_DOLLAR},
00033 /*   6 */       {S_KEYCODE_FIVE,        S_KEYCODE_PERCENT,      S_KEYCODE_CURRENCY},
00034 /*   7 */       {S_KEYCODE_SIX,         S_KEYCODE_ASCIICIRCUM,  S_KEYCODE_NOCODE},
00035 /*   8 */       {S_KEYCODE_SEVEN,       S_KEYCODE_AMPERSAND,    S_KEYCODE_BRACELEFT},
00036 /*   9 */       {S_KEYCODE_EIGHT,       S_KEYCODE_ASTERISK,     S_KEYCODE_BRACKETLEFT},
00037 /*  10 */       {S_KEYCODE_NINE,        S_KEYCODE_PARENLEFT,    S_KEYCODE_BRACKETRIGHT},
00038 /*  11 */       {S_KEYCODE_ZERO,        S_KEYCODE_PARENRIGHT,   S_KEYCODE_BRACERIGHT},
00039 /*  12 */       {S_KEYCODE_MINUS,       S_KEYCODE_UNDERSCORE,   S_KEYCODE_BACKSLASH},
00040 /*  13 */       {S_KEYCODE_EQUAL,       S_KEYCODE_PLUS,         S_KEYCODE_NOCODE},
00041 /*  14 */       {S_KEYCODE_DELETE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00042 /*  15 */       {S_KEYCODE_TAB,         S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00043 /*  16 */       {S_KEYCODE_q,           S_KEYCODE_Q,            S_KEYCODE_NOCODE},
00044 /*  17 */       {S_KEYCODE_w,           S_KEYCODE_W,            S_KEYCODE_NOCODE},
00045 /*  18 */       {S_KEYCODE_e,           S_KEYCODE_E,            S_KEYCODE_NOCODE},
00046 /*  19 */       {S_KEYCODE_r,           S_KEYCODE_R,            S_KEYCODE_NOCODE},
00047 /*  20 */       {S_KEYCODE_t,           S_KEYCODE_T,            S_KEYCODE_NOCODE},
00048 /*  21 */       {S_KEYCODE_y,           S_KEYCODE_Y,            S_KEYCODE_NOCODE},
00049 /*  22 */       {S_KEYCODE_u,           S_KEYCODE_U,            S_KEYCODE_NOCODE},
00050 /*  23 */       {S_KEYCODE_i,           S_KEYCODE_I,            S_KEYCODE_NOCODE},
00051 /*  24 */       {S_KEYCODE_o,           S_KEYCODE_O,            S_KEYCODE_NOCODE},
00052 /*  25 */       {S_KEYCODE_p,           S_KEYCODE_P,            S_KEYCODE_NOCODE},
00053 /*  26 */       {S_KEYCODE_BRACKETLEFT, S_KEYCODE_BRACELEFT,    S_KEYCODE_NOCODE},
00054 /*  27 */       {S_KEYCODE_BRACKETRIGHT,S_KEYCODE_BRACERIGHT,   S_KEYCODE_ASCIITILDE},
00055 /*  28 */       {S_KEYCODE_RETURN,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00056 /*  29 */       {S_KEYCODE_LEFTCONTROL, S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00057 /*  30 */       {S_KEYCODE_a,           S_KEYCODE_A,            S_KEYCODE_NOCODE},
00058 /*  31 */       {S_KEYCODE_s,           S_KEYCODE_S,            S_KEYCODE_NOCODE},
00059 /*  32 */       {S_KEYCODE_d,           S_KEYCODE_D,            S_KEYCODE_NOCODE},
00060 /*  33 */       {S_KEYCODE_f,           S_KEYCODE_F,            S_KEYCODE_NOCODE},
00061 /*  34 */       {S_KEYCODE_g,           S_KEYCODE_G,            S_KEYCODE_NOCODE},
00062 /*  35 */       {S_KEYCODE_h,           S_KEYCODE_H,            S_KEYCODE_NOCODE},
00063 /*  36 */       {S_KEYCODE_j,           S_KEYCODE_J,            S_KEYCODE_NOCODE},
00064 /*  37 */       {S_KEYCODE_k,           S_KEYCODE_K,            S_KEYCODE_NOCODE},
00065 /*  38 */       {S_KEYCODE_l,           S_KEYCODE_L,            S_KEYCODE_NOCODE},
00066 /*  39 */       {S_KEYCODE_SEMICOLON,   S_KEYCODE_COLON,        S_KEYCODE_NOCODE},
00067 /*  40 */       {S_KEYCODE_APOSTROPHE,  S_KEYCODE_QUOTEDBL,     S_KEYCODE_NOCODE},
00068 /*  41 */       {S_KEYCODE_GRAVE,       S_KEYCODE_ASCIITILDE,   S_KEYCODE_NOCODE},
00069 /*  42 */       {S_KEYCODE_LEFTSHIFT,   S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00070 /*  43 */       {S_KEYCODE_BACKSLASH,   S_KEYCODE_BAR,          S_KEYCODE_NOCODE},
00071 /*  44 */       {S_KEYCODE_z,           S_KEYCODE_Z,            S_KEYCODE_NOCODE},
00072 /*  45 */       {S_KEYCODE_x,           S_KEYCODE_X,            S_KEYCODE_NOCODE},
00073 /*  46 */       {S_KEYCODE_c,           S_KEYCODE_C,            S_KEYCODE_CENT},
00074 /*  47 */       {S_KEYCODE_v,           S_KEYCODE_V,            S_KEYCODE_NOCODE},
00075 /*  48 */       {S_KEYCODE_b,           S_KEYCODE_B,            S_KEYCODE_NOCODE},
00076 /*  49 */       {S_KEYCODE_n,           S_KEYCODE_N,            S_KEYCODE_NOCODE},
00077 /*  50 */       {S_KEYCODE_m,           S_KEYCODE_M,            S_KEYCODE_NOCODE},
00078 /*  51 */       {S_KEYCODE_COMMA,       S_KEYCODE_LESS,         S_KEYCODE_NOCODE},
00079 /*  52 */       {S_KEYCODE_PERIOD,      S_KEYCODE_GREATER,      S_KEYCODE_NOCODE},
00080 /*  53 */       {S_KEYCODE_SLASH,       S_KEYCODE_QUESTION,     S_KEYCODE_NOCODE},
00081 /*  54 */       {S_KEYCODE_RIGHTSHIFT,  S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00082 /*  55 */       {S_KEYCODE_KP_MULTIPLY, S_KEYCODE_NOCODE,       S_KEYCODE_HEX_C},
00083 /*  56 */       {S_KEYCODE_ALT,         S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00084 /*  57 */       {S_KEYCODE_SPACE,       S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00085 /*  58 */       {S_KEYCODE_CAPS_LOCK,   S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00086 /*  59 */       {S_KEYCODE_F1,          S_KEYCODE_F13,          S_KEYCODE_NOCODE},
00087 /*  60 */       {S_KEYCODE_F2,          S_KEYCODE_F14,          S_KEYCODE_NOCODE},
00088 /*  61 */       {S_KEYCODE_F3,          S_KEYCODE_F15,          S_KEYCODE_NOCODE},
00089 /*  62 */       {S_KEYCODE_F4,          S_KEYCODE_F16,          S_KEYCODE_NOCODE},
00090 /*  63 */       {S_KEYCODE_F5,          S_KEYCODE_F17,          S_KEYCODE_NOCODE},
00091 /*  64 */       {S_KEYCODE_F6,          S_KEYCODE_F18,          S_KEYCODE_NOCODE},
00092 /*  65 */       {S_KEYCODE_F7,          S_KEYCODE_F19,          S_KEYCODE_NOCODE},
00093 /*  66 */       {S_KEYCODE_F8,          S_KEYCODE_F20,          S_KEYCODE_NOCODE},
00094 /*  67 */       {S_KEYCODE_F9,          S_KEYCODE_F21,          S_KEYCODE_NOCODE},
00095 /*  68 */       {S_KEYCODE_F10,         S_KEYCODE_F22,          S_KEYCODE_NOCODE},
00096 /*  69 */       {S_KEYCODE_NUM_LOCK,    S_KEYCODE_NOCODE,       S_KEYCODE_HEX_A},
00097 /*  70 */       {S_KEYCODE_SCROLL_LOCK, S_KEYCODE_SHOW_MEMORY,  S_KEYCODE_SHOW_REGISTERS},
00098 /*  71 */       {S_KEYCODE_KP_7,        S_KEYCODE_HOME,         S_KEYCODE_HEX_7},
00099 /*  72 */       {S_KEYCODE_KP_8,        S_KEYCODE_UP,           S_KEYCODE_HEX_8},
00100 /*  73 */       {S_KEYCODE_KP_9,        S_KEYCODE_PAGEUP,       S_KEYCODE_HEX_9},
00101 /*  74 */       {S_KEYCODE_KP_SUBTRACT, S_KEYCODE_NOCODE,       S_KEYCODE_HEX_D},
00102 /*  75 */       {S_KEYCODE_KP_4,        S_KEYCODE_LEFT,         S_KEYCODE_HEX_4},
00103 /*  76 */       {S_KEYCODE_KP_5,        S_KEYCODE_NOCODE,       S_KEYCODE_HEX_5},
00104 /*  77 */       {S_KEYCODE_KP_6,        S_KEYCODE_RIGHT,        S_KEYCODE_HEX_6},
00105 /*  78 */       {S_KEYCODE_KP_ADD,      S_KEYCODE_NOCODE,       S_KEYCODE_HEX_E},
00106 /*  79 */       {S_KEYCODE_KP_1,        S_KEYCODE_END,          S_KEYCODE_HEX_1},
00107 /*  80 */       {S_KEYCODE_KP_2,        S_KEYCODE_DOWN,         S_KEYCODE_HEX_2},
00108 /*  81 */       {S_KEYCODE_KP_3,        S_KEYCODE_PAGEDOWN,     S_KEYCODE_HEX_3},
00109 /*  82 */       {S_KEYCODE_KP_0,        S_KEYCODE_INSERT,       S_KEYCODE_HEX_0},
00110 /*  83 */       {S_KEYCODE_KP_PERIOD,   S_KEYCODE_REMOVE,       S_KEYCODE_NOCODE},
00111 /*  84 */       {S_KEYCODE_LAST_CONSOLE,S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00112 /*  85 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00113 /*  86 */       {S_KEYCODE_LESS,        S_KEYCODE_GREATER,      S_KEYCODE_BAR},
00114 /*  87 */       {S_KEYCODE_F11,         S_KEYCODE_F23,          S_KEYCODE_NOCODE},
00115 /*  88 */       {S_KEYCODE_F12,         S_KEYCODE_F24,          S_KEYCODE_NOCODE},
00116 /*  89 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00117 /*  90 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00118 /*  91 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00119 /*  92 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00120 /*  93 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00121 /*  94 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00122 /*  95 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00123 /*  96 */       {S_KEYCODE_KP_ENTER,    S_KEYCODE_NOCODE,       S_KEYCODE_HEX_F},
00124 /*  97 */       {S_KEYCODE_RIGHTCONTROL,S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00125 /*  98 */       {S_KEYCODE_KP_DIVIDE,   S_KEYCODE_NOCODE,       S_KEYCODE_HEX_B},
00126 /*  99 */       {S_KEYCODE_VOIDSYMBOL,  S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00127 /* 100 */       {S_KEYCODE_ALTGR,       S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00128 /* 101 */       {S_KEYCODE_BREAK,       S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00129 /* 102 */       {S_KEYCODE_HOME,        S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00130 /* 103 */       {S_KEYCODE_UP,          S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00131 /* 104 */       {S_KEYCODE_PAGEUP,      S_KEYCODE_SCROLL_BACKWARD,      S_KEYCODE_NOCODE},
00132 /* 105 */       {S_KEYCODE_LEFT,        S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00133 /* 106 */       {S_KEYCODE_RIGHT,       S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00134 /* 107 */       {S_KEYCODE_END,         S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00135 /* 108 */       {S_KEYCODE_DOWN,        S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00136 /* 109 */       {S_KEYCODE_PAGEDOWN,    S_KEYCODE_SCROLL_FORWARD,       S_KEYCODE_NOCODE},
00137 /* 110 */       {S_KEYCODE_INSERT,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00138 /* 111 */       {S_KEYCODE_REMOVE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00139 /* 112 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00140 /* 113 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00141 /* 114 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00142 /* 115 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00143 /* 116 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00144 /* 117 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00145 /* 118 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00146 /* 119 */       {S_KEYCODE_PAUSE,       S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00147 /* 120 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00148 /* 121 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00149 /* 122 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00150 /* 123 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00151 /* 124 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00152 /* 125 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00153 /* 126 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00154 /* 127 */       {S_KEYCODE_NOCODE,      S_KEYCODE_NOCODE,       S_KEYCODE_NOCODE},
00155 };

Generated on Wed Dec 27 17:53:06 2006 for xynth-0.8.40 by  doxygen 1.4.7