4.4BSD/usr/src/contrib/X11R5-luna68k/mit/server/ddx/sol/solKMap.c

Compare this file to the similar file:
Show the results in this format:

/*
 * $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
};