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
This commit is contained in:
Rozakiin
2020-06-18 21:14:09 +01:00
committed by GitHub
parent 016b4be751
commit 7be65f2cd0
17 changed files with 459 additions and 321 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -20,12 +20,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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 <http://www.gnu.org/licenses/>.
#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 */

View File

@@ -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) {
}

View File

@@ -1 +1,3 @@
![Noxary 220 Layout Image](https://i.imgur.com/jVQ50lt.png)
# The default keymap for Noxary 220

View File

@@ -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 <http://www.gnu.org/licenses/>.
*/
#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(
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______
),
};

View File

@@ -0,0 +1,3 @@
![Noxary 220 Layout Image](https://i.imgur.com/GsswjSf.png)
# The VIA keymap for Noxary 220

View File

@@ -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

View File

@@ -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

View File

@@ -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