view Keymap/facom6684.h @ 62:685619eb3412

Completed the FACOM 6684 converter... Unfortunately, the protocol annoying, with only 3 keys having Press/Release signals. Some of the keys were only meant to be pressed once, and do not have repeat functionality. The current implementation is a bit slow, so some keys may get lost during USB sending. This is probably fixable, not sure if I want to spend the time on it though. There is a keyboard input protocol, but I'm not sure of what information can be transmitted to the keyboard. The terminal does send some information back and forth between the keyboard, but I'm unclear of the purpose, as I can never get any response out of the keyboard.
author Jacob Alexander <triplehaata@gmail.com>
date Sun, 20 Jan 2013 20:27:14 -0500
parents a70deaf77afa
children 5e5c3bfbcc1c
line wrap: on
line source

/* 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
				0, // 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
				0, // 0x41
				KEY_TILDE, // 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
				0, // 0x5C
				KEY_LEFT, // 0x5D
				0, // 0x5E
				0, // 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
				0, // 0x6C
				KEY_DOWN, // 0x6D
				0, // 0x6E
				0, // 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
				0, // 0x7C
				KEY_RIGHT, // 0x7D
				0, // 0x7E
				0, // 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
				0, // 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
				0, // 0x41
				KEY_TILDE, // 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
				0, // 0x5C
				KEY_LEFT, // 0x5D
				0, // 0x5E
				0, // 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
				0, // 0x6C
				KEY_DOWN, // 0x6D
				0, // 0x6E
				0, // 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
				0, // 0x7C
				KEY_RIGHT, // 0x7D
				0, // 0x7E
				0, // 0x7F
};



#endif