summaryrefslogtreecommitdiff
path: root/keyboards/aplyard/aplx6
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/aplyard/aplx6')
-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 0000000000..98a7381cc7
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/config.h
@@ -0,0 +1,47 @@
+/*
+Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
+
+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/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xE0E0
+#define PRODUCT_ID 0x0030
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Aplyard
+#define PRODUCT Aplx6
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 3
+
+/* pin-out */
+#define MATRIX_ROW_PINS { E6, B3 }
+#define MATRIX_COL_PINS { F7, B6, F4 }
+#define UNUSED_PINS
+
+
+/* ws2812 RGB LED */
+//#define RGB_DI_PIN X
+
+//#define RGBLIGHT_ANIMATIONS
+//#define RGBLED_NUM X // Number of LEDs
+
+
+/* COL2ROW or ROW2COL */
+#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 0000000000..91ed943f38
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+#include QMK_KEYBOARD_H
+
+#define _MAIN 0
+#define _FN 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap __MAIN: Default Layer
+ * ,--------------------------------.
+ * | .------. |-----|-----|-----| |
+ * | | | |Play |VolUp| Fn | |
+ * | | Pro | |-----|-----|-----| |
+ * | | Micro| --------------------|
+ * | | | |-----|-----|-----| |
+ * | '------' |Prev |VolD |Next | |
+ * | |||||| |-----|-----|-----| |
+ * '--------------------------------'
+ */
+ [_MAIN] = LAYOUT(
+ KC_MPLY, KC_VOLU, MO(1),
+ KC_MPRV, KC_VOLD, KC_MNXT
+ ),
+ /* Keymap __FN: Second Layer
+ * ,--------------------------------.
+ * | .------. |-----|-----|-----| |
+ * | | | |Calc |PgUp |TRANS| |
+ * | | Pro | |-----|-----|-----| |
+ * | | Micro| --------------------|
+ * | | | |-----|-----|-----| |
+ * | '------' |MyPC | PgD |RESET| |
+ * | |||||| |-----|-----|-----| |
+ * '--------------------------------'
+ */
+
+ [_FN] = LAYOUT(
+ KC_CALC, KC_PGUP, _______,
+ KC_MYCM, KC_PGDN, RESET
+ )
+};
diff --git a/keyboards/aplyard/aplx6/rev1/readme.md b/keyboards/aplyard/aplx6/rev1/readme.md
new file mode 100644
index 0000000000..7369cbfd41
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/readme.md
@@ -0,0 +1,41 @@
+# Aplx6
+
+![Front](https://i.imgur.com/flhSvAG.png)
+![Back](https://i.imgur.com/PXqNmUh.png)
+
+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.
+
+
+## RGB Underglow (WS2812)
+
+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.
+
+* Keyboard Maintainer: [Aplyard](https://github.com/Aplyard)
+* Hardware Supported: Aplx6 PCB, Pro Micro (ATmega32U4)
+* Hardware Availability: [GitHub](https://github.com/Aplyard/aplx6/tree/master/rev1)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aplyard/aplx6/rev1:default
+
+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).
+
+---
+****Designed in**:**
+[KiCad](https://github.com/KiCad)
+
+**Components Footprints & Libraries :**
+[keebs.pretty](https://github.com/egladman/keebs.pretty)
+[keyboard_parts.pretty
+](https://github.com/tmk/keyboard_parts.pretty)
+[ProMicro KiCad](https://github.com/Biacco42/ProMicroKiCad)
+
+**Usefull Links:**
+[Qmk Online Configurator](https://config.qmk.fm/#)
+
+**Alternatives of qmk that worked for me:**
+[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/)
+[Keyboard Plate & Case Builder](http://builder.swillkb.com/)
+[Firmware Builder](https://kbfirmware.com/)
+
+---
diff --git a/keyboards/aplyard/aplx6/rev1/rev1.c b/keyboards/aplyard/aplx6/rev1/rev1.c
new file mode 100644
index 0000000000..7f6f8a3224
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/rev1.c
@@ -0,0 +1,19 @@
+/*
+Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
+
+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 "rev1.h"
+
diff --git a/keyboards/aplyard/aplx6/rev1/rev1.h b/keyboards/aplyard/aplx6/rev1/rev1.h
new file mode 100644
index 0000000000..6990d388e7
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/rev1.h
@@ -0,0 +1,12 @@
+#pragma once
+#include "quantum.h"
+
+#define LAYOUT( \
+ k000, k001, k002, \
+ k100, k101, k102 \
+) \
+{ \
+ { k000, k001, k002 }, \
+ { k100, k101, k102 } \
+}
+
diff --git a/keyboards/aplyard/aplx6/rev1/rules.mk b/keyboards/aplyard/aplx6/rev1/rules.mk
new file mode 100644
index 0000000000..15167ce88f
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev1/rules.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+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 0000000000..b4bb7d62ad
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/config.h
@@ -0,0 +1,49 @@
+/*
+Copyright 2020 April Aplyard <alex.fragiou@gmail.com>
+
+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/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xE0E0
+#define PRODUCT_ID 0x0040
+#define DEVICE_VER 0x0002
+#define MANUFACTURER Aplyard
+#define PRODUCT Aplx6
+
+/* key matrix size */
+#define MATRIX_ROWS 2
+#define MATRIX_COLS 3
+
+/* 9Key PCB default pin-out */
+#define MATRIX_ROW_PINS { B4, B5 }
+#define MATRIX_COL_PINS { C6, D7, E6 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+#define TAPPING_TERM 200
+
+/* Encoder */
+#define ENCODERS_PAD_A { F4 }
+#define ENCODERS_PAD_B { F5 }
+#define ENCODER_RESOLUTION 4
+#define ENCODER_DIRECTION_FLIP
+
+#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 0000000000..c773fb988c
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c
@@ -0,0 +1,146 @@
+ /* Copyright 2020 Aplyard
+ *
+ * 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
+
+enum layer_names {
+ _MEDIA,
+ _DOC,
+ _POWER
+};
+
+#define KC_COPY LCTL(KC_C) //Mac, change it to LGUI(KC_C)
+#define KC_CUT LCTL(KC_X) // >> >> LGUI(KC_X)
+#define KC_PASTE LCTL(KC_V) // >> >> LGUI(KC_V)
+//#define KC_MY_COMPUTER LGUI(KC_SPC) //Uncomment this for Mac Spotlight Search
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap __MEDIA: Default Layer
+ * ,----------------------------------.
+ * | .-------. / / / / / / |
+ * | | | |------|------|------| |
+ * | | Pro | | Mute | Play |Vol+/-| |
+ * | | Micro | |------|------|------| |
+ * | | | |----------------------|
+ * | | | |------|------|------| |
+ * | '-------' | Prev | Stop | Next | |
+ * | APLX6 |------|------|------| |
+ * '----------------------------------'
+ */
+ [_MEDIA] = LAYOUT(
+ KC_MUTE, KC_MPLY, TO(1),
+ KC_MPRV, KC_MSTP, KC_MNXT
+ ),
+ /* Keymap __DOC
+ * ,----------------------------------.
+ * | .-------. / / / / / / |
+ * | | | |------|------|------| |
+ * | | Pro | | Home | PgUp | L/R | |
+ * | | Micro | |------|------|------| |
+ * | | | |----------------------|
+ * | | | |------|------|------| |
+ * | '-------' | End | PgDn | Ins | |
+ * | APLX6 |------|------|------| |
+ * '----------------------------------'
+ */
+ [_DOC] = LAYOUT(
+ KC_HOME, KC_PGUP, TO(2),
+ KC_END, KC_PGDN, KC_INS
+ ),
+ /* Keymap __DOC
+ * ,----------------------------------.
+ * | .-------. / / / / / / |
+ * | | | |------|------|------| |
+ * | | Pro | | Calc | MyPc |Bright| |
+ * | | Micro | |------|------|------| |
+ * | | | |----------------------|
+ * | | | |------|------|------| |
+ * | '-------' | Copy | Cut |Paste | |
+ * | APLX6 |------|------|------| |
+ * '----------------------------------'
+ */
+ [_POWER] = LAYOUT(
+ KC_CALC, KC_MY_COMPUTER, TO(0),
+ KC_COPY, KC_CUT, KC_PASTE
+ )
+};
+
+#if defined(OLED_DRIVER_ENABLE)
+static void render_logo(void) {
+ //Logo for _MEDIA
+ static const char PROGMEM logo1[] = {
+ 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,
+ 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,
+ 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,
+ 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,
+ };
+ //Logo for _DOC
+ static const char PROGMEM logo2[] = {
+ 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,
+ 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,
+ 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,
+ 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,
+ };
+ //Logo for _POWER
+ static const char PROGMEM logo3[] = {
+ 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,
+ 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,
+ 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,
+ 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,
+ };
+ //Switch between logos
+ switch (get_highest_layer(layer_state)) {
+ case 1:
+ oled_write_raw_P(logo2, sizeof(logo2));
+ break;
+ case 2:
+ oled_write_raw_P(logo3, sizeof(logo3));
+ break;
+ default:
+ oled_write_raw_P(logo1, sizeof(logo1));
+ }
+}
+
+void oled_task_user(void) {
+ render_logo();
+}
+#endif
+
+void encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+ case 1:
+ if (clockwise) {
+ tap_code(KC_RIGHT); //edit here your _DOC layer(2) encoder keycode
+ } else {
+ tap_code(KC_LEFT); //edit here your _DOC layer(2) encoder keycode
+ }
+ break;
+ case 2:
+ if (clockwise) {
+ tap_code(KC_BRIU); //edit here your _POWER layer(3) encoder keycode
+ } else {
+ tap_code(KC_BRID); //edit here your _POWER layer(3) encoder keycode
+ }
+ break;
+ default:
+ if (clockwise) {
+ tap_code(KC_VOLU); //edit here your _MEDIA layer(1) encoder keycode
+ } else {
+ tap_code(KC_VOLD); //edit here your _MEDIA layer(1) encoder keycode
+ }
+ }
+ }
+}
diff --git a/keyboards/aplyard/aplx6/rev2/readme.md b/keyboards/aplyard/aplx6/rev2/readme.md
new file mode 100644
index 0000000000..fc209fa571
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/readme.md
@@ -0,0 +1,39 @@
+# Aplx6 rev2
+
+![Top View](https://i.imgur.com/92KlXazl.jpeg)
+
+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.
+
+## New features
+* Encoder (with push button for cycling layers)
+* Oled display for some fancy logos
+* More layers
+
+## Firmware
+* Keyboard Maintainer: [Aplyard](https://github.com/Aplyard)
+* Hardware Supported: Aplx6 PCB, Pro Micro (ATmega32U4)
+* Hardware Availability: [GitHub](https://github.com/Aplyard/aplx6/tree/master/rev2)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make aplyard/aplx6/rev2:default
+
+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).
+
+---
+****Designed in**:**
+[KiCad](https://github.com/KiCad)
+
+**Components Footprints & Libraries :**
+[MX_Alps_Hybrid](https://github.com/tyetye/MX_Alps_Hybrid.pretty)
+[keebs.pretty](https://github.com/egladman/keebs.pretty)
+[keyboard_parts.pretty
+](https://github.com/tmk/keyboard_parts.pretty)
+[ProMicro KiCad](https://github.com/Biacco42/ProMicroKiCad)
+
+**Usefull Links:**
+[Qmk Online Configurator](https://config.qmk.fm/#)
+[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/)
+[Keyboard Plate & Case Builder](http://builder.swillkb.com/)
+
+---
diff --git a/keyboards/aplyard/aplx6/rev2/rev2.c b/keyboards/aplyard/aplx6/rev2/rev2.c
new file mode 100644
index 0000000000..1a97f50058
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/rev2.c
@@ -0,0 +1,16 @@
+ /* Copyright 2020 Aplyard
+ *
+ * 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 "rev2.h"
diff --git a/keyboards/aplyard/aplx6/rev2/rev2.h b/keyboards/aplyard/aplx6/rev2/rev2.h
new file mode 100644
index 0000000000..193c6cd51c
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/rev2.h
@@ -0,0 +1,28 @@
+ /* Copyright 2020 Aplyard
+ *
+ * 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/>.
+ */
+#pragma once
+#include "quantum.h"
+
+#define LAYOUT( \
+ k000, k001, k002, \
+ k100, k101, k102 \
+) \
+{ \
+ { k000, k001, k002 }, \
+ { k100, k101, k102 } \
+}
+
+
diff --git a/keyboards/aplyard/aplx6/rev2/rules.mk b/keyboards/aplyard/aplx6/rev2/rules.mk
new file mode 100644
index 0000000000..5a66a6aa91
--- /dev/null
+++ b/keyboards/aplyard/aplx6/rev2/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+UNICODE_ENABLE = yes # Unicode
+OLED_DRIVER_ENABLE = yes # Enable Support for Oled Display
+ENCODER_ENABLE = yes # Enable Support for Encoder