/* Copyright (C) 2012 by Jacob Alexander * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #ifndef __SONYOAS3400_H #define __SONYOAS3400_H // This file contains various key layouts for the Sony OA-S3400 Word Processor Keyboard // ----- Variables ----- static uint8_t sonyoas3400_ModifierMask[] = { 0x90, 0x91, 0x92, 0xCE, 0xE0 }; static uint8_t sonyoas3400_DefaultMap[] = { 0, // 0x00 0, // 0x01 0, // 0x02 0, // 0x03 0, // 0x04 0, // 0x05 0, // 0x06 0, // 0x07 KEY_BACKSPACE, // 0x08 KEY_TAB, // 0x09 0, // 0x0A 0, // 0x0B 0, // 0x0C KEY_ENTER, // 0x0D 0, // 0x0E 0, // 0x0F 0, // 0x10 0, // 0x11 0, // 0x12 0, // 0x13 0, // 0x14 0, // 0x15 0, // 0x16 0, // 0x17 0, // 0x18 0, // 0x19 0, // 0x1A 0, // 0x1B 0, // 0x1C 0, // 0x1D 0, // 0x1E 0, // 0x1F KEY_SPACE, // 0x20 0, // 0x21 0, // 0x22 0, // 0x23 0, // 0x24 0, // 0x25 0, // 0x26 KEY_QUOTE, // 0x27 0, // 0x28 0, // 0x29 0, // 0x2A 0, // 0x2B KEY_COMMA, // 0x2C KEY_MINUS, // 0x2D KEY_PERIOD, // 0x2E KEY_SLASH, // 0x2F KEY_0, // 0x30 KEY_1, // 0x31 KEY_2, // 0x32 KEY_3, // 0x33 KEY_4, // 0x34 KEY_5, // 0x35 KEY_6, // 0x36 KEY_7, // 0x37 KEY_8, // 0x38 KEY_9, // 0x39 0, // 0x3A KEY_SEMICOLON, // 0x3B 0, // 0x3C KEY_EQUAL, // 0x3D 0, // 0x3E 0, // 0x3F 0, // 0x40 KEY_A, // 0x41 KEY_B, // 0x42 KEY_C, // 0x43 KEY_D, // 0x44 KEY_E, // 0x45 KEY_F, // 0x46 KEY_G, // 0x47 KEY_H, // 0x48 KEY_I, // 0x49 KEY_J, // 0x4A KEY_K, // 0x4B KEY_L, // 0x4C KEY_M, // 0x4D KEY_N, // 0x4E KEY_O, // 0x4F KEY_P, // 0x50 KEY_Q, // 0x51 KEY_R, // 0x52 KEY_S, // 0x53 KEY_T, // 0x54 KEY_U, // 0x55 KEY_V, // 0x56 KEY_W, // 0x57 KEY_X, // 0x58 KEY_Y, // 0x59 KEY_Z, // 0x5A 0, // 0x5B 0, // 0x5C 0, // 0x5D 0, // 0x5E 0, // 0x5F 0, // 0x60 0, // 0x61 0, // 0x62 0, // 0x63 0, // 0x64 0, // 0x65 0, // 0x66 0, // 0x67 0, // 0x68 0, // 0x69 0, // 0x6A 0, // 0x6B 0, // 0x6C 0, // 0x6D 0, // 0x6E 0, // 0x6F 0, // 0x70 0, // 0x71 0, // 0x72 0, // 0x73 0, // 0x74 0, // 0x75 0, // 0x76 0, // 0x77 0, // 0x78 0, // 0x79 0, // 0x7A 0, // 0x7B 0, // 0x7C 0, // 0x7D 0, // 0x7E 0, // 0x7F 0, // 0x80 0, // 0x81 KEY_LEFT_BRACE, // 0x82 0, // 0x83 0, // 0x84 0, // 0x85 0, // 0x86 0, // 0x87 0, // 0x88 0, // 0x89 0, // 0x8A 0, // 0x8B 0, // 0x8C 0, // 0x8D 0, // 0x8E 0, // 0x8F KEY_LEFT_SHIFT, // 0x90 KEY_LEFT_CTRL, // 0x91 KEY_LEFT_ALT, // 0x92 0, // 0x93 0, // 0x94 0, // 0x95 0, // 0x96 0, // 0x97 0, // 0x98 0, // 0x99 0, // 0x9A 0, // 0x9B 0, // 0x9C 0, // 0x9D 0, // 0x9E 0, // 0x9F 0, // 0xA0 0, // 0xA1 0, // 0xA2 0, // 0xA3 0, // 0xA4 0, // 0xA5 0, // 0xA6 0, // 0xA7 0, // 0xA8 0, // 0xA9 0, // 0xAA 0, // 0xAB 0, // 0xAC 0, // 0xAD 0, // 0xAE 0, // 0xAF 0, // 0xB0 0, // 0xB1 0, // 0xB2 0, // 0xB3 0, // 0xB4 0, // 0xB5 0, // 0xB6 0, // 0xB7 0, // 0xB8 0, // 0xB9 0, // 0xBA 0, // 0xBB 0, // 0xBC 0, // 0xBD 0, // 0xBE 0, // 0xBF 0, // 0xC0 0, // 0xC1 0, // 0xC2 0, // 0xC3 0, // 0xC4 0, // 0xC5 0, // 0xC6 0, // 0xC7 0, // 0xC8 0, // 0xC9 0, // 0xCA 0, // 0xCB 0, // 0xCC 0, // 0xCD KEY_LEFT_GUI, // 0xCE KEY_RIGHT_BRACE, // 0xCF KEY_ESC, // 0xD0 KEY_TILDE, // 0xD1 KEY_BACKSLASH, // 0xD2 KEY_F11, // 0xD3 KEY_F12, // 0xD4 KEY_F10, // 0xD5 KEY_UP, // 0xD6 KEY_DOWN, // 0xD7 KEY_LEFT, // 0xD8 KEY_RIGHT, // 0xD9 0, // 0xDA 0, // 0xDB 0, // 0xDC 0, // 0xDD 0, // 0xDE 0, // 0xDF KEY_RIGHT_ALT, // 0xE0 KEY_INSERT, // 0xE1 KEY_HOME, // 0xE2 KEY_PAGE_UP, // 0xE3 KEY_DELETE, // 0xE4 KEY_END, // 0xE5 KEY_PAGE_DOWN, // 0xE6 KEY_DOWN, // 0xE7 KEY_F9, // 0xE8 0, // 0xE9 0, // 0xEA 0, // 0xEB 0, // 0xEC 0, // 0xED 0, // 0xEE 0, // 0xEF 0, // 0xF0 0, // 0xF1 0, // 0xF2 0, // 0xF3 0, // 0xF4 0, // 0xF5 KEY_F1, // 0xF6 KEY_F2, // 0xF7 KEY_F3, // 0xF8 KEY_F4, // 0xF9 KEY_F5, // 0xFA KEY_F6, // 0xFB KEY_F7, // 0xFC KEY_F8, // 0xFD 0, // 0xFE 0, // 0xFF }; static uint8_t sonyoas3400_ColemakMap[] = { 0, // 0x00 0, // 0x01 0, // 0x02 0, // 0x03 0, // 0x04 0, // 0x05 0, // 0x06 0, // 0x07 KEY_BACKSPACE, // 0x08 KEY_TAB, // 0x09 0, // 0x0A 0, // 0x0B 0, // 0x0C KEY_ENTER, // 0x0D 0, // 0x0E 0, // 0x0F 0, // 0x10 0, // 0x11 0, // 0x12 0, // 0x13 0, // 0x14 0, // 0x15 0, // 0x16 0, // 0x17 0, // 0x18 0, // 0x19 0, // 0x1A 0, // 0x1B 0, // 0x1C 0, // 0x1D 0, // 0x1E 0, // 0x1F KEY_SPACE, // 0x20 0, // 0x21 0, // 0x22 0, // 0x23 0, // 0x24 0, // 0x25 0, // 0x26 KEY_QUOTE, // 0x27 0, // 0x28 0, // 0x29 0, // 0x2A 0, // 0x2B KEY_COMMA, // 0x2C KEY_MINUS, // 0x2D KEY_PERIOD, // 0x2E KEY_SLASH, // 0x2F KEY_0, // 0x30 KEY_1, // 0x31 KEY_2, // 0x32 KEY_3, // 0x33 KEY_4, // 0x34 KEY_5, // 0x35 KEY_6, // 0x36 KEY_7, // 0x37 KEY_8, // 0x38 KEY_9, // 0x39 0, // 0x3A KEY_O, // 0x3B 0, // 0x3C KEY_EQUAL, // 0x3D 0, // 0x3E 0, // 0x3F 0, // 0x40 KEY_A, // 0x41 KEY_B, // 0x42 KEY_C, // 0x43 KEY_S, // 0x44 KEY_F, // 0x45 KEY_T, // 0x46 KEY_D, // 0x47 KEY_H, // 0x48 KEY_U, // 0x49 KEY_N, // 0x4A KEY_E, // 0x4B KEY_I, // 0x4C KEY_M, // 0x4D KEY_K, // 0x4E KEY_Y, // 0x4F KEY_SEMICOLON, // 0x50 KEY_Q, // 0x51 KEY_P, // 0x52 KEY_R, // 0x53 KEY_G, // 0x54 KEY_L, // 0x55 KEY_V, // 0x56 KEY_W, // 0x57 KEY_X, // 0x58 KEY_J, // 0x59 KEY_Z, // 0x5A 0, // 0x5B 0, // 0x5C 0, // 0x5D 0, // 0x5E 0, // 0x5F 0, // 0x60 0, // 0x61 0, // 0x62 0, // 0x63 0, // 0x64 0, // 0x65 0, // 0x66 0, // 0x67 0, // 0x68 0, // 0x69 0, // 0x6A 0, // 0x6B 0, // 0x6C 0, // 0x6D 0, // 0x6E 0, // 0x6F 0, // 0x70 0, // 0x71 0, // 0x72 0, // 0x73 0, // 0x74 0, // 0x75 0, // 0x76 0, // 0x77 0, // 0x78 0, // 0x79 0, // 0x7A 0, // 0x7B 0, // 0x7C 0, // 0x7D 0, // 0x7E 0, // 0x7F 0, // 0x80 0, // 0x81 KEY_LEFT_BRACE, // 0x82 0, // 0x83 0, // 0x84 0, // 0x85 0, // 0x86 0, // 0x87 0, // 0x88 0, // 0x89 0, // 0x8A 0, // 0x8B 0, // 0x8C 0, // 0x8D 0, // 0x8E 0, // 0x8F KEY_LEFT_SHIFT, // 0x90 KEY_LEFT_CTRL, // 0x91 KEY_LEFT_ALT, // 0x92 0, // 0x93 0, // 0x94 0, // 0x95 0, // 0x96 0, // 0x97 0, // 0x98 0, // 0x99 0, // 0x9A 0, // 0x9B 0, // 0x9C 0, // 0x9D 0, // 0x9E 0, // 0x9F 0, // 0xA0 0, // 0xA1 0, // 0xA2 0, // 0xA3 0, // 0xA4 0, // 0xA5 0, // 0xA6 0, // 0xA7 0, // 0xA8 0, // 0xA9 0, // 0xAA 0, // 0xAB 0, // 0xAC 0, // 0xAD 0, // 0xAE 0, // 0xAF 0, // 0xB0 0, // 0xB1 0, // 0xB2 0, // 0xB3 0, // 0xB4 0, // 0xB5 0, // 0xB6 0, // 0xB7 0, // 0xB8 0, // 0xB9 0, // 0xBA 0, // 0xBB 0, // 0xBC 0, // 0xBD 0, // 0xBE 0, // 0xBF 0, // 0xC0 0, // 0xC1 0, // 0xC2 0, // 0xC3 0, // 0xC4 0, // 0xC5 0, // 0xC6 0, // 0xC7 0, // 0xC8 0, // 0xC9 0, // 0xCA 0, // 0xCB 0, // 0xCC 0, // 0xCD KEY_LEFT_GUI, // 0xCE KEY_RIGHT_BRACE, // 0xCF KEY_ESC, // 0xD0 KEY_TILDE, // 0xD1 KEY_BACKSLASH, // 0xD2 KEY_F11, // 0xD3 KEY_F12, // 0xD4 KEY_F10, // 0xD5 KEY_UP, // 0xD6 KEY_DOWN, // 0xD7 KEY_LEFT, // 0xD8 KEY_RIGHT, // 0xD9 0, // 0xDA 0, // 0xDB 0, // 0xDC 0, // 0xDD 0, // 0xDE 0, // 0xDF KEY_RIGHT_ALT, // 0xE0 KEY_INSERT, // 0xE1 KEY_HOME, // 0xE2 KEY_PAGE_UP, // 0xE3 KEY_DELETE, // 0xE4 KEY_END, // 0xE5 KEY_PAGE_DOWN, // 0xE6 KEY_DOWN, // 0xE7 KEY_F9, // 0xE8 0, // 0xE9 0, // 0xEA 0, // 0xEB 0, // 0xEC 0, // 0xED 0, // 0xEE 0, // 0xEF 0, // 0xF0 0, // 0xF1 0, // 0xF2 0, // 0xF3 0, // 0xF4 0, // 0xF5 KEY_F1, // 0xF6 KEY_F2, // 0xF7 KEY_F3, // 0xF8 KEY_F4, // 0xF9 KEY_F5, // 0xFA KEY_F6, // 0xFB KEY_F7, // 0xFC KEY_F8, // 0xFD 0, // 0xFE 0, // 0xFF }; #endif