From f1dbf72e09363efa1bc8703f0215af41803d0e80 Mon Sep 17 00:00:00 2001 From: Donald Date: Sun, 23 Jul 2017 16:43:35 -0400 Subject: [PATCH] Changed case of protosplit Also updated readme to have correct capitalization. --- keyboards/deltasplit75/deltasplit75.h | 4 +- .../deltasplit75/keymaps/default/config.h | 31 +++++++ .../deltasplit75/keymaps/default/keymap.c | 31 +++++++ .../deltasplit75/keymaps/protosplit/config.h | 31 +++++++ .../deltasplit75/keymaps/protosplit/keymap.c | 31 +++++++ keyboards/deltasplit75/protosplit/Makefile | 3 + keyboards/deltasplit75/protosplit/config.h | 90 +++++++++++++++++++ .../deltasplit75/protosplit/protosplit.c | 32 +++++++ .../deltasplit75/protosplit/protosplit.h | 37 ++++++++ keyboards/deltasplit75/protosplit/rules.mk | 5 ++ keyboards/deltasplit75/readme.md | 8 +- 11 files changed, 297 insertions(+), 6 deletions(-) create mode 100644 keyboards/deltasplit75/keymaps/default/config.h create mode 100644 keyboards/deltasplit75/keymaps/default/keymap.c create mode 100644 keyboards/deltasplit75/keymaps/protosplit/config.h create mode 100644 keyboards/deltasplit75/keymaps/protosplit/keymap.c create mode 100644 keyboards/deltasplit75/protosplit/Makefile create mode 100644 keyboards/deltasplit75/protosplit/config.h create mode 100644 keyboards/deltasplit75/protosplit/protosplit.c create mode 100644 keyboards/deltasplit75/protosplit/protosplit.h create mode 100644 keyboards/deltasplit75/protosplit/rules.mk diff --git a/keyboards/deltasplit75/deltasplit75.h b/keyboards/deltasplit75/deltasplit75.h index 7ca898aa52..070dcc71b5 100644 --- a/keyboards/deltasplit75/deltasplit75.h +++ b/keyboards/deltasplit75/deltasplit75.h @@ -4,8 +4,8 @@ #ifdef SUBPROJECT_v2 #include "v2.h" #endif -#ifdef SUBPROJECT_ProtoSplit - #include "ProtoSplit.h" +#ifdef SUBPROJECT_protosplit + #include "protosplit.h" #endif #include "quantum.h" diff --git a/keyboards/deltasplit75/keymaps/default/config.h b/keyboards/deltasplit75/keymaps/default/config.h new file mode 100644 index 0000000000..c72c00e681 --- /dev/null +++ b/keyboards/deltasplit75/keymaps/default/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + + +#define USE_SERIAL + +#define MASTER_LEFT +// #define _MASTER_RIGHT +// #define EE_HANDS + + +#ifdef SUBPROJECT_v2 + #include "../../v2/config.h" +#endif +#ifdef SUBPROJECT_protosplit + #include "../../protosplit/config.h" +#endif diff --git a/keyboards/deltasplit75/keymaps/default/keymap.c b/keyboards/deltasplit75/keymaps/default/keymap.c new file mode 100644 index 0000000000..bfb6ac29e3 --- /dev/null +++ b/keyboards/deltasplit75/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +#include "deltasplit75.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// 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. + +// Fillers to make layering more clear + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + KEYMAP( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_END, KC_PGDN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_SLCK, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, KC_PAUS, //modify KC_TRNS to enable ISO Support + KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PSCR, //modify KC_TRNS to enable ISO Support + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLU, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + M(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_VOLD, M(0), KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; \ No newline at end of file diff --git a/keyboards/deltasplit75/keymaps/protosplit/config.h b/keyboards/deltasplit75/keymaps/protosplit/config.h new file mode 100644 index 0000000000..c72c00e681 --- /dev/null +++ b/keyboards/deltasplit75/keymaps/protosplit/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + + +#define USE_SERIAL + +#define MASTER_LEFT +// #define _MASTER_RIGHT +// #define EE_HANDS + + +#ifdef SUBPROJECT_v2 + #include "../../v2/config.h" +#endif +#ifdef SUBPROJECT_protosplit + #include "../../protosplit/config.h" +#endif diff --git a/keyboards/deltasplit75/keymaps/protosplit/keymap.c b/keyboards/deltasplit75/keymaps/protosplit/keymap.c new file mode 100644 index 0000000000..14bf6e0f86 --- /dev/null +++ b/keyboards/deltasplit75/keymaps/protosplit/keymap.c @@ -0,0 +1,31 @@ +#include "deltasplit75.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// 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. + +// Fillers to make layering more clear + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + KEYMAP( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_END, KC_PGDN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_SLCK, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PAUS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PSCR, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLU, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + M(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_VOLD, M(0), KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; \ No newline at end of file diff --git a/keyboards/deltasplit75/protosplit/Makefile b/keyboards/deltasplit75/protosplit/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/deltasplit75/protosplit/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../Makefile +endif \ No newline at end of file diff --git a/keyboards/deltasplit75/protosplit/config.h b/keyboards/deltasplit75/protosplit/config.h new file mode 100644 index 0000000000..d1f6f7966c --- /dev/null +++ b/keyboards/deltasplit75/protosplit/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x3060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER xyxjj +#define PRODUCT DeltaSplit75 +#define DESCRIPTION 75% split keyboard + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 14 +#define MATRIX_COLS 8 + +// wiring of each half +#define MATRIX_ROW_PINS { F4, F5, F6, F7, B1, B3, B2 } +#define MATRIX_COL_PINS { B6, B5, B4, E6, D7, C6, D4, D1} + +#define CATERINA_BOOTLOADER + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 12 // Number of LEDs +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + + +#endif \ No newline at end of file diff --git a/keyboards/deltasplit75/protosplit/protosplit.c b/keyboards/deltasplit75/protosplit/protosplit.c new file mode 100644 index 0000000000..a4b54dcfce --- /dev/null +++ b/keyboards/deltasplit75/protosplit/protosplit.c @@ -0,0 +1,32 @@ +#include "deltasplit75.h" + +#ifdef AUDIO_ENABLE + float tone_startup[][2] = SONG(STARTUP_SOUND); + float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + +void matrix_init_kb(void) { + + #ifdef AUDIO_ENABLE + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); + #endif + + // // green led on + // DDRD |= (1<<5); + // PORTD &= ~(1<<5); + + // // orange led on + // DDRB |= (1<<0); + // PORTB &= ~(1<<0); + + matrix_init_user(); +}; + +void shutdown_user(void) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); + #endif +} diff --git a/keyboards/deltasplit75/protosplit/protosplit.h b/keyboards/deltasplit75/protosplit/protosplit.h new file mode 100644 index 0000000000..7a0f5b703e --- /dev/null +++ b/keyboards/deltasplit75/protosplit/protosplit.h @@ -0,0 +1,37 @@ +#ifndef protosplit_H +#define protosplit_H + +#include "../deltasplit75.h" + +//void promicro_bootloader_jmp(bool program); +#include "quantum.h" + +//void promicro_bootloader_jmp(bool program); +//matrix is defined in a weird way here; the layout on both sides are asymmetrical, but the "matrix" is symmetrical but with empty gaps +//the last column is defined as a separate row because the firmware currently doesnt support more than 8 columns (this layout has 9 columns per side) K45 and K110 are the Bs on both sides +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K70, K71, K72, K73, K74, K75, K76, K77, K132, \ + K10, K11, K12, K13, K14, K15, K16, K80, K81, K82, K83, K84, K85, K86, K87, K133, \ + K20, K21, K22, K23, K24, K25, K90, K91, K92, K93, K94, K95, K96, K97, K134, \ + K30, K31, K32, K33, K34, K35, K100, K101, K102, K103, K104, K105, K107, K135, \ + K40, K41, K42, K43, K44, K45, K110, K111, K112, K113, K114, K115, K116, K117, K136, \ + K50, K51, K52, K54, K55, K120, K121, K122, K123, K126, K127, K137 \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, KC_NO}, \ + { K10, K11, K12, K13, K14, K15, K16, KC_NO}, \ + { K20, K21, K22, K23, K24, K25, KC_NO, KC_NO}, \ + { K30, K31, K32, K33, K34, K35, KC_NO, KC_NO}, \ + { K40, K41, K42, K43, K44, K45, KC_NO, KC_NO}, \ + { K50, K51, K52, KC_NO, K54, K55, KC_NO, KC_NO}, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}, \ + { K70 , K71, K72, K73, K74, K75, K76, K77}, \ + { K80, K81, K82, K83, K84, K85, K86, K87}, \ + { K90, K91, K92, K93, K94, K95, K96, K97}, \ + { K100, K101, K102, K103, K104, K105, KC_NO, K107}, \ + { K110, K111, K112, K113, K114, K115, K116, K117}, \ + { K120, K121, K122, K123, KC_NO, KC_NO, K126, K127}, \ + { KC_NO, KC_NO, K132, K133, K134, K135, K136, K137} \ + } + +#endif \ No newline at end of file diff --git a/keyboards/deltasplit75/protosplit/rules.mk b/keyboards/deltasplit75/protosplit/rules.mk new file mode 100644 index 0000000000..80a942d06f --- /dev/null +++ b/keyboards/deltasplit75/protosplit/rules.mk @@ -0,0 +1,5 @@ +BACKLIGHT_ENABLE = no + +ifndef QUANTUM_DIR + include ../../../Makefile +endif diff --git a/keyboards/deltasplit75/readme.md b/keyboards/deltasplit75/readme.md index 6932c556bf..5844412bf6 100644 --- a/keyboards/deltasplit75/readme.md +++ b/keyboards/deltasplit75/readme.md @@ -17,21 +17,21 @@ Files are available here: https://github.com/xyxjj/DeltaSplit75-Case-files Download or clone the whole firmware and navigate to the keyboards/DeltaSplit75 directory. Once your dev env is setup, you'll be able to generate the default .hex using: ``` -make V2 +make v2 or -make ProtoSplit-ProtoSplit (if you have one of the prototype PCBs) +make protosplit-protosplit (if you have one of the prototype PCBs) ``` You will see a lot of output and if everything worked correctly you will see the built hex files: ``` -DeltaSplit75_ProtoSplit_ProtoSplit.hex +deltasplit75_protosplit_protosplit.hex or -DeltaSplit75_V2_Default.hex +deltasplit75_v2_default.hex ```