1/*- 2 * Copyright (c) 2014 Ruslan Bukin <br@bsdpad.com> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD$ 27 */ 28 29void ckb_ec_intr(void *); 30 31struct key { 32 uint8_t row; 33 uint8_t col; 34 uint8_t key; 35}; 36 37#define KEYMAP_LEN 75 38 39struct key keymap[KEYMAP_LEN] = { 40 { 0x00, 0x01, 0x7d }, /* lmeta */ 41 { 0x00, 0x02, 0x3b }, /* F1 */ 42 { 0x00, 0x03, 0x30 }, /* B */ 43 { 0x00, 0x04, 0x44 }, /* F10 */ 44 { 0x00, 0x06, 0x31 }, /* N */ 45 { 0x00, 0x08, 0x0d }, /* = */ 46 { 0x00, 0x0a, 0x64 }, /* ralt */ 47 48 { 0x01, 0x01, 0x01 }, /* escape */ 49 { 0x01, 0x02, 0x3e }, /* F4 */ 50 { 0x01, 0x03, 0x22 }, /* G */ 51 { 0x01, 0x04, 0x41 }, /* F7 */ 52 { 0x01, 0x06, 0x23 }, /* H */ 53 { 0x01, 0x08, 0x28 }, /* ' */ 54 { 0x01, 0x09, 0x43 }, /* F9 */ 55 { 0x01, 0x0b, 0x0e }, /* backspace */ 56 57 { 0x02, 0x00, 0x1d }, /* lctrl */ 58 { 0x02, 0x01, 0x0f }, /* tab */ 59 { 0x02, 0x02, 0x3d }, /* F3 */ 60 { 0x02, 0x03, 0x14 }, /* t */ 61 { 0x02, 0x04, 0x40 }, /* F6 */ 62 { 0x02, 0x05, 0x1b }, /* ] */ 63 { 0x02, 0x06, 0x15 }, /* y */ 64 { 0x02, 0x07, 0x56 }, /* 102nd */ 65 { 0x02, 0x08, 0x1a }, /* [ */ 66 { 0x02, 0x09, 0x42 }, /* F8 */ 67 68 { 0x03, 0x01, 0x29 }, /* grave */ 69 { 0x03, 0x02, 0x3c }, /* F2 */ 70 { 0x03, 0x03, 0x06 }, /* 5 */ 71 { 0x03, 0x04, 0x3f }, /* F5 */ 72 { 0x03, 0x06, 0x07 }, /* 6 */ 73 { 0x03, 0x08, 0x0c }, /* - */ 74 { 0x03, 0x0b, 0x2b }, /* \ */ 75 76 { 0x04, 0x00, 0x61 }, /* rctrl */ 77 { 0x04, 0x01, 0x1e }, /* a */ 78 { 0x04, 0x02, 0x20 }, /* d */ 79 { 0x04, 0x03, 0x21 }, /* f */ 80 { 0x04, 0x04, 0x1f }, /* s */ 81 { 0x04, 0x05, 0x25 }, /* k */ 82 { 0x04, 0x06, 0x24 }, /* j */ 83 { 0x04, 0x08, 0x27 }, /* ; */ 84 { 0x04, 0x09, 0x26 }, /* l */ 85 { 0x04, 0x0a, 0x2b }, /* \ */ 86 { 0x04, 0x0b, 0x1c }, /* enter */ 87 88 { 0x05, 0x01, 0x2c }, /* z */ 89 { 0x05, 0x02, 0x2e }, /* c */ 90 { 0x05, 0x03, 0x2f }, /* v */ 91 { 0x05, 0x04, 0x2d }, /* x */ 92 { 0x05, 0x05, 0x33 }, /* , */ 93 { 0x05, 0x06, 0x32 }, /* m */ 94 { 0x05, 0x07, 0x2a }, /* lsh */ 95 { 0x05, 0x08, 0x35 }, /* / */ 96 { 0x05, 0x09, 0x34 }, /* . */ 97 { 0x05, 0x0B, 0x39 }, /* space */ 98 99 { 0x06, 0x01, 0x02 }, /* 1 */ 100 { 0x06, 0x02, 0x04 }, /* 3 */ 101 { 0x06, 0x03, 0x05 }, /* 4 */ 102 { 0x06, 0x04, 0x03 }, /* 2 */ 103 { 0x06, 0x05, 0x09 }, /* 8 */ 104 { 0x06, 0x06, 0x08 }, /* 7 */ 105 { 0x06, 0x08, 0x0b }, /* 0 */ 106 { 0x06, 0x09, 0x0a }, /* 9 */ 107 { 0x06, 0x0a, 0x38 }, /* lalt */ 108 { 0x06, 0x0b, 0x64 }, /* down */ 109 { 0x06, 0x0c, 0x62 }, /* right */ 110 111 { 0x07, 0x01, 0x10 }, /* q */ 112 { 0x07, 0x02, 0x12 }, /* e */ 113 { 0x07, 0x03, 0x13 }, /* r */ 114 { 0x07, 0x04, 0x11 }, /* w */ 115 { 0x07, 0x05, 0x17 }, /* i */ 116 { 0x07, 0x06, 0x16 }, /* u */ 117 { 0x07, 0x07, 0x36 }, /* rsh */ 118 { 0x07, 0x08, 0x19 }, /* p */ 119 { 0x07, 0x09, 0x18 }, /* o */ 120 { 0x07, 0x0b, 0x5F }, /* up */ 121 { 0x07, 0x0c, 0x61 }, /* left */ 122}; 123