aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/waldo/config.h80
-rw-r--r--keyboards/waldo/keymaps/default/config.h5
-rw-r--r--keyboards/waldo/keymaps/default/keymap.c148
-rw-r--r--keyboards/waldo/keymaps/default/readme.md2
-rw-r--r--keyboards/waldo/keymaps/default/rules.mk0
-rw-r--r--keyboards/waldo/keymaps/default_split_shft_bck/config.h5
-rw-r--r--keyboards/waldo/keymaps/default_split_shft_bck/keymap.c97
-rw-r--r--keyboards/waldo/keymaps/default_split_shft_bck/readme.md2
-rw-r--r--keyboards/waldo/keymaps/default_split_shft_bck/rules.mk0
-rw-r--r--keyboards/waldo/readme.md13
-rw-r--r--keyboards/waldo/rev1/config.h7
-rw-r--r--keyboards/waldo/rev1/info.json3
-rw-r--r--keyboards/waldo/rev1/rules.mk1
-rw-r--r--keyboards/waldo/rules.mk67
-rw-r--r--keyboards/waldo/waldo.c1
-rw-r--r--keyboards/waldo/waldo.h51
16 files changed, 482 insertions, 0 deletions
diff --git a/keyboards/waldo/config.h b/keyboards/waldo/config.h
new file mode 100644
index 000000000..4f7699ace
--- /dev/null
+++ b/keyboards/waldo/config.h
@@ -0,0 +1,80 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
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#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060
26#define MANUFACTURER Greenwald Designs
27#define PRODUCT Waldo
28#define DESCRIPTION A 60% board
29
30/* key matrix size */
31#define MATRIX_ROWS 5
32#define MATRIX_COLS 15
33
34/* Planck PCB default pin-out */
35#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
36#define MATRIX_COL_PINS { F7, D5, D3, D2, B3, B2, C7, C6, B6, B5, B4, D7, D6, D4, B1 }
37#define UNUSED_PINS
38
39#define BACKLIGHT_PIN B7
40
41/* COL2ROW or ROW2COL */
42#define DIODE_DIRECTION COL2ROW
43
44/* define if matrix has ghost */
45//#define MATRIX_HAS_GHOST
46
47/* number of backlight levels */
48#define BACKLIGHT_LEVELS 3
49
50/* Set 0 if debouncing isn't needed */
51#define DEBOUNCING_DELAY 5
52
53/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
54#define LOCKING_SUPPORT_ENABLE
55/* Locking resynchronize hack */
56#define LOCKING_RESYNC_ENABLE
57
58/*
59 * Feature disable options
60 * These options are also useful to firmware size reduction.
61 */
62
63/* disable debug print */
64//#define NO_DEBUG
65
66/* disable print */
67//#define NO_PRINT
68
69/* disable action features */
70//#define NO_ACTION_LAYER
71//#define NO_ACTION_TAPPING
72//#define NO_ACTION_ONESHOT
73//#define NO_ACTION_MACRO
74//#define NO_ACTION_FUNCTION
75
76// RGB LED
77#define RGB_DI_PIN B0 // The pin the LED strip is connected to
78#define RGBLED_NUM 10 // Number of LEDs in your strip
79
80#endif
diff --git a/keyboards/waldo/keymaps/default/config.h b/keyboards/waldo/keymaps/default/config.h
new file mode 100644
index 000000000..19a485296
--- /dev/null
+++ b/keyboards/waldo/keymaps/default/config.h
@@ -0,0 +1,5 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4
5#endif
diff --git a/keyboards/waldo/keymaps/default/keymap.c b/keyboards/waldo/keymaps/default/keymap.c
new file mode 100644
index 000000000..8a9aa1541
--- /dev/null
+++ b/keyboards/waldo/keymaps/default/keymap.c
@@ -0,0 +1,148 @@
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
19extern keymap_config_t keymap_config;
20
21enum waldo_layers {
22 _QWERTY,
23 _COLEMAK,
24 _DVORAK,
25 _FUNCTION
26};
27
28enum waldo_keycodes {
29 QWERTY = SAFE_RANGE,
30 COLEMAK,
31 DVORAK,
32 BACKLIT
33};
34
35const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
36
37/* Qwerty
38 * ,------------------------------------------------------------------------------------------.
39 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
40 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
41 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
42 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
43 * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
44 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
45 * | L Shift | Z | X | C | V | B | N | M | , | . | / | R Shift |
46 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
47 * | Ctrl | GUI | Alt | Space | Alt | GUI | Menu | Ctrl |
48 * `------------------------------------------------------------------------------------------'
49 */
50
51[_QWERTY] = LAYOUT_60_ansi( \
52 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
53 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
54 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
55 RGB_TOG, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
56 BACKLIT, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_F, KC_RCTL \
57),
58
59/* Colemak
60 * ,-----------------------------------------------------------------------------------.
61 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
62 * |------+------+------+------+------+-------------+------+------+------+------+------|
63 * | Esc | A | R | S | T | D | H | N | E | I | O | " |
64 * |------+------+------+------+------+------|------+------+------+------+------+------|
65 * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
66 * |------+------+------+------+------+------+------+------+------+------+------+------|
67 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
68 * `-----------------------------------------------------------------------------------'
69 */
70[_COLEMAK] = LAYOUT_60_ansi( \
71 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
72 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
73 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
75 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL \
76),
77
78/* Dvorak
79 * ,-----------------------------------------------------------------------------------.
80 * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp |
81 * |------+------+------+------+------+-------------+------+------+------+------+------|
82 * | Esc | A | O | E | U | I | D | H | T | N | S | / |
83 * |------+------+------+------+------+------|------+------+------+------+------+------|
84 * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
85 * |------+------+------+------+------+------+------+------+------+------+------+------|
86 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
87 * `-----------------------------------------------------------------------------------'
88 */
89[_DVORAK] = LAYOUT_60_ansi( \
90 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
91 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
92 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
93 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
94 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL \
95),
96
97/* Lower
98 * ,-----------------------------------------------------------------------------------.
99 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
100 * |------+------+------+------+------+-------------+------+------+------+------+------|
101 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
102 * |------+------+------+------+------+------|------+------+------+------+------+------|
103 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
104 * |------+------+------+------+------+------+------+------+------+------+------+------|
105 * | | | | | | | | Next | Vol- | Vol+ | Play |
106 * `-----------------------------------------------------------------------------------'
107 */
108[_FUNCTION] = LAYOUT_60_ansi( \
109 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
110 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
111 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
112 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
113 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL \
114)
115
116};
117
118bool process_record_user(uint16_t keycode, keyrecord_t *record) {
119 switch (keycode) {
120 case QWERTY:
121 if (record->event.pressed) {
122 set_single_persistent_default_layer(_QWERTY);
123 }
124 return false;
125 break;
126 case COLEMAK:
127 if (record->event.pressed) {
128 set_single_persistent_default_layer(_COLEMAK);
129 }
130 return false;
131 break;
132 case DVORAK:
133 if (record->event.pressed) {
134 set_single_persistent_default_layer(_DVORAK);
135 }
136 return false;
137 break;
138 case BACKLIT:
139 if (record->event.pressed) {
140 #ifdef BACKLIGHT_ENABLE
141 backlight_step();
142 #endif
143 }
144 return false;
145 break;
146 }
147 return true;
148}
diff --git a/keyboards/waldo/keymaps/default/readme.md b/keyboards/waldo/keymaps/default/readme.md
new file mode 100644
index 000000000..440961939
--- /dev/null
+++ b/keyboards/waldo/keymaps/default/readme.md
@@ -0,0 +1,2 @@
1# The Default Waldo Layout
2
diff --git a/keyboards/waldo/keymaps/default/rules.mk b/keyboards/waldo/keymaps/default/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/waldo/keymaps/default/rules.mk
diff --git a/keyboards/waldo/keymaps/default_split_shft_bck/config.h b/keyboards/waldo/keymaps/default_split_shft_bck/config.h
new file mode 100644
index 000000000..19a485296
--- /dev/null
+++ b/keyboards/waldo/keymaps/default_split_shft_bck/config.h
@@ -0,0 +1,5 @@
1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H
3
4
5#endif
diff --git a/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c b/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c
new file mode 100644
index 000000000..4ef7da001
--- /dev/null
+++ b/keyboards/waldo/keymaps/default_split_shft_bck/keymap.c
@@ -0,0 +1,97 @@
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
19extern keymap_config_t keymap_config;
20
21enum waldo_layers {
22 _QWERTY,
23 _FUNC
24};
25
26enum waldo_keycodes {
27 QWERTY = SAFE_RANGE,
28 BACKLIT
29};
30
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32
33/* Qwerty
34 * ,------------------------------------------------------------------------------------------.
35 * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | Del |
36 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
37 * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backspace |
38 * |------------------------------------------------------------------------------------------|
39 * | Control | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
40 * |------------------------------------------------------------------------------------------|
41 * | L Shift | Z | X | C | V | B | N | M | , | . | / | R Shift | Fn |
42 * |------------------------+-----------------------------------------------------------------|
43 * | Ctrl | GUI | Alt | Space | GUI | Menu | Ctrl |
44 * `------------------------------------------------------------------------------------------'
45 */
46
47[_QWERTY] = LAYOUT_60_ansi_split_bs_rshift( \
48 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \
49 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
50 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
51 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FUNC), \
52 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL \
53),
54
55/* Function
56 * ,------------------------------------------------------------------------------------------.
57 * | ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |
58 * |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
59 * | | | Up | | | Vol+| | | Prnt| PgUp|PgDwn| Up | | |
60 * |------------------------------------------------------------------------------------------|
61 * | Caps | left| down|right| | Vol-| | | Home| End | left|right| |
62 * |------------------------------------------------------------------------------------------|
63 * | |GBTOG|GBMOD|GBHUD|GBHUI|GBSAD|GBSAI|GBVAD|GBVAI| | down| | Fn |
64 * |------------------------+-----------------------------------------------------------------|
65 * | Backlit| | | | | | |
66 * `------------------------------------------------------------------------------------------'
67 */
68
69[_FUNC] = LAYOUT_60_ansi_split_bs_rshift( \
70 KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
71 _______, _______, KC_UP, _______, _______, KC_VOLU, _______, _______, KC_PSCR, KC_PGUP, KC_PGDN, KC_UP, _______, _______, \
72 KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, _______, _______, KC_HOME, KC_END, KC_LEFT, KC_RGHT, _______, \
73 _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, _______, KC_DOWN, _______, KC_TRNS, \
74 BACKLIT, _______, _______, _______, XXXXXXX, _______, _______, _______ \
75)
76
77};
78
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 switch (keycode) {
81 case QWERTY:
82 if (record->event.pressed) {
83 set_single_persistent_default_layer(_QWERTY);
84 }
85 return false;
86 break;
87 case BACKLIT:
88 if (record->event.pressed) {
89 #ifdef BACKLIGHT_ENABLE
90 backlight_step();
91 #endif
92 }
93 return false;
94 break;
95 }
96 return true;
97}
diff --git a/keyboards/waldo/keymaps/default_split_shft_bck/readme.md b/keyboards/waldo/keymaps/default_split_shft_bck/readme.md
new file mode 100644
index 000000000..bb4d32898
--- /dev/null
+++ b/keyboards/waldo/keymaps/default_split_shft_bck/readme.md
@@ -0,0 +1,2 @@
1# The Default Waldo Layout w/ Split backspace, split shift, and 7u space
2
diff --git a/keyboards/waldo/keymaps/default_split_shft_bck/rules.mk b/keyboards/waldo/keymaps/default_split_shft_bck/rules.mk
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/waldo/keymaps/default_split_shft_bck/rules.mk
diff --git a/keyboards/waldo/readme.md b/keyboards/waldo/readme.md
new file mode 100644
index 000000000..7bc5c8825
--- /dev/null
+++ b/keyboards/waldo/readme.md
@@ -0,0 +1,13 @@
1Waldo
2===
3
4A 60% Keyboard for use in the Holz case by Greenwald Designs
5
6Keyboard Maintainer: TODO
7Hardware Availability: TODO
8
9Make example for this keyboard (after setting up your build environment):
10
11 make waldo/rev1:default
12
13See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/waldo/rev1/config.h b/keyboards/waldo/rev1/config.h
new file mode 100644
index 000000000..adf654036
--- /dev/null
+++ b/keyboards/waldo/rev1/config.h
@@ -0,0 +1,7 @@
1#ifndef REV5_CONFIG_H
2#define REV5_CONFIG_H
3
4
5#define DEVICE_VER 0x0005
6
7#endif
diff --git a/keyboards/waldo/rev1/info.json b/keyboards/waldo/rev1/info.json
new file mode 100644
index 000000000..3d984961a
--- /dev/null
+++ b/keyboards/waldo/rev1/info.json
@@ -0,0 +1,3 @@
1{
2 "identifier": "FEED:6060:0005"
3} \ No newline at end of file
diff --git a/keyboards/waldo/rev1/rules.mk b/keyboards/waldo/rev1/rules.mk
new file mode 100644
index 000000000..7e64e7edc
--- /dev/null
+++ b/keyboards/waldo/rev1/rules.mk
@@ -0,0 +1 @@
AUDIO_ENABLE = yes # Audio output on port C6
diff --git a/keyboards/waldo/rules.mk b/keyboards/waldo/rules.mk
new file mode 100644
index 000000000..c21ed9013
--- /dev/null
+++ b/keyboards/waldo/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2MCU = atmega32u4
3
4# Processor frequency.
5# This will define a symbol, F_CPU, in all source code files equal to the
6# processor frequency in Hz. You can then use this symbol in your source code to
7# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
8# automatically to create a 32-bit value in your source code.
9#
10# This will be an integer division of F_USB below, as it is sourced by
11# F_USB after it has run through any CPU prescalers. Note that this value
12# does not *change* the processor frequency - it should merely be updated to
13# reflect the processor speed set externally so that the code can use accurate
14# software delays.
15F_CPU = 16000000
16
17#
18# LUFA specific
19#
20# Target architecture (see library "Board Types" documentation).
21ARCH = AVR8
22
23# Input clock frequency.
24# This will define a symbol, F_USB, in all source code files equal to the
25# input clock frequency (before any prescaling is performed) in Hz. This value may
26# differ from F_CPU if prescaling is used on the latter, and is required as the
27# raw input clock is fed directly to the PLL sections of the AVR for high speed
28# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
29# at the end, this will be done automatically to create a 32-bit value in your
30# source code.
31#
32# If no clock division is performed on the input clock inside the AVR (via the
33# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
34F_USB = $(F_CPU)
35
36# Bootloader
37# This definition is optional, and if your keyboard supports multiple bootloaders of
38# different sizes, comment this out, and the correct address will be loaded
39# automatically (+60). See bootloader.mk for all options.
40BOOTLOADER = atmel-dfu
41
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46# Build Options
47# change to "no" to disable the options, or define them in the Makefile in
48# the appropriate keymap folder that will get included automatically
49#
50BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
51MOUSEKEY_ENABLE = no # Mouse keys(+4700)
52EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
53CONSOLE_ENABLE = yes # Console for debug(+400)
54COMMAND_ENABLE = no # Commands for debug and configuration
55NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
56BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
57MIDI_ENABLE = no # MIDI controls
58AUDIO_ENABLE = no # Audio output on port C6
59UNICODE_ENABLE = no # Unicode
60BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
61RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
62API_SYSEX_ENABLE = no
63
64# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
65SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
66
67DEFAULT_FOLDER = waldo/rev1
diff --git a/keyboards/waldo/waldo.c b/keyboards/waldo/waldo.c
new file mode 100644
index 000000000..33093d4bb
--- /dev/null
+++ b/keyboards/waldo/waldo.c
@@ -0,0 +1 @@
#include "waldo.h" \ No newline at end of file
diff --git a/keyboards/waldo/waldo.h b/keyboards/waldo/waldo.h
new file mode 100644
index 000000000..0e1801c90
--- /dev/null
+++ b/keyboards/waldo/waldo.h
@@ -0,0 +1,51 @@
1#ifndef WALDO_H
2#define WALDO_H
3
4#include "quantum.h"
5
6#define LAYOUT_60_ansi( \
7 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
8 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
9 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
10 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
11 k40, k41, k42, k46, k49, k4a, k4c, k4d \
12) \
13{ \
14 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO }, \
15 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
16 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d, KC_NO }, \
17 { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, KC_NO, KC_NO }, \
18 { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, k49, k4a, KC_NO, k4c, k4d, KC_NO } \
19}
20
21#define LAYOUT_60_ansi_split_bs_rshift( \
22 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
23 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
24 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
25 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
26 k40, k41, k42, k46, k49, k4a, k4c, k4d \
27) \
28{ \
29 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
30 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
31 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, KC_NO, k2d, KC_NO }, \
32 { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, KC_NO }, \
33 { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, k49, k4a, KC_NO, k4c, k4d, KC_NO } \
34}
35
36#define LAYOUT_all( \
37 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
38 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
39 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
40 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
41 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e \
42) \
43{ \
44 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
45 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
46 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
47 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \
48 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e } \
49}
50
51#endif