summaryrefslogtreecommitdiffstats
path: root/keyboards/converter/sun_usb
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/converter/sun_usb')
-rw-r--r--keyboards/converter/sun_usb/info.json11
-rw-r--r--keyboards/converter/sun_usb/led.c32
-rw-r--r--keyboards/converter/sun_usb/matrix.c181
-rw-r--r--keyboards/converter/sun_usb/readme.md89
-rw-r--r--keyboards/converter/sun_usb/rules.mk25
-rw-r--r--keyboards/converter/sun_usb/type3/info.json103
-rw-r--r--keyboards/converter/sun_usb/type3/rules.mk0
-rw-r--r--keyboards/converter/sun_usb/type3/type3.h63
-rw-r--r--keyboards/converter/sun_usb/type5/info.json375
-rw-r--r--keyboards/converter/sun_usb/type5/keymaps/sigma/readme.md12
-rw-r--r--keyboards/converter/sun_usb/type5/keymaps/sigma/rules.mk2
-rw-r--r--keyboards/converter/sun_usb/type5/rules.mk0
-rw-r--r--keyboards/converter/sun_usb/type5/type5.h148
13 files changed, 0 insertions, 1041 deletions
diff --git a/keyboards/converter/sun_usb/info.json b/keyboards/converter/sun_usb/info.json
deleted file mode 100644
index 691d0d1953..0000000000
--- a/keyboards/converter/sun_usb/info.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "keyboard_name": "Sun Keyboard Converter",
- "manufacturer": "QMK",
- "url": "",
- "maintainer": "qmk",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x3333",
- "device_version": "1.0.0"
- }
-}
diff --git a/keyboards/converter/sun_usb/led.c b/keyboards/converter/sun_usb/led.c
deleted file mode 100644
index f8d183fd48..0000000000
--- a/keyboards/converter/sun_usb/led.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "uart.h"
-
-void led_set(uint8_t usb_led)
-{
- uint8_t sun_led = 0;
- if (usb_led & (1<<USB_LED_NUM_LOCK)) sun_led |= (1<<0);
- if (usb_led & (1<<USB_LED_COMPOSE)) sun_led |= (1<<1);
- if (usb_led & (1<<USB_LED_SCROLL_LOCK)) sun_led |= (1<<2);
- if (usb_led & (1<<USB_LED_CAPS_LOCK)) sun_led |= (1<<3);
- xprintf("LED: %02X\n", usb_led);
-
- uart_write(0x0E);
- uart_write(sun_led);
-}
diff --git a/keyboards/converter/sun_usb/matrix.c b/keyboards/converter/sun_usb/matrix.c
deleted file mode 100644
index 35ec391024..0000000000
--- a/keyboards/converter/sun_usb/matrix.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "uart.h"
-
-/*
- * Matrix Array usage:
- *
- * ROW: 16(4bits)
- * COL: 8(3bits)
- *
- * 8bit wide
- * +---------+
- * 0|00 ... 07|
- * 1|08 ... 0F|
- * :| ... |
- * :| ... |
- * E|70 ... 77|
- * F|78 ... 7F|
- * +---------+
- */
-static uint8_t matrix[MATRIX_ROWS];
-#define ROW(code) ((code>>3)&0xF)
-#define COL(code) (code&0x07)
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
- /* DDRD |= (1<<6); */
- /* PORTD |= (1<<6); */
- debug_enable = true;
-
- uart_init(1200);
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
-
- /* // wait for keyboard coming up */
- /* // otherwise LED status update fails */
- /* print("Reseting "); */
- /* while (1) { */
- /* print("."); */
- /* while (uart_read()); */
- /* uart_write(0x01); */
- /* _delay_ms(500); */
- /* if (uart_read() == 0xFF) { */
- /* _delay_ms(500); */
- /* if (uart_read() == 0x04) */
- /* break; */
- /* } */
- /* } */
- /* print(" Done\n"); */
-
- /* PORTD &= ~(1<<6); */
-
- matrix_init_quantum();
- return;
-}
-
-uint8_t matrix_scan(void)
-{
- uint8_t code;
- code = uart_read();
- if (!code) return 0;
-
- debug_hex(code); debug(" ");
-
- switch (code) {
- case 0xFF: // reset success: FF 04
- print("reset: ");
- _delay_ms(500);
- code = uart_read();
- xprintf("%02X\n", code);
- if (code == 0x04) {
- // LED status
- led_set(host_keyboard_leds());
- }
- return 0;
- case 0xFE: // layout: FE <layout>
- print("layout: ");
- _delay_ms(500);
- xprintf("%02X\n", uart_read());
- return 0;
- case 0x7E: // reset fail: 7E 01
- print("reset fail: ");
- _delay_ms(500);
- xprintf("%02X\n", uart_read());
- return 0;
- case 0x7F:
- // all keys up
- for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
- return 0;
- }
-
- if (code&0x80) {
- // break code
- if (matrix_is_on(ROW(code), COL(code))) {
- matrix[ROW(code)] &= ~(1<<COL(code));
- }
- } else {
- // make code
- if (!matrix_is_on(ROW(code), COL(code))) {
- matrix[ROW(code)] |= (1<<COL(code));
- }
- }
-
- matrix_scan_quantum();
- return code;
-}
-
-inline
-bool matrix_has_ghost(void)
-{
- return false;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & (1<<col));
-}
-
-inline
-uint8_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- print("\nr/c 01234567\n");
- for (uint8_t row = 0; row < matrix_rows(); row++) {
- print_hex8(row); print(": ");
- print_bin_reverse8(matrix_get_row(row));
- print("\n");
- }
-}
diff --git a/keyboards/converter/sun_usb/readme.md b/keyboards/converter/sun_usb/readme.md
deleted file mode 100644
index 69bc6ef04c..0000000000
--- a/keyboards/converter/sun_usb/readme.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Sun to USB keyboard protocol converter
-
-A converter for using non-USB Sun keyboards.
-
-Original code from the [TMK firmware](https://github.com/tmk/tmk_keyboard/tree/master/converter/sun_usb). Ported to QMK by [Yann Hodique](https://github.com/sigma).
-
-Keyboard Maintainer: [Yann Hodique](https://github.com/sigma)
-Hardware Supported: See hardware section below
-Hardware Availability: self-built
-
-Make example for this keyboard (after setting up your build environment):
-
- make converter/sun_usb/type5:default
-
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
-
-
-## Hardware
-
-Target MCU is ATMega32u4 but other USB capable AVR will also work. The maintainer mostly uses Teensy 2.0 boards.
-Supported keyboards: Sun Type 3 and 5 Keyboards,
-
-### Connector
-
-8Pin mini DIN
-
- ___ ___
- / |_| \
- / 8 7 6 \
- | 5 4 3 |
- \_ 2 1 _/
- \_____/
- (receptacle)
-
-
-Wiring:
-
- Pin mini DIN MCU
- ----------------------------------
- 1 GND GND
- 2 GND GND
- 3 5V
- 4 RX/TX(Mouse)
- 5 RX PD3
- 6 TX PD2
- 7 GND GND
- 8 5V VCC
-
-
-### Protocol
-
- Signal: Asynchronous, Negative logic, 1200baud, No Flow control
- Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
-
- AVR USART engine expects positive logic while Sun keyboard signal is negative.
- To use AVR UART engine you need external inverter in front of RX and TX pin.
- Otherwise you can software serial routine to communicate the keyboard.
-
-This converter uses software method, you doesn't need any inverter part.
-
-
-Commands From System To Keyboard
-
- 0x01 Reset
- Keyboard responds with following byte sequence:
- Success: 0xFF 0x04 0x7F
- Fail: 0x7E 0x01 0x7F
- 0x02 Bell On
- 0x03 Bell Off
- 0x0A Click On
- 0x0B Click Off
- 0x0E LED
- followed by LED status byte:
- bit: 3 2 1 0
- LED: CapsLk ScrLk Compose NumLk
- 0x0F Layout
- Keyboard responds with 'Layout Response' 0xFE 0xXX
-
-Commands From Keyboard To System
-
- 0x7F Idle
- means no keys pressed.
- 0xFE Layout Response
- 0xFF Reset Response(followed by 0x04)
-
-References
-
-* http://kentie.net/article/sunkbd/page2.htm
-* http://kentie.net/article/sunkbd/KBD.pdf
diff --git a/keyboards/converter/sun_usb/rules.mk b/keyboards/converter/sun_usb/rules.mk
deleted file mode 100644
index d25bcc7ffa..0000000000
--- a/keyboards/converter/sun_usb/rules.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = lufa-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-AUDIO_ENABLE = no # Audio output
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-#HARDWARE_SERIAL = yes
-CUSTOM_MATRIX = yes
-
-SRC += matrix.c led.c
-QUANTUM_LIB_SRC += uart.c
-
-DEFAULT_FOLDER = converter/sun_usb/type5
diff --git a/keyboards/converter/sun_usb/type3/info.json b/keyboards/converter/sun_usb/type3/info.json
deleted file mode 100644
index 383d7d65e5..0000000000
--- a/keyboards/converter/sun_usb/type3/info.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"STOP", "x":0, "y":0},
- {"label":"AGAIN", "x":1, "y":0},
- {"label":"CAPS LOCK", "x":2.5, "y":0},
- {"label":"F2", "x":3.5, "y":0},
- {"label":"F3", "x":4.5, "y":0, "w":2},
- {"label":"F4", "x":6.5, "y":0, "w":2},
- {"label":"F5", "x":8.5, "y":0, "w":2},
- {"label":"F6", "x":10.5, "y":0, "w":2},
- {"label":"F7", "x":12.5, "y":0, "w":2},
- {"label":"F8", "x":14.5, "y":0},
- {"label":"F9", "x":15.5, "y":0},
- {"label":"BACKSPACE", "x":16.5, "y":0},
- {"label":"R1", "x":18, "y":0},
- {"label":"R2", "x":19, "y":0},
- {"label":"R3", "x":20, "y":0},
- {"label":"PROPS", "x":0, "y":1},
- {"label":"UNDO", "x":1, "y":1},
- {"label":"ESC", "x":2.5, "y":1},
- {"label":"1", "x":3.5, "y":1},
- {"label":"2", "x":4.5, "y":1},
- {"label":"3", "x":5.5, "y":1},
- {"label":"4", "x":6.5, "y":1},
- {"label":"5", "x":7.5, "y":1},
- {"label":"6", "x":8.5, "y":1},
- {"label":"7", "x":9.5, "y":1},
- {"label":"8", "x":10.5, "y":1},
- {"label":"9", "x":11.5, "y":1},
- {"label":"0", "x":12.5, "y":1},
- {"label":"MINUS", "x":13.5, "y":1},
- {"label":"EQUAL", "x":14.5, "y":1},
- {"label":"BACKSLASH", "x":15.5, "y":1},
- {"label":"GRAVE", "x":16.5, "y":1},
- {"label":"R4", "x":18, "y":1},
- {"label":"R5", "x":19, "y":1},
- {"label":"R6", "x":20, "y":1},
- {"label":"FRONT", "x":0, "y":2},
- {"label":"COPY", "x":1, "y":2},
- {"label":"TAB", "x":2.5, "y":2, "w":1.5},
- {"label":"Q", "x":4, "y":2},
- {"label":"W", "x":5, "y":2},
- {"label":"E", "x":6, "y":2},
- {"label":"R", "x":7, "y":2},
- {"label":"T", "x":8, "y":2},
- {"label":"Y", "x":9, "y":2},
- {"label":"U", "x":10, "y":2},
- {"label":"I", "x":11, "y":2},
- {"label":"O", "x":12, "y":2},
- {"label":"P", "x":13, "y":2},
- {"label":"LBRACKET", "x":14, "y":2},
- {"label":"RBRACKET", "x":15, "y":2},
- {"label":"DELETE", "x":16, "y":2, "w":1.5},
- {"label":"R7", "x":18, "y":2},
- {"label":"R8", "x":19, "y":2},
- {"label":"R9", "x":20, "y":2},
- {"label":"OPEN", "x":0, "y":3},
- {"label":"PASTE", "x":1, "y":3},
- {"label":"CONTROL", "x":2.5, "y":3, "w":1.75},
- {"label":"A", "x":4.25, "y":3},
- {"label":"S", "x":5.25, "y":3},
- {"label":"D", "x":6.25, "y":3},
- {"label":"F", "x":7.25, "y":3},
- {"label":"G", "x":8.25, "y":3},
- {"label":"H", "x":9.25, "y":3},
- {"label":"J", "x":10.25, "y":3},
- {"label":"K", "x":11.25, "y":3},
- {"label":"L", "x":12.25, "y":3},
- {"label":"SEMICOLON", "x":13.25, "y":3},
- {"label":"QUOTE", "x":14.25, "y":3},
- {"label":"RETURN", "x":15.25, "y":3, "w":2.25},
- {"label":"R10", "x":18, "y":3},
- {"label":"R11", "x":19, "y":3},
- {"label":"R12", "x":20, "y":3},
- {"label":"FIND", "x":0, "y":4},
- {"label":"CUT", "x":1, "y":4},
- {"label":"LSHIFT", "x":2.5, "y":4, "w":2.25},
- {"label":"Z", "x":4.75, "y":4},
- {"label":"X", "x":5.75, "y":4},
- {"label":"C", "x":6.75, "y":4},
- {"label":"V", "x":7.75, "y":4},
- {"label":"B", "x":8.75, "y":4},
- {"label":"N", "x":9.75, "y":4},
- {"label":"M", "x":10.75, "y":4},
- {"label":"COMMA", "x":11.75, "y":4},
- {"label":"PERIOD", "x":12.75, "y":4},
- {"label":"SLASH", "x":13.75, "y":4},
- {"label":"RSHIFT", "x":14.75, "y":4, "w":1.75},
- {"label":"LINE FEED", "x":16.5, "y":4},
- {"label":"R13", "x":18, "y":4},
- {"label":"R14", "x":19, "y":4},
- {"label":"R15", "x":20, "y":4},
- {"label":"CAPS", "x":2.5, "y":5, "w":1.25},
- {"label":"LEFT", "x":3.75, "y":5, "w":1.5},
- {"label":"SPACE", "x":5.25, "y":5, "w":9},
- {"label":"RIGHT", "x":14.25, "y":5, "w":1.5},
- {"label":"ALTERNATE", "x":15.75, "y":5, "w":1.75}
- ]
- }
- }
-}
diff --git a/keyboards/converter/sun_usb/type3/rules.mk b/keyboards/converter/sun_usb/type3/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/converter/sun_usb/type3/rules.mk
+++ /dev/null
diff --git a/keyboards/converter/sun_usb/type3/type3.h b/keyboards/converter/sun_usb/type3/type3.h
deleted file mode 100644
index b84a703d6b..0000000000
--- a/keyboards/converter/sun_usb/type3/type3.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-/* Sun type 3 keyboard
-,-------. ,-----------------------------------------------------------. ,-----------.
-| 01| 03| | 05| 06| 08| 0A| 0C| 0E| 10| 11| 12| 2B| | 15| 16| 17|
-|-------| |-----------------------------------------------------------| |-----------|
-| 19| 1A| | 1D| 1E| 1F| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 58| 2A| | 2D| 2E| 2F|
-|-------| |-----------------------------------------------------------| |-----------|
-| 31| 33| | 35 | 36| 37| 38| 39| 3A| 3B| 3C| 3D| 3E| 3F| 40| 41| 42 | | 44| 45| 46|
-|-------| |-----------------------------------------------------------| |-----------|
-| 48| 49| | 4C | 4D| 4E| 4F| 50| 51| 52| 53| 54| 55| 56| 57| 59 | | 5B| 5C| 5D|
-|-------| |-----------------------------------------------------------| |-----------|
-| 5F| 61| | 63 | 64| 65| 66| 67| 68| 69| 6A| 6B| 6C| 6D| 6E| 6F| | 70| 71| 72|
-`-------' |-----------------------------------------------------------| `-----------'
- | 77 | 78 | 79 | 7A | 13 |
- `-----------------------------------------------------------'
-*/
-#define LAYOUT( \
- k01, k03, k05, k06, k08, k0A, k0C, k0E, k10, k11, k12, k2B, k15, k16, k17, \
- k19, k1A, k1D, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k58, k2A, k2D, k2E, k2F, \
- k31, k33, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k44, k45, k46, \
- k48, k49, k4C, k4D, k4E, k4F, k50, k51, k52, k53, k54, k55, k56, k57, k59, k5B, k5C, k5D, \
- k5F, k61, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, k70, k71, k72, \
- k77, k78, k79, k7A, k13 \
-) { \
- { XXX, k01, XXX, k03, XXX, k05, k06, XXX }, \
- { k08, XXX, k0A, XXX, k0C, XXX, k0E, XXX }, \
- { k10, k11, k12, k13, XXX, k15, k16, k17 }, \
- { XXX, k19, k1A, XXX, XXX, k1D, k1E, k1F }, \
- { k20, k21, k22, k23, k24, k25, k26, k27 }, \
- { k28, k29, k2A, k2B, XXX, k2D, k2E, k2F }, \
- { XXX, k31, XXX, k33, XXX, k35, k36, k37 }, \
- { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
- { k40, k41, k42, XXX, k44, k45, k46, XXX }, \
- { k48, k49, XXX, XXX, k4C, k4D, k4E, k4F }, \
- { k50, k51, k52, k53, k54, k55, k56, k57 }, \
- { k58, k59, XXX, k5B, k5C, k5D, XXX, k5F }, \
- { XXX, k61, XXX, k63, k64, k65, k66, k67 }, \
- { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
- { k70, k71, k72, XXX, XXX, XXX, XXX, k77 }, \
- { k78, k79, k7A, XXX, XXX, XXX, XXX, XXX } \
-}
diff --git a/keyboards/converter/sun_usb/type5/info.json b/keyboards/converter/sun_usb/type5/info.json
deleted file mode 100644
index 23d80c4121..0000000000
--- a/keyboards/converter/sun_usb/type5/info.json
+++ /dev/null
@@ -1,375 +0,0 @@
-{
- "layouts": {
- "LAYOUT_jp_unix": {
- "layout": [
- {"label":"HELP", "x":0, "y":0, "w":2},
- {"label":"NO", "x":2.25, "y":0},
- {"label":"F1", "x":4.25, "y":0},
- {"label":"F2", "x":5.25, "y":0},
- {"label":"F3", "x":6.25, "y":0},
- {"label":"F4", "x":7.25, "y":0},
- {"label":"F5", "x":8.75, "y":0},
- {"label":"F6", "x":9.75, "y":0},
- {"label":"F7", "x":10.75, "y":0},
- {"label":"F8", "x":11.75, "y":0},
- {"label":"F9", "x":13.25, "y":0},
- {"label":"F10", "x":14.25, "y":0},
- {"label":"F11", "x":15.25, "y":0},
- {"label":"F12", "x":16.25, "y":0},
- {"label":"PRINT SCREEN", "x":17.5, "y":0},
- {"label":"SCROLL LOCK", "x":18.5, "y":0},
- {"label":"PAUSE", "x":19.5, "y":0},
- {"label":"MUTE", "x":20.75, "y":0},
- {"label":"VOLD", "x":21.75, "y":0},
- {"label":"VOLU", "x":22.75, "y":0},
- {"label":"PWR", "x":23.75, "y":0},
- {"label":"STOP", "x":0, "y":2},
- {"label":"AGAIN", "x":1, "y":2},
- {"label":"ESC", "x":2.25, "y":2},
- {"label":"1", "x":3.25, "y":2},
- {"label":"2", "x":4.25, "y":2},
- {"label":"3", "x":5.25, "y":2},
- {"label":"4", "x":6.25, "y":2},
- {"label":"5", "x":7.25, "y":2},
- {"label":"6", "x":8.25, "y":2},
- {"label":"7", "x":9.25, "y":2},
- {"label":"8", "x":10.25, "y":2},
- {"label":"9", "x":11.25, "y":2},
- {"label":"0", "x":12.25, "y":2},
- {"label":"MINUS", "x":13.25, "y":2},
- {"label":"EQUAL", "x":14.25, "y":2},
- {"label":"BACKSLASH", "x":15.25, "y":2},
- {"label":"GRAVE", "x":16.25, "y":2},
- {"label":"INSERT", "x":17.5, "y":2},
- {"label":"HOME", "x":18.5, "y":2},
- {"label":"PAGE UP", "x":19.5, "y":2},
- {"label":"NUM LOCK", "x":20.75, "y":2},
- {"label":"PSLASH", "x":21.75, "y":2},
- {"label":"PASTERISK", "x":22.75, "y":2},
- {"label":"PMINUS", "x":23.75, "y":2},
- {"label":"MENU", "x":0, "y":3},
- {"label":"UNDO", "x":1, "y":3},
- {"label":"TAB", "x":2.25, "y":3, "w":1.5},
- {"label":"Q", "x":3.75, "y":3},
- {"label":"W", "x":4.75, "y":3},
- {"label":"E", "x":5.75, "y":3},
- {"label":"R", "x":6.75, "y":3},
- {"label":"T", "x":7.75, "y":3},
- {"label":"Y", "x":8.75, "y":3},
- {"label":"U", "x":9.75, "y":3},
- {"label":"I", "x":10.75, "y":3},
- {"label":"O", "x":11.75, "y":3},
- {"label":"P", "x":12.75, "y":3},
- {"label":"LBRACKET", "x":13.75, "y":3},
- {"label":"RBRACKET", "x":14.75, "y":3},
- {"label":"BACKSPACE", "x":15.75, "y":3, "w":1.5},
- {"label":"DELETE", "x":17.5, "y":3},
- {"label":"END", "x":18.5, "y":3},
- {"label":"PAGE DOWN", "x":19.5, "y":3},
- {"label":"P7", "x":20.75, "y":3},
- {"label":"P8", "x":21.75, "y":3},
- {"label":"P9", "x":22.75, "y":3},
- {"label":"PPLUS", "x":23.75, "y":3, "h":2},
- {"label":"SELECT", "x":0, "y":4},
- {"label":"COPY", "x":1, "y":4},
- {"label":"LCTRL", "x":2.25, "y":4, "w":1.75},
- {"label":"A", "x":4, "y":4},
- {"label":"S", "x":5, "y":4},
- {"label":"D", "x":6, "y":4},
- {"label":"F", "x":7, "y":4},
- {"label":"G", "x":8, "y":4},
- {"label":"H", "x":9, "y":4},
- {"label":"J", "x":10, "y":4},
- {"label":"K", "x":11, "y":4},
- {"label":"L", "x":12, "y":4},
- {"label":"SEMICOLON", "x":13, "y":4},
- {"label":"QUOTE", "x":14, "y":4},
- {"label":"ENTER", "x":15, "y":4, "w":2.25},
- {"label":"P4", "x":20.75, "y":4},
- {"label":"P5", "x":21.75, "y":4},
- {"label":"P6", "x":22.75, "y":4},
- {"label":"EXECUTE", "x":0, "y":5},
- {"label":"PASTE", "x":1, "y":5},
- {"label":"LSHIFT", "x":2.25, "y":5, "w":2.25},
- {"label":"Z", "x":4.5, "y":5},
- {"label":"X", "x":5.5, "y":5},
- {"label":"C", "x":6.5, "y":5},
- {"label":"V", "x":7.5, "y":5},
- {"label":"B", "x":8.5, "y":5},
- {"label":"N", "x":9.5, "y":5},
- {"label":"M", "x":10.5, "y":5},
- {"label":"COMMA", "x":11.5, "y":5},
- {"label":"PERIOD", "x":12.5, "y":5},
- {"label":"SLASH", "x":13.5, "y":5},
- {"label":"RSHIFT", "x":14.5, "y":5, "w":2.75},
- {"label":"UP", "x":18.5, "y":5},
- {"label":"P1", "x":20.75, "y":5},
- {"label":"P2", "x":21.75, "y":5},
- {"label":"P3", "x":22.75, "y":5},
- {"label":"PENTER", "x":23.75, "y":5, "h":2},
- {"label":"FIND", "x":0, "y":6},
- {"label":"CUT", "x":1, "y":6},
- {"label":"CAPS LOCK", "x":2.25, "y":6},
- {"label":"LALT", "x":3.25, "y":6},
- {"label":"LGUI", "x":4.25, "y":6},
- {"label":"HENKAN", "x":5.25, "y":6, "w":1.5},
- {"label":"SPACE", "x":6.75, "y":6, "w":5},
- {"label":"MUHENKAN", "x":11.75, "y":6, "w":1.5},
- {"label":"KANA", "x":13.25, "y":6},
- {"label":"RGUI", "x":14.25, "y":6},
- {"label":"APP", "x":15.25, "y":6},
- {"label":"RALT", "x":16.25, "y":6},
- {"label":"LEFT", "x":17.5, "y":6},
- {"label":"DOWN", "x":18.5, "y":6},
- {"label":"RIGHT", "x":19.5, "y":6},
- {"label":"P0", "x":20.75, "y":6, "w":2},
- {"label":"PDOT", "x":22.75, "y":6}
- ]
- },
- "LAYOUT_us_unix": {
- "layout": [
- {"label":"HELP", "x":0, "y":0, "w":2},
- {"label":"NO", "x":2.25, "y":0},
- {"label":"F1", "x":4.25, "y":0},
- {"label":"F2", "x":5.25, "y":0},
- {"label":"F3", "x":6.25, "y":0},
- {"label":"F4", "x":7.25, "y":0},
- {"label":"F5", "x":8.75, "y":0},
- {"label":"F6", "x":9.75, "y":0},
- {"label":"F7", "x":10.75, "y":0},
- {"label":"F8", "x":11.75, "y":0},
- {"label":"F9", "x":13.25, "y":0},
- {"label":"F10", "x":14.25, "y":0},
- {"label":"F11", "x":15.25, "y":0},
- {"label":"F12", "x":16.25, "y":0},
- {"label":"PRINT SCREEN", "x":17.5, "y":0},
- {"label":"SCROLL LOCK", "x":18.5, "y":0},
- {"label":"PAUSE", "x":19.5, "y":0},
- {"label":"MUTE", "x":20.75, "y":0},
- {"label":"VOLD", "x":21.75, "y":0},
- {"label":"VOLU", "x":22.75, "y":0},
- {"label":"PWR", "x":23.75, "y":0},
- {"label":"STOP", "x":0, "y":2},
- {"label":"AGAIN", "x":1, "y":2},
- {"label":"ESC", "x":2.25, "y":2},
- {"label":"1", "x":3.25, "y":2},
- {"label":"2", "x":4.25, "y":2},
- {"label":"3", "x":5.25, "y":2},
- {"label":"4", "x":6.25, "y":2},
- {"label":"5", "x":7.25, "y":2},
- {"label":"6", "x":8.25, "y":2},
- {"label":"7", "x":9.25, "y":2},
- {"label":"8", "x":10.25, "y":2},
- {"label":"9", "x":11.25, "y":2},
- {"label":"0", "x":12.25, "y":2},
- {"label":"MINUS", "x":13.25, "y":2},
- {"label":"EQUAL", "x":14.25, "y":2},
- {"label":"BACKSLASH", "x":15.25, "y":2},
- {"label":"GRAVE", "x":16.25, "y":2},
- {"label":"INSERT", "x":17.5, "y":2},
- {"label":"HOME", "x":18.5, "y":2},
- {"label":"PAGE UP", "x":19.5, "y":2},
- {"label":"NUM LOCK", "x":20.75, "y":2},
- {"label":"PSLASH", "x":21.75, "y":2},
- {"label":"PASTERISK", "x":22.75, "y":2},
- {"label":"PMINUS", "x":23.75, "y":2},
- {"label":"MENU", "x":0, "y":3},
- {"label":"UNDO", "x":1, "y":3},
- {"label":"TAB", "x":2.25, "y":3, "w":1.5},
- {"label":"Q", "x":3.75, "y":3},
- {"label":"W", "x":4.75, "y":3},
- {"label":"E", "x":5.75, "y":3},
- {"label":"R", "x":6.75, "y":3},
- {"label":"T", "x":7.75, "y":3},
- {"label":"Y", "x":8.75, "y":3},
- {"label":"U", "x":9.75, "y":3},
- {"label":"I", "x":10.75, "y":3},
- {"label":"O", "x":11.75, "y":3},
- {"label":"P", "x":12.75, "y":3},
- {"label":"LBRACKET", "x":13.75, "y":3},
- {"label":"RBRACKET", "x":14.75, "y":3},
- {"label":"BACKSPACE", "x":15.75, "y":3, "w":1.5},
- {"label":"DELETE", "x":17.5, "y":3},
- {"label":"END", "x":18.5, "y":3},
- {"label":"PAGE DOWN", "x":19.5, "y":3},
- {"label":"P7", "x":20.75, "y":3},
- {"label":"P8", "x":21.75, "y":3},
- {"label":"P9", "x":22.75, "y":3},
- {"label":"PPLUS", "x":23.75, "y":3, "h":2},
- {"label":"SELECT", "x":0, "y":4},
- {"label":"COPY", "x":1, "y":4},
- {"label":"LCTRL", "x":2.25, "y":4, "w":1.75},
- {"label":"A", "x":4, "y":4},
- {"label":"S", "x":5, "y":4},
- {"label":"D", "x":6, "y":4},
- {"label":"F", "x":7, "y":4},
- {"label":"G", "x":8, "y":4},
- {"label":"H", "x":9, "y":4},
- {"label":"J", "x":10, "y":4},
- {"label":"K", "x":11, "y":4},
- {"label":"L", "x":12, "y":4},
- {"label":"SEMICOLON", "x":13, "y":4},
- {"label":"QUOTE", "x":14, "y":4},
- {"label":"ENTER", "x":15, "y":4, "w":2.25},
- {"label":"P4", "x":20.75, "y":4},
- {"label":"P5", "x":21.75, "y":4},
- {"label":"P6", "x":22.75, "y":4},
- {"label":"EXECUTE", "x":0, "y":5},
- {"label":"PASTE", "x":1, "y":5},
- {"label":"LSHIFT", "x":2.25, "y":5, "w":2.25},
- {"label":"Z", "x":4.5, "y":5},
- {"label":"X", "x":5.5, "y":5},
- {"label":"C", "x":6.5, "y":5},
- {"label":"V", "x":7.5, "y":5},
- {"label":"B", "x":8.5, "y":5},
- {"label":"N", "x":9.5, "y":5},
- {"label":"M", "x":10.5, "y":5},
- {"label":"COMMA", "x":11.5, "y":5},
- {"label":"PERIOD", "x":12.5, "y":5},
- {"label":"SLASH", "x":13.5, "y":5},
- {"label":"RSHIFT", "x":14.5, "y":5, "w":2.75},
- {"label":"UP", "x":18.5, "y":5},
- {"label":"P1", "x":20.75, "y":5},
- {"label":"P2", "x":21.75, "y":5},
- {"label":"P3", "x":22.75, "y":5},
- {"label":"PENTER", "x":23.75, "y":5, "h":2},
- {"label":"FIND", "x":0, "y":6},
- {"label":"CUT", "x":1, "y":6},
- {"label":"CAPS LOCK", "x":2.25, "y":6, "w":1.75},
- {"label":"LALT", "x":4, "y":6},
- {"label":"LGUI", "x":5, "y":6},
- {"label":"SPACE", "x":6, "y":6, "w":8.25},
- {"label":"RGUI", "x":14.25, "y":6},
- {"label":"APP", "x":15.25, "y":6},
- {"label":"RALT", "x":16.25, "y":6},
- {"label":"LEFT", "x":17.5, "y":6},
- {"label":"DOWN", "x":18.5, "y":6},
- {"label":"RIGHT", "x":19.5, "y":6},
- {"label":"P0", "x":20.75, "y":6, "w":2},
- {"label":"PDOT", "x":22.75, "y":6}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"label":"HELP", "x":0, "y":0, "w":2},
- {"label":"ESC", "x":2.25, "y":0},
- {"label":"F1", "x":4.25, "y":0},
- {"label":"F2", "x":5.25, "y":0},
- {"label":"F3", "x":6.25, "y":0},
- {"label":"F4", "x":7.25, "y":0},
- {"label":"F5", "x":8.75, "y":0},
- {"label":"F6", "x":9.75, "y":0},
- {"label":"F7", "x":10.75, "y":0},
- {"label":"F8", "x":11.75, "y":0},
- {"label":"F9", "x":13.25, "y":0},
- {"label":"F10", "x":14.25, "y":0},
- {"label":"F11", "x":15.25, "y":0},
- {"label":"F12", "x":16.25, "y":0},
- {"label":"PRINT SCREEN", "x":17.5, "y":0},
- {"label":"SCROLL LOCK", "x":18.5, "y":0},
- {"label":"PAUSE", "x":19.5, "y":0},
- {"label":"MUTE", "x":20.75, "y":0},
- {"label":"VOLD", "x":21.75, "y":0},
- {"label":"VOLU", "x":22.75, "y":0},
- {"label":"PWR", "x":23.75, "y":0},
- {"label":"STOP", "x":0, "y":2},
- {"label":"AGAIN", "x":1, "y":2},
- {"label":"GRAVE", "x":2.25, "y":2},
- {"label":"1", "x":3.25, "y":2},
- {"label":"2", "x":4.25, "y":2},
- {"label":"3", "x":5.25, "y":2},
- {"label":"4", "x":6.25, "y":2},
- {"label":"5", "x":7.25, "y":2},
- {"label":"6", "x":8.25, "y":2},
- {"label":"7", "x":9.25, "y":2},
- {"label":"8", "x":10.25, "y":2},
- {"label":"9", "x":11.25, "y":2},
- {"label":"0", "x":12.25, "y":2},
- {"label":"MINUS", "x":13.25, "y":2},
- {"label":"EQUAL", "x":14.25, "y":2},
- {"label":"BACKSPACE", "x":15.25, "y":2, "w":2},
- {"label":"INSERT", "x":17.5, "y":2},
- {"label":"HOME", "x":18.5, "y":2},
- {"label":"PAGE UP", "x":19.5, "y":2},
- {"label":"NUM LOCK", "x":20.75, "y":2},
- {"label":"PSLASH", "x":21.75, "y":2},
- {"label":"PASTERISK", "x":22.75, "y":2},
- {"label":"PMINUS", "x":23.75, "y":2},
- {"label":"MENU", "x":0, "y":3},
- {"label":"UNDO", "x":1, "y":3},
- {"label":"TAB", "x":2.25, "y":3, "w":1.5},
- {"label":"Q", "x":3.75, "y":3},
- {"label":"W", "x":4.75, "y":3},
- {"label":"E", "x":5.75, "y":3},
- {"label":"R", "x":6.75, "y":3},
- {"label":"T", "x":7.75, "y":3},
- {"label":"Y", "x":8.75, "y":3},
- {"label":"U", "x":9.75, "y":3},
- {"label":"I", "x":10.75, "y":3},
- {"label":"O", "x":11.75, "y":3},
- {"label":"P", "x":12.75, "y":3},
- {"label":"LBRACKET", "x":13.75, "y":3},
- {"label":"RBRACKET", "x":14.75, "y":3},
- {"label":"BACKSLASH", "x":15.75, "y":3, "w":1.5},
- {"label":"DELETE", "x":17.5, "y":3},
- {"label":"END", "x":18.5, "y":3},
- {"label":"PAGE DOWN", "x":19.5, "y":3},
- {"label":"P7", "x":20.75, "y":3},
- {"label":"P8", "x":21.75, "y":3},
- {"label":"P9", "x":22.75, "y":3},
- {"label":"PPLUS", "x":23.75, "y":3, "h":2},
- {"label":"SELECT", "x":0, "y":4},
- {"label":"COPY", "x":1, "y":4},
- {"label":"CAPS LOCK", "x":2.25, "y":4, "w":1.75},
- {"label":"A", "x":4, "y":4},
- {"label":"S", "x":5, "y":4},
- {"label":"D", "x":6, "y":4},
- {"label":"F", "x":7, "y":4},
- {"label":"G", "x":8, "y":4},
- {"label":"H", "x":9, "y":4},
- {"label":"J", "x":10, "y":4},
- {"label":"K", "x":11, "y":4},
- {"label":"L", "x":12, "y":4},
- {"label":"SEMICOLON", "x":13, "y":4},
- {"label":"QUOTE", "x":14, "y":4},
- {"label":"ENTER", "x":15, "y":4, "w":2.25},
- {"label":"P4", "x":20.75, "y":4},
- {"label":"P5", "x":21.75, "y":4},
- {"label":"P6", "x":22.75, "y":4},
- {"label":"EXECUTE", "x":0, "y":5},
- {"l