From 7be65f2cd04c90ee5146139509762baa3f286520 Mon Sep 17 00:00:00 2001
From: Rozakiin <6567067+Rozakiin@users.noreply.github.com>
Date: Thu, 18 Jun 2020 21:14:09 +0100
Subject: Add VIA support to Noxary 220 and Update Noxary 280 for readability
(#9348)
* Update noxary 220 readme.md
* Update Noxary 280 readme.md
add heading and spelling
* Update spelling of Noxary 280 keymap copyright
* Update Noxary 280 config.h
change product ID and product name, remove commented code
* Change MCU name and disable Mousekey
* Update Noxary 220 config.h
Change vendor ID, Product ID, Product name and desc, remove commented code
* Update 220.h
change LAYOUT_ortho_6x4 to LAYOUT, change copyrght to Rozakiin
* Change LED indicator function
update copyright to Rozakiin
* Add via keymap
* Update Noxary 220 default keymap for readability and numpad codes
* Update all Noxary 220 readme.md to conform to QMK templates
* Update Noxary 280 readme.md to conform to QMK template
* Disable console and command, and enable link time optimisation for VIA
* Update Noxary 280 keymaps for better readability
* Update keyboards/noxary/220/keymaps/default/keymap.c
* Update keyboards/noxary/220/220.h
* Update keyboards/noxary/220/keymaps/default/keymap.c
* Update keyboards/noxary/220/keymaps/default/keymap.c
* Update keyboards/noxary/220/keymaps/via/rules.mk
* Update keyboards/noxary/280/keymaps/default/keymap.c
* Update keyboards/noxary/280/keymaps/via/rules.mk
* Update keyboards/noxary/220/rules.mk
* Update keyboards/noxary/280/keymaps/via/keymap.c
* Update keyboards/noxary/220/keymaps/default/keymap.c
* Update keyboards/noxary/220/keymaps/default/keymap.c
* Update keyboards/noxary/220/keymaps/via/keymap.c
* Update keyboards/noxary/220/keymaps/via/keymap.c
* Update keyboards/noxary/220/keymaps/via/keymap.c
* Update keyboards/noxary/220/keymaps/via/keymap.c
* Update keyboards/noxary/220/keymaps/via/keymap.c
* Update keyboards/noxary/280/config.h
* Update keyboards/noxary/220/rules.mk
* Update keyboards/noxary/220/config.h
* Update keyboards/noxary/280/readme.md
Change layout links to ones with background removed
---
keyboards/noxary/220/220.c | 40 +------
keyboards/noxary/220/220.h | 2 +-
keyboards/noxary/220/config.h | 36 +-----
keyboards/noxary/220/keymaps/default/keymap.c | 155 ++++++++++++++++---------
keyboards/noxary/220/keymaps/default/readme.md | 2 +
keyboards/noxary/220/keymaps/via/keymap.c | 122 +++++++++++++++++++
keyboards/noxary/220/keymaps/via/readme.md | 3 +
keyboards/noxary/220/keymaps/via/rules.mk | 5 +
keyboards/noxary/220/readme.md | 4 +-
keyboards/noxary/220/rules.mk | 5 +-
10 files changed, 248 insertions(+), 126 deletions(-)
create mode 100644 keyboards/noxary/220/keymaps/via/keymap.c
create mode 100644 keyboards/noxary/220/keymaps/via/readme.md
create mode 100644 keyboards/noxary/220/keymaps/via/rules.mk
(limited to 'keyboards/noxary/220')
diff --git a/keyboards/noxary/220/220.c b/keyboards/noxary/220/220.c
index e671e15a43..0af57ff36d 100644
--- a/keyboards/noxary/220/220.c
+++ b/keyboards/noxary/220/220.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 MechMerlin
+/* Copyright 2020 Rozakiin
*
* 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
@@ -26,37 +26,9 @@ void matrix_init_kb(void) {
matrix_init_user();
}
-
-/*
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- led_set_user(usb_led);
-}
-
-*/
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
- writePinLow(C6);
- } else {
- writePinHigh(C6);
- }
- led_set_user(usb_led);
+bool led_update_kb(led_t led_state) {
+ if(led_update_user(led_state)) {
+ writePin(C6, led_state.num_lock);
+ }
+ return true;
}
\ No newline at end of file
diff --git a/keyboards/noxary/220/220.h b/keyboards/noxary/220/220.h
index 3f1375e2a6..26419976c8 100644
--- a/keyboards/noxary/220/220.h
+++ b/keyboards/noxary/220/220.h
@@ -1,4 +1,4 @@
-/* Copyright 2019 MechMerlin
+/* Copyright 2019 Rozakiin
*
* 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
diff --git a/keyboards/noxary/220/config.h b/keyboards/noxary/220/config.h
index 1242de61bc..7571138076 100644
--- a/keyboards/noxary/220/config.h
+++ b/keyboards/noxary/220/config.h
@@ -20,12 +20,12 @@ along with this program. If not, see .
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
+#define VENDOR_ID 0x4E58 //"NX"
+#define PRODUCT_ID 0x00DC //220
#define DEVICE_VER 0x0001
#define MANUFACTURER Noxary
#define PRODUCT 220
-#define DESCRIPTION A custom numpad
+#define DESCRIPTION A custom numpad keyboard.
/* key matrix size */
#define MATRIX_ROWS 6
@@ -57,42 +57,12 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
-// #define RGB_DI_PIN E2
-// #ifdef RGB_DI_PIN
-// #define RGBLED_NUM 16
-// #define RGBLIGHT_HUE_STEP 8
-// #define RGBLIGHT_SAT_STEP 8
-// #define RGBLIGHT_VAL_STEP 8
-// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
-// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
-// /*== all animations enable ==*/
-// #define RGBLIGHT_ANIMATIONS
-// /*== or choose animations ==*/
-// #define RGBLIGHT_EFFECT_BREATHING
-// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
-// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-// #define RGBLIGHT_EFFECT_SNAKE
-// #define RGBLIGHT_EFFECT_KNIGHT
-// #define RGBLIGHT_EFFECT_CHRISTMAS
-// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
-// #define RGBLIGHT_EFFECT_RGB_TEST
-// #define RGBLIGHT_EFFECT_ALTERNATING
-// /*== customize breathing effect ==*/
-// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
-// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
-// /*==== use exp() and sin() ====*/
-// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
-// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
-// #endif
-
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-/* number of backlight levels */
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/noxary/220/keymaps/default/keymap.c b/keyboards/noxary/220/keymaps/default/keymap.c
index a72841db54..ec49ea160d 100644
--- a/keyboards/noxary/220/keymaps/default/keymap.c
+++ b/keyboards/noxary/220/keymaps/default/keymap.c
@@ -15,62 +15,109 @@
*/
#include QMK_KEYBOARD_H
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- QMKBEST = SAFE_RANGE,
- QMKURL
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- LAYOUT_ortho_6x4(
- KC_ESC, BL_TOGG, BL_DEC, BL_INC,
- KC_NLCK, KC_SLSH, KC_ASTR, KC_PEQL,
- KC_7, KC_8, KC_9, KC_PMNS,
- KC_4, KC_5, KC_6, KC_PPLS,
- KC_1, KC_2, KC_3, KC_PENT,
- KC_0, KC_0, KC_DEL, KC_PENT),
-
- LAYOUT_ortho_6x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ /* Base Layer
+ * ┌───┬───┬───┬───┐
+ * │Esc│BLT│BL-│BL+│
+ * ├───┼───┼───┼───┤
+ * │NLK│ / │ * │ = │
+ * ├───┼───┼───┼───┤
+ * │ 7 │ 8 │ 9 │ - │
+ * ├───┼───┼───┼───┤
+ * │ 4 │ 5 │ 6 │ + │
+ * ├───┼───┼───┼───┤
+ * │ 1 │ 2 │ 3 │ENT│
+ * ├───┼───┼───┼───┤
+ * │ 0 │ 0 │ . │ENT│
+ * └───┴───┴───┴───┘
+ */
+ [_BL] = LAYOUT_ortho_6x4(
+ KC_ESC, BL_TOGG, BL_DEC, BL_INC,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
+ KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT
+ ),
+ /* Function Layer 1
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL1] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 2
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL2] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 3
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QMKBEST:
- if (record->event.pressed) {
- // when keycode QMKBEST is pressed
- SEND_STRING("QMK is the best thing ever!");
- } else {
- // when keycode QMKBEST is released
- }
- break;
- case QMKURL:
- if (record->event.pressed) {
- // when keycode QMKURL is pressed
- SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
- } else {
- // when keycode QMKURL is released
- }
- break;
- }
- return true;
-}
-
-void matrix_init_user(void) {
-
-}
-
-void matrix_scan_user(void) {
-
-}
-
-void led_set_user(uint8_t usb_led) {
-
-}
diff --git a/keyboards/noxary/220/keymaps/default/readme.md b/keyboards/noxary/220/keymaps/default/readme.md
index bff7feda38..40f25464a0 100644
--- a/keyboards/noxary/220/keymaps/default/readme.md
+++ b/keyboards/noxary/220/keymaps/default/readme.md
@@ -1 +1,3 @@
+![Noxary 220 Layout Image](https://i.imgur.com/jVQ50lt.png)
+
# The default keymap for Noxary 220
\ No newline at end of file
diff --git a/keyboards/noxary/220/keymaps/via/keymap.c b/keyboards/noxary/220/keymaps/via/keymap.c
new file mode 100644
index 0000000000..1bfc7a8d04
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/keymap.c
@@ -0,0 +1,122 @@
+/* Copyright 2020 Rozakiin
+ *
+ * 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
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_names {
+ _BL,
+ _FL1,
+ _FL2,
+ _FL3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base Layer
+ * ┌───┬───┬───┬───┐
+ * │Esc│BLT│BL-│BL+│
+ * ├───┼───┼───┼───┤
+ * │NLK│ / │ * │ = │
+ * ├───┼───┼───┼───┤
+ * │ 7 │ 8 │ 9 │ - │
+ * ├───┼───┼───┼───┤
+ * │ 4 │ 5 │ 6 │ + │
+ * ├───┼───┼───┼───┤
+ * │ 1 │ 2 │ 3 │ENT│
+ * ├───┼───┼───┼───┤
+ * │ 0 │ 0 │ . │ENT│
+ * └───┴───┴───┴───┘
+ */
+ [_BL] = LAYOUT_ortho_6x4(
+ KC_ESC, BL_TOGG, BL_DEC, BL_INC,
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
+ KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_P0, KC_PDOT, KC_PENT
+ ),
+ /* Function Layer 1
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL1] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 2
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL2] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ /* Function Layer 3
+ * ┌───┬───┬───┬───┐
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * ├───┼───┼───┼───┤
+ * │ │ │ │ │
+ * └───┴───┴───┴───┘
+ */
+ [_FL3] = LAYOUT_ortho_6x4(
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+};
diff --git a/keyboards/noxary/220/keymaps/via/readme.md b/keyboards/noxary/220/keymaps/via/readme.md
new file mode 100644
index 0000000000..1e2b4542d7
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/readme.md
@@ -0,0 +1,3 @@
+![Noxary 220 Layout Image](https://i.imgur.com/GsswjSf.png)
+
+# The VIA keymap for Noxary 220
\ No newline at end of file
diff --git a/keyboards/noxary/220/keymaps/via/rules.mk b/keyboards/noxary/220/keymaps/via/rules.mk
new file mode 100644
index 0000000000..c2e96d233b
--- /dev/null
+++ b/keyboards/noxary/220/keymaps/via/rules.mk
@@ -0,0 +1,5 @@
+VIA_ENABLE = yes
+MOUSEKEY_ENABLE = no
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+LTO_ENABLE = yes
diff --git a/keyboards/noxary/220/readme.md b/keyboards/noxary/220/readme.md
index 1fcdfcc3c7..bae50c4137 100644
--- a/keyboards/noxary/220/readme.md
+++ b/keyboards/noxary/220/readme.md
@@ -1,6 +1,8 @@
# Noxary 220
-A fully customizable numpad
+![Noxary 220](https://i.imgur.com/8XCxJhP.png)
+
+A fully customizable (4x6) numpad keyboard.
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [Rozakiin](https://github.com/rozakiin)
Hardware Supported: Noxary 220 PCB
diff --git a/keyboards/noxary/220/rules.mk b/keyboards/noxary/220/rules.mk
index f099fefb5d..8d6532925a 100644
--- a/keyboards/noxary/220/rules.mk
+++ b/keyboards/noxary/220/rules.mk
@@ -1,5 +1,5 @@
# MCU name
-MCU = atmega32u4
+MCU = atmega32u2
# Bootloader selection
# Teensy halfkay
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
@@ -30,6 +30,5 @@ UNICODE_ENABLE = no # Unicode
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
-HD44780_ENABLE = no # Enable support for HD44780 based LCDs
LAYOUTS = ortho_6x4
--
cgit v1.2.3