This commit is contained in:
2023-07-26 21:08:47 -03:00
parent b8c8dbab0e
commit 593d1300c6
10 changed files with 314 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ A simple handmade macropad with arduino pro micro and VIAL or QMK.
- [Case](#case-1)
- [Connection diagram](#connection-diagram)
- [QMK/VIAL](#qmkvial-1)
- [Referencias / References](#referencias--references)
# ES
Hacer un macropad con un arduino pro micro es fácil, ya que podemos hacerlo con VIAL o QMK.
@@ -71,3 +72,6 @@ We write in QMK MSYS, `qmk compile -kb void16 -km default` to compile it in QMK.
Type in QMK MSYS, `qmk compile -kb void16 -km default` to compile with VIAL.
Then [load the firmware](https://github.com/brockar/redox-handwired-3dp#cargar-firmware) and that's it, we have our macropad.
# Referencias / References
Macropad vial: [void16](https://github.com/victorlucachi/void16).

26
vial/void16/config.h Normal file
View File

@@ -0,0 +1,26 @@
// Copyright 2022 Victor Lucachi (@victorlucachi)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
// #define ENCODERS_PAD_A { F5, B2 }
// #define ENCODERS_PAD_B { F4, B3 }

48
vial/void16/info.json Normal file
View File

@@ -0,0 +1,48 @@
{
"manufacturer": "brockar",
"keyboard_name": "VOID16",
"maintainer": "brockar",
"bootloader": "caterina",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": false,
"command": false,
"console": false,
"extrakey": true,
"mousekey": false,
"nkro": false
},
"matrix_pins": {
"cols": ["D4", "C6", "D7", "E6"],
"rows": ["D3", "D2", "D1", "D0"]
},
"processor": "atmega32u4",
"url": "https://github.com/victorlucachi/void16",
"usb": {
"device_version": "1.0.0",
"pid": "0x3533",
"vid": "0xF055"
},
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [0, 3], "x": 3, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "matrix": [3, 3], "x": 3, "y": 3 }
]
}
}
}

View File

@@ -0,0 +1,63 @@
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
_FN2,
_FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │ 7 │ 8 │ 9 │ BS│
* ├───┼───┼───┼───┤
* │ 4 │ 5 │ 6 │ESC│
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │TAB│
* ├───┼───┼───┼───┤
* │FN │ 0 │ . │RET│
* └───┴───┴───┴───┘
*/
[_BASE] = LAYOUT_ortho_4x4(
DF(_BASE),DF(_FN1),DF(_FN2),DF(_FN3),
KC_F13, KC_F14, KC_F15, KC_F16,
KC_F17, KC_F18, KC_F19, KC_F20,
KC_F21, KC_F22, KC_F23, KC_F24
),
[_FN1] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16),
LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20),
LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24)
),
[_FN2] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16),
LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20),
LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24)
),
[_FN3] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16),
LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20),
LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24)
)
};
/*
* ROTARY ENCODER
*/
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
[_FN1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
[_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
};
#endif

View File

@@ -0,0 +1,6 @@
// Copyright 2022 Victor Lucachi (@victorlucachi)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define VIAL_KEYBOARD_UID {0x4D, 0x2A, 0x00, 0xFF, 0xEA, 0x60, 0x95, 0xC7}

View File

@@ -0,0 +1,62 @@
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_FN1,
_FN2,
_FN3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │ 7 │ 8 │ 9 │ BS│
* ├───┼───┼───┼───┤
* │ 4 │ 5 │ 6 │ESC│
* ├───┼───┼───┼───┤
* │ 1 │ 2 │ 3 │TAB│
* ├───┼───┼───┼───┤
* │FN │ 0 │ . │RET│
* └───┴───┴───┴───┘
*/
[_BASE] = LAYOUT_ortho_4x4(
DF(_BASE),DF(_FN1),DF(_FN2),DF(_FN3),
KC_F13, KC_F14, KC_F15, KC_F16,
KC_F17, KC_F18, KC_F19, KC_F20,
KC_F21, KC_F22, KC_F23, KC_F24
),
[_FN1] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16),
LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20),
LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24)
),
[_FN2] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16),
LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20),
LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24)
),
[_FN3] = LAYOUT_ortho_4x4(
_______, _______, _______, _______,
LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16),
LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20),
LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24)
)
};
/*
* ROTARY ENCODER
*/
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[_BASE] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN)},
[_FN1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
[_FN2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
[_FN3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
};
#endif

View File

@@ -0,0 +1,19 @@
VIA_ENABLE = yes
VIAL_ENABLE = yes
LT0_ENABLE = yes
QMK_SETTINGS = no
TAP_DANCE_ENABLE = no
COMBO_ENABLE = no
KEY_OVERRIDE_ENABLE = no
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = yes
VIAL_ENCODERS_ENABLE = no
VIAL_INSECURE = yes

View File

@@ -0,0 +1,67 @@
{
"name":"VOID16",
"vendorId":"0xF055",
"productId":"0x3533",
"lighting":"none",
"matrix":{
"rows":4,
"cols":4
},
"layouts":{
"labels":[
[
"Encoder",
"None",
"Upper Left"
]
],
"keymap":[
[
"0,0\n\n\n0,1\n\n\n\n\n\ne",
"0,1\n\n\n0,1\n\n\n\n\n\ne"
],
[
{
"y": 0.25,
"w": 2,
"d": true
},
"\n\n\n0,0",
{
"x": 0.25
},
"0,0",
"0,1",
"0,2",
"0,3"
],
[
{
"x": 2.25
},
"1,0",
"1,1",
"1,2",
"1,3"
],
[
{
"x": 2.25
},
"2,0",
"2,1",
"2,2",
"2,3"
],
[
{
"x": 2.25
},
"3,0",
"3,1",
"3,2",
"3,3"
]
]
}
}

16
vial/void16/readme.md Normal file
View File

@@ -0,0 +1,16 @@
# VOID16
![VOID16](https://i.imgur.com/ExFBLPU.jpg)
A handwired 4x4 macropad with (or without, it's up to you) a rotary encoder.
Vial layout option for an encoder in place of the upper left key.
* Keyboard Maintainer: [Victor Lucachi](https://github.com/victorlucachi)
* Hardware Supported: Pro Micro
Make example for this keyboard (after setting up your build environment):
make handwired/void16:vial
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).

3
vial/void16/rules.mk Normal file
View File

@@ -0,0 +1,3 @@
VIA_ENABLE = yes
ENCODER_ENABLE = no
ENCODER_MAP_ENABLE = no