From 9d3b11d4856f478e2c91788cf77a52e62ec85d19 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Wed, 31 Mar 2021 01:41:41 +0200 Subject: add kinesis/kint36 (#10171) This moves the config_common.h into the files that include ../config.h, so that the kint36/config.h does not include it (which would cause compilation errors). --- keyboards/kinesis/kint36/chconf.h | 28 ++++++++++++ keyboards/kinesis/kint36/config.h | 66 +++++++++++++++++++++++++++ keyboards/kinesis/kint36/kint36.c | 26 +++++++++++ keyboards/kinesis/kint36/kint36.h | 92 ++++++++++++++++++++++++++++++++++++++ keyboards/kinesis/kint36/mcuconf.h | 65 +++++++++++++++++++++++++++ keyboards/kinesis/kint36/readme.md | 3 ++ keyboards/kinesis/kint36/rules.mk | 2 + 7 files changed, 282 insertions(+) create mode 100644 keyboards/kinesis/kint36/chconf.h create mode 100644 keyboards/kinesis/kint36/config.h create mode 100644 keyboards/kinesis/kint36/kint36.c create mode 100644 keyboards/kinesis/kint36/kint36.h create mode 100644 keyboards/kinesis/kint36/mcuconf.h create mode 100644 keyboards/kinesis/kint36/readme.md create mode 100644 keyboards/kinesis/kint36/rules.mk (limited to 'keyboards/kinesis/kint36') 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 . + */ + +/* + * 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 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 . + */ + +#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/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 . + */ + +#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 . + */ + +#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..8e44171c74 --- /dev/null +++ b/keyboards/kinesis/kint36/rules.mk @@ -0,0 +1,2 @@ +BOARD = PJRC_TEENSY_3_6 +MCU = MK66F18 -- cgit v1.2.3 From 15f7cc3bde0199afe3b49718fa7b73bc6771e04b Mon Sep 17 00:00:00 2001 From: Dave Vandyke Date: Tue, 13 Apr 2021 10:39:39 +0100 Subject: [Keymap] Add kzar keymap for Kinesis Advantage (#12444) --- keyboards/kinesis/kint36/keymaps/kzar/config.h | 19 ++ keyboards/kinesis/kint36/keymaps/kzar/keymap.c | 405 ++++++++++++++++++++++++ keyboards/kinesis/kint36/keymaps/kzar/readme.md | 9 + keyboards/kinesis/kint36/keymaps/kzar/rules.mk | 5 + 4 files changed, 438 insertions(+) create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/config.h create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/keymap.c create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/readme.md create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/rules.mk (limited to 'keyboards/kinesis/kint36') 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 + * + * 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 + +#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..20b1352683 --- /dev/null +++ b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c @@ -0,0 +1,405 @@ +/* Copyright 2021 Dave Vandyke , + * 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 . + */ + +#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_is(_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 -- cgit v1.2.3 From 3d32cbb0dccf44176bfafec35dfabb451c71b9bc Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 20 Apr 2021 19:08:01 +0200 Subject: [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626) --- keyboards/kinesis/kint36/rules.mk | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'keyboards/kinesis/kint36') diff --git a/keyboards/kinesis/kint36/rules.mk b/keyboards/kinesis/kint36/rules.mk index 8e44171c74..cf58cb9134 100644 --- a/keyboards/kinesis/kint36/rules.mk +++ b/keyboards/kinesis/kint36/rules.mk @@ -1,2 +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 -- cgit v1.2.3 From 75da5e974255b8cdb11bcef181748433e0dcdb38 Mon Sep 17 00:00:00 2001 From: Dave Vandyke Date: Fri, 14 May 2021 16:30:21 +0100 Subject: [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895) --- keyboards/kinesis/kint36/keymaps/kzar/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/kinesis/kint36') diff --git a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c index 20b1352683..524792de81 100644 --- a/keyboards/kinesis/kint36/keymaps/kzar/keymap.c +++ b/keyboards/kinesis/kint36/keymaps/kzar/keymap.c @@ -375,7 +375,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("Keyboard> " QMK_KEYBOARD "\n"); SEND_STRING("Keymap> " QMK_KEYMAP "\n"); - if (layer_state_is(_QWERTY)) + if (layer_state_cmp(default_layer_state, _QWERTY)) SEND_STRING("Layout> QWERTY\n"); else SEND_STRING("Layout> DVORAK\n"); -- cgit v1.2.3 From 143ded332d31ddd9ffdf54b0e93258ee02e2b871 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 24 Jun 2021 04:54:18 +0200 Subject: kint36: set correct EEPROM size (#12946) The Teensy 3.6 comes with 4096 bytes of EEPROM. This is commit 1 of 2 to make the EEPROM work. The next commit changes the core code to wire up the EEPROM. --- keyboards/kinesis/kint36/config.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'keyboards/kinesis/kint36') diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h index be57526036..8b46b3fc16 100644 --- a/keyboards/kinesis/kint36/config.h +++ b/keyboards/kinesis/kint36/config.h @@ -64,3 +64,5 @@ #define LED_CAPS_LOCK_PIN C7 #define LED_SCROLL_LOCK_PIN A5 #define LED_COMPOSE_PIN E26 + +#define EEPROM_SIZE 4096 -- cgit v1.2.3 From a03aa301def77c867ae6c6c840f7fc82b26d91d6 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 6 Aug 2021 23:59:56 -0700 Subject: Remove Full Bootmagic (#13846) * disambiguate Bootmagic rules in keymaps The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic. This commit edits the files to specify that full Bootmagic is intended. * remove BOOTMAGIC_ENABLE=full setting * unify commented BOOTMAGIC_ENABLE rules in keyboards Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} + ``` * remove commented Bootmagic rules from keymap/user level Command: ``` find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} + ``` * update keyboard BOOTMAGIC_ENABLE rule formatting Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later). Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + ``` * update keyboards' BOOTMAGIC_ENABLE settings Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' + ``` * update keymap/user BOOTMAGIC_ENABLE settings Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + ``` * remove and replace inline comments in keyboards and keymap/user files Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' + ``` * rename improperly named makefiles Some files intended to be used as makefiles had improper names causing them to not be used as intended when building. This commit corrects the filenames of the affected files. * update renamed file with new rule formatting * update QMK's template files Updates QMK's `rules.mk` templates to use the new inline comment. * update QMK Docs - remove documentation of full Bootmagic - update links to Bootmagic Lite doc - add doc for Magic Keycodes * rules.mk patch for coarse/ixora and coarse/vinta --- keyboards/kinesis/kint36/keymaps/kzar/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/kinesis/kint36') diff --git a/keyboards/kinesis/kint36/keymaps/kzar/rules.mk b/keyboards/kinesis/kint36/keymaps/kzar/rules.mk index 7537188840..a881765128 100644 --- a/keyboards/kinesis/kint36/keymaps/kzar/rules.mk +++ b/keyboards/kinesis/kint36/keymaps/kzar/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = yes -- cgit v1.2.3