DESC IBM 101/102 keymap - Spanish

; XVision Keymap
;  
; Fields: VKcode (VKcode name)  Extended Key  Flags (Flag letter)
;         KeySym (KeySym name) ...
; Flags field:   0x01=(S)ShortcutKey,   0x02=(T)ToggleKey,
;                0x04=(M)ModifierKey,   0x08=(N)NumlockableKey,
;                0x10=(U)ForceToggleUp, 0x20=(D)ForceToggleDown
; KeySym fields: Unshifted  Shifted  Modifier2  Shift+Modifier2

0x08 (VK_BACK)      0 0x00       0xff08 (BackSpace)     0xff08 (BackSpace)
0x09 (VK_TAB)       0 0x01 (S)   0xff09 (Tab)           0xff09 (Tab)
0x0c (VK_CLEAR)     0 0x08 (N)   0xff0b (Clear)
0x0d (VK_RETURN)    0 0x00       0xff0d (Return)
0x0d (VK_RETURN)    1 0x00       0xff8d (KP_Enter)
0x10 (VK_SHIFT)     0 0x04 (M)   0xffe1 (Shift_L)
0x11 (VK_CONTROL)   0 0x04 (M)   0xffe3 (Control_L)
0x11 (VK_CONTROL)   1 0x04 (M)   0xffe4 (Control_R)
0x12 (VK_MENU)      0 0x04 (M)   0xffe9 (Alt_L)
0x12 (VK_MENU)      1 0x04 (M)   0xffea (Alt_R)
0x13 (VK_PAUSE)     0 0x00       0xff13 (Pause)
0x14 (VK_CAPITAL)   0 0x06 (TM)  0xffe5 (Caps_Lock)
0x1b (VK_ESCAPE)    0 0x01 (S)   0xff1b (Escape)        0xff1b (Escape)
0x20 (VK_SPACE)     0 0x01 (S)   0x0020 (space)         0x0020 (space)
0x21 (VK_PRIOR)     0 0x08 (N)   0xff55 (Prior)
0x21 (VK_PRIOR)     1 0x00       0xff55 (Prior)
0x22 (VK_NEXT)      0 0x08 (N)   0xff56 (Next)
0x22 (VK_NEXT)      1 0x00       0xff56 (Next)
0x23 (VK_END)       0 0x08 (N)   0xff57 (End)
0x23 (VK_END)       1 0x00       0xff57 (End)
0x24 (VK_HOME)      0 0x08 (N)   0xff50 (Home)
0x24 (VK_HOME)      1 0x00       0xff50 (Home)
0x25 (VK_LEFT)      0 0x08 (N)   0xff51 (Left)
0x25 (VK_LEFT)      1 0x00       0xff51 (Left)
0x26 (VK_UP)        0 0x08 (N)   0xff52 (Up)
0x26 (VK_UP)        1 0x00       0xff52 (Up)
0x27 (VK_RIGHT)     0 0x08 (N)   0xff53 (Right)
0x27 (VK_RIGHT)     1 0x00       0xff53 (Right)
0x28 (VK_DOWN)      0 0x08 (N)   0xff54 (Down)
0x28 (VK_DOWN)      1 0x00       0xff54 (Down)
0x29 (VK_SELECT)    0 0x00       0xff60 (Select)
0x2a (VK_PRINT)     0 0x00       0xff61 (Print)
0x2b (VK_EXECUTE)   0 0x00       0xff62 (Execute)
0x2d (VK_INSERT)    0 0x08 (N)   0xff63 (Insert)
0x2d (VK_INSERT)    1 0x00       0xff63 (Insert)
0x2e (VK_DELETE)    0 0x08 (N)   0xffff (Delete)
0x2e (VK_DELETE)    1 0x00       0xffff (Delete)
0x2f (VK_HELP)      0 0x00       0xff6a (Help)
0x30 (VK_0) 0 0x00 0x0030 (0) 0x003d (equal) 0x007d (braceright)
0x31 (VK_1) 0 0x00 0x0031 (1) 0x0021 (exclam) 0x007c (bar)
0x32 (VK_2) 0 0x00 0x0032 (2) 0x0022 (quotedbl) 0x0040 (at)
0x33 (VK_3) 0 0x00 0x0033 (3) 0x0023 (numbersign) 0x00a3 (sterling)
0x34 (VK_4) 0 0x00 0x0034 (4) 0x00a4 (currency) 0x0024 (dollar)
0x35 (VK_5)         0 0x00       0x0035 (5)             0x0025 (percent)
0x36 (VK_6) 0 0x00 0x0036 (6) 0x0026 (ampersand) 0x00ac (notsign)
0x37 (VK_7) 0 0x00 0x0037 (7) 0x002f (slash) 0x007b (braceleft)
0x38 (VK_8) 0 0x00 0x0038 (8) 0x0028 (parenleft) 0x005b (bracketleft)
0x39 (VK_9) 0 0x00 0x0039 (9) 0x0029 (parenright) 0x005d (bracketright)
0x41 (VK_A)         0 0x00       0x0061 (a)             0x0041 (A)
0x42 (VK_B)         0 0x00       0x0062 (b)             0x0042 (B)
0x43 (VK_C)         0 0x00       0x0063 (c)             0x0043 (C)
0x44 (VK_D)         0 0x00       0x0064 (d)             0x0044 (D)
0x45 (VK_E)         0 0x00       0x0065 (e)             0x0045 (E)
0x46 (VK_F)         0 0x00       0x0066 (f)             0x0046 (F)
0x47 (VK_G)         0 0x00       0x0067 (g)             0x0047 (G)
0x48 (VK_H)         0 0x00       0x0068 (h)             0x0048 (H)
0x49 (VK_I)         0 0x00       0x0069 (i)             0x0049 (I)
0x4a (VK_J)         0 0x00       0x006a (j)             0x004a (J)
0x4b (VK_K)         0 0x00       0x006b (k)             0x004b (K)
0x4c (VK_L)         0 0x00       0x006c (l)             0x004c (L)
0x4d (VK_M) 0 0x00 0x006d (m) 0x004d (M) 0x00b5 (mu)
0x4e (VK_N)         0 0x00       0x006e (n)             0x004e (N)
0x4f (VK_O)         0 0x00       0x006f (o)             0x004f (O)
0x50 (VK_P)         0 0x00       0x0070 (p)             0x0050 (P)
0x51 (VK_Q)         0 0x00       0x0071 (q)             0x0051 (Q)
0x52 (VK_R)         0 0x00       0x0072 (r)             0x0052 (R)
0x53 (VK_S)         0 0x00       0x0073 (s)             0x0053 (S)
0x54 (VK_T)         0 0x00       0x0074 (t)             0x0054 (T)
0x55 (VK_U)         0 0x00       0x0075 (u)             0x0055 (U)
0x56 (VK_V)         0 0x00       0x0076 (v)             0x0056 (V)
0x57 (VK_W)         0 0x00       0x0077 (w)             0x0057 (W)
0x58 (VK_X)         0 0x00       0x0078 (x)             0x0058 (X)
0x59 (VK_Y)         0 0x00       0x0079 (y)             0x0059 (Y)
0x5a (VK_Z)         0 0x00       0x007a (z)             0x005a (Z)
0x60 (VK_NUMPAD0)   0 0x00       0xffb0 (KP_0)          0xffb0 (KP_0)
0x61 (VK_NUMPAD1)   0 0x00       0xffb1 (KP_1)          0xffb1 (KP_1)
0x62 (VK_NUMPAD2)   0 0x00       0xffb2 (KP_2)          0xffb2 (KP_2)
0x63 (VK_NUMPAD3)   0 0x00       0xffb3 (KP_3)          0xffb3 (KP_3)
0x64 (VK_NUMPAD4)   0 0x00       0xffb4 (KP_4)          0xffb4 (KP_4)
0x65 (VK_NUMPAD5)   0 0x00       0xffb5 (KP_5)          0xffb5 (KP_5)
0x66 (VK_NUMPAD6)   0 0x00       0xffb6 (KP_6)          0xffb6 (KP_6)
0x67 (VK_NUMPAD7)   0 0x00       0xffb7 (KP_7)          0xffb7 (KP_7)
0x68 (VK_NUMPAD8)   0 0x00       0xffb8 (KP_8)          0xffb8 (KP_8)
0x69 (VK_NUMPAD9)   0 0x00       0xffb9 (KP_9)          0xffb9 (KP_9)
0x6a (VK_MULTIPLY)  0 0x00       0xffaa (KP_Multiply)   0xffaa (KP_Multiply)
0x6b (VK_ADD)       0 0x00       0xffab (KP_Add)        0xffab (KP_Add)
0x6c (VK_SEPARATOR) 0 0x00       0xffac (KP_Separator)
0x6d (VK_SUBTRACT)  0 0x00       0xffad (KP_Subtract)   0xffad (KP_Subtract)
0x6e (VK_DECIMAL)   0 0x00       0xffae (KP_Decimal)    0xffae (KP_Decimal)
0x6f (VK_DIVIDE)    0 0x00       0xffaf (KP_Divide)     0x002f (slash)
0x6f (VK_DIVIDE)    1 0x00       0xffaf (KP_Divide)
0x70 (VK_F1)        0 0x00       0xffbe (F1)
0x71 (VK_F2)        0 0x00       0xffbf (F2)
0x72 (VK_F3)        0 0x00       0xffc0 (F3)
0x73 (VK_F4)        0 0x01 (S)   0xffc1 (F4)
0x74 (VK_F5)        0 0x01 (S)   0xffc2 (F5)
0x75 (VK_F6)        0 0x01 (S)   0xffc3 (F6)
0x76 (VK_F7)        0 0x01 (S)   0xffc4 (F7)
0x77 (VK_F8)        0 0x01 (S)   0xffc5 (F8)
0x78 (VK_F9)        0 0x01 (S)   0xffc6 (F9)
0x79 (VK_F10)       0 0x01 (S)   0xffc7 (F10)
0x7a (VK_F11)       0 0x00       0xffc8 (F11)
0x7b (VK_F12)       0 0x00       0xffc9 (F12)
0x7c (VK_F13)       0 0x00       0xffca (F13)
0x7d (VK_F14)       0 0x00       0xffcb (F14)
0x7e (VK_F15)       0 0x00       0xffcc (F15)
0x7f (VK_F16)       0 0x00       0xffcd (F16)
0x80 (VK_F17)       0 0x00       0xffce (F17)
0x81 (VK_F18)       0 0x00       0xffcf (F18)
0x82 (VK_F19)       0 0x00       0xffd0 (F19)
0x83 (VK_F20)       0 0x00       0xffd1 (F20)
0x84 (VK_F21)       0 0x00       0xffd2 (F21)
0x85 (VK_F22)       0 0x00       0xffd3 (F22)
0x86 (VK_F23)       0 0x00       0xffd4 (F23)
0x87 (VK_F24)       0 0x00       0xffd5 (F24)
0x90 (VK_NUMLOCK)   0 0x02 (T)   0xff7f (Num_Lock)
0x90 (VK_NUMLOCK)   1 0x02 (T)   0xff7f (Num_Lock)
0x91 (VK_SCROLL)    0 0x02 (T)   0xff14 (Scroll_Lock)
0xba (VK_????) 0 0x00 0x00a8 (diaeresis) 0x005e (asciicircum) 0x007e (asciitilde) 0x007e (asciitilde)
0xbb (VK_????) 0 0x00 0x002b (plus) 0x003f (question) 0x005c (backslash)
0xbc (VK_????)      0 0x00       0x002c (comma)         0x003b (semicolon)
0xbd (VK_????)      0 0x00       0x002d (minus)         0x005f (underscore)
0xbe (VK_????)      0 0x00       0x002e (period)        0x003a (colon)
0xbf (VK_????) 0 0x00 0x0027 (apostrophe) 0x002a (asterisk) 0x007d (braceright)
0xc0 (VK_????)      0 0x00       0x00f6 (odiaeresis)    0x00d6 (Odiaeresis)
0xdb (VK_????)      0 0x00       0x00b4 (acute)         0x0060 (grave)
0xdc (VK_????) 0 0x00 0x00a7 (section) 0x00bd (onehalf) 0x005c (backslash)
0xdd (VK_????)      0 0x00       0x00e5 (aring)         0x00c5 (Aring)
0xde (VK_????) 0 0x00 0x00e4 (adiaeresis) 0x00c4 (Adiaeresis) 0x007b (braceleft)
0xe2 (VK_????) 0 0x00 0x003c (less) 0x003e (greater) 0x007c (bar)
0xfe (VK_????)      0 0x04 (M)   0xff7e (Mode_switch)

; Numlock Table
;  
; NumlockID  MainVKcode     MainEx       RawVKcode      RawEx 
NUMLOCK 0x0c (VK_CLEAR)     0  0x65 (VK_NUMPAD5)   0
NUMLOCK 0x21 (VK_PRIOR)     0  0x69 (VK_NUMPAD9)   0
NUMLOCK 0x22 (VK_NEXT)      0  0x63 (VK_NUMPAD3)   0
NUMLOCK 0x23 (VK_END)       0  0x61 (VK_NUMPAD1)   0
NUMLOCK 0x24 (VK_HOME)      0  0x67 (VK_NUMPAD7)   0
NUMLOCK 0x25 (VK_LEFT)      0  0x64 (VK_NUMPAD4)   0
NUMLOCK 0x26 (VK_UP)        0  0x68 (VK_NUMPAD8)   0
NUMLOCK 0x27 (VK_RIGHT)     0  0x66 (VK_NUMPAD6)   0
NUMLOCK 0x28 (VK_DOWN)      0  0x62 (VK_NUMPAD2)   0
NUMLOCK 0x2d (VK_INSERT)    0  0x60 (VK_NUMPAD0)   0
NUMLOCK 0x2e (VK_DELETE)    0  0x6e (VK_DECIMAL)   0

; Modifier Table
;  
;   ModifierMask          VKcode        Ex ...

MOD 0x01 (SHIFT)    0x10 (VK_SHIFT)     0  
MOD 0x02 (LOCK)     0x14 (VK_CAPITAL)   0  
MOD 0x04 (CONTROL)  0x11 (VK_CONTROL)   0  0x11 (VK_CONTROL)   1  
MOD 0x08 (MOD1)     0x12 (VK_MENU)      0  0x12 (VK_MENU)      1  
MOD 0x10 (MOD2)     0xfe (VK_????)      0