* refactored the Katana60 folders under a rominronin parent folder * Update keyboards/rominronin/katana60/info.json removed 'keyboard_folder' line * Update keyboards/rominronin/katana60/info.json removed 'key_count' line * Update keyboards/rominronin/katana60_rev2/config.h removed '#define DESCRIPTION' line * Update keyboards/rominronin/katana60_rev2/rules.mk Removed more attributes * Update keyboards/rominronin/katana60_rev2/rules.mk removed 'FAUXCLICKY_ENABLE' line * Update keyboards/rominronin/katana60_rev2/rules.mk Updated some comments * Update keyboards/rominronin/katana60_rev2/config.h Removed redundant comments * Update keyboards/rominronin/katana60_rev2/config.h removed redundant comments * Update keyboards/rominronin/katana60_rev2/config.h removed redundant comments * Update keyboards/rominronin/katana60/keymaps/default/keymap.c Fixed a non-standard keycode * Update keyboards/rominronin/katana60/keymaps/rominronin/keymap.c Removed deprecated code * Update keyboards/rominronin/katana60/rules.mk removed redundant comments * Update keyboards/rominronin/katana60_rev2/katana60_rev2.c removed redundant code * Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c removed redundant code * Update keyboards/rominronin/katana60_rev2/rules.mk removed redundant comments * Update keyboards/rominronin/katana60_rev2/rules.mk updated some comments * Update keyboards/rominronin/katana60_rev2/rules.mk removed redundant code * Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c optimised the layers definition * Update keyboards/rominronin/katana60/rules.mk removed redundant code * added the info.json file for every Tsuka60 layout * updated the info.json file details * removed broken keymap file, updated other files * updated the Katana60 rev2 info.json file * split katana60 into revisions * assign unique Vendor/Product ID pairings * modernize codebase #pragma once on included files; rules.mk templating * fix rev2 layout macros * updated the keymaps for correct automated building. * updated the default layout file * updated default rominronin 7u layout file * Update keyboards/rominronin/katana60/rev1/readme.md resized an image * Update keyboards/rominronin/katana60/rev2/readme.md resized an image * remove dead space from rev2 info.json filepull/10366/head
@ -1,13 +0,0 @@ | |||
{ | |||
"keyboard_name": "Katana60", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 15, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT": { | |||
"key_count": 70, | |||
"layout": [{"label":"k40", "x":0, "y":0}, {"label":"k41", "x":1, "y":0}, {"label":"k42", "x":2, "y":0}, {"label":"k43", "x":3, "y":0}, {"label":"k44", "x":4, "y":0}, {"label":"k45", "x":5, "y":0}, {"label":"k46", "x":6, "y":0}, {"label":"k47", "x":7, "y":0}, {"label":"k48", "x":8, "y":0}, {"label":"k49", "x":9, "y":0}, {"label":"k4a", "x":10, "y":0}, {"label":"k4b", "x":11, "y":0}, {"label":"k4c", "x":12, "y":0}, {"label":"k4d", "x":13, "y":0}, {"label":"k4e", "x":14, "y":0}, {"label":"k30", "x":0, "y":1, "w":1.5}, {"label":"k31", "x":1.5, "y":1}, {"label":"k32", "x":2.5, "y":1}, {"label":"k33", "x":3.5, "y":1}, {"label":"k34", "x":4.5, "y":1}, {"label":"k35", "x":5.5, "y":1}, {"label":"k36", "x":6.5, "y":1}, {"label":"k37", "x":7.5, "y":1}, {"label":"k38", "x":8.5, "y":1}, {"label":"k39", "x":9.5, "y":1}, {"label":"k3a", "x":10.5, "y":1}, {"label":"k3b", "x":11.5, "y":1}, {"label":"k3c", "x":12.5, "y":1}, {"label":"k3d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.25}, {"label":"k21", "x":1.25, "y":2}, {"label":"k22", "x":2.25, "y":2}, {"label":"k23", "x":3.25, "y":2}, {"label":"k24", "x":4.25, "y":2}, {"label":"k25", "x":5.25, "y":2}, {"label":"k26", "x":6.25, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k10", "x":0, "y":3}, {"label":"k11", "x":1, "y":3}, {"label":"k12", "x":2, "y":3}, {"label":"k13", "x":3, "y":3}, {"label":"k14", "x":4, "y":3}, {"label":"k15", "x":5, "y":3}, {"label":"k16", "x":6, "y":3}, {"label":"k17", "x":7, "y":3}, {"label":"k18", "x":8, "y":3}, {"label":"k19", "x":9, "y":3}, {"label":"k1a", "x":10, "y":3}, {"label":"k1b", "x":11, "y":3}, {"label":"k1c", "x":12, "y":3}, {"label":"k1d", "x":13, "y":3}, {"label":"k1e", "x":14, "y":3}, {"label":"k00", "x":0, "y":4}, {"label":"k01", "x":1, "y":4, "w":1.25}, {"label":"k02", "x":2.25, "y":4, "w":1.25}, {"label":"k03", "x":3.5, "y":4, "w":1.25}, {"label":"k04", "x":4.75, "y":4, "w":2.25}, {"label":"k05", "x":7, "y":4}, {"label":"k06", "x":8, "y":4, "w":2}, {"label":"k09", "x":10, "y":4}, {"label":"k0a", "x":11, "y":4}, {"label":"k0b", "x":12, "y":4}, {"label":"k0c", "x":13, "y":4}, {"label":"k0d", "x":14, "y":4}] | |||
} | |||
} | |||
} |
@ -1,43 +0,0 @@ | |||
/* Copyright 2017 Baris Tosun | |||
* | |||
* 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 "katana60.h" | |||
void matrix_init_kb(void) { | |||
// put your keyboard start-up code here | |||
// runs once when the firmware starts up | |||
matrix_init_user(); | |||
} | |||
void matrix_scan_kb(void) { | |||
// put your looping keyboard code here | |||
// runs every cycle (a lot) | |||
matrix_scan_user(); | |||
} | |||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) { | |||
// put your per-action keyboard code here | |||
// runs for every action, just before processing by the firmware | |||
return process_record_user(keycode, record); | |||
} | |||
void led_set_kb(uint8_t usb_led) { | |||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here | |||
led_set_user(usb_led); | |||
} |
@ -1,17 +0,0 @@ | |||
# Katana60 | |||
![Katana60](https://i.imgur.com/xVkODOu.jpg) | |||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com. | |||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin) | |||
Hardware Supported: Katana60 PCB v1, Teensy 2.0 | |||
Hardware Availability: [CandyKeys.com](https://CandyKeys.com) | |||
Make example for this keyboard (after setting up your build environment): | |||
make katana60: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. | |||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/) |
@ -0,0 +1,83 @@ | |||
{ | |||
"keyboard_name": "Katana60 rev1", | |||
"url": "", | |||
"maintainer": "rominronin", | |||
"width": 15, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"label":"k40", "x":0, "y":0}, | |||
{"label":"k41", "x":1, "y":0}, | |||
{"label":"k42", "x":2, "y":0}, | |||
{"label":"k43", "x":3, "y":0}, | |||
{"label":"k44", "x":4, "y":0}, | |||
{"label":"k45", "x":5, "y":0}, | |||
{"label":"k46", "x":6, "y":0}, | |||
{"label":"k47", "x":7, "y":0}, | |||
{"label":"k48", "x":8, "y":0}, | |||
{"label":"k49", "x":9, "y":0}, | |||
{"label":"k4a", "x":10, "y":0}, | |||
{"label":"k4b", "x":11, "y":0}, | |||
{"label":"k4c", "x":12, "y":0}, | |||
{"label":"k4d", "x":13, "y":0}, | |||
{"label":"k4e", "x":14, "y":0}, | |||
{"label":"k30", "x":0, "y":1, "w":1.5}, | |||
{"label":"k31", "x":1.5, "y":1}, | |||
{"label":"k32", "x":2.5, "y":1}, | |||
{"label":"k33", "x":3.5, "y":1}, | |||
{"label":"k34", "x":4.5, "y":1}, | |||
{"label":"k35", "x":5.5, "y":1}, | |||
{"label":"k36", "x":6.5, "y":1}, | |||
{"label":"k37", "x":7.5, "y":1}, | |||
{"label":"k38", "x":8.5, "y":1}, | |||
{"label":"k39", "x":9.5, "y":1}, | |||
{"label":"k3a", "x":10.5, "y":1}, | |||
{"label":"k3b", "x":11.5, "y":1}, | |||
{"label":"k3c", "x":12.5, "y":1}, | |||
{"label":"k3d", "x":13.5, "y":1, "w":1.5}, | |||
{"label":"k20", "x":0, "y":2, "w":1.25}, | |||
{"label":"k21", "x":1.25, "y":2}, | |||
{"label":"k22", "x":2.25, "y":2}, | |||
{"label":"k23", "x":3.25, "y":2}, | |||
{"label":"k24", "x":4.25, "y":2}, | |||
{"label":"k25", "x":5.25, "y":2}, | |||
{"label":"k26", "x":6.25, "y":2}, | |||
{"label":"k27", "x":7.75, "y":2}, | |||
{"label":"k28", "x":8.75, "y":2}, | |||
{"label":"k29", "x":9.75, "y":2}, | |||
{"label":"k2a", "x":10.75, "y":2}, | |||
{"label":"k2b", "x":11.75, "y":2}, | |||
{"label":"k2c", "x":12.75, "y":2}, | |||
{"label":"k2d", "x":13.75, "y":2, "w":1.25}, | |||
{"label":"k10", "x":0, "y":3}, | |||
{"label":"k11", "x":1, "y":3}, | |||
{"label":"k12", "x":2, "y":3}, | |||
{"label":"k13", "x":3, "y":3}, | |||
{"label":"k14", "x":4, "y":3}, | |||
{"label":"k15", "x":5, "y":3}, | |||
{"label":"k16", "x":6, "y":3}, | |||
{"label":"k17", "x":7, "y":3}, | |||
{"label":"k18", "x":8, "y":3}, | |||
{"label":"k19", "x":9, "y":3}, | |||
{"label":"k1a", "x":10, "y":3}, | |||
{"label":"k1b", "x":11, "y":3}, | |||
{"label":"k1c", "x":12, "y":3}, | |||
{"label":"k1d", "x":13, "y":3}, | |||
{"label":"k1e", "x":14, "y":3}, | |||
{"label":"k00", "x":0, "y":4}, | |||
{"label":"k01", "x":1, "y":4, "w":1.25}, | |||
{"label":"k02", "x":2.25, "y":4, "w":1.25}, | |||
{"label":"k03", "x":3.5, "y":4, "w":1.25}, | |||
{"label":"k04", "x":4.75, "y":4, "w":2.25}, | |||
{"label":"k05", "x":7, "y":4}, | |||
{"label":"k06", "x":8, "y":4, "w":2}, | |||
{"label":"k09", "x":10, "y":4}, | |||
{"label":"k0a", "x":11, "y":4}, | |||
{"label":"k0b", "x":12, "y":4}, | |||
{"label":"k0c", "x":13, "y":4}, | |||
{"label":"k0d", "x":14, "y":4} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,17 @@ | |||
# Katana60 rev1 | |||
![Katana60 rev1](https://i.imgur.com/xVkODOul.jpg) | |||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com. | |||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin) | |||
Hardware Supported: Katana60 PCB rev1 | |||
Hardware Availability: the rev1 is no longer available, the rev2 can be found at [candykeys.com](https://candykeys.com/product/katana60-pcb-V2) | |||
Make example for this keyboard (after setting up your build environment): | |||
make rominronin/katana60/rev1:default | |||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | |||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/) |
@ -0,0 +1,16 @@ | |||
/* Copyright 2017 Baris Tosun | |||
* | |||
* 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 "rev1.h" |
@ -0,0 +1,105 @@ | |||
/* | |||
Copyright 2019 rominronin | |||
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 "config_common.h" | |||
/* USB Device descriptor parameter */ | |||
#define VENDOR_ID 0x7272 // "rr" - rominronin | |||
#define PRODUCT_ID 0xF03B | |||
#define DEVICE_VER 0x0001 | |||
#define MANUFACTURER RominRonin CandyKeys | |||
#define PRODUCT Katana60 rev2 | |||
/* key matrix size */ | |||
#define MATRIX_ROWS 5 | |||
#define MATRIX_COLS 15 | |||
/* | |||
* Keyboard Matrix Assignments | |||
* | |||
* Change this to how you wired your keyboard | |||
* COLS: AVR pins used for columns, left to right | |||
* ROWS: AVR pins used for rows, top to bottom | |||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | |||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | |||
* | |||
*/ | |||
#define MATRIX_ROW_PINS { B0, E6, D5, B4, B5 } | |||
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, D6, D4, D3, D2, D1, D0 } | |||
#define UNUSED_PINS | |||
/* COL2ROW, ROW2COL*/ | |||
#define DIODE_DIRECTION COL2ROW | |||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | |||
#define DEBOUNCE 5 | |||
/* define if matrix has ghost (lacks anti-ghosting diodes) */ | |||
//#define MATRIX_HAS_GHOST | |||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | |||
#define LOCKING_SUPPORT_ENABLE | |||
/* Locking resynchronize hack */ | |||
#define LOCKING_RESYNC_ENABLE | |||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | |||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc). | |||
*/ | |||
// #define GRAVE_ESC_CTRL_OVERRIDE | |||
/* | |||
* Force NKRO | |||
* | |||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | |||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | |||
* makefile for this to work.) | |||
* | |||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | |||
* until the next keyboard reset. | |||
* | |||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is | |||
* fully operational during normal computer usage. | |||
* | |||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | |||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | |||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a | |||
* power-up. | |||
* | |||
*/ | |||
//#define FORCE_NKRO | |||
#define TAPPING_TERM 200 | |||
/* | |||
* Feature disable options | |||
* These options are also useful to firmware size reduction. | |||
*/ | |||
/* disable debug print */ | |||
//#define NO_DEBUG | |||
/* disable print */ | |||
//#define NO_PRINT | |||
/* disable action features */ | |||
//#define NO_ACTION_LAYER | |||
//#define NO_ACTION_TAPPING | |||
//#define NO_ACTION_ONESHOT | |||
//#define NO_ACTION_MACRO | |||
//#define NO_ACTION_FUNCTION |
@ -0,0 +1,579 @@ | |||
{ | |||
"keyboard_name": "Katana60 rev2", | |||
"url": "https://candykeys.com/product/katana60-pcb-V2", | |||
"maintainer": "rominronin", | |||
"width": 15, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT_7u_a": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k41","x":0,"y":4,"w":1.5}, | |||
{"label":"k42","x":1.5,"y":4}, | |||
{"label":"k43","x":2.5,"y":4,"w":1.5}, | |||
{"label":"k47","x":4,"y":4,"w":7}, | |||
{"label":"k4b","x":11,"y":4}, | |||
{"label":"k4c","x":12,"y":4}, | |||
{"label":"k4d","x":13,"y":4}, | |||
{"label":"k4e","x":14,"y":4} | |||
] | |||
}, | |||
"LAYOUT_7u_b": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k41","x":0,"y":4,"w":1.5}, | |||
{"label":"k42","x":1.5,"y":4}, | |||
{"label":"k43","x":2.5,"y":4,"w":1.5}, | |||
{"label":"k47","x":4,"y":4,"w":7}, | |||
{"label":"k17","x":11,"y":4,"w":1.5}, | |||
{"label":"k27","x":12.5,"y":4}, | |||
{"label":"k48","x":13.5,"y":4,"w":1.5} | |||
] | |||
}, | |||
"LAYOUT_1_a": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k40","x":0,"y":4}, | |||
{"label":"k41","x":1,"y":4,"w":1.25}, | |||
{"label":"k42","x":2.25,"y":4,"w":1.25}, | |||
{"label":"k43","x":3.5,"y":4,"w":1.25}, | |||
{"label":"k44","x":4.75,"y":4,"w":2.25}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2}, | |||
{"label":"k4a","x":10,"y":4}, | |||
{"label":"k4b","x":11,"y":4}, | |||
{"label":"k4c","x":12,"y":4}, | |||
{"label":"k4d","x":13,"y":4}, | |||
{"label":"k4e","x":14,"y":4} | |||
] | |||
}, | |||
"LAYOUT_1_b": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k40","x":0,"y":4}, | |||
{"label":"k41","x":1,"y":4,"w":1.25}, | |||
{"label":"k42","x":2.25,"y":4,"w":1.25}, | |||
{"label":"k43","x":3.5,"y":4,"w":1.25}, | |||
{"label":"k44","x":4.75,"y":4,"w":2.25}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2.75}, | |||
{"label":"k17","x":10.75,"y":4,"w":2}, | |||
{"label":"k48","x":12.75,"y":4,"w":2.25} | |||
] | |||
}, | |||
"LAYOUT_1_c": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k40","x":0,"y":4}, | |||
{"label":"k41","x":1,"y":4,"w":1.25}, | |||
{"label":"k42","x":2.25,"y":4,"w":1.25}, | |||
{"label":"k43","x":3.5,"y":4,"w":1.25}, | |||
{"label":"k44","x":4.75,"y":4,"w":2.25}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2}, | |||
{"label":"k45","x":10,"y":4,"w":1.5}, | |||
{"label":"k27","x":11.5,"y":4,"w":1.25}, | |||
{"label":"k48","x":12.75,"y":4,"w":2.25} | |||
] | |||
}, | |||
"LAYOUT_2_a": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k41","x":0,"y":4,"w":1.5}, | |||
{"label":"k42","x":1.5,"y":4,"w":1.25}, | |||
{"label":"k43","x":2.75,"y":4,"w":1.5}, | |||
{"label":"k44","x":4.25,"y":4,"w":2.75}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2}, | |||
{"label":"k4a","x":10,"y":4}, | |||
{"label":"k4b","x":11,"y":4}, | |||
{"label":"k4c","x":12,"y":4}, | |||
{"label":"k4d","x":13,"y":4}, | |||
{"label":"k4e","x":14,"y":4} | |||
] | |||
}, | |||
"LAYOUT_2_b": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k41","x":0,"y":4,"w":1.5}, | |||
{"label":"k42","x":1.5,"y":4,"w":1.25}, | |||
{"label":"k43","x":2.75,"y":4,"w":1.5}, | |||
{"label":"k44","x":4.25,"y":4,"w":2.75}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2.75}, | |||
{"label":"k17","x":10.75,"y":4,"w":2}, | |||
{"label":"k48","x":12.75,"y":4,"w":2.25} | |||
] | |||
}, | |||
"LAYOUT_2_c": { | |||
"layout": [ | |||
{"label":"k00","x":0,"y":0}, | |||
{"label":"k01","x":1,"y":0}, | |||
{"label":"k02","x":2,"y":0}, | |||
{"label":"k03","x":3,"y":0}, | |||
{"label":"k04","x":4,"y":0}, | |||
{"label":"k05","x":5,"y":0}, | |||
{"label":"k06","x":6,"y":0}, | |||
{"label":"k07","x":7,"y":0}, | |||
{"label":"k08","x":8,"y":0}, | |||
{"label":"k09","x":9,"y":0}, | |||
{"label":"k0a","x":10,"y":0}, | |||
{"label":"k0b","x":11,"y":0}, | |||
{"label":"k0c","x":12,"y":0}, | |||
{"label":"k0d","x":13,"y":0}, | |||
{"label":"k0e","x":14,"y":0}, | |||
{"label":"k10","x":0,"y":1,"w":1.5}, | |||
{"label":"k11","x":1.5,"y":1}, | |||
{"label":"k12","x":2.5,"y":1}, | |||
{"label":"k13","x":3.5,"y":1}, | |||
{"label":"k14","x":4.5,"y":1}, | |||
{"label":"k15","x":5.5,"y":1}, | |||
{"label":"k16","x":6.5,"y":1}, | |||
{"label":"k18","x":7.5,"y":1}, | |||
{"label":"k19","x":8.5,"y":1}, | |||
{"label":"k1a","x":9.5,"y":1}, | |||
{"label":"k1b","x":10.5,"y":1}, | |||
{"label":"k1c","x":11.5,"y":1}, | |||
{"label":"k1d","x":12.5,"y":1}, | |||
{"label":"k1e","x":13.5,"y":1,"w":1.5}, | |||
{"label":"k20","x":0,"y":2,"w":1.25}, | |||
{"label":"k21","x":1.25,"y":2}, | |||
{"label":"k22","x":2.25,"y":2}, | |||
{"label":"k23","x":3.25,"y":2}, | |||
{"label":"k24","x":4.25,"y":2}, | |||
{"label":"k25","x":5.25,"y":2}, | |||
{"label":"k26","x":6.25,"y":2}, | |||
{"label":"k28","x":7.75,"y":2}, | |||
{"label":"k29","x":8.75,"y":2}, | |||
{"label":"k2a","x":9.75,"y":2}, | |||
{"label":"k2b","x":10.75,"y":2}, | |||
{"label":"k2c","x":11.75,"y":2}, | |||
{"label":"k2d","x":12.75,"y":2}, | |||
{"label":"k2e","x":13.75,"y":2,"w":1.25}, | |||
{"label":"k30","x":0,"y":3}, | |||
{"label":"k31","x":1,"y":3}, | |||
{"label":"k32","x":2,"y":3}, | |||
{"label":"k33","x":3,"y":3}, | |||
{"label":"k34","x":4,"y":3}, | |||
{"label":"k35","x":5,"y":3}, | |||
{"label":"k36","x":6,"y":3}, | |||
{"label":"k37","x":7,"y":3}, | |||
{"label":"k38","x":8,"y":3}, | |||
{"label":"k39","x":9,"y":3}, | |||
{"label":"k3a","x":10,"y":3}, | |||
{"label":"k3b","x":11,"y":3}, | |||
{"label":"k3c","x":12,"y":3}, | |||
{"label":"k3d","x":13,"y":3}, | |||
{"label":"k3e","x":14,"y":3}, | |||
{"label":"k41","x":0,"y":4,"w":1.5}, | |||
{"label":"k42","x":1.5,"y":4,"w":1.25}, | |||
{"label":"k43","x":2.75,"y":4,"w":1.5}, | |||
{"label":"k44","x":4.25,"y":4,"w":2.75}, | |||
{"label":"k47","x":7,"y":4}, | |||
{"label":"k49","x":8,"y":4,"w":2}, | |||
{"label":"k45","x":10,"y":4,"w":1.5}, | |||
{"label":"k27","x":11.5,"y":4,"w":1.25}, | |||
{"label":"k48","x":12.75,"y":4,"w":2.25} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,19 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 | |||
// place overrides here |
@ -0,0 +1,71 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 | |||
// MacOS based definitions. | |||
#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer | |||
#define K_PRVWD LALT(KC_LEFT) // Previous word | |||
#define K_NXTWD LALT(KC_RIGHT) // Next word | |||
#define K_LSTRT LGUI(KC_LEFT) // Start of line | |||
#define K_LEND LGUI(KC_RIGHT) // End of line | |||
#define UNDO LGUI(KC_Z) // UNDO | |||
#define CUT LGUI(KC_X) // CUT | |||
#define COPY LGUI(KC_C) // COPY | |||
#define PASTE LGUI(KC_V) // PASTE | |||
enum layer_names { | |||
BASE, | |||
NUMB, | |||
SYMB, | |||
CURS, | |||
}; | |||
// Defines the keycodes used by our macros in process_record_user | |||
enum custom_keycodes { | |||
QMKBEST = SAFE_RANGE, | |||
QMKURL | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[BASE] = LAYOUT_1_a(/* Base */ | |||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(1), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | |||
MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, | |||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_DEL, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
MO(2), KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, KC_ENT, K_SPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | |||
), | |||
[NUMB] = LAYOUT_1_a( | |||
_______, _______, _______, _______, _______, _______, _______, DF(0), _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______, | |||
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, | |||
_______, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, | |||
_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, | |||
_______, _______, _______, _______, _______, KC_P0, _______, _______, KC_PDOT, KC_PENT, _______, _______ | |||
), | |||
[SYMB] = LAYOUT_1_a( | |||
RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | |||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, | |||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | |||
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, | |||
_______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______ | |||
), | |||
[CURS] = LAYOUT_1_a( | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, | |||
_______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, | |||
_______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | |||
) | |||
}; |
@ -0,0 +1 @@ | |||
# The default keymap for katana60_rev2 |
@ -0,0 +1,19 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 | |||
// place overrides here |
@ -0,0 +1,79 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 | |||
// MacOS based definitions. | |||
#define K_SPCFN LT(SYMB, KC_SPACE) // Tap for space, hold for symbols layer | |||
#define K_PRVWD LALT(KC_LEFT) // Previous word | |||
#define K_NXTWD LALT(KC_RIGHT) // Next word | |||
#define K_LSTRT LGUI(KC_LEFT) // Start of line | |||
#define K_LEND LGUI(KC_RIGHT) // End of line | |||
#define UNDO LGUI(KC_Z) // UNDO | |||
#define CUT LGUI(KC_X) // CUT | |||
#define COPY LGUI(KC_C) // COPY | |||
#define PASTE LGUI(KC_V) // PASTE | |||
enum layer_names { | |||
BASE, | |||
NUMB, | |||
SYMB, | |||
CURS, | |||
BASE2, | |||
}; | |||
// Defines the keycodes used by our macros in process_record_user | |||
enum custom_keycodes { | |||
QMKBEST = SAFE_RANGE, | |||
QMKURL | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[BASE] = LAYOUT_7u_a(/* Base */ | |||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(4), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, | |||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC, | |||
MO(3), KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT, | |||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
KC_LCTL, KC_LALT, KC_LGUI, K_SPCFN, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | |||
), | |||
[NUMB] = LAYOUT_7u_a( | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, _______, _______, | |||
_______, _______, _______, KC_MS_U, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, | |||
DF(0), KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, | |||
_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, | |||
_______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______ | |||
), | |||
[SYMB] = LAYOUT_7u_a( | |||
RESET, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | |||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, | |||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_VOLD, KC_VOLU, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | |||
_______, KC_PLUS, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_MPRV, KC_MPLY, KC_MNXT, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______, | |||
_______, _______, _______, KC_DEL, _______, _______, _______, _______ | |||
), | |||
[CURS] = LAYOUT_7u_a( | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, K_PRVWD, KC_UP, K_NXTWD, _______, _______, | |||
_______, _______, KC_LCTL, KC_LALT, KC_LSFT, _______, _______, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RIGHT,KC_DEL, _______, | |||
_______, UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, _______, K_LSTRT, _______, K_LEND, _______, _______, | |||
_______, _______, _______, DF(1), _______, _______, _______, _______ | |||
), | |||
[BASE2] = LAYOUT_7u_a(/* Base */ | |||
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, DF(0), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, | |||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_BSPC, | |||
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_HOME, KC_PGUP, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT, | |||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_END, KC_DEL, KC_PGDN, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT | |||
) | |||
}; |
@ -0,0 +1 @@ | |||
# The default keymap for katana60_rev2 |
@ -0,0 +1,17 @@ | |||
# Katana60 rev2 | |||
![Katana60 rev2](https://i.imgur.com/3hBsSvBl.jpg) | |||
A 60% keyboard with a symmetrical staggered layout, sold by CandyKeys.com. | |||
Keyboard Maintainer: [Baris Tosun](https://github.com/rominronin) | |||
Hardware Supported: Katana60 PCB rev2 | |||
Hardware Availability: [candykeys.com](https://candykeys.com/product/katana60-pcb-V2) | |||
Make example for this keyboard (after setting up your build environment): | |||
make rominronin/katana60/rev2:default | |||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | |||
There is also ongoing discussion for the extend layer, at the [Colemak Forum](https://forum.colemak.com/topic/2327-developing-an-extend-layer-for-the-katana60/) |
@ -0,0 +1,16 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 "rev2.h" |
@ -0,0 +1,238 @@ | |||
/* Copyright 2019 rominronin | |||
* | |||
* 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 | |||
/* LAYOUT_7u_a | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┴─┬─┴─┬─┴───┼───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┤ | |||
* │41 │42 │43 │ 47 │4B │4C │4D │4E │ | |||
* └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ | |||
*/ | |||
#define LAYOUT_7u_a( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q41, Q42, Q43, Q47, Q4B, Q4C, Q4D, Q4E \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ XXX, Q41, Q42, Q43, XXX, XXX, XXX, Q47, XXX, XXX, XXX, Q4B, Q4C, Q4D, Q4E } \ | |||
} | |||
/* LAYOUT_7u_b | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┴─┬─┴─┬─┴───┼───┴───┴───┴───┴───┴───┴───┼───┴─┬─┴─┬─┴───┤ | |||
* │41 │42 │43 │ 47 │17 │27 │48 │ | |||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ | |||
*/ | |||
#define LAYOUT_7u_b( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q41, Q42, Q43, Q47, Q17, Q27, Q48 \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ XXX, Q41, Q42, Q43, XXX, XXX, XXX, Q47, Q48, XXX, XXX, XXX, XXX, XXX, XXX } \ | |||
} | |||
/* LAYOUT_1_a | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┼───┼───┼───┼───┤ | |||
* │40 │41 │42 │43 │ 44 │47 │ 49 │4A │4B │4C │4D │4E │ | |||
* └───┴────┴────┴────┴────────┴───┴───────┴───┴───┴───┴───┴───┘ | |||
*/ | |||
#define LAYOUT_1_a( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q4A, Q4B, Q4C, Q4D, Q4E \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ Q40, Q41, Q42, Q43, Q44, XXX, XXX, Q47, XXX, Q49, Q4A, Q4B, Q4C, Q4D, Q4E } \ | |||
} | |||
/* LAYOUT_1_b | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┴──┬┴───┴──┬┴───┴───┤ | |||
* │40 │41 │42 │43 │ 44 │47 │ 49 │17 │48 │ | |||
* └───┴────┴────┴────┴────────┴───┴──────────┴───────┴────────┘ | |||
*/ | |||
#define LAYOUT_1_b( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q17, Q48 \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ Q40, Q41, Q42, Q43, Q44, XXX, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \ | |||
} | |||
/* LAYOUT_1_c | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┴─┬─┴──┬┴───┴───┤ | |||
* │40 │41 │42 │43 │ 44 │47 │ 49 │45 │27 │48 │ | |||
* └───┴────┴────┴────┴────────┴───┴───────┴─────┴────┴────────┘ | |||
*/ | |||
#define LAYOUT_1_c( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q40, Q41, Q42, Q43, Q44, Q47, Q49, Q45, Q27, Q48 \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ Q40, Q41, Q42, Q43, Q44, Q45, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \ | |||
} | |||
/* LAYOUT_2_a | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┴─┬─┴──┬┴───┴┬──┴───┴───┼───┼───┴───┼───┼───┼───┼───┼───┤ | |||
* │41 │42 │43 │ 44 │47 │ 49 │4A │4B │4C │4D │4E │ | |||
* └─────┴────┴─────┴──────────┴───┴───────┴───┴───┴───┴───┴───┘ | |||
*/ | |||
#define LAYOUT_2_a( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q41, Q42, Q43, Q44, Q47, Q49, Q4A, Q4B, Q4C, Q4D, Q4E \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ XXX, Q41, Q42, Q43, Q44, XXX, XXX, Q47, XXX, Q49, Q4A, Q4B, Q4C, Q4D, Q4E } \ | |||
} | |||
/* LAYOUT_2_b | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┴─┬─┴──┬┴───┴┬──┴───┴───┼───┼───┴───┴──┬┴───┴──┬┴───┴───┤ | |||
* │41 │42 │43 │ 44 │47 │ 49 │17 │48 │ | |||
* └─────┴────┴─────┴──────────┴───┴──────────┴───────┴────────┘ | |||
*/ | |||
#define LAYOUT_2_b( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q41, Q42, Q43, Q44, Q47, Q49, Q17, Q48 \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, XXX, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ XXX, Q41, Q42, Q43, Q44, XXX, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \ | |||
} | |||
/* LAYOUT_2_c | |||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ | |||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ | |||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ | |||
* │10 │11 │12 │13 │14 │15 │16 │18 │19 │1A │1B │1C │1D │1E │ | |||
* ├────┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ | |||
* │20 │21 │22 │23 │24 │25 │26 │ │28 │29 │2A │2B │2C │2D │2E │ | |||
* ├───┬┴──┬┴──┬┴──┬┴──┬┴──┬┴──┬┴─┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┤ | |||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ | |||
* ├───┼───┴┬──┴─┬─┴──┬┴───┴───┼───┼───┴───┼───┴─┬─┴──┬┴───┴───┤ | |||
* │40 │41 │42 │43 │ 44 │47 │ 49 │45 │27 │48 │ | |||
* └───┴────┴────┴────┴────────┴───┴───────┴─────┴────┴────────┘ | |||
*/ | |||
#define LAYOUT_2_c( \ | |||
Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E, \ | |||
Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E, \ | |||
Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E, \ | |||
Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E, \ | |||
Q41, Q42, Q43, Q44, Q47, Q49, Q45, Q27, Q48 \ | |||
) { \ | |||
{ Q00, Q01, Q02, Q03, Q04, Q05, Q06, Q07, Q08, Q09, Q0A, Q0B, Q0C, Q0D, Q0E }, \ | |||
{ Q10, Q11, Q12, Q13, Q14, Q15, Q16, XXX, Q18, Q19, Q1A, Q1B, Q1C, Q1D, Q1E }, \ | |||
{ Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q2A, Q2B, Q2C, Q2D, Q2E }, \ | |||
{ Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q3A, Q3B, Q3C, Q3D, Q3E }, \ | |||
{ XXX, Q41, Q42, Q43, Q44, Q45, XXX, Q47, Q48, Q49, XXX, XXX, XXX, XXX, XXX } \ | |||
} |
@ -0,0 +1,22 @@ | |||
# MCU name | |||
MCU = atmega32u4 | |||
# Bootloader selection | |||
BOOTLOADER = atmel-dfu | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||
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 | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
NKRO_ENABLE = no # USB Nkey Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||
AUDIO_ENABLE = no # Audio output |