aboutsummaryrefslogtreecommitdiff
path: root/keyboards/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/alpha')
-rwxr-xr-xkeyboards/alpha/alpha.c1
-rwxr-xr-xkeyboards/alpha/alpha.h15
-rwxr-xr-xkeyboards/alpha/config.h46
-rw-r--r--keyboards/alpha/info.json9
-rwxr-xr-xkeyboards/alpha/keymaps/default/keymap.c43
-rwxr-xr-xkeyboards/alpha/keymaps/hvp/keymap.c51
-rw-r--r--keyboards/alpha/keymaps/vderm/README.md35
-rw-r--r--keyboards/alpha/keymaps/vderm/keymap.c34
-rw-r--r--keyboards/alpha/readme.md19
-rwxr-xr-xkeyboards/alpha/rules.mk18
10 files changed, 271 insertions, 0 deletions
diff --git a/keyboards/alpha/alpha.c b/keyboards/alpha/alpha.c
new file mode 100755
index 000000000..3029ba50a
--- /dev/null
+++ b/keyboards/alpha/alpha.c
@@ -0,0 +1 @@
#include "alpha.h"
diff --git a/keyboards/alpha/alpha.h b/keyboards/alpha/alpha.h
new file mode 100755
index 000000000..204e03822
--- /dev/null
+++ b/keyboards/alpha/alpha.h
@@ -0,0 +1,15 @@
1#pragma once
2
3#include "quantum.h"
4
5#define XXX KC_NO
6
7#define LAYOUT( \
8 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
9 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
10 k20, k21, k22, k23, k25, k27, k28, k29 \
11) { \
12 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \
13 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
14 { k20, k21, k22, k23, XXX, k25, XXX, k27, k28, k29 } \
15}
diff --git a/keyboards/alpha/config.h b/keyboards/alpha/config.h
new file mode 100755
index 000000000..ae1c69656
--- /dev/null
+++ b/keyboards/alpha/config.h
@@ -0,0 +1,46 @@
1#pragma once
2
3#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED
7#define PRODUCT_ID 0x6060
8#define DEVICE_VER 0x0001
9#define MANUFACTURER PyroL
10#define PRODUCT alpha
11
12/* key matrix size */
13#define MATRIX_ROWS 3
14#define MATRIX_COLS 10
15
16/* key matrix pins */
17#define MATRIX_ROW_PINS { D4, B4, B5 }
18#define MATRIX_COL_PINS { D7, E6, C6, B6, B2, B3, B1, F7, F6, F5 }
19#define UNUSED_PINS
20
21/* COL2ROW or ROW2COL */
22#define DIODE_DIRECTION COL2ROW
23
24/* number of backlight levels */
25
26#ifdef BACKLIGHT_PIN
27#define BACKLIGHT_LEVELS 3
28#endif
29
30/* Set 0 if debouncing isn't needed */
31#define DEBOUNCE 5
32
33/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
34#define LOCKING_SUPPORT_ENABLE
35
36/* Locking resynchronize hack */
37#define LOCKING_RESYNC_ENABLE
38
39#define RGB_DI_PIN F4
40#ifdef RGB_DI_PIN
41#define RGBLIGHT_ANIMATIONS
42#define RGBLED_NUM 5
43#define RGBLIGHT_HUE_STEP 8
44#define RGBLIGHT_SAT_STEP 8
45#define RGBLIGHT_VAL_STEP 8
46#endif
diff --git a/keyboards/alpha/info.json b/keyboards/alpha/info.json
new file mode 100644
index 000000000..3564b8d53
--- /dev/null
+++ b/keyboards/alpha/info.json
@@ -0,0 +1,9 @@
1{
2 "keyboard_name": "Alpha",
3 "maintainer": "qmk",
4 "layouts": {
5 "LAYOUT": {
6 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2, "w":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}]
7 }
8 }
9}
diff --git a/keyboards/alpha/keymaps/default/keymap.c b/keyboards/alpha/keymaps/default/keymap.c
new file mode 100755
index 000000000..3632ecaea
--- /dev/null
+++ b/keyboards/alpha/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
1#include QMK_KEYBOARD_H
2
3#define HOME 0
4#define MODS 1
5#define MODS2 2
6#define OTHER 3
7
8enum custom_keycodes {
9 MACRO1 = SAFE_RANGE
10};
11
12bool process_record_user(uint16_t keycode, keyrecord_t *record) {
13 if (record->event.pressed) {
14 switch (keycode) {
15 case MACRO1:
16 SEND_STRING("I'm so sorry... -PyroL");
17 return false;
18 }
19 }
20 return true;
21};
22
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 [HOME] = LAYOUT(
25 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
26 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TO(1),
27 KC_Z, KC_X, KC_C, KC_V, MT(MOD_LSFT, KC_SPC), KC_B, KC_N, KC_M),
28
29 [MODS] = LAYOUT(
30 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
31 KC_BSPC, KC_ESC, KC_TAB, KC_SCLN, KC_QUOT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TO(2),
32 KC_LCTL, KC_LGUI, KC_LALT, TO(0), MT(MOD_LSFT, KC_ENT), KC_COMM, KC_DOT, KC_SLSH),
33
34 [MODS2] = LAYOUT(
35 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
36 KC_LSFT, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, TO(3),
37 RGB_VAI, RGB_VAD, RGB_HUI, TO(0), RGB_MOD, KC_MPLY, KC_VOLD, KC_VOLU),
38
39 [OTHER] = LAYOUT(
40 RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
41 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
42 KC_NO, KC_NO, KC_NO, TO(0), MACRO1, KC_NO, KC_NO, KC_NO),
43};
diff --git a/keyboards/alpha/keymaps/hvp/keymap.c b/keyboards/alpha/keymaps/hvp/keymap.c
new file mode 100755
index 000000000..9e8f2d3b9
--- /dev/null
+++ b/keyboards/alpha/keymaps/hvp/keymap.c
@@ -0,0 +1,51 @@
1#include QMK_KEYBOARD_H
2
3enum layer_names {
4 HOME,
5 MODS,
6 MODS2,
7 OTHER,
8};
9
10enum custom_keycodes {
11 MACRO1 = SAFE_RANGE
12};
13
14bool process_record_user(uint16_t keycode, keyrecord_t *record) {
15 if (record->event.pressed) {
16 switch (keycode) {
17 case MACRO1:
18 SEND_STRING("I'm so sorry... -PyroL");
19 return false;
20 }
21 }
22 return true;
23};
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [HOME] = LAYOUT(
27 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, MT(MOD_LCTL,KC_P),
28 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MT(MOD_LSFT,KC_ENT),
29 KC_Z, KC_X, KC_C, LT(MODS2,KC_V), LT(MODS, KC_SPC), LT(OTHER,KC_B), KC_N, KC_M),
30
31 [MODS] = LAYOUT(
32 KC_TAB, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_BSPC,
33 KC_LSFT, KC_ESC, _______, KC_SCLN, KC_QUOT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______,
34 KC_LCTL, KC_LGUI, KC_LALT, _______, _______, KC_COMM, KC_DOT, KC_SLSH),
35
36 [MODS2] = LAYOUT(
37 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
38 KC_LSFT, KC_ESC, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, _______,
39 RGB_VAI, RGB_VAD, RGB_HUI, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU),
40
41 [OTHER] = LAYOUT(
42 KC_ESC, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
43 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, _______,
44 KC_F10, KC_F11, KC_F12, _______, _______, KC_NO, KC_NO, KC_NO),
45};
46
47void matrix_init_user(void) {
48}
49
50void matrix_scan_user(void) {
51} \ No newline at end of file
diff --git a/keyboards/alpha/keymaps/vderm/README.md b/keyboards/alpha/keymaps/vderm/README.md
new file mode 100644
index 000000000..26a8ab3e8
--- /dev/null
+++ b/keyboards/alpha/keymaps/vderm/README.md
@@ -0,0 +1,35 @@
1# Alpha 28-Key Keyboard Alternate Keymap
2Alternate keymap for [Alpha 28-key keyboard](https://github.com/qmk/qmk_firmware/tree/master/keyboards/alpha).
3
4## How-to
5Assuming you've followed all the instructions from the original post, put my "keymap.c" file in "$qmk-firmware-folder$/keyboards/alpha/keymaps/vderm/" and then run your make command ("make alpha:vderm" while in $qmk-firmware-folder$ where this folder is what you've downloaded from the official github page) to compile the hex file to upload to your microcontroller. I've also uploaded my hex file.
6
7## Description
8Instead of going up and down layers like in the original Alpha keyboard, I've made the bottom row keys all have alternate functions:
9+ Like in the original Alpha28 keymap, the 2U spacebar is a shift key when held down and space when tapped
10+ Z and M are Ctrl keys when held down or Z and M when tapped
11+ X and N are Alt keys
12+ C activates the function keys layer (arrows, page up/dn, esc, tab, etc.)
13+ V activates the characters and numbers layer
14+ C and V combined activated the F-keys layer (F1, F2, F3, etc.)
15+ The enter key is an enter key in the home layer, backspace in the function keys and characters/numbers layer and a delete in the F-keys layer
16+ While in the other layers, the bottom row acts like a "regular" bottom modified row: ctrl, alt, winkey
17
18## Keymap
19![keymap](https://imgur.com/ZbDz0eL.jpg)
20
21## Build Images
22Here is my keyboard.
23+ Switches: Aliaz Silent Switches (Tactile), PCB mount, 80g from [KBDfans](https://kbdfans.cn/collections/aliaz-switches/products/pre-orderaliaz-silent-switch-tactile?variant=2519899832333)
24+ PCB board: ordered from JLCPCB, in white
25+ Keycaps: ebay, can't find link :S
26+ Bottom plate: I cut a piece of canary wood that was laying around, needs to be varnished; I also need to actually screw the pcb to the wood instead of relying on double-sided tape
27
28![vderm_alpha0](https://imgur.com/MjjoVtr.jpg)
29![vderm_alpha1](https://imgur.com/mIFu9WV.jpg)
30![vderm_alpha2](https://imgur.com/A70Iemw.jpg)
31![vderm_alpha3](https://imgur.com/eYljPWh.jpg)
32![vderm_alpha4](https://imgur.com/OhUKowj.jpg)
33
34Good luck on your build!
35//vderm
diff --git a/keyboards/alpha/keymaps/vderm/keymap.c b/keyboards/alpha/keymaps/vderm/keymap.c
new file mode 100644
index 000000000..5fc642319
--- /dev/null
+++ b/keyboards/alpha/keymaps/vderm/keymap.c
@@ -0,0 +1,34 @@
1#include QMK_KEYBOARD_H
2
3#define HOME 0
4#define FN 1
5#define FNCHAR 2
6#define FKEYS 3
7
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9 [HOME] = LAYOUT(
10 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
11 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
12 MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(1, KC_C), LT(2, KC_V), MT(MOD_LSFT, KC_SPC), MT(MOD_RGUI,KC_B), MT(MOD_RALT, KC_N), MT(MOD_RCTL, KC_M)),
13
14 [FN] = LAYOUT(
15 KC_ESC, KC__MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO,
16 KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BSPC,
17 KC_LCTL, KC_LALT, KC_TRNS, MO(3), MT(MOD_LSFT, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL),
18
19 [FNCHAR] = LAYOUT(
20 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
21 KC_GRV,KC_NO,KC_MINS,KC_EQL,KC_BSLS,KC_LBRC,KC_RBRC,KC_SCLN,KC_QUOT,KC_BSPC,
22 KC_LCTL, KC_LALT, MO(3), KC_TRNS, MT(MOD_LSFT, KC_SPC), KC_COMM, KC_DOT, KC_SLSH),
23
24 [FKEYS] = LAYOUT(
25 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
26 KC_F11,KC_F12,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_DEL,
27 KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, MT(MOD_LSFT, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL),
28};
29
30void matrix_init_user(void) {
31}
32
33void matrix_scan_user(void) {
34}
diff --git a/keyboards/alpha/readme.md b/keyboards/alpha/readme.md
new file mode 100644
index 000000000..4b5c7fc80
--- /dev/null
+++ b/keyboards/alpha/readme.md
@@ -0,0 +1,19 @@
1# Alpha
2
3![Alpha](https://i.imgur.com/J6EJ30N.jpg)
4
5A 28-key, semi-ortho keyboard designed by PyroL!
6
7Keyboard Maintainer: [PyroL](https://www.github.com/PyrooL)
8
9Hardware Supported: Alpha PCB, Pro Micro
10
11Hardware Availability: on a group-buy basis for now. Pro Micros can be found on Ali or from the official Sparkfun website.
12
13Make example for Alpha (after setting up your build environment):
14
15 make alpha:default
16
17See [build environment setup](https://docs.qmk.fm/install-build-tools) then the [make instructions](https://docs.qmk.fm/faq/build-compile-qmk) for more information.
18
19Please see [PyrooL/Alpha](https://www.github.com/PyrooL/Alpha) for **build instructions**, parts lists, Gerbers, and case files.
diff --git a/keyboards/alpha/rules.mk b/keyboards/alpha/rules.mk
new file mode 100755
index 000000000..e1a53a152
--- /dev/null
+++ b/keyboards/alpha/rules.mk
@@ -0,0 +1,18 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
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
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no
18RGBLIGHT_ENABLE = yes