From 4747d974aa72b05ab12917308703d711dd04b016 Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed, 17 Jul 2019 01:39:39 +0900 Subject: [Keyboard] Add keyboard Naked48 (#6330) * Add Naked48 * Comment reflected --- keyboards/naked48/config.h | 43 ++ keyboards/naked48/info.json | 251 +++++++++ keyboards/naked48/keymaps/default/config.h | 41 ++ keyboards/naked48/keymaps/default/keymap.c | 135 +++++ keyboards/naked48/keymaps/default/readme.md | 45 ++ keyboards/naked48/keymaps/default/rules.mk | 29 + .../naked48/keymaps/default_with_nafuda/config.h | 64 +++ .../naked48/keymaps/default_with_nafuda/keymap.c | 173 ++++++ .../naked48/keymaps/default_with_nafuda/readme.md | 39 ++ .../naked48/keymaps/default_with_nafuda/rules.mk | 29 + .../naked48/keymaps/default_with_setta21/config.h | 41 ++ .../naked48/keymaps/default_with_setta21/keymap.c | 174 ++++++ .../naked48/keymaps/default_with_setta21/readme.md | 47 ++ .../naked48/keymaps/default_with_setta21/rules.mk | 29 + keyboards/naked48/keymaps/salicylic/config.h | 41 ++ keyboards/naked48/keymaps/salicylic/keymap.c | 149 ++++++ keyboards/naked48/keymaps/salicylic/readme.md | 46 ++ keyboards/naked48/keymaps/salicylic/rules.mk | 29 + .../naked48/keymaps/salicylic_with_nafuda/config.h | 64 +++ .../naked48/keymaps/salicylic_with_nafuda/keymap.c | 188 +++++++ .../keymaps/salicylic_with_nafuda/readme.md | 39 ++ .../naked48/keymaps/salicylic_with_nafuda/rules.mk | 29 + .../keymaps/salicylic_with_setta21/config.h | 41 ++ .../keymaps/salicylic_with_setta21/keymap.c | 187 +++++++ .../keymaps/salicylic_with_setta21/readme.md | 47 ++ .../keymaps/salicylic_with_setta21/rules.mk | 29 + keyboards/naked48/naked48.c | 1 + keyboards/naked48/naked48.h | 12 + keyboards/naked48/readme.md | 18 + keyboards/naked48/rev1/config.h | 121 +++++ keyboards/naked48/rev1/matrix.c | 357 +++++++++++++ keyboards/naked48/rev1/rev1.c | 15 + keyboards/naked48/rev1/rev1.h | 88 +++ keyboards/naked48/rev1/rules.mk | 3 + keyboards/naked48/rev1/serial_config.h | 8 + keyboards/naked48/rev1/serial_config_simpleapi.h | 8 + keyboards/naked48/rev1/split_scomm.c | 92 ++++ keyboards/naked48/rev1/split_scomm.h | 22 + keyboards/naked48/rev1/split_util.c | 70 +++ keyboards/naked48/rev1/split_util.h | 16 + keyboards/naked48/rules.mk | 73 +++ keyboards/naked48/serial.c | 590 +++++++++++++++++++++ keyboards/naked48/serial.h | 86 +++ 43 files changed, 3609 insertions(+) create mode 100644 keyboards/naked48/config.h create mode 100644 keyboards/naked48/info.json create mode 100644 keyboards/naked48/keymaps/default/config.h create mode 100644 keyboards/naked48/keymaps/default/keymap.c create mode 100644 keyboards/naked48/keymaps/default/readme.md create mode 100644 keyboards/naked48/keymaps/default/rules.mk create mode 100644 keyboards/naked48/keymaps/default_with_nafuda/config.h create mode 100644 keyboards/naked48/keymaps/default_with_nafuda/keymap.c create mode 100644 keyboards/naked48/keymaps/default_with_nafuda/readme.md create mode 100644 keyboards/naked48/keymaps/default_with_nafuda/rules.mk create mode 100644 keyboards/naked48/keymaps/default_with_setta21/config.h create mode 100644 keyboards/naked48/keymaps/default_with_setta21/keymap.c create mode 100644 keyboards/naked48/keymaps/default_with_setta21/readme.md create mode 100644 keyboards/naked48/keymaps/default_with_setta21/rules.mk create mode 100644 keyboards/naked48/keymaps/salicylic/config.h create mode 100644 keyboards/naked48/keymaps/salicylic/keymap.c create mode 100644 keyboards/naked48/keymaps/salicylic/readme.md create mode 100644 keyboards/naked48/keymaps/salicylic/rules.mk create mode 100644 keyboards/naked48/keymaps/salicylic_with_nafuda/config.h create mode 100644 keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c create mode 100644 keyboards/naked48/keymaps/salicylic_with_nafuda/readme.md create mode 100644 keyboards/naked48/keymaps/salicylic_with_nafuda/rules.mk create mode 100644 keyboards/naked48/keymaps/salicylic_with_setta21/config.h create mode 100644 keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c create mode 100644 keyboards/naked48/keymaps/salicylic_with_setta21/readme.md create mode 100644 keyboards/naked48/keymaps/salicylic_with_setta21/rules.mk create mode 100644 keyboards/naked48/naked48.c create mode 100644 keyboards/naked48/naked48.h create mode 100644 keyboards/naked48/readme.md create mode 100644 keyboards/naked48/rev1/config.h create mode 100644 keyboards/naked48/rev1/matrix.c create mode 100644 keyboards/naked48/rev1/rev1.c create mode 100644 keyboards/naked48/rev1/rev1.h create mode 100644 keyboards/naked48/rev1/rules.mk create mode 100644 keyboards/naked48/rev1/serial_config.h create mode 100644 keyboards/naked48/rev1/serial_config_simpleapi.h create mode 100644 keyboards/naked48/rev1/split_scomm.c create mode 100644 keyboards/naked48/rev1/split_scomm.h create mode 100644 keyboards/naked48/rev1/split_util.c create mode 100644 keyboards/naked48/rev1/split_util.h create mode 100644 keyboards/naked48/rules.mk create mode 100644 keyboards/naked48/serial.c create mode 100644 keyboards/naked48/serial.h diff --git a/keyboards/naked48/config.h b/keyboards/naked48/config.h new file mode 100644 index 0000000000..b37d102211 --- /dev/null +++ b/keyboards/naked48/config.h @@ -0,0 +1,43 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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" + +// GCC include 'config.h" sequence in qmk_firmware/keyboards/naked48/ +// -include keyboards/naked48/config.h +// -include keyboards/naked48/rev?/config.h +// -include keyboards/naked48/rev?/keymaps/MAPNAME/config.h +// XXXX.c + +#include + +// GCC include search path in qmk_firmare/keyboards/naked48/ +// #include "..." search starts here: +// #include <...> search starts here: +// keyboards/naked48/rev?/keymaps/MAPNAME +// keyboards/naked48 +// keyboards/naked48/rev? +// . +// ./tmk_core +// ...... + +// MACRO and FUNCTION are features that are depreciated. +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/naked48/info.json b/keyboards/naked48/info.json new file mode 100644 index 0000000000..362fc9f5e0 --- /dev/null +++ b/keyboards/naked48/info.json @@ -0,0 +1,251 @@ +{ + "keyboard_name": "Naked48", + "url": "https://salicylic-acid3.hatenablog.com/", + "maintainer": "Salicylic_acid3", + "width": 14, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + { + "label":"Tab", + "x":0, + "y":0 + }, + { + "label":"Q", + "x":1, + "y":0 + }, + { + "label":"W", + "x":2, + "y":0 + }, + { + "label":"E", + "x":3, + "y":0 + }, + { + "label":"R", + "x":4, + "y":0 + }, + { + "label":"T", + "x":5, + "y":0 + }, + { + "label":"Y", + "x":8, + "y":0 + }, + { + "label":"U", + "x":9, + "y":0 + }, + { + "label":"I", + "x":10, + "y":0 + }, + { + "label":"O", + "x":11, + "y":0 + }, + { + "label":"P", + "x":12, + "y":0 + }, + { + "label":"Back Space", + "x":13, + "y":0 + }, + { + "label":"Esc", + "x":0, + "y":1 + }, + { + "label":"A", + "x":1, + "y":1 + }, + { + "label":"S", + "x":2, + "y":1 + }, + { + "label":"D", + "x":3, + "y":1 + }, + { + "label":"F", + "x":4, + "y":1 + }, + { + "label":"G", + "x":5, + "y":1 + }, + { + "label":"H", + "x":8, + "y":1 + }, + { + "label":"J", + "x":9, + "y":1 + }, + { + "label":"K", + "x":10, + "y":1 + }, + { + "label":"L", + "x":11, + "y":1 + }, + { + "label":";", + "x":12, + "y":1 + }, + { + "label":"'", + "x":13, + "y":1 + }, + { + "label":"Shift", + "x":0, + "y":2 + }, + { + "label":"Z", + "x":1, + "y":2 + }, + { + "label":"X", + "x":2, + "y":2 + }, + { + "label":"C", + "x":3, + "y":2 + }, + { + "label":"V", + "x":4, + "y":2 + }, + { + "label":"B", + "x":5, + "y":2 + }, + { + "label":"N", + "x":8, + "y":2 + }, + { + "label":"M", + "x":9, + "y":2 + }, + { + "label":",", + "x":10, + "y":2 + }, + { + "label":".", + "x":11, + "y":2 + }, + { + "label":"/", + "x":12, + "y":2 + }, + { + "label":"Enter", + "x":13, + "y":2 + }, + { + "label":"Adjust", + "x":1, + "y":3 + }, + { + "label":"Ctrl", + "x":2, + "y":3 + }, + { + "label":"Alt", + "x":3, + "y":3 + }, + { + "label":"GUI", + "x":4, + "y":3 + }, + { + "label":"⇓", + "x":5, + "y":3 + }, + { + "x":6, + "y":3 + }, + { + "x":7, + "y":3 + }, + { + "label":"⇑", + "x":8, + "y":3 + }, + { + "label":"←", + "x":9, + "y":3 + }, + { + "label":"↓", + "x":10, + "y":3 + }, + { + "label":"↑", + "x":11, + "y":3 + }, + { + "label":"→", + "x":12, + "y":3 + } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/naked48/keymaps/default/config.h b/keyboards/naked48/keymaps/default/config.h new file mode 100644 index 0000000000..ad417f7f02 --- /dev/null +++ b/keyboards/naked48/keymaps/default/config.h @@ -0,0 +1,41 @@ +/* Copyright 2018 Salicylic_acid3 + * + * 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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define USE_SERIAL_PD2 + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +// Selection of RGBLIGHT MODE to use. +#if defined(LED_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 +#endif \ No newline at end of file diff --git a/keyboards/naked48/keymaps/default/keymap.c b/keyboards/naked48/keymaps/default/keymap.c new file mode 100644 index 0000000000..3229f74eca --- /dev/null +++ b/keyboards/naked48/keymaps/default/keymap.c @@ -0,0 +1,135 @@ +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// 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_number { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, + ADJUST, + RGBRST +}; + +// Layer Mode aliases +#define _____ KC_TRNS +#define XXXXX KC_NO + +#define KC_SNUBS S(KC_NUBS) +#define KC_SNUHS S(KC_NUHS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + //,-----------------------------------------------------| |-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT + //`------------------------------------------------------------------------------------------------------------' + ), + + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------| |-----------------------------------------------------. + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _____, _____, _____, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + _____, _____, _____, _____, _____, _____, _____, _____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + //`------------------------------------------------------------------------------------------------------------' + ), + + + [_RAISE] = LAYOUT( + //,-----------------------------------------------------| |-----------------------------------------------------. + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _____, _____, _____, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____ + //`------------------------------------------------------------------------------------------------------------' + ), + + + [_ADJUST] = LAYOUT( /* Base */ + //,-----------------------------------------------------| |-----------------------------------------------------. + _____, RESET, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, _____, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RGB_TOG, RGB_MOD, XXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____ + //`------------------------------------------------------------------------------------------------------------' + ) +}; + +static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { + + pressed ? layer_on(layer1) : layer_off(layer1); + IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3); +} + +int RGB_current_mode; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + bool result = false; + switch (keycode) { + case LOWER: + update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST); + break; + case RAISE: + update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST); + break; + #ifdef RGBLIGHT_ENABLE + case RGB_MOD: + if (record->event.pressed) { + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_config.mode; + } + break; + case RGBRST: + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + break; + #endif + default: + result = true; + break; + } + + return result; +} + +void matrix_init_user(void) { + #ifdef RGBLIGHT_ENABLE + RGB_current_mode = rgblight_config.mode; + #endif +} diff --git a/keyboards/naked48/keymaps/default/readme.md b/keyboards/naked48/keymaps/default/readme.md new file mode 100644 index 0000000000..431a57340e --- /dev/null +++ b/keyboards/naked48/keymaps/default/readme.md @@ -0,0 +1,45 @@ +# The default keymap for naked48 + +Default + //,-----------------------------------------| |-----------------------------------------. + TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + ESC, A, S, D, F, G, H, J, K, L, ;, :, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + LSFT, Z, X, C, V, B, N, M, ,, ., /, ENT, + //|------+------+------+------+------+------|------+------+------+------+------+------+------| + ADJUST, LCTRL, LALT, LGUI, LOWER, SPC, SPC, RAISE, LEFT, DOWN, UP, RIGHT + //`----------------------------------------------------------------------------------' + +Lower + //,-----------------------------------------| |-----------------------------------------. + ~, !, @, #, $, %, ^, &, *, (, ), DEL, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + DEL, F1, F2, F3, F4, F5, F6, _, +, {, }, |, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + LSFT, F7, F8, F9, F10, F11, F12, ~, |, ,, ., ENT, + //|------+------+------+------+------+------|------+------+------+------+------+------+------| + ADJUST, LCTRL, LALT, LGUI, LOWER, SPC, SPC, RAISE, MNXT, VOLD, VOLU, MPLY + //`----------------------------------------------------------------------------------' + +Raise + //,-----------------------------------------| |-----------------------------------------. + ~, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, DEL, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + DEL, F1, F2, F3, F4, F5, F6, -, =, [, ], BSLS, + //|------+------+------+------+------+------| |------+------+------+------+------+------| + LSFT, F7, F8, F9, F10, F11, F12, #, \, ,, ., ENT, + //|------+------+------+------+------+------|------+------+------+------+------+------+------| + ADJUST, LCTRL, LALT, LGUI, LOWER, SPC, SPC, RAISE, MNXT, VOLD, VOLU, MPLY + //`----------------------------------------------------------------------------------' + +Adjust + //,-----------------------------------------| |----------------------------------------------. + ~, RST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, DEL, + //|------+------+------+------+------+------| |------+-------+-------+-------+-------+-------| + DEL, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, LED ON/Off,LED MOD, XXXXX, C+A+D,Alt+PSCR, PSCR, + //|------+------+------+------+------+------| |------+-------+-------+-------+-------+-------| + LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, LED VAD,LED VAI,LED HUD,LED HUI,LED SAD,LED SAI, + //|------+------+------+------+------+------|------+------+------+-------+-------+-------+-------+-------| + ADJUST, LCTRL, LALT, LGUI, LOWER, SPC, SPC, RAISE, MNXT, VOLD, VOLU, MPLY + //`--------------------------------------------------------------------------------------' \ No newline at end of file diff --git a/keyboards/naked48/keymaps/default/rules.mk b/keyboards/naked48/keymaps/default/rules.mk new file mode 100644 index 0000000000..ee538432e9 --- /dev/null +++ b/keyboards/naked48/keymaps/default/rules.mk @@ -0,0 +1,29 @@ + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +SWAP_HANDS_ENABLE = no # Enable one-hand typing + +# If your custom naked48 pcb, you can rewrite to yes. +LED_ANIMATIONS = yes # LED animations + +ifeq ($(strip $(LED_ANIMATIONS)), yes) + # OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS +endif + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/naked48/keymaps/default_with_nafuda/config.h b/keyboards/naked48/keymaps/default_with_nafuda/config.h new file mode 100644 index 0000000000..a55856b240 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_nafuda/config.h @@ -0,0 +1,64 @@ +/* Copyright 2018 Salicylic_acid3 + * + * 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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define USE_SERIAL_PD2 + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +// Selection of RGBLIGHT MODE to use. +#if defined(LED_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 +#endif + +#define MK_3_SPEED + +#undef MOUSEKEY_INTERVAL +#define MOUSEKEY_INTERVAL 0 + +#undef MOUSEKEY_TIME_TO_MAX +#define MOUSEKEY_TIME_TO_MAX 150 + +#undef MOUSEKEY_MAX_SPEED +#define MOUSEKEY_MAX_SPEED 3 + +#undef MOUSEKEY_MOVE_DELTA +#define MOUSEKEY_MOVE_DELTA 5 + +#undef MOUSEKEY_DELAY +#define MOUSEKEY_DELAY 0 + +#undef MOUSEKEY_WHEEL_MAX_SPEED +#define MOUSEKEY_WHEEL_MAX_SPEED 1 + +#undef MOUSEKEY_WHEEL_TIME_TO_MAX +#define MOUSEKEY_WHEEL_TIME_TO_MAX 0 diff --git a/keyboards/naked48/keymaps/default_with_nafuda/keymap.c b/keyboards/naked48/keymaps/default_with_nafuda/keymap.c new file mode 100644 index 0000000000..c1a9056a98 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_nafuda/keymap.c @@ -0,0 +1,173 @@ +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// 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_number { + _QWERTY = 0, + _MOUSE, + _BROWSER, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + MOUSE = SAFE_RANGE, + BROWSER, + LOWER, + RAISE, + ADJUST, + RGBRST +}; + +// Fillers to make layering more clear +#define _____ KC_TRNS +#define XXXXX KC_NO + +#define KC_CAD LCA(KC_DEL) +#define KC_APSCR LALT(KC_PSCR) + +#define KC_SNUBS S(KC_NUBS) +#define KC_SNUHS S(KC_NUHS) + +#define KC_RTAB LCTL(KC_TAB) +#define KC_LTAB LCTL(LSFT(KC_TAB)) +#define KC_CTAB LCTL(KC_W) +#define KC_RETAB LCTL(LSFT(KC_T)) + +#define KC_TGMO TG(_MOUSE) +#define KC_TGBR TG(_BROWSER) +#define KC_BSAD LT(_ADJUST, KC_BSPC) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_with_nafuda( + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TGMO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSAD, KC_UP, KC_TGBR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT + //`------------------------------------------------------------------------------------------------------------' + ), + + [_MOUSE] = LAYOUT_with_nafuda( + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TGMO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BTN1, KC_MS_U, KC_BTN2, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_MS_L, KC_MS_D, KC_MS_R, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT + //`------------------------------------------------------------------------------------------------------------' + ), + + [_BROWSER] = LAYOUT_with_nafuda( + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_CTAB, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RETAB, KC_WH_U, KC_TGBR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_LTAB, KC_WH_D, KC_RTAB, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT + //`------------------------------------------------------------------------------------------------------------' + ), + + [_LOWER] = LAYOUT_with_nafuda( + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, KC_TGMO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_BSAD, KC_UP, KC_TGBR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _____, _____, _____, KC_LEFT, KC_DOWN,KC_RIGHT, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + _____, _____, _____, _____, _____, _____, _____, _____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + //`------------------------------------------------------------------------------------------------------------' + ), + + [_RAISE] = LAYOUT_with_nafuda( + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TGMO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_BSAD, KC_UP, KC_TGBR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _____, _____, _____, KC_LEFT, KC_DOWN,KC_RIGHT, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____ + //`------------------------------------------------------------------------------------------------------------' + ), + + [_ADJUST] = LAYOUT_with_nafuda( /* Base */ + //,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------| + _____, RESET, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, _____, RGB_VAD, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RGB_TOG, RGB_MOD, XXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, ADJUST, RGB_SAD, RGB_VAI, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------| + _____, _____, _____, _____, _____, _____, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_MOD, RGB_TOG, RGB_SAI, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____ + //`------------------------------------------------------------------------------------------------------------' + ) +}; + +static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { + + pressed ? layer_on(layer1) : layer_off(layer1); + IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3); +} + +int RGB_current_mode; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + bool result = false; + switch (keycode) { + case LOWER: + update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST); + break; + case RAISE: + update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST); + break; + #ifdef RGBLIGHT_ENABLE + case RGB_MOD: + if (record->event.pressed) { + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_config.mode; + } + break; + case RGBRST: + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + break; + #endif + default: + result = true; + break; + } + + return result; +} + +void matrix_init_user(void) { + #ifdef RGBLIGHT_ENABLE + RGB_current_mode = rgblight_config.mode; + #endif +} diff --git a/keyboards/naked48/keymaps/default_with_nafuda/readme.md b/keyboards/naked48/keymaps/default_with_nafuda/readme.md new file mode 100644 index 0000000000..780481be2e --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_nafuda/readme.md @@ -0,0 +1,39 @@ +# The default_with_nafuda keymap for naked48 + +Add Nafuda maps to the default layout. + +Default + //|--------------------| + Mouse, + //|------+------+------| + BS + Ad, UP,Browser, + //|------+------+------| + LEFT, DOWN, RIGHT + //|--------------------| + +Mouse + //|--------------------| + Default, + //|------+------+------| + BTN1, MS_U, BTN2, + //|------+------+------| + MS_L, MS_D, MS_R + //|--------------------| + +Browser + //|--------------------| + CloseTAB, + //|------+------+------| + ReOpenTAB, WH_U,Default, + //|------+------+------| + LTAB, WH_D, RTAB + //|--------------------| + +Adjust + //|------------------------| + LED VAD, + //|------+----------+------| + Default, LED HUD,LED VAI, + //|------+----------+------| + LED MOD,LED ON/Off,LED HUI + //|------------------------| diff --git a/keyboards/naked48/keymaps/default_with_nafuda/rules.mk b/keyboards/naked48/keymaps/default_with_nafuda/rules.mk new file mode 100644 index 0000000000..dd471767a7 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_nafuda/rules.mk @@ -0,0 +1,29 @@ + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +SWAP_HANDS_ENABLE = no # Enable one-hand typing + +# If your custom naked48 pcb, you can rewrite to yes. +LED_ANIMATIONS = yes # LED animations + +ifeq ($(strip $(LED_ANIMATIONS)), yes) + # OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS +endif + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/naked48/keymaps/default_with_setta21/config.h b/keyboards/naked48/keymaps/default_with_setta21/config.h new file mode 100644 index 0000000000..ad417f7f02 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_setta21/config.h @@ -0,0 +1,41 @@ +/* Copyright 2018 Salicylic_acid3 + * + * 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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define USE_SERIAL_PD2 + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +// Selection of RGBLIGHT MODE to use. +#if defined(LED_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 +#endif \ No newline at end of file diff --git a/keyboards/naked48/keymaps/default_with_setta21/keymap.c b/keyboards/naked48/keymaps/default_with_setta21/keymap.c new file mode 100644 index 0000000000..32d56a508d --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_setta21/keymap.c @@ -0,0 +1,174 @@ +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// 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_number { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, + ADJUST, + KANJI, + RGBRST, + SEND_SUM, + SEND_AVERAGE, + SEND_COUNTIF, + SEND_MAX, + SEND_MIN +}; + +// Fillers to make layering more clear +#define _____ KC_TRNS +#define XXXXX KC_NO + +#define KC_SNUBS S(KC_NUBS) +#define KC_SNUHS S(KC_NUHS) + +#define KC_SSUM SEND_SUM +#define KC_SAVE SEND_AVERAGE +#define KC_SCOU SEND_COUNTIF +#define KC_SMAX SEND_MAX +#define KC_SMIN SEND_MIN + +#define KC_RADO LT(_RAISE, KC_PDOT) +#define KC_LOP0 LT(_LOWER, KC_P0) +#define KC_ADNL LT(_ADJUST, KC_NLCK) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_with_setta21( + //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LOP0, KC_P1, KC_P4, KC_P7,KC_ADNL, KC_ESC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_P2, KC_P5, KC_P8,KC_PSLS, KC_F2, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_RADO, KC_P3, KC_P6, KC_P9,KC_PAST, KC_EQL, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| + ADJUST,KC_LCTRL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL + //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| + ), + + [_LOWER] = LAYOUT_with_setta21( + //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,KC_LPRN, KC_RPRN, KC_DEL, LOWER, XXXXX,KC_LEFT, XXXXX, XXXXX, KC_ESC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,KC_SNUHS,KC_SNUBS, _____, _____, _____, RAISE, XXXXX,KC_RIGHT, XXXXX,KC_PAST, KC_EQL, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| + _____, _____, _____, _____, _____, _____, _____, _____, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL + //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| + ), + + + [_RAISE] = LAYOUT_with_setta21( + //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| + KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, LOWER, KC_F11, KC_F4, KC_F7,KC_SMIN, KC_ESC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F12, KC_F5, KC_F8,KC_SMAX, KC_F2, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + _____, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _____, _____, _____, RAISE, KC_F3, KC_F6, KC_F9,KC_SCOU, KC_EQL, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_RPRN, KC_SSUM,KC_SAVE, KC_DEL + //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| + ), + + [_ADJUST] = LAYOUT_with_setta21( /* Base */ + //,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------| + _____, RESET, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, _____, LOWER,RGB_VAD,RGB_HUD,RGB_SAD, ADJUST,RGB_TOG, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RGB_TOG, RGB_MOD, XXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR, RGB_VAI,RGB_HUI,RGB_SAI, XXXXX, _____, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------| + _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RAISE, XXXXX, XXXXX, XXXXX, XXXXX, _____, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------| + _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, RGB_MOD, _____, _____, _____ + //`------------------------------------------------------------------------------------------------------------' |-----------------------------------------------| + ) +}; + +static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { + + pressed ? layer_on(layer1) : layer_off(layer1); + IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3); +} + +int RGB_current_mode; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + bool result = false; + switch (keycode) { + case LOWER: + update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST); + break; + case RAISE: + update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST); + break; + case SEND_SUM: + if (record->event.pressed) { + SEND_STRING("=SUM("); + } + break; + case SEND_AVERAGE: + if (record->event.pressed) { + SEND_STRING("=AVERAGE("); + } + break; + case SEND_COUNTIF: + if (record->event.pressed) { + SEND_STRING("=COUNTIF("); + } + break; + case SEND_MAX: + if (record->event.pressed) { + SEND_STRING("=MAX("); + } + break; + case SEND_MIN: + if (record->event.pressed) { + SEND_STRING("=MIN("); + } + break; + #ifdef RGBLIGHT_ENABLE + case RGB_MOD: + if (record->event.pressed) { + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_config.mode; + } + break; + case RGBRST: + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + break; + #endif + default: + result = true; + break; + } + + return result; +} + +void matrix_init_user(void) { + #ifdef RGBLIGHT_ENABLE + RGB_current_mode = rgblight_config.mode; + #endif +} diff --git a/keyboards/naked48/keymaps/default_with_setta21/readme.md b/keyboards/naked48/keymaps/default_with_setta21/readme.md new file mode 100644 index 0000000000..921c1e4950 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_setta21/readme.md @@ -0,0 +1,47 @@ +# The default_with_setta21 keymap for naked48 + +Add Setta21 maps to the default layout. + +Default + //|-----------------------------------------| + Rai+0, 1, 4, 7,Ad+Num, ESC, + //|------+------+------+------+------+------| + 2, 5, 8, /, F2, + //|------+------+------+------+------+------| + Low+., 3, 6, 9, *, =, + //|-------------+-------------+------+------| + ENT, +, -, DEL + //|-----------------------------------------| + +Lower + //|-----------------------------------------| + RAISE, F11, F4, F7, "=MIN(", ESC, + //|------+------+------+------+-----------+------| + F12, F5, F8, "=MAX(", F2, + //|------+------+------+------+-----------+------| + LOWER, F3, F6, F9,"=COUNTIF(", =, + //|-------------+-------------+-----------+------| + ), "=SUM(","=AVERAGE(", DEL + //|-----------------------------------------| + +Raise + //|-----------------------------------------| + RAISE, XXXXX, LEFT, XXXXX, XXXXX, ESC, + //|------+------+------+------+------+------| + DOWN, DOWN, UP, /, F2, + //|------+------+------+------+------+------| + LOWER, XXXXX, RIGHT, XXXXX, *, =, + //|-------------+-------------+------+------| + ENT, +, -, DEL + //|-----------------------------------------| + +Adjust + //|------------------------------------------------| + LED ON/Off,LED VAD,LED HUD,LED SAD, ADJUST, ESC, + //|--------+-------+-------+-------+-------+-------| + LED VAI,LED HUI,LED SAI, XXXXX, F2, + //|--------+-------+-------+-------+-------+-------| + XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, =, + //|----------------+---------------+-------+-------| + LED MOD, +, -, DEL + //|------------------------------------------------| diff --git a/keyboards/naked48/keymaps/default_with_setta21/rules.mk b/keyboards/naked48/keymaps/default_with_setta21/rules.mk new file mode 100644 index 0000000000..ee538432e9 --- /dev/null +++ b/keyboards/naked48/keymaps/default_with_setta21/rules.mk @@ -0,0 +1,29 @@ + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +SWAP_HANDS_ENABLE = no # Enable one-hand typing + +# If your custom naked48 pcb, you can rewrite to yes. +LED_ANIMATIONS = yes # LED animations + +ifeq ($(strip $(LED_ANIMATIONS)), yes) + # OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS +endif + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/naked48/keymaps/salicylic/config.h b/keyboards/naked48/keymaps/salicylic/config.h new file mode 100644 index 0000000000..ad417f7f02 --- /dev/null +++ b/keyboards/naked48/keymaps/salicylic/config.h @@ -0,0 +1,41 @@ +/* Copyright 2018 Salicylic_acid3 + * + * 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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define USE_SERIAL_PD2 + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 180 + +// Selection of RGBLIGHT MODE to use. +#if defined(LED_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 +#endif \ No newline at end of file diff --git a/keyboards/naked48/keymaps/salicylic/keymap.c b/keyboards/naked48/keymaps/salicylic/keymap.c new file mode 100644 index 0000000000..99c95cb021 --- /dev/null +++ b/keyboards/naked48/keymaps/salicylic/keymap.c @@ -0,0 +1,149 @@ +#include QMK_KEYBOARD_H +#include "keymap_jp.h" + +extern keymap_config_t keymap_config; + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// 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_number { + _QWERTY = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, + ADJUST, + KANJI, + RGBRST +}; + +// Fillers to make layering more clear +#define _____ KC_TRNS +#define XXXXX KC_NO + +#define KC_CT11 LCTL_T(KC_F11) +#define KC_SF12 SFT_T(KC_F12) +#define KC_LOEN LT(_LOWER, KC_ENT) +#define KC_RASP LT(_RAISE, KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + //,-----------------------------------------------------| |-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_RBRC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, + //|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_LEFT,KC_RIGHT, KC_LGUI, KC_MHEN, KC_LOEN, KC_BSPC, KC_DEL, KC_RASP, KC_HENK, KC_LALT, KC_DOWN, KC_UP + //`------------------------------------------------------------------------------------------------------------' + ), + + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------| |-----------------------------------------------------. + KC_ESC, J