chrome_kb.h revision 263936
1263936Sbr/*- 2263936Sbr * Copyright (c) 2014 Ruslan Bukin <br@bsdpad.com> 3263936Sbr * All rights reserved. 4263936Sbr * 5263936Sbr * Redistribution and use in source and binary forms, with or without 6263936Sbr * modification, are permitted provided that the following conditions 7263936Sbr * are met: 8263936Sbr * 1. Redistributions of source code must retain the above copyright 9263936Sbr * notice, this list of conditions and the following disclaimer. 10263936Sbr * 2. Redistributions in binary form must reproduce the above copyright 11263936Sbr * notice, this list of conditions and the following disclaimer in the 12263936Sbr * documentation and/or other materials provided with the distribution. 13263936Sbr * 14263936Sbr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15263936Sbr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16263936Sbr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17263936Sbr * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18263936Sbr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19263936Sbr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20263936Sbr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21263936Sbr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22263936Sbr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23263936Sbr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24263936Sbr * SUCH DAMAGE. 25263936Sbr * 26263936Sbr * $FreeBSD: head/sys/arm/samsung/exynos/chrome_kb.h 263936 2014-03-30 15:22:36Z br $ 27263936Sbr */ 28263936Sbr 29263936Sbrvoid ckb_ec_intr(void *); 30263936Sbr 31263936Sbrstruct key { 32263936Sbr uint8_t row; 33263936Sbr uint8_t col; 34263936Sbr uint8_t key; 35263936Sbr}; 36263936Sbr 37263936Sbr#define KEYMAP_LEN 75 38263936Sbr 39263936Sbrstruct key keymap[KEYMAP_LEN] = { 40263936Sbr { 0x00, 0x01, 0x7d }, /* lmeta */ 41263936Sbr { 0x00, 0x02, 0x3b }, /* F1 */ 42263936Sbr { 0x00, 0x03, 0x30 }, /* B */ 43263936Sbr { 0x00, 0x04, 0x44 }, /* F10 */ 44263936Sbr { 0x00, 0x06, 0x31 }, /* N */ 45263936Sbr { 0x00, 0x08, 0x0d }, /* = */ 46263936Sbr { 0x00, 0x0a, 0x64 }, /* ralt */ 47263936Sbr 48263936Sbr { 0x01, 0x01, 0x01 }, /* escape */ 49263936Sbr { 0x01, 0x02, 0x3e }, /* F4 */ 50263936Sbr { 0x01, 0x03, 0x22 }, /* G */ 51263936Sbr { 0x01, 0x04, 0x41 }, /* F7 */ 52263936Sbr { 0x01, 0x06, 0x23 }, /* H */ 53263936Sbr { 0x01, 0x08, 0x28 }, /* ' */ 54263936Sbr { 0x01, 0x09, 0x43 }, /* F9 */ 55263936Sbr { 0x01, 0x0b, 0x0e }, /* backspace */ 56263936Sbr 57263936Sbr { 0x02, 0x00, 0x1d }, /* lctrl */ 58263936Sbr { 0x02, 0x01, 0x0f }, /* tab */ 59263936Sbr { 0x02, 0x02, 0x3d }, /* F3 */ 60263936Sbr { 0x02, 0x03, 0x14 }, /* t */ 61263936Sbr { 0x02, 0x04, 0x40 }, /* F6 */ 62263936Sbr { 0x02, 0x05, 0x1b }, /* ] */ 63263936Sbr { 0x02, 0x06, 0x15 }, /* y */ 64263936Sbr { 0x02, 0x07, 0x56 }, /* 102nd */ 65263936Sbr { 0x02, 0x08, 0x1a }, /* [ */ 66263936Sbr { 0x02, 0x09, 0x42 }, /* F8 */ 67263936Sbr 68263936Sbr { 0x03, 0x01, 0x29 }, /* grave */ 69263936Sbr { 0x03, 0x02, 0x3c }, /* F2 */ 70263936Sbr { 0x03, 0x03, 0x06 }, /* 5 */ 71263936Sbr { 0x03, 0x04, 0x3f }, /* F5 */ 72263936Sbr { 0x03, 0x06, 0x07 }, /* 6 */ 73263936Sbr { 0x03, 0x08, 0x0c }, /* - */ 74263936Sbr { 0x03, 0x0b, 0x2b }, /* \ */ 75263936Sbr 76263936Sbr { 0x04, 0x00, 0x61 }, /* rctrl */ 77263936Sbr { 0x04, 0x01, 0x1e }, /* a */ 78263936Sbr { 0x04, 0x02, 0x20 }, /* d */ 79263936Sbr { 0x04, 0x03, 0x21 }, /* f */ 80263936Sbr { 0x04, 0x04, 0x1f }, /* s */ 81263936Sbr { 0x04, 0x05, 0x25 }, /* k */ 82263936Sbr { 0x04, 0x06, 0x24 }, /* j */ 83263936Sbr { 0x04, 0x08, 0x27 }, /* ; */ 84263936Sbr { 0x04, 0x09, 0x26 }, /* l */ 85263936Sbr { 0x04, 0x0a, 0x2b }, /* \ */ 86263936Sbr { 0x04, 0x0b, 0x1c }, /* enter */ 87263936Sbr 88263936Sbr { 0x05, 0x01, 0x2c }, /* z */ 89263936Sbr { 0x05, 0x02, 0x2e }, /* c */ 90263936Sbr { 0x05, 0x03, 0x2f }, /* v */ 91263936Sbr { 0x05, 0x04, 0x2d }, /* x */ 92263936Sbr { 0x05, 0x05, 0x33 }, /* , */ 93263936Sbr { 0x05, 0x06, 0x32 }, /* m */ 94263936Sbr { 0x05, 0x07, 0x2a }, /* lsh */ 95263936Sbr { 0x05, 0x08, 0x35 }, /* / */ 96263936Sbr { 0x05, 0x09, 0x34 }, /* . */ 97263936Sbr { 0x05, 0x0B, 0x39 }, /* space */ 98263936Sbr 99263936Sbr { 0x06, 0x01, 0x02 }, /* 1 */ 100263936Sbr { 0x06, 0x02, 0x04 }, /* 3 */ 101263936Sbr { 0x06, 0x03, 0x05 }, /* 4 */ 102263936Sbr { 0x06, 0x04, 0x03 }, /* 2 */ 103263936Sbr { 0x06, 0x05, 0x09 }, /* 8 */ 104263936Sbr { 0x06, 0x06, 0x08 }, /* 7 */ 105263936Sbr { 0x06, 0x08, 0x0b }, /* 0 */ 106263936Sbr { 0x06, 0x09, 0x0a }, /* 9 */ 107263936Sbr { 0x06, 0x0a, 0x38 }, /* lalt */ 108263936Sbr { 0x06, 0x0b, 0x64 }, /* down */ 109263936Sbr { 0x06, 0x0c, 0x62 }, /* right */ 110263936Sbr 111263936Sbr { 0x07, 0x01, 0x10 }, /* q */ 112263936Sbr { 0x07, 0x02, 0x12 }, /* e */ 113263936Sbr { 0x07, 0x03, 0x13 }, /* r */ 114263936Sbr { 0x07, 0x04, 0x11 }, /* w */ 115263936Sbr { 0x07, 0x05, 0x17 }, /* i */ 116263936Sbr { 0x07, 0x06, 0x16 }, /* u */ 117263936Sbr { 0x07, 0x07, 0x36 }, /* rsh */ 118263936Sbr { 0x07, 0x08, 0x19 }, /* p */ 119263936Sbr { 0x07, 0x09, 0x18 }, /* o */ 120263936Sbr { 0x07, 0x0b, 0x5F }, /* up */ 121263936Sbr { 0x07, 0x0c, 0x61 }, /* left */ 122263936Sbr}; 123