Compare commits
2 Commits
c0c1312a6b
...
19b4ddfce9
Author | SHA1 | Date |
---|---|---|
Mark | 19b4ddfce9 | |
Mark | 80276758fd |
|
@ -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
|
13
README.md
13
README.md
|
@ -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.
|
||||||
|
|
18
build.sh
18
build.sh
|
@ -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
|
|
|
@ -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
|
|
|
@ -74,10 +74,4 @@ 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" \
|
|
||||||
#
|
|
|
@ -9,4 +9,6 @@ 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
|
|
@ -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
|
||||||
|
@ -115,6 +116,17 @@ 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) {
|
||||||
|
|
|
@ -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, \
|
||||||
|
|
|
@ -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, \
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
||||||
|
|
|
@ -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,\
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
|
||||||
|
|
||||||
|
|
|
@ -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, \
|
||||||
|
|
|
@ -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
|
|
@ -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
|
|
|
@ -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 \
|
||||||
)
|
)
|
||||||
|
|
|
@ -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); }
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue