diff options
Diffstat (limited to 'keyboards/alpha')
-rwxr-xr-x | keyboards/alpha/alpha.c | 1 | ||||
-rwxr-xr-x | keyboards/alpha/alpha.h | 15 | ||||
-rwxr-xr-x | keyboards/alpha/config.h | 46 | ||||
-rw-r--r-- | keyboards/alpha/info.json | 9 | ||||
-rwxr-xr-x | keyboards/alpha/keymaps/default/keymap.c | 43 | ||||
-rwxr-xr-x | keyboards/alpha/keymaps/hvp/keymap.c | 51 | ||||
-rw-r--r-- | keyboards/alpha/keymaps/vderm/README.md | 35 | ||||
-rw-r--r-- | keyboards/alpha/keymaps/vderm/keymap.c | 34 | ||||
-rw-r--r-- | keyboards/alpha/readme.md | 19 | ||||
-rwxr-xr-x | keyboards/alpha/rules.mk | 18 |
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 | |||
8 | enum custom_keycodes { | ||
9 | MACRO1 = SAFE_RANGE | ||
10 | }; | ||
11 | |||
12 | bool 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 | |||
23 | const 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 | |||
3 | enum layer_names { | ||
4 | HOME, | ||
5 | MODS, | ||
6 | MODS2, | ||
7 | OTHER, | ||
8 | }; | ||
9 | |||
10 | enum custom_keycodes { | ||
11 | MACRO1 = SAFE_RANGE | ||
12 | }; | ||
13 | |||
14 | bool 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 | |||
25 | const 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 | |||
47 | void matrix_init_user(void) { | ||
48 | } | ||
49 | |||
50 | void 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 | ||
2 | Alternate keymap for [Alpha 28-key keyboard](https://github.com/qmk/qmk_firmware/tree/master/keyboards/alpha). | ||
3 | |||
4 | ## How-to | ||
5 | Assuming 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 | ||
8 | Instead 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 |  | ||
20 | |||
21 | ## Build Images | ||
22 | Here 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 |  | ||
29 |  | ||
30 |  | ||
31 |  | ||
32 |  | ||
33 | |||
34 | Good 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 | |||
8 | const 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 | |||
30 | void matrix_init_user(void) { | ||
31 | } | ||
32 | |||
33 | void 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 |  | ||
4 | |||
5 | A 28-key, semi-ortho keyboard designed by PyroL! | ||
6 | |||
7 | Keyboard Maintainer: [PyroL](https://www.github.com/PyrooL) | ||
8 | |||
9 | Hardware Supported: Alpha PCB, Pro Micro | ||
10 | |||
11 | Hardware Availability: on a group-buy basis for now. Pro Micros can be found on Ali or from the official Sparkfun website. | ||
12 | |||
13 | Make example for Alpha (after setting up your build environment): | ||
14 | |||
15 | make alpha:default | ||
16 | |||
17 | See [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 | |||
19 | Please 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 | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | NKRO_ENABLE = yes # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
17 | AUDIO_ENABLE = no | ||
18 | RGBLIGHT_ENABLE = yes | ||