diff options
Diffstat (limited to 'keyboards/aplyard')
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/config.h | 47 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c | 38 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/readme.md | 41 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/rev1.c | 19 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/rev1.h | 12 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev1/rules.mk | 32 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/config.h | 49 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c | 146 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/readme.md | 39 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/rev2.c | 16 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/rev2.h | 28 | ||||
| -rw-r--r-- | keyboards/aplyard/aplx6/rev2/rules.mk | 25 |
12 files changed, 492 insertions, 0 deletions
diff --git a/keyboards/aplyard/aplx6/rev1/config.h b/keyboards/aplyard/aplx6/rev1/config.h new file mode 100644 index 000000000..98a7381cc --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/config.h | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 April Aplyard <alex.fragiou@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | |||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 22 | /* USB Device descriptor parameter */ | ||
| 23 | #define VENDOR_ID 0xE0E0 | ||
| 24 | #define PRODUCT_ID 0x0030 | ||
| 25 | #define DEVICE_VER 0x0001 | ||
| 26 | #define MANUFACTURER Aplyard | ||
| 27 | #define PRODUCT Aplx6 | ||
| 28 | |||
| 29 | /* key matrix size */ | ||
| 30 | #define MATRIX_ROWS 2 | ||
| 31 | #define MATRIX_COLS 3 | ||
| 32 | |||
| 33 | /* pin-out */ | ||
| 34 | #define MATRIX_ROW_PINS { E6, B3 } | ||
| 35 | #define MATRIX_COL_PINS { F7, B6, F4 } | ||
| 36 | #define UNUSED_PINS | ||
| 37 | |||
| 38 | |||
| 39 | /* ws2812 RGB LED */ | ||
| 40 | //#define RGB_DI_PIN X | ||
| 41 | |||
| 42 | //#define RGBLIGHT_ANIMATIONS | ||
| 43 | //#define RGBLED_NUM X // Number of LEDs | ||
| 44 | |||
| 45 | |||
| 46 | /* COL2ROW or ROW2COL */ | ||
| 47 | #define DIODE_DIRECTION COL2ROW | ||
diff --git a/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c b/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c new file mode 100644 index 000000000..91ed943f3 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | #define _MAIN 0 | ||
| 4 | #define _FN 1 | ||
| 5 | |||
| 6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 7 | /* Keymap __MAIN: Default Layer | ||
| 8 | * ,--------------------------------. | ||
| 9 | * | .------. |-----|-----|-----| | | ||
| 10 | * | | | |Play |VolUp| Fn | | | ||
| 11 | * | | Pro | |-----|-----|-----| | | ||
| 12 | * | | Micro| --------------------| | ||
| 13 | * | | | |-----|-----|-----| | | ||
| 14 | * | '------' |Prev |VolD |Next | | | ||
| 15 | * | |||||| |-----|-----|-----| | | ||
| 16 | * '--------------------------------' | ||
| 17 | */ | ||
| 18 | [_MAIN] = LAYOUT( | ||
| 19 | KC_MPLY, KC_VOLU, MO(1), | ||
| 20 | KC_MPRV, KC_VOLD, KC_MNXT | ||
| 21 | ), | ||
| 22 | /* Keymap __FN: Second Layer | ||
| 23 | * ,--------------------------------. | ||
| 24 | * | .------. |-----|-----|-----| | | ||
| 25 | * | | | |Calc |PgUp |TRANS| | | ||
| 26 | * | | Pro | |-----|-----|-----| | | ||
| 27 | * | | Micro| --------------------| | ||
| 28 | * | | | |-----|-----|-----| | | ||
| 29 | * | '------' |MyPC | PgD |RESET| | | ||
| 30 | * | |||||| |-----|-----|-----| | | ||
| 31 | * '--------------------------------' | ||
| 32 | */ | ||
| 33 | |||
| 34 | [_FN] = LAYOUT( | ||
| 35 | KC_CALC, KC_PGUP, _______, | ||
| 36 | KC_MYCM, KC_PGDN, RESET | ||
| 37 | ) | ||
| 38 | }; | ||
diff --git a/keyboards/aplyard/aplx6/rev1/readme.md b/keyboards/aplyard/aplx6/rev1/readme.md new file mode 100644 index 000000000..7369cbfd4 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/readme.md | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | # Aplx6 | ||
| 2 | |||
| 3 |  | ||
| 4 |  | ||
| 5 | |||
| 6 | A stylish (2x3) 6-key MediaPad for your music and browser shortcuts. Designed to be assembled as a sandwich with a blank PCB, using M2.5 screws and spacers, your choice of MX- or Alps-compatible switches, and 1N4148 diodes. | ||
| 7 | |||
| 8 | |||
| 9 | ## RGB Underglow (WS2812) | ||
| 10 | |||
| 11 | Just wire them to any of the unused ProMicro pins. Don't forget to edit-uncomment the `config.h` and the `rules.mk` for RGB underglow support, or even add your own functions and modes. Used pins can be found in `config.h` or in the [KiCad Schematic](https://github.com/Aplyard/Aplx6/blob/master/kiCad/xd6.sch). All ProMicro pins can be found [here](https://golem.hu/article/pro-micro-pinout/) along with the +2 pins mod. | ||
| 12 | |||
| 13 | * Keyboard Maintainer: [Aplyard](https://github.com/Aplyard) | ||
| 14 | * Hardware Supported: Aplx6 PCB, Pro Micro (ATmega32U4) | ||
| 15 | * Hardware Availability: [GitHub](https://github.com/Aplyard/aplx6/tree/master/rev1) | ||
| 16 | |||
| 17 | Make example for this keyboard (after setting up your build environment): | ||
| 18 | |||
| 19 | make aplyard/aplx6/rev1:default | ||
| 20 | |||
| 21 | 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). | ||
| 22 | |||
| 23 | --- | ||
| 24 | ****Designed in**:** | ||
| 25 | [KiCad](https://github.com/KiCad) | ||
| 26 | |||
| 27 | **Components Footprints & Libraries :** | ||
| 28 | [keebs.pretty](https://github.com/egladman/keebs.pretty) | ||
| 29 | [keyboard_parts.pretty | ||
| 30 | ](https://github.com/tmk/keyboard_parts.pretty) | ||
| 31 | [ProMicro KiCad](https://github.com/Biacco42/ProMicroKiCad) | ||
| 32 | |||
| 33 | **Usefull Links:** | ||
| 34 | [Qmk Online Configurator](https://config.qmk.fm/#) | ||
| 35 | |||
| 36 | **Alternatives of qmk that worked for me:** | ||
| 37 | [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/) | ||
| 38 | [Keyboard Plate & Case Builder](http://builder.swillkb.com/) | ||
| 39 | [Firmware Builder](https://kbfirmware.com/) | ||
| 40 | |||
| 41 | --- | ||
diff --git a/keyboards/aplyard/aplx6/rev1/rev1.c b/keyboards/aplyard/aplx6/rev1/rev1.c new file mode 100644 index 000000000..7f6f8a322 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/rev1.c | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 April Aplyard <alex.fragiou@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include "rev1.h" | ||
| 19 | |||
diff --git a/keyboards/aplyard/aplx6/rev1/rev1.h b/keyboards/aplyard/aplx6/rev1/rev1.h new file mode 100644 index 000000000..6990d388e --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/rev1.h | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | #pragma once | ||
| 2 | #include "quantum.h" | ||
| 3 | |||
| 4 | #define LAYOUT( \ | ||
| 5 | k000, k001, k002, \ | ||
| 6 | k100, k101, k102 \ | ||
| 7 | ) \ | ||
| 8 | { \ | ||
| 9 | { k000, k001, k002 }, \ | ||
| 10 | { k100, k101, k102 } \ | ||
| 11 | } | ||
| 12 | |||
diff --git a/keyboards/aplyard/aplx6/rev1/rules.mk b/keyboards/aplyard/aplx6/rev1/rules.mk new file mode 100644 index 000000000..15167ce88 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev1/rules.mk | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | # Teensy halfkay | ||
| 6 | # Pro Micro caterina | ||
| 7 | # Atmel DFU atmel-dfu | ||
| 8 | # LUFA DFU lufa-dfu | ||
| 9 | # QMK DFU qmk-dfu | ||
| 10 | # ATmega32A bootloadHID | ||
| 11 | # ATmega328P USBasp | ||
| 12 | BOOTLOADER = caterina | ||
| 13 | |||
| 14 | # Build Options | ||
| 15 | # change yes to no to disable | ||
| 16 | # | ||
| 17 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
| 18 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 19 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 20 | CONSOLE_ENABLE = no # Console for debug | ||
| 21 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 22 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 23 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 24 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 25 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 26 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 27 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 28 | MIDI_ENABLE = no # MIDI support | ||
| 29 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 30 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 31 | FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches | ||
| 32 | UNICODE_ENABLE = yes # Unicode | ||
diff --git a/keyboards/aplyard/aplx6/rev2/config.h b/keyboards/aplyard/aplx6/rev2/config.h new file mode 100644 index 000000000..b4bb7d62a --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/config.h | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 April Aplyard <alex.fragiou@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | |||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 22 | /* USB Device descriptor parameter */ | ||
| 23 | #define VENDOR_ID 0xE0E0 | ||
| 24 | #define PRODUCT_ID 0x0040 | ||
| 25 | #define DEVICE_VER 0x0002 | ||
| 26 | #define MANUFACTURER Aplyard | ||
| 27 | #define PRODUCT Aplx6 | ||
| 28 | |||
| 29 | /* key matrix size */ | ||
| 30 | #define MATRIX_ROWS 2 | ||
| 31 | #define MATRIX_COLS 3 | ||
| 32 | |||
| 33 | /* 9Key PCB default pin-out */ | ||
| 34 | #define MATRIX_ROW_PINS { B4, B5 } | ||
| 35 | #define MATRIX_COL_PINS { C6, D7, E6 } | ||
| 36 | #define UNUSED_PINS | ||
| 37 | |||
| 38 | /* COL2ROW or ROW2COL */ | ||
| 39 | #define DIODE_DIRECTION COL2ROW | ||
| 40 | |||
| 41 | #define TAPPING_TERM 200 | ||
| 42 | |||
| 43 | /* Encoder */ | ||
| 44 | #define ENCODERS_PAD_A { F4 } | ||
| 45 | #define ENCODERS_PAD_B { F5 } | ||
| 46 | #define ENCODER_RESOLUTION 4 | ||
| 47 | #define ENCODER_DIRECTION_FLIP | ||
| 48 | |||
| 49 | #define TAP_CODE_DELAY 50 | ||
diff --git a/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c b/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c new file mode 100644 index 000000000..c773fb988 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c | |||
| @@ -0,0 +1,146 @@ | |||
| 1 | /* Copyright 2020 Aplyard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | enum layer_names { | ||
| 19 | _MEDIA, | ||
| 20 | _DOC, | ||
| 21 | _POWER | ||
| 22 | }; | ||
| 23 | |||
| 24 | #define KC_COPY LCTL(KC_C) //Mac, change it to LGUI(KC_C) | ||
| 25 | #define KC_CUT LCTL(KC_X) // >> >> LGUI(KC_X) | ||
| 26 | #define KC_PASTE LCTL(KC_V) // >> >> LGUI(KC_V) | ||
| 27 | //#define KC_MY_COMPUTER LGUI(KC_SPC) //Uncomment this for Mac Spotlight Search | ||
| 28 | |||
| 29 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 30 | /* Keymap __MEDIA: Default Layer | ||
| 31 | * ,----------------------------------. | ||
| 32 | * | .-------. / / / / / / | | ||
| 33 | * | | | |------|------|------| | | ||
| 34 | * | | Pro | | Mute | Play |Vol+/-| | | ||
| 35 | * | | Micro | |------|------|------| | | ||
| 36 | * | | | |----------------------| | ||
| 37 | * | | | |------|------|------| | | ||
| 38 | * | '-------' | Prev | Stop | Next | | | ||
| 39 | * | APLX6 |------|------|------| | | ||
| 40 | * '----------------------------------' | ||
| 41 | */ | ||
| 42 | [_MEDIA] = LAYOUT( | ||
| 43 | KC_MUTE, KC_MPLY, TO(1), | ||
| 44 | KC_MPRV, KC_MSTP, KC_MNXT | ||
| 45 | ), | ||
| 46 | /* Keymap __DOC | ||
| 47 | * ,----------------------------------. | ||
| 48 | * | .-------. / / / / / / | | ||
| 49 | * | | | |------|------|------| | | ||
| 50 | * | | Pro | | Home | PgUp | L/R | | | ||
| 51 | * | | Micro | |------|------|------| | | ||
| 52 | * | | | |----------------------| | ||
| 53 | * | | | |------|------|------| | | ||
| 54 | * | '-------' | End | PgDn | Ins | | | ||
| 55 | * | APLX6 |------|------|------| | | ||
| 56 | * '----------------------------------' | ||
| 57 | */ | ||
| 58 | [_DOC] = LAYOUT( | ||
| 59 | KC_HOME, KC_PGUP, TO(2), | ||
| 60 | KC_END, KC_PGDN, KC_INS | ||
| 61 | ), | ||
| 62 | /* Keymap __DOC | ||
| 63 | * ,----------------------------------. | ||
| 64 | * | .-------. / / / / / / | | ||
| 65 | * | | | |------|------|------| | | ||
| 66 | * | | Pro | | Calc | MyPc |Bright| | | ||
| 67 | * | | Micro | |------|------|------| | | ||
| 68 | * | | | |----------------------| | ||
| 69 | * | | | |------|------|------| | | ||
| 70 | * | '-------' | Copy | Cut |Paste | | | ||
| 71 | * | APLX6 |------|------|------| | | ||
| 72 | * '----------------------------------' | ||
| 73 | */ | ||
| 74 | [_POWER] = LAYOUT( | ||
| 75 | KC_CALC, KC_MY_COMPUTER, TO(0), | ||
| 76 | KC_COPY, KC_CUT, KC_PASTE | ||
| 77 | ) | ||
| 78 | }; | ||
| 79 | |||
| 80 | #if defined(OLED_DRIVER_ENABLE) | ||
| 81 | static void render_logo(void) { | ||
| 82 | //Logo for _MEDIA | ||
| 83 | static const char PROGMEM logo1[] = { | ||
| 84 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 0, 32, 32,160,160,160,160, 32, 32, 0, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 85 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,160,144, 8,252,129, 0, 60,126,255,255,255,255,255,255,255,255,126, 60, 0,129,252, 8,144,160, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 12,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 86 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 21, 42, 17, 96,135, 88,162, 64, 68,128,137,137,137,137,137,136,128, 68, 64,162, 88,199, 32, 17, 42, 21, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 87 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 5, 4, 2, 2, 2, 2, 2, 2, 4, 5, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 88 | }; | ||
| 89 | //Logo for _DOC | ||
| 90 | static const char PROGMEM logo2[] = { | ||
| 91 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,160,224,128,224,160,224,128,224,160,224,128,224,160,224,128,224,160,224,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 92 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 17, 16, 16,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6,130,194,102, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 93 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,145,161,225, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 11, 9, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 94 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 95 | }; | ||
| 96 | //Logo for _POWER | ||
| 97 | static const char PROGMEM logo3[] = { | ||
| 98 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,120,254, 58, 30, 8, 4, 4, 4, 2, 2, 4, 4, 4, 8, 30, 58,254,120,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 99 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,248,145, 38, 68,136,144, 16, 32, 32, 32, 32, 16, 16,136, 68, 34,241,254,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34, 50, 58,110,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 100 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 35,231, 47,255, 62, 62, 61, 61, 61, 61, 61, 61, 62, 62, 63,239, 39,227, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 4, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 12, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 101 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | ||
| 102 | }; | ||
| 103 | //Switch between logos | ||
| 104 | switch (get_highest_layer(layer_state)) { | ||
| 105 | case 1: | ||
| 106 | oled_write_raw_P(logo2, sizeof(logo2)); | ||
| 107 | break; | ||
| 108 | case 2: | ||
| 109 | oled_write_raw_P(logo3, sizeof(logo3)); | ||
| 110 | break; | ||
| 111 | default: | ||
| 112 | oled_write_raw_P(logo1, sizeof(logo1)); | ||
| 113 | } | ||
| 114 | } | ||
| 115 | |||
| 116 | void oled_task_user(void) { | ||
| 117 | render_logo(); | ||
| 118 | } | ||
| 119 | #endif | ||
| 120 | |||
| 121 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
| 122 | if (index == 0) { | ||
| 123 | switch (get_highest_layer(layer_state)) { | ||
| 124 | case 1: | ||
| 125 | if (clockwise) { | ||
| 126 | tap_code(KC_RIGHT); //edit here your _DOC layer(2) encoder keycode | ||
| 127 | } else { | ||
| 128 | tap_code(KC_LEFT); //edit here your _DOC layer(2) encoder keycode | ||
| 129 | } | ||
| 130 | break; | ||
| 131 | case 2: | ||
| 132 | if (clockwise) { | ||
| 133 | tap_code(KC_BRIU); //edit here your _POWER layer(3) encoder keycode | ||
| 134 | } else { | ||
| 135 | tap_code(KC_BRID); //edit here your _POWER layer(3) encoder keycode | ||
| 136 | } | ||
| 137 | break; | ||
| 138 | default: | ||
| 139 | if (clockwise) { | ||
| 140 | tap_code(KC_VOLU); //edit here your _MEDIA layer(1) encoder keycode | ||
| 141 | } else { | ||
| 142 | tap_code(KC_VOLD); //edit here your _MEDIA layer(1) encoder keycode | ||
| 143 | } | ||
| 144 | } | ||
| 145 | } | ||
| 146 | } | ||
diff --git a/keyboards/aplyard/aplx6/rev2/readme.md b/keyboards/aplyard/aplx6/rev2/readme.md new file mode 100644 index 000000000..fc209fa57 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/readme.md | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | # Aplx6 rev2 | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | An updated encoder version, implementing music, browser and document shortcuts. Designed to be assembled as a sandwich with a blank PCB, using M2.5 screws and spacers, your choice of MX- or Alps-compatible switches, and 1N4148 diodes. | ||
| 6 | |||
| 7 | ## New features | ||
| 8 | * Encoder (with push button for cycling layers) | ||
| 9 | * Oled display for some fancy logos | ||
| 10 | * More layers | ||
| 11 | |||
| 12 | ## Firmware | ||
| 13 | * Keyboard Maintainer: [Aplyard](https://github.com/Aplyard) | ||
| 14 | * Hardware Supported: Aplx6 PCB, Pro Micro (ATmega32U4) | ||
| 15 | * Hardware Availability: [GitHub](https://github.com/Aplyard/aplx6/tree/master/rev2) | ||
| 16 | |||
| 17 | Make example for this keyboard (after setting up your build environment): | ||
| 18 | |||
| 19 | make aplyard/aplx6/rev2:default | ||
| 20 | |||
| 21 | 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). | ||
| 22 | |||
| 23 | --- | ||
| 24 | ****Designed in**:** | ||
| 25 | [KiCad](https://github.com/KiCad) | ||
| 26 | |||
| 27 | **Components Footprints & Libraries :** | ||
| 28 | [MX_Alps_Hybrid](https://github.com/tyetye/MX_Alps_Hybrid.pretty) | ||
| 29 | [keebs.pretty](https://github.com/egladman/keebs.pretty) | ||
| 30 | [keyboard_parts.pretty | ||
| 31 | ](https://github.com/tmk/keyboard_parts.pretty) | ||
| 32 | [ProMicro KiCad](https://github.com/Biacco42/ProMicroKiCad) | ||
| 33 | |||
| 34 | **Usefull Links:** | ||
| 35 | [Qmk Online Configurator](https://config.qmk.fm/#) | ||
| 36 | [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/) | ||
| 37 | [Keyboard Plate & Case Builder](http://builder.swillkb.com/) | ||
| 38 | |||
| 39 | --- | ||
diff --git a/keyboards/aplyard/aplx6/rev2/rev2.c b/keyboards/aplyard/aplx6/rev2/rev2.c new file mode 100644 index 000000000..1a97f5005 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/rev2.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | /* Copyright 2020 Aplyard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "rev2.h" | ||
diff --git a/keyboards/aplyard/aplx6/rev2/rev2.h b/keyboards/aplyard/aplx6/rev2/rev2.h new file mode 100644 index 000000000..193c6cd51 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/rev2.h | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | /* Copyright 2020 Aplyard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | #include "quantum.h" | ||
| 18 | |||
| 19 | #define LAYOUT( \ | ||
| 20 | k000, k001, k002, \ | ||
| 21 | k100, k101, k102 \ | ||
| 22 | ) \ | ||
| 23 | { \ | ||
| 24 | { k000, k001, k002 }, \ | ||
| 25 | { k100, k101, k102 } \ | ||
| 26 | } | ||
| 27 | |||
| 28 | |||
diff --git a/keyboards/aplyard/aplx6/rev2/rules.mk b/keyboards/aplyard/aplx6/rev2/rules.mk new file mode 100644 index 000000000..5a66a6aa9 --- /dev/null +++ b/keyboards/aplyard/aplx6/rev2/rules.mk | |||
| @@ -0,0 +1,25 @@ | |||
| 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 = no # Virtual DIP switch configuration | ||
| 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 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
| 23 | UNICODE_ENABLE = yes # Unicode | ||
| 24 | OLED_DRIVER_ENABLE = yes # Enable Support for Oled Display | ||
| 25 | ENCODER_ENABLE = yes # Enable Support for Encoder | ||
