Major code cleanup and preparation for PartialMap Macro Module

- Code should be working, but much is untested
- All of the old modules will need to update and use the new DefaultMap keymap
- There might still be some naming conflicts with some Scan Modules
This commit is contained in:
Jacob Alexander 2014-04-06 11:49:27 -07:00
parent f3e22fb242
commit 9d423a64a8
81 changed files with 1373 additions and 904 deletions

View file

@ -0,0 +1,538 @@
/* Copyright (C) 2013 by Jacob Alexander
*
* dfj, place whatever license you want here
*/
#ifndef __AVRCAPSENSE_H
#define __AVRCAPSENSE_H
// This file contains various key layouts for dfj's AVR Capsense Controller
// ----- Variables -----
static uint8_t avrcapsense_ModifierMask [] = { 0x34, 0x38, 0x3A, 0x40 };
// Default 1-indexed key mappings
static uint8_t avrcapsense_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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_D, // 0x64
KEY_E, // 0x65
KEY_F, // 0x66
KEY_G, // 0x67
KEY_H, // 0x68
KEY_I, // 0x69
KEY_J, // 0x6A
KEY_K, // 0x6B
KEY_L, // 0x6C
KEY_M, // 0x6D
KEY_N, // 0x6E
KEY_O, // 0x6F
KEY_P, // 0x70
KEY_Q, // 0x71
KEY_R, // 0x72
KEY_S, // 0x73
KEY_T, // 0x74
KEY_U, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_Y, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
static uint8_t avrcapsense_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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_S, // 0x64
KEY_F, // 0x65
KEY_T, // 0x66
KEY_D, // 0x67
KEY_H, // 0x68
KEY_U, // 0x69
KEY_N, // 0x6A
KEY_E, // 0x6B
KEY_I, // 0x6C
KEY_M, // 0x6D
KEY_K, // 0x6E
KEY_Y, // 0x6F
KEY_SEMICOLON, // 0x70
KEY_Q, // 0x71
KEY_P, // 0x72
KEY_R, // 0x73
KEY_G, // 0x74
KEY_L, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_J, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
#endif

296
Macro/buffer/Keymap/betkb.h Normal file
View file

@ -0,0 +1,296 @@
/* 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 __BETKB_H
#define __BETKB_H
// This file contains various key layouts for the Burroughs Ergonomic Terminal Keyboard (Kokusai)
// ----- Variables -----
static uint8_t betkb_ModifierMask[] = { 0x20, 0x2D, 0x2E, 0x30, 0x3E, 0x60 };
static uint8_t betkb_DefaultMap[] = {
0, // 0x00
0, // 0x01
0, // 0x02
0, // 0x03
0, // 0x04
0, // 0x05
0, // 0x06
0, // 0x07
0, // 0x08
0, // 0x09
0, // 0x0A
0, // 0x0B
0, // 0x0C
0, // 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_LEFT_SHIFT, // 0x20
0, // 0x21
KEY_Z, // 0x22
KEY_X, // 0x23
KEY_C, // 0x24
KEY_V, // 0x25
KEY_B, // 0x26
KEY_N, // 0x27
KEY_M, // 0x28
KEY_COMMA, // 0x29
KEY_PERIOD, // 0x2A
KEY_SLASH, // 0x2B
0, // 0x2C
KEY_RIGHT_SHIFT, // 0x2D
KEY_LEFT_ALT, // 0x2E
KEY_SPACE, // 0x2F
KEY_LEFT_CTRL, // 0x30
KEY_A, // 0x31
KEY_S, // 0x32
KEY_D, // 0x33
KEY_F, // 0x34
KEY_G, // 0x35
KEY_H, // 0x36
KEY_J, // 0x37
KEY_K, // 0x38
KEY_L, // 0x39
KEY_SEMICOLON, // 0x3A
KEY_QUOTE, // 0x3B
0, // 0x3C
KEY_ENTER, // 0x3D
KEY_RIGHT_GUI, // 0x3E
KEY_LEFT, // 0x3F (KEYPAD_1)
KEY_TAB, // 0x40
KEY_Q, // 0x41
KEY_W, // 0x42
KEY_E, // 0x43
KEY_R, // 0x44
KEY_T, // 0x45
KEY_Y, // 0x46
KEY_U, // 0x47
KEY_I, // 0x48
KEY_O, // 0x49
KEY_P, // 0x4A
KEY_LEFT_BRACE, // 0x4B
KEY_RIGHT_BRACE, // 0x4C
KEY_BACKSLASH, // 0x4D
KEY_DELETE, // 0x4E
KEYPAD_4, // 0x4F
KEY_ESC, // 0x50
KEY_1, // 0x51
KEY_2, // 0x52
KEY_3, // 0x53
KEY_4, // 0x54
KEY_5, // 0x55
KEY_6, // 0x56
KEY_7, // 0x57
KEY_8, // 0x58
KEY_9, // 0x59
KEY_0, // 0x5A
KEY_MINUS, // 0x5B
KEY_EQUAL, // 0x5C
KEY_TILDE, // 0x5D
KEY_BACKSPACE, // 0x5E
KEY_NUM_LOCK, // 0x5F
KEY_LEFT_GUI, // 0x60
KEY_HOME, // 0x61
KEY_END, // 0x62
KEY_INSERT, // 0x63
KEY_DELETE, // 0x64
KEY_F1, // 0x65
KEY_F2, // 0x66
KEY_F3, // 0x67
KEY_F4, // 0x68
KEY_F5, // 0x69
KEY_F6, // 0x6A
KEY_F7, // 0x6B
KEY_F8, // 0x6C
KEY_F9, // 0x6D
KEY_F10, // 0x6E
KEY_PRINTSCREEN, // 0x6F
KEY_PAGE_UP, // 0x70
KEY_PAGE_DOWN, // 0x71
KEY_F11, // 0x72
KEYPAD_7, // 0x73
KEYPAD_8, // 0x74
KEYPAD_9, // 0x75
KEY_UP, // 0x76 (KEYPAD_5)
KEYPAD_6, // 0x77
KEY_DOWN, // 0x78 (KEYPAD_2)
KEY_RIGHT, // 0x79 (KEYPAD_3)
KEYPAD_0, // 0x7A
KEYPAD_00, // 0x7B
KEYPAD_ENTER, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
static uint8_t betkb_ColemakMap[] = {
0, // 0x00
0, // 0x01
0, // 0x02
0, // 0x03
0, // 0x04
0, // 0x05
0, // 0x06
0, // 0x07
0, // 0x08
0, // 0x09
0, // 0x0A
0, // 0x0B
0, // 0x0C
0, // 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_LEFT_SHIFT, // 0x20
0, // 0x21
KEY_Z, // 0x22
KEY_X, // 0x23
KEY_C, // 0x24
KEY_V, // 0x25
KEY_B, // 0x26
KEY_K, // 0x27
KEY_M, // 0x28
KEY_COMMA, // 0x29
KEY_PERIOD, // 0x2A
KEY_SLASH, // 0x2B
0, // 0x2C
KEY_RIGHT_SHIFT, // 0x2D
KEY_LEFT_ALT, // 0x2E
KEY_SPACE, // 0x2F
KEY_LEFT_CTRL, // 0x30
KEY_A, // 0x31
KEY_R, // 0x32
KEY_S, // 0x33
KEY_T, // 0x34
KEY_D, // 0x35
KEY_H, // 0x36
KEY_N, // 0x37
KEY_E, // 0x38
KEY_I, // 0x39
KEY_O, // 0x3A
KEY_QUOTE, // 0x3B
0, // 0x3C
KEY_ENTER, // 0x3D
KEY_RIGHT_GUI, // 0x3E
KEY_LEFT, // 0x3F (KEYPAD_1)
KEY_TAB, // 0x40
KEY_Q, // 0x41
KEY_W, // 0x42
KEY_F, // 0x43
KEY_P, // 0x44
KEY_G, // 0x45
KEY_J, // 0x46
KEY_L, // 0x47
KEY_U, // 0x48
KEY_Y, // 0x49
KEY_SEMICOLON, // 0x4A
KEY_LEFT_BRACE, // 0x4B
KEY_RIGHT_BRACE, // 0x4C
KEY_BACKSLASH, // 0x4D
KEY_DELETE, // 0x4E
KEYPAD_4, // 0x4F
KEY_ESC, // 0x50
KEY_1, // 0x51
KEY_2, // 0x52
KEY_3, // 0x53
KEY_4, // 0x54
KEY_5, // 0x55
KEY_6, // 0x56
KEY_7, // 0x57
KEY_8, // 0x58
KEY_9, // 0x59
KEY_0, // 0x5A
KEY_MINUS, // 0x5B
KEY_EQUAL, // 0x5C
KEY_TILDE, // 0x5D
KEY_BACKSPACE, // 0x5E
KEY_NUM_LOCK, // 0x5F
KEY_LEFT_GUI, // 0x60
KEY_HOME, // 0x61
KEY_END, // 0x62
KEY_INSERT, // 0x63
KEY_DELETE, // 0x64
KEY_F1, // 0x65
KEY_F2, // 0x66
KEY_F3, // 0x67
KEY_F4, // 0x68
KEY_F5, // 0x69
KEY_F6, // 0x6A
KEY_F7, // 0x6B
KEY_F8, // 0x6C
KEY_F9, // 0x6D
KEY_F10, // 0x6E
KEY_PRINTSCREEN, // 0x6F
KEY_PAGE_UP, // 0x70
KEY_PAGE_DOWN, // 0x71
KEY_F11, // 0x72
KEYPAD_7, // 0x73
KEYPAD_8, // 0x74
KEYPAD_9, // 0x75
KEY_UP, // 0x76 (KEYPAD_5)
KEYPAD_6, // 0x77
KEY_DOWN, // 0x78 (KEYPAD_2)
KEY_RIGHT, // 0x79 (KEYPAD_3)
KEYPAD_0, // 0x7A
KEYPAD_00, // 0x7B
KEYPAD_ENTER, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
#endif

View file

@ -0,0 +1,74 @@
/* Copyright (C) 2011 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 __BUDKEYPAD_H
#define __BUDKEYPAD_H
// This file contains various key layouts for the Bud Hall Effect Keypad (16 key)
// ----- Variables -----
static uint8_t budkeypad_ModifierMask[] = {};
// Default 1-indexed key mappings
static uint8_t budkeypad_DefaultMap[] = { 0,
KEYPAD_7,
KEYPAD_8,
KEYPAD_9,
KEYPAD_SLASH,
KEYPAD_4,
KEYPAD_5,
KEYPAD_6,
KEYPAD_ASTERIX,
KEYPAD_1,
KEYPAD_2,
KEYPAD_3,
KEYPAD_MINUS,
KEYPAD_ENTER,
KEYPAD_0,
KEYPAD_PERIOD,
KEYPAD_PLUS,
};
static uint8_t budkeypad_TheProfosistMap[] = { 0,
KEY_7,
KEY_8,
KEY_9,
KEYPAD_SLASH,
KEY_4,
KEY_5,
KEY_6,
KEYPAD_ASTERIX,
KEY_1,
KEY_2,
KEY_3,
KEYPAD_MINUS,
KEY_0,
KEYPAD_PERIOD,
KEYPAD_ENTER,
KEYPAD_PLUS,
};
#endif

View file

@ -0,0 +1,331 @@
/* Copyright (C) 2011 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 __EPSONQX10_H
#define __EPSONQX10_H
// This file contains various key layouts for the Epson QX-10 Series of keyboards
// NOTE: Modifiers can't be remapped to non-modifer keys due to how the signals are interpretted
// Remapping between modifier keys is perfectly fine (or even a modifier to a normal key)
// ----- Variables -----
static uint8_t epsonqx10_ModifierMask[] = { 0x81, 0x83, 0x85, 0x87, 0x89, 0x8B, 0x8D, 0x8F };
static uint8_t epsonqx10_DefaultMap[] = {
0x00, // 0x00
KEY_F4, // 0x01
0, // 0x02
KEY_F5, // 0x03
KEY_F6, // 0x04
KEY_F7, // 0x05
KEY_F8, // 0x06
KEY_F9, // 0x07
0, // 0x08
KEY_F10, // 0x09
KEY_F11, // 0x0A
KEY_F12, // 0x0B
KEY_F13, // 0x0C
0, // 0x0D
KEY_F14, // 0x0E
KEY_F15, // 0x0F
0, // 0x10
0, // 0x11
0, // 0x12
0, // 0x13
0, // 0x14
KEYPAD_ENTER, // 0x15
KEYPAD_PERIOD, // 0x16
KEYPAD_0, // 0x17
KEYPAD_EQUAL, // 0x18
KEYPAD_6, // 0x19
KEYPAD_5, // 0x1A
KEYPAD_4, // 0x1B
0, // 0x1C
0, // 0x1D
KEY_F17, // 0x1E
KEY_F16, // 0x1F
0, // 0x20
0, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
KEYPAD_3, // 0x25
KEYPAD_2, // 0x26
KEYPAD_1, // 0x27
KEYPAD_PLUS, // 0x28
KEYPAD_9, // 0x29
KEYPAD_8, // 0x2A
KEYPAD_7, // 0x2B
KEYPAD_MINUS, // 0x2C
KEYPAD_ASTERIX, // 0x2D
KEYPAD_SLASH, // 0x2E
KEY_NUM_LOCK, // 0x2F
0, // 0x30
0, // 0x31
KEY_SPACE, // 0x32
KEY_Z, // 0x33
KEY_X, // 0x34
KEY_C, // 0x35
KEY_V, // 0x36
KEY_B, // 0x37
KEY_N, // 0x38
KEY_M, // 0x39
KEY_COMMA, // 0x3A
KEY_PERIOD, // 0x3B
KEY_UP, // 0x3C
KEY_LEFT, // 0x3D
KEY_RIGHT, // 0x3E
KEY_DOWN, // 0x3F
0, // 0x40
KEY_F19, // 0x41
KEY_CAPS_LOCK, // 0x42
KEY_A, // 0x43
KEY_S, // 0x44
KEY_D, // 0x45
KEY_F, // 0x46
KEY_G, // 0x47
KEY_H, // 0x48
KEY_J, // 0x49
KEY_K, // 0x4A
KEY_L, // 0x4B
KEY_SEMICOLON, // 0x4C
KEY_QUOTE, // 0x4D
KEY_ENTER, // 0x4E
KEY_SLASH, // 0x4F
0, // 0x50
KEY_Q, // 0x51
KEY_W, // 0x52
KEY_E, // 0x53
KEY_R, // 0x54
KEY_T, // 0x55
KEY_Y, // 0x56
KEY_U, // 0x57
KEY_I, // 0x58
KEY_O, // 0x59
KEY_P, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_RIGHT_BRACE, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_INSERT, // 0x5E
KEY_PAGE_DOWN, // 0x5F
0, // 0x60
KEY_2, // 0x61
KEY_3, // 0x62
KEY_4, // 0x63
KEY_5, // 0x64
KEY_6, // 0x65
KEY_7, // 0x66
KEY_8, // 0x67
KEY_9, // 0x68
KEY_0, // 0x69
KEY_MINUS, // 0x6A
KEY_EQUAL, // 0x6B
KEY_TILDE, // 0x6C
KEY_BACKSPACE, // 0x6D
KEY_DELETE, // 0x6E
KEY_PAGE_UP, // 0x6F
0, // 0x70
KEY_F3, // 0x71
KEY_F2, // 0x72
KEY_F1, // 0x73
KEY_F18, // 0x74
KEY_ESC, // 0x75
KEY_1, // 0x76
KEY_TAB, // 0x77
KEY_F19, // 0x78
0, // 0x79
0, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
0, // 0x80
0, // 0x81
0, // 0x82
0, // 0x83
0, // 0x84
KEY_RIGHT_SHIFT, // 0x85
0, // 0x86
KEY_LEFT_SHIFT, // 0x87
0, // 0x88
0, // 0x89
0, // 0x8A
KEY_LEFT_CTRL, // 0x8B
0, // 0x8C
KEY_GUI, // 0x8D
0, // 0x8E
KEY_RIGHT_CTRL, // 0x8F
};
static uint8_t epsonqx10_ColemakMap[] = {
0x00, // 0x00
KEY_F4, // 0x01
0, // 0x02
KEY_F5, // 0x03
KEY_F6, // 0x04
KEY_F7, // 0x05
KEY_F8, // 0x06
KEY_F9, // 0x07
0, // 0x08
KEY_F10, // 0x09
KEY_F11, // 0x0A
KEY_F12, // 0x0B
KEY_F13, // 0x0C
0, // 0x0D
KEY_F14, // 0x0E
KEY_F15, // 0x0F
0, // 0x10
0, // 0x11
0, // 0x12
0, // 0x13
0, // 0x14
KEYPAD_ENTER, // 0x15
KEYPAD_PERIOD, // 0x16
KEYPAD_0, // 0x17
KEYPAD_EQUAL, // 0x18
KEYPAD_6, // 0x19
KEYPAD_5, // 0x1A
KEYPAD_4, // 0x1B
0, // 0x1C
0, // 0x1D
KEY_F17, // 0x1E
KEY_F16, // 0x1F
0, // 0x20
0, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
KEYPAD_3, // 0x25
KEYPAD_2, // 0x26
KEYPAD_1, // 0x27
KEYPAD_PLUS, // 0x28
KEYPAD_9, // 0x29
KEYPAD_8, // 0x2A
KEYPAD_7, // 0x2B
KEYPAD_MINUS, // 0x2C
KEYPAD_ASTERIX, // 0x2D
KEYPAD_SLASH, // 0x2E
KEY_NUM_LOCK, // 0x2F
0, // 0x30
0, // 0x31
KEY_SPACE, // 0x32
KEY_Z, // 0x33
KEY_X, // 0x34
KEY_C, // 0x35
KEY_V, // 0x36
KEY_B, // 0x37
KEY_K, // 0x38
KEY_M, // 0x39
KEY_COMMA, // 0x3A
KEY_PERIOD, // 0x3B
KEY_UP, // 0x3C
KEY_LEFT, // 0x3D
KEY_RIGHT, // 0x3E
KEY_DOWN, // 0x3F
0, // 0x40
KEY_F19, // 0x41
KEY_CAPS_LOCK, // 0x42
KEY_A, // 0x43
KEY_R, // 0x44
KEY_S, // 0x45
KEY_T, // 0x46
KEY_D, // 0x47
KEY_H, // 0x48
KEY_N, // 0x49
KEY_E, // 0x4A
KEY_I, // 0x4B
KEY_O, // 0x4C
KEY_QUOTE, // 0x4D
KEY_ENTER, // 0x4E
KEY_SLASH, // 0x4F
0, // 0x50
KEY_Q, // 0x51
KEY_W, // 0x52
KEY_F, // 0x53
KEY_P, // 0x54
KEY_G, // 0x55
KEY_J, // 0x56
KEY_L, // 0x57
KEY_U, // 0x58
KEY_Y, // 0x59
KEY_SEMICOLON, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_RIGHT_BRACE, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_INSERT, // 0x5E
KEY_PAGE_DOWN, // 0x5F
0, // 0x60
KEY_2, // 0x61
KEY_3, // 0x62
KEY_4, // 0x63
KEY_5, // 0x64
KEY_6, // 0x65
KEY_7, // 0x66
KEY_8, // 0x67
KEY_9, // 0x68
KEY_0, // 0x69
KEY_MINUS, // 0x6A
KEY_EQUAL, // 0x6B
KEY_TILDE, // 0x6C
KEY_BACKSPACE, // 0x6D
KEY_DELETE, // 0x6E
KEY_PAGE_UP, // 0x6F
0, // 0x70
KEY_F3, // 0x71
KEY_F2, // 0x72
KEY_F1, // 0x73
KEY_F18, // 0x74
KEY_ESC, // 0x75
KEY_1, // 0x76
KEY_TAB, // 0x77
KEY_F19, // 0x78
0, // 0x79
0, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
0, // 0x80
0, // 0x81
0, // 0x82
0, // 0x83
0, // 0x84
KEY_RIGHT_SHIFT, // 0x85
0, // 0x86
KEY_LEFT_SHIFT, // 0x87
0, // 0x88
0, // 0x89
0, // 0x8A
KEY_LEFT_CTRL, // 0x8B
0, // 0x8C
KEY_GUI, // 0x8D
0, // 0x8E
KEY_ALT, // 0x8F
};
#endif

View file

@ -0,0 +1,296 @@
/* Copyright (C) 2013 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 __FACOM6684_H
#define __FACOM6684_H
// This file contains various key layouts for the Fujitsu FACOM 6684KC3 Supercomputer Terminal Keyboard
// ----- Variables -----
static uint8_t facom6684_ModifierMask[] = { 0x22, 0x12, 0x05, 0x04, 0x03 };
static uint8_t facom6684_DefaultMap[] = {
0, // 0x00
0, // 0x01
KEY_SPACE, // 0x02
KEY_LEFT_ALT, // 0x03
KEY_RIGHT_ALT, // 0x04
KEY_LEFT_GUI, // 0x05
0, // 0x06
0, // 0x07
KEY_BACKSPACE, // 0x08
KEY_ENTER, // 0x09
0, // 0x0A
KEY_ENTER, // 0x0B
KEYPAD_0, // 0x0C
KEYPAD_00, // 0x0D
KEYPAD_000, // 0x0E
KEYPAD_DECIMAL, // 0x0F
0, // 0x10
0, // 0x11
KEY_LEFT_SHIFT, // 0x12
0, // 0x13
KEY_Z, // 0x14
KEY_X, // 0x15
KEY_C, // 0x16
KEY_V, // 0x17
KEY_B, // 0x18
KEY_N, // 0x19
KEY_M, // 0x1A
KEY_COMMA, // 0x1B
KEYPAD_1, // 0x1C
KEYPAD_2, // 0x1D
KEYPAD_3, // 0x1E
KEYPAD_ENTER, // 0x1F
0, // 0x20
0, // 0x21
KEY_LEFT_CTRL, // 0x22
KEY_A, // 0x23
KEY_S, // 0x24
KEY_D, // 0x25
KEY_F, // 0x26
KEY_G, // 0x27
KEY_H, // 0x28
KEY_J, // 0x29
KEY_K, // 0x2A
KEY_L, // 0x2B
KEYPAD_4, // 0x2C
KEYPAD_5, // 0x2D
KEYPAD_6, // 0x2E
KEYPAD_MINUS, // 0x2F
0, // 0x30
0, // 0x31
KEY_TAB, // 0x32
KEY_Q, // 0x33
KEY_W, // 0x34
KEY_E, // 0x35
KEY_R, // 0x36
KEY_T, // 0x37
KEY_Y, // 0x38
KEY_U, // 0x39
KEY_I, // 0x3A
KEY_O, // 0x3B
KEYPAD_7, // 0x3C
KEYPAD_8, // 0x3D
KEYPAD_9, // 0x3E
KEYPAD_TAB, // 0x3F
0, // 0x40
KEY_TILDE, // 0x41
KEY_ESC, // 0x42
KEY_1, // 0x43
KEY_2, // 0x44
KEY_3, // 0x45
KEY_4, // 0x46
KEY_5, // 0x47
KEY_6, // 0x48
KEY_7, // 0x49
KEY_8, // 0x4A
KEY_9, // 0x4B
0, // 0x4C
0, // 0x4D
KEYPAD_COMMA, // 0x4E
KEYPAD_SPACE, // 0x4F
KEY_F1, // 0x50
KEY_F2, // 0x51
KEY_F3, // 0x52
KEY_F4, // 0x53
KEY_F5, // 0x54
KEY_F6, // 0x55
KEY_F7, // 0x56
KEY_F8, // 0x57
KEY_0, // 0x58
KEY_P, // 0x59
KEY_SEMICOLON, // 0x5A
KEY_PERIOD, // 0x5B
KEY_INSERT, // 0x5C
KEY_LEFT, // 0x5D
0, // 0x5E
KEY_DELETE, // 0x5F
KEY_F13, // 0x60
KEY_F14, // 0x61
KEY_F15, // 0x62
KEY_F16, // 0x63
KEY_F17, // 0x64
KEY_F18, // 0x65
KEY_F9, // 0x66
KEY_F10, // 0x67
KEY_MINUS, // 0x68
KEY_LEFT_BRACE, // 0x69
KEY_QUOTE, // 0x6A
KEY_SLASH, // 0x6B
KEY_HOME, // 0x6C
KEY_DOWN, // 0x6D
0, // 0x6E
KEY_END, // 0x6F
KEY_F19, // 0x70
KEY_F20, // 0x71
KEY_F21, // 0x72
KEY_F22, // 0x73
KEY_F23, // 0x74
KEY_F24, // 0x75
KEY_F11, // 0x76
KEY_F12, // 0x77
KEY_EQUAL, // 0x78
KEY_RIGHT_BRACE, // 0x79
KEY_BACKSLASH, // 0x7A
KEY_UP, // 0x7B
KEY_PAGE_UP, // 0x7C
KEY_RIGHT, // 0x7D
0, // 0x7E
KEY_PAGE_DOWN, // 0x7F
};
static uint8_t facom6684_ColemakMap[] = {
0, // 0x00
0, // 0x01
KEY_SPACE, // 0x02
KEY_LEFT_ALT, // 0x03
KEY_RIGHT_ALT, // 0x04
KEY_LEFT_GUI, // 0x05
0, // 0x06
0, // 0x07
KEY_BACKSPACE, // 0x08
KEY_ENTER, // 0x09
0, // 0x0A
KEY_ENTER, // 0x0B
KEYPAD_0, // 0x0C
KEYPAD_00, // 0x0D
KEYPAD_000, // 0x0E
KEYPAD_DECIMAL, // 0x0F
0, // 0x10
0, // 0x11
KEY_LEFT_SHIFT, // 0x12
0, // 0x13
KEY_Z, // 0x14
KEY_X, // 0x15
KEY_C, // 0x16
KEY_V, // 0x17
KEY_B, // 0x18
KEY_K, // 0x19
KEY_M, // 0x1A
KEY_COMMA, // 0x1B
KEYPAD_1, // 0x1C
KEYPAD_2, // 0x1D
KEYPAD_3, // 0x1E
KEYPAD_ENTER, // 0x1F
0, // 0x20
0, // 0x21
KEY_LEFT_CTRL, // 0x22
KEY_A, // 0x23
KEY_R, // 0x24
KEY_S, // 0x25
KEY_T, // 0x26
KEY_D, // 0x27
KEY_H, // 0x28
KEY_N, // 0x29
KEY_E, // 0x2A
KEY_I, // 0x2B
KEYPAD_4, // 0x2C
KEYPAD_5, // 0x2D
KEYPAD_6, // 0x2E
KEYPAD_MINUS, // 0x2F
0, // 0x30
0, // 0x31
KEY_TAB, // 0x32
KEY_Q, // 0x33
KEY_W, // 0x34
KEY_F, // 0x35
KEY_P, // 0x36
KEY_G, // 0x37
KEY_J, // 0x38
KEY_L, // 0x39
KEY_U, // 0x3A
KEY_Y, // 0x3B
KEYPAD_7, // 0x3C
KEYPAD_8, // 0x3D
KEYPAD_9, // 0x3E
KEYPAD_TAB, // 0x3F
0, // 0x40
KEY_TILDE, // 0x41
KEY_ESC, // 0x42
KEY_1, // 0x43
KEY_2, // 0x44
KEY_3, // 0x45
KEY_4, // 0x46
KEY_5, // 0x47
KEY_6, // 0x48
KEY_7, // 0x49
KEY_8, // 0x4A
KEY_9, // 0x4B
0, // 0x4C
0, // 0x4D
KEYPAD_COMMA, // 0x4E
KEYPAD_SPACE, // 0x4F
KEY_F1, // 0x50
KEY_F2, // 0x51
KEY_F3, // 0x52
KEY_F4, // 0x53
KEY_F5, // 0x54
KEY_F6, // 0x55
KEY_F7, // 0x56
KEY_F8, // 0x57
KEY_0, // 0x58
KEY_SEMICOLON, // 0x59
KEY_O, // 0x5A
KEY_PERIOD, // 0x5B
KEY_INSERT, // 0x5C
KEY_LEFT, // 0x5D
0, // 0x5E
KEY_DELETE, // 0x5F
KEY_F13, // 0x60
KEY_F14, // 0x61
KEY_F15, // 0x62
KEY_F16, // 0x63
KEY_F17, // 0x64
KEY_F18, // 0x65
KEY_F9, // 0x66
KEY_F10, // 0x67
KEY_MINUS, // 0x68
KEY_LEFT_BRACE, // 0x69
KEY_QUOTE, // 0x6A
KEY_SLASH, // 0x6B
KEY_HOME, // 0x6C
KEY_DOWN, // 0x6D
0, // 0x6E
KEY_END, // 0x6F
KEY_F19, // 0x70
KEY_F20, // 0x71
KEY_F21, // 0x72
KEY_F22, // 0x73
KEY_F23, // 0x74
KEY_F24, // 0x75
KEY_F11, // 0x76
KEY_F12, // 0x77
KEY_EQUAL, // 0x78
KEY_RIGHT_BRACE, // 0x79
KEY_BACKSLASH, // 0x7A
KEY_UP, // 0x7B
KEY_PAGE_UP, // 0x7C
KEY_RIGHT, // 0x7D
0, // 0x7E
KEY_PAGE_DOWN, // 0x7F
};
#endif

View file

@ -0,0 +1,234 @@
/* Copyright (C) 2011 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 __HEATHZENITH_H
#define __HEATHZENITH_H
// This file contains various key layouts for the custom Heath-Zenith Keyboard
// ----- Variables -----
static uint8_t heathzenith_ModifierMask [] = { 1, 17, 33, 49 };
static uint8_t heathzenith_AlternateMask[] = { 1, 17, 33, 49, 62 };
// Default 1-indexed key mappings
static uint8_t heathzenith_DefaultMap[] = { 0,
KEY_GUI,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_0,
KEY_MINUS,
KEY_EQUAL,
KEY_BACKSLASH,
KEY_TILDE,
KEY_BACKSPACE,
KEY_ALT,
KEY_TAB,
KEY_Q,
KEY_W,
KEY_E,
KEY_R,
KEY_T,
KEY_Y,
KEY_U,
KEY_I,
KEY_O,
KEY_P,
KEY_LEFT_BRACE,
KEY_RIGHT_BRACE,
KEY_DELETE,
KEY_UP,
KEY_CTRL,
KEY_CAPS_LLOCK,
KEY_A,
KEY_S,
KEY_D,
KEY_F,
KEY_G,
KEY_H,
KEY_J,
KEY_K,
KEY_L,
KEY_SEMICOLON,
KEY_QUOTE,
KEY_ENTER,
KEY_DOWN,
KEY_ESC,
KEY_LEFT_SHIFT,
KEY_Z,
KEY_X,
KEY_C,
KEY_V,
KEY_B,
KEY_N,
KEY_M,
KEY_COMMA,
KEY_PERIOD,
KEY_SLASH,
KEY_RIGHT_SHIFT,
KEY_LEFT,
KEY_RIGHT,
KEY_SPACE
};
static uint8_t heathzenith_NavigationMap[] = { 0,
KEY_GUI,
KEY_F1,
KEY_F2,
KEY_F3,
KEY_F4,
KEY_F5,
KEY_F6,
KEY_F7,
KEY_F8,
KEY_F9,
KEY_F10,
KEY_F11,
KEY_F12,
KEY_INSERT,
KEY_DELETE,
KEY_BACKSPACE,
KEY_ALT,
KEY_CAPS_LOCK,
0,
0,
0,
0,
0,
0,
0,
KEY_SYSREQ_ATT,
KEY_SCROLL_LOCK,
KEY_PAUSE,
KEY_UP,
0,
0,
0,
KEY_CTRL,
KEY_CAPS_LLOCK,
0,
0,
0,
0,
0,
KEYPAD_ASTERIX,
KEYPAD_SLASH,
KEY_HOME,
KEY_PAGE_UP,
KEY_LEFT,
KEY_RIGHT,
KEY_ENTER,
0,
KEY_ESC,
KEY_LEFT_SHIFT,
0,
0,
0,
0,
0,
KEYPAD_PLUS,
KEYPAD_MINUS,
KEY_END,
KEY_PAGE_DOWN,
KEY_DOWN,
KEY_RIGHT_SHIFT,
165,
KEY_RIGHT_ALT,
KEY_SPACE
};
static uint8_t heathzenith_ColemakMap[] = { 0,
KEY_GUI,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_0,
KEY_MINUS,
KEY_EQUAL,
KEY_BACKSLASH,
KEY_TILDE,
KEY_BACKSPACE,
KEY_ALT,
KEY_TAB,
KEY_Q,
KEY_W,
KEY_F,
KEY_P,
KEY_G,
KEY_J,
KEY_L,
KEY_U,
KEY_Y,
KEY_SEMICOLON,
KEY_LEFT_BRACE,
KEY_RIGHT_BRACE,
KEY_DELETE,
KEY_PAGE_UP,
KEY_CTRL,
KEY_CAPS_LLOCK,
KEY_A,
KEY_R,
KEY_S,
KEY_T,
KEY_D,
KEY_H,
KEY_N,
KEY_E,
KEY_I,
KEY_O,
KEY_QUOTE,
KEY_ENTER,
KEY_PAGE_DOWN,
KEY_ESC,
KEY_LEFT_SHIFT,
KEY_Z,
KEY_X,
KEY_C,
KEY_V,
KEY_B,
KEY_K,
KEY_M,
KEY_COMMA,
KEY_PERIOD,
KEY_SLASH,
KEY_RIGHT_SHIFT,
165,
KEY_RIGHT_ALT,
KEY_SPACE
};
#endif

296
Macro/buffer/Keymap/hp150.h Normal file
View file

@ -0,0 +1,296 @@
/* 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 __HP150_H
#define __HP150_H
// This file contains various key layouts for the HP150 Keyboard
// ----- Variables -----
static uint8_t hp150_ModifierMask[] = { 0x2F, 0x39, 0x3A, 0x3F, 0x45, 0x46, 0x76 };
static uint8_t hp150_DefaultMap[] = {
0, // 0x00
0, // 0x01
0, // 0x02
0, // 0x03
0, // 0x04
0, // 0x05
0, // 0x06
0, // 0x07
0, // 0x08
0, // 0x09
0, // 0x0A
0, // 0x0B
KEY_MENU, // 0x0C
KEY_VOL_DOWN, // 0x0D
KEY_VOL_UP, // 0x0E
KEY_F8, // 0x0F
KEY_F7, // 0x10
KEY_F6, // 0x11
KEY_F5, // 0x12
KEY_PRINTSCREEN, // 0x13
KEY_8, // 0x14
KEY_END, // 0x15
KEY_HOME, // 0x16
KEY_BACKSPACE, // 0x17
KEY_EQUAL, // 0x18
KEY_MINUS, // 0x19
KEY_0, // 0x1A
KEY_9, // 0x1B
KEY_I, // 0x1C
KEY_DELETE, // 0x1D
KEY_INSERT, // 0x1E
KEY_BACKSLASH, // 0x1F
KEY_RIGHT_BRACE, // 0x20
KEY_LEFT_BRACE, // 0x21
KEY_P, // 0x22
KEY_O, // 0x23
KEY_J, // 0x24
KEY_PAGE_UP, // 0x25
KEY_NUM_LOCK, // 0x26
KEY_ENTER, // 0x27
KEY_QUOTE, // 0x28
KEY_SEMICOLON, // 0x29
KEY_L, // 0x2A
KEY_K, // 0x2B
KEY_M, // 0x2C
KEY_PAGE_DOWN, // 0x2D
KEY_UP, // 0x2E
KEY_RIGHT_GUI, // 0x2F
KEY_1, // 0x30
KEY_SLASH, // 0x31
KEY_PERIOD, // 0x32
KEY_COMMA, // 0x33
0, // 0x34
KEY_RIGHT, // 0x35
KEY_DOWN, // 0x36
KEY_LEFT, // 0x37
KEY_RIGHT_GUI, // 0x38
KEY_RIGHT_ALT, // 0x39
KEY_LEFT_ALT, // 0x3A
KEY_SPACE, // 0x3B
KEY_F4, // 0x3C
KEY_G, // 0x3D
KEY_NUMBER, // 0x3E
KEY_CTRL, // 0x3F
KEY_TILDE, // 0x40
KEY_F1, // 0x41
KEY_F2, // 0x42
KEY_F3, // 0x43
KEY_7, // 0x44
KEY_LEFT_SHIFT, // 0x45
KEY_RIGHT_SHIFT, // 0x46
KEY_CAPS_LOCK, // 0x47
KEY_3, // 0x48
KEY_4, // 0x49
KEY_5, // 0x4A
KEY_6, // 0x4B
KEY_U, // 0x4C
KEY_TAB, // 0x4D
KEY_Q, // 0x4E
KEY_W, // 0x4F
KEY_E, // 0x50
KEY_R, // 0x51
KEY_T, // 0x52
KEY_Y, // 0x53
KEY_H, // 0x54
KEY_2, // 0x55
KEY_LEFT_GUI, // 0x56
KEY_A, // 0x57
KEY_S, // 0x58
KEY_D, // 0x59
KEY_F, // 0x5A
KEY_ESC, // 0x5B
KEYPAD_COMMA, // 0x5C
KEYPAD_TAB, // 0x5D
KEYPAD_6, // 0x5E
KEYPAD_9, // 0x5F
KEYPAD_5, // 0x60
KEYPAD_8, // 0x61
KEYPAD_4, // 0x62
KEYPAD_7, // 0x63
KEY_TAB, // 0x64
KEYPAD_MINUS, // 0x65
KEYPAD_3, // 0x66
KEYPAD_PLUS, // 0x67
KEYPAD_2, // 0x68
KEYPAD_SLASH, // 0x69
KEYPAD_1, // 0x6A
KEYPAD_ASTERIX, // 0x6B
0, // 0x6C
KEY_F12, // 0x6D
KEYPAD_PERIOD, // 0x6E
KEY_F11, // 0x6F
0, // 0x70
KEY_F10, // 0x71
KEYPAD_0, // 0x72
KEY_F9, // 0x73
KEY_N, // 0x74
KEY_ESC, // 0x75
KEY_GUI, // 0x76
KEY_Z, // 0x77
KEY_X, // 0x78
KEY_C, // 0x79
KEY_V, // 0x7A
KEY_B, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
static uint8_t hp150_ColemakMap[] = {
0, // 0x00
0, // 0x01
0, // 0x02
0, // 0x03
0, // 0x04
0, // 0x05
0, // 0x06
0, // 0x07
0, // 0x08
0, // 0x09
0, // 0x0A
0, // 0x0B
KEY_MENU, // 0x0C
KEY_VOL_DOWN, // 0x0D
KEY_VOL_UP, // 0x0E
KEY_F8, // 0x0F
KEY_F7, // 0x10
KEY_F6, // 0x11
KEY_F5, // 0x12
KEY_PRINTSCREEN, // 0x13
KEY_8, // 0x14
KEY_END, // 0x15
KEY_HOME, // 0x16
KEY_BACKSPACE, // 0x17
KEY_EQUAL, // 0x18
KEY_MINUS, // 0x19
KEY_0, // 0x1A
KEY_9, // 0x1B
KEY_U, // 0x1C
KEY_DELETE, // 0x1D
KEY_INSERT, // 0x1E
KEY_BACKSLASH, // 0x1F
KEY_RIGHT_BRACE, // 0x20
KEY_LEFT_BRACE, // 0x21
KEY_SEMICOLON, // 0x22
KEY_Y, // 0x23
KEY_N, // 0x24
KEY_PAGE_UP, // 0x25
KEY_NUM_LOCK, // 0x26
KEY_ENTER, // 0x27
KEY_QUOTE, // 0x28
KEY_O, // 0x29
KEY_I, // 0x2A
KEY_E, // 0x2B
KEY_M, // 0x2C
KEY_PAGE_DOWN, // 0x2D
KEY_UP, // 0x2E
KEY_RIGHT_GUI, // 0x2F
KEY_1, // 0x30
KEY_SLASH, // 0x31
KEY_PERIOD, // 0x32
KEY_COMMA, // 0x33
0, // 0x34
KEY_RIGHT, // 0x35
KEY_DOWN, // 0x36
KEY_LEFT, // 0x37
KEY_RIGHT_GUI, // 0x38
KEY_RIGHT_ALT, // 0x39
KEY_LEFT_ALT, // 0x3A
KEY_SPACE, // 0x3B
KEY_F4, // 0x3C
KEY_D, // 0x3D
KEY_NUMBER, // 0x3E
KEY_CTRL, // 0x3F
KEY_TILDE, // 0x40
KEY_F1, // 0x41
KEY_F2, // 0x42
KEY_F3, // 0x43
KEY_7, // 0x44
KEY_LEFT_SHIFT, // 0x45
KEY_RIGHT_SHIFT, // 0x46
KEY_CAPS_LOCK, // 0x47
KEY_3, // 0x48
KEY_4, // 0x49
KEY_5, // 0x4A
KEY_6, // 0x4B
KEY_L, // 0x4C
KEY_TAB, // 0x4D
KEY_Q, // 0x4E
KEY_W, // 0x4F
KEY_F, // 0x50
KEY_P, // 0x51
KEY_G, // 0x52
KEY_J, // 0x53
KEY_H, // 0x54
KEY_2, // 0x55
KEY_LEFT_GUI, // 0x56
KEY_A, // 0x57
KEY_R, // 0x58
KEY_S, // 0x59
KEY_T, // 0x5A
KEY_ESC, // 0x5B
KEYPAD_COMMA, // 0x5C
KEYPAD_TAB, // 0x5D
KEYPAD_6, // 0x5E
KEYPAD_9, // 0x5F
KEYPAD_5, // 0x60
KEYPAD_8, // 0x61
KEYPAD_4, // 0x62
KEYPAD_7, // 0x63
KEY_TAB, // 0x64
KEYPAD_MINUS, // 0x65
KEYPAD_3, // 0x66
KEYPAD_PLUS, // 0x67
KEYPAD_2, // 0x68
KEYPAD_SLASH, // 0x69
KEYPAD_1, // 0x6A
KEYPAD_ASTERIX, // 0x6B
0, // 0x6C
KEY_F12, // 0x6D
KEYPAD_PERIOD, // 0x6E
KEY_F11, // 0x6F
0, // 0x70
KEY_F10, // 0x71
KEYPAD_0, // 0x72
KEY_F9, // 0x73
KEY_K, // 0x74
KEY_ESC, // 0x75
KEY_GUI, // 0x76
KEY_Z, // 0x77
KEY_X, // 0x78
KEY_C, // 0x79
KEY_V, // 0x7A
KEY_B, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
#endif

View file

@ -0,0 +1,206 @@
/* 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 __IBMCONV_H
#define __IBMCONV_H
// This file contains various key layouts for the IBM Convertible keyboard
// ----- Variables -----
static uint8_t ibmconv_ModifierMask [] = { 0x2C, 0x38, 0x3A, 0x3B, 0x3C, 0x3E };
// Default 1-indexed key mappings
static uint8_t ibmconv_DefaultMap[] = {
0, // 0x00
KEY_TILDE, // 0x01
KEY_1, // 0x02
KEY_2, // 0x03
KEY_3, // 0x04
KEY_4, // 0x05
KEY_5, // 0x06
KEY_6, // 0x07
KEY_7, // 0x08 (7)
KEY_8, // 0x09 (8)
KEY_9, // 0x0A (9)
KEY_0, // 0x0B
KEY_MINUS, // 0x0C (-)
KEY_EQUAL, // 0x0D (+)
KEY_BACKSLASH, // 0x0E
KEY_BACKSPACE, // 0x0F
KEY_TAB, // 0x10
KEY_Q, // 0x11
KEY_W, // 0x12
KEY_E, // 0x13
KEY_R, // 0x14
KEY_T, // 0x15
KEY_Y, // 0x16
KEY_U, // 0x17 (4)
KEY_I, // 0x18 (5)
KEY_O, // 0x19 (6)
KEY_P, // 0x1A
KEY_LEFT_BRACE, // 0x1B
KEY_RIGHT_BRACE, // 0x1C
0, // 0x1D
KEY_CAPS_LOCK, // 0x1E
KEY_A, // 0x1F
KEY_S, // 0x20
KEY_D, // 0x21
KEY_F, // 0x22
KEY_G, // 0x23
KEY_H, // 0x24
KEY_J, // 0x25 (1)
KEY_K, // 0x26 (2)
KEY_L, // 0x27 (3)
KEY_SEMICOLON, // 0x28
KEY_QUOTE, // 0x29
0, // 0x2A (1/4)
KEY_ENTER, // 0x2B
KEY_LEFT_SHIFT, // 0x2C
0, // 0x2D
KEY_Z, // 0x2E
KEY_X, // 0x2F
KEY_C, // 0x30
KEY_V, // 0x31
KEY_B, // 0x32
KEY_N, // 0x33
KEY_M, // 0x34 (0)
KEY_COMMA, // 0x35
KEY_PERIOD, // 0x36 (Decimal)
KEY_SLASH, // 0x37 (/)
KEY_RIGHT_SHIFT, // 0x38
KEY_PRINTSCREEN, // 0x39 (*)
KEY_LEFT_CTRL, // 0x3A
KEY_LEFT_GUI, // 0x3B
KEY_LEFT_ALT, // 0x3C
KEY_SPACE, // 0x3D
KEY_RIGHT_ALT, // 0x3E
KEY_LEFT, // 0x3F (Home)
KEY_UP, // 0x40 (PgUp)
KEY_DOWN, // 0x41 (PgDn)
KEY_RIGHT, // 0x42 (End)
KEY_ESC, // 0x43
KEY_F1, // 0x44
KEY_F2, // 0x45
KEY_F3, // 0x46
KEY_F4, // 0x47
KEY_F5, // 0x48
KEY_F6, // 0x49
KEY_F7, // 0x4A
KEY_F8, // 0x4B
KEY_F9, // 0x4C
KEY_F10, // 0x4D
KEY_NUM_LOCK, // 0x4E
KEY_SCROLL_LOCK, // 0x4F
KEY_INSERT, // 0x50
KEY_DELETE, // 0x51
};
static uint8_t ibmconv_ColemakMap[] = {
0, // 0x00
KEY_TILDE, // 0x01
KEY_1, // 0x02
KEY_2, // 0x03
KEY_3, // 0x04
KEY_4, // 0x05
KEY_5, // 0x06
KEY_6, // 0x07
KEY_7, // 0x08 (7)
KEY_8, // 0x09 (8)
KEY_9, // 0x0A (9)
KEY_0, // 0x0B
KEY_MINUS, // 0x0C (-)
KEY_EQUAL, // 0x0D (+)
KEY_BACKSLASH, // 0x0E
KEY_BACKSPACE, // 0x0F
KEY_TAB, // 0x10
KEY_Q, // 0x11
KEY_W, // 0x12
KEY_F, // 0x13
KEY_P, // 0x14
KEY_G, // 0x15
KEY_J, // 0x16
KEY_L, // 0x17 (4)
KEY_U, // 0x18 (5)
KEY_Y, // 0x19 (6)
KEY_SEMICOLON, // 0x1A
KEY_LEFT_BRACE, // 0x1B
KEY_RIGHT_BRACE, // 0x1C
0, // 0x1D
KEY_CAPS_LOCK, // 0x1E
KEY_A, // 0x1F
KEY_R, // 0x20
KEY_S, // 0x21
KEY_T, // 0x22
KEY_D, // 0x23
KEY_H, // 0x24
KEY_N, // 0x25 (1)
KEY_E, // 0x26 (2)
KEY_I, // 0x27 (3)
KEY_O, // 0x28
KEY_QUOTE, // 0x29
0, // 0x2A (1/4)
KEY_ENTER, // 0x2B
KEY_LEFT_SHIFT, // 0x2C
0, // 0x2D
KEY_Z, // 0x2E
KEY_X, // 0x2F
KEY_C, // 0x30
KEY_V, // 0x31
KEY_B, // 0x32
KEY_K, // 0x33
KEY_M, // 0x34 (0)
KEY_COMMA, // 0x35
KEY_PERIOD, // 0x36 (Decimal)
KEY_SLASH, // 0x37 (/)
KEY_RIGHT_SHIFT, // 0x38
KEY_PRINTSCREEN, // 0x39 (*)
KEY_LEFT_CTRL, // 0x3A
KEY_LEFT_GUI, // 0x3B
KEY_LEFT_ALT, // 0x3C
KEY_SPACE, // 0x3D
KEY_RIGHT_ALT, // 0x3E
KEY_LEFT, // 0x3F (Home)
KEY_UP, // 0x40 (PgUp)
KEY_DOWN, // 0x41 (PgDn)
KEY_RIGHT, // 0x42 (End)
KEY_ESC, // 0x43
KEY_F1, // 0x44
KEY_F2, // 0x45
KEY_F3, // 0x46
KEY_F4, // 0x47
KEY_F5, // 0x48
KEY_F6, // 0x49
KEY_F7, // 0x4A
KEY_F8, // 0x4B
KEY_F9, // 0x4C
KEY_F10, // 0x4D
KEY_NUM_LOCK, // 0x4E
KEY_SCROLL_LOCK, // 0x4F
KEY_INSERT, // 0x50
KEY_DELETE, // 0x51
};
#endif

View file

@ -0,0 +1,551 @@
/* Copyright (C) 2011 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 __KAYPRO1_H
#define __KAYPRO1_H
// This file contains various key layouts for the Kaypro 1 keyboard
// ----- Variables -----
static uint8_t kaypro1_ModifierMask[] = { 0xF5, 0xF6 };
static uint8_t kaypro1_DefaultMap[] = { 0,
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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_D, // 0x64
KEY_E, // 0x65
KEY_F, // 0x66
KEY_G, // 0x67
KEY_H, // 0x68
KEY_I, // 0x69
KEY_J, // 0x6A
KEY_K, // 0x6B
KEY_L, // 0x6C
KEY_M, // 0x6D
KEY_N, // 0x6E
KEY_O, // 0x6F
KEY_P, // 0x70
KEY_Q, // 0x71
KEY_R, // 0x72
KEY_S, // 0x73
KEY_T, // 0x74
KEY_U, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_Y, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
static uint8_t kaypro1_ColemakMap[] = { 0,
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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_S, // 0x64
KEY_F, // 0x65
KEY_T, // 0x66
KEY_D, // 0x67
KEY_H, // 0x68
KEY_U, // 0x69
KEY_N, // 0x6A
KEY_E, // 0x6B
KEY_I, // 0x6C
KEY_M, // 0x6D
KEY_K, // 0x6E
KEY_Y, // 0x6F
KEY_SEMICOLON, // 0x70
KEY_Q, // 0x71
KEY_P, // 0x72
KEY_R, // 0x73
KEY_G, // 0x74
KEY_L, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_J, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
#endif

View file

@ -0,0 +1,69 @@
/* Copyright (C) 2011-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 __KEYMAP_H
#define __KEYMAP_H
// ----- Includes -----
#include "usb_keys.h"
// ----- Defines -----
// ----- Variables -----
// Lots of these variables are not used, so ignore gcc unused warnings
// But just for the variables in this file (and those included into it)
#pragma GCC diagnostic ignored "-Wunused-variable"
#pragma GCC diagnostic push
// See files for full layout descriptions
#include "avrcapsense.h"
#include "betkb.h"
#include "budkeypad.h"
#include "epsonqx10.h"
#include "facom6684.h"
#include "heathzenith.h"
#include "hp150.h"
#include "ibmconvertible.h"
#include "kaypro1.h"
#include "mbc55x.h"
#include "microswitch8304.h"
#include "skm67001.h"
#include "sonynews.h"
#include "sonyoas3400.h"
#include "tandy1000.h"
#include "univacf3w9.h"
// Only ignore unused warnings for the above variables
#pragma GCC diagnostic pop
#endif

View file

@ -0,0 +1,553 @@
/* Copyright (C) 2013 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 __MBC55X_H
#define __MBC55X_H
// This file contains various key layouts for the Sanyo MBC-55X Computer Keyboard
// ----- Variables -----
static uint8_t mbc55x_ModifierMask[] = { 0xF5, 0xF6 };
static uint8_t mbc55x_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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_D, // 0x64
KEY_E, // 0x65
KEY_F, // 0x66
KEY_G, // 0x67
KEY_H, // 0x68
KEY_I, // 0x69
KEY_J, // 0x6A
KEY_K, // 0x6B
KEY_L, // 0x6C
KEY_M, // 0x6D
KEY_N, // 0x6E
KEY_O, // 0x6F
KEY_P, // 0x70
KEY_Q, // 0x71
KEY_R, // 0x72
KEY_S, // 0x73
KEY_T, // 0x74
KEY_U, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_Y, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
static uint8_t mbc55x_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
KEY_ESC, // 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
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48
0, // 0x49
0, // 0x4A
0, // 0x4B
0, // 0x4C
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_BACKSLASH, // 0x5C
KEY_RIGHT_BRACE, // 0x5D
0, // 0x5E
0, // 0x5F
KEY_TILDE, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_S, // 0x64
KEY_F, // 0x65
KEY_T, // 0x66
KEY_D, // 0x67
KEY_H, // 0x68
KEY_U, // 0x69
KEY_N, // 0x6A
KEY_E, // 0x6B
KEY_I, // 0x6C
KEY_M, // 0x6D
KEY_K, // 0x6E
KEY_Y, // 0x6F
KEY_SEMICOLON, // 0x70
KEY_Q, // 0x71
KEY_P, // 0x72
KEY_R, // 0x73
KEY_G, // 0x74
KEY_L, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_J, // 0x79
KEY_Z, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
0, // 0x80
0, // 0x81
0, // 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
0, // 0x90
0, // 0x91
0, // 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
KEYPAD_0, // 0xB1
KEYPAD_PERIOD, // 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
KEYPAD_1, // 0xC0
KEYPAD_2, // 0xC1
KEYPAD_3, // 0xC2
KEYPAD_ENTER, // 0xC3
0, // 0xC4
0, // 0xC5
0, // 0xC6
0, // 0xC7
0, // 0xC8
0, // 0xC9
0, // 0xCA
0, // 0xCB
0, // 0xCC
0, // 0xCD
0, // 0xCE
0, // 0xCF
KEYPAD_4, // 0xD0
KEYPAD_5, // 0xD1
KEYPAD_6, // 0xD2
KEYPAD_COMMA, // 0xD3
0, // 0xD4
0, // 0xD5
0, // 0xD6
0, // 0xD7
0, // 0xD8
0, // 0xD9
0, // 0xDA
0, // 0xDB
0, // 0xDC
0, // 0xDD
0, // 0xDE
0, // 0xDF
0, // 0xE0
KEYPAD_7, // 0xE1
KEYPAD_8, // 0xE2
KEYPAD_9, // 0xE3
KEYPAD_MINUS, // 0xE4
0, // 0xE5
0, // 0xE6
0, // 0xE7
0, // 0xE8
0, // 0xE9
0, // 0xEA
0, // 0xEB
0, // 0xEC
0, // 0xED
0, // 0xEE
0, // 0xEF
0, // 0xF0
KEY_UP, // 0xF1
KEY_DOWN, // 0xF2
KEY_LEFT, // 0xF3
KEY_RIGHT, // 0xF4
KEY_LEFT_SHIFT, // 0xF5
KEY_CTRL, // 0xF6
0, // 0xF7
0, // 0xF8
0, // 0xF9
0, // 0xFA
0, // 0xFB
0, // 0xFC
0, // 0xFD
0, // 0xFE
0, // 0xFF
};
#endif

View file

@ -0,0 +1,296 @@
/* Copyright (C) 2011 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 __MICROSWITCH8304_H
#define __MICROSWITCH8304_H
// This file contains various key layouts for the Convergent microswitch8304 keyboard
// ----- Variables -----
static uint8_t microswitch8304_ModifierMask[] = { 0x48, 0x49, 0x4C, 0x4D, 0x45, 0x14 };
static uint8_t microswitch8304_DefaultMap[] = {
KEY_TILDE, // 0x00
KEY_UP, // 0x01
0, // 0x02
0, // 0x03
KEY_PRINTSCREEN, // 0x04
KEY_PAGE_DOWN, // 0x05
KEY_LEFT_BRACE, // 0x06
KEY_F11, // 0x07
KEY_BACKSPACE, // 0x08
KEY_TAB, // 0x09
KEY_ENTER, // 0x0A
KEY_DOWN, // 0x0B
KEY_PAGE_UP, // 0x0C
KEYPAD_ENTER, // 0x0D
KEY_LEFT, // 0x0E
KEY_RIGHT, // 0x0F
0, // 0x10
KEY_PAGE_UP, // 0x11
KEY_F12, // 0x12
KEY_PAGE_DOWN, // 0x13
KEY_GUI, // 0x14
KEY_F1, // 0x15
KEY_F2, // 0x16
KEY_F3, // 0x17
KEY_F4, // 0x18
KEY_F5, // 0x19
KEY_F6, // 0x1A
KEY_ESC, // 0x1B
KEY_F7, // 0x1C
KEY_F8, // 0x1D
KEY_F9, // 0x1E
KEY_F10, // 0x1F
KEY_SPACE, // 0x20
KEYPAD_9, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
0, // 0x25
0, // 0x26
KEY_QUOTE, // 0x27
0, // 0x28
0, // 0x29
0, // 0x2A
KEY_EQUAL, // 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
KEYPAD_6, // 0x41
KEYPAD_MINUS, // 0x42
KEY_PAUSE, // 0x43
KEY_INSERT, // 0x44
KEY_CTRL, // 0x45
KEYPAD_2, // 0x46
KEYPAD_3, // 0x47
KEY_LEFT_SHIFT, // 0x48
KEY_RIGHT_SHIFT, // 0x49
KEYPAD_0, // 0x4A
KEYPAD_PERIOD, // 0x4B
KEY_LEFT_ALT, // 0x4C
KEY_RIGHT_ALT, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_RIGHT_BRACE, // 0x5B
KEYPAD_7, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_ESC, // 0x5E
0, // 0x5F
KEYPAD_1, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_D, // 0x64
KEY_E, // 0x65
KEY_F, // 0x66
KEY_G, // 0x67
KEY_H, // 0x68
KEY_I, // 0x69
KEY_J, // 0x6A
KEY_K, // 0x6B
KEY_L, // 0x6C
KEY_M, // 0x6D
KEY_N, // 0x6E
KEY_O, // 0x6F
KEY_P, // 0x70
KEY_Q, // 0x71
KEY_R, // 0x72
KEY_S, // 0x73
KEY_T, // 0x74
KEY_U, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_Y, // 0x79
KEY_Z, // 0x7A
KEYPAD_4, // 0x7B
KEYPAD_8, // 0x7C
KEYPAD_5, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
};
static uint8_t microswitch8304_ColemakMap[] = {
KEY_TILDE, // 0x00
KEY_UP, // 0x01
0, // 0x02
0, // 0x03
KEY_PRINTSCREEN, // 0x04
KEY_PAGE_DOWN, // 0x05
KEY_LEFT_BRACE, // 0x06
KEY_F11, // 0x07
KEY_BACKSPACE, // 0x08
KEY_TAB, // 0x09
KEY_ENTER, // 0x0A
KEY_DOWN, // 0x0B
KEY_PAGE_UP, // 0x0C
KEYPAD_ENTER, // 0x0D
KEY_LEFT, // 0x0E
KEY_RIGHT, // 0x0F
0, // 0x10
KEY_PAGE_UP, // 0x11
KEY_F12, // 0x12
KEY_PAGE_DOWN, // 0x13
KEY_GUI, // 0x14
KEY_F1, // 0x15
KEY_F2, // 0x16
KEY_F3, // 0x17
KEY_F4, // 0x18
KEY_F5, // 0x19
KEY_F6, // 0x1A
KEY_ESC, // 0x1B
KEY_F7, // 0x1C
KEY_F8, // 0x1D
KEY_F9, // 0x1E
KEY_F10, // 0x1F
KEY_SPACE, // 0x20
KEYPAD_9, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
0, // 0x25
0, // 0x26
KEY_QUOTE, // 0x27
0, // 0x28
0, // 0x29
0, // 0x2A
KEY_EQUAL, // 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
KEYPAD_6, // 0x41
KEYPAD_MINUS, // 0x42
KEY_PAUSE, // 0x43
KEY_INSERT, // 0x44
KEY_CTRL, // 0x45
KEYPAD_2, // 0x46
KEYPAD_3, // 0x47
KEY_LEFT_SHIFT, // 0x48
KEY_RIGHT_SHIFT, // 0x49
KEYPAD_0, // 0x4A
KEYPAD_PERIOD, // 0x4B
KEY_LEFT_ALT, // 0x4C
KEY_RIGHT_ALT, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
0, // 0x56
0, // 0x57
0, // 0x58
0, // 0x59
0, // 0x5A
KEY_RIGHT_BRACE, // 0x5B
KEYPAD_7, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_ESC, // 0x5E
0, // 0x5F
KEYPAD_1, // 0x60
KEY_A, // 0x61
KEY_B, // 0x62
KEY_C, // 0x63
KEY_S, // 0x64
KEY_F, // 0x65
KEY_T, // 0x66
KEY_D, // 0x67
KEY_H, // 0x68
KEY_U, // 0x69
KEY_N, // 0x6A
KEY_E, // 0x6B
KEY_I, // 0x6C
KEY_M, // 0x6D
KEY_K, // 0x6E
KEY_Y, // 0x6F
KEY_SEMICOLON, // 0x70
KEY_Q, // 0x71
KEY_P, // 0x72
KEY_R, // 0x73
KEY_G, // 0x74
KEY_L, // 0x75
KEY_V, // 0x76
KEY_W, // 0x77
KEY_X, // 0x78
KEY_J, // 0x79
KEY_Z, // 0x7A
KEYPAD_4, // 0x7B
KEYPAD_8, // 0x7C
KEYPAD_5, // 0x7D
0, // 0x7E
KEY_DELETE, // 0x7F
};
#endif

View file

@ -0,0 +1,214 @@
/* 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 __SKM67001_H
#define __SKM67001_H
// This file contains various key layouts for the SKM 67001 Keyboard from the Olympia Professional ES 105 Typewriter
// ----- Variables -----
static uint8_t skm67001_ModifierMask [] = { 0x34, 0x38, 0x3A, 0x40 };
// Default 1-indexed key mappings
static uint8_t skm67001_DefaultMap[] = {
0, // 0x00
KEY_1, // 0x01
KEY_Q, // 0x02
KEY_A, // 0x03
KEY_2, // 0x04
KEY_Z, // 0x05
KEY_W, // 0x06
KEY_S, // 0x07
KEY_3, // 0x08
KEY_X, // 0x09
KEY_E, // 0x0A
KEY_D, // 0x0B
KEY_4, // 0x0C
KEY_C, // 0x0D
KEY_R, // 0x0E
KEY_F, // 0x0F
KEY_5, // 0x10
KEY_V, // 0x11
KEY_T, // 0x12
KEY_G, // 0x13
KEY_6, // 0x14
KEY_B, // 0x15
KEY_Y, // 0x16
KEY_H, // 0x17
KEY_7, // 0x18
KEY_N, // 0x19
KEY_U, // 0x1A
KEY_J, // 0x1B
KEY_8, // 0x1C
KEY_M, // 0x1D
KEY_I, // 0x1E
KEY_K, // 0x1F
KEY_9, // 0x20
KEY_COMMA, // 0x21
KEY_O, // 0x22
KEY_L, // 0x23
KEY_0, // 0x24
KEY_PERIOD, // 0x25
KEY_P, // 0x26
KEY_SEMICOLON, // 0x27
KEY_MINUS, // 0x28
KEY_SLASH, // 0x29
KEY_LEFT_BRACE, // 0x2A (1/4)
KEY_QUOTE, // 0x2B
KEY_EQUAL, // 0x2C
KEY_RIGHT_BRACE, // 0x2D
0, // 0x2E
0, // 0x2F
KEY_TILDE, // 0x30
KEY_TAB, // 0x31
0, // 0x32
0, // 0x33
KEY_SHIFT, // 0x34
KEY_ENTER, // 0x35
KEY_BACKSPACE, // 0x36
KEY_DELETE, // 0x37
KEY_CTRL, // 0x38 (MAR LEFT)
KEY_SPACE, // 0x39
KEY_ALT, // 0x3A (EXPRESS / MAR RIGHT)
0, // 0x3B
0, // 0x3C
KEY_ESC, // 0x3D (MAR REL)
0, // 0x3E (STORE)
0, // 0x3F (RECALL)
KEY_GUI, // 0x40 (CODE)
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48 (DEC TAB)
0, // 0x49 (SET TAB)
0, // 0x4A (TAB CLEAR)
0, // 0x4B (INDEX)
0, // 0x4C (RELOC)
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50 (REV INDEX)
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
};
static uint8_t skm67001_ColemakMap[] = {
0, // 0x00
KEY_1, // 0x01
KEY_Q, // 0x02
KEY_A, // 0x03
KEY_2, // 0x04
KEY_Z, // 0x05
KEY_W, // 0x06
KEY_R, // 0x07
KEY_3, // 0x08
KEY_X, // 0x09
KEY_F, // 0x0A
KEY_S, // 0x0B
KEY_4, // 0x0C
KEY_C, // 0x0D
KEY_P, // 0x0E
KEY_T, // 0x0F
KEY_5, // 0x10
KEY_V, // 0x11
KEY_G, // 0x12
KEY_D, // 0x13
KEY_6, // 0x14
KEY_B, // 0x15
KEY_J, // 0x16
KEY_H, // 0x17
KEY_7, // 0x18
KEY_K, // 0x19
KEY_L, // 0x1A
KEY_N, // 0x1B
KEY_8, // 0x1C
KEY_M, // 0x1D
KEY_U, // 0x1E
KEY_E, // 0x1F
KEY_9, // 0x20
KEY_COMMA, // 0x21
KEY_Y, // 0x22
KEY_I, // 0x23
KEY_0, // 0x24
KEY_PERIOD, // 0x25
KEY_SEMICOLON, // 0x26
KEY_O, // 0x27
KEY_MINUS, // 0x28
KEY_SLASH, // 0x29
KEY_LEFT_BRACE, // 0x2A (1/4)
KEY_QUOTE, // 0x2B
KEY_EQUAL, // 0x2C
KEY_RIGHT_BRACE, // 0x2D
0, // 0x2E
0, // 0x2F
KEY_TILDE, // 0x30
KEY_TAB, // 0x31
0, // 0x32
0, // 0x33
KEY_SHIFT, // 0x34
KEY_ENTER, // 0x35
KEY_BACKSPACE, // 0x36
KEY_DELETE, // 0x37
KEY_CTRL, // 0x38 (MAR LEFT)
KEY_SPACE, // 0x39
KEY_ALT, // 0x3A (EXPRESS / MAR RIGHT)
0, // 0x3B
0, // 0x3C
KEY_ESC, // 0x3D (MAR REL)
0, // 0x3E (STORE)
0, // 0x3F (RECALL)
KEY_GUI, // 0x40 (CODE)
0, // 0x41
0, // 0x42
0, // 0x43
0, // 0x44
0, // 0x45
0, // 0x46
0, // 0x47
0, // 0x48 (DEC TAB)
0, // 0x49 (SET TAB)
0, // 0x4A (TAB CLEAR)
0, // 0x4B (INDEX)
0, // 0x4C (RELOC)
0, // 0x4D
0, // 0x4E
0, // 0x4F
0, // 0x50 (REV INDEX)
0, // 0x51
0, // 0x52
0, // 0x53
0, // 0x54
0, // 0x55
};
#endif

View file

@ -0,0 +1,299 @@
/* Copyright (C) 2011 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 __SONYNEWS_H
#define __SONYNEWS_H
// This file contains various key layouts for the Sony NEWS Topre Keyboard
// TODO
// ----- Variables -----
static uint8_t sonynews_ModifierMask[] = { 0x28, 0x36, 0x42, 0x43, 0x4A };
static uint8_t sonynews_DefaultMap[] = {
0x00, // 0x00
KEY_F1, // 0x01
KEY_F2, // 0x02
KEY_F3, // 0x03
KEY_F4, // 0x04
KEY_F5, // 0x05
KEY_F6, // 0x06
KEY_F7, // 0x07
KEY_F8, // 0x08
KEY_F9, // 0x09
KEY_F10, // 0x0A
KEY_ESC, // 0x0B
KEY_1, // 0x0C
KEY_2, // 0x0D
KEY_3, // 0x0E
KEY_4, // 0x0F
KEY_5, // 0x10
KEY_6, // 0x11
KEY_7, // 0x12
KEY_8, // 0x13
KEY_9, // 0x14
KEY_0, // 0x15
KEY_MINUS, // 0x16
KEY_EQUAL, // 0x17
KEY_INTER3, // 0x18 - Yen
KEY_BACKSPACE, // 0x19
KEY_TAB, // 0x1A
KEY_Q, // 0x1B
KEY_W, // 0x1C
KEY_E, // 0x1D
KEY_R, // 0x1E
KEY_T, // 0x1F
KEY_Y, // 0x20
KEY_U, // 0x21
KEY_I, // 0x22
KEY_O, // 0x23
KEY_P, // 0x24
KEY_LEFT_BRACE, // 0x25
KEY_RIGHT_BRACE, // 0x26
KEY_DELETE, // 0x27
KEY_CTRL, // 0x28
KEY_A, // 0x29
KEY_S, // 0x2A
KEY_D, // 0x2B
KEY_F, // 0x2C
KEY_G, // 0x2D
KEY_H, // 0x2E
KEY_J, // 0x2F
KEY_K, // 0x30
KEY_L, // 0x31
KEY_SEMICOLON, // 0x32
KEY_QUOTE, // 0x33
KEY_BACKSLASH, // 0x34
KEY_ENTER, // 0x35
KEY_LEFT_SHIFT, // 0x36
KEY_Z, // 0x37
KEY_X, // 0x38
KEY_C, // 0x39
KEY_V, // 0x3A
KEY_B, // 0x3B
KEY_N, // 0x3C
KEY_M, // 0x3D
KEY_COMMA, // 0x3E
KEY_PERIOD, // 0x3F
KEY_SLASH, // 0x40
KEY_INTER1, // 0x41 - "Ru" and "-"
KEY_RIGHT_SHIFT, // 0x42
KEY_ALT, // 0x43
KEY_CAPS_LOCK, // 0x44
KEY_INTER5, // 0x45 - Muhenkan
KEY_SPACE, // 0x46
KEY_INTER4, // 0x47 - Henkan
KEY_LANG2, // 0x48 - Eisu (English/Numbers) (I've seen references to this mapping)
KEY_INTER2, // 0x49 - Kana
KEY_EXEC, // 0x4A - Jikkou XXX Which means Execute, and since there is no Language key
KEYPAD_7, // 0x4B
KEYPAD_8, // 0x4C
KEYPAD_9, // 0x4D
KEYPAD_MINUS, // 0x4E
KEYPAD_4, // 0x4F
KEYPAD_5, // 0x50
KEYPAD_6, // 0x51
KEYPAD_PLUS, // 0x52
KEYPAD_1, // 0x53
KEYPAD_2, // 0x54
KEYPAD_3, // 0x55
KEYPAD_COMMA, // 0x56
KEYPAD_0, // 0x57
KEY_UP, // 0x58
KEYPAD_PERIOD, // 0x59
KEYPAD_ENTER, // 0x5A
KEY_LEFT, // 0x5B
KEY_DOWN, // 0x5C
KEY_RIGHT, // 0x5D
0, // 0x5E
0, // 0x5F
0, // 0x60
0, // 0x61
0, // 0x62
0, // 0x63
KEYPAD_ASTERIX, // 0x64
KEYPAD_SLASH, // 0x65
KEYPAD_TAB, // 0x66
0, // 0x67
KEY_F11, // 0x68
KEY_F12, // 0x69
KEY_HELP, // 0x6A
KEY_INSERT, // 0x6B
KEY_CLEAR, // 0x6C
KEY_PAGE_UP, // 0x6D
KEY_PAGE_DOWN, // 0x6E
0, // 0x6F
0, // 0x70
0, // 0x71
0, // 0x72
0, // 0x73
0, // 0x74
0, // 0x75
0, // 0x76
0, // 0x77
0, // 0x78
0, // 0x79
KEY_F13, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
static uint8_t sonynews_ColemakMap[] = {
0x00, // 0x00
KEY_F1, // 0x01
KEY_F2, // 0x02
KEY_F3, // 0x03
KEY_F4, // 0x04
KEY_F5, // 0x05
KEY_F6, // 0x06
KEY_F7, // 0x07
KEY_F8, // 0x08
KEY_F9, // 0x09
KEY_F10, // 0x0A
KEY_ESC, // 0x0B
KEY_1, // 0x0C
KEY_2, // 0x0D
KEY_3, // 0x0E
KEY_4, // 0x0F
KEY_5, // 0x10
KEY_6, // 0x11
KEY_7, // 0x12
KEY_8, // 0x13
KEY_9, // 0x14
KEY_0, // 0x15
KEY_MINUS, // 0x16
KEY_EQUAL, // 0x17
KEY_INTER3, // 0x18 - Yen
KEY_BACKSPACE, // 0x19
KEY_TAB, // 0x1A
KEY_Q, // 0x1B
KEY_W, // 0x1C
KEY_F, // 0x1D
KEY_P, // 0x1E
KEY_G, // 0x1F
KEY_J, // 0x20
KEY_L, // 0x21
KEY_U, // 0x22
KEY_Y, // 0x23
KEY_SEMICOLON, // 0x24
KEY_LEFT_BRACE, // 0x25
KEY_RIGHT_BRACE, // 0x26
KEY_DELETE, // 0x27
KEY_CTRL, // 0x28
KEY_A, // 0x29
KEY_R, // 0x2A
KEY_S, // 0x2B
KEY_T, // 0x2C
KEY_D, // 0x2D
KEY_H, // 0x2E
KEY_N, // 0x2F
KEY_E, // 0x30
KEY_I, // 0x31
KEY_O, // 0x32
KEY_QUOTE, // 0x33
KEY_BACKSLASH, // 0x34
KEY_ENTER, // 0x35
KEY_LEFT_SHIFT, // 0x36
KEY_Z, // 0x37
KEY_X, // 0x38
KEY_C, // 0x39
KEY_V, // 0x3A
KEY_B, // 0x3B
KEY_K, // 0x3C
KEY_M, // 0x3D
KEY_COMMA, // 0x3E
KEY_PERIOD, // 0x3F
KEY_SLASH, // 0x40
KEY_INTER1, // 0x41 - "Ru" and "-"
KEY_RIGHT_SHIFT, // 0x42
KEY_ALT, // 0x43
KEY_CAPS_LOCK, // 0x44
KEY_INTER5, // 0x45 - Muhenkan
KEY_SPACE, // 0x46
KEY_INTER4, // 0x47 - Henkan
KEY_LANG2, // 0x48 - Eisu (English/Numbers) (I've seen references to this mapping)
KEY_INTER2, // 0x49 - Kana
//KEY_EXEC, // 0x4A - Jikkou XXX Which means Execute, and since there is no Language key
KEY_GUI, // 0x4A - Using Jikkou as Windows Key
KEYPAD_7, // 0x4B
KEYPAD_8, // 0x4C
KEYPAD_9, // 0x4D
KEYPAD_MINUS, // 0x4E
KEYPAD_4, // 0x4F
KEYPAD_5, // 0x50
KEYPAD_6, // 0x51
KEYPAD_PLUS, // 0x52
KEYPAD_1, // 0x53
KEYPAD_2, // 0x54
KEYPAD_3, // 0x55
KEYPAD_COMMA, // 0x56
KEYPAD_0, // 0x57
KEY_UP, // 0x58
KEYPAD_PERIOD, // 0x59
KEYPAD_ENTER, // 0x5A
KEY_LEFT, // 0x5B
KEY_DOWN, // 0x5C
KEY_RIGHT, // 0x5D
0, // 0x5E
0, // 0x5F
0, // 0x60
0, // 0x61
0, // 0x62
0, // 0x63
KEYPAD_ASTERIX, // 0x64
KEYPAD_SLASH, // 0x65
KEYPAD_TAB, // 0x66
0, // 0x67
KEY_F11, // 0x68
KEY_F12, // 0x69
KEY_HELP, // 0x6A
KEY_INSERT, // 0x6B
KEY_CLEAR, // 0x6C
KEY_PAGE_UP, // 0x6D
KEY_PAGE_DOWN, // 0x6E
0, // 0x6F
0, // 0x70
0, // 0x71
0, // 0x72
0, // 0x73
0, // 0x74
0, // 0x75
0, // 0x76
0, // 0x77
0, // 0x78
0, // 0x79
KEY_F13, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
};
#endif

View file

@ -0,0 +1,552 @@
/* 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

View file

@ -0,0 +1,221 @@
/* Copyright (C) 2011 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 __TANDY1000_H
#define __TANDY1000_H
// This file contains various key layouts for the Tandy 1000 keyboard
// ----- Variables -----
static uint8_t tandy1000_ModifierMask[] = { 0x1D, 0x2A, 0x36, 0x38, 0x46 };
static uint8_t tandy1000_DefaultMap[] = { 0,
KEY_ESC,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_0,
KEY_MINUS,
KEY_EQUAL,
KEY_BACKSPACE,
KEY_TAB,
KEY_Q,
KEY_W,
KEY_E,
KEY_R,
KEY_T,
KEY_Y,
KEY_U,
KEY_I,
KEY_O,
KEY_P,
KEY_LEFT_BRACE,
KEY_RIGHT_BRACE,
KEY_ENTER,
KEY_CTRL, // 0x1D
KEY_A,
KEY_S,
KEY_D,
KEY_F,
KEY_G,
KEY_H,
KEY_J,
KEY_K,
KEY_L,
KEY_SEMICOLON,
KEY_QUOTE,
KEY_UP,
KEY_LEFT_SHIFT, // 0x2A
KEY_LEFT,
KEY_Z,
KEY_X,
KEY_C,
KEY_V,
KEY_B,
KEY_N,
KEY_M,
KEY_COMMA,
KEY_PERIOD,
KEY_SLASH,
KEY_RIGHT_SHIFT, // 0x36
KEY_PRINTSCREEN,
KEY_ALT, // 0x38
KEY_SPACE,
KEY_CAPS_LOCK,
KEY_F1,
KEY_F2,
KEY_F3,
KEY_F4,
KEY_F5,
KEY_F6,
KEY_F7,
KEY_F8,
KEY_F9,
KEY_F10,
KEY_NUM_LOCK,
KEY_GUI, // Actually Hold... 0x48
KEY_BACKSLASH, // Also KEYPAD_7
KEY_TILDE, // Also KEYPAD_8
KEYPAD_9,
KEY_UP,
KEY_BACKSLASH, // Actually | and KEYPAD_4
KEYPAD_5,
KEYPAD_6,
KEY_RIGHT,
KEYPAD_1,
KEY_TILDE, // Actually ` and KEYPAD_2
KEYPAD_3,
KEYPAD_0,
KEY_DELETE,
KEY_PAUSE,
KEY_INSERT,
KEYPAD_PERIOD,
KEYPAD_ENTER,
KEY_HOME,
KEY_F11,
KEY_F12, // 0x5A
};
static uint8_t tandy1000_ColemakMap[] = { 0,
KEY_ESC,
KEY_1,
KEY_2,
KEY_3,
KEY_4,
KEY_5,
KEY_6,
KEY_7,
KEY_8,
KEY_9,
KEY_0,
KEY_MINUS,
KEY_EQUAL,
KEY_BACKSPACE,
KEY_TAB,
KEY_Q,
KEY_W,
KEY_F,
KEY_P,
KEY_G,
KEY_J,
KEY_L,
KEY_U,
KEY_Y,
KEY_SEMICOLON,
KEY_LEFT_BRACE,
KEY_RIGHT_BRACE,
KEY_ENTER,
KEY_CTRL, // 0x1D
KEY_A,
KEY_R,
KEY_S,
KEY_T,
KEY_D,
KEY_H,
KEY_N,
KEY_E,
KEY_I,
KEY_O,
KEY_QUOTE,
KEY_UP,
KEY_LEFT_SHIFT, // 0x2A
KEY_LEFT,
KEY_Z,
KEY_X,
KEY_C,
KEY_V,
KEY_B,
KEY_K,
KEY_M,
KEY_COMMA,
KEY_PERIOD,
KEY_SLASH,
KEY_RIGHT_SHIFT, // 0x36
KEY_PRINTSCREEN,
KEY_ALT, // 0x38
KEY_SPACE,
0, //KEY_CAPS_LOCK,
KEY_F1,
KEY_F2,
KEY_F3,
KEY_F4,
KEY_F5,
KEY_F6,
KEY_F7,
KEY_F8,
KEY_F9,
KEY_F10,
0, //KEY_NUM_LOCK,
KEY_GUI, // Actually Hold... 0x48
KEY_BACKSLASH, // Also KEYPAD_7
KEY_TILDE, // Also KEYPAD_8
KEYPAD_9,
KEY_DOWN,
KEY_BACKSLASH, // Actually | and KEYPAD_4
KEYPAD_5,
KEYPAD_6,
KEY_RIGHT,
KEYPAD_1,
KEY_TILDE, // Actually ` and KEYPAD_2
KEYPAD_3,
KEYPAD_0,
KEY_DELETE,
KEY_PAUSE,
KEY_INSERT,
KEYPAD_PERIOD,
KEYPAD_ENTER,
KEY_HOME,
KEY_F11,
KEY_F12, // 0x5A
};
#endif

View file

@ -0,0 +1,329 @@
/* 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 __UNIVACF3W9_H
#define __UNIVACF3W9_H
// This file contains various key layouts for the Univac F3W9 keyboard
// ----- Variables -----
static uint8_t univacf3w9_ModifierMask[] = { 0x81, 0x83, 0x85, 0x87, 0x89, 0x8B, 0x8D, 0x8F };
static uint8_t univacf3w9_DefaultMap[] = {
0x00, // 0x00
KEY_F4, // 0x01
0, // 0x02
KEY_F5, // 0x03
KEY_F6, // 0x04
KEY_F7, // 0x05
KEY_F8, // 0x06
KEY_F9, // 0x07
0, // 0x08
KEY_F10, // 0x09
KEY_F11, // 0x0A
KEY_F12, // 0x0B
KEY_F13, // 0x0C
0, // 0x0D
KEY_F14, // 0x0E
KEY_F15, // 0x0F
0, // 0x10
0, // 0x11
0, // 0x12
0, // 0x13
0, // 0x14
KEYPAD_ENTER, // 0x15
KEYPAD_PERIOD, // 0x16
KEYPAD_0, // 0x17
KEYPAD_EQUAL, // 0x18
KEYPAD_6, // 0x19
KEYPAD_5, // 0x1A
KEYPAD_4, // 0x1B
0, // 0x1C
0, // 0x1D
KEY_F17, // 0x1E
KEY_F16, // 0x1F
0, // 0x20
0, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
KEYPAD_3, // 0x25
KEYPAD_2, // 0x26
KEYPAD_1, // 0x27
KEYPAD_PLUS, // 0x28
KEYPAD_9, // 0x29
KEYPAD_8, // 0x2A
KEYPAD_7, // 0x2B
KEYPAD_MINUS, // 0x2C
KEYPAD_ASTERIX, // 0x2D
KEYPAD_SLASH, // 0x2E
KEY_NUM_LOCK, // 0x2F
0, // 0x30
0, // 0x31
KEY_SPACE, // 0x32
KEY_Z, // 0x33
KEY_X, // 0x34
KEY_C, // 0x35
KEY_V, // 0x36
KEY_B, // 0x37
KEY_N, // 0x38
KEY_M, // 0x39
KEY_COMMA, // 0x3A
KEY_PERIOD, // 0x3B
KEY_UP, // 0x3C
KEY_LEFT, // 0x3D
KEY_RIGHT, // 0x3E
KEY_DOWN, // 0x3F
0, // 0x40
KEY_F19, // 0x41
KEY_CAPS_LOCK, // 0x42
KEY_A, // 0x43
KEY_S, // 0x44
KEY_D, // 0x45
KEY_F, // 0x46
KEY_G, // 0x47
KEY_H, // 0x48
KEY_J, // 0x49
KEY_K, // 0x4A
KEY_L, // 0x4B
KEY_SEMICOLON, // 0x4C
KEY_QUOTE, // 0x4D
KEY_ENTER, // 0x4E
KEY_SLASH, // 0x4F
0, // 0x50
KEY_Q, // 0x51
KEY_W, // 0x52
KEY_E, // 0x53
KEY_R, // 0x54
KEY_T, // 0x55
KEY_Y, // 0x56
KEY_U, // 0x57
KEY_I, // 0x58
KEY_O, // 0x59
KEY_P, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_RIGHT_BRACE, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_INSERT, // 0x5E
KEY_PAGE_DOWN, // 0x5F
0, // 0x60
KEY_2, // 0x61
KEY_3, // 0x62
KEY_4, // 0x63
KEY_5, // 0x64
KEY_6, // 0x65
KEY_7, // 0x66
KEY_8, // 0x67
KEY_9, // 0x68
KEY_0, // 0x69
KEY_MINUS, // 0x6A
KEY_EQUAL, // 0x6B
KEY_TILDE, // 0x6C
KEY_BACKSPACE, // 0x6D
KEY_DELETE, // 0x6E
KEY_PAGE_UP, // 0x6F
0, // 0x70
KEY_F3, // 0x71
KEY_F2, // 0x72
KEY_F1, // 0x73
KEY_F18, // 0x74
KEY_ESC, // 0x75
KEY_1, // 0x76
KEY_TAB, // 0x77
KEY_F19, // 0x78
0, // 0x79
0, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
0, // 0x80
0, // 0x81
0, // 0x82
0, // 0x83
0, // 0x84
KEY_RIGHT_SHIFT, // 0x85
0, // 0x86
KEY_LEFT_SHIFT, // 0x87
0, // 0x88
0, // 0x89
0, // 0x8A
KEY_LEFT_CTRL, // 0x8B
0, // 0x8C
KEY_GUI, // 0x8D
0, // 0x8E
KEY_RIGHT_CTRL, // 0x8F
};
static uint8_t univacf3w9_ColemakMap[] = {
0x00, // 0x00
KEY_F4, // 0x01
0, // 0x02
KEY_F5, // 0x03
KEY_F6, // 0x04
KEY_F7, // 0x05
KEY_F8, // 0x06
KEY_F9, // 0x07
0, // 0x08
KEY_F10, // 0x09
KEY_F11, // 0x0A
KEY_F12, // 0x0B
KEY_F13, // 0x0C
0, // 0x0D
KEY_F14, // 0x0E
KEY_F15, // 0x0F
0, // 0x10
0, // 0x11
0, // 0x12
0, // 0x13
0, // 0x14
KEYPAD_ENTER, // 0x15
KEYPAD_PERIOD, // 0x16
KEYPAD_0, // 0x17
KEYPAD_EQUAL, // 0x18
KEYPAD_6, // 0x19
KEYPAD_5, // 0x1A
KEYPAD_4, // 0x1B
0, // 0x1C
0, // 0x1D
KEY_F17, // 0x1E
KEY_F16, // 0x1F
0, // 0x20
0, // 0x21
0, // 0x22
0, // 0x23
0, // 0x24
KEYPAD_3, // 0x25
KEYPAD_2, // 0x26
KEYPAD_1, // 0x27
KEYPAD_PLUS, // 0x28
KEYPAD_9, // 0x29
KEYPAD_8, // 0x2A
KEYPAD_7, // 0x2B
KEYPAD_MINUS, // 0x2C
KEYPAD_ASTERIX, // 0x2D
KEYPAD_SLASH, // 0x2E
KEY_NUM_LOCK, // 0x2F
0, // 0x30
0, // 0x31
KEY_SPACE, // 0x32
KEY_Z, // 0x33
KEY_X, // 0x34
KEY_C, // 0x35
KEY_V, // 0x36
KEY_B, // 0x37
KEY_K, // 0x38
KEY_M, // 0x39
KEY_COMMA, // 0x3A
KEY_PERIOD, // 0x3B
KEY_UP, // 0x3C
KEY_LEFT, // 0x3D
KEY_RIGHT, // 0x3E
KEY_DOWN, // 0x3F
0, // 0x40
KEY_F19, // 0x41
KEY_CAPS_LOCK, // 0x42
KEY_A, // 0x43
KEY_R, // 0x44
KEY_S, // 0x45
KEY_T, // 0x46
KEY_D, // 0x47
KEY_H, // 0x48
KEY_N, // 0x49
KEY_E, // 0x4A
KEY_I, // 0x4B
KEY_O, // 0x4C
KEY_QUOTE, // 0x4D
KEY_ENTER, // 0x4E
KEY_SLASH, // 0x4F
0, // 0x50
KEY_Q, // 0x51
KEY_W, // 0x52
KEY_F, // 0x53
KEY_P, // 0x54
KEY_G, // 0x55
KEY_J, // 0x56
KEY_L, // 0x57
KEY_U, // 0x58
KEY_Y, // 0x59
KEY_SEMICOLON, // 0x5A
KEY_LEFT_BRACE, // 0x5B
KEY_RIGHT_BRACE, // 0x5C
KEY_BACKSLASH, // 0x5D
KEY_INSERT, // 0x5E
KEY_PAGE_DOWN, // 0x5F
0, // 0x60
KEY_2, // 0x61
KEY_3, // 0x62
KEY_4, // 0x63
KEY_5, // 0x64
KEY_6, // 0x65
KEY_7, // 0x66
KEY_8, // 0x67
KEY_9, // 0x68
KEY_0, // 0x69
KEY_MINUS, // 0x6A
KEY_EQUAL, // 0x6B
KEY_TILDE, // 0x6C
KEY_BACKSPACE, // 0x6D
KEY_DELETE, // 0x6E
KEY_PAGE_UP, // 0x6F
0, // 0x70
KEY_F3, // 0x71
KEY_F2, // 0x72
KEY_F1, // 0x73
KEY_F18, // 0x74
KEY_ESC, // 0x75
KEY_1, // 0x76
KEY_TAB, // 0x77
KEY_F19, // 0x78
0, // 0x79
0, // 0x7A
0, // 0x7B
0, // 0x7C
0, // 0x7D
0, // 0x7E
0, // 0x7F
0, // 0x80
0, // 0x81
0, // 0x82
0, // 0x83
0, // 0x84
KEY_RIGHT_SHIFT, // 0x85
0, // 0x86
KEY_LEFT_SHIFT, // 0x87
0, // 0x88
0, // 0x89
0, // 0x8A
KEY_LEFT_CTRL, // 0x8B
0, // 0x8C
KEY_GUI, // 0x8D
0, // 0x8E
KEY_ALT, // 0x8F
};
#endif

View file

@ -0,0 +1,266 @@
/* Copyright (C) 2011 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 __usb_keys_h
#define __usb_keys_h
// ----- Defines -----
// List of Modifiers
#define KEY_CTRL 0x01
#define KEY_SHIFT 0x02
#define KEY_ALT 0x04
#define KEY_GUI 0x08
#define KEY_LEFT_CTRL 0x01
#define KEY_LEFT_SHIFT 0x02
#define KEY_LEFT_ALT 0x04
#define KEY_LEFT_GUI 0x08
#define KEY_RIGHT_CTRL 0x10
#define KEY_RIGHT_SHIFT 0x20
#define KEY_RIGHT_ALT 0x40
#define KEY_RIGHT_GUI 0x80
// List of Keycodes
#define KEY_NOEVENT 0 // Event, not a physical key
#define KEY_ERRORROLLOVER 1 // Event, not a physical key
#define KEY_POSTFAIL 2 // Event, not a physical key
#define KEY_ERRORUNDEFINED 3 // Event, not a physical key
#define KEY_A 4
#define KEY_B 5
#define KEY_C 6
#define KEY_D 7
#define KEY_E 8
#define KEY_F 9
#define KEY_G 10
#define KEY_H 11
#define KEY_I 12
#define KEY_J 13
#define KEY_K 14
#define KEY_L 15
#define KEY_M 16
#define KEY_N 17
#define KEY_O 18
#define KEY_P 19
#define KEY_Q 20
#define KEY_R 21
#define KEY_S 22
#define KEY_T 23
#define KEY_U 24
#define KEY_V 25
#define KEY_W 26
#define KEY_X 27
#define KEY_Y 28
#define KEY_Z 29
#define KEY_1 30
#define KEY_2 31
#define KEY_3 32
#define KEY_4 33
#define KEY_5 34
#define KEY_6 35
#define KEY_7 36
#define KEY_8 37
#define KEY_9 38
#define KEY_0 39
#define KEY_ENTER 40
#define KEY_ESC 41
#define KEY_BACKSPACE 42
#define KEY_TAB 43
#define KEY_SPACE 44
#define KEY_MINUS 45
#define KEY_EQUAL 46
#define KEY_LEFT_BRACE 47
#define KEY_RIGHT_BRACE 48
#define KEY_BACKSLASH 49
#define KEY_NUMBER 50
#define KEY_SEMICOLON 51
#define KEY_QUOTE 52
#define KEY_TILDE 53
#define KEY_COMMA 54
#define KEY_PERIOD 55
#define KEY_SLASH 56
#define KEY_CAPS_LOCK 57
#define KEY_F1 58
#define KEY_F2 59
#define KEY_F3 60
#define KEY_F4 61
#define KEY_F5 62
#define KEY_F6 63
#define KEY_F7 64
#define KEY_F8 65
#define KEY_F9 66
#define KEY_F10 67
#define KEY_F11 68
#define KEY_F12 69
#define KEY_PRINTSCREEN 70
#define KEY_SCROLL_LOCK 71
#define KEY_PAUSE 72
#define KEY_INSERT 73
#define KEY_HOME 74
#define KEY_PAGE_UP 75
#define KEY_DELETE 76
#define KEY_END 77
#define KEY_PAGE_DOWN 78
#define KEY_RIGHT 79
#define KEY_LEFT 80
#define KEY_DOWN 81
#define KEY_UP 82
#define KEY_NUM_LOCK 83
#define KEYPAD_SLASH 84
#define KEYPAD_ASTERIX 85
#define KEYPAD_MINUS 86
#define KEYPAD_PLUS 87
#define KEYPAD_ENTER 88
#define KEYPAD_1 89
#define KEYPAD_2 90
#define KEYPAD_3 91
#define KEYPAD_4 92
#define KEYPAD_5 93
#define KEYPAD_6 94
#define KEYPAD_7 95
#define KEYPAD_8 96
#define KEYPAD_9 97
#define KEYPAD_0 98
#define KEYPAD_PERIOD 99
#define KEY_ISO_BACKSLASH 100
#define KEY_APP 101
#define KEYBOARD_ERROR 102 // See spec
#define KEYPAD_EQUAL 103
#define KEY_F13 104
#define KEY_F14 105
#define KEY_F15 106
#define KEY_F16 107
#define KEY_F17 108
#define KEY_F18 109
#define KEY_F19 110
#define KEY_F20 111
#define KEY_F21 112
#define KEY_F22 113
#define KEY_F23 114
#define KEY_F24 115
#define KEY_EXEC 116
#define KEY_HELP 117
#define KEY_MENU 118
#define KEY_SELECT 119
#define KEY_STOP 120
#define KEY_AGAIN 121
#define KEY_UNDO 122
#define KEY_CUT 123
#define KEY_COPY 124
#define KEY_PASTE 125
#define KEY_FIND 126
#define KEY_MUTE 127
#define KEY_VOL_UP 128
#define KEY_VOL_DOWN 129
#define KEY_CAPS_LLOCK 130 // "Locking" Scroll Lock (Old keyboards with Locking Caps Lock)
#define KEY_NUM_LLOCK 131
#define KEY_SCROLL_LLOCK 132
#define KEYPAD_COMMA 133 // Brazillian (See spec)
#define KEYPAD_EQUAL_AS 134 // AS/400 Keyboard (See spec)
#define KEY_INTER1 135 // KANJI1 - Brazillian and Japanese "Ru" and "-"
#define KEY_INTER2 136 // KANJI2 - Japanese Katakana/Hiragana
#define KEY_INTER3 137 // KANJI3 - Japanese Yen
#define KEY_INTER4 138 // KANJI4 - Japanese Henkan
#define KEY_INTER5 139 // KANJI5 - Japanese Muhenkan
#define KEY_INTER6 140 // KANJI6 - PC98 Comma (Ka-m-ma)
#define KEY_INTER7 141 // KANJI7 - Double-Byte/Single-Byte Toggle
#define KEY_INTER8 142 // KANJI8 - Undefined
#define KEY_INTER9 143 // KANJI9 - Undefined
#define KEY_LANG1 144 // Korean Hangul/English Toggle
#define KEY_LANG2 145 // Korean Hanja Conversion - Japanese Eisu
#define KEY_LANG3 146 // Japanese Katakana Key (USB)
#define KEY_LANG4 147 // Japanese Hiragana Key (USB)
#define KEY_LANG5 148 // Japanese Zenkaku/Hankaku Key (USB)
#define KEY_LANG6 149 // Reserved (Application Specific)
#define KEY_LANG7 150 // Reserved (Application Specific)
#define KEY_LANG8 151 // Reserved (Application Specific)
#define KEY_LANG9 152 // Reserved (Application Specific)
#define KEY_ALT_ERASE 153 // Special Erase (See Spec)
#define KEY_SYSREQ_ATT 154 // Modifier Type
#define KEY_CANCEL 155
#define KEY_CLEAR 156
#define KEY_PRIOR 157
#define KEY_RETURN 158
#define KEY_SEPARATOR 159
#define KEY_OUT 160
#define KEY_OPER 161
#define KEY_CLEAR_AGAIN 162
#define KEY_CRSEL_PROPS 163
#define KEY_EXSEL 164
// 165 - 175 Reserved
#define KEYPAD_00 176
#define KEYPAD_000 177
#define KEY_1000_SEP 178
#define KEY_DECIMAL_SEP 179
#define KEY_CURRENCY_MAIN 180
#define KEY_CURRENCY_SUB 181
#define KEYPAD_LPAREN 182
#define KEYPAD_RPAREN 183
#define KEYPAD_LBRACE 184
#define KEYPAD_RBRACE 185
#define KEYPAD_TAB 186
#define KEYPAD_BACKSPACE 187
#define KEYPAD_A 188
#define KEYPAD_B 189
#define KEYPAD_C 190
#define KEYPAD_D 191
#define KEYPAD_E 192
#define KEYPAD_F 193
#define KEYPAD_XOR 194
#define KEYPAD_CHEVRON 195
#define KEYPAD_PERCENT 196
#define KEYPAD_LTHAN 197
#define KEYPAD_GTHAN 198
#define KEYPAD_AND 199
#define KEYPAD_AND_AND 200
#define KEYPAD_OR 201
#define KEYPAD_OR_OR 202
#define KEYPAD_COLON 203
#define KEYPAD_POUND 204
#define KEYPAD_SPACE 205
#define KEYPAD_AT 206
#define KEYPAD_EXCLAIM 207
#define KEYPAD_MEM_STORE 208
#define KEYPAD_MEM_RECALL 209
#define KEYPAD_MEM_CLEAR 210
#define KEYPAD_MEM_ADD 211
#define KEYPAD_MEM_SUB 212
#define KEYPAD_MEM_MULT 213
#define KEYPAD_MEM_DIV 214
#define KEYPAD_PLUS_MINUS 215
#define KEYPAD_CLEAR 216
#define KEYPAD_CLEAR_ENTRY 217
#define KEYPAD_BINARY 218
#define KEYPAD_OCTAL 219
#define KEYPAD_DECIMAL 220
#define KEYPAD_HEX 221
// 222 - 223 Reserved
#define KEYS_LCTRL 224
#define KEYS_LSHIFT 225
#define KEYS_LALT 226
#define KEYS_LGUI 227
#define KEYS_RCTRL 228
#define KEYS_RSHIFT 229
#define KEYS_RALT 230
#define KEYS_RGUI 231
// 232 - 65535 Reserved
#endif

View file

@ -1,12 +1,22 @@
###| CMake Kiibohd Controller Macro Module |###
#
# Written by Jacob Alexander in 2011 for the Kiibohd Controller
# Written by Jacob Alexander in 2011,2014 for the Kiibohd Controller
#
# Released into the Public Domain
#
###
###
# Warning, this module has been deprecated
#
message( AUTHOR_WARNING
"The 'buffer' macro module has been deprecated in favour of 'Partial Map'.
This module may or may not compile/function properly.
It has been kept for historical purposes."
)
###
# Module C files
#