/*	$OpenBSD: koi8,v 1.4 1996/09/01 19:41:21 deraadt Exp $	*/

/*
 * Copyright (c) 1996 Michael Shalayeff
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed for the OpenBSD Project
 *	by Michael Shalayeff.
 * 4. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

    { "RU-KOI8", "ru-koi8", "koi8-ru", "koi8", "su-koi8" },
/*  type	unshift	shift	control	altgr	shift_altgr	scancode */
    KB_NONE,	"",	"",	"",	"",	"",	/* 0 unused */
    KB_ASCII,	"\033",	"\033",	"\033",	"",	"",	/* 1 ESCape */
    KB_ASCII,	"1",	"!",	"!",	"1",	"!",	/* 2 1 */
    KB_ASCII,	"2",	"@",	"\000",	"2",	"\"",	/* 3 2 */
    KB_ASCII,	"3",	"#",	"#",	"3",	"/",	/* 4 3 */
    KB_ASCII,	"4",	"$",	"$",	"4",	"$",	/* 5 4 */
    KB_ASCII,	"5",	"%",	"%",	"5",	":",	/* 6 5 */
    KB_ASCII,	"6",	"^",	"\036",	"6",	",",	/* 7 6 */
    KB_ASCII,	"7",	"&",	"&",	"7",	".",	/* 8 7 */
    KB_ASCII,	"8",	"*",	"\010",	"8",	";",	/* 9 8 */
    KB_ASCII,	"9",	"(",	"(",	"9",	"?",	/* 10 9 */
    KB_ASCII,	"0",	")",	")",	"0",	"%",	/* 11 0 */
    KB_ASCII,	"-",	"_",	"\037",	"-",	"_",	/* 12 - */
    KB_ASCII,	"=",	"+",	"+",	"=",	"+",	/* 13 = */
    KB_ASCII,	"\177",	"\177",	"\010",	"\177",	"\177",	/* 14 backspace */
    KB_ASCII,	"\t",	"\t",   "\t",	"\t",	"\t",	/* 15 tab */
    KB_ASCII,	"q",	"Q",	"\021",	"\xca",	"\xea",	/* 16 q */
    KB_ASCII,	"w",	"W",	"\027",	"\xc3",	"\xe3",	/* 17 w */
    KB_ASCII,	"e",	"E",	"\005",	"\xd5",	"\xf5",	/* 18 e */
    KB_ASCII,	"r",	"R",	"\022",	"\xcb",	"\xeb",	/* 19 r */
    KB_ASCII,	"t",	"T",	"\024",	"\xc5",	"\xe5",	/* 20 t */
    KB_ASCII,	"y",	"Y",	"\031",	"\xce",	"\xee",	/* 21 y */
    KB_ASCII,	"u",	"U",	"\025",	"\xc7",	"\xe7",	/* 22 u */
    KB_ASCII,	"i",	"I",	"\011",	"\xdb",	"\xfb",	/* 23 i */
    KB_ASCII,	"o",	"O",	"\017",	"\xdd",	"\xfd",	/* 24 o */
    KB_ASCII,	"p",	"P",	"\020",	"\xda",	"\xfa",	/* 25 p */
    KB_ASCII,	"[",	"{",	"\033",	"\xc8",	"\xe8",	/* 26 [ */
    KB_ASCII,	"]",	"}",	"\035",	"\xdf",	"\xff",	/* 27 ] */
    KB_ASCII,	"\r",	"\r",	"\n",	"\r",	"\r",	/* 28 return */
    KB_CTL,	"",	"",	"",	"",	"",	/* 29 control */
    KB_ASCII,	"a",	"A",	"\001",	"\xc6",	"\xe6",	/* 30 a */
    KB_ASCII,	"s",	"S",	"\023",	"\xd9",	"\xf9",	/* 31 s */
    KB_ASCII,	"d",	"D",	"\004",	"\xd7",	"\xf7",	/* 32 d */
    KB_ASCII,	"f",	"F",	"\006",	"\xc1",	"\xe1",	/* 33 f */
    KB_ASCII,	"g",	"G",	"\007",	"\xd0",	"\xf0",	/* 34 g */
    KB_ASCII,	"h",	"H",	"\010",	"\xd2",	"\xf2",	/* 35 h */
    KB_ASCII,	"j",	"J",	"\n",	"\xcf",	"\xef",	/* 36 j */
    KB_ASCII,	"k",	"K",	"\013",	"\xcc",	"\xec",	/* 37 k */
    KB_ASCII,	"l",	"L",	"\014",	"\xc4",	"\xe4",	/* 38 l */
    KB_ASCII,	";",	":",	";",	"\xd6",	"\xf6",	/* 39 ; */
    KB_ASCII,	"'",	"\"",	"'",	"\xdc",	"\xfc",	/* 40 ' */
    KB_ASCII,	"`",	"~",	"`",	"\xa3",	"\xb3",	/* 41 ` */
    KB_SHIFT,	"\001",	"",	"",	"",	"",	/* 42 shift */
    KB_ASCII,	"\\",	"|",	"\034",	"\\",	"|",	/* 43 \ */
    KB_ASCII,	"z",	"Z",	"\032",	"\xd1",	"\xf1",	/* 44 z */
    KB_ASCII,	"x",	"X",	"\030",	"\xde",	"\xfe",	/* 45 x */
    KB_ASCII,	"c",	"C",	"\003",	"\xd3",	"\xf3",	/* 46 c */
    KB_ASCII,	"v",	"V",	"\026",	"\xcd",	"\xed",	/* 47 v */
    KB_ASCII,	"b",	"B",	"\002",	"\xc9",	"\xe9",	/* 48 b */
    KB_ASCII,	"n",	"N",	"\016",	"\xd4",	"\xf4",	/* 49 n */
    KB_ASCII,	"m",	"M",	"\r",	"\xd8",	"\xf8",	/* 50 m */
    KB_ASCII,	",",	"<",	"<",	"\xc2",	"\xe2",	/* 51 , */
    KB_ASCII,	".",	">",	">",	"\xc0",	"\xe0",	/* 52 . */
    KB_ASCII,	"/",	"?",	"\037",	"/",	"?",	/* 53 / */
    KB_SHIFT,	"\002",	"",	"",	"",	"",	/* 54 shift */
    KB_KP,	"*",	"*",	"*",	"*",	"*",	/* 55 kp * */
    KB_ALT,	"",	"",	"",	"",	"",	/* 56 alt */
    KB_ASCII,	" ",	" ",	"\000",	" ",	" ",	/* 57 space */
    KB_CAPS,	"",	"",	"",	"",	"",	/* 58 caps */
    KB_FUNC, "\033[M", "\033[Y", "\033[k", "",	"",	/* 59 f1 */
    KB_FUNC, "\033[N", "\033[Z", "\033[l", "",	"",	/* 60 f2 */
    KB_FUNC, "\033[O", "\033[a", "\033[m", "",	"",	/* 61 f3 */
    KB_FUNC, "\033[P", "\033[b", "\033[n", "",	"",	/* 62 f4 */
    KB_FUNC, "\033[Q", "\033[c", "\033[o", "",	"",	/* 63 f5 */
    KB_FUNC, "\033[R", "\033[d", "\033[p", "",	"",	/* 64 f6 */
    KB_FUNC, "\033[S", "\033[e", "\033[q", "",	"",	/* 65 f7 */
    KB_FUNC, "\033[T", "\033[f", "\033[r", "",	"",	/* 66 f8 */
    KB_FUNC, "\033[U", "\033[g", "\033[s", "",	"",	/* 67 f9 */
    KB_FUNC, "\033[V", "\033[h", "\033[t", "",	"",	/* 68 f10 */
    KB_NUM,	"",	"",	"",	"",	"",	/* 69 num lock */
    KB_SCROLL,	"",	"",	"",	"",	"",	/* 70 scroll lock */
    KB_KP,	"7",	"\033[H", "7",	"",	"",	/* 71 kp 7 */
    KB_KP,	"8",	"\033[A", "8",	"",	"",	/* 72 kp 8 */
    KB_KP,	"9",	"\033[I", "9",	"",	"",	/* 73 kp 9 */
    KB_KP,	"-",	"-",	"-",	"",	"",	/* 74 kp - */
    KB_KP,	"4",	"\033[D", "4",	"",	"",	/* 75 kp 4 */
    KB_KP,	"5",	"\033[E", "5",	"",	"",	/* 76 kp 5 */
    KB_KP,	"6",	"\033[C", "6",	"",	"",	/* 77 kp 6 */
    KB_KP,	"+",	"+",	"+",	"",	"",	/* 78 kp + */
    KB_KP,	"1",	"\033[F", "1",	"",	"",	/* 79 kp 1 */
    KB_KP,	"2",	"\033[B", "2",	"",	"",	/* 80 kp 2 */
    KB_KP,	"3",	"\033[G", "3",	"",	"",	/* 81 kp 3 */
    KB_KP,	"0",	"\033[L", "0",	"",	"",	/* 82 kp 0 */
    KB_KP,	",",	"\177",	",",	"",	"",	/* 83 kp , */
    KB_NONE,	"",	"",	"",	"",	"",	/* 84 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 85 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 86 0 */
    KB_FUNC, "\033[W", "\033[i", "\033[u", "",	"",	/* 87 f11 */
    KB_FUNC, "\033[X", "\033[j", "\033[v", "",	"",	/* 88 f12 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 89 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 90 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 91 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 92 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 93 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 94 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 95 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 96 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 97 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 98 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 99 0 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 100 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 101 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 102 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 103 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 104 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 105 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 106 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 107 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 108 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 109 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 110 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 111 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 112 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 113 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 114 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 115 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 116 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 117 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 118 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 119 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 120 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 121 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 122 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 123 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 124 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 125 */
    KB_NONE,	"",	"",	"",	"",	"",	/* 126 */
    KB_NONE,	"",	"",	"",	"",	"" 	/* 127 */
