summaryrefslogtreecommitdiff
path: root/keyboards/wolf
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2023-01-30 18:55:36 +1100
committerfauxpark <fauxpark@gmail.com>2023-01-30 18:55:36 +1100
commitef6505ad7547f9651bddc309bd323d029d1fac64 (patch)
tree9e7ece9bbba2123ca04c6f2e76feb774eb6fb38b /keyboards/wolf
parent242b80c63ffff022172755da35fb4767d5f837c2 (diff)
parent2c878b1b161ae10332fdc4d69f3d1f86d2726c5c (diff)
Merge remote-tracking branch 'upstream/master' into develop
Diffstat (limited to 'keyboards/wolf')
-rw-r--r--keyboards/wolf/frogpad/frogpad.c38
-rw-r--r--keyboards/wolf/frogpad/info.json93
-rw-r--r--keyboards/wolf/frogpad/keymaps/default/keymap.c48
-rw-r--r--keyboards/wolf/frogpad/keymaps/default/rules.mk1
-rw-r--r--keyboards/wolf/frogpad/keymaps/via/keymap.c70
-rw-r--r--keyboards/wolf/frogpad/keymaps/via/rules.mk2
-rw-r--r--keyboards/wolf/frogpad/readme.md25
-rw-r--r--keyboards/wolf/frogpad/rules.mk2
8 files changed, 279 insertions, 0 deletions
diff --git a/keyboards/wolf/frogpad/frogpad.c b/keyboards/wolf/frogpad/frogpad.c
new file mode 100644
index 0000000000..ae6a2e0e17
--- /dev/null
+++ b/keyboards/wolf/frogpad/frogpad.c
@@ -0,0 +1,38 @@
1/*
2Copyright 2023 <contact@vwolf.be>
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#include "quantum.h"
19
20#ifdef ENCODER_ENABLE
21bool encoder_update_kb(uint8_t index, bool clockwise) {
22 if (!encoder_update_user(index, clockwise)) { return false; }
23 if (index == 0) {
24 if (clockwise) {
25 tap_code_delay(KC_VOLU, 10);
26 } else {
27 tap_code_delay(KC_VOLD, 10);
28 }
29 } else if (index == 1) { /* Second encoder */
30 if (clockwise) {
31 tap_code(KC_PGDN);
32 } else {
33 tap_code(KC_PGUP);
34 }
35 }
36 return true;
37}
38#endif \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/info.json b/keyboards/wolf/frogpad/info.json
new file mode 100644
index 0000000000..4efd640ba0
--- /dev/null
+++ b/keyboards/wolf/frogpad/info.json
@@ -0,0 +1,93 @@
1{
2 "manufacturer": "Geon",
3 "keyboard_name": "Frog Pad",
4 "maintainer": "ToastyStoemp",
5 "bootloader": "atmel-dfu",
6 "diode_direction": "COL2ROW",
7 "features": {
8 "bootmagic": true,
9 "command": false,
10 "console": false,
11 "extrakey": true,
12 "mousekey": true,
13 "nkro": true,
14 "encoder": true
15 },
16 "matrix_pins": {
17 "cols": ["F5", "F6", "B7", "B3"],
18 "rows": ["F0", "B6", "D6", "B5", "D7", "B4"]
19 },
20 "encoder": {
21 "rotary": [
22 { "pin_a": "F4", "pin_b": "F1" },
23 { "pin_a": "B1", "pin_b": "B2" }
24 ]
25 },
26 "processor": "atmega32u4",
27 "url": "https://geon.works/products/frog-pad",
28 "usb": {
29 "device_version": "1.0.0",
30 "pid": "0x0004",
31 "vid": "0x5453"
32 },
33 "layouts": {
34 "LAYOUT_numpad_6x4": {
35 "layout": [
36 {"matrix": [0, 0], "x":0, "y":0},
37 {"matrix": [0, 1], "x":1, "y":0},
38 {"matrix": [0, 2], "x":2, "y":0},
39 {"matrix": [0, 3], "x":3, "y":0},
40
41 {"matrix": [1, 0], "x":0, "y":1},
42 {"matrix": [1, 1], "x":1, "y":1},
43 {"matrix": [1, 2], "x":2, "y":1},
44 {"matrix": [1, 3], "x":3, "y":1},
45
46 {"matrix": [2, 0], "x":0, "y":2},
47 {"matrix": [2, 1], "x":1, "y":2},
48 {"matrix": [2, 2], "x":2, "y":2},
49
50 {"matrix": [3, 0], "x":0, "y":3},
51 {"matrix": [3, 1], "x":1, "y":3},
52 {"matrix": [3, 2], "x":2, "y":3},
53 {"matrix": [2, 3], "x":3, "y":2, "h":2},
54
55 {"matrix": [4, 0], "x":0, "y":4},
56 {"matrix": [4, 1], "x":1, "y":4},
57 {"matrix": [4, 2], "x":2, "y":4},
58
59 {"matrix": [5, 0], "x":0, "y":5, "w":2},
60 {"matrix": [5, 2], "x":2, "y":5},
61 {"matrix": [4, 3], "x":3, "y":4, "h":2}
62 ]
63 },
64 "LAYOUT_ortho_6x4": {
65 "layout": [
66 { "matrix": [0, 0], "x": 0, "y": 0 },
67 { "matrix": [0, 1], "x": 1, "y": 0 },
68 { "matrix": [0, 2], "x": 2, "y": 0 },
69 { "matrix": [0, 3], "x": 3, "y": 0 },
70 { "matrix": [1, 0], "x": 0, "y": 1 },
71 { "matrix": [1, 1], "x": 1, "y": 1 },
72 { "matrix": [1, 2], "x": 2, "y": 1 },
73 { "matrix": [1, 3], "x": 3, "y": 1 },
74 { "matrix": [2, 0], "x": 0, "y": 2 },
75 { "matrix": [2, 1], "x": 1, "y": 2 },
76 { "matrix": [2, 2], "x": 2, "y": 2 },
77 { "matrix": [2, 3], "x": 3, "y": 2 },
78 { "matrix": [3, 0], "x": 0, "y": 3 },
79 { "matrix": [3, 1], "x": 1, "y": 3 },
80 { "matrix": [3, 2], "x": 2, "y": 3 },
81 { "matrix": [3, 3], "x": 3, "y": 3 },
82 { "matrix": [4, 0], "x": 0, "y": 4 },
83 { "matrix": [4, 1], "x": 1, "y": 4 },
84 { "matrix": [4, 2], "x": 2, "y": 4 },
85 { "matrix": [4, 3], "x": 3, "y": 4 },
86 { "matrix": [5, 0], "x": 0, "y": 5 },
87 { "matrix": [5, 1], "x": 1, "y": 5 },
88 { "matrix": [5, 2], "x": 2, "y": 5 },
89 { "matrix": [5, 3], "x": 3, "y": 5 }
90 ]
91 }
92 }
93} \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/keymaps/default/keymap.c b/keyboards/wolf/frogpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..e7f88542bc
--- /dev/null
+++ b/keyboards/wolf/frogpad/keymaps/default/keymap.c
@@ -0,0 +1,48 @@
1/*
2Copyright 2020 <me@homedrop.org>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20};
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23
24 [_LAYER0] = LAYOUT_ortho_6x4(
25 KC_F1, KC_F2, KC_F3, KC_F4,
26 KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
27 KC_P7, KC_P8, KC_P9, KC_PPLS,
28 KC_P4, KC_P5, KC_P6, KC_TRNS,
29 KC_P1, KC_P2, KC_P3, KC_PENT,
30 KC_P0, KC_PDOT, KC_PDOT, MO(1)
31 ),
32
33 [_LAYER1] = LAYOUT_ortho_6x4(
34 QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_HOME, KC_UP, KC_PGUP, KC_TRNS,
37 KC_LEFT, KC_TRNS, KC_RGHT, KC_TRNS,
38 KC_END, KC_DOWN, KC_PGDN, KC_TRNS,
39 KC_INS, KC_TRNS, KC_DEL, KC_TRNS
40 )
41};
42
43#if defined(ENCODER_MAP_ENABLE)
44const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
45 [_LAYER0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
46 [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
47};
48#endif \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/keymaps/default/rules.mk b/keyboards/wolf/frogpad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..a40474b4d5
--- /dev/null
+++ b/keyboards/wolf/frogpad/keymaps/default/rules.mk
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/keymaps/via/keymap.c b/keyboards/wolf/frogpad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0a95b54b66
--- /dev/null
+++ b/keyboards/wolf/frogpad/keymaps/via/keymap.c
@@ -0,0 +1,70 @@
1/*
2Copyright 2020 <me@homedrop.org>
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7This program is distributed in the hope that it will be useful,
8but WITHOUT ANY WARRANTY; without even the implied warranty of
9MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10GNU General Public License for more details.
11You should have received a copy of the GNU General Public License
12along with this program. If not, see <http://www.gnu.org/licenses/>.
13*/
14
15#include QMK_KEYBOARD_H
16
17enum layers {
18 _LAYER0,
19 _LAYER1,
20 _LAYER2,
21 _LAYER3
22};
23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [_LAYER0] = LAYOUT_ortho_6x4(
27 KC_F1, KC_F2, KC_F3, KC_F4,
28 KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
29 KC_P7, KC_P8, KC_P9, KC_PPLS,
30 KC_P4, KC_P5, KC_P6, KC_TRNS,
31 KC_P1, KC_P2, KC_P3, KC_PENT,
32 KC_P0, KC_PDOT, KC_PDOT, MO(1)
33 ),
34
35 [_LAYER1] = LAYOUT_ortho_6x4(
36 QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_HOME, KC_UP, KC_PGUP, KC_TRNS,
39 KC_LEFT, KC_TRNS, KC_RGHT, KC_TRNS,
40 KC_END, KC_DOWN, KC_PGDN, KC_TRNS,
41 KC_INS, KC_TRNS, KC_DEL, KC_TRNS
42 ),
43
44 [_LAYER2] = LAYOUT_ortho_6x4(
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
46 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
47 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
51 ),
52
53 [_LAYER3] = LAYOUT_ortho_6x4(
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
55 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
60 )
61};
62
63#if defined(ENCODER_MAP_ENABLE)
64const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
65 [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
66 [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
67 [_LAYER2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
68 [_LAYER3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
69};
70#endif \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/keymaps/via/rules.mk b/keyboards/wolf/frogpad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..4253f570f0
--- /dev/null
+++ b/keyboards/wolf/frogpad/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2ENCODER_MAP_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/wolf/frogpad/readme.md b/keyboards/wolf/frogpad/readme.md
new file mode 100644
index 0000000000..b797d37fd7
--- /dev/null
+++ b/keyboards/wolf/frogpad/readme.md
@@ -0,0 +1,25 @@
1# Frog Pad
2
3The following is the QMK Firmware for the Frog Pad PCB.
4
5The PCB features:
6* QMK & VIA compatibility
7* 2 Encoders
8
9---
10
11* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make wolf/frogpad:default
16
17Flashing example for this keyboard:
18
19 make wolf/frogpad:default:flash
20
21See 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).
22
23## Bootloader Enter the bootloader in 3 ways:
24* **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch)
25* **Reset Pads**: Briefly short the pads labeled `QK_BOOT` on the back of the PCB
diff --git a/keyboards/wolf/frogpad/rules.mk b/keyboards/wolf/frogpad/rules.mk
new file mode 100644
index 0000000000..3437a35bdf
--- /dev/null
+++ b/keyboards/wolf/frogpad/rules.mk
@@ -0,0 +1,2 @@
1# Processor frequency
2F_CPU = 8000000