* $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.
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
[] = {
#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_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_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_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
[] = {