Compare commits

...

2 Commits

Author SHA1 Message Date
Mark 19b4ddfce9
Edited keymaps 2023-12-16 12:27:53 -08:00
Mark 80276758fd
Build system cleanup 2023-12-16 11:21:51 -08:00
19 changed files with 186 additions and 262 deletions

17
Makefile Executable file
View File

@ -0,0 +1,17 @@
default:
@mkdir -p "$$(pwd)/output"
docker run -it --rm \
--user $$(id -u):$$(id -g) \
-v "$$(pwd)/output:/build_output" \
-v "$$(pwd)/keyboards:/qmk_firmware/keyboards:ro" \
-e QMK_TARGET="betalupi_ergodox:default" \
git.betalupi.com/mark/qmk
upload:
wally-cli output/betalupi_ergodox_default.hex
docker:
docker build docker -t git.betalupi.com/mark/qmk
.PHONY: docker upload default

View File

@ -2,17 +2,14 @@
This repository contains my keyboards' firmware and everything you need to build it. It includes a docker container for building QMK firmware, since QMK installation modifies my computer a bit more than I'd like. This repository contains my keyboards' firmware and everything you need to build it. It includes a docker container for building QMK firmware, since QMK installation modifies my computer a bit more than I'd like.
## Usage ## Usage
You do not need a local install of QMK to build this firmware. You do not need a local install of QMK to build this firmware.
You'll need docker, but there's a good chance you have that installed anyway. You'll need docker, but there's a good chance you have that installed anyway.
1. `cd` into [`./docker`](./docker) and build the container. 1. `make docker`
2. `mkdir ./output` 2. `make`
3. Run `./build.sh`. 3. `make upload`
4. Upload the firmware in `./output` to your keyboard using the proper tool.
- `wally-cli` works pretty well for the `betalupi_ergodox`
## Todo
- FFT Animation: clear leds on sleep
Read [`Makefile`](./Makefile) for details.

View File

@ -1,18 +0,0 @@
#!/bin/bash
# Uses the docker container defined in
# the `docker` directory of this repo.
# Run from the root directory of this repo.
# Targets in this repo:
# betalupi_ergodox:default
#
# Usage:
# bash build.sh betalupi_ergodox:default
docker run -it --rm \
--user $(id -u):$(id -g) \
-v "$(pwd)/output:/build_output" \
-v "$(pwd)/keyboards:/qmk_firmware/keyboards:ro" \
-e QMK_TARGET="$1" \
git.betalupi.com/mark/qmk

View File

@ -1,15 +0,0 @@
root = false
[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
[qmk_cli/*]
indent_style = space
[qmk_firmware/*]
indent_style = space

View File

@ -75,9 +75,3 @@ ENV SKIP_GIT true
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh /entrypoint.sh
CMD ["/bin/bash", "/entrypoint.sh"] CMD ["/bin/bash", "/entrypoint.sh"]
# How to use:
# docker run -it \
# --user 1000:1001 \
# -v "$(pwd)/kb:/qmk_firmware/keyboards" \
#

View File

@ -10,3 +10,5 @@ make $QMK_TARGET
# These are the only extensions qmk can produce, # These are the only extensions qmk can produce,
# as far as I know. # as far as I know.
mv *.{bin,hex,uf2} /build_output > /dev/null 2>&1 mv *.{bin,hex,uf2} /build_output > /dev/null 2>&1
exit 0

View File

@ -21,6 +21,7 @@ enum custom_keycodes {
M_RESETWM, M_RESETWM,
M_RU_CTRL, M_RU_CTRL,
M_RU_ALT, M_RU_ALT,
M_GUI,
// Special characters. // Special characters.
// M_SPECIAL_TOP and M_SPECIAL_BOTTOM are // M_SPECIAL_TOP and M_SPECIAL_BOTTOM are
@ -116,6 +117,17 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
// Workaround for one-shot LGUI key.
// Using just LGUI with LAYER_DESKTOP as OSL
// does not allow you to hold lgui. This does.
case M_GUI:
if (record->event.pressed) {
register_code16(KC_LGUI);
} else {
unregister_code16(KC_LGUI);
}
return false;
case M_SHUTDOWN: case M_SHUTDOWN:
if (record->event.pressed) { if (record->event.pressed) {
SEND_STRING(SS_LGUI(SS_TAP(X_P)) SS_DELAY(100) SS_TAP(X_Y) SS_DELAY(100) SS_TAP(X_ENTER)); SEND_STRING(SS_LGUI(SS_TAP(X_P)) SS_DELAY(100) SS_TAP(X_Y) SS_DELAY(100) SS_TAP(X_ENTER));

View File

@ -9,26 +9,26 @@
#ifdef BETA_LAYER_KEYS #ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRANSPARENT, KC_NO, LGUI(KC_LEFT), KC_UP, LGUI(KC_RIGHT), KC_PGUP, KC_TRANSPARENT,\ KC_TRNS, KC_NO, LGUI(KC_LEFT), KC_UP, LGUI(KC_RIGHT), KC_PGUP, KC_NO,\
KC_LGUI, LALT(KC_LCTL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\ KC_LGUI, LALT(KC_LCTL), KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN,\
KC_TRANSPARENT, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ KC_TRNS, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
\ \
KC_TRANSPARENT, KC_TRANSPARENT,\ KC_NO, KC_NO,\
KC_TRANSPARENT,\ KC_NO,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\ KC_NO, KC_NO, KC_NO,\
\ \
\ \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
KC_TRANSPARENT, KC_TRANSPARENT,\ KC_NO, KC_NO,\
KC_TRANSPARENT,\ KC_NO,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT\ KC_NO, KC_TRNS, KC_TRNS\
) )
BETA_LAYER_MAGIC_MACRO BETA_LAYER_MAGIC_MACRO
@ -40,7 +40,7 @@
LC_OFF, LC_CYAN, LC_GREEN, LC_CYAN, LC_ORANGE, \ LC_OFF, LC_CYAN, LC_GREEN, LC_CYAN, LC_ORANGE, \
LC_ORANGE, LC_GREEN, LC_GREEN, LC_GREEN, LC_ORANGE, \ LC_ORANGE, LC_GREEN, LC_GREEN, LC_GREEN, LC_ORANGE, \
LC_ORANGE, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \ LC_ORANGE, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_PINK, \ LC_OFF, LC_OFF, LC_OFF, LC_RED, \
\ \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \ LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \ LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \

View File

@ -13,18 +13,18 @@
LGUI(KC_TAB), KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), KC_NO,\ LGUI(KC_TAB), KC_NO, LGUI(LCTL(KC_ENTER)), KC_NO, KC_NO, LGUI(KC_T), KC_NO,\
KC_NO, LGUI(KC_EQL), LGUI(KC_MINUS), KC_NO, LGUI(KC_F), LGUI(KC_G),\ KC_NO, LGUI(KC_EQL), LGUI(KC_MINUS), KC_NO, LGUI(KC_F), LGUI(KC_G),\
KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), KC_NO,\ KC_NO, KC_NO, KC_NO, LGUI(LSFT(KC_C)), LGUI(KC_N), LGUI(KC_M), KC_NO,\
KC_NO, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK,\ M_GUI, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK,\
\ \
KC_NO, M_RESETWM,\ KC_NO, M_RESETWM,\
KC_NO,\ KC_NO,\
LGUI(KC_ENTER), LGUI(KC_BSLS), KC_NO,\ LGUI(KC_ENTER), LGUI(KC_BSLS), KC_NO,\
\ \
\ \
M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ M_SHUTDOWN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_P), KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LGUI(KC_P), KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
KC_NO, KC_NO,\ KC_NO, KC_NO,\
KC_NO, \ KC_NO, \

View File

@ -1,58 +0,0 @@
// See symbols.h for docs
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(FKEYS)
#ifdef BETA_LAYER_LAYOUTS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_NULL
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
TO(LAYER_MAIN), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,\
KC_TRNS, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_NO,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,\
\
KC_TRNS, KC_TRNS,\
KC_TRNS,\
KC_TRNS, KC_TRNS, KC_TRNS,\
\
\
KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, \
KC_NO, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(LAYER_MAIN), \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
\
KC_TRNS, KC_TRNS,\
KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS \
)
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_LEDS
#define BETA_LAYER_CONTEXT_DATA LEDS_ergodox(\
LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, \
LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
\
LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, \
LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, LC_CYAN, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF \
)
BETA_LAYER_MAGIC_MACRO
#endif
#undef BETA_LAYER_CONTEXT_DATA
#undef BETA_LAYER_MAGIC_MACRO

View File

@ -10,25 +10,25 @@
#ifdef BETA_LAYER_KEYS #ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
TO(LAYER_MAIN), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,\ TO(LAYER_MAIN), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO,\
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,\ KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
KC_TRNS, KC_TRNS,\ KC_NO, KC_NO,\
KC_TRNS,\ KC_NO,\
KC_TRNS, KC_TRNS, KC_TRNS,\ KC_NO, KC_NO, KC_NO,\
\ \
\ \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(LAYER_MAIN), \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
\ \
KC_TRNS, KC_TRNS,\ KC_NO, KC_NO,\
KC_TRNS, \ KC_NO, \
KC_TRNS, KC_TRNS, KC_TRNS \ KC_NO, KC_TRNS, KC_NO \
) )
BETA_LAYER_MAGIC_MACRO BETA_LAYER_MAGIC_MACRO

View File

@ -9,14 +9,14 @@
#ifdef BETA_LAYER_KEYS #ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_ESCAPE, KC_0, KC_9, KC_8, KC_7, KC_6, TO(LAYER_NUMPAD),\ KC_ESCAPE, KC_0, KC_9, KC_8, KC_7, KC_6, KC_NO,\
KC_TAB, KC_NO, KC_O, KC_I, KC_U, KC_Y, KC_LGUI,\ KC_NO, KC_NO, KC_O, KC_I, KC_U, KC_Y, KC_NO,\
KC_DELETE, KC_L, OSL(LAYER_FLIP_SYMBOLS_A), KC_K, KC_J, KC_H,\ KC_NO, KC_L, OSL(LAYER_FLIP_SYMBOLS_A), KC_K, KC_J, KC_H,\
KC_LCTL, KC_COMMA, KC_DOT, KC_P, KC_M, KC_N, KC_LALT,\ KC_NO, KC_COMMA, KC_DOT, KC_P, KC_M, KC_N, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
TD(TD_SCREENSHOT), TD(TD_OCR),\ KC_NO, KC_NO,\
TD(TD_WMLAYOUT),\ KC_NO,\
KC_ENTER, KC_RSFT, KC_NO,\ KC_ENTER, KC_RSFT, KC_NO,\
\ \
\ \
@ -70,7 +70,7 @@
#ifdef BETA_LAYER_KEYS #ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\ KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\
KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_TRNS,\ KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_NO,\
KC_NO, KC_TILD, KC_QUOTE, KC_COMMA, KC_DOT, KC_DQUO,\ KC_NO, KC_TILD, KC_QUOTE, KC_COMMA, KC_DOT, KC_DQUO,\
KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\ KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\

View File

@ -15,20 +15,20 @@
KC_NO, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, RGB_HUD,\ KC_NO, RGB_SPD, RGB_SPI, KC_NO, KC_NO, KC_NO, RGB_HUD,\
KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD,\ KC_NO, KC_NO, KC_NO, KC_NO, RGB_MOD,\
\ \
RGB_TOG, KC_NO,\ RGB_TOG, KC_NO,\
KC_NO,\ KC_NO,\
KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO,\
\ \
\ \
KC_NO, LIGHT_HUD, LIGHT_HUI, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, LIGHT_HUD, LIGHT_HUI, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, LIGHT_SAD, LIGHT_SAI, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, LIGHT_SAD, LIGHT_SAI, KC_NO, KC_NO, KC_NO, KC_NO,\
LIGHT_VAD, LIGHT_VAI, KC_NO, KC_NO, KC_NO, KC_NO,\ LIGHT_VAD, LIGHT_VAI, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, LIGHT_SPD, LIGHT_SPI, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, LIGHT_SPD, LIGHT_SPI, KC_NO, KC_NO, KC_NO, KC_NO,\
LIGHT_MOD, KC_NO, TO(LAYER_MAIN), KC_NO, KC_NO,\ LIGHT_MOD, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
KC_NO, LIGHT_TOG,\ KC_NO, LIGHT_TOG,\
KC_NO,\ KC_NO,\
QK_BOOTLOADER, KC_NO, KC_NO\ QK_BOOTLOADER, KC_NO, KC_NO\
) )
BETA_LAYER_MAGIC_MACRO BETA_LAYER_MAGIC_MACRO

View File

@ -8,21 +8,23 @@
// Second will have index 1, etc. See layers.h // Second will have index 1, etc. See layers.h
// These MUST be first, since they activate other layers. // These MUST be first.
// (For example, LAYER_ARROWS overlays on top of LAYER_MAIN.) // (For example, LAYER_ARROWS overlays on top of LAYER_MAIN.)
#include "main.h" #include "main.h"
#include "russian.h" #include "russian.h"
// The order of these doesn't really matter, #include "numbers.h" // Must be under symbols and arrows
// since only one will be active at a time.
// The order of the layers below doesn't matter,
// since they avoid transparent keys.
#include "symbols.h" #include "symbols.h"
#include "symbols_ru.h" #include "symbols_ru.h"
#include "flip.h" #include "flip.h"
#include "arrows.h" #include "arrows.h"
#include "desktop.h" #include "desktop.h"
#include "fkeys.h" //#include "fkeys.h"
#include "keyboard.h" #include "keyboard.h"
#include "numpad.h"

View File

@ -9,11 +9,11 @@
#ifdef BETA_LAYER_KEYS #ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_NUMPAD),\ KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_NUMBERS),\
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LEAD, \
KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\ KC_DELETE, KC_A, KC_S, KC_D, KC_F, KC_G,\
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT,\ KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT,\
OSL(LAYER_DESKTOP), OSL(LAYER_FKEYS), KC_NO, KC_LSFT, MO(LAYER_ARROWS),\ OSL(LAYER_DESKTOP), KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\
\ \
TD(TD_SCREENSHOT), TD(TD_OCR),\ TD(TD_SCREENSHOT), TD(TD_OCR),\
TD(TD_WMLAYOUT),\ TD(TD_WMLAYOUT),\
@ -23,8 +23,8 @@
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\ KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, LGUI(KC_TAB),\
KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO,\ KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_NO, KC_NO,\
KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, KC_LEAD,\ KC_H, KC_J, KC_K, MO(LAYER_SYMBOLS), KC_L, KC_LEAD,\
KC_NO, KC_N, KC_M, KC_P, KC_DOT, KC_COMMA, KC_NO,\ KC_NO, KC_N, KC_M, KC_P, KC_NO, KC_NO, KC_NO,\
KC_RIGHT, KC_NO, TO(LAYER_KEYBOARD), KC_NO, LGUI(KC_SPACE),\ KC_RIGHT, KC_NO, KC_NO, KC_NO, LGUI(KC_SPACE),\
\ \
KC_NO, KC_NO,\ KC_NO, KC_NO,\
KC_NO, \ KC_NO, \

View File

@ -0,0 +1,58 @@
// See symbols.h for docs
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(NUMBERS)
#ifdef BETA_LAYER_LAYOUTS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
TO(LAYER_MAIN), KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_MAIN),\
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,\
KC_NO, MO(LAYER_SYMBOLS), KC_NO, KC_NO, KC_DOT, KC_MINUS, \
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\
\
KC_NO, KC_NO,\
KC_NO,\
KC_TRNS, KC_TRNS, KC_NO,\
\
\
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,\
KC_TRNS,\
KC_TRNS, KC_TRNS, KC_TRNS\
)
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_LEDS
#define BETA_LAYER_CONTEXT_DATA LEDS_ergodox(\
LC_GREEN, LC_GREEN, LC_GREEN, LC_GREEN, LC_GREEN, \
LC_GREEN, LC_GREEN, LC_GREEN, LC_GREEN, LC_GREEN, \
LC_RED, LC_OFF, LC_OFF, LC_PINK, LC_CYAN, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
\
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF \
)
BETA_LAYER_MAGIC_MACRO
#endif
#undef BETA_LAYER_CONTEXT_DATA
#undef BETA_LAYER_MAGIC_MACRO

View File

@ -1,67 +0,0 @@
// See symbols.h for docs
#define BETA_LAYER_MAGIC_MACRO BETA_LAYER(NUMPAD)
#ifdef BETA_LAYER_LAYOUTS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_EN
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_KEYS
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
TO(LAYER_MAIN), KC_CIRC, KC_NO, KC_HASH, KC_DLR, KC_PERC, TO(LAYER_MAIN),\
KC_TRANSPARENT, KC_NO, KC_7, KC_8, KC_9, KC_ASTR, KC_SLASH,\
KC_TRANSPARENT, KC_PLUS, KC_4, KC_5, KC_6, KC_0,\
KC_TRANSPARENT, KC_MINUS, KC_1, KC_2, KC_3, KC_DOT, KC_NO,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO,\
\
KC_TRANSPARENT, KC_TRANSPARENT,\
KC_TRANSPARENT,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
\
\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
\
KC_TRANSPARENT, KC_TRANSPARENT,\
KC_TRANSPARENT,\
KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT\
)
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_LEDS
#define BETA_LAYER_CONTEXT_DATA LEDS_ergodox(\
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_GREEN, LC_GREEN, LC_GREEN, LC_YELLOW, \
LC_YELLOW, LC_GREEN, LC_GREEN, LC_GREEN, LC_GREEN, \
LC_YELLOW, LC_GREEN, LC_GREEN, LC_GREEN, LC_YELLOW, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
\
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF \
)
BETA_LAYER_MAGIC_MACRO
#endif
#ifdef BETA_LAYER_INDICATORS
case BETA_LAYER_MAGIC_MACRO:
ergodox_right_led_1_on();
//ergodox_right_led_2_on();
//ergodox_right_led_3_on();
break;
#endif
#undef BETA_LAYER_CONTEXT_DATA
#undef BETA_LAYER_MAGIC_MACRO

View File

@ -38,7 +38,7 @@
#define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\ #define BETA_LAYER_CONTEXT_DATA LAYOUT_ergodox(\
KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\ KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO,\
KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_NO,\ KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_NO,\
KC_NO, KC_TILD, KC_QUOTE, KC_COMMA, KC_DOT, KC_DQUO,\ KC_NO, KC_TILD, KC_QUOT, KC_COMMA, KC_DOT, KC_DQUO,\
KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\ KC_NO, KC_NO, KC_LBRC, KC_RBRC, KC_EXLM, KC_RCBR, KC_NO,\
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
@ -81,7 +81,7 @@
\ \
LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \ LC_OFF, LC_OFF, LC_OFF, LC_OFF, LC_OFF, \
LC_GREEN, LC_GREEN, LC_CYAN, LC_OFF, LC_CYAN, \ LC_GREEN, LC_GREEN, LC_CYAN, LC_OFF, LC_CYAN, \
LC_CYAN, LC_GREEN, LC_PINK, LC_ORANGE, LC_CYAN, \ LC_CYAN, LC_GREEN, LC_PINK, LC_RED, LC_CYAN, \
LC_GREEN, LC_GREEN, LC_PINK, LC_OFF, LC_OFF, \ LC_GREEN, LC_GREEN, LC_PINK, LC_OFF, LC_OFF, \
LC_OFF, LC_OFF, LC_OFF, LC_OFF \ LC_OFF, LC_OFF, LC_OFF, LC_OFF \
) )

View File

@ -1,6 +1,13 @@
LEADER_EXTERNS(); LEADER_EXTERNS();
void leader_start(void) { ergodox_right_led_3_on(); }
void leader_end(void) { ergodox_right_led_3_off(); } void leader_start(void) {
ergodox_right_led_3_on();
}
void leader_end(void) {
ergodox_right_led_3_off();
}
void matrix_scan_user(void) { void matrix_scan_user(void) {
LEADER_DICTIONARY() { LEADER_DICTIONARY() {
leading = false; leading = false;
@ -18,32 +25,25 @@ void matrix_scan_user(void) {
SEND_STRING(SECRET_SCHOOL_EMAIL); SEND_STRING(SECRET_SCHOOL_EMAIL);
} }
SEQ_THREE_KEYS(KC_L, KC_I, KC_G) { SEQ_TWO_KEYS(KC_K, KC_B) {
// TODO: cleanup. layer_move(LAYER_KEYBOARD);
// This is a copy of RGB_TOG
switch (rgb_matrix_get_flags()) {
case LED_FLAG_ALL: {
rgb_matrix_set_flags(LED_FLAG_NONE);
keyboard_config.rgb_matrix_enable = false;
rgb_matrix_set_color_all(0, 0, 0);
}
break;
default: {
rgb_matrix_set_flags(LED_FLAG_ALL);
keyboard_config.rgb_matrix_enable = true;
}
break;
}
eeconfig_update_kb(keyboard_config.raw);
} }
//SEQ_ONE_KEY(KC_F) {} //SEQ_ONE_KEY(KC_F) {
// // doesn't work, no deactivate
//SEQ_TWO_KEYS(KC_A, KC_S) { // also, this is slow since laeder key uses dumb logic
// register_code(KC_LGUI); // set_oneshot_layer(LAYER_FKEYS, ONESHOT_START);
// register_code(KC_S);
// unregister_code(KC_S);
// unregister_code(KC_LGUI);
//} //}
SEQ_TWO_KEYS(KC_F, KC_1) { tap_code(KC_F1); }
SEQ_TWO_KEYS(KC_F, KC_2) { tap_code(KC_F2); }
SEQ_TWO_KEYS(KC_F, KC_3) { tap_code(KC_F3); }
SEQ_TWO_KEYS(KC_F, KC_4) { tap_code(KC_F4); }
SEQ_TWO_KEYS(KC_F, KC_5) { tap_code(KC_F5); }
SEQ_TWO_KEYS(KC_F, KC_Q) { tap_code(KC_F6); }
SEQ_TWO_KEYS(KC_F, KC_W) { tap_code(KC_F7); }
SEQ_TWO_KEYS(KC_F, KC_E) { tap_code(KC_F8); }
SEQ_TWO_KEYS(KC_F, KC_R) { tap_code(KC_F9); }
SEQ_TWO_KEYS(KC_F, KC_T) { tap_code(KC_F10); }
} }
} }