summaryrefslogtreecommitdiff
path: root/keyboards/handwired/evk
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/evk')
-rw-r--r--keyboards/handwired/evk/info.json3
-rw-r--r--keyboards/handwired/evk/readme.md6
-rw-r--r--keyboards/handwired/evk/v1_3/config.h146
-rw-r--r--keyboards/handwired/evk/v1_3/info.json106
-rw-r--r--keyboards/handwired/evk/v1_3/keymaps/default/keymap.c35
-rw-r--r--keyboards/handwired/evk/v1_3/keymaps/default/readme.md1
-rw-r--r--keyboards/handwired/evk/v1_3/readme.md10
-rw-r--r--keyboards/handwired/evk/v1_3/rules.mk18
-rw-r--r--keyboards/handwired/evk/v1_3/v1_3.c44
-rw-r--r--keyboards/handwired/evk/v1_3/v1_3.h43
10 files changed, 0 insertions, 412 deletions
diff --git a/keyboards/handwired/evk/info.json b/keyboards/handwired/evk/info.json
deleted file mode 100644
index 37902078ea..0000000000
--- a/keyboards/handwired/evk/info.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "maintainer": "YangPiCui"
-}
diff --git a/keyboards/handwired/evk/readme.md b/keyboards/handwired/evk/readme.md
deleted file mode 100644
index ccfed391d4..0000000000
--- a/keyboards/handwired/evk/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# [Ergonomic Vertical Keyboard (EVK)](https://github.com/YangPiCui/ErgonomicVerticalKeyboard)
-
-The Ergonomic Vertical Keyboard (EVK) deletes our humpback.
-
-* Maintainer: [YangPiCui](https://github.com/YangPiCui)
-* Hardware Availability: Upon Custom Ordering \ No newline at end of file
diff --git a/keyboards/handwired/evk/v1_3/config.h b/keyboards/handwired/evk/v1_3/config.h
deleted file mode 100644
index 374ad9d0c3..0000000000
--- a/keyboards/handwired/evk/v1_3/config.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
-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 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yang Cui
-#define PRODUCT evk v1_3
-
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 16
-
-/*
- * 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, B1, B2, B3, B7, D0 }
-#define MATRIX_COL_PINS \
- { D1, D2, D3, C6, C7, F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION ROW2COL // the positive current flows into the rows and then out of the columns negative.
-
-/* define whiche Pins to use for the status LEDs*/
-#define LED_CAPS_LOCK_PIN D4
-
-
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-// #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6
-
-// #define BACKLIGHT_PIN B7
-// #define BACKLIGHT_BREATHING
-// #define BACKLIGHT_LEVELS 3
-
-// #define RGB_DI_PIN E2
-// #ifdef RGB_DI_PIN
-// #define RGBLED_NUM 16
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
-// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
-// #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #define RGBLIGHT_EFFECT_BREATHING
-// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
-// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_CHRISTMAS
-// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
-// #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_ALTERNATING
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
-/* 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
-
-/*
- * 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
-
-/* Bootmagic Lite key configuration */
-// #define BOOTMAGIC_LITE_ROW 0
-// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/evk/v1_3/info.json b/keyboards/handwired/evk/v1_3/info.json
deleted file mode 100644
index fb225566fd..0000000000
--- a/keyboards/handwired/evk/v1_3/info.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "keyboard_name": "Ergonomic Vertical Keyboard (EVK) version 1.3 with Teensy 2.0",
- "url": "https://github.com/YangPiCui/ErgonomicVerticalKeyboard",
- "maintainer": "YangPiCui",
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"k0A", "x":0, "y":0.4},
- {"label":"k0B", "x":1, "y":0.2},
- {"label":"k0C", "x":2, "y":0},
- {"label":"k0D", "x":3, "y":0.2},
- {"label":"k0E", "x":4, "y":0.2},
- {"label":"k0F", "x":5, "y":0.2},
- {"label":"k0G", "x":7, "y":0.2},
- {"label":"k0H", "x":8, "y":0.2},
- {"label":"k0I", "x":9, "y":0.2},
- {"label":"k0J", "x":10, "y":0.2},
- {"label":"k0K", "x":12.2, "y":0.2},
- {"label":"k0L", "x":13.2, "y":0.2},
- {"label":"k0M", "x":14.2, "y":0.2},
- {"label":"k0N", "x":15.2, "y":0},
- {"label":"k0O", "x":16.2, "y":0.2},
- {"label":"k0P", "x":17.2, "y":0.4},
-
- {"label":"k1A", "x":0, "y":1.4},
- {"label":"k1B", "x":1, "y":1.2},
- {"label":"k1C", "x":2, "y":1},
- {"label":"k1D", "x":3, "y":1.2},
- {"label":"k1E", "x":4, "y":1.2},
- {"label":"k1F", "x":5, "y":1.2},
- {"label":"k1G", "x":7, "y":1.2},
- {"label":"k1H", "x":8, "y":1.2},
- {"label":"k1I", "x":9, "y":1.2},
- {"label":"k1J", "x":10, "y":1.2},
- {"label":"k1K", "x":12.2, "y":1.2},
- {"label":"k1L", "x":13.2, "y":1.2},
- {"label":"k1M", "x":14.2, "y":1.2},
- {"label":"k1N", "x":15.2, "y":1},
- {"label":"k1O", "x":16.2, "y":1.2},
- {"label":"k1P", "x":17.2, "y":1.4},
-
- {"label":"k2A", "x":0, "y":2.4},
- {"label":"k2B", "x":1, "y":2.2},
- {"label":"k2C", "x":2, "y":2},
- {"label":"k2D", "x":3, "y":2.2},
- {"label":"k2E", "x":4, "y":2.2},
- {"label":"k2F", "x":5, "y":2.2},
- {"label":"k2G", "x":7, "y":2.2},
- {"label":"k2H", "x":8, "y":2.2},
- {"label":"k2I", "x":9, "y":2.2},
- {"label":"k2J", "x":10, "y":2.2},
- {"label":"k2K", "x":12.2, "y":2.2},
- {"label":"k2L", "x":13.2, "y":2.2},
- {"label":"k2M", "x":14.2, "y":2.2},
- {"label":"k2N", "x":15.2, "y":2},
- {"label":"k2O", "x":16.2, "y":2.2},
- {"label":"k2P", "x":17.2, "y":2.4},
-
- {"label":"k3A", "x":0, "y":3.4},
- {"label":"k3B", "x":1, "y":3.2},
- {"label":"k3C", "x":2, "y":3},
- {"label":"k3D", "x":3, "y":3.2},
- {"label":"k3E", "x":4, "y":3.2},
- {"label":"k3G", "x":7, "y":3.2},
- {"label":"k3H", "x":8, "y":3.2},
- {"label":"k3I", "x":9, "y":3.2},
- {"label":"k3J", "x":10, "y":3.2},
- {"label":"k3L", "x":13.2, "y":3.2},
- {"label":"k3M", "x":14.2, "y":3.2},
- {"label":"k3N", "x":15.2, "y":3},
- {"label":"k3O", "x":16.2, "y":3.2},
- {"label":"k3P", "x":17.2, "y":3.4},
-
- {"label":"k4A", "x":0, "y":4.4},
- {"label":"k4B", "x":1, "y":4.2},
- {"label":"k4C", "x":2, "y":4},
- {"label":"k4D", "x":3, "y":4.2},
- {"label":"k4E", "x":4, "y":4.2},
- {"label":"k4F", "x":5.2, "y":4.4},
- {"label":"k4G", "x":7, "y":4.2},
- {"label":"k4H", "x":8, "y":4.2},
- {"label":"k4I", "x":9, "y":4.2},
- {"label":"k4J", "x":10, "y":4.2},
- {"label":"k4K", "x":12, "y":4.4},
- {"label":"k4L", "x":13.2, "y":4.2},
- {"label":"k4M", "x":14.2, "y":4.2},
- {"label":"k4N", "x":15.2, "y":4},
- {"label":"k4O", "x":16.2, "y":4.2},
- {"label":"k4P", "x":17.2, "y":4.4},
-
- {"label":"k5B", "x":1, "y":5.2},
- {"label":"k5C", "x":2, "y":5},
- {"label":"k5E", "x":4.2, "y":5.4},
- {"label":"k5F", "x":5.24, "y":5.4},
- {"label":"k5G", "x":7, "y":5.2},
- {"label":"k5H", "x":8, "y":5.2},
- {"label":"k5I", "x":9, "y":5.2},
- {"label":"k5J", "x":10, "y":5.2},
- {"label":"k5K", "x":12, "y":5.4},
- {"label":"k5L", "x":13, "y":5.4},
- {"label":"k5N", "x":15.2, "y":5},
- {"label":"k5O", "x":16.2, "y":5.2}
- ]
- }
- }
-}
diff --git a/keyboards/handwired/evk/v1_3/keymaps/default/keymap.c b/keyboards/handwired/evk/v1_3/keymaps/default/keymap.c
deleted file mode 100644
index 1e85f90153..0000000000
--- a/keyboards/handwired/evk/v1_3/keymaps/default/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-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
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(/* Base Layer (0th Layer) - default Layout */
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, TG(1), KC_PSCR, KC_INS, KC_APP, KC_CAPS, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_Q, KC_H, KC_R, KC_F, KC_X, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_PGDN, KC_QUOT, KC_Y, KC_O, KC_U, KC_J,
- KC_L, KC_S, KC_N, KC_T, KC_D, KC_LBRC, KC_F5, KC_F6, KC_F7, KC_F8, KC_RBRC, KC_P, KC_I, KC_A, KC_E, KC_K,
- KC_Z, KC_M, KC_C, KC_V, KC_B, KC_F9, KC_F10, KC_F11, KC_F12, KC_W, KC_G, KC_COMM, KC_DOT, KC_ENT,
- KC_LALT, KC_MINS, KC_EQL, KC_END, KC_GRV, KC_LCTL, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_RCTL, KC_BSLS, KC_TAB, KC_SCLN, KC_SLSH, KC_RALT,
- KC_LSFT, KC_DEL, KC_SPC, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_RGUI, KC_SPC, KC_BSPC, KC_RSFT
- ),
- [1] = LAYOUT(/* 1st Layer - Numpad Keys */
- _______, _______, _______, _______, _______, _______, _______, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PEQL, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, KC_P0, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/handwired/evk/v1_3/keymaps/default/readme.md b/keyboards/handwired/evk/v1_3/keymaps/default/readme.md
deleted file mode 100644
index 4bb6a3de81..0000000000
--- a/keyboards/handwired/evk/v1_3/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for this version of the EVK \ No newline at end of file
diff --git a/keyboards/handwired/evk/v1_3/readme.md b/keyboards/handwired/evk/v1_3/readme.md
deleted file mode 100644
index 3e3120943a..0000000000
--- a/keyboards/handwired/evk/v1_3/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# [Ergonomic Vertical Keyboard (EVK)](https://github.com/YangPiCui/ErgonomicVerticalKeyboard) version 1.3 with Teensy 2.0
-
-* Keyboard Maintainer: [YangPiCui](https://github.com/YangPiCui)
-* Hardware Supported: Ergonomic Vertical Keyboard (EVK) version 1.3 with Teensy 2.0
-
-Make example for this keyboard (after setting up your build environment):
-
- make handwired/evk/v1_3: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).
diff --git a/keyboards/handwired/evk/v1_3/rules.mk b/keyboards/handwired/evk/v1_3/rules.mk
deleted file mode 100644
index ad5f5465e8..0000000000
--- a/keyboards/handwired/evk/v1_3/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = halfkay
-
-# 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 = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/handwired/evk/v1_3/v1_3.c b/keyboards/handwired/evk/v1_3/v1_3.c
deleted file mode 100644
index 718a336122..0000000000
--- a/keyboards/handwired/evk/v1_3/v1_3.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-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 "v1_3.h"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-// For reference, visit https://docs.qmk.fm/#/custom_quantum_functions?id=layer-change-code
-
-// keyboard start-up codes
-// runs once when the firmware starts up
-void matrix_init_kb(void) {
- // Set the LEDs pins
- setPinOutput(D5); // Layer 1 Status LED
-
- matrix_init_user();
-}
-
-// Set LED based on layer
-__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(D5, layer_state_cmp(state, 1));
- return state;
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- // writePin sets the pin high for 1 and low for 0.
- writePin(D4, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/handwired/evk/v1_3/v1_3.h b/keyboards/handwired/evk/v1_3/v1_3.h
deleted file mode 100644
index da02b806f8..0000000000
--- a/keyboards/handwired/evk/v1_3/v1_3.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-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
-
-/* This a shortcut to help you visually see your layout.
- *
- * The first section contains all of the arguments representing the physical
- * layout of the board and position of the keys.
- *
- * The second converts the arguments into a two-dimensional array which
- * represents the switch matrix.
- */
-#define LAYOUT(\
- k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0J, k0K, k0L, k0M, k0N, k0O, k0P, \
- k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J, k1K, k1L, k1M, k1N, k1O, k1P, \
- k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2J, k2K, k2L, k2M, k2N, k2O, k2P, \
- k3A, k3B, k3C, k3D, k3E, k3G, k3H, k3I, k3J, k3L, k3M, k3N, k3O, k3P, \
- k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4J, k4K, k4L, k4M, k4N, k4O, k4P, \
- k5B, k5C, k5E, k5F, k5G, k5H, k5I, k5J, k5k, k5L, k5N, k5O \
-) { \
- { k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0J, k0K, k0L, k0M, k0N, k0O, k0P }, \
- { k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J, k1K, k1L, k1M, k1N, k1O, k1P }, \
- { k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2J, k2K, k2L, k2M, k2N, k2O, k2P }, \
- { k3A, k3B, k3C, k3D, k3E, XXX, k3G, k3H, k3I, k3J, XXX, k3L, k3M, k3N, k3O, k3P }, \
- { k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4J, k4K, k4L, k4M, k4N, k4O, k4P }, \
- { XXX, k5B, k5C, XXX, k5E, k5F, k5G, k5H, k5I, k5J, k5k, k5L, XXX, k5N, k5O, XXX } \
-}