From ad5ead24c38a5ffe06017bd3f83b67ac65f75714 Mon Sep 17 00:00:00 2001 From: "Michael B. Hix" Date: Fri, 25 Oct 2019 15:48:57 -0700 Subject: [PATCH] [Keyboard] musl/add-chiron-keyboard (#7146) * Add the Chiron keyboard * Add link to case repo * Update keyboards/handwired/chiron/readme.md Co-Authored-By: fauxpark * Update keyboards/handwired/chiron/keymaps/default/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Clean up rules.mk for the configurator --- keyboards/handwired/chiron/chiron.c | 16 +++++ keyboards/handwired/chiron/chiron.h | 42 ++++++++++++ keyboards/handwired/chiron/config.h | 57 +++++++++++++++++ keyboards/handwired/chiron/info.json | 0 .../handwired/chiron/keymaps/default/config.h | 52 +++++++++++++++ .../handwired/chiron/keymaps/default/keymap.c | 64 +++++++++++++++++++ .../chiron/keymaps/default/readme.md | 1 + .../handwired/chiron/keymaps/default/rules.mk | 0 keyboards/handwired/chiron/readme.md | 16 +++++ keyboards/handwired/chiron/rules.mk | 38 +++++++++++ 10 files changed, 286 insertions(+) create mode 100644 keyboards/handwired/chiron/chiron.c create mode 100644 keyboards/handwired/chiron/chiron.h create mode 100644 keyboards/handwired/chiron/config.h create mode 100644 keyboards/handwired/chiron/info.json create mode 100644 keyboards/handwired/chiron/keymaps/default/config.h create mode 100644 keyboards/handwired/chiron/keymaps/default/keymap.c create mode 100644 keyboards/handwired/chiron/keymaps/default/readme.md create mode 100644 keyboards/handwired/chiron/keymaps/default/rules.mk create mode 100644 keyboards/handwired/chiron/readme.md create mode 100644 keyboards/handwired/chiron/rules.mk diff --git a/keyboards/handwired/chiron/chiron.c b/keyboards/handwired/chiron/chiron.c new file mode 100644 index 0000000000..997cda6a4d --- /dev/null +++ b/keyboards/handwired/chiron/chiron.c @@ -0,0 +1,16 @@ +/* Copyright 2019 Mike Hix + * + * 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 "chiron.h" diff --git a/keyboards/handwired/chiron/chiron.h b/keyboards/handwired/chiron/chiron.h new file mode 100644 index 0000000000..9d1ab385a5 --- /dev/null +++ b/keyboards/handwired/chiron/chiron.h @@ -0,0 +1,42 @@ +/* Copyright 2019 Mike Hix + * + * 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 LAYOUT( \ + L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ + L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ + L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ + L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ + L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \ + ) \ + { \ + /* Left Half */ \ + { L06, L05, L04, L03, L02, L01, L00 }, \ + { L16, L15, L14, L13, L12, L11, L10 }, \ + { L26, L25, L24, L23, L22, L21, L20 }, \ + { L36, L35, L34, L33, L32, L31, L30 }, \ + { L45, L44, L43, KC_NO, L42, L41, L40 }, \ + /* Right Half */ \ + { R06, R05, R04, R03, R02, R01, R00 }, \ + { R16, R15, R14, R13, R12, R11, R10 }, \ + { R26, R25, R24, R23, R22, R21, R20 }, \ + { R36, R35, R34, R33, R32, R31, R30 }, \ + { R45, R44, R43, KC_NO, R42, R41, R40 } \ + } + +#define LAYOUT_chiron LAYOUT diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h new file mode 100644 index 0000000000..fcc5ae49a6 --- /dev/null +++ b/keyboards/handwired/chiron/config.h @@ -0,0 +1,57 @@ +/* +Copyright 2019 Mike Hix + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Mike Hix +#define PRODUCT chiron +#define DESCRIPTION A custom keyboard + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +// Pro Micro Pins 4, 6, 7, 8, 9 +#define MATRIX_ROW_PINS { D4, D7, E6, B4, B5 } +// Pro Micro Pins A3, A2, A1, A0, 15, 14, 16 +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } + +#define UNUSED_PINS + +// Pro Micro Pins RX1 +#define SPLIT_HAND_PIN D2 + +// Pro Micro Pins RX1 +#define SOFT_SERIAL_PIN D0 + +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define RGB_DI_PIN D3 +#define RGBLED_NUM 4 + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 7 + diff --git a/keyboards/handwired/chiron/info.json b/keyboards/handwired/chiron/info.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h new file mode 100644 index 0000000000..08134a720b --- /dev/null +++ b/keyboards/handwired/chiron/keymaps/default/config.h @@ -0,0 +1,52 @@ +/* Copyright 2019 Mike Hix + * + * 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 + +#define USE_SERIAL +#define MASTER_RIGHT +//#define MASTER_LEFT + +#define IGNORE_MOD_TAP_INTERRUPT +#define PERMISSIVE_HOLD + +#define TAPPING_TERM 200 + +#define MOUSEKEY_DELAY 20 +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_MAX_SPEED 10 +#define MOUSEKEY_TIME_TO_MAX 30 +#define MOUSEKEY_WHEEL_MAX_SPEED 8 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 + +#undef RGBLED_NUM +#define RGBLED_NUM 2 +#define RGBLED_SPLIT {1, 1} + +// Don't turn off lights when the host goes to sleep. +#undef RGBLIGHT_SLEEP + +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +// Selectively enable animations to save on code size. +#undef RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL + diff --git a/keyboards/handwired/chiron/keymaps/default/keymap.c b/keyboards/handwired/chiron/keymaps/default/keymap.c new file mode 100644 index 0000000000..53c8edeb0a --- /dev/null +++ b/keyboards/handwired/chiron/keymaps/default/keymap.c @@ -0,0 +1,64 @@ +/* Copyright 2019 Mike Hix + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_END, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BSPC, KC_DEL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_ESC, KC_A, KC_O, LT(1,KC_E), LT(2,KC_U), KC_I, LCTL_T(KC_ENT), RCTL_T(KC_ENT), KC_D, LT(3,KC_H), LT(4,KC_T), KC_N, KC_S, KC_MINS, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_PGUP, KC_PGDN, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + KC_CAPS, KC_INS, KC_LCTL, /*, */KC_LALT, LGUI_T(KC_SPC), KC_HYPR, KC_HYPR, RGUI_T(KC_SPC), KC_RALT, /*, */KC_LBRC, KC_RBRC, KC_SLSH + ), + [1] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, XXXXXXX, XXXXXXX, RESET, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, EEP_RST, + XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, _______, KC_MUTE, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_BTN2, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLD, XXXXXXX, KC_WH_D, XXXXXXX, KC_BTN3, KC_BTN4, + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + ), + [2] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, KC_UP, KC_PAUS, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + ), + [3] = LAYOUT( + XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + ), + [4] = LAYOUT( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, RGB_TOG, _______, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, + _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + ) + /* + [] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + ) + */ +}; + diff --git a/keyboards/handwired/chiron/keymaps/default/readme.md b/keyboards/handwired/chiron/keymaps/default/readme.md new file mode 100644 index 0000000000..c95a502f22 --- /dev/null +++ b/keyboards/handwired/chiron/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for chiron diff --git a/keyboards/handwired/chiron/keymaps/default/rules.mk b/keyboards/handwired/chiron/keymaps/default/rules.mk new file mode 100644 index 0000000000..e69de29bb2 diff --git a/keyboards/handwired/chiron/readme.md b/keyboards/handwired/chiron/readme.md new file mode 100644 index 0000000000..1e4bcf8b66 --- /dev/null +++ b/keyboards/handwired/chiron/readme.md @@ -0,0 +1,16 @@ +# Chiron Keyboard + +![chiron](https://i.imgur.com/3XZACfs.jpg) + +This is a custom keyboard meant to be easily and quickly 3D printable on +most FFF/FDM printers. It's inspired by the [Viterbi](https://keeb.io/products/viterbi-keyboard-pcbs-5x7-70-split-ortholinear), [Iris](https://keeb.io/products/iris-keyboard-split-ergonomic-keyboard), and +[Dactyl Manuform](https://github.com/adereth/dactyl-keyboard) keyboards. + +Keyboard Maintainer: [Mike Hix](https://github.com/musl/) +Case: [https://github.com/musl/chiron-keyboard](https://github.com/musl/chiron-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make handwired/chiron:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/handwired/chiron/rules.mk b/keyboards/handwired/chiron/rules.mk new file mode 100644 index 0000000000..a5bbb30e18 --- /dev/null +++ b/keyboards/handwired/chiron/rules.mk @@ -0,0 +1,38 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = atmel-dfu +SPLIT_KEYBOARD = yes + +# Build Options +# change yes to no to disable +# +AUDIO_ENABLE = no +AUTOLOG_ENABLE = no +BACKLIGHT_ENABLE = no +BLUETOOTH_ENABLE = no +BOOTMAGIC_ENABLE = no +COMMAND_ENABLE = no +CONSOLE_ENABLE = no +DEBUG_ENABLE = no +EXTRAKEY_ENABLE = no +FAUXCLICKY_ENABLE = no +HD44780_ENABLE = no +LEADER_ENABLE = no +MIDI_ENABLE = no +MOUSEKEY_ENABLE = yes +NKRO_ENABLE = no +RGBLIGHT_ENABLE = yes +SLEEP_LED_ENABLE = yes +TAP_DANCE_ENABLE = no +UCIS_ENABLE = no +UNICODEMAP_ENABLE = no +UNICODE_ENABLE = no