From a06dda15e44438f11da1e4f7c47e9c747c9dc273 Mon Sep 17 00:00:00 2001 From: Aplyard <40563350+Aplyard@users.noreply.github.com> Date: Mon, 11 Jan 2021 07:31:42 +0200 Subject: [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 * Update keyboards/aplx/aplx6/rev2/config.h Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/rev2.c Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: Drashna Jaelre * license * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * 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 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/aplx6/aplx6.c | 19 --- keyboards/aplx6/aplx6.h | 12 -- keyboards/aplx6/config.h | 49 ------- keyboards/aplx6/keymaps/default/keymap.c | 38 ------ keyboards/aplx6/readme.md | 41 ------ keyboards/aplx6/rules.mk | 32 ----- keyboards/aplyard/aplx6/rev1/config.h | 47 +++++++ .../aplyard/aplx6/rev1/keymaps/default/keymap.c | 38 ++++++ keyboards/aplyard/aplx6/rev1/readme.md | 41 ++++++ keyboards/aplyard/aplx6/rev1/rev1.c | 19 +++ keyboards/aplyard/aplx6/rev1/rev1.h | 12 ++ keyboards/aplyard/aplx6/rev1/rules.mk | 32 +++++ keyboards/aplyard/aplx6/rev2/config.h | 49 +++++++ .../aplyard/aplx6/rev2/keymaps/default/keymap.c | 146 +++++++++++++++++++++ keyboards/aplyard/aplx6/rev2/readme.md | 39 ++++++ keyboards/aplyard/aplx6/rev2/rev2.c | 16 +++ keyboards/aplyard/aplx6/rev2/rev2.h | 28 ++++ keyboards/aplyard/aplx6/rev2/rules.mk | 25 ++++ 18 files changed, 492 insertions(+), 191 deletions(-) delete mode 100644 keyboards/aplx6/aplx6.c delete mode 100644 keyboards/aplx6/aplx6.h delete mode 100644 keyboards/aplx6/config.h delete mode 100644 keyboards/aplx6/keymaps/default/keymap.c delete mode 100644 keyboards/aplx6/readme.md delete mode 100644 keyboards/aplx6/rules.mk create mode 100644 keyboards/aplyard/aplx6/rev1/config.h create mode 100644 keyboards/aplyard/aplx6/rev1/keymaps/default/keymap.c create mode 100644 keyboards/aplyard/aplx6/rev1/readme.md create mode 100644 keyboards/aplyard/aplx6/rev1/rev1.c create mode 100644 keyboards/aplyard/aplx6/rev1/rev1.h create mode 100644 keyboards/aplyard/aplx6/rev1/rules.mk create mode 100644 keyboards/aplyard/aplx6/rev2/config.h create mode 100644 keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c create mode 100644 keyboards/aplyard/aplx6/rev2/readme.md create mode 100644 keyboards/aplyard/aplx6/rev2/rev2.c create mode 100644 keyboards/aplyard/aplx6/rev2/rev2.h create mode 100644 keyboards/aplyard/aplx6/rev2/rules.mk (limited to 'keyboards') diff --git a/keyboards/aplx6/aplx6.c b/keyboards/aplx6/aplx6.c deleted file mode 100644 index 3a294c1998..0000000000 --- a/keyboards/aplx6/aplx6.c +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2020 April 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 . -*/ - -#include "aplx6.h" - diff --git a/keyboards/aplx6/aplx6.h b/keyboards/aplx6/aplx6.h deleted file mode 100644 index 6990d388e7..0000000000 --- a/keyboards/aplx6/aplx6.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -#include "quantum.h" - -#define LAYOUT( \ - k000, k001, k002, \ - k100, k101, k102 \ -) \ -{ \ - { k000, k001, k002 }, \ - { k100, k101, k102 } \ -} - diff --git a/keyboards/aplx6/config.h b/keyboards/aplx6/config.h deleted file mode 100644 index 8db06d93cf..0000000000 --- a/keyboards/aplx6/config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -Copyright 2020 April 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 . -*/ - -#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 -#define DESCRIPTION Aplx6 MediaPad - -/* 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/aplx6/keymaps/default/keymap.c b/keyboards/aplx6/keymaps/default/keymap.c deleted file mode 100644 index 4c4f612a38..0000000000 --- a/keyboards/aplx6/keymaps/default/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -#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/aplx6/readme.md b/keyboards/aplx6/readme.md deleted file mode 100644 index 55e73ea2da..0000000000 --- a/keyboards/aplx6/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# 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) - -Make example for this keyboard (after setting up your build environment): - - make aplx6: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/aplx6/rules.mk b/keyboards/aplx6/rules.mk deleted file mode 100644 index 15167ce88f..0000000000 --- a/keyboards/aplx6/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ -# 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/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 + +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 . +*/ + +#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 + +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 . +*/ + +#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 + +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 . +*/ + +#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 . + */ +#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 . + */ +#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 . + */ +#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 -- cgit v1.2.3