view Keymap/sonyoas3400.h @ 51:0b0816a6002d

Completing Sony OA-S3400 adapter. - Fixed final bug regarding key release - Added LED support calls - Fixed minor keymapping bug for TAB - Changed default keymap to Colemak
author Jacob Alexander <triplehaata@gmail.com>
date Mon, 07 May 2012 13:00:29 -0400
parents ff4ae9501930
children
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
				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