Mercurial > louis > kiibohd-controller
view Keymap/sonyoas3400.h @ 50:ff4ae9501930
Adding initial version of Sony OA-S3400 converter.
- Not fully reading for usage, but 90% of the way there for typing.
- Some soldering is required for 2 keys to work properly (Shift and Shift Lock)
- Even when complete, be careful when doing multiple key combos, as the key buffer is only cleared when all general keys are released (all except Shift, Shift Lock, and Code)
author | Jacob Alexander <triplehaata@gmail.com> |
---|---|
date | Mon, 07 May 2012 02:32:56 -0400 |
parents | |
children | 0b0816a6002d |
line wrap: on
line source
/* 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 0, // 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 KEY_TAB, // 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 0, // 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 KEY_TAB, // 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