aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-05-27 05:26:24 +0000
committerQMK Bot <hello@qmk.fm>2021-05-27 05:26:24 +0000
commit995c9dff49c884bc6261ea7a9880e9e259778d7a (patch)
tree386e20fb140c147865f3ec780f70c70ca8875e65
parent69604e175033a7b6eaf8d3fcaab6b3aa4c077b95 (diff)
parent088c71b4ea6e083f01d6c5d7248555972c4125a4 (diff)
downloadqmk_firmware-995c9dff49c884bc6261ea7a9880e9e259778d7a.tar.gz
qmk_firmware-995c9dff49c884bc6261ea7a9880e9e259778d7a.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/keyprez/corgi/config.h63
-rw-r--r--keyboards/keyprez/corgi/corgi.c17
-rw-r--r--keyboards/keyprez/corgi/corgi.h46
-rw-r--r--keyboards/keyprez/corgi/info.json61
-rw-r--r--keyboards/keyprez/corgi/keymaps/default/keymap.c112
-rw-r--r--keyboards/keyprez/corgi/keymaps/default/readme.md1
-rw-r--r--keyboards/keyprez/corgi/readme.md22
-rw-r--r--keyboards/keyprez/corgi/rules.mk23
8 files changed, 345 insertions, 0 deletions
diff --git a/keyboards/keyprez/corgi/config.h b/keyboards/keyprez/corgi/config.h
new file mode 100644
index 000000000..7a304ab70
--- /dev/null
+++ b/keyboards/keyprez/corgi/config.h
@@ -0,0 +1,63 @@
1/*
2Copyright 2021 Christian Sandven
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 0x0000
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Christian Sandven
27#define PRODUCT corgi
28
29/* key matrix size */
30#define MATRIX_ROWS 8
31#define MATRIX_COLS 7
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 */
37#define MATRIX_ROW_PINS { F5, F7, B2, B6, F4, F6, B1, B3 }
38#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D2, B7 }
39#define UNUSED_PINS
40
41/* COL2ROW, ROW2COL */
42#define DIODE_DIRECTION COL2ROW
43
44/*
45 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
46 */
47#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
48
49#define ENCODERS_PAD_A { D3 }
50#define ENCODERS_PAD_B { D4 }
51#define ENCODER_RESOLUTION 4
52
53/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
54#define DEBOUNCE 0
55
56/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
57#define LOCKING_SUPPORT_ENABLE
58/* Locking resynchronize hack */
59#define LOCKING_RESYNC_ENABLE
60
61/* disable these deprecated features by default */
62#define NO_ACTION_MACRO
63#define NO_ACTION_FUNCTION
diff --git a/keyboards/keyprez/corgi/corgi.c b/keyboards/keyprez/corgi/corgi.c
new file mode 100644
index 000000000..ba64134de
--- /dev/null
+++ b/keyboards/keyprez/corgi/corgi.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Christian Sandven
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 "corgi.h"
diff --git a/keyboards/keyprez/corgi/corgi.h b/keyboards/keyprez/corgi/corgi.h
new file mode 100644
index 000000000..d697e436d
--- /dev/null
+++ b/keyboards/keyprez/corgi/corgi.h
@@ -0,0 +1,46 @@
1/* Copyright 2021 Christian Sandven
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#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT( \
30 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
31 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
32 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
33 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
34 r1t \
35) \
36{ \
37 { k00, k01, k02, k03, k04, k05, KC_NO }, \
38 { k10, k11, k12, k13, k14, k15, KC_NO }, \
39 { k20, k21, k22, k23, k24, k25, KC_NO }, \
40 { k30, k31, k32, k33, k34, k35, r1t }, \
41 { k06, k07, k08, k09, k0a, k0b, KC_NO }, \
42 { k16, k17, k18, k19, k1a, k1b, KC_NO }, \
43 { k26, k27, k28, k29, k2a, k2b, KC_NO }, \
44 { k36, k37, k38, k39, k3a, k3b, KC_NO } \
45}
46
diff --git a/keyboards/keyprez/corgi/info.json b/keyboards/keyprez/corgi/info.json
new file mode 100644
index 000000000..4a40c9c70
--- /dev/null
+++ b/keyboards/keyprez/corgi/info.json
@@ -0,0 +1,61 @@
1{
2 "keyboard_name": "corgi",
3 "url": "",
4 "maintainer": "Christian Sandven",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 { "w": 1, "x": 0, "y": 0 },
11 { "w": 1, "x": 1, "y": 0 },
12 { "w": 1, "x": 2, "y": 0 },
13 { "w": 1, "x": 3, "y": 0 },
14 { "w": 1, "x": 4, "y": 0 },
15 { "w": 1, "x": 5, "y": 0 },
16 { "w": 1, "x": 6, "y": 0 },
17 { "w": 1, "x": 7, "y": 0 },
18 { "w": 1, "x": 8, "y": 0 },
19 { "w": 1, "x": 9, "y": 0 },
20 { "w": 1, "x": 10, "y": 0 },
21 { "w": 1, "x": 11, "y": 0 },
22 { "w": 1, "x": 0, "y": 1 },
23 { "w": 1, "x": 1, "y": 1 },
24 { "w": 1, "x": 2, "y": 1 },
25 { "w": 1, "x": 3, "y": 1 },
26 { "w": 1, "x": 4, "y": 1 },
27 { "w": 1, "x": 5, "y": 1 },
28 { "w": 1, "x": 6, "y": 1 },
29 { "w": 1, "x": 7, "y": 1 },
30 { "w": 1, "x": 8, "y": 1 },
31 { "w": 1, "x": 9, "y": 1 },
32 { "w": 1, "x": 10, "y": 1 },
33 { "w": 1, "x": 11, "y": 1 },
34 { "w": 1, "x": 0, "y": 2 },
35 { "w": 1, "x": 1, "y": 2 },
36 { "w": 1, "x": 2, "y": 2 },
37 { "w": 1, "x": 3, "y": 2 },
38 { "w": 1, "x": 4, "y": 2 },
39 { "w": 1, "x": 5, "y": 2 },
40 { "w": 1, "x": 6, "y": 2 },
41 { "w": 1, "x": 7, "y": 2 },
42 { "w": 1, "x": 8, "y": 2 },
43 { "w": 1, "x": 9, "y": 2 },
44 { "w": 1, "x": 10, "y": 2 },
45 { "w": 1, "x": 11, "y": 2 },
46 { "w": 1, "x": 0, "y": 3 },
47 { "w": 1, "x": 1, "y": 3 },
48 { "w": 1, "x": 2, "y": 3 },
49 { "w": 1, "x": 3, "y": 3 },
50 { "w": 1, "x": 4, "y": 3 },
51 { "w": 1, "x": 5, "y": 3 },
52 { "w": 1, "x": 6, "y": 3 },
53 { "w": 1, "x": 7, "y": 3 },
54 { "w": 1, "x": 8, "y": 3 },
55 { "w": 1, "x": 9, "y": 3 },
56 { "w": 1, "x": 10, "y": 3 },
57 { "w": 1, "x": 11, "y": 3 }
58 ]
59 }
60 }
61}
diff --git a/keyboards/keyprez/corgi/keymaps/default/keymap.c b/keyboards/keyprez/corgi/keymaps/default/keymap.c
new file mode 100644
index 000000000..01f56320b
--- /dev/null
+++ b/keyboards/keyprez/corgi/keymaps/default/keymap.c
@@ -0,0 +1,112 @@
1/* Copyright 2021 Christian Sandven
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#include QMK_KEYBOARD_H
17
18// Defines names for use in layer keycodes and the keymap
19enum layer_names {
20 _QWERTY,
21 _BASE,
22 _FN,
23 _LOWER,
24 _RAISE,
25 _CMD,
26};
27
28#define LOWER MO(_LOWER)
29#define RAISE MO(_RAISE)
30#define CMD MO(_CMD)
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 /* Qwerty
34 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
36 * |------+------+------+------+------+------+------+------+------+------+------+------|
37 * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
38 * |------+------+------+------+------+------+------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
40 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
42 * `-----------------------------------------------------------------------------------'
43 */
44 [_QWERTY] = LAYOUT(
45 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
46 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
48 KC_LCTL, KC_LGUI, KC_LALT, CMD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
49 KC_MUTE
50 ),
51
52 /* Lower
53 * ,-----------------------------------------------------------------------------------.
54 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
55 * |------+------+------+------+------+------+------+------+------+------+------+------|
56 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
57 * |------+------+------+------+------+------+------+------+------+------+------+------|
58 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
59 * |------+------+------+------+------+------+------+------+------+------+------+------|
60 * | | | | | | | | Next | Vol- | Vol+ | Play |
61 * `-----------------------------------------------------------------------------------'
62 */
63 [_RAISE] = LAYOUT(
64 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
65 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
66 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
67 _______, _______, _______, _______, KC_RALT, _______, _______, KC_RALT, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
68 _______
69 ),
70
71 /* Raise
72 * ,-----------------------------------------------------------------------------------.
73 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
74 * |------+------+------+------+------+------+------+------+------+------+------+------|
75 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
76 * |------+------+------+------+------+------+------+------+------+------+------+------|
77 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
78 * |------+------+------+------+------+------+------+------+------+------+------+------|
79 * | | | | | | | | Next | Vol- | Vol+ | Play |
80 * `-----------------------------------------------------------------------------------'
81 */
82 [_LOWER] = LAYOUT(
83 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
84 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
85 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
86 _______, _______, _______, _______, KC_RALT, _______, _______, KC_RALT, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY,
87 _______
88 ),
89
90 /* CMD
91 * ,-----------------------------------------------------------------------------------.
92 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1 | 2 | 3 | - |
93 * |------+------+------+------+------+------+------+------+------+------+------+------|
94 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | 4 | 5 | 6 | + |
95 * |------+------+------+------+------+------+------+------+------+------+------+------|
96 * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # | 7 | 8 | 9 | |
97 * |------+------+------+------+------+------+------+------+------+------+------+------|
98 * | | | | | | | | | 0 | . | |
99 * `-----------------------------------------------------------------------------------'
100 */
101 [_CMD] = LAYOUT(
102 _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS,
103 _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS,
104 _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______,
105 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, _______,
106 _______
107 ),
108};
109
110void encoder_update_user(uint8_t index, bool clockwise) {
111 tap_code(clockwise ? KC_VOLU : KC_VOLD);
112}
diff --git a/keyboards/keyprez/corgi/keymaps/default/readme.md b/keyboards/keyprez/corgi/keymaps/default/readme.md
new file mode 100644
index 000000000..2d8659937
--- /dev/null
+++ b/keyboards/keyprez/corgi/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for corgi
diff --git a/keyboards/keyprez/corgi/readme.md b/keyboards/keyprez/corgi/readme.md
new file mode 100644
index 000000000..73387964a
--- /dev/null
+++ b/keyboards/keyprez/corgi/readme.md
@@ -0,0 +1,22 @@
1# corgi
2
3![corgi](https://i.imgur.com/XctcpVrh.jpeg)
4
5Corgi is a semi modular 4 x 12 ortho keyboard. The unique thing with Corgi is that you can attach a macropad name "Flea" to use as a num/macro-pad.
6
7* Keyboard Maintainer: [Christian Sandven](https://github.com/csandven)
8* Hardware Supported: Pro Micro or Elite C is required
9* Hardware Availability: TBA
10
11Make example for this keyboard (after setting up your build environment):
12
13 make keyprez/corgi:default
14
15Flashing example for this keyboard:
16
17 make keyprez/corgi:default:flash
18
19
20After running the flash command, you need to short reset and ground on your microcontroller to flash it.
21
22See 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/keyprez/corgi/rules.mk b/keyboards/keyprez/corgi/rules.mk
new file mode 100644
index 000000000..fb12719ce
--- /dev/null
+++ b/keyboards/keyprez/corgi/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23ENCODER_ENABLE = yes