~ruther/qmk_firmware

fe687af54d9a6810ded8bb4dd959eca9fe3e847c — Cole Markham 7 years ago a18cd1b
Keyboard: Add Big Series 2-, 3-, and 4-key boards (#3669)

* Implement magic 8-ball mode for big series switch

* LED Testing

* Add Ctrl+Alt+Del key mapping

* Add Windows lock (win+L) layout.

* Add Big Series 3-key

* Add Big Series 4-key

* Add Big Series 2-key

* Fix layout mapping for Big Series 3u

* Fix merge-conflict.

* Refactor bigseries boards into a single folder
46 files changed, 1451 insertions(+), 8 deletions(-)

R keyboards/bigseries/{bigseries => 1key/1key}.c
R keyboards/bigseries/{bigseries => 1key/1key}.h
R keyboards/bigseries/{ => 1key}/config.h
R keyboards/bigseries/{ => 1key}/info.json
R keyboards/bigseries/{ => 1key}/keymaps/8ball/keymap.c
A keyboards/bigseries/1key/keymaps/ctrl-alt-del/keymap.c
R keyboards/bigseries/{ => 1key}/keymaps/default/keymap.c
R keyboards/bigseries/{ => 1key}/keymaps/dudeofawesome/README.md
R keyboards/bigseries/{ => 1key}/keymaps/dudeofawesome/config.h
R keyboards/bigseries/{ => 1key}/keymaps/dudeofawesome/keymap.c
R keyboards/bigseries/{ => 1key}/keymaps/dudeofawesome/rules.mk
R keyboards/bigseries/{ => 1key}/keymaps/leddance/config.h
R keyboards/bigseries/{ => 1key}/keymaps/leddance/keymap.c
R keyboards/bigseries/{ => 1key}/keymaps/leddance/rules.mk
A keyboards/bigseries/1key/keymaps/lock/keymap.c
A keyboards/bigseries/1key/keymaps/tester/keymap.c
A keyboards/bigseries/1key/readme.md
A keyboards/bigseries/1key/rules.mk
A keyboards/bigseries/2key/2key.c
A keyboards/bigseries/2key/2key.h
A keyboards/bigseries/2key/config.h
A keyboards/bigseries/2key/info.json
A keyboards/bigseries/2key/keymaps/default/keymap.c
A keyboards/bigseries/2key/keymaps/lock/keymap.c
A keyboards/bigseries/2key/keymaps/tester/keymap.c
A keyboards/bigseries/2key/readme.md
A keyboards/bigseries/2key/rules.mk
A keyboards/bigseries/3key/3key.c
A keyboards/bigseries/3key/3key.h
A keyboards/bigseries/3key/config.h
A keyboards/bigseries/3key/info.json
A keyboards/bigseries/3key/keymaps/ctrl-alt-del/keymap.c
A keyboards/bigseries/3key/keymaps/default/keymap.c
A keyboards/bigseries/3key/keymaps/tester/keymap.c
A keyboards/bigseries/3key/readme.md
A keyboards/bigseries/3key/rules.mk
A keyboards/bigseries/4key/4key.c
A keyboards/bigseries/4key/4key.h
A keyboards/bigseries/4key/config.h
A keyboards/bigseries/4key/info.json
A keyboards/bigseries/4key/keymaps/default/keymap.c
A keyboards/bigseries/4key/keymaps/tester/keymap.c
A keyboards/bigseries/4key/readme.md
A keyboards/bigseries/4key/rules.mk
M keyboards/bigseries/readme.md
M keyboards/bigseries/rules.mk
R keyboards/bigseries/bigseries.c => keyboards/bigseries/1key/1key.c +1 -1
@@ 14,7 14,7 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "bigseries.h"
#include "1key.h"

void matrix_scan_kb(void) {
  // Looping keyboard code goes here

R keyboards/bigseries/bigseries.h => keyboards/bigseries/1key/1key.h +0 -0
R keyboards/bigseries/config.h => keyboards/bigseries/1key/config.h +4 -0
@@ 54,6 54,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 5
#ifdef RGBLIGHT_LIMIT_VAL
#undef RGBLIGHT_LIMIT_VAL
#endif
#define RGBLIGHT_LIMIT_VAL 128
#endif

#endif

R keyboards/bigseries/info.json => keyboards/bigseries/1key/info.json +0 -0
R keyboards/bigseries/keymaps/8ball/keymap.c => keyboards/bigseries/1key/keymaps/8ball/keymap.c +0 -0
A keyboards/bigseries/1key/keymaps/ctrl-alt-del/keymap.c => keyboards/bigseries/1key/keymaps/ctrl-alt-del/keymap.c +91 -0
@@ 0,0 1,91 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    LCTL(LALT(KC_DEL))
    ),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(7);
      initialized = 1;
    }
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
  }
  return true;
}

void led_set_user(uint8_t usb_led) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

R keyboards/bigseries/keymaps/default/keymap.c => keyboards/bigseries/1key/keymaps/default/keymap.c +0 -0
R keyboards/bigseries/keymaps/dudeofawesome/README.md => keyboards/bigseries/1key/keymaps/dudeofawesome/README.md +0 -0
R keyboards/bigseries/keymaps/dudeofawesome/config.h => keyboards/bigseries/1key/keymaps/dudeofawesome/config.h +0 -0
R keyboards/bigseries/keymaps/dudeofawesome/keymap.c => keyboards/bigseries/1key/keymaps/dudeofawesome/keymap.c +0 -0
R keyboards/bigseries/keymaps/dudeofawesome/rules.mk => keyboards/bigseries/1key/keymaps/dudeofawesome/rules.mk +0 -0
R keyboards/bigseries/keymaps/leddance/config.h => keyboards/bigseries/1key/keymaps/leddance/config.h +0 -0
R keyboards/bigseries/keymaps/leddance/keymap.c => keyboards/bigseries/1key/keymaps/leddance/keymap.c +0 -0
R keyboards/bigseries/keymaps/leddance/rules.mk => keyboards/bigseries/1key/keymaps/leddance/rules.mk +0 -0
A keyboards/bigseries/1key/keymaps/lock/keymap.c => keyboards/bigseries/1key/keymaps/lock/keymap.c +88 -0
@@ 0,0 1,88 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    LGUI(KC_L)),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(7);
      initialized = 1;
    }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/1key/keymaps/tester/keymap.c => keyboards/bigseries/1key/keymaps/tester/keymap.c +96 -0
@@ 0,0 1,96 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_A),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(35);
      initialized = 1;
    }
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
  case KC_A:
    if (record->event.pressed) {
      SEND_STRING("Howdy!!\n");
      rgblight_step();
      return false;
    }
  }
  return true;
}

void led_set_user(uint8_t usb_led) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/1key/readme.md => keyboards/bigseries/1key/readme.md +15 -0
@@ 0,0 1,15 @@
# Big Series Keyboard

![Big Series 1-Key](https://woodkeys.click/wp-content/uploads/2017/12/woodkeys_419.jpg)

A PCB for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).

Keyboard Maintainer: [Cole Markham](https://github.com/colemarkham) / [Woodkeys.click](https://woodkeys.click)  
Hardware Supported: Big Series PCBs  
Hardware Availability:  [Woodkeys.click](https://woodkeys.click), [NovelKeys](https://novelkeys.xyz)  

Make example for this keyboard (after setting up your build environment):

    make bigseries/1key:default

See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information.

A keyboards/bigseries/1key/rules.mk => keyboards/bigseries/1key/rules.mk +1 -0
@@ 0,0 1,1 @@
# Dummy file to make the QMK build system happy
\ No newline at end of file

A keyboards/bigseries/2key/2key.c => keyboards/bigseries/2key/2key.c +26 -0
@@ 0,0 1,26 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "2key.h"

void matrix_scan_kb(void) {
  // Looping keyboard code goes here
  // This runs every cycle (a lot)
  matrix_scan_user();
#ifdef BACKLIGHT_ENABLE
  backlight_task();
#endif
};

A keyboards/bigseries/2key/2key.h => keyboards/bigseries/2key/2key.h +28 -0
@@ 0,0 1,28 @@
/*
Copyright 2018 Cole Markham

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 BIGSWITCH_H
#define BIGSWITCH_H

#include "quantum.h"

#define LAYOUT( \
  K00, K01  \
) { \
  { K00, K01 }  \
}

#endif

A keyboards/bigseries/2key/config.h => keyboards/bigseries/2key/config.h +63 -0
@@ 0,0 1,63 @@
/*
Copyright 2018 Cole Markham

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      0x6071
#define DEVICE_VER      0x0002
#define MANUFACTURER    WoodKeys.click
#define PRODUCT         BigSeries Single Keyboard
#define DESCRIPTION     Single key board for Novelkeys Big Series Switch

/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 2

/* key matrix pins */
#define MATRIX_ROW_PINS { B0 }
#define MATRIX_COL_PINS { B4, B3 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 50

/* key combination for command */
#define IS_COMMAND() ( \
    false \
)

/* prevent stuck modifiers */
#define PREVENT_STUCK_MODIFIERS

#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 8
#ifdef RGBLIGHT_LIMIT_VAL
#undef RGBLIGHT_LIMIT_VAL
#endif
#define RGBLIGHT_LIMIT_VAL 128
#endif

#endif

A keyboards/bigseries/2key/info.json => keyboards/bigseries/2key/info.json +12 -0
@@ 0,0 1,12 @@
{
  "keyboard_name": "Big Series 2-Key",
  "url": "",
  "maintainer": "qmk",
  "width": 8,
  "height": 4,
  "layouts": {
    "LAYOUT": {
      "layout": [{"x":0, "y":0, "w":4, "h":4}, {"x":1, "y":0, "w":4, "h":4}]
    }
  }
}

A keyboards/bigseries/2key/keymaps/default/keymap.c => keyboards/bigseries/2key/keymaps/default/keymap.c +87 -0
@@ 0,0 1,87 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_Z, KC_X),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
    // Disable to set a known state
    rgblight_disable();
    rgblight_init();
    // None of the subsequent operations take effect if not enabled
    rgblight_enable();
    rgblight_sethsv(0,0,255);
    rgblight_mode(35);
    initialized = 1;
  }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/2key/keymaps/lock/keymap.c => keyboards/bigseries/2key/keymaps/lock/keymap.c +89 -0
@@ 0,0 1,89 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    LGUI(KC_L), LCTL(LALT(KC_DEL))
    ),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(7);
      initialized = 1;
    }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/2key/keymaps/tester/keymap.c => keyboards/bigseries/2key/keymaps/tester/keymap.c +88 -0
@@ 0,0 1,88 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_A, KC_B),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(35);
      initialized = 1;
    }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/2key/readme.md => keyboards/bigseries/2key/readme.md +15 -0
@@ 0,0 1,15 @@
# Big Series Keyboard

![Big Series 2-Key](https://woodkeys.click/wp-content/uploads/2018/04/BigSeries_2u_Case_2018-Apr-03_08-45-05PM-000_CustomizedView8990071229.png)

A PCB for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).

Keyboard Maintainer: [Cole Markham](https://github.com/colemarkham) / [Woodkeys.click](https://woodkeys.click)  
Hardware Supported: Big Series PCBs  
Hardware Availability:  [Woodkeys.click](https://woodkeys.click), [NovelKeys](https://novelkeys.xyz)  

Make example for this keyboard (after setting up your build environment):

    make bigseries/2key:default

See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information.

A keyboards/bigseries/2key/rules.mk => keyboards/bigseries/2key/rules.mk +1 -0
@@ 0,0 1,1 @@
# Dummy file to make the QMK build system happy
\ No newline at end of file

A keyboards/bigseries/3key/3key.c => keyboards/bigseries/3key/3key.c +26 -0
@@ 0,0 1,26 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "3key.h"

void matrix_scan_kb(void) {
  // Looping keyboard code goes here
  // This runs every cycle (a lot)
  matrix_scan_user();
#ifdef BACKLIGHT_ENABLE
  backlight_task();
#endif
};

A keyboards/bigseries/3key/3key.h => keyboards/bigseries/3key/3key.h +28 -0
@@ 0,0 1,28 @@
/*
Copyright 2018 Cole Markham

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 BIGSWITCH_H
#define BIGSWITCH_H

#include "quantum.h"

#define LAYOUT( \
  K00, K01, K02  \
) { \
  { K00, K01, K02 }  \
}

#endif

A keyboards/bigseries/3key/config.h => keyboards/bigseries/3key/config.h +63 -0
@@ 0,0 1,63 @@
/*
Copyright 2018 Cole Markham

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      0x6073
#define DEVICE_VER      0x0001
#define MANUFACTURER    WoodKeys.click
#define PRODUCT         BigSeries Triple Keyboard
#define DESCRIPTION     Triple key board for Novelkeys Big Series Switch

/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3

/* key matrix pins */
#define MATRIX_ROW_PINS { B0 }
#define MATRIX_COL_PINS { B4, B3, B5 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 50

/* key combination for command */
#define IS_COMMAND() ( \
    false \
)

/* prevent stuck modifiers */
#define PREVENT_STUCK_MODIFIERS

#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 11
#ifdef RGBLIGHT_LIMIT_VAL
#undef RGBLIGHT_LIMIT_VAL
#endif
#define RGBLIGHT_LIMIT_VAL 128
#endif

#endif

A keyboards/bigseries/3key/info.json => keyboards/bigseries/3key/info.json +12 -0
@@ 0,0 1,12 @@
{
  "keyboard_name": "Big Series 3-Key",
  "url": "",
  "maintainer": "qmk",
  "width": 12,
  "height": 4,
  "layouts": {
    "LAYOUT": {
      "layout": [{"x":0, "y":0, "w":4, "h":4}, {"x":1, "y":0, "w":4, "h":4}, {"x":2, "y":0, "w":4, "h":4}]
    }
  }
}

A keyboards/bigseries/3key/keymaps/ctrl-alt-del/keymap.c => keyboards/bigseries/3key/keymaps/ctrl-alt-del/keymap.c +91 -0
@@ 0,0 1,91 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_LCTL, KC_LALT, KC_DEL
    ),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(7);
      initialized = 1;
    }
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
  }
  return true;
}

void led_set_user(uint8_t usb_led) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/3key/keymaps/default/keymap.c => keyboards/bigseries/3key/keymaps/default/keymap.c +95 -0
@@ 0,0 1,95 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_A, KC_B, KC_C
    ),
};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
    dprintf("Initializing in matrix_scan_user");
    // Disable to set a known state
    rgblight_disable();
    rgblight_init();
    // None of the subsequent operations take effect if not enabled
    rgblight_enable();
    rgblight_sethsv(0,0,255);
    rgblight_mode(7);
    initialized = 1;
    }
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
  case KC_A:
    if (record->event.pressed) {
      SEND_STRING("Howdy!!\n");
      rgblight_step();
      return false;
    }
  }
  return true;
}

void led_set_user(uint8_t usb_led) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/3key/keymaps/tester/keymap.c => keyboards/bigseries/3key/keymaps/tester/keymap.c +88 -0
@@ 0,0 1,88 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_1, KC_2, KC_3),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(35);
      initialized = 1;
    }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/3key/readme.md => keyboards/bigseries/3key/readme.md +15 -0
@@ 0,0 1,15 @@
# Big Series Keyboard

![Big Series 3-Key](https://woodkeys.click/wp-content/uploads/2018/04/BigSeries_3u_Case_2018-Apr-03_07-03-31PM-000_CustomizedView20086357020.png)

A PCB for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).

Keyboard Maintainer: [Cole Markham](https://github.com/colemarkham) / [Woodkeys.click](https://woodkeys.click)  
Hardware Supported: Big Series PCBs  
Hardware Availability:  [Woodkeys.click](https://woodkeys.click), [NovelKeys](https://novelkeys.xyz)  

Make example for this keyboard (after setting up your build environment):

    make bigseries/3key:default

See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information.

A keyboards/bigseries/3key/rules.mk => keyboards/bigseries/3key/rules.mk +1 -0
@@ 0,0 1,1 @@
# Dummy file to make the QMK build system happy
\ No newline at end of file

A keyboards/bigseries/4key/4key.c => keyboards/bigseries/4key/4key.c +23 -0
@@ 0,0 1,23 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "4key.h"

void matrix_scan_kb(void) {
  // Looping keyboard code goes here
  // This runs every cycle (a lot)
  matrix_scan_user();
};

A keyboards/bigseries/4key/4key.h => keyboards/bigseries/4key/4key.h +30 -0
@@ 0,0 1,30 @@
/*
Copyright 2018 Cole Markham

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 BIGSWITCH_H
#define BIGSWITCH_H

#include "quantum.h"

#define LAYOUT( \
  K00, K01, \
  K10, K11 \
) { \
  { K00, K01 },  \
  { K10, K11 }  \
}

#endif

A keyboards/bigseries/4key/config.h => keyboards/bigseries/4key/config.h +63 -0
@@ 0,0 1,63 @@
/*
Copyright 2018 Cole Markham

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      0x6074
#define DEVICE_VER      0x0002
#define MANUFACTURER    WoodKeys.click
#define PRODUCT         BigSeries Quad Keyboard
#define DESCRIPTION     4-key board for Novelkeys Big Series Switch

/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 2

/* key matrix pins */
#define MATRIX_ROW_PINS { B0, B5 }
#define MATRIX_COL_PINS { B4, B3 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 50

/* key combination for command */
#define IS_COMMAND() ( \
    false \
)

/* prevent stuck modifiers */
#define PREVENT_STUCK_MODIFIERS

#ifdef RGBLIGHT_ENABLE
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#ifdef RGBLIGHT_LIMIT_VAL
#undef RGBLIGHT_LIMIT_VAL
#endif
#define RGBLIGHT_LIMIT_VAL 128
#endif

#endif

A keyboards/bigseries/4key/info.json => keyboards/bigseries/4key/info.json +12 -0
@@ 0,0 1,12 @@
{
  "keyboard_name": "Big Series 4-Key",
  "url": "",
  "maintainer": "qmk",
  "width": 16,
  "height": 16,
  "layouts": {
    "LAYOUT": {
      "layout": [{"x":0, "y":0, "w":4, "h":4}, {"x":1, "y":0, "w":4, "h":4}, {"x":0, "y":1, "w":4, "h":4}, {"x":1, "y":1, "w":4, "h":4}]
    }
  }
}

A keyboards/bigseries/4key/keymaps/default/keymap.c => keyboards/bigseries/4key/keymaps/default/keymap.c +89 -0
@@ 0,0 1,89 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_HOME, KC_PGUP,
    KC_END, KC_PGDN),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      rgblight_enable();
      rgblight_mode(7);
      rgblight_sethsv(0,255,255);
      rgblight_setrgb(0x00, 0x00, 0xFF);
      initialized = 1;
    }
}

void matrix_scan_user(void) {
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  if (record->event.pressed) {
    rgblight_step();
  }
  return true;
}

void led_set_user(uint8_t usb_led) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/4key/keymaps/tester/keymap.c => keyboards/bigseries/4key/keymaps/tester/keymap.c +88 -0
@@ 0,0 1,88 @@
/*
Copyright 2018 Cole Markham

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

LAYOUT(
    KC_A, KC_B, KC_C, KC_D),


};


bool initialized = 0;

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
  return MACRO_NONE ;
}

void matrix_init_user(void) {
  if (!initialized){
      dprintf("Initializing in matrix_scan_user");
      // Disable to set a known state
      rgblight_disable();
      rgblight_init();
      // None of the subsequent operations take effect if not enabled
      rgblight_enable();
      rgblight_sethsv(0,0,255);
      rgblight_mode(35);
      initialized = 1;
    }
}

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) {

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_COMPOSE)) {

  } else {

  }

  if (usb_led & (1 << USB_LED_KANA)) {

  } else {

  }

}

A keyboards/bigseries/4key/readme.md => keyboards/bigseries/4key/readme.md +15 -0
@@ 0,0 1,15 @@
# Big Series Keyboard

![Big Series 4-Key](https://woodkeys.click/wp-content/uploads/2017/09/BigSeries_4u_with_keys_2018-Apr-01_04-54-09AM-000_CustomizedView38438685666_png.png)

A PCB for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).

Keyboard Maintainer: [Cole Markham](https://github.com/colemarkham) / [Woodkeys.click](https://woodkeys.click)  
Hardware Supported: Big Series PCBs  
Hardware Availability:  [Woodkeys.click](https://woodkeys.click), [NovelKeys](https://novelkeys.xyz)  

Make example for this keyboard (after setting up your build environment):

    make bigseries/4key:default

See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information.

A keyboards/bigseries/4key/rules.mk => keyboards/bigseries/4key/rules.mk +1 -0
@@ 0,0 1,1 @@
# Dummy file to make the QMK build system happy
\ No newline at end of file

M keyboards/bigseries/readme.md => keyboards/bigseries/readme.md +6 -5
@@ 1,15 1,16 @@
# Big Series Keyboard
# Big Series Keyboards

![Big Series 1-Key](https://woodkeys.click/wp-content/uploads/2017/12/woodkeys_419.jpg)
![Big Series Keyboards](https://woodkeys.click/wp-content/uploads/2017/12/woodkeys_419.jpg)

A PCB for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).
The is the parent folder for all PCBs made by [Woodkeys](https://woodkeys.click) for the Big Series Switch by [NovelKeys](https://novelkeys.xyz). Available in 1, 2, 3, and 4 switch versions from [Woodkeys.click](https://woodkeys.click/product-category/big-series/).

Keyboard Maintainer: [Cole Markham](https://github.com/colemarkham) / [Woodkeys.click](https://woodkeys.click)  
Hardware Supported: Big Series PCBs  
Hardware Availability:  [Woodkeys.click](https://woodkeys.click), [NovelKeys](https://novelkeys.xyz)  

Make example for this keyboard (after setting up your build environment):
Make example for these keyboards (after setting up your build environment):

    make bigseries:default
    make bigseries/1key:default
    make bigseries/3key:ctrl-alt-del

See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/build-compile-instructions) for more information.

M keyboards/bigseries/rules.mk => keyboards/bigseries/rules.mk +0 -2
@@ 1,5 1,3 @@
#SRC += rgb_backlight.c

# MCU name
MCU = atmega32u2