diff options
26 files changed, 1032 insertions, 125 deletions
| diff --git a/keyboards/lets_split/Makefile b/keyboards/lets_split/Makefile index 4e2a6f00fd..6ce6e43731 100644 --- a/keyboards/lets_split/Makefile +++ b/keyboards/lets_split/Makefile @@ -1,3 +1,82 @@ +<<<<<<< HEAD  ifndef MAKEFILE_INCLUDED +======= +SRC += matrix.c \ +	   i2c.c \ +	   split_util.c \ +	   serial.c + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +#     This will define a symbol, F_CPU, in all source code files equal to the +#     processor frequency in Hz. You can then use this symbol in your source code to +#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done +#     automatically to create a 32-bit value in your source code. +# +#     This will be an integer division of F_USB below, as it is sourced by +#     F_USB after it has run through any CPU prescalers. Note that this value +#     does not *change* the processor frequency - it should merely be updated to +#     reflect the processor speed set externally so that the code can use accurate +#     software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +#     This will define a symbol, F_USB, in all source code files equal to the +#     input clock frequency (before any prescaling is performed) in Hz. This value may +#     differ from F_CPU if prescaling is used on the latter, and is required as the +#     raw input clock is fed directly to the PLL sections of the AVR for high speed +#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +#     at the end, this will be done automatically to create a 32-bit value in your +#     source code. +# +#     If no clock division is performed on the input clock inside the AVR (via the +#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +#   Teensy halfKay   512 +#   Teensy++ halfKay 1024 +#   Atmel DFU loader 4096 +#   LUFA bootloader  4096 +#   USBaspLoader     2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +# Build Options +#   change to "no" to disable the options, or define them in the Makefile in  +#   the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE ?= no       # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450) +CONSOLE_ENABLE ?= no         # Console for debug(+400) +COMMAND_ENABLE ?= yes        # Commands for debug and configuration +NKRO_ENABLE ?= no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE ?= no      # Enable keyboard backlight functionality +MIDI_ENABLE ?= no            # MIDI controls +AUDIO_ENABLE ?= yes           # Audio output on port C6 +UNICODE_ENABLE ?= no         # Unicode +BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time. +USE_I2C ?= yes +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend + +CUSTOM_MATRIX = yes +SUBPROJECT_DEFAULT = rev2 +ifndef QUANTUM_DIR +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df  	include ../../Makefile  endif
\ No newline at end of file diff --git a/keyboards/lets_split/config.h b/keyboards/lets_split/config.h index f4d900accb..91b11f03fd 100644 --- a/keyboards/lets_split/config.h +++ b/keyboards/lets_split/config.h @@ -28,29 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define PRODUCT         Lets Split  #define DESCRIPTION     A split keyboard for the cheap makers -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 8 -#define MATRIX_COLS 6 - -// wiring of each half -#define MATRIX_ROW_PINS { B5, B4, E6, D7 } -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } - -#define CATERINA_BOOTLOADER - -// #define USE_I2C - -// Use serial if not using I2C -#ifndef USE_I2C -#  define USE_SERIAL -#endif - -// #define EE_HANDS - -#define I2C_MASTER_LEFT -// #define I2C_MASTER_RIGHT -  /* COL2ROW or ROW2COL */  #define DIODE_DIRECTION COL2ROW @@ -72,25 +49,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define IS_COMMAND() ( \      keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \  ) - -/* ws2812 RGB LED */ -#define RGB_DI_PIN D4 -#define RGBLIGHT_TIMER -#define RGBLED_NUM 8     // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -/* - * Feature disable options - *  These options are also useful to firmware size reduction. - */ -  /* disable debug print */ -// #define NO_DEBUG +//#define NO_DEBUG  /* disable print */ -// #define NO_PRINT +//#define NO_PRINT  /* disable action features */  //#define NO_ACTION_LAYER @@ -98,5 +61,20 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  //#define NO_ACTION_ONESHOT  //#define NO_ACTION_MACRO  //#define NO_ACTION_FUNCTION - +<<<<<<< HEAD +======= +<<<<<<< HEAD +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +#ifdef SUBPROJECT_rev1 +    #include "rev1/config.h" +#endif +#ifdef SUBPROJECT_rev2 +    #include "rev2/config.h"  #endif +#endif +<<<<<<< HEAD +======= + + + +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c index 0d2d94b672..41b9b8d8ff 100644 --- a/keyboards/lets_split/keymaps/default/keymap.c +++ b/keyboards/lets_split/keymaps/default/keymap.c @@ -29,6 +29,7 @@ enum custom_keycodes {  #define XXXXXXX KC_NO  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +<<<<<<< HEAD  /* Qwerty   * ,-----------------------------------------------------------------------------------. @@ -42,10 +43,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {   * `-----------------------------------------------------------------------------------'   */  [_QWERTY] = KEYMAP( \ -  KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \ -  KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \ +  KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \ +  KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT , \ -  ADJUST,  KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \ +  KC_LCTL, ADJUST, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  MT(MOD_LSFT, KC_SPC),  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \  ),  /* Colemak @@ -82,42 +83,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_SLSH, \    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT , \    ADJUST,  KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \ +======= +[0] = KEYMAP( \ +  KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL, \ +  KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, \ +  KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_ENT , \ +  KC_LCTL, _LOWER, KC_LGUI, KC_LALT, MO(_LOWER),   KC_SPC,  KC_SPC,  MO(_RAISE),   KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df  ), - -/* Lower - * ,-----------------------------------------------------------------------------------. - * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |     |    \  |  |   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | |      |      |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_LOWER] = KEYMAP( \ -  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ +[3] = KEYMAP( \ +  KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \ -  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +<<<<<<< HEAD +  _______, _______, _______, _______, _______, KC_BSPC, MT(MOD_LSFT, KC_BSPC), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +======= +  _______, _______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df  ), - -/* Raise - * ,-----------------------------------------------------------------------------------. - * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |      |      |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */ -[_RAISE] = KEYMAP( \ -  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \ +[4] = KEYMAP( \ +  KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______, \    KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, \    _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, _______, _______, _______, \ -  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +<<<<<<< HEAD +  _______, _______, _______, _______, _______, KC_ENT, MT(MOD_LSFT, KC_ENT), _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \  ),  /* Adjust (Lower + Raise) @@ -134,11 +123,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  [_ADJUST] =  KEYMAP( \    _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \    _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK, DVORAK,  _______, _______, \ -  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ +  _______, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, _______, _______, _______, \    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \  ) +======= +  _______, _______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ +), +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df  };  #ifdef AUDIO_ENABLE diff --git a/keyboards/lets_split/lets_split.c b/keyboards/lets_split/lets_split.c index c505d3a6e3..8bb33f9514 100644 --- a/keyboards/lets_split/lets_split.c +++ b/keyboards/lets_split/lets_split.c @@ -1,32 +1,6 @@  #include "lets_split.h" -#ifdef AUDIO_ENABLE -    float tone_startup[][2] = SONG(STARTUP_SOUND); -    float tone_goodbye[][2] = SONG(GOODBYE_SOUND); -#endif +<<<<<<< HEAD +======= -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 -} +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/lets_split/lets_split.h b/keyboards/lets_split/lets_split.h index fe7ae07679..2cdfb061f2 100644 --- a/keyboards/lets_split/lets_split.h +++ b/keyboards/lets_split/lets_split.h @@ -1,25 +1,13 @@  #ifndef LETS_SPLIT_H  #define LETS_SPLIT_H -#include "quantum.h" - -void promicro_bootloader_jmp(bool program); +#ifdef SUBPROJECT_rev1 +    #include "rev1.h" +#endif +#ifdef SUBPROJECT_rev2 +    #include "rev2.h" +#endif -#define KEYMAP( \ -	k00, k01, k02, k03, k04, k05, k40, k41, k42, k43, k44, k45, \ -	k10, k11, k12, k13, k14, k15, k50, k51, k52, k53, k54, k55, \ -	k20, k21, k22, k23, k24, k25, k60, k61, k62, k63, k64, k65, \ -	k30, k31, k32, k33, k34, k35, k70, k71, k72, k73, k74, k75 \ -	) \ -	{ \ -		{ k00, k01, k02, k03, k04, k05 }, \ -		{ k10, k11, k12, k13, k14, k15 }, \ -		{ k20, k21, k22, k23, k24, k25 }, \ -		{ k30, k31, k32, k33, k34, k35 }, \ -		{ k40, k41, k42, k43, k44, k45 }, \ -		{ k50, k51, k52, k53, k54, k55 }, \ -		{ k60, k61, k62, k63, k64, k65 }, \ -		{ k70, k71, k72, k73, k74, k75 } \ -	} +#include "quantum.h"  #endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev1/Makefile b/keyboards/lets_split/rev1/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/lets_split/rev1/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED +	include ../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev1/config.h b/keyboards/lets_split/rev1/config.h new file mode 100644 index 0000000000..da5b476733 --- /dev/null +++ b/keyboards/lets_split/rev1/config.h @@ -0,0 +1,120 @@ +/* +Copyright 2012 Jun Wako <[email protected]> + +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/>. +*/ + +#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    Wootpatoot +<<<<<<< HEAD +#define PRODUCT         Lets Split +======= +#define PRODUCT         Lets Split v1 +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +#define DESCRIPTION     A split keyboard for the cheap makers + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { B5, B4, E6, D7 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } + +#define CATERINA_BOOTLOADER + +// #define USE_I2C + +<<<<<<< HEAD +// Use serial if not using I2C +#ifndef USE_I2C +#  define USE_SERIAL +#endif + +======= +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +// #define EE_HANDS + +#define I2C_MASTER_LEFT +// #define I2C_MASTER_RIGHT + +/* 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 */ +<<<<<<< HEAD +#define RGB_DI_PIN D4 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 8     // Number of LEDs +======= +#define ws2812_PORTREG  PORTD +#define ws2812_DDRREG   DDRD +#define ws2812_pin PD1 +#define RGBLED_NUM 28     // Number of LEDs +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +/* + * 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 + +<<<<<<< HEAD +#endif +======= +#endif +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/lets_split/rev1/rev1.c b/keyboards/lets_split/rev1/rev1.c new file mode 100644 index 0000000000..41dd1e3535 --- /dev/null +++ b/keyboards/lets_split/rev1/rev1.c @@ -0,0 +1,38 @@ +#include "lets_split.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) { +<<<<<<< HEAD +    #ifdef AUDIO_ENABLE +        PLAY_NOTE_ARRAY(tone_goodbye, false, 0); +	_delay_ms(150); +	stop_all_notes(); +    #endif +======= +    PLAY_NOTE_ARRAY(tone_goodbye, false, 0); +    _delay_ms(150); +    stop_all_notes(); +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +} diff --git a/keyboards/lets_split/rev1/rev1.h b/keyboards/lets_split/rev1/rev1.h new file mode 100644 index 0000000000..998b2be7c7 --- /dev/null +++ b/keyboards/lets_split/rev1/rev1.h @@ -0,0 +1,31 @@ +#ifndef REV1_H +#define REV1_H + +<<<<<<< HEAD +#include "../lets_split.h" + +//void promicro_bootloader_jmp(bool program); +======= +#include "quantum.h" + +void promicro_bootloader_jmp(bool program); +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df + +#define KEYMAP( \ +	k00, k01, k02, k03, k04, k05, k40, k41, k42, k43, k44, k45, \ +	k10, k11, k12, k13, k14, k15, k50, k51, k52, k53, k54, k55, \ +	k20, k21, k22, k23, k24, k25, k60, k61, k62, k63, k64, k65, \ +	k30, k31, k32, k33, k34, k35, k70, k71, k72, k73, k74, k75 \ +	) \ +	{ \ +		{ k00, k01, k02, k03, k04, k05 }, \ +		{ k10, k11, k12, k13, k14, k15 }, \ +		{ k20, k21, k22, k23, k24, k25 }, \ +		{ k30, k31, k32, k33, k34, k35 }, \ +		{ k40, k41, k42, k43, k44, k45 }, \ +		{ k50, k51, k52, k53, k54, k55 }, \ +		{ k60, k61, k62, k63, k64, k65 }, \ +		{ k70, k71, k72, k73, k74, k75 } \ +	} + +#endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev1/rules.mk b/keyboards/lets_split/rev1/rules.mk new file mode 100644 index 0000000000..a0825b4ef6 --- /dev/null +++ b/keyboards/lets_split/rev1/rules.mk @@ -0,0 +1,5 @@ +BACKLIGHT_ENABLE = no + +ifndef QUANTUM_DIR +	include ../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev2/Makefile b/keyboards/lets_split/rev2/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/lets_split/rev2/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED +	include ../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev2/config.h b/keyboards/lets_split/rev2/config.h new file mode 100644 index 0000000000..19c137e56c --- /dev/null +++ b/keyboards/lets_split/rev2/config.h @@ -0,0 +1,116 @@ +/* +Copyright 2012 Jun Wako <[email protected]> + +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/>. +*/ + +#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    Wootpatoot +#define PRODUCT         Lets Split v2 +#define DESCRIPTION     A split keyboard for the cheap makers + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { D7, E6, B4, B5 } +#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 } + +#define CATERINA_BOOTLOADER + +// #define USE_I2C + +<<<<<<< HEAD +// Use serial if not using I2C +#ifndef USE_I2C +#  define USE_SERIAL +#endif + +======= +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +// #define EE_HANDS + +#define I2C_MASTER_LEFT +// #define I2C_MASTER_RIGHT + +/* 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 */ +<<<<<<< HEAD +#define RGB_DI_PIN D3 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 12    // Number of LEDs +======= +#define ws2812_PORTREG  PORTD +#define ws2812_DDRREG   DDRD +#define ws2812_pin PD1 +#define RGBLED_NUM 28     // Number of LEDs +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +/* + * 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 + +<<<<<<< HEAD +#endif +======= +#endif +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/lets_split/rev2/rev2.c b/keyboards/lets_split/rev2/rev2.c new file mode 100644 index 0000000000..41dd1e3535 --- /dev/null +++ b/keyboards/lets_split/rev2/rev2.c @@ -0,0 +1,38 @@ +#include "lets_split.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) { +<<<<<<< HEAD +    #ifdef AUDIO_ENABLE +        PLAY_NOTE_ARRAY(tone_goodbye, false, 0); +	_delay_ms(150); +	stop_all_notes(); +    #endif +======= +    PLAY_NOTE_ARRAY(tone_goodbye, false, 0); +    _delay_ms(150); +    stop_all_notes(); +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +} diff --git a/keyboards/lets_split/rev2/rev2.h b/keyboards/lets_split/rev2/rev2.h new file mode 100644 index 0000000000..9e251ca57d --- /dev/null +++ b/keyboards/lets_split/rev2/rev2.h @@ -0,0 +1,31 @@ +#ifndef REV2_H +#define REV2_H + +<<<<<<< HEAD +#include "../lets_split.h" + +//void promicro_bootloader_jmp(bool program); +======= +#include "quantum.h" + +void promicro_bootloader_jmp(bool program); +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df + +#define KEYMAP( \ +	k00, k01, k02, k03, k04, k05, k45, k44, k43, k42, k41, k40, \ +	k10, k11, k12, k13, k14, k15, k55, k54, k53, k52, k51, k50, \ +	k20, k21, k22, k23, k24, k25, k65, k64, k63, k62, k61, k60, \ +	k30, k31, k32, k33, k34, k35, k75, k74, k73, k72, k71, k70 \ +	) \ +	{ \ +		{ k00, k01, k02, k03, k04, k05 }, \ +		{ k10, k11, k12, k13, k14, k15 }, \ +		{ k20, k21, k22, k23, k24, k25 }, \ +		{ k30, k31, k32, k33, k34, k35 }, \ +		{ k40, k41, k42, k43, k44, k45 }, \ +		{ k50, k51, k52, k53, k54, k55 }, \ +		{ k60, k61, k62, k63, k64, k65 }, \ +		{ k70, k71, k72, k73, k74, k75 } \ +	} + +#endif
\ No newline at end of file diff --git a/keyboards/lets_split/rev2/rules.mk b/keyboards/lets_split/rev2/rules.mk new file mode 100644 index 0000000000..80a942d06f --- /dev/null +++ b/keyboards/lets_split/rev2/rules.mk @@ -0,0 +1,5 @@ +BACKLIGHT_ENABLE = no + +ifndef QUANTUM_DIR +	include ../../../Makefile +endif diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk index 6fde8a444c..1aee5313c1 100644 --- a/keyboards/lets_split/rules.mk +++ b/keyboards/lets_split/rules.mk @@ -63,11 +63,12 @@ COMMAND_ENABLE ?= yes        # Commands for debug and configuration  NKRO_ENABLE ?= no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work  BACKLIGHT_ENABLE ?= no      # Enable keyboard backlight functionality  MIDI_ENABLE ?= no            # MIDI controls -AUDIO_ENABLE ?= yes           # Audio output on port C6 +AUDIO_ENABLE ?= no           # Audio output on port C6  UNICODE_ENABLE ?= no         # Unicode  BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time. - +RGBLIGHT_ENABLE ?= no       # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time. +SUBPROJECT_rev1 ?= yes +USE_I2C ?= yes  # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE  SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend diff --git a/keyboards/maxipad/Makefile b/keyboards/maxipad/Makefile new file mode 100644 index 0000000000..c65665142a --- /dev/null +++ b/keyboards/maxipad/Makefile @@ -0,0 +1,81 @@ +<<<<<<< HEAD +ifndef MAKEFILE_INCLUDED +	include ../../Makefile +endif +======= + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +#     This will define a symbol, F_CPU, in all source code files equal to the +#     processor frequency in Hz. You can then use this symbol in your source code to +#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done +#     automatically to create a 32-bit value in your source code. +# +#     This will be an integer division of F_USB below, as it is sourced by +#     F_USB after it has run through any CPU prescalers. Note that this value +#     does not *change* the processor frequency - it should merely be updated to +#     reflect the processor speed set externally so that the code can use accurate +#     software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +#     This will define a symbol, F_USB, in all source code files equal to the +#     input clock frequency (before any prescaling is performed) in Hz. This value may +#     differ from F_CPU if prescaling is used on the latter, and is required as the +#     raw input clock is fed directly to the PLL sections of the AVR for high speed +#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +#     at the end, this will be done automatically to create a 32-bit value in your +#     source code. +# +#     If no clock division is performed on the input clock inside the AVR (via the +#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +#   Teensy halfKay   512 +#   Teensy++ halfKay 1024 +#   Atmel DFU loader 4096 +#   LUFA bootloader  4096 +#   USBaspLoader     2048 +OPT_DEFS += -DBOOTLOADER_SIZE=512 + + +# Build Options +#   change yes to no to disable +# +BOOTMAGIC_ENABLE ?= no      # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes        # Console for debug(+400) +COMMAND_ENABLE ?= yes        # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= no            # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no            # MIDI controls +UNICODE_ENABLE ?= no         # Unicode +BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no           # Audio output on port C6 + +ifndef QUANTUM_DIR +	include ../../Makefile +endif + + +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/maxipad/config.h b/keyboards/maxipad/config.h new file mode 100644 index 0000000000..4a942aae94 --- /dev/null +++ b/keyboards/maxipad/config.h @@ -0,0 +1,168 @@ +/* +Copyright 2012 Jun Wako <[email protected]> + +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/>. +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID       0xFEED +#define PRODUCT_ID      0x6060 +#define DEVICE_VER      0x0001 +<<<<<<< HEAD +#define MANUFACTURER    You +#define PRODUCT         maxipad +#define DESCRIPTION     A custom keyboard +======= +#define MANUFACTURER    Wootpatoot +#define PRODUCT         maxipad +#define DESCRIPTION     g8ming keeb +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 6 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B6, F7, B2, B3, B1 } +#define MATRIX_COL_PINS { F6, C6, D7, F5, B4, B5 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW +  +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* 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 + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ +    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1          H +//#define MAGIC_KEY_HELP2          SLASH +//#define MAGIC_KEY_DEBUG          D +//#define MAGIC_KEY_DEBUG_MATRIX   X +//#define MAGIC_KEY_DEBUG_KBD      K +//#define MAGIC_KEY_DEBUG_MOUSE    M +//#define MAGIC_KEY_VERSION        V +//#define MAGIC_KEY_STATUS         S +//#define MAGIC_KEY_CONSOLE        C +//#define MAGIC_KEY_LAYER0_ALT1    ESC +//#define MAGIC_KEY_LAYER0_ALT2    GRAVE +//#define MAGIC_KEY_LAYER0         0 +//#define MAGIC_KEY_LAYER1         1 +//#define MAGIC_KEY_LAYER2         2 +//#define MAGIC_KEY_LAYER3         3 +//#define MAGIC_KEY_LAYER4         4 +//#define MAGIC_KEY_LAYER5         5 +//#define MAGIC_KEY_LAYER6         6 +//#define MAGIC_KEY_LAYER7         7 +//#define MAGIC_KEY_LAYER8         8 +//#define MAGIC_KEY_LAYER9         9 +//#define MAGIC_KEY_BOOTLOADER     PAUSE +//#define MAGIC_KEY_LOCK           CAPS +//#define MAGIC_KEY_EEPROM         E +//#define MAGIC_KEY_NKRO           N +//#define MAGIC_KEY_SLEEP_LED      Z + +/* + * 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 diff --git a/keyboards/maxipad/keymaps/default/Makefile b/keyboards/maxipad/keymaps/default/Makefile new file mode 100644 index 0000000000..f4671a9d11 --- /dev/null +++ b/keyboards/maxipad/keymaps/default/Makefile @@ -0,0 +1,21 @@ +# Build Options +#   change to "no" to disable the options, or define them in the Makefile in  +#   the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes       # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes       # Audio control and System control(+450) +CONSOLE_ENABLE = no         # Console for debug(+400) +COMMAND_ENABLE = yes        # Commands for debug and configuration +NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality +MIDI_ENABLE = no            # MIDI controls +AUDIO_ENABLE = no           # Audio output on port C6 +UNICODE_ENABLE = no         # Unicode +BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR +	include ../../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/maxipad/keymaps/default/config.h b/keyboards/maxipad/keymaps/default/config.h new file mode 100644 index 0000000000..df06a26206 --- /dev/null +++ b/keyboards/maxipad/keymaps/default/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif
\ No newline at end of file diff --git a/keyboards/maxipad/keymaps/default/keymap.c b/keyboards/maxipad/keymaps/default/keymap.c new file mode 100644 index 0000000000..5e3a594ccd --- /dev/null +++ b/keyboards/maxipad/keymaps/default/keymap.c @@ -0,0 +1,59 @@ +#include "maxipad.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = KEYMAP( /* Base */ +  KC_ESC,  KC_1,    KC_2,  KC_3,  KC_4,  KC_5, \ +  KC_TAB,  KC_Q,    KC_W,  KC_E,  KC_R,  KC_T, \ +  MO(1),   KC_A,    KC_S,  KC_D,  KC_F,  KC_G, \ +  KC_LSFT, KC_Z,    KC_X,  KC_C,  KC_V,  KC_B, \ +  KC_LCTL, KC_LALT, MO(1), KC_ENT,KC_GRV,KC_SPC \ +), +[1] = KEYMAP( +  KC_GRV,  KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, \ +<<<<<<< HEAD +  KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, \ +  KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, 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, \ +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df +  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ +  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS  \ +), +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ +  // MACRODOWN only works in this function +      switch(id) { +        case 0: +          if (record->event.pressed) { +            register_code(KC_RSFT); +          } else { +            unregister_code(KC_RSFT); +          } +        break; +      } +    return MACRO_NONE; +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +  return true; +} + +void led_set_user(uint8_t usb_led) { + +}
\ No newline at end of file diff --git a/keyboards/maxipad/keymaps/default/readme.md b/keyboards/maxipad/keymaps/default/readme.md new file mode 100644 index 0000000000..a6c0d4a3f0 --- /dev/null +++ b/keyboards/maxipad/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for maxipad
\ No newline at end of file diff --git a/keyboards/maxipad/maxipad.c b/keyboards/maxipad/maxipad.c new file mode 100644 index 0000000000..879ae86a76 --- /dev/null +++ b/keyboards/maxipad/maxipad.c @@ -0,0 +1,28 @@ +#include "maxipad.h" + +void matrix_init_kb(void) { +	// put your keyboard start-up code here +	// runs once when the firmware starts up + +	matrix_init_user(); +} + +void matrix_scan_kb(void) { +	// put your looping keyboard code here +	// runs every cycle (a lot) + +	matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { +	// put your per-action keyboard code here +	// runs for every action, just before processing by the firmware + +	return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { +	// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + +	led_set_user(usb_led); +} diff --git a/keyboards/maxipad/maxipad.h b/keyboards/maxipad/maxipad.h new file mode 100644 index 0000000000..eee1309ddc --- /dev/null +++ b/keyboards/maxipad/maxipad.h @@ -0,0 +1,25 @@ +#ifndef MAXIPAD_H +#define MAXIPAD_H + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The following is an example using the Planck MIT layout +// The first section contains all of the arguements +// The second converts the arguments into a two-dimensional array +#define KEYMAP( \ +     k00, k01, k02, k03, k04, k05, \ +     k10, k11, k12, k13, k14, k15, \ +     k20, k21, k22, k23, k24, k25, \ +     k30, k31, k32, k33, k34, k35, \ +     k40, k41, k42, k43, k44, k45 \ +) \ +{ \ +    { k00, k01, k02, k03, k04, k05 }, \ +    { k10, k11, k12, k13, k14, k15 }, \ +    { k20, k21, k22, k23, k24, k25 }, \ +    { k30, k31, k32, k33, k34, k35 }, \ +    { k40, k41, k42, k43, k44, k45} \ +} + +#endif diff --git a/keyboards/maxipad/readme.md b/keyboards/maxipad/readme.md new file mode 100644 index 0000000000..1971ce1f36 --- /dev/null +++ b/keyboards/maxipad/readme.md @@ -0,0 +1,46 @@ +maxipad keyboard firmware +====================== + +## Quantum MK Firmware + +<<<<<<< HEAD +For the full Quantum feature list, see [the parent readme](/). +======= +For the full Quantum feature list, see [the parent readme.md](/doc/readme.md). +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df + +## Building + +Download or clone the whole firmware and navigate to the keyboards/maxipad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.  + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default + +<<<<<<< HEAD +To build with the default keymap, simply run `make default`. +======= +To build with the default keymap, simply run `make`. +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df + +### Other Keymaps + +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. + +<<<<<<< HEAD +To build the firmware binary hex file with a keymap just do `make` with a keymap like this: + +``` +$ make [default|jack|<name>] +``` + +Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. +======= +To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: + +``` +$ make keymap=[default|jack|<name>] +``` + +Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` +>>>>>>> bce6e52391da7c5f620c96a91857940f0dee19df diff --git a/keyboards/maxipad/rules.mk b/keyboards/maxipad/rules.mk new file mode 100644 index 0000000000..55898147dd --- /dev/null +++ b/keyboards/maxipad/rules.mk @@ -0,0 +1,67 @@ +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +#     This will define a symbol, F_CPU, in all source code files equal to the +#     processor frequency in Hz. You can then use this symbol in your source code to +#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done +#     automatically to create a 32-bit value in your source code. +# +#     This will be an integer division of F_USB below, as it is sourced by +#     F_USB after it has run through any CPU prescalers. Note that this value +#     does not *change* the processor frequency - it should merely be updated to +#     reflect the processor speed set externally so that the code can use accurate +#     software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +#     This will define a symbol, F_USB, in all source code files equal to the +#     input clock frequency (before any prescaling is performed) in Hz. This value may +#     differ from F_CPU if prescaling is used on the latter, and is required as the +#     raw input clock is fed directly to the PLL sections of the AVR for high speed +#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +#     at the end, this will be done automatically to create a 32-bit value in your +#     source code. +# +#     If no clock division is performed on the input clock inside the AVR (via the +#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +#   Teensy halfKay   512 +#   Teensy++ halfKay 1024 +#   Atmel DFU loader 4096 +#   LUFA bootloader  4096 +#   USBaspLoader     2048 +OPT_DEFS += -DBOOTLOADER_SIZE=512 + + +# Build Options +#   change yes to no to disable +# +BOOTMAGIC_ENABLE ?= no      # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes        # Console for debug(+400) +COMMAND_ENABLE ?= yes        # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= no            # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no            # MIDI controls +UNICODE_ENABLE ?= no         # Unicode +BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no           # Audio output on port C6 | 
