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 vector macropad #24487

Merged
merged 10 commits into from
Oct 17, 2024
40 changes: 40 additions & 0 deletions keyboards/arrayperipherals/vector/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"manufacturer": "Array Peripherals",
"keyboard_name": "The Vector",
"maintainer": "daviddoan",
"bootloader": "atmel-dfu",
"encoder": {
"rotary": [
{"pin_a": "F0", "pin_b": "F1"}
]
},
"features": {
"bootmagic": true,
"encoder": true,
"extrakey": true,
"mousekey": true
},
"matrix_pins": {
"direct": [
["D4", "C6", "D7", "E6", "F7"]
]
},
"processor": "atmega32u4",
"url": "https://arrayperipherals.com",
"usb": {
"device_version": "1.0.0",
"pid": "0x4F47",
"vid": "0x4152"
},
"layouts": {
"LAYOUT": {
"layout": [
{"label": "k01", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "k02", "matrix": [0, 1], "x": 1.25, "y": 0},
{"label": "k03", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "k04", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "k05", "matrix": [0, 4], "x": 4.5, "y": 0}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the key spacing meant to look like this?
image
The image in the readme suggests more of an even spacing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow thanks for the catch!

]
}
}
}
36 changes: 36 additions & 0 deletions keyboards/arrayperipherals/vector/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
Copyright 2024 David Doan <[email protected]>

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] = {

[0] = LAYOUT(
KC_MPRV, KC_MPLY, KC_MNXT, KC_AUDIO_MUTE, TG(1)
daviddoan marked this conversation as resolved.
Show resolved Hide resolved
),

[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(1)
),
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
[1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
};
#endif // ENCODER_MAP_ENABLE
1 change: 1 addition & 0 deletions keyboards/arrayperipherals/vector/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
27 changes: 27 additions & 0 deletions keyboards/arrayperipherals/vector/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# The Vector Macropad

![The Vector](https://i.imgur.com/rmy76bp.png)

A small (1x4) macropad with a rotary. [More info at arrayperipherals.com](https://www.arrayperipherals.com/)

* Keyboard Maintainer: [David Doan](https://github.com/daviddoan)
* Hardware Supported: Custom PCB with Atmega32u4 processor
* Hardware Availability: [arrayperipherals.com](https://www.arrayperipherals.com/)

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

make arrayperipherals/vector:default
daviddoan marked this conversation as resolved.
Show resolved Hide resolved

Flashing example for this keyboard:

make arrayperipherals/vector:default:flash

daviddoan 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).

## Bootloader

Enter the bootloader in 2 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (left most from the rotary)
* **Physical reset button**: Briefly double press the button on the back of the PCB