Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add KeyDeck8 #20107

Merged
merged 67 commits into from
Mar 29, 2023
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
8c67ee8
Add KeyDeck8 to handwired
Maverick0197 Mar 12, 2023
01f5a93
Rename keyboard.json to keyboard_via.json
Maverick0197 Mar 12, 2023
da15a29
add missing files
Maverick0197 Mar 12, 2023
89e9b36
Update keydeck8.c
Maverick0197 Mar 12, 2023
564745b
Update keydeck8.h
Maverick0197 Mar 12, 2023
bc1ac39
Update config.h
Maverick0197 Mar 12, 2023
00f8370
License fix
Maverick0197 Mar 12, 2023
bfd3dc1
License fix
Maverick0197 Mar 12, 2023
09ac8d0
license fix
Maverick0197 Mar 12, 2023
72bf62a
license fix
Maverick0197 Mar 12, 2023
279e8b0
Previous files uploaded to wrong location
Maverick0197 Mar 13, 2023
72d4395
Delete keyboards/handwired/keyboards directory
Maverick0197 Mar 13, 2023
af86ba4
trying to format the file
Maverick0197 Mar 13, 2023
b9c2417
previous changes only made it worse
Maverick0197 Mar 13, 2023
4ae6f63
Update keyboards/handwired/maverick0197/keydeck8/readme.md
Maverick0197 Mar 13, 2023
6b30c18
Update keyboards/handwired/maverick0197/keydeck8/info.json
Maverick0197 Mar 13, 2023
3d5e0b1
Delete keydeck8.c
Maverick0197 Mar 13, 2023
e8bdfa1
Delete keydeck8.h
Maverick0197 Mar 13, 2023
93ff4e8
Update keyboards/handwired/maverick0197/keydeck8/rules.mk
Maverick0197 Mar 13, 2023
3d84e3b
Update rules.mk
Maverick0197 Mar 13, 2023
8cce0de
Delete config.h
Maverick0197 Mar 13, 2023
1c5e891
Update keyboards/handwired/maverick0197/keydeck8/keymaps/via/rules.mk
Maverick0197 Mar 14, 2023
c9fda7c
Update keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c
Maverick0197 Mar 14, 2023
1af62ff
Update keyboards/handwired/maverick0197/keydeck8/keymaps/default/keym…
Maverick0197 Mar 14, 2023
d02ebb7
add rules to default
Maverick0197 Mar 14, 2023
b72101a
Update keymap.c
Maverick0197 Mar 14, 2023
8ad33c9
Update keymap.c
Maverick0197 Mar 14, 2023
467e0e8
Update keymap.c
Maverick0197 Mar 14, 2023
aa3534a
Update rules.mk
Maverick0197 Mar 14, 2023
4fc5892
Update keymap.c
Maverick0197 Mar 14, 2023
c5bc16b
Update keymap.c
Maverick0197 Mar 14, 2023
49b41d8
Update keymap.c
Maverick0197 Mar 14, 2023
73f0dab
Update keymap.c
Maverick0197 Mar 14, 2023
b819254
Update keymap.c
Maverick0197 Mar 14, 2023
8f63941
Update keymap.c
Maverick0197 Mar 14, 2023
6b279a3
Update keymap.c
Maverick0197 Mar 14, 2023
ef97087
Update keymap.c
Maverick0197 Mar 15, 2023
5801b8f
Update info.json
Maverick0197 Mar 15, 2023
cb04eff
Update keymap.c
Maverick0197 Mar 15, 2023
0faa3c3
Update keymap.c
Maverick0197 Mar 15, 2023
2ff7ca6
Update keymap.c
Maverick0197 Mar 15, 2023
95e3e71
Update keymap.c
Maverick0197 Mar 15, 2023
0220294
Update rules.mk
Maverick0197 Mar 15, 2023
e12fb11
Update rules.mk
Maverick0197 Mar 15, 2023
e0110f8
Update keymap.c
Maverick0197 Mar 15, 2023
a10a116
Update keymap.c
Maverick0197 Mar 15, 2023
4acaa48
Update keymap.c
Maverick0197 Mar 15, 2023
89bfa8d
Update keymap.c
Maverick0197 Mar 15, 2023
8463854
Update keymap.c
Maverick0197 Mar 15, 2023
ba24052
Update keymap.c
Maverick0197 Mar 15, 2023
6c4f5b0
Update keymap.c
Maverick0197 Mar 15, 2023
5f59825
Update keymap.c
Maverick0197 Mar 15, 2023
a3469f5
Update keymap.c
Maverick0197 Mar 15, 2023
c11dd56
reupload files in hopes it fixes errors
Maverick0197 Mar 15, 2023
f0eab4b
Update info.json
Maverick0197 Mar 15, 2023
43f1d76
Update keymap.c
Maverick0197 Mar 15, 2023
362b428
Update info.json
Maverick0197 Mar 16, 2023
851cea0
Update info.json
Maverick0197 Mar 16, 2023
393c23e
changed EOL on keymaps to LF
Maverick0197 Mar 16, 2023
6ef6bf8
Update PID and VID
Maverick0197 Mar 20, 2023
b7913a0
Add keydeck8.c for VIA functionality
Maverick0197 Mar 20, 2023
8d72ae8
Update keyboards/handwired/maverick0197/keydeck8/keydeck8.c
Maverick0197 Mar 21, 2023
66a3014
add "l" to the end of imgur links
Maverick0197 Mar 21, 2023
30ba15d
Update keyboards/handwired/maverick0197/keydeck8/info.json
Maverick0197 Mar 21, 2023
de30271
Update keyboards/handwired/maverick0197/keydeck8/info.json
Maverick0197 Mar 21, 2023
be782b5
Reformat and add hardware
Maverick0197 Mar 21, 2023
f86eebb
Delete keyboard.json
Maverick0197 Mar 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*
Copyright 2023 Maverick0197 <>

* 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/>.
*/
#pragma once

/* Encoder Configuration */
#define ENCODERS_PAD_A { D2 }
#define ENCODERS_PAD_B { D3 }
#define ENCODER_RESOLUTION 4
#define ENCODER_DIRECTION_FLIP
//#define ENCODER_DEFAULT_POS 0x3
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
29 changes: 29 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"keyboard_name": "KeyDeck8 ProMicro",
"manufacturer": "Maverick0197",
"maintainer": "Maverick0197",
"bootloader": "atmel-dfu",
"features": {},
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved
"matrix_pins": {
"direct": [
["D0", "D1", "D4"],
["C6", "D7", "E6"],
["B4", "B5", "B6"]
]
},
"processor": "atmega32u4",
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved
"usb": {
"device_version": "0.0.1",
"pid": "0x2320",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT": {
"layout": [
{"label":"D0", "matrix": [0, 0], "x":0, "y":5}, {"label":"D1", "matrix": [0, 1], "x":0, "y":0}, {"label":"D4", "matrix": [0, 2], "x":0, "y":6},
{"label":"C6", "matrix": [1, 0], "x":0, "y":7}, {"label":"D7", "matrix": [1, 1], "x":0, "y":8}, {"label":"E6", "matrix": [1, 2], "x":0, "y":9},
{"label":"B4", "matrix": [2, 0], "x":0, "y":10}, {"label":"B5", "matrix": [2, 1], "x":0, "y":11}, {"label":"B6", "matrix": [2, 2], "x":2, "y":11}
]
}
}
}
17 changes: 17 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/keydeck8.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
Copyright 2023 Maverick0197 <>
*
* 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 "keydeck8.h"
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
30 changes: 30 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/keydeck8.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
Copyright 2023 Maverick0197 <>
*
* 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/>.
*/
#pragma once

#include "quantum.h"

#define LAYOUT( \
waffle87 marked this conversation as resolved.
Show resolved Hide resolved
K00, K01, K02, \
K03, K04, K05, \
K06, K07, K08 \
) \
{ \
{K00, K01, K02}, \
{K03, K04, K05}, \
{K06, K07, K08} \
}
50 changes: 50 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
Copyright 2023 Maverick0197 <>
*
* 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] = {
/*
* ┌────┬────┬────┐
* │ D0 │ D1 │ D4 │
* ├────┼────┼────┤
* │ C6 │ D7 │ E6 │
* ├────┼────┼────┤
* │ B4 │ B5 │ B6 │
* └────┴────┴────┘
*/
[0] = LAYOUT(
KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#else
bool encoder_update_user(uint8_t index, bool clockwise) {
//if (index == 0) { /* First encoder */
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
//}
return false;
};
#endif // ENCODER_MAP_ENABLE
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved
68 changes: 68 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
Copyright 2023 Maverick0197 <>
*
* 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] = {
/*
* ┌────┬────┬────┐
* │ D0 │ D1 │ D4 │
* ├────┼────┼────┤
* │ C6 │ D7 │ E6 │
* ├────┼────┼────┤
* │ B4 │ B5 │ B6 │
* └────┴────┴────┘
*/
[0] = LAYOUT(
KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK,
KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6
),
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[2] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[3] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#else
bool encoder_update_user(uint8_t index, bool clockwise) {
//if (index == 0) { /* First encoder */
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
//}
return false;
};
#endif // ENCODER_MAP_ENABLE
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved
37 changes: 37 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# KeyDeck8



Firmware for obscuresausage's Multimedia Key Deck.

8 keys and and encoder powered by a Pro Micro.

[Multimedia Key Deck model Files](https://www.printables.com/model/389352-multimedia-key-deck)


![KeyDeck8](https://i.imgur.com/6G2LPLz.jpg)
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved


Wiring Diagram:

![KeyDeck8 Wiring Diagram](https://i.imgur.com/1sOvYRU.jpg)
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved


Pinouts for Pro Micro:

![Promicro Pinout Guide](https://i.imgur.com/LZ194Hf.jpg)
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved



* Keyboard Maintainer: [Maverick0197](https://github.com/Maverick0197)
* Hardware Supported: Pro Micro
* Printed enclosure
* Handwired
* Requires a Pro Micro, 8 key switches and 1 KY040 encoder


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

make handwired/maverick0197/keydeck8:default
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved

See 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).
16 changes: 16 additions & 0 deletions keyboards/handwired/maverick0197/keydeck8/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes # Enables encoder use
ENCODER_MAP_ENABLE = no

DEFAULT_FOLDER = handwired/maverick0197/keydeck8
Maverick0197 marked this conversation as resolved.
Show resolved Hide resolved