[keymap] ninjonas userspace and keymaps for hotdox, lily58, & pinky3 (#6649)
* [keyboard] introducing ninjonas userspace & keymaps for hotdox, lily58, and pinky3 * [fix(#6649)] removed M_EPRM and used builtin EEP_RST keycode as-per review. * [chore(#6649)] forgot to update keymap legend on lily58better_chibios_wait
parent
0e153781f0
commit
f2ea65db6b
@ -0,0 +1,31 @@ |
||||
/*
|
||||
This is the c configuration file for the keymap |
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com> |
||||
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 <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
#pragma once |
||||
|
||||
/* Select hand configuration */ |
||||
|
||||
#define MASTER_LEFT |
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define SSD1306OLED |
||||
#define USE_SERIAL_PD2 |
||||
#define TAPPING_FORCE_HOLD |
@ -0,0 +1,37 @@ |
||||
#include QMK_KEYBOARD_H |
||||
#include <stdio.h> |
||||
#include "lily58.h" |
||||
#include "ninjonas.h" |
||||
|
||||
char layer_state_str[24]; |
||||
|
||||
const char *read_layer_state(void) { |
||||
switch (biton32(layer_state)) |
||||
{ |
||||
case _RAISE: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise"); |
||||
break; |
||||
case _LOWER: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower"); |
||||
break; |
||||
case _ADJUST: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); |
||||
break; |
||||
default: |
||||
switch (biton32(default_layer_state)) { |
||||
case _COLEMAK: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Colemak"); |
||||
break; |
||||
case _DVORAK: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Dvorak"); |
||||
break; |
||||
case _QWERTY: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Qwerty"); |
||||
break; |
||||
default: |
||||
snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state); |
||||
} |
||||
} |
||||
|
||||
return layer_state_str; |
||||
} |
@ -0,0 +1,5 @@ |
||||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/glcdfont.c \
|
||||
layer_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/keylogger.c \
|
@ -0,0 +1,31 @@ |
||||
/* Copyright 2018 'Masayuki Sunahara'
|
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, either version 2 of the License, or |
||||
* (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
#pragma once |
||||
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */ |
||||
|
||||
#define MASTER_LEFT |
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define USE_SERIAL_PD2 |
||||
|
||||
#define TAPPING_FORCE_HOLD |
||||
#define TAPPING_TERM 200 |
||||
#define RETRO_TAPPPING |
@ -0,0 +1,135 @@ |
||||
/* Copyright 2019 @ninjonas
|
||||
* |
||||
* 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 |
||||
#include "ninjonas.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.
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||
[_QWERTY] = LAYOUT_wrapper( |
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_____________________QWERTY_L1______________________, KC_MPLY, KC_MUTE, _____________________QWERTY_R1______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________QWERTY_L2______________________, T_LBRC, T_RBRC, _____________________QWERTY_R2______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________QWERTY_L3______________________, LT_RAI, LT_LOW, _____________________QWERTY_R3______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_DVORAK] = LAYOUT_wrapper( |
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_____________________DVORAK_L1______________________, KC_MPLY, KC_MUTE, _____________________DVORAK_R1______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________DVORAK_L2______________________, T_LBRC, T_RBRC, _____________________DVORAK_R2______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________DVORAK_L3______________________, LT_RAI, LT_LOW, _____________________DVORAK_R3______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper( |
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_____________________COLEMAK_L1_____________________, KC_MPLY, KC_MUTE, _____________________COLEMAK_R1_____________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________COLEMAK_L2_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R2_____________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________COLEMAK_L3_____________________, LT_RAI, LT_LOW, _____________________COLEMAK_R3_____________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_LOWER] = LAYOUT_wrapper( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, _________MEDIA_1_________, K_CSCN, XXXXXXX, _______________NAV_1______________, XXXXXXX, XXXXXXX,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, _________MEDIA_2_________, XXXXXXX, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
M_SHFT, XXXXXXX, XXXXXXX, _________MEDIA_3_________, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, M_ZOOM, M_PYNV,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
__________________________________, _______, _______, M_CODE, _______ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_RAISE] = LAYOUT_wrapper( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________XXXXXXX________________________, _______, _______, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
__________________________________, __________________________________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_ADJUST] = LAYOUT_wrapper( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
M_VRSN, _____________________XXXXXXX________________________, XXXXXXX, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
__________________________________, __________________________________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_NUMBERS] = LAYOUT_wrapper( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_____________________NUM_LEFT_______________________, XXXXXXX, XXXXXXX, _____________________NUM_RIGHT______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________SYM_LEFT_______________________, XXXXXXX, XXXXXXX, _____________________SYM_RIGHT______________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
____________________________________________________, _______, _______, ____________________________________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
__________________________________, __________________________________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
[_FUNCTIONS] = LAYOUT_wrapper( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_____________________FUNC_LEFT______________________, XXXXXXX, XXXXXXX, _____________________FUNC_RIGHT_____________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________XXXXXXX________________________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_____________________XXXXXXX________________________, _______, _______, _____________________XXXXXXX________________________,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
__________________________________, __________________________________ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
), |
||||
|
||||
/*
|
||||
[_TEMPLATE] = LAYOUT( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
) |
||||
*/ |
||||
}; |
@ -0,0 +1 @@ |
||||
secrets.c |
@ -0,0 +1,14 @@ |
||||
#ifdef TAPPING_TERM |
||||
#undef TAPPING_TERM |
||||
#define TAPPING_TERM 200 |
||||
#endif |
||||
|
||||
// Mouse Settings: Smoothing out mouse movement on keypress
|
||||
#ifndef MOUSEKEY_INTERVAL |
||||
#undef MOUSEKEY_INTERVAL |
||||
#define MOUSEKEY_INTERVAL 16 |
||||
#endif |
||||
#define MOUSEKEY_DELAY 0 |
||||
#define MOUSEKEY_TIME_TO_MAX 60 |
||||
#define MOUSEKEY_MAX_SPEED 7 |
||||
#define MOUSEKEY_WHEEL_DELAY 0 |
@ -0,0 +1,68 @@ |
||||
/* Copyright 2019 @ninjonas
|
||||
* |
||||
* 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 "ninjonas.h" |
||||
|
||||
layer_state_t layer_state_set_user (layer_state_t state) { |
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); |
||||
} |
||||
|
||||
// BEGIN: SSD1306OLED
|
||||
// SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
|
||||
#if defined(KEYBOARD_lily58_rev1) & defined(PROTOCOL_LUFA) |
||||
extern uint8_t is_master; |
||||
|
||||
void matrix_init_user(void) { |
||||
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
||||
iota_gfx_init(!has_usb()); // turns on the display
|
||||
} |
||||
|
||||
// When add source files to SRC in rules.mk, you can use functions.
|
||||
const char *read_layer_state(void); |
||||
const char *read_logo(void); |
||||
//void set_keylog(uint16_t keycode, keyrecord_t *record); // Moved to process_records.h
|
||||
const char *read_keylog(void); |
||||
const char *read_keylogs(void); |
||||
|
||||
void matrix_scan_user(void) { |
||||
iota_gfx_task(); |
||||
} |
||||
|
||||
void matrix_render_user(struct CharacterMatrix *matrix) { |
||||
if (is_master) { |
||||
// If you want to change the display of OLED, you need to change here
|
||||
matrix_write_ln(matrix, read_layer_state()); |
||||
matrix_write_ln(matrix, read_keylog()); |
||||
matrix_write_ln(matrix, read_keylogs()); |
||||
} else { |
||||
matrix_write(matrix, read_logo()); |
||||
} |
||||
} |
||||
|
||||
void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { |
||||
if (memcmp(dest->display, source->display, sizeof(dest->display))) { |
||||
memcpy(dest->display, source->display, sizeof(dest->display)); |
||||
dest->dirty = true; |
||||
} |
||||
} |
||||
|
||||
void iota_gfx_task_user(void) { |
||||
struct CharacterMatrix matrix; |
||||
matrix_clear(&matrix); |
||||
matrix_render_user(&matrix); |
||||
matrix_update(&display, &matrix); |
||||
} |
||||
#endif |
||||
// END: SSD1306OLED
|
@ -0,0 +1,112 @@ |
||||
/* Copyright 2019 @ninjonas
|
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, either version 2 of the License, or |
||||
* (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
#pragma once |
||||
#include "quantum.h" |
||||
#include "version.h" |
||||
#include "eeprom.h" |
||||
#include "process_records.h" |
||||
|
||||
#ifdef TAP_DANCE_ENABLE |
||||
#include "tap_dances.h" |
||||
#endif |
||||
#if defined(KEYBOARD_lily58_rev1) & defined(PROTOCOL_LUFA) |
||||
#include "lufa.h" |
||||
#include "split_util.h" |
||||
#endif |
||||
#ifdef SSD1306OLED |
||||
#include "ssd1306.h" |
||||
#endif |
||||
|
||||
#define _QWERTY 0 |
||||
#define _DVORAK 1 |
||||
#define _COLEMAK 2 |
||||
#define _LOWER 3 |
||||
#define _RAISE 4 |
||||
#define _ADJUST 5 |
||||
#ifdef KEYBOARD_pinky_3 |
||||
#define _NUMBERS 6 |
||||
#define _FUNCTIONS 7 |
||||
#endif |
||||
|
||||
// Shortcut Keys
|
||||
#define K_LOCK LGUI(LCTL(KC_Q)) // Locks screen on MacOS
|
||||
#define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard
|
||||
|
||||
// Layer Keys
|
||||
#define L_LOWER MO(_LOWER) |
||||
#define LT_LOW LT(_LOWER, KC_ENT) |
||||
#define LT_RAI LT(_RAISE, KC_SPC) |
||||
#ifdef KEYBOARD_pinky_3 |
||||
#define LT_NUM LT(_NUMBERS, KC_SPC) |
||||
#define LT_FUNC LT(_FUNCTIONS, KC_ENT) |
||||
#endif |
||||
|
||||
// Layout blocks
|
||||
#define _____________________QWERTY_L1______________________ T_TAB, T_Q, T_W, KC_E, KC_R, KC_T |
||||
#define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G |
||||
#define _____________________QWERTY_L3______________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B |
||||
|
||||
#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS |
||||
#define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT |
||||
#define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL |
||||
|
||||
#define _____________________DVORAK_L1______________________ T_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y |
||||
#define _____________________DVORAK_L2______________________ T_ESC, KC_A, KC_O, KC_E, KC_U, KC_I |
||||
#define _____________________DVORAK_L3______________________ KC_LSFT, KC_SCLN, T_Q, KC_J, KC_K, KC_X |
||||
|
||||
#define _____________________DVORAK_R1______________________ KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS |
||||
#define _____________________DVORAK_R2______________________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH |
||||
#define _____________________DVORAK_R3______________________ KC_B, KC_M, T_W, KC_V, KC_Z, KC_EQL |
||||
|
||||
#define _____________________COLEMAK_L1_____________________ T_TAB, T_Q, T_W, KC_F, KC_P, KC_G |
||||
#define _____________________COLEMAK_L2_____________________ T_ESC, KC_A, KC_R, KC_S, KC_T, KC_D |
||||
#define _____________________COLEMAK_L3_____________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B |
||||
|
||||
#define _____________________COLEMAK_R1_____________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS |
||||
#define _____________________COLEMAK_R2_____________________ KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT |
||||
#define _____________________COLEMAK_R3_____________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL |
||||
|
||||
#define _____________________NUM_LEFT_______________________ T_GRV, KC_1, KC_2, KC_3, KC_4, KC_5 |
||||
#define _____________________NUM_RIGHT______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS |
||||
|
||||
#define _____________________FUNC_LEFT______________________ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 |
||||
#define _____________________FUNC_RIGHT_____________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 |
||||
|
||||
#define _____________________SYM_LEFT_______________________ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC |
||||
#define _____________________SYM_RIGHT______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS |
||||
|
||||
#define ____________________________________________________ _______, _______, _______, _______, _______, _______ |
||||
#define _____________________XXXXXXX________________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX |
||||
|
||||
#define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END |
||||
#define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT |
||||
|
||||
#define _____________MOUSE_1______________ KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_D |
||||
#define _____________MOUSE_2______________ KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U |
||||
|
||||
#define __________________________________ _______, _______, _______, _______ |
||||
#define _____________XXXXXXX______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX |
||||
|
||||
#define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE |
||||
#define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP |
||||
#define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC__VOLDOWN |
||||
|
||||
#define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL |
||||
#define ________MOD_RIGHT________ KC_BSPC, KC_DEL, L_LOWER |
||||
|
||||
// Layout wrappers
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) |
||||
#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) |
@ -0,0 +1,24 @@ |
||||
#pragma once |
||||
#include "ninjonas.h" |
||||
|
||||
enum custom_keycodes { |
||||
// Layer Macros
|
||||
QWERTY = SAFE_RANGE, |
||||
DVORAK, |
||||
COLEMAK, |
||||
// Custom Macros
|
||||
M_ZOOM, |
||||
M_PYNV, |
||||
M_SHFT, |
||||
M_MAKE, |
||||
M_FLSH, |
||||
M_VRSN, |
||||
M_CODE, |
||||
}; |
||||
|
||||
#ifdef SSD1306OLED |
||||
void set_keylog(uint16_t keycode, keyrecord_t *record); |
||||
#endif |
||||
|
||||
bool process_record_secrets(uint16_t keycode, keyrecord_t *record); |
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record); |
@ -0,0 +1,18 @@ |
||||
BOOTMAGIC_ENABLE = no # Disable Boot Magic (https://beta.docs.qmk.fm/features/feature_bootmagic)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
TAP_DANCE_ENABLE = yes # Enable Tap Dance.
|
||||
|
||||
Link_Time_Optimization = no # if firmware size over limit, try this option
|
||||
|
||||
ifeq ($(strip $(Link_Time_Optimization)),yes) |
||||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
|
||||
endif |
||||
|
||||
SRC += ninjonas.c \
|
||||
process_records.c \
|
||||
tap_dances.c
|
||||
|
||||
ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") |
||||
SRC += secrets.c
|
||||
endif |
@ -0,0 +1,12 @@ |
||||
#include "ninjonas.h" |
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = { |
||||
[TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), |
||||
[TD_LBRC_BACK] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)), |
||||
[TD_RBRC_FWD] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, LGUI(KC_RBRC)), |
||||
[TD_TAB_CTRLTAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LCTL(KC_TAB)), |
||||
[TD_GRV_CTRLGRV] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, LGUI(KC_GRV)), |
||||
[TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), |
||||
[TD_W_CTRLW] = ACTION_TAP_DANCE_DOUBLE(KC_W, LGUI(KC_W)), |
||||
[TD_Q_GUIQ] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LGUI(KC_Q)), |
||||
}; |
Loading…
Reference in new issue