This is kbdef.h in view mode; [Download] [Up]
/* * kbdef.h - X11 keyboard definitions. * * Written by * Jouko Valta (jopi@stekt.oulu.fi) * Andre' Fachat (fachat@physik.tu-chemnitz.de) * Ettore Perazzoli (ettore@comm2000.it) * * This file is part of VICE, the Versatile Commodore Emulator. * See README for copyright notice. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA. * */ /* Keyboard definitions for the X11 keyboard driver. */ #ifndef _KBDEF_X_H #define _KBDEF_X_H enum shift_type { NO_SHIFT =(0), /* Key is not shifted. */ VIRTUAL_SHIFT =(1 << 0), /* The key needs a shift on the real machine. */ LEFT_SHIFT =(1 << 1), /* Key is left shift. */ RIGHT_SHIFT =(1 << 2), /* Key is right shift. */ ALLOW_SHIFT =(1 << 3), /* Allow key to be shifted. */ }; typedef struct { KeySym sym; int row; int column; enum shift_type shift; } keyconv; #if 0 /*********************************************************************/ #ifdef VIC20 #define ROW0 7 #define ROW7 0 #define COL3 7 #define COL7 3 #else #define ROW0 0 #define ROW7 7 #define COL3 3 #define COL7 7 #endif /* VIC20/C64/C128 keyboard maps. */ #ifndef PET static keyconv default_keyconvmap[] = { { XK_Delete, ROW0, 0, ALLOW_SHIFT }, /* del */ { XK_Return, ROW0, 1, ALLOW_SHIFT }, { XK_Right, ROW0, 2, ALLOW_SHIFT }, { XK_F7, ROW0, COL3, ALLOW_SHIFT }, { XK_F1, ROW0, 4, ALLOW_SHIFT }, { XK_F3, ROW0, 5, ALLOW_SHIFT }, { XK_F5, ROW0, 6, ALLOW_SHIFT }, { XK_Down, ROW0, COL7, ALLOW_SHIFT }, { XK_3, 1, 0, NO_SHIFT }, { XK_w, 1, 1, ALLOW_SHIFT }, { XK_a, 1, 2, ALLOW_SHIFT }, { XK_4, 1, COL3, NO_SHIFT }, { XK_z, 1, 4, ALLOW_SHIFT }, { XK_s, 1, 5, ALLOW_SHIFT }, { XK_e, 1, 6, ALLOW_SHIFT }, { XK_Shift_L, 1, COL7, LEFT_SHIFT }, { XK_5, 2, 0, NO_SHIFT }, { XK_r, 2, 1, ALLOW_SHIFT }, { XK_d, 2, 2, ALLOW_SHIFT }, { XK_6, 2, COL3, NO_SHIFT }, { XK_c, 2, 4, ALLOW_SHIFT }, { XK_f, 2, 5, ALLOW_SHIFT }, { XK_t, 2, 6, ALLOW_SHIFT }, { XK_x, 2, COL7, ALLOW_SHIFT }, { XK_7, 3, 0, NO_SHIFT }, { XK_y, 3, 1, ALLOW_SHIFT }, { XK_g, 3, 2, ALLOW_SHIFT }, { XK_8, 3, COL3, NO_SHIFT }, { XK_b, 3, 4, ALLOW_SHIFT }, { XK_h, 3, 5, ALLOW_SHIFT }, { XK_u, 3, 6, ALLOW_SHIFT }, { XK_v, 3, COL7, ALLOW_SHIFT }, { XK_9, 4, 0, NO_SHIFT }, { XK_i, 4, 1, ALLOW_SHIFT }, { XK_j, 4, 2, ALLOW_SHIFT }, { XK_0, 4, COL3, NO_SHIFT }, { XK_m, 4, 4, ALLOW_SHIFT }, { XK_k, 4, 5, ALLOW_SHIFT }, { XK_o, 4, 6, ALLOW_SHIFT }, { XK_n, 4, COL7, ALLOW_SHIFT }, { XK_plus, 5, 0, NO_SHIFT }, { XK_p, 5, 1, ALLOW_SHIFT }, { XK_l, 5, 2, ALLOW_SHIFT }, { XK_minus, 5, COL3, NO_SHIFT }, { XK_period, 5, 4, NO_SHIFT }, { XK_colon, 5, 5, NO_SHIFT }, { XK_at, 5, 6, NO_SHIFT }, /* shifted @ gives 'grave' */ { XK_comma, 5, COL7, NO_SHIFT }, { XK_sterling, 6, 0, NO_SHIFT }, /* Sterling Pound sign */ { XK_bar, 6, 0, ALLOW_SHIFT }, /* Sterling Pound sign */ { XK_asterisk, 6, 1, NO_SHIFT }, { XK_semicolon, 6, 2, NO_SHIFT }, { XK_Home, 6, COL3, ALLOW_SHIFT }, { XK_Shift_R, 6, 4, NO_SHIFT }, { XK_equal, 6, 5, NO_SHIFT }, { XK_asciicircum, 6, 6, NO_SHIFT }, /* Up arrow (US kbd) */ { XK_asciitilde, 6, 6, NO_SHIFT }, /* Up arrow (scandinavian kbd) */ { XK_slash, 6, COL7, NO_SHIFT }, { XK_1, ROW7, 0, NO_SHIFT }, { XK_underscore, ROW7, 1, NO_SHIFT }, /* Left arrow */ { XK_Control_L, ROW7, 2, ALLOW_SHIFT }, /* CNTRL */ { XK_2, ROW7, COL3, NO_SHIFT }, { XK_space, ROW7, 4, ALLOW_SHIFT }, { XK_Alt_L, ROW7, 5, ALLOW_SHIFT }, /* CBM */ { XK_Meta_L, ROW7, 5, ALLOW_SHIFT }, /* CBM */ { XK_q, ROW7, 6, ALLOW_SHIFT }, { XK_Escape, ROW7, COL7, ALLOW_SHIFT }, /* STOP */ { XK_BackSpace, ROW0, 0, ALLOW_SHIFT }, /* Del */ /* * Some keys for DECstations */ { XK_KP_F1, ROW0, 4, ALLOW_SHIFT }, /* F1 */ { XK_KP_F2, ROW0, 5, ALLOW_SHIFT }, /* F3 */ { XK_KP_F3, ROW0, 6, ALLOW_SHIFT }, /* F5 */ { XK_KP_F4, ROW0, 2, ALLOW_SHIFT }, /* F7 */ { XK_Insert, ROW0, 0, 16 }, /* Inst */ { XK_Find, 6, COL3, ALLOW_SHIFT }, /* Home */ #ifdef DECMAP { DXK_Remove, ROW0, 0, ALLOW_SHIFT }, /* del (DECkeysym.h) */ { XK_Help, ROW7, COL7, ALLOW_SHIFT }, /* because no real ESC-key on the keyboard /RH/ */ #endif /* * C128 Keyboard Extension * C128 Special keys, rows K1, K2 and K3 from the VIC-IIe * * Kx d02f dc01: * 08 fe KP_1 KP_7 KP_4 KP_2 Tab KP_5 KP_8 Help * 09 fd KP_3 KP_9 KP_6 KP_Entr LineFd KP_Minus KP_Plus Esc * 10 fb NoScroll Right Left Down Up KP_Dot KP_0 Alt * */ #ifdef C128 { XK_KP_1, 8, 7, ALLOW_SHIFT }, /* Numpad 1 */ { XK_KP_2, 8, 4, ALLOW_SHIFT }, /* Numpad 2 */ { XK_KP_3, 9, 7, ALLOW_SHIFT }, /* Numpad 3 */ { XK_KP_4, 8, 5, ALLOW_SHIFT }, /* Numpad 4 */ { XK_KP_5, 8, 2, ALLOW_SHIFT }, /* Numpad 5 */ { XK_KP_6, 9, 5, ALLOW_SHIFT }, /* Numpad 6 */ { XK_KP_7, 8, 6, ALLOW_SHIFT }, /* Numpad 7 */ { XK_KP_8, 8, 1, ALLOW_SHIFT }, /* Numpad 8 */ { XK_KP_9, 9, 6, ALLOW_SHIFT }, /* Numpad 9 */ { XK_KP_0, 10, 1, ALLOW_SHIFT }, /* Numpad 0 */ { XK_KP_Subtract, 9, 2, ALLOW_SHIFT }, /* Numpad - */ { XK_KP_Add, 0, 1, ALLOW_SHIFT }, /* Numpad + */ { XK_KP_Separator, 10, 2, ALLOW_SHIFT }, /* Numpad . */ #endif /* C128 */ /* * Shifted C64/128 keys */ { XK_Linefeed, ROW0, 1, VIRTUAL_SHIFT }, { XK_Left, ROW0, 2, VIRTUAL_SHIFT }, { XK_F8, ROW0, COL3, VIRTUAL_SHIFT }, { XK_F2, ROW0, 4, VIRTUAL_SHIFT }, { XK_F4, ROW0, 5, VIRTUAL_SHIFT }, { XK_F6, ROW0, 6, VIRTUAL_SHIFT }, { XK_Up, ROW0, COL7, VIRTUAL_SHIFT }, { XK_numbersign, 1, 0, VIRTUAL_SHIFT }, { XK_W, 1, 1, VIRTUAL_SHIFT }, { XK_A, 1, 2, VIRTUAL_SHIFT }, { XK_dollar, 1, COL3, VIRTUAL_SHIFT }, { XK_Z, 1, 4, VIRTUAL_SHIFT }, { XK_S, 1, 5, VIRTUAL_SHIFT }, { XK_E, 1, 6, VIRTUAL_SHIFT }, { XK_percent, 2, 0, VIRTUAL_SHIFT }, { XK_R, 2, 1, VIRTUAL_SHIFT }, { XK_D, 2, 2, VIRTUAL_SHIFT }, { XK_ampersand, 2, COL3, VIRTUAL_SHIFT }, { XK_C, 2, 4, VIRTUAL_SHIFT }, { XK_F, 2, 5, VIRTUAL_SHIFT }, { XK_T, 2, 6, VIRTUAL_SHIFT }, { XK_X, 2, COL7, VIRTUAL_SHIFT }, { XK_quoteright, 3, 0, VIRTUAL_SHIFT }, /* apostrophe */ { XK_Y, 3, 1, VIRTUAL_SHIFT }, { XK_G, 3, 2, VIRTUAL_SHIFT }, { XK_parenleft, 3, COL3, VIRTUAL_SHIFT }, { XK_B, 3, 4, VIRTUAL_SHIFT }, { XK_H, 3, 5, VIRTUAL_SHIFT }, { XK_U, 3, 6, VIRTUAL_SHIFT }, { XK_V, 3, COL7, VIRTUAL_SHIFT }, { XK_parenright, 4, 0, VIRTUAL_SHIFT }, { XK_I, 4, 1, VIRTUAL_SHIFT }, { XK_J, 4, 2, VIRTUAL_SHIFT }, { XK_M, 4, 4, VIRTUAL_SHIFT }, { XK_K, 4, 5, VIRTUAL_SHIFT }, { XK_O, 4, 6, VIRTUAL_SHIFT }, { XK_N, 4, COL7, VIRTUAL_SHIFT }, { XK_P, 5, 1, VIRTUAL_SHIFT }, { XK_L, 5, 2, VIRTUAL_SHIFT }, { XK_greater, 5, 4, VIRTUAL_SHIFT }, { XK_bracketleft, 5, 5, VIRTUAL_SHIFT }, { XK_grave, 5, 6, VIRTUAL_SHIFT }, /* shifted @ */ { XK_less, 5, COL7, VIRTUAL_SHIFT }, { XK_backslash, 6, 0, VIRTUAL_SHIFT }, { XK_bracketright, 6, 2, VIRTUAL_SHIFT }, #ifdef US_KBD { XK_asciitilde, 6, 6, NO_SHIFT }, /* shift up arrow (US kbd) */ #else { XK_asciicircum, 6, 6, ALLOW_SHIFT }, /* shift up arrow (scandinavian kbd) */ #endif { XK_question, 6, COL7, VIRTUAL_SHIFT }, { XK_exclam, ROW7, 0, VIRTUAL_SHIFT }, { XK_quotedbl, ROW7, COL3, VIRTUAL_SHIFT }, { XK_Q, ROW7, 6, VIRTUAL_SHIFT }, { 0, 0, 0, 0} }; /* End of VIC20/C64/C128 keyboard */ #else /* ------------------------------------------------------------------------- */ /* PET keyboard(s). */ /* PET 8032 Business Keyboard. */ static keyconv pet80map[] = { { XK_0, 1, 3, NO_SHIFT }, { XK_1, 1, 0, NO_SHIFT }, { XK_2, 0, 0, NO_SHIFT }, { XK_3, 9, 1, NO_SHIFT }, { XK_4, 1, 1, NO_SHIFT }, { XK_5, 0, 1, NO_SHIFT }, { XK_6, 9, 2, NO_SHIFT }, { XK_7, 1, 2, NO_SHIFT }, { XK_8, 0, 2, NO_SHIFT }, { XK_9, 9, 3, NO_SHIFT }, { XK_Control_L, 9, 4, ALLOW_SHIFT }, /* left Ctrl maps to run/stop */ { XK_Home, 8, 4, ALLOW_SHIFT }, { XK_Right, 0, 5, ALLOW_SHIFT }, { XK_Down, 5, 4, ALLOW_SHIFT }, { XK_Delete, 4, 7, NO_SHIFT }, /* del */ { XK_BackSpace, 4, 7, ALLOW_SHIFT }, /* inst/del */ { XK_Shift_L, 6, 0, LEFT_SHIFT }, { XK_Shift_R, 6, 6, RIGHT_SHIFT }, { XK_Return, 3, 4, NO_SHIFT }, { XK_Escape, 2, 0, NO_SHIFT }, /* Escape */ { XK_Alt_L, 8, 0, ALLOW_SHIFT }, /* Left Alt -> RVS */ { XK_Meta_L, 8, 0, ALLOW_SHIFT }, /* Left Meta -> RVS */ { XK_Control_R, 7, 6, ALLOW_SHIFT }, /* Right Ctrl -> RPT */ { XK_Tab, 4, 0, ALLOW_SHIFT }, /* Tab -> Tab */ #ifdef XK_ISO_Left_Tab { XK_ISO_Left_Tab, 4, 0, VIRTUAL_SHIFT }, /* Left Tab -> Shift-Tab */ #endif #ifdef hpXK_BackTab { hpXK_BackTab, 4, 0, VIRTUAL_SHIFT }, #endif #ifdef hpXK_KP_BackTab { hpXK_KP_BackTab, 4, 0, VIRTUAL_SHIFT }, #endif { XK_KP_0, 7, 4, ALLOW_SHIFT }, /* Numpad 0 */ { XK_KP_1, 8, 7, ALLOW_SHIFT }, /* Numpad 1 */ { XK_KP_2, 7, 7, ALLOW_SHIFT }, /* Numpad 2 */ { XK_KP_3, 6, 7, ALLOW_SHIFT }, /* Numpad 3 */ { XK_KP_4, 5, 7, ALLOW_SHIFT }, /* Numpad 4 */ { XK_KP_5, 2, 7, ALLOW_SHIFT }, /* Numpad 5 */ { XK_KP_6, 3, 7, ALLOW_SHIFT }, /* Numpad 6 */ { XK_KP_7, 1, 4, ALLOW_SHIFT }, /* Numpad 7 */ { XK_KP_8, 0, 4, ALLOW_SHIFT }, /* Numpad 8 */ { XK_KP_9, 1, 7, ALLOW_SHIFT }, /* Numpad 9 */ { XK_KP_Separator, 7, 3, NO_SHIFT }, { XK_KP_Multiply, 9, 5, VIRTUAL_SHIFT }, { XK_KP_Divide, 8, 6, NO_SHIFT }, { XK_KP_Add, 2, 6, VIRTUAL_SHIFT }, { XK_KP_Subtract, 0, 3, NO_SHIFT }, { XK_KP_Enter, 3, 4, NO_SHIFT }, { XK_KP_Decimal, 6, 4, NO_SHIFT }, /* Numpad . */ { XK_period, 6, 4, NO_SHIFT }, { XK_minus, 0, 3, NO_SHIFT }, { XK_space, 8, 2, NO_SHIFT }, { XK_colon, 9, 5, NO_SHIFT }, { XK_underscore, 9, 0, NO_SHIFT }, /* Left arrow */ { XK_comma, 7, 3, NO_SHIFT }, { XK_slash, 8, 6, NO_SHIFT }, { XK_semicolon, 2, 6, NO_SHIFT }, { XK_at, 3, 6, NO_SHIFT }, /* shifted @ gives 'grave' */ { XK_a, 3, 0, NO_SHIFT }, { XK_b, 6, 2, NO_SHIFT }, { XK_c, 6, 1, NO_SHIFT }, { XK_d, 3, 1, NO_SHIFT }, { XK_e, 5, 1, NO_SHIFT }, { XK_f, 2, 2, NO_SHIFT }, { XK_g, 3, 2, NO_SHIFT }, { XK_h, 2, 3, NO_SHIFT }, { XK_i, 4, 5, NO_SHIFT }, { XK_j, 3, 3, NO_SHIFT }, { XK_k, 2, 5, NO_SHIFT }, { XK_l, 3, 5, NO_SHIFT }, { XK_m, 8, 3, NO_SHIFT }, { XK_n, 7, 2, NO_SHIFT }, { XK_o, 5, 5, NO_SHIFT }, { XK_p, 4, 6, NO_SHIFT }, { XK_q, 5, 0, NO_SHIFT }, { XK_r, 4, 2, NO_SHIFT }, { XK_s, 2, 1, NO_SHIFT }, { XK_t, 5, 2, NO_SHIFT }, { XK_u, 5, 3, NO_SHIFT }, { XK_v, 7, 1, NO_SHIFT }, { XK_w, 4, 1, NO_SHIFT }, { XK_x, 8, 1, NO_SHIFT }, { XK_y, 4, 3, NO_SHIFT }, { XK_z, 7, 0, NO_SHIFT }, { XK_asciicircum, 1, 5, NO_SHIFT }, /* Up arrow (US kbd) */ { XK_asciitilde, 1, 5, NO_SHIFT }, /* Up arrow (scandinavian kbd) */ { XK_bracketright, 2, 5, NO_SHIFT }, { XK_bracketleft, 5, 6, NO_SHIFT }, /* * Shifted PET keys */ { XK_Insert, 4, 7, VIRTUAL_SHIFT }, { XK_Left, 0, 5, VIRTUAL_SHIFT }, { XK_Up, 5, 4, VIRTUAL_SHIFT }, { XK_A, 3, 0, VIRTUAL_SHIFT }, { XK_B, 6, 2, VIRTUAL_SHIFT }, { XK_C, 6, 1, VIRTUAL_SHIFT }, { XK_D, 3, 1, VIRTUAL_SHIFT }, { XK_E, 5, 1, VIRTUAL_SHIFT }, { XK_F, 2, 2, VIRTUAL_SHIFT }, { XK_G, 3, 2, VIRTUAL_SHIFT }, { XK_H, 2, 3, VIRTUAL_SHIFT }, { XK_I, 4, 5, VIRTUAL_SHIFT }, { XK_J, 3, 3, VIRTUAL_SHIFT }, { XK_K, 2, 5, VIRTUAL_SHIFT }, { XK_L, 3, 5, VIRTUAL_SHIFT }, { XK_M, 8, 3, VIRTUAL_SHIFT }, { XK_N, 7, 2, VIRTUAL_SHIFT }, { XK_O, 5, 5, VIRTUAL_SHIFT }, { XK_P, 4, 6, VIRTUAL_SHIFT }, { XK_Q, 5, 0, VIRTUAL_SHIFT }, { XK_R, 4, 2, VIRTUAL_SHIFT }, { XK_S, 2, 1, VIRTUAL_SHIFT }, { XK_T, 5, 2, VIRTUAL_SHIFT }, { XK_U, 5, 3, VIRTUAL_SHIFT }, { XK_V, 7, 1, VIRTUAL_SHIFT }, { XK_W, 4, 1, VIRTUAL_SHIFT }, { XK_X, 8, 1, VIRTUAL_SHIFT }, { XK_Y, 4, 3, VIRTUAL_SHIFT }, { XK_Z, 7, 0, VIRTUAL_SHIFT }, { XK_exclam, 1, 0, VIRTUAL_SHIFT }, { XK_quotedbl, 0, 0, VIRTUAL_SHIFT }, { XK_numbersign, 9, 1, VIRTUAL_SHIFT }, { XK_dollar, 1, 1, VIRTUAL_SHIFT }, { XK_percent, 0, 1, VIRTUAL_SHIFT }, { XK_ampersand, 9, 2, VIRTUAL_SHIFT }, { XK_quoteright, 1, 2, VIRTUAL_SHIFT }, /* apostrophe = shift 7 */ { XK_parenleft, 0, 2, VIRTUAL_SHIFT }, { XK_parenright, 9, 3, VIRTUAL_SHIFT }, { XK_asterisk, 9, 5, VIRTUAL_SHIFT }, { XK_plus, 2, 6, VIRTUAL_SHIFT }, { XK_less, 7, 3, VIRTUAL_SHIFT }, { XK_equal, 0, 3, VIRTUAL_SHIFT }, { XK_greater, 6, 3, VIRTUAL_SHIFT }, { XK_question, 8, 6, VIRTUAL_SHIFT }, { 0, 0, 0, 0} }; /* PET 3032/4032 Graphics Keyboard. */ keyconv pet40map[] = { { XK_Return, 6, 5, NO_SHIFT }, { XK_Down, 1, 6, ALLOW_SHIFT }, { XK_Right, 0, 7, ALLOW_SHIFT }, { XK_Home, 0, 6, ALLOW_SHIFT }, { XK_BackSpace, 1, 7, ALLOW_SHIFT }, { XK_Delete, 1, 7, NO_SHIFT }, { XK_Tab, 9, 0, ALLOW_SHIFT }, /* Tab -> rev/off */ { XK_KP_Tab, 9, 0, ALLOW_SHIFT }, #ifdef XK_ISO_Left_Tab { XK_ISO_Left_Tab, 9, 0, VIRTUAL_SHIFT }, /* Shift-Tab */ #endif #ifdef hpXK_BackTab { hpXK_BackTab, 9, 0, VIRTUAL_SHIFT }, /* Tab -> rev/off */ #endif #ifdef hpXK_KP_BackTab { hpXK_KP_BackTab, 9, 0, VIRTUAL_SHIFT }, /* Tab -> rev/off */ #endif { XK_Alt_L, 9, 0, ALLOW_SHIFT }, /* Left Alt -> rev/off */ { XK_Meta_L, 9, 0, ALLOW_SHIFT }, /* Left Meta -> rev/off */ { XK_Escape, 9, 4, ALLOW_SHIFT }, /* Escape -> Run/Stop */ { XK_Control_L, 9, 4, ALLOW_SHIFT }, /* Left Ctrl -> Run/Stop */ { XK_Find, 0, 6, NO_SHIFT }, /* Home */ { XK_Shift_L, 8, 0, LEFT_SHIFT }, { XK_Shift_R, 8, 5, RIGHT_SHIFT }, #ifdef DECMAP { DXK_Remove, 1, 7, NO_SHIFT }, /* del (DECkeysym.h) */ { XK_Help, 9, 4, ALLOW_SHIFT }, /* because there is no real ESC-key on the keyboard /RH/ */ #endif /* DECMAP */ { XK_a, 4, 0, NO_SHIFT }, { XK_b, 6, 2, NO_SHIFT }, { XK_c, 6, 1, NO_SHIFT }, { XK_d, 4, 1, NO_SHIFT }, { XK_e, 2, 1, NO_SHIFT }, { XK_f, 5, 1, NO_SHIFT }, { XK_g, 4, 2, NO_SHIFT }, { XK_h, 5, 2, NO_SHIFT }, { XK_i, 3, 3, NO_SHIFT }, { XK_j, 4, 3, NO_SHIFT }, { XK_k, 5, 3, NO_SHIFT }, { XK_l, 4, 4, NO_SHIFT }, { XK_m, 6, 3, NO_SHIFT }, { XK_n, 7, 2, NO_SHIFT }, { XK_o, 2, 4, NO_SHIFT }, { XK_p, 3, 4, NO_SHIFT }, { XK_q, 2, 0, NO_SHIFT }, { XK_r, 3, 1, NO_SHIFT }, { XK_s, 5, 0, NO_SHIFT }, { XK_t, 2, 2, NO_SHIFT }, { XK_u, 2, 3, NO_SHIFT }, { XK_v, 7, 1, NO_SHIFT }, { XK_w, 3, 0, NO_SHIFT }, { XK_x, 7, 0, NO_SHIFT }, { XK_y, 3, 2, NO_SHIFT }, { XK_z, 6, 0, NO_SHIFT }, { XK_KP_0, 8, 6, ALLOW_SHIFT }, { XK_KP_1, 6, 6, ALLOW_SHIFT }, { XK_KP_2, 7, 6, ALLOW_SHIFT }, { XK_KP_3, 6, 7, ALLOW_SHIFT }, { XK_KP_4, 4, 6, ALLOW_SHIFT }, { XK_KP_5, 5, 6, ALLOW_SHIFT }, { XK_KP_6, 4, 7, ALLOW_SHIFT }, { XK_KP_7, 2, 6, ALLOW_SHIFT }, { XK_KP_8, 3, 6, ALLOW_SHIFT }, { XK_KP_9, 2, 7, ALLOW_SHIFT }, { XK_KP_Separator, 7, 3, ALLOW_SHIFT }, { XK_KP_Multiply, 5, 7, ALLOW_SHIFT }, { XK_KP_Divide, 3, 7, ALLOW_SHIFT }, { XK_KP_Add, 7, 7, ALLOW_SHIFT }, { XK_KP_Subtract, 8, 7, ALLOW_SHIFT }, { XK_KP_Enter, 6, 5, ALLOW_SHIFT }, { XK_KP_Decimal, 9, 6, ALLOW_SHIFT }, /* Numpad . */ { XK_0, 8, 6, NO_SHIFT }, { XK_1, 6, 6, NO_SHIFT }, { XK_2, 7, 6, NO_SHIFT }, { XK_3, 6, 7, NO_SHIFT }, { XK_4, 4, 6, NO_SHIFT }, { XK_5, 5, 6, NO_SHIFT }, { XK_6, 4, 7, NO_SHIFT }, { XK_7, 2, 6, NO_SHIFT }, { XK_8, 3, 6, NO_SHIFT }, { XK_9, 2, 7, NO_SHIFT }, { XK_slash, 3, 7, NO_SHIFT }, { XK_bracketright, 1, 4, NO_SHIFT }, { XK_bracketleft, 0, 4, NO_SHIFT }, { XK_parenright, 1, 4, NO_SHIFT }, { XK_parenleft, 0, 4, NO_SHIFT }, { XK_question, 7, 4, NO_SHIFT }, { XK_dollar, 1, 1, NO_SHIFT }, { XK_asterisk, 5, 7, NO_SHIFT }, { XK_colon, 5, 4, NO_SHIFT }, { XK_comma, 7, 3, NO_SHIFT }, { XK_quotedbl, 1, 0, NO_SHIFT }, { XK_sterling, 1, 3, NO_SHIFT }, { XK_backslash, 1, 3, NO_SHIFT }, { XK_bar, 1, 3, NO_SHIFT }, { XK_numbersign, 0, 1, NO_SHIFT }, { XK_exclam, 0, 0, NO_SHIFT }, { XK_percent, 0, 2, NO_SHIFT }, { XK_plus, 7, 7, NO_SHIFT }, { XK_underscore, 0, 5, NO_SHIFT }, { XK_ampersand, 0, 3, NO_SHIFT }, { XK_semicolon, 6, 4, NO_SHIFT }, { XK_minus, 8, 7, NO_SHIFT }, { XK_equal, 9, 7, NO_SHIFT }, { XK_space, 9, 2, NO_SHIFT }, { XK_greater, 8, 4, NO_SHIFT }, { XK_less, 9, 3, NO_SHIFT }, { XK_period, 9, 6, NO_SHIFT }, { XK_at, 8, 1, NO_SHIFT }, { XK_asciicircum, 2, 5, NO_SHIFT }, /* up arrow (US kbd) */ { XK_asciitilde, 2, 5, NO_SHIFT }, /* up arrow (scandinavian kbd) */ /* shifted keys */ { XK_Left, 0, 7, VIRTUAL_SHIFT }, { XK_Up, 1, 6, VIRTUAL_SHIFT }, { XK_Insert, 1, 7, VIRTUAL_SHIFT }, { XK_Clear, 0, 6, VIRTUAL_SHIFT }, { XK_grave, 8, 1, VIRTUAL_SHIFT }, /* shifted @ */ { XK_W, 3, 0, VIRTUAL_SHIFT }, { XK_A, 4, 0, VIRTUAL_SHIFT }, { XK_Z, 6, 0, VIRTUAL_SHIFT }, { XK_S, 5, 0, VIRTUAL_SHIFT }, { XK_E, 2, 1, VIRTUAL_SHIFT }, { XK_R, 3, 1, VIRTUAL_SHIFT }, { XK_D, 4, 1, VIRTUAL_SHIFT }, { XK_C, 6, 1, VIRTUAL_SHIFT }, { XK_F, 5, 1, VIRTUAL_SHIFT }, { XK_T, 2, 2, VIRTUAL_SHIFT }, { XK_X, 7, 0, VIRTUAL_SHIFT }, { XK_Y, 3, 2, VIRTUAL_SHIFT }, { XK_G, 4, 2, VIRTUAL_SHIFT }, { XK_B, 6, 2, VIRTUAL_SHIFT }, { XK_H, 5, 2, VIRTUAL_SHIFT }, { XK_U, 2, 3, VIRTUAL_SHIFT }, { XK_V, 7, 1, VIRTUAL_SHIFT }, { XK_I, 3, 3, VIRTUAL_SHIFT }, { XK_J, 4, 3, VIRTUAL_SHIFT }, { XK_M, 6, 3, VIRTUAL_SHIFT }, { XK_K, 5, 3, VIRTUAL_SHIFT }, { XK_O, 2, 4, VIRTUAL_SHIFT }, { XK_N, 7, 2, VIRTUAL_SHIFT }, { XK_P, 3, 4, VIRTUAL_SHIFT }, { XK_L, 4, 4, VIRTUAL_SHIFT }, { XK_Q, 2, 0, VIRTUAL_SHIFT }, { 0, 0, 0, 0 } }; /* static keyconv *keyconvmap = pet80map; */ /* static int CONV_KEYS = sizeof(pet80map) / sizeof(keyconv); */ #endif /* PET */ #ifndef PET /* #define CONV_KEYS (sizeof(keyconvmap)/sizeof(keyconv)) */ #endif #endif /*******************************************************************/ static keyconv *keyconvmap = NULL; #endif /* !_KBDEF_X_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.