mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-09 17:18:40 +00:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
55bae0a5b4 | ||
![]() |
dab4967f1b | ||
![]() |
9f46606dff | ||
![]() |
f2ea65db6b | ||
![]() |
0e153781f0 | ||
![]() |
27b3f3141b | ||
![]() |
d653e55461 | ||
![]() |
05d0e8c09e | ||
![]() |
19e85a503c | ||
![]() |
5095a999b7 | ||
![]() |
bf558e42fd | ||
![]() |
3fae3076ce | ||
![]() |
4c4ee4a26b | ||
![]() |
f59d076898 | ||
![]() |
d12c024dde |
@@ -27,7 +27,7 @@ addons:
|
||||
- diffutils
|
||||
- dos2unix
|
||||
- doxygen
|
||||
after_success:
|
||||
after_script:
|
||||
bash util/travis_compiled_push.sh
|
||||
notifications:
|
||||
webhooks:
|
||||
|
1
Makefile
1
Makefile
@@ -548,6 +548,7 @@ ifndef SKIP_GIT
|
||||
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 1 --init lib/chibios; fi
|
||||
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 1 --init lib/chibios-contrib; fi
|
||||
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 1 --init lib/ugfx; fi
|
||||
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 1 --init lib/lufa; fi
|
||||
git submodule status --recursive 2>/dev/null | \
|
||||
while IFS= read -r x; do \
|
||||
case "$$x" in \
|
||||
|
@@ -358,3 +358,9 @@ ifeq ($(strip $(SPACE_CADET_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/process_keycode/process_space_cadet.c
|
||||
OPT_DEFS += -DSPACE_CADET_ENABLE
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
|
||||
SRC += $(QUANTUM_DIR)/dip_switch.c
|
||||
OPT_DEFS += -DDIP_SWITCH_ENABLE
|
||||
endif
|
||||
|
@@ -63,6 +63,7 @@
|
||||
* [Combos](feature_combo.md)
|
||||
* [Command](feature_command.md)
|
||||
* [Debounce API](feature_debounce_type.md)
|
||||
* [DIP Switch](feature_dip_switch.md)
|
||||
* [Dynamic Macros](feature_dynamic_macros.md)
|
||||
* [Encoders](feature_encoders.md)
|
||||
* [Grave Escape](feature_grave_esc.md)
|
||||
|
90
docs/feature_dip_switch.md
Normal file
90
docs/feature_dip_switch.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# DIP Switches
|
||||
|
||||
DIP switches are supported by adding this to your `rules.mk`:
|
||||
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
|
||||
and this to your `config.h`:
|
||||
|
||||
```c
|
||||
#define DIP_SWITCH_PINS { B14, A15, A10, B9 }
|
||||
```
|
||||
|
||||
## Callbacks
|
||||
|
||||
The callback functions can be inserted into your `<keyboard>.c`:
|
||||
|
||||
```c
|
||||
void dip_switch_update_kb(uint8_t index, bool active) {
|
||||
dip_switch_update_user(index, active);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
or `keymap.c`:
|
||||
|
||||
```c
|
||||
void dip_switch_update_user(uint8_t index, bool active) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
if(active) { audio_on(); } else { audio_off(); }
|
||||
break;
|
||||
case 1:
|
||||
if(active) { clicky_on(); } else { clicky_off(); }
|
||||
break;
|
||||
case 2:
|
||||
if(active) { music_on(); } else { music_off(); }
|
||||
break;
|
||||
case 3:
|
||||
if (active) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(plover_song);
|
||||
#endif
|
||||
layer_on(_PLOVER);
|
||||
} else {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(plover_gb_song);
|
||||
#endif
|
||||
layer_off(_PLOVER);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Additionally, we support bit mask functions which allow for more complex handling.
|
||||
|
||||
|
||||
```c
|
||||
void dip_switch_update_mask_kb(uint32_t state) {
|
||||
dip_switch_update_mask_user(state);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
or `keymap.c`:
|
||||
|
||||
```c
|
||||
void dip_switch_update_mask_user(uint32_t state) {
|
||||
if (state & (1UL<<0) && state & (1UL<<1)) {
|
||||
layer_on(_ADJUST); // C on esc
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
if (state & (1UL<<0)) {
|
||||
layer_on(_TEST_A); // A on ESC
|
||||
} else {
|
||||
layer_off(_TEST_A);
|
||||
}
|
||||
if (state & (1UL<<1)) {
|
||||
layer_on(_TEST_B); // B on esc
|
||||
} else {
|
||||
layer_off(_TEST_B);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Hardware
|
||||
|
||||
One side of the DIP switch should be wired directly to the pin on the MCU, and the other side to ground. It should not matter which side is connected to which, as it should be functionally the same.
|
@@ -12,6 +12,7 @@ QMK has a staggering number of features for building your keyboard. It can take
|
||||
* [Combos](feature_combo.md) - Custom actions for multiple key holds.
|
||||
* [Command](feature_command.md) - Runtime version of bootmagic (Formerly known as "Magic").
|
||||
* [Debounce API](feature_debounce_type.md) - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
|
||||
* [DIP Switch](feature_dip_switch.md) - Toggle switches for customizing board function.
|
||||
* [Dynamic Macros](feature_dynamic_macros.md) - Record and playback macros from the keyboard itself.
|
||||
* [Encoders](feature_encoders.md) - Rotary encoders!
|
||||
* [Grave Escape](feature_grave_esc.md) - Lets you use a single key for Esc and Grave.
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta property="og:title" content="QMK Firmware Docs">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:description" content="The full documenation of the open-source firmware">
|
||||
<meta property="og:description" content="The full documentation of the open-source firmware">
|
||||
<meta property="og:image" content="https://i.imgur.com/svjvIrw.jpg">
|
||||
<meta property="og:url" content="https://docs.qmk.fm">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
|
@@ -54,6 +54,7 @@
|
||||
* [热改键](feature_bootmagic.md)
|
||||
* [组合](feature_combo)
|
||||
* [命令](feature_command.md)
|
||||
* [拨动开关](feature_dip_switch.md)
|
||||
* [动态宏指令](feature_dynamic_macros.md)
|
||||
* [编码器](feature_encoders.md)
|
||||
* [重音号Esc复合键](feature_grave_esc.md)
|
||||
|
@@ -25,8 +25,23 @@
|
||||
#endif
|
||||
|
||||
// This a shortcut to help you visually see your layout.
|
||||
// The first section contains all of the arguements
|
||||
// The second converts the arguments into a two-dimensional array
|
||||
// The first section contains all of the arguments.
|
||||
// The second converts the arguments into a two-dimensional array.
|
||||
// In the PCBDOWN case we need to swap the middle two keys: k35 and k36.
|
||||
#if defined(PCBDOWN)
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \
|
||||
{ k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \
|
||||
{ k20, k21, k22, k23, k24, k36, k25, k26, k27, k28, k29 }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b } \
|
||||
}
|
||||
#else
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||
@@ -39,3 +54,4 @@
|
||||
{ k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \
|
||||
{ k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \
|
||||
}
|
||||
#endif
|
||||
|
132
keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
Normal file
132
keyboards/dztech/dz60rgb/keymaps/perseid/keymap.c
Normal file
@@ -0,0 +1,132 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_QWERTY,
|
||||
_FNM
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE
|
||||
};
|
||||
|
||||
#define FNM MO(_FNM)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT( /* Base */
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_DEL,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, FNM, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
[_FNM] = LAYOUT( /* FN */
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EEP_RST,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT)
|
||||
};
|
||||
|
||||
void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
|
||||
for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
|
||||
if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
|
||||
rgb_matrix_set_color( i, red, green, blue );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void rgb_matrix_indicators_user(void)
|
||||
{
|
||||
if (!g_suspend_state) {
|
||||
switch (biton32(layer_state)) {
|
||||
case _QWERTY:
|
||||
rgb_matrix_layer_helper(0x00, 0x0F, 0xFF); break;
|
||||
|
||||
case _FNM:
|
||||
rgb_matrix_layer_helper(0xF0, 0x00, 0xFF); break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
case _FNM:
|
||||
rgb_matrix_set_color(0, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(1, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(1, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(2, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(3, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(4, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(5, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(6, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(7, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(8, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(9, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(10, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(11, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(12, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(14, 0x00, 0x00, 0xFF);
|
||||
rgb_matrix_set_color(15, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(16, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(17, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(18, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(19, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(20, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(21, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(22, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(23, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(24, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(25, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(26, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(27, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(28, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(29, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(30, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(31, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(32, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(33, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(34, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(35, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(36, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(37, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(38, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(39, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(40, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(41, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(42, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(43, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(44, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(45, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(46, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(47, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(48, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(49, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(50, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(51, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(52, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(53, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(54, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(55, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(56, 0x00, 0x00, 0x00);
|
||||
rgb_matrix_set_color(57, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(58, 0x00, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(59, 0xFF, 0x00, 0x00);
|
||||
rgb_matrix_set_color(60, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(61, 0xFF, 0xFF, 0x00);
|
||||
rgb_matrix_set_color(62, 0x00, 0x00, 0x00);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
//user initialization
|
||||
}
|
||||
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
//user matrix
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t* record)
|
||||
{
|
||||
return true;
|
||||
}
|
7
keyboards/dztech/dz60rgb/keymaps/perseid/readme.md
Normal file
7
keyboards/dztech/dz60rgb/keymaps/perseid/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# My Personal Keymap for the dz60rgb
|
||||
|
||||
This is for the one with the arrows. Not very many changes.
|
||||
|
||||
* I don't use the capslock - so that's the grave key
|
||||
* Escape is now GESC
|
||||
* Alt and Cmd are swapped - cause I use a Mac
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2018 Jarred Steenvoorden
|
||||
/* Copyright 2018 Jarred Steenvoorden
|
||||
*
|
||||
* 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
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "rs.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
|
||||
/* Copyright 2018 @TurboMech /u/TurboMech <discord> @A9entOran9e#6134
|
||||
*
|
||||
* 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
|
||||
|
37
keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c
Normal file
37
keyboards/foxlab/leaf60/universal/keymaps/jarred/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/* Copyright 2019 Jarred Steenvoorden
|
||||
*
|
||||
* 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 "jarred.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QW] = LAYOUT_60_hhkb(
|
||||
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV ,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
NAVI , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
|
||||
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_ENT ,
|
||||
KC_LCTL, KC_LGUI, KC_SPC , KC_RALT, KC_RCTL
|
||||
),
|
||||
|
||||
[_NV] = LAYOUT_60_hhkb(
|
||||
KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______,
|
||||
_______, _______, _______, _______, KC_DEL , KC_BSPC, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______, _______, _______,
|
||||
_______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_DEL , _______,
|
||||
_______ , _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______,
|
||||
_______, _______, ALT_TAB , _______, RESET
|
||||
),
|
||||
|
||||
};
|
@@ -0,0 +1,9 @@
|
||||
# Jarred's Leaf60 Layout
|
||||
|
||||
Check out [user space readme](../../../../../../users/jarred/readme.md) for more info
|
||||
|
||||
# Flash
|
||||
|
||||
```
|
||||
make foxlab/leaf60/universal:jarred:dfu
|
||||
```
|
10
keyboards/gh60/satan/keymaps/gipsy-king/config.h
Normal file
10
keyboards/gh60/satan/keymaps/gipsy-king/config.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLED_NUM 17
|
||||
#undef RGBLIGHT_HUE_STEP
|
||||
#define RGBLIGHT_HUE_STEP 5
|
||||
#undef RGBLIGHT_SAT_STEP
|
||||
#define RGBLIGHT_SAT_STEP 5
|
||||
#undef RGBLIGHT_VAL_STEP
|
||||
#define RGBLIGHT_VAL_STEP 5
|
||||
|
||||
#undef RGBLIGHT_ANIMATIONS
|
161
keyboards/gh60/satan/keymaps/gipsy-king/keymap.c
Normal file
161
keyboards/gh60/satan/keymaps/gipsy-king/keymap.c
Normal file
@@ -0,0 +1,161 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "rgblight.h"
|
||||
|
||||
enum layer_names {
|
||||
_BL,
|
||||
_FL
|
||||
};
|
||||
|
||||
/**
|
||||
* HHKB style.
|
||||
* Esc on capslock, space-hold is fn.
|
||||
* Fn layer has hjkl arrows, home on backspace, rgb stuff.
|
||||
*/
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = LAYOUT_60_ansi(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
_______, KC_LCTL, KC_LALT, LT(_FL,KC_SPC), KC_LGUI, KC_RALT, KC_RCTL, _______
|
||||
),
|
||||
|
||||
[_FL] = LAYOUT_60_ansi(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME,
|
||||
RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, BL_INC, BL_TOGG,
|
||||
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
/**
|
||||
* Terminal Prompt
|
||||
* Mimicks a terminal prompt. On keystrokes, the led bar is filled. Backspace
|
||||
* removes from bar. Enter clears bar. After some timeout, the bar is also cleared.
|
||||
* A blinking cursor is displayed at the right of the bar.
|
||||
* This can't be defined as an animation, because animations only are called on an
|
||||
* interval, not on keypress. In the future all animations could be enhanced to
|
||||
* react to keystrokes in QMK.
|
||||
*/
|
||||
|
||||
uint8_t cursor_pos;
|
||||
|
||||
uint16_t interval_time = 10; // maybe too short...
|
||||
uint16_t reset_time = 10000;
|
||||
uint16_t last_timer = 0;
|
||||
uint16_t timer_pos = 0;
|
||||
uint16_t reset_timer = 0;
|
||||
|
||||
void reset_chars(void);
|
||||
void add_char(bool space);
|
||||
void remove_char(void);
|
||||
void animate_cursor(uint16_t);
|
||||
|
||||
// animate, like the built-in animations, with timer_* functions
|
||||
void matrix_scan_user(void) {
|
||||
if (timer_elapsed(reset_timer) > reset_time) {
|
||||
reset_chars();
|
||||
reset_timer = timer_read();
|
||||
return;
|
||||
}
|
||||
if (timer_elapsed(last_timer) < interval_time) {
|
||||
return;
|
||||
}
|
||||
last_timer += interval_time;
|
||||
timer_pos += 4;
|
||||
if (timer_pos >= 255) {
|
||||
timer_pos = 0;
|
||||
last_timer = timer_read();
|
||||
}
|
||||
animate_cursor(timer_pos);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
|
||||
keycode = keycode & 0xFF;
|
||||
}
|
||||
switch (keycode) {
|
||||
case KC_A ... KC_Z:
|
||||
case KC_1 ... KC_0:
|
||||
case KC_LBRC:
|
||||
case KC_RBRC:
|
||||
case KC_SCLN:
|
||||
case KC_QUOT:
|
||||
case KC_COMM:
|
||||
case KC_DOT:
|
||||
case KC_SLSH:
|
||||
case KC_BSLS:
|
||||
if (record->event.pressed) {
|
||||
add_char(false);
|
||||
}
|
||||
break;
|
||||
case KC_ENTER:
|
||||
case KC_ESC:
|
||||
if (record->event.pressed) {
|
||||
reset_chars();
|
||||
}
|
||||
break;
|
||||
case KC_BSPC:
|
||||
if (record->event.pressed) {
|
||||
remove_char();
|
||||
}
|
||||
break;
|
||||
case KC_SPACE:
|
||||
if (!record->event.pressed) {
|
||||
add_char(true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
reset_timer = timer_read();
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
// reset the bar and animation
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
cursor_pos = 0;
|
||||
reset_chars();
|
||||
reset_timer = last_timer = timer_read();
|
||||
}
|
||||
|
||||
|
||||
void reset_chars(void) {
|
||||
// flush the whole thing, gets rid of previous animations
|
||||
for (uint8_t i = 0; i < RGBLED_NUM; i++) {
|
||||
// don't flicker the cursor if bar was empty on reset_timer
|
||||
if (i == 0 && cursor_pos == 0) {
|
||||
continue;
|
||||
}
|
||||
rgblight_sethsv_at(0, 0, 0, i);
|
||||
}
|
||||
cursor_pos = 0;
|
||||
}
|
||||
|
||||
void add_char(bool space) {
|
||||
if (cursor_pos == RGBLED_NUM - 1) {
|
||||
cursor_pos = 0;
|
||||
reset_chars();
|
||||
return;
|
||||
}
|
||||
|
||||
if (space) {
|
||||
rgblight_sethsv_at(0, 0, 0, cursor_pos);
|
||||
} else {
|
||||
rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val(), cursor_pos);
|
||||
}
|
||||
cursor_pos += 1;
|
||||
}
|
||||
|
||||
void remove_char(void) {
|
||||
if (cursor_pos == 0) return;
|
||||
|
||||
rgblight_sethsv_at(0, 0, 0, cursor_pos);
|
||||
rgblight_sethsv_at(0, 0, 0, cursor_pos - 1);
|
||||
cursor_pos -= 1;
|
||||
}
|
||||
|
||||
void animate_cursor(uint16_t pos) {
|
||||
uint16_t value = pos < 196 ? fmin(255, pos * 16) : (255 - (pos * 2));
|
||||
rgblight_sethsv_at(rgblight_get_hue(), rgblight_get_sat(), value, cursor_pos);
|
||||
}
|
1
keyboards/gh60/satan/keymaps/gipsy-king/readme.md
Normal file
1
keyboards/gh60/satan/keymaps/gipsy-king/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# default Satan GH60 layout
|
7
keyboards/gh60/satan/keymaps/gipsy-king/rules.mk
Normal file
7
keyboards/gh60/satan/keymaps/gipsy-king/rules.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
BOOTMAGIC_ENABLE = no
|
||||
EXTRAKEY_ENABLE = no
|
||||
CONSOLE_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
NKRO_ENABLE = no
|
||||
UNICODE_ENABLE = yes
|
||||
SLEEP_LED_ENABLE = yes
|
106
keyboards/hotdox/keymaps/ninjonas/README.md
Normal file
106
keyboards/hotdox/keymaps/ninjonas/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# ninjonas Keymap for [ErgoDox (HotDox)](https://www.alpacakeyboards.com/)
|
||||
|
||||
## Setup
|
||||
- Ensure you've cloned the [qmk](https://github.com/qmk/qmk_firmware) repo
|
||||
- Create directory `ninjonas` on `/keyboards/hotdox/keymaps/`
|
||||
- Run `copy_keymap.sh`. This copies the contents of this repo into `%qmk_firmware%/ninjonas/` directory
|
||||
- To push your keymap to your keyboard run this command `make clean hotdox:ninjonas:dfu`
|
||||
- this compiles your keymap and creates a `hotdox_ninjonas.hex` file and will atempt to flash your board
|
||||
- if you get the following message:
|
||||
```
|
||||
dfu-programmer: no device present.
|
||||
Error: Bootloader not found. Trying again in 5s.
|
||||
```
|
||||
- Press the reset button underneath your ErgoDox keyboard
|
||||
- The following messages should show up and your board has successfuly been flashed
|
||||
```
|
||||
Bootloader Version: 0x00 (0)
|
||||
Erasing flash... Success
|
||||
Checking memory from 0x0 to 0x6FFF... Empty.
|
||||
Checking memory from 0x0 to 0x5D7F... Empty.
|
||||
0% 100% Programming 0x5D80 bytes...
|
||||
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
|
||||
0% 100% Reading 0x7000 bytes...
|
||||
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
|
||||
Validating... Success
|
||||
0x5D80 bytes written into 0x7000 bytes memory (83.48%).
|
||||
```
|
||||
- The alterenative is follow the steps on [Hotdox flashing guide](https://www.alpacakeyboards.com/flash/hot-dox-ergodox-76-flashing-instructions)
|
||||
|
||||
## Keymap
|
||||
This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](https://github.com/ninjonas/qmk-yonas/tree/master/users/ninjonas).
|
||||
|
||||
### QWERTY
|
||||
```c
|
||||
/* Keymap 0: QWERTY
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------'
|
||||
* |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Up | Down | | Left | Right|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp|------| |------| Del |Enter |
|
||||
* | |ace | End | | PgDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### LOWER
|
||||
```c
|
||||
/* Keymap 1: LOWER
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | | | |KC_BRU| Play | Mute | | | | PgUp | Home | Up | End | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | |KC_BRD| Next |VolUp |------| |-------| PgDn | Left | Down |Right |K_LOCK | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | | | Prev |VolDn | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | |M_CODE | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### RAISE
|
||||
```c
|
||||
/* Keymap 2: RAISE
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | | | | |K_CSCN| | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | M_MAKE | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | M_VRSN | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | M_FLSH | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
```
|
348
keyboards/hotdox/keymaps/ninjonas/keymap.c
Normal file
348
keyboards/hotdox/keymaps/ninjonas/keymap.c
Normal file
@@ -0,0 +1,348 @@
|
||||
/* 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"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* QWERTY
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' |
|
||||
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------'
|
||||
* |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Up | Down | | Left | Right|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp|------| |------| Del |Enter |
|
||||
* | |ace | End | | PgDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ergodox_wrapper(
|
||||
// LEFT HAND
|
||||
_____________________NUM_LEFT_______________________, KC_MPLY,
|
||||
_____________________QWERTY_L1______________________, KC_NO,
|
||||
_____________________QWERTY_L2______________________,
|
||||
_____________________QWERTY_L3______________________, T_LBRC,
|
||||
M_SHFT, KC_NO, ________MOD_LEFT_________,
|
||||
// LEFT THUMB
|
||||
KC_UP, KC_DOWN,
|
||||
KC_HOME,
|
||||
LT_RAI, KC_BSPC,
|
||||
KC_END,
|
||||
|
||||
//RIGHT HAND
|
||||
K_LOCK, _____________________NUM_RIGHT______________________,
|
||||
KC_NO, _____________________QWERTY_R1______________________,
|
||||
_____________________QWERTY_R2______________________,
|
||||
T_RBRC, _____________________QWERTY_R3______________________,
|
||||
________MOD_RIGHT________, M_ZOOM, M_PYNV,
|
||||
// RIGHT THUMB
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_PGUP,
|
||||
KC_PGDN,
|
||||
KC_DEL, LT_LOW
|
||||
),
|
||||
|
||||
/* DVORAK
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------|
|
||||
* | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | O | E | U | I |------| |-------| D | H | T | N | S | / |
|
||||
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
|
||||
* | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | = |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------'
|
||||
* |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Up | Down | | Left | Right|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp|------| |------| Del |Enter |
|
||||
* | |ace | End | | PgDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_ergodox_wrapper(
|
||||
// LEFT HAND
|
||||
_____________________NUM_LEFT_______________________, KC_MPLY,
|
||||
_____________________DVORAK_L1______________________, KC_NO,
|
||||
_____________________DVORAK_L2______________________,
|
||||
_____________________DVORAK_L3______________________, T_LBRC,
|
||||
M_SHFT, KC_NO, ________MOD_LEFT_________,
|
||||
// LEFT THUMB
|
||||
KC_UP, KC_DOWN,
|
||||
KC_HOME,
|
||||
LT_RAI, KC_BSPC,
|
||||
KC_END,
|
||||
|
||||
//RIGHT HAND
|
||||
K_LOCK, _____________________NUM_RIGHT______________________,
|
||||
KC_NO, _____________________DVORAK_R1______________________,
|
||||
_____________________DVORAK_R2______________________,
|
||||
T_RBRC, _____________________DVORAK_R3______________________,
|
||||
________MOD_RIGHT________, M_ZOOM, M_PYNV,
|
||||
// RIGHT THUMB
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_PGUP,
|
||||
KC_PGDN,
|
||||
KC_DEL, LT_LOW
|
||||
),
|
||||
|
||||
/* COLEMAK
|
||||
*
|
||||
* ,--------------------------------------------------. ,--------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------|
|
||||
* | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
|
||||
* | Esc | A | R | S | T | D |------| |-------| H | N | E | I | O | ' |
|
||||
* |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
|
||||
* | LShift | Z | X | C | V | B | | | | K | M | , | . | / | = |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------'
|
||||
* |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV|
|
||||
* `----------------------------------' `----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | Up | Down | | Left | Right|
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | Home | | PgUp | | |
|
||||
* | Space|Backsp|------| |------| Del |Enter |
|
||||
* | |ace | End | | PgDn | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_ergodox_wrapper(
|
||||
// LEFT HAND
|
||||
_____________________NUM_LEFT_______________________, KC_MPLY,
|
||||
_____________________COLEMAK_L1_____________________, KC_NO,
|
||||
_____________________COLEMAK_L2_____________________,
|
||||
_____________________COLEMAK_L3_____________________, T_LBRC,
|
||||
M_SHFT, KC_NO, ________MOD_LEFT_________,
|
||||
// LEFT THUMB
|
||||
KC_UP, KC_DOWN,
|
||||
KC_HOME,
|
||||
LT_RAI, KC_BSPC,
|
||||
KC_END,
|
||||
|
||||
//RIGHT HAND
|
||||
K_LOCK, _____________________NUM_RIGHT______________________,
|
||||
KC_NO, _____________________COLEMAK_R1_____________________,
|
||||
_____________________COLEMAK_R2_____________________,
|
||||
T_RBRC, _____________________COLEMAK_R3_____________________,
|
||||
________MOD_RIGHT________, M_ZOOM, M_PYNV,
|
||||
// RIGHT THUMB
|
||||
KC_LEFT, KC_RGHT,
|
||||
KC_PGUP,
|
||||
KC_PGDN,
|
||||
KC_DEL, LT_LOW
|
||||
),
|
||||
|
||||
/* LOWER
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | | | |KC_BRU| Play | Mute | | | | PgUp | Home | Up | End | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | |KC_BRD| Next |VolUp |------| |-------| PgDn | Left | Down |Right |K_LOCK | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | | | Prev |VolDn | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | |M_CODE | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ergodox_wrapper(
|
||||
//LEFT HAND
|
||||
_____________________FUNC_LEFT______________________, _______,
|
||||
_______, _______, _______, _________MEDIA_1_________, _______,
|
||||
_______, _______, _______, _________MEDIA_2_________,
|
||||
_______, _______, _______, _________MEDIA_3_________, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
// LEFT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______,
|
||||
_______,
|
||||
|
||||
//RIGHT HAND
|
||||
_______, _____________________FUNC_RIGHT_____________________,
|
||||
_______, _______________NAV_1______________, _______, _______,
|
||||
_______________NAV_2______________, K_LOCK, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, M_CODE, _______,
|
||||
// RIGHT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
/* RAISE
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | | | | |K_CSCN| | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ergodox_wrapper(
|
||||
//LEFT HAND
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_CSCN, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_2______________,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// LEFT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______,
|
||||
_______,
|
||||
|
||||
//RIGHT HAND
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// RIGHT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
/* ADJUST
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | | | | | | | | | | | | |COLMAK|DVORAK |QWERTY |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | M_MAKE | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | M_VRSN | | | | | |------| |-------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | M_FLSH | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ergodox_wrapper(
|
||||
//LEFT HAND
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
M_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
M_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// LEFT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______,
|
||||
_______,
|
||||
|
||||
//RIGHT HAND
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// RIGHT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______,
|
||||
_______, _______
|
||||
),
|
||||
/* Keymap XX: TEMPLATE
|
||||
*
|
||||
* ,--------------------------------------------------. ,----------------------------------------------------.
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | | | | |------| |-------| | | | | | |
|
||||
* |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------'
|
||||
* | | | | | | | | | | | |
|
||||
* `----------------------------------' `-----------------------------------'
|
||||
* ,-------------. ,-------------.
|
||||
* | | | | | |
|
||||
* ,------|------|------| |------+------+------.
|
||||
* | | | | | | | |
|
||||
* | | |------| |------| | |
|
||||
* | | | | | | | |
|
||||
* `--------------------' `--------------------'
|
||||
[_XXLAYER] = LAYOUT_ergodox_wrapper(
|
||||
//LEFT HAND
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
// LEFT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______, _______,
|
||||
_______,
|
||||
|
||||
//RIGHT HAND
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
// RIGHT THUMB
|
||||
_______, _______,
|
||||
_______,
|
||||
_______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
*/
|
||||
};
|
@@ -1,4 +1,4 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#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.
|
||||
|
136
keyboards/lily58/keymaps/ninjonas/README.md
Normal file
136
keyboards/lily58/keymaps/ninjonas/README.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# ninjonas Keymap for [Lily58 Pro](https://github.com/kata0510/Lily58)
|
||||
|
||||
## Keymap
|
||||
This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas).
|
||||
|
||||
> Make sure you update QMK's lily58 config.h TAPPING_TERM to 200ms or this won't compile
|
||||
|
||||
More information about the Lily58 pro keyboard can be found [here](https://yuchi-kbd.hatenablog.com/entry/2018/12/23/214342)
|
||||
|
||||
### QWERTY
|
||||
```c
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### DVORAK
|
||||
```c
|
||||
/* DVORAK
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | O | E | U | I |-------. ,-------| D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### COLEMAK
|
||||
```c
|
||||
/* COLEMAK
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### LOWER
|
||||
```c
|
||||
/* LOWER
|
||||
* ,------------------------------------------. ,------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |------+------+------+-------+------+------| |------+------+------+------+-------+------|
|
||||
* | | | |KC_BRIU| Play | Mute | | PgUp | Home | Up | End | | |
|
||||
* |------+------+------+-------+------+------| |------+------+------+------+-------+------|
|
||||
* | | | |KC_BRID| Next |VolUp |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | |
|
||||
* |------+------+------+-------+------+------| | | |------+------+------+------+-------+------|
|
||||
* | |M_SHFT| | | Prev |VolDn |-------| |-------| | | | |M_ZOOM |M_PYNV|
|
||||
* `------------------------------------------/ / \ \------------------------------------------'
|
||||
* | | | | / / \ \ | |M_CODE| |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### RAISE
|
||||
```c
|
||||
/* RAISE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | |K_CSCN| | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | MS_L | MS_D | MS_R | WH_D |-------. ,-------| | | | | | |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | | | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### ADJUST
|
||||
```c
|
||||
/* ADJUST
|
||||
* ,------------------------------------------. ,-----------------------------------------.
|
||||
* |EEP_RST| | | | | | | | | |COLMAK|DVORAK|QWERTY|
|
||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |M_MAKE | | | | | | | | | | | | |
|
||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |M_VRSN | | | | | |-------. ,-------| | | | | | |
|
||||
* |-------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* |M_FLSH | | | | | |-------| |-------| | | | | | |
|
||||
* `------------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
<!--
|
||||
### TEMPLATE
|
||||
```c
|
||||
/* TEMPLATE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | |-------. ,-------| | | | | | |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | | | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
```
|
||||
-->
|
31
keyboards/lily58/keymaps/ninjonas/config.h
Normal file
31
keyboards/lily58/keymaps/ninjonas/config.h
Normal file
@@ -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
|
152
keyboards/lily58/keymaps/ninjonas/keymap.c
Normal file
152
keyboards/lily58/keymaps/ninjonas/keymap.c
Normal file
@@ -0,0 +1,152 @@
|
||||
/* 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"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
_____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \
|
||||
_____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, \
|
||||
_____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, \
|
||||
_____________________QWERTY_L3______________________, T_LBRC, T_RBRC, _____________________QWERTY_R3______________________, \
|
||||
________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \
|
||||
),
|
||||
|
||||
/* DVORAK
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | O | E | U | I |-------. ,-------| D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_wrapper(
|
||||
_____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \
|
||||
_____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________, \
|
||||
_____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, \
|
||||
_____________________DVORAK_L3______________________, T_LBRC, T_RBRC, _____________________DVORAK_R3______________________, \
|
||||
________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \
|
||||
),
|
||||
|
||||
/* COLEMAK
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ESC | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
_____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \
|
||||
_____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________, \
|
||||
_____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, \
|
||||
_____________________COLEMAK_L3_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R3_____________________, \
|
||||
________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \
|
||||
),
|
||||
|
||||
/* LOWER
|
||||
* ,------------------------------------------. ,------------------------------------------.
|
||||
* | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 |
|
||||
* |------+------+------+-------+------+------| |------+------+------+------+-------+------|
|
||||
* | | | |KC_BRIU| Play | Mute | | PgUp | Home | Up | End | | |
|
||||
* |------+------+------+-------+------+------| |------+------+------+------+-------+------|
|
||||
* | | | |KC_BRID| Next |VolUp |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | |
|
||||
* |------+------+------+-------+------+------| | | |------+------+------+------+-------+------|
|
||||
* |M_SHFT| | | | Prev |VolDn |-------| |-------| | | | |M_ZOOM |M_PYNV|
|
||||
* `------------------------------------------/ / \ \------------------------------------------'
|
||||
* | | | | / / \ \ | |M_CODE| |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_wrapper( \
|
||||
_____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \
|
||||
_______, _______, _______, _________MEDIA_1_________, _______________NAV_1______________, _______, _______, \
|
||||
_______, _______, _______, _________MEDIA_2_________, _______________NAV_2______________, K_LOCK, _______, \
|
||||
M_SHFT, _______, _______, _________MEDIA_3_________, _______, _______, _______, _______, _______, _______, M_ZOOM, M_PYNV, \
|
||||
__________________________________, _______, _______, M_CODE, _______ \
|
||||
),
|
||||
|
||||
/* RAISE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | |K_CSCN| | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | MS_L | MS_D | MS_R | WH_D |-------. ,-------| | | | | | |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | | | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_wrapper( \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_CSCN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
|
||||
__________________________________, __________________________________ \
|
||||
),
|
||||
|
||||
/* ADJUST
|
||||
* ,------------------------------------------. ,-----------------------------------------.
|
||||
* |EEP_RST| | | | | | | | | |COLMAK|DVORAK|QWERTY|
|
||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | M_MAKE| | | | | | | | | | | | |
|
||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | M_VRSN| | | | | |-------. ,-------| | | | | | |
|
||||
* |-------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | M_FLSH| | | | | |-------| |-------| | | | | | |
|
||||
* `------------------------------------------/ / \ \-----------------------------------------'
|
||||
* | | | | / / \ \ | | | |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_wrapper( \
|
||||
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY, \
|
||||
M_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
M_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||
M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
|
||||
__________________________________, __________________________________ \
|
||||
),
|
||||
};
|
37
keyboards/lily58/keymaps/ninjonas/layer_state_reader.c
Normal file
37
keyboards/lily58/keymaps/ninjonas/layer_state_reader.c
Normal file
@@ -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;
|
||||
}
|
5
keyboards/lily58/keymaps/ninjonas/rules.mk
Normal file
5
keyboards/lily58/keymaps/ninjonas/rules.mk
Normal file
@@ -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 \
|
@@ -15,16 +15,15 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define DEVICE_VER 0x0001
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER KBDFans
|
||||
#define PRODUCT NIU Mini
|
||||
#define DESCRIPTION A compact ortholinear keyboard
|
||||
@@ -47,7 +46,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* number of backlight levels */
|
||||
#define BACKLIGHT_PIN B6
|
||||
#ifdef BACKLIGHT_PIN
|
||||
#define BACKLIGHT_LEVELS 4
|
||||
#define BACKLIGHT_LEVELS 4
|
||||
#endif
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
@@ -61,11 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define RGB_DI_PIN E2
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 14
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 14
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -85,5 +84,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
#endif
|
||||
|
@@ -1,18 +1,115 @@
|
||||
{
|
||||
"keyboard_name": "NIU Mini",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 12,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x12": {
|
||||
"key_count": 48,
|
||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
|
||||
},
|
||||
"keyboard_name": "NIU Mini",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 12,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x12": {
|
||||
"key_count": 48,
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_planck_mit": {
|
||||
"key_count": 47,
|
||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
|
||||
"LAYOUT_planck_mit": {
|
||||
"key_count": 47,
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3, "w":2},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -2,59 +2,59 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Layer 0
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | GUI | Caps | Alt |Layer1| Space |Layer2| / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[0] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, 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_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_CAPS, KC_LALT, MO(1), KC_SPC, MO(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
/* Layer 0
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | GUI | Caps | Alt |Layer1| Space |Layer2| / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[0] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, 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_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_CAPS, KC_LALT, MO(1), KC_SPC, MO(2), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Layer 1
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Vol- | Vol+ | Mute | | | | F11 | F12 | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Reset| | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[1] = LAYOUT_planck_mit(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* Layer 1
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Vol- | Vol+ | Mute | | | | F11 | F12 | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Reset| | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[1] = LAYOUT_planck_mit(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, KC_F11, KC_F12, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Layer 2 (r_ Indicates RGB Controls)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | |r_TOG |r_Mode|r_Hue+|r_Hue-| | | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |BL_TOG|BL_STEP| | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[2] = LAYOUT_planck_mit(
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
/* Layer 2 (r_ Indicates RGB Controls)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | |r_TOG |r_Mode|r_Hue+|r_Hue-| | | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |BL_TOG|BL_STEP| | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[2] = LAYOUT_planck_mit(
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
@@ -65,39 +65,39 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
||||
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
||||
if (IS_LED_ON(usb_led, USB_LED_COMPOSE)) {
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_KANA)) {
|
||||
if (IS_LED_ON(usb_led, USB_LED_KANA)) {
|
||||
|
||||
} else {
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -3,17 +3,17 @@
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
__attribute__ ((weak))
|
||||
const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
|
||||
{{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
|
||||
{{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
|
||||
{{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
|
||||
{{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
|
||||
{{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
|
||||
{{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
|
||||
{{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
|
||||
};
|
||||
#endif
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// Turn status LED on
|
||||
DDRE |= (1<<6);
|
||||
PORTE |= (1<<6);
|
||||
// Turn status LED on
|
||||
setPinOutput(E6);
|
||||
writePinHigh(E6);
|
||||
|
||||
matrix_init_user();
|
||||
matrix_init_user();
|
||||
}
|
||||
|
@@ -1,49 +1,46 @@
|
||||
#ifndef NIU_MINI_H
|
||||
#define NIU_MINI_H
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_planck_mit( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b } \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ortho_4x12( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
|
||||
}
|
||||
|
||||
// Used to create a keymap using only KC_ prefixed keys
|
||||
#define LAYOUT_kc( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
|
||||
) \
|
||||
LAYOUT_ortho_4x12( \
|
||||
KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \
|
||||
KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \
|
||||
KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \
|
||||
KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
|
||||
) \
|
||||
LAYOUT_ortho_4x12( \
|
||||
KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \
|
||||
KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \
|
||||
KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \
|
||||
KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b \
|
||||
)
|
||||
|
||||
#define LAYOUT LAYOUT_ortho_4x12
|
||||
#define LAYOUT_kc_ortho_4x12 LAYOUT_kc
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,4 @@
|
||||
NIU Mini
|
||||
===
|
||||
# NIU Mini
|
||||
|
||||

|
||||
|
||||
@@ -11,6 +10,10 @@ Hardware Availability: [KBDFans](https://kbdfans.myshopify.com/products/niu-mini
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make niu_mini:default:dfu
|
||||
make niu_mini:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)):
|
||||
|
||||
make niu_mini:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
@@ -1,42 +1,6 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Processor frequency.
|
||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||
# automatically to create a 32-bit value in your source code.
|
||||
#
|
||||
# This will be an integer division of F_USB below, as it is sourced by
|
||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
||||
# does not *change* the processor frequency - it should merely be updated to
|
||||
# reflect the processor speed set externally so that the code can use accurate
|
||||
# software delays.
|
||||
F_CPU = 16000000
|
||||
|
||||
#
|
||||
# LUFA specific
|
||||
#
|
||||
# Target architecture (see library "Board Types" documentation).
|
||||
ARCH = AVR8
|
||||
|
||||
# Input clock frequency.
|
||||
# This will define a symbol, F_USB, in all source code files equal to the
|
||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||
# at the end, this will be done automatically to create a 32-bit value in your
|
||||
# source code.
|
||||
#
|
||||
# If no clock division is performed on the input clock inside the AVR (via the
|
||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
||||
F_USB = $(F_CPU)
|
||||
|
||||
# Interrupt driven control endpoint task(+60)
|
||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||
|
||||
|
||||
# Boot Section Size in *bytes*
|
||||
# Teensy halfKay 512
|
||||
# Teensy++ halfKay 1024
|
||||
@@ -49,23 +13,22 @@ BOOTLOADER = atmel-dfu
|
||||
# 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 = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # 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
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # 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.
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
API_SYSEX_ENABLE = no
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
||||
|
@@ -1,90 +1,90 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
enum layers {
|
||||
_DEFAULT,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_FN
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define FN MO(_FN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Default
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | " | ; |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | GUI | FN | Lower| Space |Raise | / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DEFAULT] = LAYOUT_ortho_4x12(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_SCLN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT ,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, FN, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | _ | + | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | { | } | Vol+ | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | ? | | Vol- | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_QUES, _______, KC_VOLD, _______
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | | - | = | | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | [ | ] | Vol- | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | Vol+ | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______
|
||||
),
|
||||
|
||||
/* FN
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | | | F11 | F12 | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | TRNS | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT_ortho_4x12(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
enum layers {
|
||||
_DEFAULT,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_FN
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define FN MO(_FN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Default
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Tab | A | S | D | F | G | H | J | K | L | " | ; |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | GUI | FN | Lower| Space |Raise | / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DEFAULT] = LAYOUT_ortho_4x12(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_SCLN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT ,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, FN, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | _ | + | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | { | } | Vol+ | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | ? | | Vol- | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_4x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, _______, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_QUES, _______, KC_VOLD, _______
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | | - | = | | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | [ | ] | Vol- | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | Vol+ | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_4x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______
|
||||
),
|
||||
|
||||
/* FN
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | | | F11 | F12 | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | TRNS | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT_ortho_4x12(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
@@ -1,12 +1,12 @@
|
||||
# Pancake
|
||||
|
||||
Ortho 40% Ortho Keyboard with an option for the adafruit feather
|
||||
|
||||
Keyboard Maintainer: [Rionlion100](https://github.com/rionlion100)
|
||||
Hardware Availability: [GB](https://geekhack.org/index.php?topic=101371.0)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make pancake:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
# Pancake
|
||||
|
||||
Ortho 40% Ortho Keyboard with an option for the adafruit feather
|
||||
|
||||
Keyboard Maintainer: [Rionlion100](https://github.com/rionlion100)
|
||||
Hardware Availability: [GB](https://geekhack.org/index.php?topic=101371.0)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make pancake:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
142
keyboards/pinky/3/keymaps/ninjonas/README.md
Normal file
142
keyboards/pinky/3/keymaps/ninjonas/README.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# ninjonas Keymap for [Pinky3](https://github.com/tamanishi/Pinky3)
|
||||
|
||||
## Keymap
|
||||
This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../../users/ninjonas).
|
||||
|
||||
More information about the Pinky3 keyboard can be found [here](https://github.com/tamanishi/Pinky3)
|
||||
|
||||
### QWERTY
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| Tab| Q| W| E| R| T| Play| | Mute| Y| U| I| O| P| \|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Esc/Caps| A| S| D| F| G| [| | ]| H| J| K| L| ;| '|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| N| M| ,| .| /| =|
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER|
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### DVORAK
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| Tab| '| ,| .| P| Y| Play| | Mute| F| G| C| R| L| \|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Esc/Caps| A| O| E| U| I| [| | ]| D| H| T| N| S| /|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Shift| ;| Q| J| K| X| Spc/RAI| | Ent/LOW| B| M| W| V| Z| =|
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER|
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### COLEMAK
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| Tab| Q| W| F| P| G| Play| | Mute| J| L| U| Y| ;| \|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Esc/Caps| A| R| S| T| D| [| | ]| H| N| E| I| O| '|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| K| M| ,| .| /| =|
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER|
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### LOWER
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| | | | BriUp| Play| Mute| K_CSCN| | | PgUp| Home| Up| End| | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | BriDn| Next| VolUp| | | | PgDn| Left| Down| Right| K_LOCK| |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| M_SHFT| | | | Prev| VolDn| | | | | | | | M_ZOOM| M_PYNV|
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | M_CODE| |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### RAISE
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| | | MS_1| MS_U| MS_2| WH_U| | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | MS_L| MS_D| MS_R| WH_D| | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### ADJUST
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| M_MAKE| EEP_RST| | | | | | | | | | | COLEMAK| DVORAK| QWERTY|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| M_VRSN| | | | | | | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| M_FLSH| | | | | | | | | | | | | | |
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### NUMBERS
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| `| 1| 2| 3| 4| 5| | | | 6| 7| 8| 9| 0| -|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| ~| !| @| #| $| %| | | | ^| &| *| (| )| _|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
|
||||
### FUNCTIONS
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| F11| F2| F3| F4| F4| F5| | | | F6| F7| F8| F9| F10| F12|
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
<!--
|
||||
### TEMPLATE
|
||||
```c
|
||||
/*
|
||||
,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
| | | | | | | | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
| | | | | | | | | | | | | | | |
|
||||
`---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------------------' `---------------------------------------'
|
||||
*/
|
||||
```
|
||||
-->
|
31
keyboards/pinky/3/keymaps/ninjonas/config.h
Normal file
31
keyboards/pinky/3/keymaps/ninjonas/config.h
Normal file
@@ -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
|
135
keyboards/pinky/3/keymaps/ninjonas/keymap.c
Normal file
135
keyboards/pinky/3/keymaps/ninjonas/keymap.c
Normal file
@@ -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( \
|
||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||
_______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
//`---------------------------------------' `---------------------------------------'
|
||||
)
|
||||
*/
|
||||
};
|
@@ -289,7 +289,7 @@ void encoder_update(bool clockwise) {
|
||||
}
|
||||
}
|
||||
|
||||
void dip_update(uint8_t index, bool active) {
|
||||
void dip_switch_update_user(uint8_t index, bool active) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
if (active) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2015-2017 Jack Humbert
|
||||
/* Copyright 2015-2017 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
|
||||
|
@@ -42,14 +42,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Ctrl | Alt | GUI | |Lower | Enter|Space |Raise | / | Left | Down |Right |
|
||||
* | Ctrl | Alt | GUI | / |Lower | Space|Space |Raise | / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_4x12(
|
||||
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_GESC, 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_UP, KC_BSLS,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, _______, LOWER, KC_ENT, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_BSLS, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
@@ -58,16 +58,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Brite| Ctrl | Alt | |Lower | Enter|Space |Raise | Left | Down | Up |Right |
|
||||
* | Brite| Ctrl | Alt | / |Lower | Space|Space |Raise | / | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_ortho_4x12(
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
|
||||
KC_GESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_BSLS,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, _______, LOWER, KC_ENT, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_BSLS, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
|
@@ -37,15 +37,20 @@
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
/* Note: These are not used for arm boards. They're here purely as documentation.
|
||||
* #define MATRIX_ROW_PINS { PB0, PB1, PB2, PA15, PA10 }
|
||||
* #define MATRIX_COL_PINS { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 }
|
||||
* #define UNUSED_PINS
|
||||
*/
|
||||
/* Note: These are not used for arm boards. They're here purely as documentation. */
|
||||
#undef MATRIX_ROW_PINS
|
||||
#undef MATRIX_COL_PINS
|
||||
|
||||
#define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2 }
|
||||
#define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
|
||||
|
||||
#define UNUSED_PINS
|
||||
|
||||
#define ENCODERS_PAD_A { B12 }
|
||||
#define ENCODERS_PAD_B { B13 }
|
||||
|
||||
#define DIP_SWITCH_PINS { B14, A15, A0, B9 }
|
||||
|
||||
#define MUSIC_MAP
|
||||
#undef AUDIO_VOICES
|
||||
#undef C6_AUDIO
|
||||
|
@@ -1,176 +0,0 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include "hal.h"
|
||||
#include "timer.h"
|
||||
#include "wait.h"
|
||||
#include "printf.h"
|
||||
#include "backlight.h"
|
||||
#include "matrix.h"
|
||||
#include "action.h"
|
||||
#include "keycode.h"
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* col: { B11, B10, B2, B1, A7, B0 }
|
||||
* row: { A10, A9, A8, B15, C13, C14, C15, A2 }
|
||||
*/
|
||||
/* matrix state(1:on, 0:off) */
|
||||
static matrix_row_t matrix[MATRIX_ROWS];
|
||||
static matrix_row_t matrix_debouncing[MATRIX_COLS];
|
||||
static bool debouncing = false;
|
||||
static uint16_t debouncing_time = 0;
|
||||
|
||||
static bool dip_switch[4] = {0, 0, 0, 0};
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_user(void) {}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_scan_user(void) {}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_kb(void) {
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_scan_kb(void) {
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void matrix_init(void) {
|
||||
printf("matrix init\n");
|
||||
//debug_matrix = true;
|
||||
|
||||
// dip switch setup
|
||||
palSetPadMode(GPIOB, 14, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOA, 15, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOB, 9, PAL_MODE_INPUT_PULLUP);
|
||||
|
||||
// actual matrix setup
|
||||
palSetPadMode(GPIOB, 11, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 10, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 2, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 1, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOA, 7, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 0, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
|
||||
palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 9, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 8, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOB, 15, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 13, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 14, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 15, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 2, PAL_MODE_INPUT_PULLDOWN);
|
||||
|
||||
|
||||
memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
|
||||
memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t));
|
||||
|
||||
|
||||
matrix_init_quantum();
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void dip_update(uint8_t index, bool active) { }
|
||||
|
||||
bool last_dip_switch[4] = {0};
|
||||
|
||||
uint8_t matrix_scan(void) {
|
||||
// dip switch
|
||||
dip_switch[0] = !palReadPad(GPIOB, 14);
|
||||
dip_switch[1] = !palReadPad(GPIOA, 15);
|
||||
dip_switch[2] = !palReadPad(GPIOA, 10);
|
||||
dip_switch[3] = !palReadPad(GPIOB, 9);
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
if (last_dip_switch[i] ^ dip_switch[i])
|
||||
dip_update(i, dip_switch[i]);
|
||||
}
|
||||
memcpy(last_dip_switch, dip_switch, sizeof(&dip_switch));
|
||||
|
||||
// actual matrix
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
matrix_row_t data = 0;
|
||||
|
||||
// strobe col { B11, B10, B2, B1, A7, B0 }
|
||||
switch (col) {
|
||||
case 0: palSetPad(GPIOB, 11); break;
|
||||
case 1: palSetPad(GPIOB, 10); break;
|
||||
case 2: palSetPad(GPIOB, 2); break;
|
||||
case 3: palSetPad(GPIOB, 1); break;
|
||||
case 4: palSetPad(GPIOA, 7); break;
|
||||
case 5: palSetPad(GPIOB, 0); break;
|
||||
}
|
||||
|
||||
// need wait to settle pin state
|
||||
wait_us(20);
|
||||
|
||||
// read row data { A10, A9, A8, B15, C13, C14, C15, A2 }
|
||||
data = (
|
||||
(palReadPad(GPIOA, 10) << 0 ) |
|
||||
(palReadPad(GPIOA, 9) << 1 ) |
|
||||
(palReadPad(GPIOA, 8) << 2 ) |
|
||||
(palReadPad(GPIOB, 15) << 3 ) |
|
||||
(palReadPad(GPIOC, 13) << 4 ) |
|
||||
(palReadPad(GPIOC, 14) << 5 ) |
|
||||
(palReadPad(GPIOC, 15) << 6 ) |
|
||||
(palReadPad(GPIOA, 2) << 7 )
|
||||
);
|
||||
|
||||
// unstrobe col { B11, B10, B2, B1, A7, B0 }
|
||||
switch (col) {
|
||||
case 0: palClearPad(GPIOB, 11); break;
|
||||
case 1: palClearPad(GPIOB, 10); break;
|
||||
case 2: palClearPad(GPIOB, 2); break;
|
||||
case 3: palClearPad(GPIOB, 1); break;
|
||||
case 4: palClearPad(GPIOA, 7); break;
|
||||
case 5: palClearPad(GPIOB, 0); break;
|
||||
}
|
||||
|
||||
if (matrix_debouncing[col] != data) {
|
||||
matrix_debouncing[col] = data;
|
||||
debouncing = true;
|
||||
debouncing_time = timer_read();
|
||||
}
|
||||
}
|
||||
|
||||
if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) {
|
||||
for (int row = 0; row < MATRIX_ROWS; row++) {
|
||||
matrix[row] = 0;
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
matrix[row] |= ((matrix_debouncing[col] & (1 << row) ? 1 : 0) << col);
|
||||
}
|
||||
}
|
||||
debouncing = false;
|
||||
}
|
||||
|
||||
matrix_scan_quantum();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool matrix_is_on(uint8_t row, uint8_t col) {
|
||||
return (matrix[row] & (1<<col));
|
||||
}
|
||||
|
||||
matrix_row_t matrix_get_row(uint8_t row) {
|
||||
return matrix[row];
|
||||
}
|
||||
|
||||
void matrix_print(void) {
|
||||
printf("\nr/c 01234567\n");
|
||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
||||
printf("%X0: ", row);
|
||||
matrix_row_t data = matrix_get_row(row);
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
if (data & (1<<col))
|
||||
printf("1");
|
||||
else
|
||||
printf("0");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
@@ -22,3 +22,13 @@ void matrix_init_kb(void) {
|
||||
void matrix_scan_kb(void) {
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
__attribute__((weak))
|
||||
void dip_update(uint8_t index, bool active) {}
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_user(uint8_t index, bool active) {
|
||||
dip_update(index, active);
|
||||
}
|
||||
#endif
|
||||
|
@@ -1,5 +1,4 @@
|
||||
# project specific files
|
||||
SRC = matrix.c
|
||||
LAYOUTS += ortho_4x12
|
||||
|
||||
# Cortex version
|
||||
@@ -31,9 +30,9 @@ API_SYSEX_ENABLE = no
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
||||
|
||||
CUSTOM_MATRIX = yes # Custom matrix file
|
||||
# SERIAL_LINK_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
|
||||
LAYOUTS = ortho_4x12 planck_mit
|
||||
LAYOUTS_HAS_RGB = no
|
||||
|
@@ -259,7 +259,7 @@ void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
}
|
||||
}
|
||||
|
||||
void dip_update(uint8_t index, bool active) {
|
||||
void dip_switch_update_user(uint8_t index, bool active) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
if (active) {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#pragma once
|
||||
#pragma once
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PREONIC_SOUND)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2015-2017 Jack Humbert
|
||||
/* Copyright 2015-2017 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
|
||||
|
@@ -27,25 +27,17 @@
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 6
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
/* Note: These are not used for arm boards. They're here purely as documentation.
|
||||
* #define MATRIX_ROW_PINS { PB0, PB1, PB2, PA15, PA10 }
|
||||
* #define MATRIX_COL_PINS { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 }
|
||||
* #define UNUSED_PINS
|
||||
*/
|
||||
#undef MATRIX_ROW_PINS
|
||||
#undef MATRIX_COL_PINS
|
||||
#define MATRIX_ROW_PINS { A10, A9, A8, B15, C13, C14, C15, A2, A3, A6 }
|
||||
#define MATRIX_COL_PINS { B11, B10, B2, B1, A7, B0 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
#define ENCODERS_PAD_A { B12 }
|
||||
#define ENCODERS_PAD_B { B13 }
|
||||
|
||||
#define DIP_SWITCH_PINS { B14, A15, A0, B9 }
|
||||
|
||||
#define MUSIC_MAP
|
||||
#undef AUDIO_VOICES
|
||||
#undef C6_AUDIO
|
||||
|
@@ -1,187 +0,0 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include "hal.h"
|
||||
#include "timer.h"
|
||||
#include "wait.h"
|
||||
#include "printf.h"
|
||||
#include "backlight.h"
|
||||
#include "matrix.h"
|
||||
#include "action.h"
|
||||
#include "keycode.h"
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* col: { B11, B10, B2, B1, A7, B0 }
|
||||
* row: { A10, A9, A8, B15, C13, C14, C15, A2 }
|
||||
*/
|
||||
/* matrix state(1:on, 0:off) */
|
||||
static matrix_row_t matrix[MATRIX_ROWS];
|
||||
static matrix_col_t matrix_debouncing[MATRIX_COLS];
|
||||
static bool debouncing = false;
|
||||
static uint16_t debouncing_time = 0;
|
||||
|
||||
static bool dip_switch[4] = {0, 0, 0, 0};
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_user(void) {}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_scan_user(void) {}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_kb(void) {
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_scan_kb(void) {
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void matrix_init(void) {
|
||||
printf("matrix init\n");
|
||||
//debug_matrix = true;
|
||||
|
||||
// dip switch setup
|
||||
palSetPadMode(GPIOB, 14, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOA, 15, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLUP);
|
||||
palSetPadMode(GPIOB, 9, PAL_MODE_INPUT_PULLUP);
|
||||
|
||||
// actual matrix setup
|
||||
palSetPadMode(GPIOB, 11, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 10, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 2, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 1, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOA, 7, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 0, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
|
||||
palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 9, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 8, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOB, 15, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 13, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 14, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOC, 15, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 2, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 3, PAL_MODE_INPUT_PULLDOWN);
|
||||
palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLDOWN);
|
||||
|
||||
|
||||
memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
|
||||
memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_col_t));
|
||||
|
||||
|
||||
matrix_init_quantum();
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void dip_update(uint8_t index, bool active) { }
|
||||
|
||||
__attribute__ ((weak))
|
||||
void encoder_update(bool clockwise) { }
|
||||
|
||||
bool last_dip_switch[4] = {0};
|
||||
|
||||
#ifndef ENCODER_RESOLUTION
|
||||
#define ENCODER_RESOLUTION 4
|
||||
#endif
|
||||
|
||||
uint8_t matrix_scan(void) {
|
||||
// dip switch
|
||||
dip_switch[0] = !palReadPad(GPIOB, 14);
|
||||
dip_switch[1] = !palReadPad(GPIOA, 15);
|
||||
dip_switch[2] = !palReadPad(GPIOA, 10);
|
||||
dip_switch[3] = !palReadPad(GPIOB, 9);
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
if (last_dip_switch[i] ^ dip_switch[i])
|
||||
dip_update(i, dip_switch[i]);
|
||||
}
|
||||
memcpy(last_dip_switch, dip_switch, sizeof(&dip_switch));
|
||||
|
||||
// actual matrix
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
matrix_col_t data = 0;
|
||||
|
||||
// strobe col { B11, B10, B2, B1, A7, B0 }
|
||||
switch (col) {
|
||||
case 0: palSetPad(GPIOB, 11); break;
|
||||
case 1: palSetPad(GPIOB, 10); break;
|
||||
case 2: palSetPad(GPIOB, 2); break;
|
||||
case 3: palSetPad(GPIOB, 1); break;
|
||||
case 4: palSetPad(GPIOA, 7); break;
|
||||
case 5: palSetPad(GPIOB, 0); break;
|
||||
}
|
||||
|
||||
// need wait to settle pin state
|
||||
wait_us(20);
|
||||
|
||||
// read row data { A10, A9, A8, B15, C13, C14, C15, A2 }
|
||||
data = (
|
||||
(palReadPad(GPIOA, 10) << 0 ) |
|
||||
(palReadPad(GPIOA, 9) << 1 ) |
|
||||
(palReadPad(GPIOA, 8) << 2 ) |
|
||||
(palReadPad(GPIOB, 15) << 3 ) |
|
||||
(palReadPad(GPIOC, 13) << 4 ) |
|
||||
(palReadPad(GPIOC, 14) << 5 ) |
|
||||
(palReadPad(GPIOC, 15) << 6 ) |
|
||||
(palReadPad(GPIOA, 2) << 7 ) |
|
||||
(palReadPad(GPIOA, 3) << 8 ) |
|
||||
(palReadPad(GPIOA, 6) << 9 )
|
||||
);
|
||||
|
||||
// unstrobe col { B11, B10, B2, B1, A7, B0 }
|
||||
switch (col) {
|
||||
case 0: palClearPad(GPIOB, 11); break;
|
||||
case 1: palClearPad(GPIOB, 10); break;
|
||||
case 2: palClearPad(GPIOB, 2); break;
|
||||
case 3: palClearPad(GPIOB, 1); break;
|
||||
case 4: palClearPad(GPIOA, 7); break;
|
||||
case 5: palClearPad(GPIOB, 0); break;
|
||||
}
|
||||
|
||||
if (matrix_debouncing[col] != data) {
|
||||
matrix_debouncing[col] = data;
|
||||
debouncing = true;
|
||||
debouncing_time = timer_read();
|
||||
}
|
||||
}
|
||||
|
||||
if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) {
|
||||
for (int row = 0; row < MATRIX_ROWS; row++) {
|
||||
matrix[row] = 0;
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
matrix[row] |= ((matrix_debouncing[col] & (1 << row) ? 1 : 0) << col);
|
||||
}
|
||||
}
|
||||
debouncing = false;
|
||||
}
|
||||
|
||||
matrix_scan_quantum();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
bool matrix_is_on(uint8_t row, uint8_t col) {
|
||||
return (matrix[row] & (1<<col));
|
||||
}
|
||||
|
||||
matrix_row_t matrix_get_row(uint8_t row) {
|
||||
return matrix[row];
|
||||
}
|
||||
|
||||
void matrix_print(void) {
|
||||
printf("\nr/c 01234567\n");
|
||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
||||
printf("%X0: ", row);
|
||||
matrix_row_t data = matrix_get_row(row);
|
||||
for (int col = 0; col < MATRIX_COLS; col++) {
|
||||
if (data & (1<<col))
|
||||
printf("1");
|
||||
else
|
||||
printf("0");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
@@ -22,3 +22,13 @@ void matrix_init_kb(void) {
|
||||
void matrix_scan_kb(void) {
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
__attribute__((weak))
|
||||
void dip_update(uint8_t index, bool active) {}
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_user(uint8_t index, bool active) {
|
||||
dip_update(index, active);
|
||||
}
|
||||
#endif
|
||||
|
@@ -1,11 +1,8 @@
|
||||
# project specific files
|
||||
SRC = matrix.c
|
||||
|
||||
# Cortex version
|
||||
MCU = STM32F303
|
||||
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# 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 = yes # Virtual DIP switch configuration(+1000)
|
||||
@@ -27,8 +24,8 @@ API_SYSEX_ENABLE = no
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
#SLEEP_LED_ENABLE = yes
|
||||
|
||||
CUSTOM_MATRIX = yes # Custom matrix file
|
||||
# SERIAL_LINK_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
|
||||
LAYOUTS = ortho_5x12
|
||||
|
@@ -71,7 +71,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define EEPROM_CUSTOM_BACKLIGHT 804
|
||||
|
||||
|
||||
#undef EEPROM_MAGIC_ADDR
|
||||
#define EEPROM_MAGIC_ADDR 34
|
||||
#undef EEPROM_VERSION_ADDR
|
||||
#define EEPROM_VERSION_ADDR 36
|
||||
#undef RGB_BACKLIGHT_CONFIG_EEPROM_ADDR
|
||||
#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 37
|
||||
#undef DYNAMIC_KEYMAP_EEPROM_ADDR
|
||||
#define DYNAMIC_KEYMAP_EEPROM_ADDR 68
|
||||
#undef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR
|
||||
#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 66
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
|
@@ -25,19 +25,19 @@ enum layer_names {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_default(
|
||||
KC_ESC, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_PGDN, KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RALT,
|
||||
KC_LCTL, KC_LALT, KC_ENT, KC_LCMD, KC_SPC, FNM, KC_RCTL
|
||||
KC_ESC, KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_PGDN, KC_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FNM,
|
||||
KC_LCTL, KC_LCMD, KC_ENT, FNM, KC_SPC, KC_RCMD, KC_RCTL
|
||||
),
|
||||
|
||||
[_FNM] = LAYOUT_default(
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, RESET,
|
||||
VLK_TOG, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______,
|
||||
_______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
RGB_MOD, _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, RESET,
|
||||
VLK_TOG, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, EEP_RST,
|
||||
_______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
|
@@ -40,7 +40,7 @@ VPATH += keyboards/cannonkeys/stm32f072
|
||||
SRC = keyboard.c \
|
||||
led.c
|
||||
|
||||
#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 8 Custom
|
||||
### 8 Custom
|
||||
The custom keymap - [keymap.c](keymap.c) - is where I tested all the switches, not being concerned with a specific layout or layers. It's a plain layout option with the extra keys used on ISO & HHKB layouts being assigned some other keys.
|
||||
|
||||
#### 8.0 Default layer
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 1 Standard - ANSI
|
||||
### 1 Standard - ANSI
|
||||
The standard keymap is the one that is pre-flashed on the S60-X.
|
||||
|
||||
#### 1.0 Default layer
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 5. Hasu
|
||||
### 5. Hasu
|
||||
This is Hasu's favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap.c](keymap.c) for detail.
|
||||
|
||||
(Hasu is the initial creator of the TMK firmware, in case you weren't aware.)
|
@@ -1,4 +1,4 @@
|
||||
### 7. HHKB
|
||||
### 7. HHKB
|
||||
[keymap.c](keymap.c) emulates original HHKB layers.
|
||||
#### 7.0: Default layer
|
||||
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 2 Standard - ISO
|
||||
### 2 Standard - ISO
|
||||
The same as the standard keymap, but with additional ISO keys.
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 4. Plain
|
||||
### 4. Plain
|
||||
Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host.
|
||||
See [keymap.c](keymap.c) for detail.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 3 Poker
|
||||
### 3 Poker
|
||||
[keymap_poker](../poker/readme.md) emulates original Poker layers
|
||||
while both [keymap_poker_bit](../poker_bit/readme.md) and [keymap_poker_set](../poker_set/readme.md) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 3 Poker
|
||||
### 3 Poker
|
||||
[keymap_poker](../poker/readme.md) emulates original Poker layers
|
||||
while both [keymap_poker_bit](../poker_bit/readme.md) and [keymap_poker_set](../poker_set/readme.md) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 3 Poker
|
||||
### 3 Poker
|
||||
[keymap_poker](../poker/readme.md) emulates original Poker layers
|
||||
while both [keymap_poker_bit](../poker_bit/readme.md) and [keymap_poker_set](../poker_set/readme.md) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys.
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
### 6. SpaceFN
|
||||
### 6. SpaceFN
|
||||
This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [keymap.c](keymap.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0).
|
||||
|
||||
#### 6.0 Default layer
|
||||
|
39
keyboards/tada68/keymaps/jarred/keymap.c
Normal file
39
keyboards/tada68/keymaps/jarred/keymap.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Copyright 2019 Jarred Steenvoorden
|
||||
*
|
||||
* 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
|
||||
|
||||
#define _QW 0
|
||||
#define _NV 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QW] = LAYOUT_ansi(
|
||||
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_GRV ,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
|
||||
MO(_NV), KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP,
|
||||
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(_NV), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_NV] = LAYOUT_ansi(
|
||||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_DEL , KC_INS ,
|
||||
_______, _______, _______, _______, KC_DEL , KC_BSPC, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______, _______, _______, KC_HOME,
|
||||
_______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_DEL , _______, KC_END ,
|
||||
_______ , _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, BL_INC , _______,
|
||||
_______, _______, _______, _______ , _______, _______, _______, BL_TOGG, BL_DEC , _______
|
||||
),
|
||||
|
||||
};
|
9
keyboards/tada68/keymaps/jarred/readme.md
Normal file
9
keyboards/tada68/keymaps/jarred/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Jarred's Tada68 Layout
|
||||
|
||||
Check out [user space readme](../../../../users/jarred/readme.md) for more info
|
||||
|
||||
# Flash
|
||||
|
||||
```
|
||||
make tada68:jarred:flashbin
|
||||
```
|
2
keyboards/tada68/keymaps/jarred/rules.mk
Normal file
2
keyboards/tada68/keymaps/jarred/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
@@ -54,14 +54,14 @@ 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 RGBLIGHT_ANIMATIONS
|
||||
// #define RGBLED_NUM 16
|
||||
// #define RGBLIGHT_HUE_STEP 8
|
||||
// #define RGBLIGHT_SAT_STEP 8
|
||||
// #define RGBLIGHT_VAL_STEP 8
|
||||
// #endif
|
||||
#define RGB_DI_PIN B7
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 14
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
19
keyboards/xd87/keymaps/default_underglow/config.h
Executable file
19
keyboards/xd87/keymaps/default_underglow/config.h
Executable file
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2019 Louwii
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
74
keyboards/xd87/keymaps/default_underglow/keymap.c
Executable file
74
keyboards/xd87/keymaps/default_underglow/keymap.c
Executable file
@@ -0,0 +1,74 @@
|
||||
/* Copyright 2019 Louwii
|
||||
*
|
||||
* 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
|
||||
|
||||
// Defines the keycodes used by our macros in process_record_user
|
||||
enum custom_keycodes {
|
||||
QMKBEST = SAFE_RANGE,
|
||||
QMKURL
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_tkl_ansi(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
|
||||
[1] = LAYOUT_tkl_ansi(
|
||||
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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, 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, RGB_VAD, RGB_RMOD,RGB_HUD, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
|
||||
};
|
||||
|
||||
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) {
|
||||
|
||||
}
|
13
keyboards/xd87/keymaps/default_underglow/readme.md
Executable file
13
keyboards/xd87/keymaps/default_underglow/readme.md
Executable file
@@ -0,0 +1,13 @@
|
||||
# The default RGB underglow layout for xd87
|
||||
|
||||
The RGB Underglow feature is disabled by default. This specific keymap enables RGB Underglow but disables the Command feature in order to save space.
|
||||
|
||||
## Keymap
|
||||
|
||||
### Layer 0
|
||||
|
||||

|
||||
|
||||
### Layer 1
|
||||
|
||||

|
3
keyboards/xd87/keymaps/default_underglow/rules.mk
Executable file
3
keyboards/xd87/keymaps/default_underglow/rules.mk
Executable file
@@ -0,0 +1,3 @@
|
||||
BOOTMAGIC_ENABLE = lite
|
||||
COMMAND_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
@@ -77,7 +77,7 @@ 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 (+400)
|
||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
||||
|
||||
# Supported layouts
|
||||
LAYOUTS = tkl_ansi tkl_iso
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# The Default Zinc Layout
|
||||
# The Default Zinc Layout
|
||||
## 配列
|
||||
|
||||
### Qwerty配列
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# The Default Zinc Layout
|
||||
# The Default Zinc Layout
|
||||
## 配列
|
||||
|
||||
### Qwerty配列
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# monksoffunk's personal zinc Layout
|
||||
# monksoffunk's personal zinc Layout
|
||||
## 配列
|
||||
|
||||
### Qwerty配列
|
||||
|
71
quantum/dip_switch.c
Normal file
71
quantum/dip_switch.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
|
||||
* Copyright 2019 Drashna Jaelre (Christopher Courtney) <drashna@live.com>
|
||||
*
|
||||
* 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 "dip_switch.h"
|
||||
|
||||
// for memcpy
|
||||
#include <string.h>
|
||||
|
||||
|
||||
#if !defined(DIP_SWITCH_PINS)
|
||||
# error "No DIP switch pads defined by DIP_SWITCH_PINS"
|
||||
#endif
|
||||
|
||||
#define NUMBER_OF_DIP_SWITCHES (sizeof(dip_switch_pad)/sizeof(pin_t))
|
||||
static pin_t dip_switch_pad[] = DIP_SWITCH_PINS;
|
||||
static bool dip_switch_state[NUMBER_OF_DIP_SWITCHES] = { 0 };
|
||||
static bool last_dip_switch_state[NUMBER_OF_DIP_SWITCHES] = { 0 };
|
||||
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_user(uint8_t index, bool active) {}
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_kb(uint8_t index, bool active) { dip_switch_update_user(index, active); }
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_mask_user(uint32_t state) {}
|
||||
|
||||
__attribute__((weak))
|
||||
void dip_switch_update_mask_kb(uint32_t state) { dip_switch_update_mask_user(state); }
|
||||
|
||||
void dip_switch_init(void) {
|
||||
for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) {
|
||||
setPinInputHigh(dip_switch_pad[i]);
|
||||
}
|
||||
dip_switch_read(true);
|
||||
}
|
||||
|
||||
|
||||
void dip_switch_read(bool forced) {
|
||||
bool has_dip_state_changed = false;
|
||||
uint32_t dip_switch_mask = 0;
|
||||
|
||||
for (uint8_t i = 0; i < NUMBER_OF_DIP_SWITCHES; i++) {
|
||||
dip_switch_state[i] = !readPin(dip_switch_pad[i]);
|
||||
dip_switch_mask |= dip_switch_state[i] << i;
|
||||
if (last_dip_switch_state[i] ^ dip_switch_state[i] || forced) {
|
||||
has_dip_state_changed = true;
|
||||
dip_switch_update_kb(i, dip_switch_state[i]);
|
||||
}
|
||||
}
|
||||
if (has_dip_state_changed) {
|
||||
dip_switch_update_mask_kb(dip_switch_mask);
|
||||
}
|
||||
memcpy(last_dip_switch_state, dip_switch_state, sizeof(&dip_switch_state));
|
||||
}
|
29
quantum/dip_switch.h
Normal file
29
quantum/dip_switch.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
|
||||
* Copyright 2018 Drashna Jaelre (Christopher Courtney) <drashna@live.com>
|
||||
*
|
||||
* 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"
|
||||
|
||||
void dip_switch_update_kb(uint8_t index, bool active);
|
||||
void dip_switch_update_user(uint8_t index, bool active);
|
||||
void dip_switch_update_mask_user(uint32_t state);
|
||||
void dip_switch_update_mask_kb(uint32_t state);
|
||||
|
||||
void dip_switch_init(void);
|
||||
void dip_switch_read(bool forced);
|
@@ -967,6 +967,10 @@ void matrix_init_quantum() {
|
||||
#ifdef OUTPUT_AUTO_ENABLE
|
||||
set_output(OUTPUT_AUTO);
|
||||
#endif
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
dip_switch_init();
|
||||
#endif
|
||||
|
||||
matrix_init_kb();
|
||||
}
|
||||
|
||||
@@ -1003,6 +1007,10 @@ void matrix_scan_quantum() {
|
||||
haptic_task();
|
||||
#endif
|
||||
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
dip_switch_read(false);
|
||||
#endif
|
||||
|
||||
matrix_scan_kb();
|
||||
}
|
||||
#if defined(BACKLIGHT_ENABLE) && (defined(BACKLIGHT_PIN) || defined(BACKLIGHT_PINS))
|
||||
|
@@ -145,6 +145,11 @@ extern layer_state_t layer_state;
|
||||
# include "oled_driver.h"
|
||||
#endif
|
||||
|
||||
#ifdef DIP_SWITCH_ENABLE
|
||||
#include "dip_switch.h"
|
||||
#endif
|
||||
|
||||
|
||||
// Function substitutions to ease GPIO manipulation
|
||||
#if defined(__AVR__)
|
||||
typedef uint8_t pin_t;
|
||||
|
@@ -31,7 +31,8 @@ HARDWARE_OPTION_NAMES = \
|
||||
LED_BREATHING_TABLE \
|
||||
LED_TABLES \
|
||||
POINTING_DEVICE_ENABLE \
|
||||
VISUALIZER_ENABLE
|
||||
VISUALIZER_ENABLE \
|
||||
DIP_SWITCH_ENABLE
|
||||
|
||||
OTHER_OPTION_NAMES = \
|
||||
UNICODE_ENABLE \
|
||||
|
@@ -4,6 +4,7 @@ Keymaps:
|
||||
|
||||
- [Ortho 4x12](../../layouts/community/ortho_4x12/jarred/readme.md)
|
||||
|
||||
- [Planck](../../keyboards/planck/keymaps/jarred/readme.md)
|
||||
- [CRKBD](../../keyboards/crkbd/keymaps/jarred/readme.md)
|
||||
- [Atreus 62](../../keyboards/ergotravel/keymaps/jarred/readme.md)
|
||||
- [ErgoTravel](../../keyboards/ergotravel/keymaps/jarred/readme.md)
|
||||
@@ -12,3 +13,5 @@ Keymaps:
|
||||
- [satan](../../keyboards/satan/keymaps/jarred/readme.md)
|
||||
- [dz60](../../keyboards/dz60/keymaps/jarred/readme.md)
|
||||
- [org60](../../keyboards/org60/keymaps/jarred/readme.md)
|
||||
- [Leaf60](../../keyboards/foxlab/leaf60/universal/keymaps/jarred/readme.md)
|
||||
- [Tada68](../../keyboards/tada68/keymaps/jarred/readme.md)
|
||||
|
1
users/ninjonas/.gitignore
vendored
Normal file
1
users/ninjonas/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
secrets.c
|
85
users/ninjonas/README.md
Normal file
85
users/ninjonas/README.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# QMK User Configuration for [ninjonas](https://github.com/ninjonas/qmk-yonas)
|
||||
Tired of copying and pasting the same macros and tap dances for all my keymaps. Utilizing user keymaps functionality.
|
||||
See: https://docs.qmk.fm/#/feature_userspace
|
||||
|
||||
## [ninjonas.c](ninjonas.c)
|
||||
- ninjonas [QMK user configuration](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_userspace.md)
|
||||
- On `keymap.c` include `ninjonas.h`
|
||||
```c
|
||||
#include "ninjonas.h"
|
||||
```
|
||||
|
||||
## Features
|
||||
### [Keys](ninjonas.h#L44)
|
||||
|Code | Description |
|
||||
|---|---|
|
||||
|K_LOCK | MacOS shortcut to execute lock command + ctrl + Q |
|
||||
|K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard |
|
||||
|
||||
### [Layers](ninjonas.h#L48)
|
||||
|Code | Description |
|
||||
|---|---|
|
||||
|LT_LOW | Tap for ENTER, hold for RAISE |
|
||||
|LT_FUNC | Tap for ENTER, hold for FUNCTIONS |
|
||||
|LT_RAI | Tap for SPACE, hold for LOWER |
|
||||
|LT_NUM | Tap for SPACE, hold for NUMBERS |
|
||||
|LT_LOW + LT_RAI | Hold for ADJUST |
|
||||
|L_LOWER | Dedicated key to momentarily toggle to use LOWER layer |
|
||||
|
||||
### [Layout Blocks](ninjonas.h#L57)
|
||||
Predefined keyboard layout templates to speed up configuring split keyboards
|
||||
|
||||
|Code | Description |
|
||||
|---|---|
|
||||
|QWERTY | Qwerty Layout |
|
||||
|DVORAK | Dvorak Layout |
|
||||
|COLEMAK | Colemak Layout |
|
||||
|NUM | Number Rows |
|
||||
|FUNC | Function Rows |
|
||||
|SYM | Symbol Rows \(When holding shift on numbers\) |
|
||||
|NAV | Navigation Cluster |
|
||||
|MOUSE | Mouse Cluster |
|
||||
|MEDIA | Media Cluster |
|
||||
|MOD | Modifier Cluster |
|
||||
|
||||
### [Macros](process_records.c)
|
||||
|Code | Description |
|
||||
|---|---|
|
||||
|M_PYNV | macro to activate pyenv with the name `jira` |
|
||||
|M_MAKE | macro to send QMK make command to compile keyboard |
|
||||
|M_FLSH | macro to send QMK make command to compile keyboard with the correct bootloader |
|
||||
|M_VRSN | macro to send QMK version |
|
||||
|M_SHFT | Sends + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) |
|
||||
|M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory |
|
||||
|
||||
### [Tap-Dance](tap_dances.h)
|
||||
|Code | Description |
|
||||
|---|---|
|
||||
|T_ESC | Tap once for ESC, double tap for CAPS_LOCK |
|
||||
|T_LBRC | Tap once for [, double for back browser |
|
||||
|T_RBRC | Tap once for ], double for forward browser |
|
||||
|T_TAB | Tap once for TAB, double for CTRL + TAB |
|
||||
|T_GRV | Tap once for GRV, double for + GRV |
|
||||
|T_GUI | Tap once for , double to open spotlight |
|
||||
|T_W | Tap for W, double tap for + W |
|
||||
|T_Q | Tap for Q, double tap for + Q |
|
||||
|
||||
### Secrets
|
||||
There's times where you have macros you don't want to share like emails, passwords 😱, & and private strings. Based off [drashna's secret macros](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), it's now possible to do this. All you need to do is create a `secrets.c` file. Below is an example of how this is used.
|
||||
|
||||
```c
|
||||
// secrets.c
|
||||
#include "ninjonas.h"
|
||||
|
||||
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
// Sends zoom URL
|
||||
case M_ZOOM:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("SECRET_STRING_HERE" SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
```
|
14
users/ninjonas/config.h
Normal file
14
users/ninjonas/config.h
Normal file
@@ -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
|
68
users/ninjonas/ninjonas.c
Normal file
68
users/ninjonas/ninjonas.c
Normal file
@@ -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
|
112
users/ninjonas/ninjonas.h
Normal file
112
users/ninjonas/ninjonas.h
Normal file
@@ -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__)
|
98
users/ninjonas/process_records.c
Normal file
98
users/ninjonas/process_records.c
Normal file
@@ -0,0 +1,98 @@
|
||||
#include "ninjonas.h"
|
||||
|
||||
__attribute__((weak))
|
||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||
|
||||
__attribute__((weak))
|
||||
bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; }
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
#ifdef SSD1306OLED
|
||||
set_keylog(keycode, record);
|
||||
#endif
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
|
||||
// Sends pyenv to activate 'jira' environment
|
||||
case M_PYNV:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("pyenv activate jira" SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
|
||||
// Sends + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt
|
||||
case M_SHFT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_LGUI);
|
||||
register_code(KC_LALT);
|
||||
register_code(KC_LCTL);
|
||||
} else {
|
||||
unregister_code(KC_LGUI);
|
||||
unregister_code(KC_LALT);
|
||||
unregister_code(KC_LCTL);
|
||||
}
|
||||
break;
|
||||
|
||||
// Sends QMK make command to compile keyboard
|
||||
case M_MAKE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
|
||||
// Sends QMK make command with the correct bootloader
|
||||
case M_FLSH:
|
||||
if (!record->event.pressed) {
|
||||
SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP
|
||||
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
|
||||
":dfu "
|
||||
#elif defined(BOOTLOADER_CATERINA)
|
||||
":avrdude "
|
||||
#endif
|
||||
SS_TAP(X_ENTER)
|
||||
);
|
||||
|
||||
// Send reset_keyboard command instead of pressing reset button
|
||||
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
|
||||
reset_keyboard();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
// Sends QMK version
|
||||
case M_VRSN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE);
|
||||
}
|
||||
break;
|
||||
|
||||
// Opens Visual Studio Code on current directory
|
||||
case M_CODE:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("code ." SS_TAP(X_ENTER));
|
||||
}
|
||||
break;
|
||||
|
||||
// BEGIN: Layer macros
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
break;
|
||||
// END: Layer macros
|
||||
}
|
||||
|
||||
return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
|
||||
}
|
24
users/ninjonas/process_records.h
Normal file
24
users/ninjonas/process_records.h
Normal file
@@ -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);
|
18
users/ninjonas/rules.mk
Normal file
18
users/ninjonas/rules.mk
Normal file
@@ -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
|
12
users/ninjonas/tap_dances.c
Normal file
12
users/ninjonas/tap_dances.c
Normal file
@@ -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)),
|
||||
};
|
22
users/ninjonas/tap_dances.h
Normal file
22
users/ninjonas/tap_dances.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
#include "ninjonas.h"
|
||||
|
||||
enum custom_tapdances{
|
||||
TD_ESC_CAPS = 0,
|
||||
TD_LBRC_BACK,
|
||||
TD_RBRC_FWD,
|
||||
TD_TAB_CTRLTAB,
|
||||
TD_GRV_CTRLGRV,
|
||||
TD_GUI_GUISPC,
|
||||
TD_W_CTRLW,
|
||||
TD_Q_GUIQ,
|
||||
};
|
||||
|
||||
#define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK
|
||||
#define T_LBRC TD(TD_LBRC_BACK) // Tap for [, double tap for back browser
|
||||
#define T_RBRC TD(TD_RBRC_FWD) // Tap for ], double tap for forward browser
|
||||
#define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB
|
||||
#define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for + GRV
|
||||
#define T_GUI TD(TD_GUI_GUISPC) // Tap for , double tap for + Space
|
||||
#define T_W TD(TD_W_CTRLW) // Tap for W, double tap for + W
|
||||
#define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for + Q
|
@@ -61,7 +61,7 @@ elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
|
||||
|
||||
elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
|
||||
sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.3.0-1-x86_64.pkg.tar.xz
|
||||
sudo pacman -S \
|
||||
sudo pacman -S --needed \
|
||||
arm-none-eabi-binutils \
|
||||
arm-none-eabi-gcc \
|
||||
arm-none-eabi-newlib \
|
||||
@@ -71,6 +71,7 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
|
||||
avr-gcc \
|
||||
base-devel \
|
||||
clang \
|
||||
dfu-programmer \
|
||||
dfu-util \
|
||||
diffutils \
|
||||
gcc \
|
||||
@@ -79,10 +80,6 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
|
||||
unzip \
|
||||
wget \
|
||||
zip
|
||||
git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer
|
||||
cd /tmp/dfu-programmer || exit 1
|
||||
makepkg -sic
|
||||
rm -rf /tmp/dfu-programmer/
|
||||
|
||||
elif grep ID /etc/os-release | grep -q gentoo; then
|
||||
echo "$GENTOO_WARNING" | fmt
|
||||
|
@@ -8,7 +8,7 @@ installflip=false
|
||||
util_dir=$(dirname "$0")
|
||||
|
||||
echo "Installing dependencies needed for the installation (quazip)"
|
||||
pacman --needed -S base-devel mingw-w64-x86_64-toolchain msys/clang msys/git msys/p7zip msys/python3 msys/unzip
|
||||
pacman --needed -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-clang msys/git msys/p7zip msys/python3 msys/unzip
|
||||
|
||||
source "$dir/win_shared_install.sh"
|
||||
|
||||
|
Reference in New Issue
Block a user