From 92b2738bbbe98db0224972c612e06fe3f2f86045 Mon Sep 17 00:00:00 2001
From: peepeetee <43021794+peepeetee@users.noreply.github.com>
Date: Thu, 13 Jan 2022 06:13:45 +0800
Subject: move @kakunpc 's keebs into kakunpc/ (#15814)
Co-authored-by: kakunpc <15257475+kakunpc@users.noreply.github.com>
---
keyboards/kakunpc/suihankey/alpha/alpha.c | 16 +++
keyboards/kakunpc/suihankey/alpha/alpha.h | 39 ++++++
keyboards/kakunpc/suihankey/alpha/config.h | 143 +++++++++++++++++++++
keyboards/kakunpc/suihankey/alpha/info.json | 32 +++++
.../suihankey/alpha/keymaps/default/keymap.c | 86 +++++++++++++
.../suihankey/alpha/keymaps/default/readme.md | 1 +
keyboards/kakunpc/suihankey/alpha/readme.md | 18 +++
keyboards/kakunpc/suihankey/alpha/rules.mk | 1 +
keyboards/kakunpc/suihankey/readme.md | 18 +++
keyboards/kakunpc/suihankey/rev1/config.h | 143 +++++++++++++++++++++
keyboards/kakunpc/suihankey/rev1/info.json | 32 +++++
.../suihankey/rev1/keymaps/default/keymap.c | 86 +++++++++++++
.../suihankey/rev1/keymaps/default/readme.md | 1 +
keyboards/kakunpc/suihankey/rev1/readme.md | 18 +++
keyboards/kakunpc/suihankey/rev1/rev1.c | 16 +++
keyboards/kakunpc/suihankey/rev1/rev1.h | 40 ++++++
keyboards/kakunpc/suihankey/rev1/rules.mk | 1 +
keyboards/kakunpc/suihankey/rules.mk | 23 ++++
keyboards/kakunpc/suihankey/split/.noci | 0
keyboards/kakunpc/suihankey/split/alpha/.noci | 0
keyboards/kakunpc/suihankey/split/alpha/alpha.c | 16 +++
keyboards/kakunpc/suihankey/split/alpha/alpha.h | 45 +++++++
keyboards/kakunpc/suihankey/split/alpha/config.h | 143 +++++++++++++++++++++
keyboards/kakunpc/suihankey/split/alpha/readme.md | 18 +++
keyboards/kakunpc/suihankey/split/alpha/rules.mk | 1 +
keyboards/kakunpc/suihankey/split/info.json | 54 ++++++++
.../suihankey/split/keymaps/default/keymap.c | 56 ++++++++
.../suihankey/split/keymaps/default/readme.md | 1 +
keyboards/kakunpc/suihankey/split/readme.md | 18 +++
keyboards/kakunpc/suihankey/split/rev1/config.h | 143 +++++++++++++++++++++
keyboards/kakunpc/suihankey/split/rev1/readme.md | 18 +++
keyboards/kakunpc/suihankey/split/rev1/rev1.c | 16 +++
keyboards/kakunpc/suihankey/split/rev1/rev1.h | 47 +++++++
keyboards/kakunpc/suihankey/split/rev1/rules.mk | 2 +
keyboards/kakunpc/suihankey/split/rules.mk | 4 +
35 files changed, 1296 insertions(+)
create mode 100644 keyboards/kakunpc/suihankey/alpha/alpha.c
create mode 100644 keyboards/kakunpc/suihankey/alpha/alpha.h
create mode 100644 keyboards/kakunpc/suihankey/alpha/config.h
create mode 100644 keyboards/kakunpc/suihankey/alpha/info.json
create mode 100644 keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
create mode 100644 keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md
create mode 100644 keyboards/kakunpc/suihankey/alpha/readme.md
create mode 100644 keyboards/kakunpc/suihankey/alpha/rules.mk
create mode 100644 keyboards/kakunpc/suihankey/readme.md
create mode 100644 keyboards/kakunpc/suihankey/rev1/config.h
create mode 100644 keyboards/kakunpc/suihankey/rev1/info.json
create mode 100644 keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
create mode 100644 keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md
create mode 100644 keyboards/kakunpc/suihankey/rev1/readme.md
create mode 100644 keyboards/kakunpc/suihankey/rev1/rev1.c
create mode 100644 keyboards/kakunpc/suihankey/rev1/rev1.h
create mode 100644 keyboards/kakunpc/suihankey/rev1/rules.mk
create mode 100644 keyboards/kakunpc/suihankey/rules.mk
create mode 100644 keyboards/kakunpc/suihankey/split/.noci
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/.noci
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/alpha.c
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/alpha.h
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/config.h
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/readme.md
create mode 100644 keyboards/kakunpc/suihankey/split/alpha/rules.mk
create mode 100644 keyboards/kakunpc/suihankey/split/info.json
create mode 100644 keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c
create mode 100644 keyboards/kakunpc/suihankey/split/keymaps/default/readme.md
create mode 100644 keyboards/kakunpc/suihankey/split/readme.md
create mode 100644 keyboards/kakunpc/suihankey/split/rev1/config.h
create mode 100644 keyboards/kakunpc/suihankey/split/rev1/readme.md
create mode 100644 keyboards/kakunpc/suihankey/split/rev1/rev1.c
create mode 100644 keyboards/kakunpc/suihankey/split/rev1/rev1.h
create mode 100644 keyboards/kakunpc/suihankey/split/rev1/rules.mk
create mode 100644 keyboards/kakunpc/suihankey/split/rules.mk
(limited to 'keyboards/kakunpc/suihankey')
diff --git a/keyboards/kakunpc/suihankey/alpha/alpha.c b/keyboards/kakunpc/suihankey/alpha/alpha.c
new file mode 100644
index 0000000000..1c2936e157
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/alpha.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include "alpha.h"
diff --git a/keyboards/kakunpc/suihankey/alpha/alpha.h b/keyboards/kakunpc/suihankey/alpha/alpha.h
new file mode 100644
index 0000000000..02bba47104
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/alpha.h
@@ -0,0 +1,39 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* 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 Leys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, \
+ L10, L11, L12, L13, L14, \
+ L20, L21, L22, L23, L24, \
+ L30, L31, L32 \
+) \
+{ \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { L30, L31, L32 }, \
+}
diff --git a/keyboards/kakunpc/suihankey/alpha/config.h b/keyboards/kakunpc/suihankey/alpha/config.h
new file mode 100644
index 0000000000..b11478adfc
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/config.h
@@ -0,0 +1,143 @@
+/*
+Copyright 2019 kakunpc
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kakunpc
+#define PRODUCT Suihankey
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 5
+
+/*
+ * 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 { F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
+#define UNUSED_PINS
+// #define USE_I2C
+// #undef USE_SERIAL
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+#define SPLIT_HAND_PIN D2
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 18
+ #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
+#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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
+
+// #define RGBLED_SPLIT {18,18}
diff --git a/keyboards/kakunpc/suihankey/alpha/info.json b/keyboards/kakunpc/suihankey/alpha/info.json
new file mode 100644
index 0000000000..70029e17c9
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/info.json
@@ -0,0 +1,32 @@
+{
+ "keyboard_name": "suihankey",
+ "url": "https://kakunpc.booth.pm/",
+ "maintainer": "kakunpc",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0.375},
+ {"x": 1, "y": 0.125},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0.125},
+ {"x": 4, "y": 0.25},
+
+ {"x": 0, "y": 1.375},
+ {"x": 1, "y": 1.125},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1.125},
+ {"x": 4, "y": 1.25},
+
+ {"x": 0, "y": 2.375},
+ {"x": 1, "y": 2.125},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2.125},
+ {"x": 4, "y": 2.25},
+
+ {"x": 3.4, "y": 3.25},
+ {"x": 4.4, "y": 3.55},
+ {"x": 5.4, "y": 3.85}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b682f0f15d
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/keymaps/default/keymap.c
@@ -0,0 +1,86 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+enum layers{
+ BASE,
+ COMMAND,
+ NUMBER,
+ FUNCTION
+};
+
+#define KC_CMD_SP LT(COMMAND,KC_SPC)
+#define KC_CMD_ET LT(COMMAND,KC_ENTER)
+#define KC_NUM_ALT LT(NUMBER,KC_LALT)
+#define KC_NUM_BS LT(NUMBER,KC_BSPC)
+#define KC_SET_CTRL LT(FUNCTION,KC_LCTRL)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_SET_CTRL, KC_NUM_ALT, KC_CMD_SP
+ ),
+ [COMMAND] = LAYOUT( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_A, KC_S, KC_D, KC_F, KC_G,
+ LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_B),
+ KC_NO, KC_NO, KC_NO
+ ),
+ [NUMBER] = LAYOUT( /* Base */
+ KC_1, KC_2, KC_3, KC_4, KC_5,
+ KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+ [FUNCTION] = LAYOUT( /* Base */
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_F11, KC_F12, RGB_TOG, RGB_MOD, RGB_RMOD,
+ KC_NO, KC_NO, KC_NO
+ ),
+};
+
+#ifdef OLED_ENABLE
+bool oled_task_user(void) {
+ oled_write_P(PSTR("Layer: "), false);
+ switch (biton32(layer_state)) {
+ case BASE:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case COMMAND:
+ oled_write_P(PSTR("COMMAND\n"), false);
+ break;
+ case NUMBER:
+ oled_write_P(PSTR("NUMBER\n"), false);
+ break;
+ case FUNCTION:
+ oled_write_P(PSTR("FUNCTION\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding 'n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ oled_write_P(IS_HOST_LED_ON(USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
+ oled_write_P(IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
+ oled_write_P(IS_HOST_LED_ON(USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md
new file mode 100644
index 0000000000..95eac805a0
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for suihankey
\ No newline at end of file
diff --git a/keyboards/kakunpc/suihankey/alpha/readme.md b/keyboards/kakunpc/suihankey/alpha/readme.md
new file mode 100644
index 0000000000..fcba60ff1d
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/readme.md
@@ -0,0 +1,18 @@
+# suihankey_alpha
+
+![suihankey_alpha](https://i.gyazo.com/07b9e882fd0c0ad00c8c98d93e94e383.jpg)
+
+Compact with only 18 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankey_alpha, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make suihankey/alpha: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/kakunpc/suihankey/alpha/rules.mk b/keyboards/kakunpc/suihankey/alpha/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/alpha/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kakunpc/suihankey/readme.md b/keyboards/kakunpc/suihankey/readme.md
new file mode 100644
index 0000000000..e8099dbca4
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/readme.md
@@ -0,0 +1,18 @@
+# suihankey
+
+![suihankey](https://i.gyazo.com/f798c5967f2ac457dd520ab8ff83b6ac.jpg)
+
+Compact with only 36 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankeyboard_alpha, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kakunpc/suihankey/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).
diff --git a/keyboards/kakunpc/suihankey/rev1/config.h b/keyboards/kakunpc/suihankey/rev1/config.h
new file mode 100644
index 0000000000..b2801cd862
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/config.h
@@ -0,0 +1,143 @@
+/*
+Copyright 2019 kakunpc
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kakunpc
+#define PRODUCT Suihankey
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 4
+
+/*
+ * 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 { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7 }
+#define UNUSED_PINS
+//#define USE_I2C
+//#undef USE_SERIAL
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+#define SPLIT_HAND_PIN D2
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 18
+ #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
+#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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
+
+// #define RGBLED_SPLIT {18,18}
diff --git a/keyboards/kakunpc/suihankey/rev1/info.json b/keyboards/kakunpc/suihankey/rev1/info.json
new file mode 100644
index 0000000000..70029e17c9
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/info.json
@@ -0,0 +1,32 @@
+{
+ "keyboard_name": "suihankey",
+ "url": "https://kakunpc.booth.pm/",
+ "maintainer": "kakunpc",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 0, "y": 0.375},
+ {"x": 1, "y": 0.125},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0.125},
+ {"x": 4, "y": 0.25},
+
+ {"x": 0, "y": 1.375},
+ {"x": 1, "y": 1.125},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1.125},
+ {"x": 4, "y": 1.25},
+
+ {"x": 0, "y": 2.375},
+ {"x": 1, "y": 2.125},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2.125},
+ {"x": 4, "y": 2.25},
+
+ {"x": 3.4, "y": 3.25},
+ {"x": 4.4, "y": 3.55},
+ {"x": 5.4, "y": 3.85}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b682f0f15d
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/keymaps/default/keymap.c
@@ -0,0 +1,86 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+enum layers{
+ BASE,
+ COMMAND,
+ NUMBER,
+ FUNCTION
+};
+
+#define KC_CMD_SP LT(COMMAND,KC_SPC)
+#define KC_CMD_ET LT(COMMAND,KC_ENTER)
+#define KC_NUM_ALT LT(NUMBER,KC_LALT)
+#define KC_NUM_BS LT(NUMBER,KC_BSPC)
+#define KC_SET_CTRL LT(FUNCTION,KC_LCTRL)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_SET_CTRL, KC_NUM_ALT, KC_CMD_SP
+ ),
+ [COMMAND] = LAYOUT( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_A, KC_S, KC_D, KC_F, KC_G,
+ LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_B),
+ KC_NO, KC_NO, KC_NO
+ ),
+ [NUMBER] = LAYOUT( /* Base */
+ KC_1, KC_2, KC_3, KC_4, KC_5,
+ KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO
+ ),
+ [FUNCTION] = LAYOUT( /* Base */
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_F11, KC_F12, RGB_TOG, RGB_MOD, RGB_RMOD,
+ KC_NO, KC_NO, KC_NO
+ ),
+};
+
+#ifdef OLED_ENABLE
+bool oled_task_user(void) {
+ oled_write_P(PSTR("Layer: "), false);
+ switch (biton32(layer_state)) {
+ case BASE:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case COMMAND:
+ oled_write_P(PSTR("COMMAND\n"), false);
+ break;
+ case NUMBER:
+ oled_write_P(PSTR("NUMBER\n"), false);
+ break;
+ case FUNCTION:
+ oled_write_P(PSTR("FUNCTION\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding 'n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ oled_write_P(IS_HOST_LED_ON(USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
+ oled_write_P(IS_HOST_LED_ON(USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
+ oled_write_P(IS_HOST_LED_ON(USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md
new file mode 100644
index 0000000000..95eac805a0
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for suihankey
\ No newline at end of file
diff --git a/keyboards/kakunpc/suihankey/rev1/readme.md b/keyboards/kakunpc/suihankey/rev1/readme.md
new file mode 100644
index 0000000000..1c80a8af63
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/readme.md
@@ -0,0 +1,18 @@
+# suihankey_rev1
+
+![suihankey_rev1](https://i.gyazo.com/07b9e882fd0c0ad00c8c98d93e94e383.jpg)
+
+Compact with only 18 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankey_rev1, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make suihankey/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).
diff --git a/keyboards/kakunpc/suihankey/rev1/rev1.c b/keyboards/kakunpc/suihankey/rev1/rev1.c
new file mode 100644
index 0000000000..40ff30e620
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/rev1.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include "rev1.h"
diff --git a/keyboards/kakunpc/suihankey/rev1/rev1.h b/keyboards/kakunpc/suihankey/rev1/rev1.h
new file mode 100644
index 0000000000..cbc877abd5
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/rev1.h
@@ -0,0 +1,40 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* 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 Leys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, \
+ L10, L11, L12, L13, L14, \
+ L20, L21, L22, L23, L24, \
+ L30, L31, L32 \
+) \
+{ \
+ { L00, L10, L20, L30 }, \
+ { L01, L11, L21, L31 }, \
+ { L02, L12, L22, L32 }, \
+ { L03, L13, L23, KC_NO }, \
+ { L04, L14, L24, KC_NO }, \
+}
diff --git a/keyboards/kakunpc/suihankey/rev1/rules.mk b/keyboards/kakunpc/suihankey/rev1/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rev1/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kakunpc/suihankey/rules.mk b/keyboards/kakunpc/suihankey/rules.mk
new file mode 100644
index 0000000000..332c7d7355
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = no # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # 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
+OLED_ENABLE = yes
+OLED_DRIVER = SSD1306
+SPLIT_KEYBOARD = no
+
+DEFAULT_FOLDER = kakunpc/suihankey/rev1
diff --git a/keyboards/kakunpc/suihankey/split/.noci b/keyboards/kakunpc/suihankey/split/.noci
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/kakunpc/suihankey/split/alpha/.noci b/keyboards/kakunpc/suihankey/split/alpha/.noci
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/keyboards/kakunpc/suihankey/split/alpha/alpha.c b/keyboards/kakunpc/suihankey/split/alpha/alpha.c
new file mode 100644
index 0000000000..1c2936e157
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/alpha/alpha.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include "alpha.h"
diff --git a/keyboards/kakunpc/suihankey/split/alpha/alpha.h b/keyboards/kakunpc/suihankey/split/alpha/alpha.h
new file mode 100644
index 0000000000..ba93405ecc
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/alpha/alpha.h
@@ -0,0 +1,45 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* 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 Leys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_split_3x5_3( \
+ L00, L01, L02, L03, L04, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, R24, R23, R22, R21, R20, \
+ L30, L31, L32, R32, R31, R30 \
+) \
+{ \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { L30, L31, L32 }, \
+ { R00, R01, R02, R03, R04 }, \
+ { R10, R11, R12, R13, R14 }, \
+ { R20, R21, R22, R23, R24 }, \
+ { R30, R31, R32 }, \
+}
+
+#define LAYOUT LAYOUT_split_3x5_3
diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h
new file mode 100644
index 0000000000..ae5acdbd4b
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/alpha/config.h
@@ -0,0 +1,143 @@
+/*
+Copyright 2019 kakunpc
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kakunpc
+#define PRODUCT Suihankey
+
+/* key matrix size */
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+
+/*
+ * 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 { F4, F5, F6, F7 }
+#define MATRIX_COL_PINS { D4, C6, D7, E6, B4 }
+#define UNUSED_PINS
+#define USE_I2C
+#undef USE_SERIAL
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+#define SPLIT_HAND_PIN D2
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 18
+ #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
+#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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
+
+// #define RGBLED_SPLIT {18,18}
diff --git a/keyboards/kakunpc/suihankey/split/alpha/readme.md b/keyboards/kakunpc/suihankey/split/alpha/readme.md
new file mode 100644
index 0000000000..4a26a34b97
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/alpha/readme.md
@@ -0,0 +1,18 @@
+# suihankey_alpha
+
+![suihankey_alpha](https://i.gyazo.com/f798c5967f2ac457dd520ab8ff83b6ac.jpg)
+
+Compact with only 36 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankey_alphaboard_alpha, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kakunpc/suihankey/alpha: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/kakunpc/suihankey/split/alpha/rules.mk b/keyboards/kakunpc/suihankey/split/alpha/rules.mk
new file mode 100644
index 0000000000..1e3cebb145
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/alpha/rules.mk
@@ -0,0 +1 @@
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/kakunpc/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json
new file mode 100644
index 0000000000..2f40949f6b
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/info.json
@@ -0,0 +1,54 @@
+{
+ "keyboard_name": "suihankey_split",
+ "url": "https://kakunpc.booth.pm/",
+ "maintainer": "kakunpc",
+ "layouts": {
+ "LAYOUT_split_3x5_3": {
+ "layout": [
+ {"x": 0, "y": 0.375},
+ {"x": 1, "y": 0.125},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0.125},
+ {"x": 4, "y": 0.25},
+
+ {"x": 8.2, "y": 0.25},
+ {"x": 9.2, "y": 0.125},
+ {"x": 10.2, "y": 0},
+ {"x": 11.2, "y": 0.125},
+ {"x": 12.2, "y": 0.375},
+
+ {"x": 0, "y": 1.375},
+ {"x": 1, "y": 1.125},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1.125},
+ {"x": 4, "y": 1.25},
+
+ {"x": 8.2, "y": 1.25},
+ {"x": 9.2, "y": 1.125},
+ {"x": 10.2, "y": 1},
+ {"x": 11.2, "y": 1.125},
+ {"x": 12.2, "y": 1.375},
+
+ {"x": 0, "y": 2.375},
+ {"x": 1, "y": 2.125},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2.125},
+ {"x": 4, "y": 2.25},
+
+ {"x": 8.2, "y": 2.25},
+ {"x": 9.2, "y": 2.125},
+ {"x": 10.2, "y": 2},
+ {"x": 11.2, "y": 2.125},
+ {"x": 12.2, "y": 2.375},
+
+ {"x": 3.4, "y": 3.25},
+ {"x": 4.4, "y": 3.55},
+ {"x": 5.4, "y": 3.85},
+
+ {"x": 6.8, "y": 3.85},
+ {"x": 7.8, "y": 3.55},
+ {"x": 8.8, "y": 3.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c b/keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a48072d9f2
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/keymaps/default/keymap.c
@@ -0,0 +1,56 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+enum layers{
+ BASE,
+ COMMAND,
+ NUMBER,
+ SETTING
+};
+
+#define KC_CMD_SP LT(COMMAND,KC_SPC)
+#define KC_CMD_ET LT(COMMAND,KC_ENTER)
+#define KC_NUM_ALT LT(NUMBER,KC_LALT)
+#define KC_NUM_BS LT(NUMBER,KC_BSPC)
+#define KC_SET_CTRL LT(SETTING,KC_LCTRL)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_split_3x5_3( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH,
+ KC_SET_CTRL, KC_NUM_ALT, KC_CMD_SP, KC_CMD_ET, KC_BSPC, KC_LSFT
+ ),
+ [COMMAND] = LAYOUT_split_3x5_3( /* Base */
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_B), KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+ [NUMBER] = LAYOUT_split_3x5_3( /* Base */
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_P7, KC_P8, KC_P9, KC_NO, KC_NO,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_P4, KC_P5, KC_P6, KC_NO, KC_NO,
+ KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_P1, KC_P2, KC_P3, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_P0, KC_PDOT, KC_NO
+ ),
+ [SETTING] = LAYOUT_split_3x5_3( /* Base */
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
+ ),
+};
diff --git a/keyboards/kakunpc/suihankey/split/keymaps/default/readme.md b/keyboards/kakunpc/suihankey/split/keymaps/default/readme.md
new file mode 100644
index 0000000000..43ede89526
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default split keymap for suihankey
diff --git a/keyboards/kakunpc/suihankey/split/readme.md b/keyboards/kakunpc/suihankey/split/readme.md
new file mode 100644
index 0000000000..ed2058290b
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/readme.md
@@ -0,0 +1,18 @@
+# suihankey split
+
+![suihankey](https://i.gyazo.com/f798c5967f2ac457dd520ab8ff83b6ac.jpg)
+
+Compact with only 36 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankeyboard_alpha, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kakunpc/suihankey/split: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/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h
new file mode 100644
index 0000000000..6b7dd2bac9
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rev1/config.h
@@ -0,0 +1,143 @@
+/*
+Copyright 2019 kakunpc
+
+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 .
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kakunpc
+#define PRODUCT Suihankey
+
+/* key matrix size */
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 4
+
+/*
+ * 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 { D4, C6, D7, E6, B4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7 }
+#define UNUSED_PINS
+#define USE_I2C
+#undef USE_SERIAL
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/*
+ * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
+ */
+#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
+#define SPLIT_HAND_PIN D2
+
+// #define BACKLIGHT_PIN B7
+// #define BACKLIGHT_BREATHING
+// #define BACKLIGHT_LEVELS 3
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 18
+ #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
+#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
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+// #define BOOTMAGIC_LITE_ROW 0
+// #define BOOTMAGIC_LITE_COLUMN 0
+
+// #define RGBLED_SPLIT {18,18}
diff --git a/keyboards/kakunpc/suihankey/split/rev1/readme.md b/keyboards/kakunpc/suihankey/split/rev1/readme.md
new file mode 100644
index 0000000000..a4e60fe1b9
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rev1/readme.md
@@ -0,0 +1,18 @@
+# suihankey_rev1
+
+![suihankey_rev1](https://i.gyazo.com/f798c5967f2ac457dd520ab8ff83b6ac.jpg)
+
+Compact with only 36 keys is a concept keyboard.
+Supports OLED and RGBLED (optional)
+
+
+
+Keyboard Maintainer: [kakunpc](https://github.com/kakunpc)
+Hardware Supported: suihankey_rev1board_rev1, promicro
+Hardware Availability: booth([@kakunpc](https://kakunpc.booth.pm/))
+
+Make example for this keyboard (after setting up your build environment):
+
+ make kakunpc/suihankey/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).
diff --git a/keyboards/kakunpc/suihankey/split/rev1/rev1.c b/keyboards/kakunpc/suihankey/split/rev1/rev1.c
new file mode 100644
index 0000000000..40ff30e620
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rev1/rev1.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#include "rev1.h"
diff --git a/keyboards/kakunpc/suihankey/split/rev1/rev1.h b/keyboards/kakunpc/suihankey/split/rev1/rev1.h
new file mode 100644
index 0000000000..98618ba712
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rev1/rev1.h
@@ -0,0 +1,47 @@
+/* Copyright 2019 kakunpc
+ *
+ * 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 .
+ */
+#pragma once
+
+#include "quantum.h"
+
+/* 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 Leys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_split_3x5_3( \
+ L00, L01, L02, L03, L04, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, R24, R23, R22, R21, R20, \
+ L30, L31, L32, R32, R31, R30 \
+) \
+{ \
+ { L00, L10, L20, L30 }, \
+ { L01, L11, L21, L31 }, \
+ { L02, L12, L22, L32 }, \
+ { L03, L13, L23, KC_NO }, \
+ { L04, L14, L24, KC_NO }, \
+ { R00, R10, R20, R30 }, \
+ { R01, R11, R21, R31 }, \
+ { R02, R12, R22, R32 }, \
+ { R03, R13, R23, KC_NO }, \
+ { R04, R14, R24, KC_NO }, \
+}
+
+#define LAYOUT LAYOUT_split_3x5_3
diff --git a/keyboards/kakunpc/suihankey/split/rev1/rules.mk b/keyboards/kakunpc/suihankey/split/rev1/rules.mk
new file mode 100644
index 0000000000..d3661099d0
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rev1/rules.mk
@@ -0,0 +1,2 @@
+RGBLIGHT_ENABLE = yes
+LAYOUTS = split_3x5_3
diff --git a/keyboards/kakunpc/suihankey/split/rules.mk b/keyboards/kakunpc/suihankey/split/rules.mk
new file mode 100644
index 0000000000..f0bdf744ee
--- /dev/null
+++ b/keyboards/kakunpc/suihankey/split/rules.mk
@@ -0,0 +1,4 @@
+OLED_ENABLE = no
+SPLIT_KEYBOARD = yes
+
+DEFAULT_FOLDER = suihankey/split/rev1
--
cgit v1.2.1