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