summaryrefslogtreecommitdiff
path: root/keyboards/marksard/treadstone32
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/marksard/treadstone32')
-rw-r--r--keyboards/marksard/treadstone32/info.json173
-rw-r--r--keyboards/marksard/treadstone32/keymaps/default/config.h40
-rw-r--r--keyboards/marksard/treadstone32/keymaps/default/keymap.c169
-rw-r--r--keyboards/marksard/treadstone32/keymaps/default/readme.md5
-rw-r--r--keyboards/marksard/treadstone32/keymaps/default/readme_jp.md55
-rw-r--r--keyboards/marksard/treadstone32/keymaps/default/rules.mk13
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/config.h40
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c170
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/readme.md5
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md55
-rw-r--r--keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk18
-rw-r--r--keyboards/marksard/treadstone32/lite/.noci0
-rw-r--r--keyboards/marksard/treadstone32/lite/config.h95
-rw-r--r--keyboards/marksard/treadstone32/lite/lite.c16
-rw-r--r--keyboards/marksard/treadstone32/lite/lite.h45
-rw-r--r--keyboards/marksard/treadstone32/lite/rules.mk2
-rw-r--r--keyboards/marksard/treadstone32/readme.md21
-rw-r--r--keyboards/marksard/treadstone32/rev1/.noci0
-rw-r--r--keyboards/marksard/treadstone32/rev1/config.h96
-rw-r--r--keyboards/marksard/treadstone32/rev1/rev1.c16
-rw-r--r--keyboards/marksard/treadstone32/rev1/rev1.h45
-rw-r--r--keyboards/marksard/treadstone32/rev1/rules.mk2
-rw-r--r--keyboards/marksard/treadstone32/rules.mk18
23 files changed, 1099 insertions, 0 deletions
diff --git a/keyboards/marksard/treadstone32/info.json b/keyboards/marksard/treadstone32/info.json
new file mode 100644
index 0000000000..d9c1069b38
--- /dev/null
+++ b/keyboards/marksard/treadstone32/info.json
@@ -0,0 +1,173 @@
+{
+ "keyboard_name": "Treadstone32",
+ "url": "https://github.com/marksard/Keyboards",
+ "maintainer": "marksard",
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "Q",
+ "x": 0,
+ "y": 0
+ },
+ {
+ "label": "W",
+ "x": 1,
+ "y": 0
+ },
+ {
+ "label": "E",
+ "x": 2,
+ "y": 0
+ },
+ {
+ "label": "R",
+ "x": 3,
+ "y": 0
+ },
+ {
+ "label": "T",
+ "x": 4,
+ "y": 0
+ },
+ {
+ "label": "Y",
+ "x": 5.5,
+ "y": 0
+ },
+ {
+ "label": "U",
+ "x": 6.5,
+ "y": 0
+ },
+ {
+ "label": "I",
+ "x": 7.5,
+ "y": 0
+ },
+ {
+ "label": "O",
+ "x": 8.5,
+ "y": 0
+ },
+ {
+ "label": "P",
+ "x": 9.5,
+ "y": 0
+ },
+ {
+ "label": "A",
+ "x": 0.25,
+ "y": 1
+ },
+ {
+ "label": "S",
+ "x": 1.25,
+ "y": 1
+ },
+ {
+ "label": "D",
+ "x": 2.25,
+ "y": 1
+ },
+ {
+ "label": "F",
+ "x": 3.25,
+ "y": 1
+ },
+ {
+ "label": "G",
+ "x": 4.25,
+ "y": 1
+ },
+ {
+ "label": "H",
+ "x": 5.25,
+ "y": 1
+ },
+ {
+ "label": "J",
+ "x": 6.25,
+ "y": 1
+ },
+ {
+ "label": "K",
+ "x": 7.25,
+ "y": 1
+ },
+ {
+ "label": "L",
+ "x": 8.25,
+ "y": 1
+ },
+ {
+ "label": "enter",
+ "x": 9.25,
+ "y": 1
+ },
+ {
+ "label": "Z",
+ "x": 0,
+ "y": 2
+ },
+ {
+ "label": "X",
+ "x": 1,
+ "y": 2
+ },
+ {
+ "label": "C",
+ "x": 2,
+ "y": 2
+ },
+ {
+ "label": "V",
+ "x": 3,
+ "y": 2
+ },
+ {
+ "label": "B",
+ "x": 4,
+ "y": 2
+ },
+ {
+ "label": "N",
+ "x": 5.5,
+ "y": 2
+ },
+ {
+ "label": "M",
+ "x": 6.5,
+ "y": 2
+ },
+ {
+ "label": ",",
+ "x": 7.5,
+ "y": 2
+ },
+ {
+ "label": ".",
+ "x": 8.5,
+ "y": 2
+ },
+ {
+ "label": "/",
+ "x": 9.5,
+ "y": 2
+ },
+ {
+ "label": "backspace",
+ "x": 3.25,
+ "y": 3,
+ "w": 2
+ },
+ {
+ "label": "space",
+ "x": 5.25,
+ "y": 3,
+ "w": 2
+ }
+ ]
+ }
+ }
+}
diff --git a/keyboards/marksard/treadstone32/keymaps/default/config.h b/keyboards/marksard/treadstone32/keymaps/default/config.h
new file mode 100644
index 0000000000..863588c5aa
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/default/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2019 marksard
+ *
+ * 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
+#define TAPPING_TERM 200
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define TAPPING_LAYER_TERM 150 // Custom LT Tapping term
+#define TAPPING_TERM_PER_KEY
+
+#ifdef MOUSEKEY_ENABLE
+ #undef MOUSEKEY_INTERVAL
+ #define MOUSEKEY_INTERVAL 1
+ #undef MOUSEKEY_TIME_TO_MAX
+ #define MOUSEKEY_TIME_TO_MAX 150
+
+ #undef MOUSEKEY_MAX_SPEED
+ #define MOUSEKEY_MAX_SPEED 3
+
+ #undef MOUSEKEY_MOVE_DELTA
+ #define MOUSEKEY_MOVE_DELTA 4
+
+ #undef MOUSEKEY_DELAY
+ #define MOUSEKEY_DELAY 0
+#endif
diff --git a/keyboards/marksard/treadstone32/keymaps/default/keymap.c b/keyboards/marksard/treadstone32/keymaps/default/keymap.c
new file mode 100644
index 0000000000..791fed059b
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/default/keymap.c
@@ -0,0 +1,169 @@
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_number {
+ _BASE = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ RGBRST = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ KANJI,
+};
+
+// enum tapdances{
+// TD_CODO = 0,
+// TD_SLRO,
+// };
+
+// Layer Mode aliases
+#define KC_MLAD MO(_ADJUST)
+
+// Base layer mod tap
+#define KC_A_SF LSFT_T(KC_A)
+#define KC_Z_CT LCTL_T(KC_Z)
+#define KC_X_AL LALT_T(KC_X)
+#define KC_C_GU LGUI_T(KC_C)
+#define KC_SSCT RCTL_T(KC_SLSH)
+#define KC_ENSF RSFT_T(KC_ENT)
+
+// Lower layer mod tap
+#define KC_F6SF LSFT_T(KC_F6)
+#define KC_QUSF RSFT_T(KC_QUOT)
+#define KC_11CT LCTL_T(KC_F11)
+#define KC_12AL LALT_T(KC_F12)
+
+// Layer tap
+#define KC_BSLO LT(_LOWER, KC_BSPC)
+#define KC_SPRA LT(_RAISE, KC_SPC)
+
+// Tap dance
+// #define KC_CODO TD(TD_CODO)
+// #define KC_SLRO TD(TD_SLRO)
+
+// qk_tap_dance_action_t tap_dance_actions[] = {
+// [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
+// [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_RO),
+// };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_A_SF, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENSF,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_Z_CT, KC_X_AL, KC_C_GU, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SSCT,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ KC_BSLO, KC_SPRA
+ // `---------|---------'
+ ),
+
+ [_LOWER] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_F6SF, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUSF,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_RO, KC_GRV,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, KC_MLAD
+ // `---------|---------'
+ ),
+
+ [_RAISE] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_SSCT,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, _______
+ // `---------|---------'
+ ),
+
+ [_ADJUST] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, _______
+ // `---------|---------'
+ )
+};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_BSLO:
+ return TAPPING_LAYER_TERM;
+ case KC_SPRA:
+ return TAPPING_LAYER_TERM;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
+int RGB_current_mode;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ bool result = false;
+ switch (keycode) {
+ case KANJI:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lalt_lgui == false) {
+ register_code(KC_LANG2);
+ } else {
+ SEND_STRING(SS_LALT("`"));
+ }
+ } else {
+ unregister_code(KC_LANG2);
+ }
+ break;
+ #ifdef RGBLIGHT_ENABLE
+ //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
+ case RGB_MOD:
+ if (record->event.pressed) {
+ rgblight_mode(RGB_current_mode);
+ rgblight_step();
+ RGB_current_mode = rgblight_config.mode;
+ }
+ break;
+ case RGBRST:
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_mode = rgblight_config.mode;
+ }
+ break;
+ #endif
+ default:
+ result = true;
+ break;
+ }
+
+ return result;
+}
+
+void keyboard_post_init_user(void) {
+ #ifdef RGBLIGHT_ENABLE
+ RGB_current_mode = rgblight_config.mode;
+ #endif
+}
diff --git a/keyboards/marksard/treadstone32/keymaps/default/readme.md b/keyboards/marksard/treadstone32/keymaps/default/readme.md
new file mode 100644
index 0000000000..387efc0d45
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+# Default keymap for treadstone32
+
+## Description
+
+## How to use
diff --git a/keyboards/marksard/treadstone32/keymaps/default/readme_jp.md b/keyboards/marksard/treadstone32/keymaps/default/readme_jp.md
new file mode 100644
index 0000000000..ff078dcc8a
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/default/readme_jp.md
@@ -0,0 +1,55 @@
+# US配列ライクデフォルトキーマップ
+
+## 概要
+
+ US配列ライクなデフォルトキーマップです。
+
+## キーマップの見かた
+
+qmk_firmware\tmk_core\common\keycode.h
+に基本的なキーコードがあります。また、Keymap.cの上部にカスタムしたKC_で始まるものを登録しています。
+
+Leyer Tap、Mod TapというQMKの機能を使っています。
+
+Layer Tapはタップで指定したキー、長押しで指定したレイヤーに移動します。
+例:LT(RAISE, KC_V) → タップでV、長押しでRAISEレイヤー移動
+
+Mod Tapはタップで視程したキー、長押しで視程したレイヤーに移動します。
+例:LSFT_T(KC_Z) → タップでZ、長押しで左シフト
+
+もう少し詳しい内容についてはQMK Documentをお読みいただくかネットを検索すれば情報が載っていますので別途検索してみてください。
+
+## 機能
+
+ QWERTYキーマップをベースにしていて、LowerレイヤーとRaiseレイヤーに他のキーを配置しています。
+ Lowerを最初し続けながらRaiseを同時押しするとAdjustレイヤーを使うことが出来ます。
+
+## OS切り替え方法
+
+ Adjustレイヤーにあります。LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来ます。
+
+- KNRM: QMKのノーマル状態です。macだと正常に使える(はず)です
+- KSWP: ノーマル状態のままWindowsで使用するとALTキーとGUI(win)キーが逆ですので、それを入れ換えます。Windowsユーザーはこちらのモードにしてください
+
+## IME切り替え方法
+
+ Winの場合、LowerレイヤーにKANJIキー(半角/全角 漢字)がありますので、Lower+KANJIで切り替えてください。
+
+## ソフトウェアリセットについて
+
+ キーボードにはハードウェアのリセットボタンが付いていますが、ソフトウェアリセットをかけられます。
+ LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来、AdjustレイヤーのRESETを押下するとリセットがかかります。
+
+## LEDの点灯切り替え方法
+
+ Adjustレイヤーにあります。LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来ます。
+
+- RGBRST: LEDのリセット
+- RGB_TOG: LEDのON/OFF切り替え
+- RGB_MOD: LEDの光り方の変更
+- RGB_HUI: Hue+ 色合いを変更
+- RGB_HUD: Hue- 色合いを変更
+- RGB_SAI: Saturation+ 色の濃さを変更
+- RGB_SAD: Saturation- 色の濃さを変更
+- RGB_VAI: Value+ 明るさを変更
+- RGB_VAD: Value- 明るさを変更
diff --git a/keyboards/marksard/treadstone32/keymaps/default/rules.mk b/keyboards/marksard/treadstone32/keymaps/default/rules.mk
new file mode 100644
index 0000000000..387a81d04b
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/default/rules.mk
@@ -0,0 +1,13 @@
+# If your custom treadstone32 pcb, you can rewrite to yes.
+RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
+# Other selectable option
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
+
+ifeq ($(strip $(LED_ANIMATIONS)), yes)
+ # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
+endif
+
+ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
+endif
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/config.h b/keyboards/marksard/treadstone32/keymaps/like_jis/config.h
new file mode 100644
index 0000000000..863588c5aa
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2019 marksard
+ *
+ * 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
+#define TAPPING_TERM 200
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#define TAPPING_LAYER_TERM 150 // Custom LT Tapping term
+#define TAPPING_TERM_PER_KEY
+
+#ifdef MOUSEKEY_ENABLE
+ #undef MOUSEKEY_INTERVAL
+ #define MOUSEKEY_INTERVAL 1
+ #undef MOUSEKEY_TIME_TO_MAX
+ #define MOUSEKEY_TIME_TO_MAX 150
+
+ #undef MOUSEKEY_MAX_SPEED
+ #define MOUSEKEY_MAX_SPEED 3
+
+ #undef MOUSEKEY_MOVE_DELTA
+ #define MOUSEKEY_MOVE_DELTA 4
+
+ #undef MOUSEKEY_DELAY
+ #define MOUSEKEY_DELAY 0
+#endif
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
new file mode 100644
index 0000000000..92518b11a7
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/keymap.c
@@ -0,0 +1,170 @@
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+extern keymap_config_t keymap_config;
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_number {
+ _BASE = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ RGBRST = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ KANJI,
+};
+
+// enum tapdances{
+// TD_CODO = 0,
+// TD_SLRO,
+// };
+
+// Layer Mode aliases
+#define KC_MLAD MO(_ADJUST)
+
+// Base layer mod tap
+#define KC_A_SF LSFT_T(KC_A)
+#define KC_Z_CT LCTL_T(KC_Z)
+#define KC_X_AL LALT_T(KC_X)
+#define KC_C_GU LGUI_T(KC_C)
+#define KC_SSCT RCTL_T(KC_SLSH)
+#define KC_ENSF RSFT_T(KC_ENT)
+
+// Lower layer mod tap
+#define KC_F6SF LSFT_T(KC_F6)
+#define KC_BSSF RSFT_T(KC_BSLS)
+#define KC_11CT LCTL_T(KC_F11)
+#define KC_12AL LALT_T(KC_F12)
+
+// Layer tap
+#define KC_BSLO LT(_LOWER, KC_BSPC)
+#define KC_SPRA LT(_RAISE, KC_SPC)
+
+// Tap dance
+// #define KC_CODO TD(TD_CODO)
+// #define KC_SLRO TD(TD_SLRO)
+
+// qk_tap_dance_action_t tap_dance_actions[] = {
+// [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT),
+// [TD_SLRO] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_RO),
+// };
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_A_SF, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENSF,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_Z_CT, KC_X_AL, KC_C_GU, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SSCT,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ KC_BSLO, KC_SPRA
+ // `---------|---------'
+ ),
+
+ [_LOWER] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_JYEN, KC_LBRC, KC_RBRC,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_F6SF, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_BSSF,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_11CT, KC_12AL, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_GRV, KC_RO,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, KC_MLAD
+ // `---------|---------'
+ ),
+
+ [_RAISE] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LSFT,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_SSCT,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, _______
+ // `---------|---------'
+ ),
+
+ [_ADJUST] = LAYOUT(
+ //,---------------------------------------------------------------------------------------------------.
+ RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK,
+ //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------|
+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX,
+ //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------'
+ _______, _______
+ // `---------|---------'
+ )
+};
+
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_BSLO:
+ return TAPPING_LAYER_TERM;
+ case KC_SPRA:
+ return TAPPING_LAYER_TERM;
+ default:
+ return TAPPING_TERM;
+ }
+}
+
+int RGB_current_mode;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+
+ bool result = false;
+ switch (keycode) {
+ case KANJI:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lalt_lgui == false) {
+ register_code(KC_LANG2);
+ } else {
+ SEND_STRING(SS_LALT("`"));
+ }
+ } else {
+ unregister_code(KC_LANG2);
+ }
+ break;
+ #ifdef RGBLIGHT_ENABLE
+ //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
+ case RGB_MOD:
+ if (record->event.pressed) {
+ rgblight_mode(RGB_current_mode);
+ rgblight_step();
+ RGB_current_mode = rgblight_config.mode;
+ }
+ break;
+ case RGBRST:
+ if (record->event.pressed) {
+ eeconfig_update_rgblight_default();
+ rgblight_enable();
+ RGB_current_mode = rgblight_config.mode;
+ }
+ break;
+ #endif
+ default:
+ result = true;
+ break;
+ }
+
+ return result;
+}
+
+void keyboard_post_init_user(void) {
+ #ifdef RGBLIGHT_ENABLE
+ RGB_current_mode = rgblight_config.mode;
+ #endif
+}
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/readme.md b/keyboards/marksard/treadstone32/keymaps/like_jis/readme.md
new file mode 100644
index 0000000000..206133ee7c
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/readme.md
@@ -0,0 +1,5 @@
+# The like jis type keyboard keymap for treadstone32
+
+## Description
+
+## How to use
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md b/keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md
new file mode 100644
index 0000000000..3242f101e2
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/readme_jp.md
@@ -0,0 +1,55 @@
+# JISキーボードライクなキーマップ
+
+## 概要
+
+ デフォルトキーマップの記号類をJISライクな配置に揃えなおしたものです。
+
+## キーマップの見かた
+
+qmk_firmware\tmk_core\common\keycode.h
+に基本的なキーコードがあります。また、Keymap.cの上部にカスタムしたKC_で始まるものを登録しています。
+
+Leyer Tap、Mod TapというQMKの機能を使っています。
+
+Layer Tapはタップで指定したキー、長押しで指定したレイヤーに移動します。
+例:LT(RAISE, KC_V) → タップでV、長押しでRAISEレイヤー移動
+
+Mod Tapはタップで視程したキー、長押しで視程したレイヤーに移動します。
+例:LSFT_T(KC_Z) → タップでZ、長押しで左シフト
+
+もう少し詳しい内容についてはQMK Documentをお読みいただくかネットを検索すれば情報が載っていますので別途検索してみてください。
+
+## 機能
+
+ QWERTYキーマップをベースにしていて、LowerレイヤーとRaiseレイヤーに他のキーを配置しています。
+ Lowerを最初し続けながらRaiseを同時押しするとAdjustレイヤーを使うことが出来ます。
+
+## OS切り替え方法
+
+ Adjustレイヤーにあります。LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来ます。
+
+- KNRM: QMKのノーマル状態です。macだと正常に使える(はず)です
+- KSWP: ノーマル状態のままWindowsで使用するとALTキーとGUI(win)キーが逆ですので、それを入れ換えます。Windowsユーザーはこちらのモードにしてください
+
+## IME切り替え方法
+
+ Winの場合、LowerレイヤーにKANJIキー(半角/全角 漢字)がありますので、Lower+KANJIで切り替えてください。
+
+## ソフトウェアリセットについて
+
+ キーボードにはハードウェアのリセットボタンが付いていますが、ソフトウェアリセットをかけられます。
+ LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来、AdjustレイヤーのRESETを押下するとリセットがかかります。
+
+## LEDの点灯切り替え方法
+
+ Adjustレイヤーにあります。LowerとRaiseを同時押しでAdjustレイヤーを使うことが出来ます。
+
+- RGBRST: LEDのリセット
+- RGB_TOG: LEDのON/OFF切り替え
+- RGB_MOD: LEDの光り方の変更
+- RGB_HUI: Hue+ 色合いを変更
+- RGB_HUD: Hue- 色合いを変更
+- RGB_SAI: Saturation+ 色の濃さを変更
+- RGB_SAD: Saturation- 色の濃さを変更
+- RGB_VAI: Value+ 明るさを変更
+- RGB_VAD: Value- 明るさを変更
diff --git a/keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk b/keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk
new file mode 100644
index 0000000000..882ddd6977
--- /dev/null
+++ b/keyboards/marksard/treadstone32/keymaps/like_jis/rules.mk
@@ -0,0 +1,18 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+
+# If your custom treadstone32 pcb, you can rewrite to yes.
+RGBLIGHT_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
+# Other selectable option
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
+
+ifeq ($(strip $(LED_ANIMATIONS)), yes)
+ # OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
+endif
+
+ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
+endif
diff --git a/keyboards/marksard/treadstone32/lite/.noci b/keyboards/marksard/treadstone32/lite/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/.noci
diff --git a/keyboards/marksard/treadstone32/lite/config.h b/keyboards/marksard/treadstone32/lite/config.h
new file mode 100644
index 0000000000..90db1a7895
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/config.h
@@ -0,0 +1,95 @@
+/*
+Copyright 2020 marksard
+
+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 0xDFA5
+#define DEVICE_VER 0x0015
+#define MANUFACTURER marksard
+#define PRODUCT treadstone32 lite
+
+/* 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 { B6, B2, F7, F6, B3, B1, F4, F5 }
+#define MATRIX_COL_PINS { B5, B4, E6, D7, C6 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
+#define DIODE_DIRECTION COL2ROW
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 6
+ #ifndef IOS_DEVICE_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_VAL_STEP 8
+ #else
+ #define RGBLIGHT_LIMIT_VAL 50
+ #define RGBLIGHT_VAL_STEP 4
+ #endif
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #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
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
+// 120 RGBoff
+// 330 RGB 6
+// 300 RGB 32
+ #define USB_MAX_POWER_CONSUMPTION 400
+#else
+ // fix iPhone and iPad power adapter issue
+ // iOS device need lessthan 100
+ #define USB_MAX_POWER_CONSUMPTION 100
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/marksard/treadstone32/lite/lite.c b/keyboards/marksard/treadstone32/lite/lite.c
new file mode 100644
index 0000000000..a1997feff0
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/lite.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 marksard
+ *
+ * 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 "lite.h"
diff --git a/keyboards/marksard/treadstone32/lite/lite.h b/keyboards/marksard/treadstone32/lite/lite.h
new file mode 100644
index 0000000000..90181124c0
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/lite.h
@@ -0,0 +1,45 @@
+/* Copyright 2019 marksard.
+ *
+ * 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 K_N 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( \
+ L09, L08, L07, L06, L05, L04, L03, L02, L01, L00, \
+ L19, L18, L17, L16, L15, L14, L13, L12, L11, L10, \
+ L29, L28, L27, L26, L25, L24, L23, L22, L21, L20, \
+ L35, L34 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { K_N, K_N, K_N, K_N, L34 }, \
+ { L05, L06, L07, L08, L09 }, \
+ { L15, L16, L17, L18, L19 }, \
+ { L25, L26, L27, L28, L29 }, \
+ { L35, K_N, K_N, K_N, K_N } \
+ }
diff --git a/keyboards/marksard/treadstone32/lite/rules.mk b/keyboards/marksard/treadstone32/lite/rules.mk
new file mode 100644
index 0000000000..6ded83e74b
--- /dev/null
+++ b/keyboards/marksard/treadstone32/lite/rules.mk
@@ -0,0 +1,2 @@
+# Bootloader selection
+BOOTLOADER = caterina
diff --git a/keyboards/marksard/treadstone32/readme.md b/keyboards/marksard/treadstone32/readme.md
new file mode 100644
index 0000000000..170c6bc761
--- /dev/null
+++ b/keyboards/marksard/treadstone32/readme.md
@@ -0,0 +1,21 @@
+# treadstone32
+
+![treadstone32](https://github.com/marksard/Keyboards/raw/master/_image/20190421-P4210001.jpg)
+
+A 32-key Symmetric staggered keyboard.
+
+Keyboard Maintainer: [marksard](https://github.com/marksard)
+Hardware Supported: The PCBs, controllers supported
+Hardware Availability: links to where you can find this hardware
+
+Make example for this keyboard (after setting up your build environment):
+
+ make marksard/treadstone32:default
+ or
+ make marksard/treadstone32/lite: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).
+
+[Build guide](https://github.com/marksard/Keyboards/blob/master/treadstone32/documents/treadstone32_buildguide.md)
+[Build guide (lite)](https://github.com/marksard/Keyboards/blob/master/treadstone32/documents/treadstone32lite_buildguide.md)
+[Firmware](https://github.com/marksard/qmk_firmware/tree/my_customize/keyboards/treadstone32)
diff --git a/keyboards/marksard/treadstone32/rev1/.noci b/keyboards/marksard/treadstone32/rev1/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/.noci
diff --git a/keyboards/marksard/treadstone32/rev1/config.h b/keyboards/marksard/treadstone32/rev1/config.h
new file mode 100644
index 0000000000..3f21ad59c5
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/config.h
@@ -0,0 +1,96 @@
+/*
+Copyright 2019 marksard
+
+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 0xDFA5
+#define DEVICE_VER 0x0010
+#define MANUFACTURER marksard
+#define PRODUCT treadstone32
+
+/* 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 { F1, F0, E6, B2, B4, D7, D6, D4 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, C7 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define RGB_DI_PIN D3
+#ifdef RGB_DI_PIN
+ #define RGBLED_NUM 6
+ #ifndef IOS_DEVICE_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
+ #define RGBLIGHT_VAL_STEP 8
+ #else
+ #define RGBLIGHT_LIMIT_VAL 50
+ #define RGBLIGHT_VAL_STEP 4
+ #endif
+ #define RGBLIGHT_HUE_STEP 8
+ #define RGBLIGHT_SAT_STEP 8
+ #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
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
+// 120 RGBoff
+// 330 RGB 6
+// 300 RGB 32
+ #define USB_MAX_POWER_CONSUMPTION 400
+#else
+ // fix iPhone and iPad power adapter issue
+ // iOS device need lessthan 100
+ #define USB_MAX_POWER_CONSUMPTION 100
+#endif
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
diff --git a/keyboards/marksard/treadstone32/rev1/rev1.c b/keyboards/marksard/treadstone32/rev1/rev1.c
new file mode 100644
index 0000000000..bf41abddbe
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/rev1.c
@@ -0,0 +1,16 @@
+/* Copyright 2019 marksard
+ *
+ * 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"
diff --git a/keyboards/marksard/treadstone32/rev1/rev1.h b/keyboards/marksard/treadstone32/rev1/rev1.h
new file mode 100644
index 0000000000..90181124c0
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/rev1.h
@@ -0,0 +1,45 @@
+/* Copyright 2019 marksard.
+ *
+ * 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 K_N 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( \
+ L09, L08, L07, L06, L05, L04, L03, L02, L01, L00, \
+ L19, L18, L17, L16, L15, L14, L13, L12, L11, L10, \
+ L29, L28, L27, L26, L25, L24, L23, L22, L21, L20, \
+ L35, L34 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { K_N, K_N, K_N, K_N, L34 }, \
+ { L05, L06, L07, L08, L09 }, \
+ { L15, L16, L17, L18, L19 }, \
+ { L25, L26, L27, L28, L29 }, \
+ { L35, K_N, K_N, K_N, K_N } \
+ }
diff --git a/keyboards/marksard/treadstone32/rev1/rules.mk b/keyboards/marksard/treadstone32/rev1/rules.mk
new file mode 100644
index 0000000000..bddd4e389e
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rev1/rules.mk
@@ -0,0 +1,2 @@
+# Bootloader selection
+BOOTLOADER = atmel-dfu
diff --git a/keyboards/marksard/treadstone32/rules.mk b/keyboards/marksard/treadstone32/rules.mk
new file mode 100644
index 0000000000..a0b43873cc
--- /dev/null
+++ b/keyboards/marksard/treadstone32/rules.mk
@@ -0,0 +1,18 @@
+# MCU name
+MCU = atmega32u4
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # 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
+AUDIO_ENABLE = no # Audio output
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+LEADER_ENABLE = no
+
+DEFAULT_FOLDER = marksard/treadstone32/rev1