summaryrefslogtreecommitdiff
path: root/keyboards/kinesis
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kinesis')
-rw-r--r--keyboards/kinesis/alvicstep/config.h1
-rw-r--r--keyboards/kinesis/config.h2
-rw-r--r--keyboards/kinesis/kinesis.h3
-rw-r--r--keyboards/kinesis/kint2pp/config.h4
-rw-r--r--keyboards/kinesis/kint2pp/rules.mk3
-rw-r--r--keyboards/kinesis/kint36/chconf.h28
-rw-r--r--keyboards/kinesis/kint36/config.h66
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/config.h19
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/keymap.c405
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/readme.md9
-rw-r--r--keyboards/kinesis/kint36/keymaps/kzar/rules.mk5
-rw-r--r--keyboards/kinesis/kint36/kint36.c26
-rw-r--r--keyboards/kinesis/kint36/kint36.h92
-rw-r--r--keyboards/kinesis/kint36/mcuconf.h65
-rw-r--r--keyboards/kinesis/kint36/readme.md3
-rw-r--r--keyboards/kinesis/kint36/rules.mk6
-rw-r--r--keyboards/kinesis/nguyenvietyen/rules.mk2
-rw-r--r--keyboards/kinesis/rules.mk2
-rw-r--r--keyboards/kinesis/stapelberg/config.h1
19 files changed, 738 insertions, 4 deletions
diff --git a/keyboards/kinesis/alvicstep/config.h b/keyboards/kinesis/alvicstep/config.h
index 88b7e2644a..73aa4dd4dc 100644
--- a/keyboards/kinesis/alvicstep/config.h
+++ b/keyboards/kinesis/alvicstep/config.h
@@ -2,6 +2,7 @@
#define ALVICSTEP_CONFIG_H
#include "../config.h"
+#include "config_common.h"
/* USB Device descriptor parameter */
#define PRODUCT_ID 0x6060
diff --git a/keyboards/kinesis/config.h b/keyboards/kinesis/config.h
index ddb16d33b9..c5a89d4533 100644
--- a/keyboards/kinesis/config.h
+++ b/keyboards/kinesis/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef CONFIG_H
#define CONFIG_H
-#include "config_common.h"
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define MANUFACTURER You
diff --git a/keyboards/kinesis/kinesis.h b/keyboards/kinesis/kinesis.h
index 444322d1fe..0833992b81 100644
--- a/keyboards/kinesis/kinesis.h
+++ b/keyboards/kinesis/kinesis.h
@@ -13,6 +13,9 @@
#ifdef KEYBOARD_kinesis_nguyenvietyen
#include "nguyenvietyen.h"
#endif
+#ifdef KEYBOARD_kinesis_kint36
+ #include "kint36.h"
+#endif
#include "quantum.h"
diff --git a/keyboards/kinesis/kint2pp/config.h b/keyboards/kinesis/kint2pp/config.h
index 902c9b24a0..ff5761b6bc 100644
--- a/keyboards/kinesis/kint2pp/config.h
+++ b/keyboards/kinesis/kint2pp/config.h
@@ -36,3 +36,7 @@
#define DEBOUNCE 5
#define IGNORE_MOD_TAP_INTERRUPT
+
+// Reduce input latency by lowering the USB polling interval
+// from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows:
+#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/kinesis/kint2pp/rules.mk b/keyboards/kinesis/kint2pp/rules.mk
index e69de29bb2..7c48a98bfc 100644
--- a/keyboards/kinesis/kint2pp/rules.mk
+++ b/keyboards/kinesis/kint2pp/rules.mk
@@ -0,0 +1,3 @@
+# Debounce eagerly (report change immediately), keep per-key timers. We can use
+# this because the kinT does not have to deal with noise.
+DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/kinesis/kint36/chconf.h b/keyboards/kinesis/kint36/chconf.h
new file mode 100644
index 0000000000..81dfcd5a2f
--- /dev/null
+++ b/keyboards/kinesis/kint36/chconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2020 QMK
+ *
+ * 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/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/kinesis/kint36/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_TIME_QUANTUM 20
+
+#include_next <chconf.h>
diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h
new file mode 100644
index 0000000000..be57526036
--- /dev/null
+++ b/keyboards/kinesis/kint36/config.h
@@ -0,0 +1,66 @@
+/* Copyright 2020 QMK
+ *
+ * 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
+
+/* USB Device descriptor parameter */
+#undef VENDOR_ID
+#define VENDOR_ID 0x1209
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x345C
+#undef DEVICE_VER
+#define DEVICE_VER 0x0001
+#undef MANUFACTURER
+#define MANUFACTURER "https://github.com/stapelberg"
+#undef PRODUCT
+#define PRODUCT "kinT (kint36)"
+
+/* key matrix size */
+#define MATRIX_ROWS 15
+#define MATRIX_COLS 7
+
+/*
+ * 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 { D3, C3, C4, C6, D2, B0, D7, A12, A13, B17, B16, D0, B1, C2, D6 }
+#define MATRIX_COL_PINS { B3, D1, C0, D5, C1, B2, D4 }
+
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Reduce input latency by lowering the USB polling interval
+// from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows:
+#define USB_POLLING_INTERVAL_MS 1
+
+#define LED_PIN_ON_STATE 0
+#define LED_NUM_LOCK_PIN A14
+#define LED_CAPS_LOCK_PIN C7
+#define LED_SCROLL_LOCK_PIN A5
+#define LED_COMPOSE_PIN E26
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/config.h b/keyboards/kinesis/kint36/keymaps/kzar/config.h
new file mode 100644
index 0000000000..6b03aa6a70
--- /dev/null
+++ b/keyboards/kinesis/kint36/keymaps/kzar/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2021 Dave Vandyke <kzar@kzar.co.uk>
+ *
+ * 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
+
+#undef LED_COMPOSE_PIN
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
new file mode 100644
index 0000000000..524792de81
--- /dev/null
+++ b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c
@@ -0,0 +1,405 @@
+/* Copyright 2021 Dave Vandyke <kzar@kzar.co.uk>,
+ * Based upon Xyverz's Kinesis keymap Copyright 2017-2020.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+#include "version.h"
+
+enum layer_names {_QWERTY, _DVORAK, _MAC, _PC, _KEYPAD, _PROGRAM};
+enum my_keycodes {QWERTY = SAFE_RANGE, DVORAK, WIN, MAC, PC, STATUS, PROGRAM};
+
+#define LED_KEYPAD E26
+
+// clang-format off
+
+/*
+ QWERTY layer:
+ ,---------------------------------------------------------------------------.
+ | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
+ `---------------------------------------------------------------------------'
+ ,---------------------------------------------------------------------------.
+ | F9 | F10 | F11 | F12 | PScr | SLck | Pause | Keypad | Prgrm |
+ `---------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | = | 1 | 2 | 3 | 4 | 5 || 6 | 7 | 8 | 9 | 0 | - |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | Tab | Q | W | E | R | T || Y | U | I | O | P | \ |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | CapsLk | A | S | D | F | G || H | J | K | L | ; | ' |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | LShift | Z | X | C | V | B || N | M | , | . | / | RShift |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | ` | \ | Left | Rght | | Up | Dn | [ | ] |
+ `---------------------------' `---------------------------'
+ ,--------------.,--------------.
+ | LCtl | LAlt || LGUI | RCtl |
+ ,------|-------|------||------+-------+-------.
+ | | | Home || PgUp | Enter | |
+ | BkSp | Del |------||------| / | Space |
+ | | | End || PgDn | KeyPd | |
+ `---------------------'`----------------------'
+
+ Dvorak layer:
+ ,---------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `---------------------------------------------------------------------------'
+ ,---------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `---------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | ' | , | . | P | Y || F | G | C | R | L | / |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | A | O | E | U | I || D | H | T | N | S | \ |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | ; | Q | J | K | X || B | M | W | V | Z | |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | | | | | | | | | |
+ `---------------------------' `---------------------------'
+ ,--------------.,--------------.
+ | | || | |
+ ,------|-------|------||------+-------+-------.
+ | | | || | | |
+ | | |------||------| | |
+ | | | || | | |
+ `---------------------'`----------------------'
+
+ Mac layer:
+ ,-------------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------------------------------------------.
+ | | | | | | Power | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | | | | | | | | | |
+ `---------------------------' `---------------------------'
+ ,-------------.,-------------.
+ | LGUI | LAlt || RCtl | RGUI |
+ ,------|------|------||------+------+------.
+ | | | || | | |
+ | | |------||------| | |
+ | | | || | | |
+ `--------------------'`--------------------'
+
+ PC layer:
+ ,-------------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | | | | | | | | | |
+ `---------------------------' `---------------------------'
+ ,-------------.,-------------.
+ | | || RAlt | |
+ ,------|------|------||------+------+------.
+ | | | || | | |
+ | | |------||------| | |
+ | | | || | | |
+ `--------------------'`--------------------'
+
+ Keypad layer:
+ ,---------------------------------------------------------------------------.
+ | | | | | | | | | |
+ `---------------------------------------------------------------------------'
+ ,---------------------------------------------------------------------------.
+ | | | | | Mute | Vol Down | Vol Up | Keypad | |
+ `---------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | | | | | | || | NmLk | KP = | KP / | KP * | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | KP 7 | KP 8 | KP 9 | KP - | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | KP 4 | KP 5 | KP 6 | KP + | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | KP 1 | KP 2 | KP 3 |KP Ent| |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | | INS | | | | | | KP . |KP Ent|
+ `---------------------------' `---------------------------'
+ ,-------------.,-------------.
+ | | || | |
+ ,------|------|------||------+------+------.
+ | | | || | | |
+ | | |------||------| | KP 0 |
+ | | | || | | |
+ `--------------------'`--------------------'
+
+ Program layer:
+ ,-------------------------------------------------------------------------------.
+ | STATUS | | | QWERTY | DVORAK | | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------------------------------------------.
+ | RESET | | | | | | | | |
+ `-------------------------------------------------------------------------------'
+ ,-------------------------------------------.,-------------------------------------------.
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ |--------+------+------+------+------+------||------+------+------+------+------+--------|
+ | | | | | | || | | | | | |
+ `--------+------+------+------+------+------'`------+------+------+------+------+--------'
+ | | | | | | | | | |
+ `---------------------------' `---------------------------'
+ ,-------------.,-------------.
+ | | || | |
+ ,------|------|------||------+------+------.
+ | | | || | | |
+ | | |------||------| | |
+ | | | || | | |
+ `--------------------'`--------------------'
+
+*/
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT (
+ // Left Hand
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8,
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_GRV, KC_NUBS, KC_LEFT, KC_RGHT,
+ // Left Thumb
+ KC_LCTL, KC_LALT,
+ KC_HOME,
+ KC_BSPC, KC_DEL, KC_END,
+
+ // Right Hand
+ KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, TG(_KEYPAD), MO(_PROGRAM),
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_UP, KC_DOWN, KC_LBRC, KC_RBRC,
+ // Right Thumb
+ KC_LGUI, KC_RCTL,
+ KC_PGUP,
+ KC_PGDN, KC_ENT, KC_SPC
+ ),
+
+[_DVORAK] = LAYOUT (
+ // Left Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y,
+ _______, KC_A, KC_O, KC_E, KC_U, KC_I,
+ _______, KC_SCLN, KC_Q, KC_J, KC_K, KC_X,
+ _______, _______, _______, _______,
+ // Left Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______,
+
+ // Right Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
+ KC_D, KC_H, KC_T, KC_N, KC_S, KC_BSLS,
+ KC_B, KC_M, KC_W, KC_V, KC_Z, _______,
+ _______, _______, _______, _______,
+ // Right Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______
+ ),
+
+[_MAC] = LAYOUT (
+ // Left Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ // Left Thumb
+ KC_LGUI, KC_LALT,
+ _______,
+ _______, _______, _______,
+
+ // Right Hand
+ _______, _______, _______, _______, _______, KC_POWER, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ // Right Thumb
+ KC_RCTL, KC_RGUI,
+ _______,
+ _______, _______, _______
+ ),
+
+[_PC] = LAYOUT (
+ // Left Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ // Left Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______,
+
+ // Right Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ // Right Thumb
+ KC_RALT, _______,
+ _______,
+ _______, _______, _______
+ ),
+
+[_KEYPAD] = LAYOUT (
+ // Left Hand
+ _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, KC_INS, _______, _______,
+ // Left Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______,
+
+ // Right Hand
+ _______, _______, _______, _______, KC__MUTE, KC__VOLDOWN, KC__VOLUP, _______, _______,
+ _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______,
+ _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
+ _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
+ _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
+ _______, _______, KC_PDOT, KC_PENT,
+ // Right Thumb
+ _______, _______,
+ _______,
+ _______, _______, KC_P0
+ ),
+
+[_PROGRAM] = LAYOUT (
+ // Left Hand
+ STATUS, _______, _______, QWERTY, DVORAK, MAC, PC, WIN, _______,
+ _______, _______, _______, _______ , _______, _______,
+ _______, _______, _______, _______ , _______, _______,
+ _______, _______, _______, _______ , _______, _______,
+ _______, _______, _______, _______ , _______, _______,
+ _______, _______, _______ , _______,
+ // Left Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______,
+
+ // Right Hand
+ RESET, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ // Right Thumb
+ _______, _______,
+ _______,
+ _______, _______, _______
+ )
+
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ writePin(LED_KEYPAD, !layer_state_cmp(state, _KEYPAD));
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ if (record->event.pressed) {
+ switch (keycode) {
+ case QWERTY:
+ set_single_persistent_default_layer(_QWERTY);
+ return false;
+ case DVORAK:
+ set_single_persistent_default_layer(_DVORAK);
+ return false;
+ case MAC:
+ layer_on(_MAC);
+ layer_off(_PC);
+ return false;
+ case PC:
+ layer_off(_MAC);
+ layer_on(_PC);
+ return false;
+ case WIN:
+ layer_off(_MAC);
+ layer_off(_PC);
+ return false;
+ case STATUS:
+ SEND_STRING("Firmware> QMK " QMK_VERSION ", " QMK_BUILDDATE "\n");
+ SEND_STRING("Keyboard> " QMK_KEYBOARD "\n");
+ SEND_STRING("Keymap> " QMK_KEYMAP "\n");
+
+ if (layer_state_cmp(default_layer_state, _QWERTY))
+ SEND_STRING("Layout> QWERTY\n");
+ else
+ SEND_STRING("Layout> DVORAK\n");
+
+ if (layer_state_is(_MAC))
+ SEND_STRING("Thumb keys mode> MAC\n");
+ else if (layer_state_is(_PC))
+ SEND_STRING("Thumb keys mode> PC\n");
+ else
+ SEND_STRING("Thumb keys mode> WIN\n");
+
+ if (keymap_config.nkro)
+ SEND_STRING("NKRO> Enabled\n");
+ else
+ SEND_STRING("NKRO> Disabled\n");
+
+ if (debug_enable)
+ SEND_STRING("Debug> Enabled\n");
+ else
+ SEND_STRING("Debug> Disabled\n");
+
+ return false;
+ }
+ }
+
+ return true;
+}
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/readme.md b/keyboards/kinesis/kint36/keymaps/kzar/readme.md
new file mode 100644
index 0000000000..b45808892e
--- /dev/null
+++ b/keyboards/kinesis/kint36/keymaps/kzar/readme.md
@@ -0,0 +1,9 @@
+# Dave's Kinesis Advantage keymap
+
+Kinesis Advantage keymap aiming to emulate the stock controller. QWERTY, DVORAK,
+WIN, MAC, PC, program and keypad layers are all supported, along with the
+keypad LED and RESET + STATUS keys.
+
+Tested with a Kinesis Advantage2, kinT (stapelberg) keyboard controller built
+with a Teensy 3.6 microcontroller and a UK system layout. Originally based upon
+the xyvers keymap.
diff --git a/keyboards/kinesis/kint36/keymaps/kzar/rules.mk b/keyboards/kinesis/kint36/keymaps/kzar/rules.mk
new file mode 100644
index 0000000000..7537188840
--- /dev/null
+++ b/keyboards/kinesis/kint36/keymaps/kzar/rules.mk
@@ -0,0 +1,5 @@
+BOOTMAGIC_ENABLE = no
+COMMAND_ENABLE = yes
+MOUSEKEY_ENABLE = no
+NKRO_ENABLE = yes
+RGBLIGHT_ENABLE = no
diff --git a/keyboards/kinesis/kint36/kint36.c b/keyboards/kinesis/kint36/kint36.c
new file mode 100644
index 0000000000..108c14c7ba
--- /dev/null
+++ b/keyboards/kinesis/kint36/kint36.c
@@ -0,0 +1,26 @@
+/* Copyright 2020 QMK
+ *
+ * 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 "kint36.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+
+// Turn on the Teensy 3.6 Power LED:
+#define LED_POWER C5
+ setPinOutput(LED_POWER);
+ writePinHigh(LED_POWER);
+}
diff --git a/keyboards/kinesis/kint36/kint36.h b/keyboards/kinesis/kint36/kint36.h
new file mode 100644
index 0000000000..d427a1c2d6
--- /dev/null
+++ b/keyboards/kinesis/kint36/kint36.h
@@ -0,0 +1,92 @@
+/* Copyright 2020 QMK
+ *
+ * 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 ___ KC_NO
+
+// This a shortcut to help you visually see your layout.
+// The first section contains all of the arguments as on the physical keyboard
+// The second converts the arguments into the 2-D scanned array
+
+#define LAYOUT( \
+ kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
+ k00, k10, k20, k30, k40, k50, \
+ k01, k11, k21, k31, k41, k51, \
+ k02, k12, k22, k32, k42, k52, \
+ k03, k13, k23, k33, k43, k53, \
+ k14, k24, k34, k54, \
+ k56, k55, \
+ k35, \
+ k36, k46, k25, \
+ \
+ kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
+ k60, k70, k80, k90, kA0, kB0, \
+ k61, k71, k81, k91, kA1, kB1, \
+ k62, k72, k82, k92, kA2, kB2, \
+ k63, k73, k83, k93, kA3, kB3, \
+ k64, k84, k94, kA4, \
+ k96, k85, \
+ k86, \
+ k66, k75, k65 \
+) { \
+ { k00, k01, k02, k03, ___, ___, ___ }, \
+ { k10, k11, k12, k13, k14, ___, ___ }, \
+ { k20, k21, k22, k23, k24, k25, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36 }, \
+ { k40, k41, k42, k43, ___, ___, k46 }, \
+ { k50, k51, k52, k53, k54, k55, k56 }, \
+ { k60, k61, k62, k63, k64, k65, k66 }, \
+ { k70, k71, k72, k73, ___, k75, ___ }, \
+ { k80, k81, k82, k83, k84, k85, k86 }, \
+ { k90, k91, k92, k93, k94, ___, k96 }, \
+ { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
+ { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
+ { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
+ { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
+ { kE0, kE1, kE2, kE3, kE4, kE5, ___ }, \
+}
+
+/* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
+#define LAYOUT_pretty( \
+ kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
+ k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, kA0, kB0, \
+ k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, kA1, kB1, \
+ k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, kA2, kB2, \
+ k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, kA3, kB3, \
+ k14, k24, k34, k54, k64, k84, k94, kA4, \
+ k56, k55, k96, k85, \
+ k35, k86, \
+ k36, k46, k25, k66, k75, k65 \
+) { \
+ { k00, k01, k02, k03, ___, ___, ___ }, \
+ { k10, k11, k12, k13, k14, ___, ___ }, \
+ { k20, k21, k22, k23, k24, k25, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36 }, \
+ { k40, k41, k42, k43, ___, ___, k46 }, \
+ { k50, k51, k52, k53, k54, k55, k56 }, \
+ { k60, k61, k62, k63, k64, k65, k66 }, \
+ { k70, k71, k72, k73, ___, k75, ___ }, \
+ { k80, k81, k82, k83, k84, k85, k86 }, \
+ { k90, k91, k92, k93, k94, ___, k96 }, \
+ { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
+ { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
+ { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
+ { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
+ { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
+}
diff --git a/keyboards/kinesis/kint36/mcuconf.h b/keyboards/kinesis/kint36/mcuconf.h
new file mode 100644
index 0000000000..b0ea44567d
--- /dev/null
+++ b/keyboards/kinesis/kint36/mcuconf.h
@@ -0,0 +1,65 @@
+// based on lib/chibios-contrib/demos/KINETIS/RT-TEENSY3_6/mcuconf.h:
+/*
+ ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#ifndef _MCUCONF_H_
+#define _MCUCONF_H_
+
+#define MK66FX1M0_MCUCONF
+
+/*
+ * HAL driver system settings.
+ */
+
+/* Select the MCU clocking mode below by enabling the appropriate block. */
+
+/* PEE mode - 180 MHz system clock driving by 16 MHz xtal */
+#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
+//#define KINETIS_PLLCLK_FREQUENCY 180000000UL // 180 MHz (HSRUN)
+#define KINETIS_PLLCLK_FREQUENCY 120000000UL // 120 MHz (RUN)
+#define KINETIS_SYSCLK_FREQUENCY KINETIS_PLLCLK_FREQUENCY
+#define KINETIS_BUSCLK_FREQUENCY 60000000UL
+//#define KINETIS_FLASHCLK_FREQUENCY 28000000UL // 28 MHz (HSRUN)
+#define KINETIS_FLASHCLK_FREQUENCY 24000000UL // 24 MHz (RUN)
+
+#if KINETIS_PLLCLK_FREQUENCY == 180000000UL
+# define KINETIS_CLKDIV1_OUTDIV1 1 // -> 0
+# define KINETIS_CLKDIV1_OUTDIV2 3 // -> 2
+# define KINETIS_CLKDIV1_OUTDIV4 7 // -> 6
+#else
+# define KINETIS_CLKDIV1_OUTDIV1 1 // -> 0
+# define KINETIS_CLKDIV1_OUTDIV2 2 // -> 1
+# define KINETIS_CLKDIV1_OUTDIV4 5 // -> 4
+#endif
+
+/*
+ * SERIAL driver system settings.
+ */
+#define KINETIS_SERIAL_USE_UART4 TRUE
+
+/*
+ * USB driver settings
+ */
+#define KINETIS_USB_USE_USB0 TRUE
+#define KINETIS_USB_USB0_IRQ_PRIORITY 5
+
+/*
+ * I2C driver settings
+ */
+#define KINETIS_I2C_USE_I2C0 TRUE
+#define KINETIS_I2C_I2C0_PRIORITY 4
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/kinesis/kint36/readme.md b/keyboards/kinesis/kint36/readme.md
new file mode 100644
index 0000000000..a2bb0c1cfc
--- /dev/null
+++ b/keyboards/kinesis/kint36/readme.md
@@ -0,0 +1,3 @@
+# kinesis_kint36 keyboard firmware
+
+Please see https://github.com/kinx-project/kint for details.
diff --git a/keyboards/kinesis/kint36/rules.mk b/keyboards/kinesis/kint36/rules.mk
new file mode 100644
index 0000000000..cf58cb9134
--- /dev/null
+++ b/keyboards/kinesis/kint36/rules.mk
@@ -0,0 +1,6 @@
+BOARD = PJRC_TEENSY_3_6
+MCU = MK66F18
+
+# Debounce eagerly (report change immediately), keep per-key timers. We can use
+# this because the kinT does not have to deal with noise.
+DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/kinesis/nguyenvietyen/rules.mk b/keyboards/kinesis/nguyenvietyen/rules.mk
index c2d5f729bc..a401973aad 100644
--- a/keyboards/kinesis/nguyenvietyen/rules.mk
+++ b/keyboards/kinesis/nguyenvietyen/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes
+BOOTMAGIC_ENABLE = full
MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = yes
COMMAND_ENABLE = yes
diff --git a/keyboards/kinesis/rules.mk b/keyboards/kinesis/rules.mk
index cc0691e984..651751fa64 100644
--- a/keyboards/kinesis/rules.mk
+++ b/keyboards/kinesis/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = halfkay
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h
index 5037baebd3..8f920c19c1 100644
--- a/keyboards/kinesis/stapelberg/config.h
+++ b/keyboards/kinesis/stapelberg/config.h
@@ -2,6 +2,7 @@
#define STAPELBERG_CONFIG_H
#include "../config.h"
+#include "config_common.h"
/* USB Device descriptor parameter */
#define PRODUCT_ID 0x6060