aboutsummaryrefslogtreecommitdiff
path: root/keyboards/aplyard
diff options
context:
space:
mode:
authorAplyard <40563350+Aplyard@users.noreply.github.com>2021-01-11 07:31:42 +0200
committerGitHub <noreply@github.com>2021-01-10 21:31:42 -0800
commita06dda15e44438f11da1e4f7c47e9c747c9dc273 (patch)
tree6d6d735f10c26f171f1154ae61c46a2e2924faf9 /keyboards/aplyard
parenta15c9057a1f52e28229dd466f51ae4f4f9ecdb81 (diff)
downloadqmk_firmware-a06dda15e44438f11da1e4f7c47e9c747c9dc273.tar.gz
qmk_firmware-a06dda15e44438f11da1e4f7c47e9c747c9dc273.zip
[Keyboard] Added rev2 & move rev1+rev2 to parent folder (#10973)
* rev2 and move parent folder Moved aplx6 to parent folder, renamed it to rev1 and added rev2 * Update keyboards/aplx/aplx6/rev1/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/aplx/aplx6/rev2/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/aplx/aplx6/rev2/rev2.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: Drashna Jaelre <drashna@live.com> * license * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * layer definition * parent folder rename after suggestion * build instructions * update Hardware Availability links Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Diffstat (limited to 'keyboards/aplyard')
-rw-r--r--keyboards/aplyard/aplx6/rev1/config.h47
-rw-r--r--keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c38
-rw-r--r--keyboards/aplyard/aplx6/rev1/readme.md41
-rw-r--r--keyboards/aplyard/aplx6/rev1/rev1.c19
-rw-r--r--keyboards/aplyard/aplx6/rev1/rev1.h12
-rw-r--r--keyboards/aplyard/aplx6/rev1/rules.mk32
-rw-r--r--keyboards/aplyard/aplx6/rev2/config.h49
-rw-r--r--keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c146
-rw-r--r--keyboards/aplyard/aplx6/rev2/readme.md39
-rw-r--r--keyboards/aplyard/aplx6/rev2/rev2.c16
-rw-r--r--keyboards/aplyard/aplx6/rev2/rev2.h28
-rw-r--r--keyboards/aplyard/aplx6/rev2/rules.mk25
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/*
2Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
6const 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![Front](https://i.imgur.com/flhSvAG.png)
4![Back](https://i.imgur.com/PXqNmUh.png)
5
6A 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
11Just 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
17Make example for this keyboard (after setting up your build environment):
18
19 make aplyard/aplx6/rev1:default
20
21See 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/*
2Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
2MCU = 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
12BOOTLOADER = caterina
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_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
25NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32UNICODE_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/*
2Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along 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
18enum 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
29const 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)
81static 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
116void oled_task_user(void) {
117 render_logo();
118}
119#endif
120
121void 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![Top View](https://i.imgur.com/92KlXazl.jpeg)
4
5An 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
17Make example for this keyboard (after setting up your build environment):
18
19 make aplyard/aplx6/rev2:default
20
21See 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
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
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
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_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
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23UNICODE_ENABLE = yes # Unicode
24OLED_DRIVER_ENABLE = yes # Enable Support for Oled Display
25ENCODER_ENABLE = yes # Enable Support for Encoder