Compare commits

..

No commits in common. "19b4ddfce9805d49a3e93e306b79a04d50983b09" and "c0c1312a6b16b9d0baed3afd4a6ae22ff6c77301" have entirely different histories.

19 changed files with 262 additions and 186 deletions

View File

@ -1,17 +0,0 @@
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,14 +2,17 @@
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. `make docker` 1. `cd` into [`./docker`](./docker) and build the container.
2. `make` 2. `mkdir ./output`
3. `make upload` 3. Run `./build.sh`.
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.

18
build.sh Executable file
View File

@ -0,0 +1,18 @@
#!/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

15
docker/.editorconfig Normal file
View File

@ -0,0 +1,15 @@
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

@ -74,4 +74,10 @@ WORKDIR /qmk_firmware
ENV SKIP_GIT true 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

@ -9,6 +9,4 @@ make $QMK_TARGET
# Move output files to output directory. # Move output files to output directory.
# 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,7 +21,6 @@ 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,17 +115,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R))))); SEND_STRING(SS_LCTL(SS_LGUI(SS_LSFT(SS_TAP(X_R)))));
} }
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) {

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_TRNS, 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_TRNS, KC_NO, LGUI(KC_LEFT), KC_UP, LGUI(KC_RIGHT), KC_PGUP, KC_NO,\ KC_TRANSPARENT, KC_NO, LGUI(KC_LEFT), KC_UP, LGUI(KC_RIGHT), KC_PGUP, KC_TRANSPARENT,\
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_TRNS, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,\ KC_TRANSPARENT, LGUI(KC_LCTL), KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT,\
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
\ \
KC_NO, KC_NO,\ KC_TRANSPARENT, KC_TRANSPARENT,\
KC_NO,\ KC_TRANSPARENT,\
KC_NO, KC_NO, 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_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_TRANSPARENT,\
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_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT,\
\ \
KC_NO, KC_NO,\ KC_TRANSPARENT, KC_TRANSPARENT,\
KC_NO,\ KC_TRANSPARENT,\
KC_NO, KC_TRNS, KC_TRNS\ KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT\
) )
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_RED, \ LC_OFF, LC_OFF, LC_OFF, LC_PINK, \
\ \
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,\
M_GUI, KC_NO, KC_NO, KC_MEDIA_PREV_TRACK, KC_MEDIA_NEXT_TRACK,\ KC_NO, 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

@ -0,0 +1,58 @@
// 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_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,\ KC_TRNS, 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_NO, KC_NO, KC_NO, KC_NO, KC_NO,\ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO,\
\ \
KC_NO, KC_NO,\ KC_TRNS, KC_TRNS,\
KC_NO,\ KC_TRNS,\
KC_NO, KC_NO, 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, 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_TRNS, KC_TRNS,\
KC_NO, \ KC_TRNS, \
KC_NO, KC_TRNS, KC_NO \ KC_TRNS, KC_TRNS, KC_TRNS \
) )
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, KC_NO,\ KC_ESCAPE, KC_0, KC_9, KC_8, KC_7, KC_6, TO(LAYER_NUMPAD),\
KC_NO, KC_NO, KC_O, KC_I, KC_U, KC_Y, KC_NO,\ KC_TAB, KC_NO, KC_O, KC_I, KC_U, KC_Y, KC_LGUI,\
KC_NO, KC_L, OSL(LAYER_FLIP_SYMBOLS_A), KC_K, KC_J, KC_H,\ KC_DELETE, KC_L, OSL(LAYER_FLIP_SYMBOLS_A), KC_K, KC_J, KC_H,\
KC_NO, KC_COMMA, KC_DOT, KC_P, KC_M, KC_N, KC_NO,\ KC_LCTL, KC_COMMA, KC_DOT, KC_P, KC_M, KC_N, KC_LALT,\
KC_NO, 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,\ TD(TD_WMLAYOUT),\
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_NO,\ KC_NO, KC_GRAVE, KC_LPRN, KC_RPRN, KC_QUES, KC_LCBR, KC_TRNS,\
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, KC_NO, KC_NO, KC_NO,\ LIGHT_MOD, KC_NO, TO(LAYER_MAIN), 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,23 +8,21 @@
// Second will have index 1, etc. See layers.h // Second will have index 1, etc. See layers.h
// These MUST be first. // These MUST be first, since they activate other layers.
// (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"
#include "numbers.h" // Must be under symbols and arrows // The order of these doesn't really matter,
// 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_NUMBERS),\ KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, TO(LAYER_NUMPAD),\
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LEAD, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LGUI,\
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), KC_NO, KC_NO, KC_LSFT, MO(LAYER_ARROWS),\ OSL(LAYER_DESKTOP), OSL(LAYER_FKEYS), 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_NO, KC_NO, KC_NO,\ KC_NO, KC_N, KC_M, KC_P, KC_DOT, KC_COMMA, KC_NO,\
KC_RIGHT, KC_NO, KC_NO, KC_NO, LGUI(KC_SPACE),\ KC_RIGHT, KC_NO, TO(LAYER_KEYBOARD), KC_NO, LGUI(KC_SPACE),\
\ \
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(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

@ -0,0 +1,67 @@
// 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_QUOT, 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,\
\ \
@ -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_RED, LC_CYAN, \ LC_CYAN, LC_GREEN, LC_PINK, LC_ORANGE, 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,13 +1,6 @@
LEADER_EXTERNS(); LEADER_EXTERNS();
void leader_start(void) { ergodox_right_led_3_on(); }
void leader_start(void) { void leader_end(void) { ergodox_right_led_3_off(); }
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;
@ -25,25 +18,32 @@ void matrix_scan_user(void) {
SEND_STRING(SECRET_SCHOOL_EMAIL); SEND_STRING(SECRET_SCHOOL_EMAIL);
} }
SEQ_TWO_KEYS(KC_K, KC_B) { SEQ_THREE_KEYS(KC_L, KC_I, KC_G) {
layer_move(LAYER_KEYBOARD); // TODO: cleanup.
// 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 //
// also, this is slow since laeder key uses dumb logic //SEQ_TWO_KEYS(KC_A, KC_S) {
// set_oneshot_layer(LAYER_FKEYS, ONESHOT_START); // register_code(KC_LGUI);
// 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); }
} }
} }