aboutsummaryrefslogtreecommitdiff
path: root/keyboards/christmas_tree
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-04-10 12:13:40 +0100
committerAkshay <[email protected]>2022-04-10 12:13:40 +0100
commitdc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch)
tree4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/christmas_tree
Diffstat (limited to 'keyboards/christmas_tree')
-rw-r--r--keyboards/christmas_tree/.noci0
-rw-r--r--keyboards/christmas_tree/V2017/V2017.c1
-rw-r--r--keyboards/christmas_tree/V2017/V2017.h3
-rw-r--r--keyboards/christmas_tree/V2017/config.h5
-rw-r--r--keyboards/christmas_tree/V2017/rules.mk3
-rw-r--r--keyboards/christmas_tree/christmas_tree.c1
-rw-r--r--keyboards/christmas_tree/christmas_tree.h14
-rw-r--r--keyboards/christmas_tree/config.h54
-rw-r--r--keyboards/christmas_tree/info.json10
-rw-r--r--keyboards/christmas_tree/keymaps/default/keymap.c82
-rw-r--r--keyboards/christmas_tree/keymaps/default/readme.md2
-rw-r--r--keyboards/christmas_tree/readme.md14
-rw-r--r--keyboards/christmas_tree/rules.mk20
13 files changed, 209 insertions, 0 deletions
diff --git a/keyboards/christmas_tree/.noci b/keyboards/christmas_tree/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/christmas_tree/.noci
diff --git a/keyboards/christmas_tree/V2017/V2017.c b/keyboards/christmas_tree/V2017/V2017.c
new file mode 100644
index 000000000..e36727059
--- /dev/null
+++ b/keyboards/christmas_tree/V2017/V2017.c
@@ -0,0 +1 @@
#include "V2017.h" \ No newline at end of file
diff --git a/keyboards/christmas_tree/V2017/V2017.h b/keyboards/christmas_tree/V2017/V2017.h
new file mode 100644
index 000000000..f779c0ed4
--- /dev/null
+++ b/keyboards/christmas_tree/V2017/V2017.h
@@ -0,0 +1,3 @@
1#pragma once
2
3#include "christmas_tree.h"
diff --git a/keyboards/christmas_tree/V2017/config.h b/keyboards/christmas_tree/V2017/config.h
new file mode 100644
index 000000000..abc94749a
--- /dev/null
+++ b/keyboards/christmas_tree/V2017/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#include "config_common.h"
4
5#define DEVICE_VER 0x2017
diff --git a/keyboards/christmas_tree/V2017/rules.mk b/keyboards/christmas_tree/V2017/rules.mk
new file mode 100644
index 000000000..184a1f224
--- /dev/null
+++ b/keyboards/christmas_tree/V2017/rules.mk
@@ -0,0 +1,3 @@
1BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
2RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
3AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/christmas_tree/christmas_tree.c b/keyboards/christmas_tree/christmas_tree.c
new file mode 100644
index 000000000..c03670a3a
--- /dev/null
+++ b/keyboards/christmas_tree/christmas_tree.c
@@ -0,0 +1 @@
#include "christmas_tree.h"
diff --git a/keyboards/christmas_tree/christmas_tree.h b/keyboards/christmas_tree/christmas_tree.h
new file mode 100644
index 000000000..68eefca6a
--- /dev/null
+++ b/keyboards/christmas_tree/christmas_tree.h
@@ -0,0 +1,14 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT( \
6 k00, k10, k20, k30, k40, k50 \
7) { \
8 { k00 }, \
9 { k10 }, \
10 { k20 }, \
11 { k30 }, \
12 { k40 }, \
13 { k50 } \
14}
diff --git a/keyboards/christmas_tree/config.h b/keyboards/christmas_tree/config.h
new file mode 100644
index 000000000..531c5996d
--- /dev/null
+++ b/keyboards/christmas_tree/config.h
@@ -0,0 +1,54 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x3070
25#define MANUFACTURER Maple Computing
26#define PRODUCT Christmas Tree
27
28/* key matrix size */
29#define MATRIX_ROWS 6
30#define MATRIX_COLS 1
31
32/* Planck PCB default pin-out */
33#define MATRIX_ROW_PINS { D3, F4, D0, F6, F5, D4 }
34#define MATRIX_COL_PINS { D1 }
35#define UNUSED_PINS
36
37#define BACKLIGHT_PIN D2
38
39/* COL2ROW or ROW2COL */
40#define DIODE_DIRECTION COL2ROW
41
42/* define if matrix has ghost */
43//#define MATRIX_HAS_GHOST
44
45/* number of backlight levels */
46#define BACKLIGHT_LEVELS 3
47
48/* Set 0 if debouncing isn't needed */
49#define DEBOUNCE 5
50
51/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
52#define LOCKING_SUPPORT_ENABLE
53/* Locking resynchronize hack */
54#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/christmas_tree/info.json b/keyboards/christmas_tree/info.json
new file mode 100644
index 000000000..5d24218c7
--- /dev/null
+++ b/keyboards/christmas_tree/info.json
@@ -0,0 +1,10 @@
1{
2 "keyboard_name": "Christmas Tree",
3 "url": "https://www.reddit.com/r/MechanicalKeyboards/comments/7cqxpf/gb_christmas_tree_pcb_gb_now_live/",
4 "maintainer": "That-Canadian",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [{"x":1, "y":0}, {"x":0.5, "y":1}, {"x":1.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}]
8 }
9 }
10}
diff --git a/keyboards/christmas_tree/keymaps/default/keymap.c b/keyboards/christmas_tree/keymaps/default/keymap.c
new file mode 100644
index 000000000..6931b91a6
--- /dev/null
+++ b/keyboards/christmas_tree/keymaps/default/keymap.c
@@ -0,0 +1,82 @@
1/* Copyright 2015-2017 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include QMK_KEYBOARD_H
18
19
20enum layers {
21 _BASE,
22 _FUNC
23};
24
25enum custom_keycodes {
26 FUNC = SAFE_RANGE,
27 BACKLIT
28};
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31
32 /* Base
33 * ,------.
34 * | 1 |
35 * ,------+------.
36 * | 2 | 3 |
37 * ,------+------+------.
38 * | 4 | FUNC | 6 |
39 * `--------------------'
40 */
41 [_BASE] = LAYOUT(
42 KC_1,
43 KC_2, KC_3,
44 KC_4, MO(_FUNC), KC_6
45 ),
46
47 /* Func
48 * ,------.
49 * |BCKLIT|
50 * ,------+------.
51 * | 8 | 9 |
52 * ,------+------+------.
53 * | 0 | FUNC | RESET|
54 * `--------------------'
55 */
56 [_FUNC] = LAYOUT(
57 BACKLIT,
58 KC_8, KC_9,
59 KC_0, _______, RESET
60 )
61
62
63};
64
65bool process_record_user(uint16_t keycode, keyrecord_t *record) {
66 switch (keycode) {
67 case BACKLIT:
68 if (record->event.pressed) {
69 register_code(KC_RSFT);
70 #ifdef BACKLIGHT_ENABLE
71 register_code(KC_LSFT);
72 backlight_step();
73 #endif
74 } else {
75 unregister_code(KC_RSFT);
76 unregister_code(KC_LSFT);
77 }
78 return false;
79 break;
80 }
81 return true;
82}
diff --git a/keyboards/christmas_tree/keymaps/default/readme.md b/keyboards/christmas_tree/keymaps/default/readme.md
new file mode 100644
index 000000000..a9cb4586e
--- /dev/null
+++ b/keyboards/christmas_tree/keymaps/default/readme.md
@@ -0,0 +1,2 @@
1# The Default Christmas Tree Layout
2
diff --git a/keyboards/christmas_tree/readme.md b/keyboards/christmas_tree/readme.md
new file mode 100644
index 000000000..b3337dd5b
--- /dev/null
+++ b/keyboards/christmas_tree/readme.md
@@ -0,0 +1,14 @@
1Christmas Tree
2===
3
4![Christmas Tree](https://i.imgur.com/I9FNdSv.png)
5
6A tiny 6 key macro pad, in the shape of a christmas tree, made by That-Canadian, SpaceCat, and ChillCaps.
7
8Keyboard Maintainer: [That-Canadian](https://github.com/That-Canadian)
9
10Make example for this keyboard (after setting up your build environment):
11
12 make christmas_tree/V2017:default
13
14See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file
diff --git a/keyboards/christmas_tree/rules.mk b/keyboards/christmas_tree/rules.mk
new file mode 100644
index 000000000..dada70c30
--- /dev/null
+++ b/keyboards/christmas_tree/rules.mk
@@ -0,0 +1,20 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
19
20DEFAULT_FOLDER = christmas_tree/V2017