BSD 4_4_Lite1 development
[unix-history] / usr / src / contrib / X11R5-luna68k / mit / server / ddx / sol / solKMap.c
/*
* $XConsortium: omronKMap.c,v 1.1 91/06/29 13:48:59 xguest Exp $
*
* Copyright 1991 by OMRON Corporation
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of OMRON not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. OMRON makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OMRON
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include "sol.h"
#include "solKbd.h"
#define cT (ControlMask)
#define sH (ShiftMask)
#define lK (LockMask)
#define mT (Mod1Mask)
static CARD8 solDefKeyModeMap[MAP_LENGTH] = {
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cT, 0, sH, sH, lK, mT, /* 00-0f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 10-1f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20-2f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 30-3f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 40-4f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 50-5f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 60-6f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 70-7f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 80-8f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 90-9f */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* a0-af */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* b0-bf */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* c0-cf */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* d0-df */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* e0-ef */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* f0-ff */
};
CARD8 *solKeyModMap[] = {
solDefKeyModeMap,
};
#define XK_henkan XK_Kanji
#define XK_kakutei XK_Execute
static KeySym solDefKeyMap[] = {
/* NormalShift ShiftedShift */
XK_Tab, NoSymbol, /* 0x9 -> min KeyCode */
XK_Control_L, NoSymbol, /* 0xa */
NoSymbol, NoSymbol, /* 0xb -> kana Key */
XK_Shift_R, NoSymbol, /* 0xc */
XK_Shift_L, NoSymbol, /* 0xd */
XK_Caps_Lock, NoSymbol, /* 0xe */
XK_Meta_L, NoSymbol, /* 0xf -> zenmen Key */
XK_Escape, NoSymbol, /* 0x10 */
XK_BackSpace, NoSymbol, /* 0x11 */
XK_Return, NoSymbol, /* 0x12 */
NoSymbol, NoSymbol, /* 0x13 -> Nothing */
XK_space, NoSymbol, /* 0x14 */
XK_Delete, NoSymbol, /* 0x15 */
XK_henkan, NoSymbol, /* 0x16 -> Henkan Key */
XK_kakutei, NoSymbol, /* 0x17 -> Kakutei Key */
XK_F11, NoSymbol, /* 0x18 */
XK_F12, NoSymbol, /* 0x19 */
XK_F13, NoSymbol, /* 0x1a */
XK_F14, NoSymbol, /* 0x1b */
XK_Up, NoSymbol, /* 0x1c */
XK_Left, NoSymbol, /* 0x1d */
XK_Right, NoSymbol, /* 0x1e */
XK_Down, NoSymbol, /* 0x1f */
NoSymbol, NoSymbol, /* 0x20 -> Nothing */
NoSymbol, NoSymbol, /* 0x21 -> Nothing */
XK_1, XK_exclam, /* 0x22 */
XK_2, XK_quotedbl, /* 0x23 */
XK_3, XK_numbersign, /* 0x24 */
XK_4, XK_dollar, /* 0x25 */
XK_5, XK_percent, /* 0x26 */
XK_6, XK_ampersand, /* 0x27 */
XK_7, XK_quoteright, /* 0x28 */
XK_8, XK_parenleft, /* 0x29 */
XK_9, XK_parenright, /* 0x2a */
XK_0, NoSymbol, /* 0x2b */
XK_minus, XK_equal, /* 0x2c */
XK_asciicircum, XK_asciitilde, /* 0x2d */
XK_backslash, XK_bar, /* 0x2e */
NoSymbol, NoSymbol, /* 0x2f -> Nothing */
NoSymbol, NoSymbol, /* 0x30 -> Nothing */
NoSymbol, NoSymbol, /* 0x31 -> Nothing */
XK_q, XK_Q, /* 0x32 */
XK_w, XK_W, /* 0x33 */
XK_e, XK_E, /* 0x34 */
XK_r, XK_R, /* 0x35 */
XK_t, XK_T, /* 0x36 */
XK_y, XK_Y, /* 0x37 */
XK_u, XK_U, /* 0x38 */
XK_i, XK_I, /* 0x39 */
XK_o, XK_O, /* 0x3a */
XK_p, XK_P, /* 0x3b */
XK_at, XK_quoteleft, /* 0x3c */
XK_bracketleft, XK_braceleft, /* 0x3d */
NoSymbol, NoSymbol, /* 0x3e -> Nothing */
NoSymbol, NoSymbol, /* 0x3f -> Nothing */
NoSymbol, NoSymbol, /* 0x40 -> Nothing */
NoSymbol, NoSymbol, /* 0x41 -> Nothing */
XK_a, XK_A, /* 0x42 */
XK_s, XK_S, /* 0x43 */
XK_d, XK_D, /* 0x44 */
XK_f, XK_F, /* 0x45 */
XK_g, XK_G, /* 0x46 */
XK_h, XK_H, /* 0x47 */
XK_j, XK_J, /* 0x48 */
XK_k, XK_K, /* 0x49 */
XK_l, XK_L, /* 0x4a */
XK_semicolon, XK_plus, /* 0x4b */
XK_colon, XK_asterisk, /* 0x4c */
XK_bracketright, XK_braceright, /* 0x4d */
NoSymbol, NoSymbol, /* 0x4e -> Nothing */
NoSymbol, NoSymbol, /* 0x4f -> Nothing */
NoSymbol, NoSymbol, /* 0x50 -> Nothing */
NoSymbol, NoSymbol, /* 0x51 -> Nothing */
XK_z, XK_Z, /* 0x52 */
XK_x, XK_X, /* 0x53 */
XK_c, XK_C, /* 0x54 */
XK_v, XK_V, /* 0x55 */
XK_b, XK_B, /* 0x56 */
XK_n, XK_N, /* 0x57 */
XK_m, XK_M, /* 0x58 */
XK_comma, XK_less, /* 0x59 */
XK_period, XK_greater, /* 0x5a */
XK_slash, XK_question, /* 0x5b */
NoSymbol, XK_underscore, /* 0x5c */
NoSymbol, NoSymbol, /* 0x5d -> Nothing */
NoSymbol, NoSymbol, /* 0x5e -> Nothing */
NoSymbol, NoSymbol, /* 0x5f -> Nothing */
NoSymbol, NoSymbol, /* 0x60 -> Nothing */
XK_plus, NoSymbol, /* 0x61 */
XK_minus, NoSymbol, /* 0x62 */
XK_7, NoSymbol, /* 0x63 */
XK_8, NoSymbol, /* 0x64 */
XK_9, NoSymbol, /* 0x65 */
XK_4, NoSymbol, /* 0x66 */
XK_5, NoSymbol, /* 0x67 */
XK_6, NoSymbol, /* 0x68 */
XK_1, NoSymbol, /* 0x69 */
XK_2, NoSymbol, /* 0x6a */
XK_3, NoSymbol, /* 0x6b */
XK_0, NoSymbol, /* 0x6c */
XK_period, NoSymbol, /* 0x6d */
XK_Return, NoSymbol, /* 0x6e */
NoSymbol, NoSymbol, /* 0x6f */
NoSymbol, NoSymbol, /* 0x70 */
NoSymbol, NoSymbol, /* 0x71 */
XK_F1, NoSymbol, /* 0x72 */
XK_F2, NoSymbol, /* 0x73 */
XK_F3, NoSymbol, /* 0x74 */
XK_F4, NoSymbol, /* 0x75 */
XK_F5, NoSymbol, /* 0x76 */
XK_F6, NoSymbol, /* 0x77 */
XK_F7, NoSymbol, /* 0x78 */
XK_F8, NoSymbol, /* 0x79 */
XK_F9, NoSymbol, /* 0x7a */
XK_F10, NoSymbol, /* 0x7b */
XK_asterisk, XK_asterisk, /* 0x7c */
XK_slash, XK_slash, /* 0x7d */
XK_equal, XK_equal, /* 0x7e */
XK_comma, XK_comma, /* 0x7f */
/************************** Kana Code Table *****************************/
XK_Tab, NoSymbol, /* 0x80 */
NoSymbol, NoSymbol, /* 0x81 */
NoSymbol, NoSymbol, /* 0x82 */
NoSymbol, NoSymbol, /* 0x83 */
NoSymbol, NoSymbol, /* 0x84 */
NoSymbol, NoSymbol, /* 0x85 */
NoSymbol, NoSymbol, /* 0x86 */
XK_Escape, NoSymbol, /* 0x87 */
XK_BackSpace, NoSymbol, /* 0x88 */
XK_Return, NoSymbol, /* 0x89 */
NoSymbol, NoSymbol, /* 0x8a */
XK_space, NoSymbol, /* 0x8b */
XK_Delete, NoSymbol, /* 0x8c */
XK_henkan, NoSymbol, /* 0x8d */ /* HENKAN */
XK_kakutei, NoSymbol, /* 0x8e */ /* KAKUTEI */
XK_F11, NoSymbol, /* 0x8f */
XK_F12, NoSymbol, /* 0x90 */
XK_F13, NoSymbol, /* 0x91 */
XK_F14, NoSymbol, /* 0x92 */
XK_Up, NoSymbol, /* 0x93 */
XK_Left, NoSymbol, /* 0x94 */
XK_Right, NoSymbol, /* 0x95 */
XK_Down, NoSymbol, /* 0x96 */
NoSymbol, NoSymbol, /* 0x97 */
NoSymbol, NoSymbol, /* 0x98 */
XK_kana_NU, NoSymbol, /* 0x99 */
XK_kana_HU, NoSymbol, /* 0x9a */
XK_kana_A, XK_kana_a, /* 0x9b */
XK_kana_U, XK_kana_u, /* 0x9c */
XK_kana_E, XK_kana_e, /* 0x9d */
XK_kana_O, XK_kana_o, /* 0x9e */
XK_kana_YA, XK_kana_ya, /* 0x9f */
XK_kana_YU, XK_kana_yu, /* 0xa0 */
XK_kana_YO, XK_kana_yo, /* 0xa1 */
XK_kana_WA, XK_kana_WO, /* 0xa2 */
XK_kana_HO, NoSymbol, /* 0xa3 */
XK_kana_HE, NoSymbol, /* 0xa4 */
XK_prolongedsound, NoSymbol, /* 0xa5 */
NoSymbol, NoSymbol, /* 0xa6 */
NoSymbol, NoSymbol, /* 0xa7 */
NoSymbol, NoSymbol, /* 0xa8 */
XK_kana_TA, NoSymbol, /* 0xa9 */
XK_kana_TE, NoSymbol, /* 0xaa */
XK_kana_I, XK_kana_i, /* 0xab */
XK_kana_SU, NoSymbol, /* 0xac */
XK_kana_KA, NoSymbol, /* 0xad */
XK_kana_N, NoSymbol, /* 0xae */
XK_kana_NA, NoSymbol, /* 0xaf */
XK_kana_NI, NoSymbol, /* 0xb0 */
XK_kana_RA, NoSymbol, /* 0xb1 */
XK_kana_SE, NoSymbol, /* 0xb2 */
XK_voicedsound, NoSymbol, /* 0xb3 */
XK_semivoicedsound, XK_kana_openingbracket, /* 0xb4 */
NoSymbol, NoSymbol, /* 0xb5 */
NoSymbol, NoSymbol, /* 0xb6 */
NoSymbol, NoSymbol, /* 0xb7 */
NoSymbol, NoSymbol, /* 0xb8 */
XK_kana_TI, NoSymbol, /* 0xb9 */
XK_kana_TO, NoSymbol, /* 0xba */
XK_kana_SHI, NoSymbol, /* 0xbb */
XK_kana_HA, NoSymbol, /* 0xbc */
XK_kana_KI, NoSymbol, /* 0xbd */
XK_kana_KU, NoSymbol, /* 0xbe */
XK_kana_MA, NoSymbol, /* 0xbf */
XK_kana_NO, NoSymbol, /* 0xc0 */
XK_kana_RI, NoSymbol, /* 0xc1 */
XK_kana_RE, NoSymbol, /* 0xc2 */
XK_kana_KE, NoSymbol, /* 0xc3 */
XK_kana_MU, XK_kana_closingbracket, /* 0xc4 */
NoSymbol, NoSymbol, /* 0xc5 */
NoSymbol, NoSymbol, /* 0xc6 */
NoSymbol, NoSymbol, /* 0xc7 */
NoSymbol, NoSymbol, /* 0xc8 */
XK_kana_TU, XK_kana_tu, /* 0xc9 */
XK_kana_SA, NoSymbol, /* 0xca */
XK_kana_SO, NoSymbol, /* 0xcb */
XK_kana_HI, NoSymbol, /* 0xcc */
XK_kana_KO, NoSymbol, /* 0xcd */
XK_kana_MI, NoSymbol, /* 0xce */
XK_kana_MO, NoSymbol, /* 0xcf */
XK_kana_NE, XK_kana_comma, /* 0xd0 */
XK_kana_RU, XK_kana_fullstop, /* 0xd1 */
XK_kana_ME, XK_kana_middledot, /* 0xd2 */
XK_kana_RO, NoSymbol, /* 0xd3 */
NoSymbol, NoSymbol, /* 0xd4 */
NoSymbol, NoSymbol, /* 0xd5 */
NoSymbol, NoSymbol, /* 0xd6 */
NoSymbol, NoSymbol, /* 0xd7 */
XK_plus, NoSymbol, /* 0xd8 */
XK_minus, NoSymbol, /* 0xd9 */
XK_7, NoSymbol, /* 0xda */
XK_8, NoSymbol, /* 0xdb */
XK_9, NoSymbol, /* 0xdc */
XK_4, NoSymbol, /* 0xdd */
XK_5, NoSymbol, /* 0xde */
XK_6, NoSymbol, /* 0xdf */
XK_1, NoSymbol, /* 0xe0 */
XK_2, NoSymbol, /* 0xe1 */
XK_3, NoSymbol, /* 0xe2 */
XK_0, NoSymbol, /* 0xe3 */
XK_period, NoSymbol, /* 0xe4 */
XK_Return, NoSymbol, /* 0xe5 */
NoSymbol, NoSymbol, /* 0xe6 */
NoSymbol, NoSymbol, /* 0xe7 */
NoSymbol, NoSymbol, /* 0xe8 */
XK_F1, NoSymbol, /* 0xe9 */
XK_F2, NoSymbol, /* 0xea */
XK_F3, NoSymbol, /* 0xeb */
XK_F4, NoSymbol, /* 0xec */
XK_F5, NoSymbol, /* 0xed */
XK_F6, NoSymbol, /* 0xee */
XK_F7, NoSymbol, /* 0xef */
XK_F8, NoSymbol, /* 0xf0 */
XK_F9, NoSymbol, /* 0xf1 */
XK_F10, NoSymbol, /* 0xf2 */
XK_asterisk, XK_asterisk, /* 0xf3 */
XK_slash, XK_slash, /* 0xf4 */
XK_equal, XK_equal, /* 0xf5 */
XK_comma, XK_comma, /* 0xf6 -> maxKeyCode */
};
KeySymsRec solKeySyms[] = {
/* map minKeyCode maxKeyCode width */
solDefKeyMap, 0x9, 0xf6, 2
};
static unsigned char solDefAutoRepeats[AREPBUFSZ] = {
0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00
};
unsigned char *solAutoRepeats[] = {
solDefAutoRepeats
};