This commit is contained in:
Daniel Flanagan 2024-06-26 10:33:54 -05:00
parent fb5cb7aed6
commit 5a1f102363
14 changed files with 842 additions and 3 deletions

1
.pre-commit-config.yaml Symbolic link
View file

@ -0,0 +1 @@
/nix/store/65zhm7jx3nqpb1bjbq7maxjsdyn7zwrr-pre-commit-config.json

1
iris-ce/.envrc Normal file
View file

@ -0,0 +1 @@
use flake

8
iris-ce/.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
# ignore `nix build` output
/result
# ignore direnv cache stuff
/.direnv
# ignore pre-commit hooks as installed by direnv
/.pre-commit-config.yaml

View file

@ -0,0 +1,9 @@
[[language]]
auto-format = true
file-types = ["nix"]
name = "nix"
scope = "source.nix"
[language.formatter]
args = ["-"]
command = "alejandra"

3
iris-ce/config.h Normal file
View file

@ -0,0 +1,3 @@
#define TAPPING_TERM 150
#define PERMISSIVE_HOLD

104
iris-ce/flake.lock Normal file
View file

@ -0,0 +1,104 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1719145550,
"narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1718811006,
"narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "03d771e513ce90147b65fe922d87d3a0356fc125",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1719259945,
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks"
}
}
},
"root": "root",
"version": 7
}

68
iris-ce/flake.nix Normal file
View file

@ -0,0 +1,68 @@
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
inputs.pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
inputs.pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
outputs = {
self,
nixpkgs,
pre-commit-hooks,
...
}: let
systems = ["aarch64-linux" "aarch64-darwin" "x86_64-darwin" "x86_64-linux"];
forSystems = nixpkgs.lib.genAttrs systems;
pkgsFor = system: (import nixpkgs {inherit system;});
genPkgs = func: (forSystems (system: func (pkgsFor system)));
pkg = callee: overrides: genPkgs (pkgs: pkgs.callPackage callee overrides);
in {
formatter = genPkgs (p: p.alejandra);
checks = pkg ({system}: {
pre-commit-check = pre-commit-hooks.lib.${system}.run {
src = ./.;
hooks = {
alejandra.enable = true;
};
};
}) {};
devShells = pkg ({
system,
mkShell,
nil,
alejandra,
qmk,
}: {
qmk = mkShell {
buildInputs = [
nil
alejandra
qmk
];
# inherit (self.outputs.checks.${system}.pre-commit-check) shellHook;
shellHook = ''
# TODO: maybe check that qmk has been setup first?
mkdir ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
cp ./rules.mk ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
cp ./keymap.c ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
echo "You can compile this firmware with"
echo " qmk compile --keyboard keebio/iris_ce/rev1 -km lytedev"
echo
echo "You can flash this firmware with"
echo " qmk flash --keyboard keebio/iris_ce/rev1 -km lytedev"
'';
};
default = self.outputs.devShells.${system}.qmk;
}) {};
# packages = forAllSystems (system: import ./pkgs {pkgs = nixpkgs.legacyPackages.${system};});
# overlays = import ./overlays self;
# nixosModules = import ./modules/nixos;
# homeManagerModules = import ./modules/home-manager;
# nixosConfigurations = import ./nixos;
# homeConfigurations = import ./home
# templates = import ./templates;
};
}

9
iris-ce/flash.bash Executable file
View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# TODO: cd dirname $0
cp ./config.h ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
cp ./rules.mk ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
cp ./keymap.c ~/qmk_firmware/keyboards/keebio/iris_ce/keymaps/lytedev
qmk flash --keyboard keebio/iris_ce/rev1 -km lytedev

View file

@ -0,0 +1,521 @@
{
"name": "Iris CE Rev. 1",
"vendorProductId": 3406828886,
"macros": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"layers": [
[
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"ESC_CTL",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_LSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_NO",
"KC_NO",
"KC_LGUI",
"KC_SPC",
"MO(2)",
"KC_HOME",
"KC_BSPC",
"KC_0",
"KC_9",
"KC_8",
"KC_7",
"KC_6",
"KC_BSPC",
"KC_P",
"KC_O",
"KC_I",
"KC_U",
"KC_Y",
"KC_QUOT",
"KC_SCLN",
"KC_L",
"KC_K",
"KC_J",
"KC_H",
"KC_ENT",
"KC_SLSH",
"KC_DOT",
"KC_COMM",
"KC_M",
"KC_N",
"KC_NO",
"KC_NO",
"KC_RALT",
"KC_SPC",
"MO(3)",
"KC_END"
],
[
"KC_ESC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TAB",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LCTL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"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_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"S(KC_GRV)",
"S(KC_1)",
"S(KC_2)",
"S(KC_3)",
"S(KC_4)",
"S(KC_5)",
"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_NO",
"KC_NO",
"KC_TRNS",
"MO(4)",
"KC_TRNS",
"KC_TRNS",
"KC_F12",
"KC_F11",
"KC_F10",
"KC_F9",
"KC_F8",
"KC_F7",
"KC_BSPC",
"S(KC_0)",
"S(KC_9)",
"S(KC_8)",
"S(KC_7)",
"S(KC_6)",
"S(KC_BSLS)",
"S(KC_RBRC)",
"S(KC_LBRC)",
"S(KC_EQL)",
"S(KC_MINS)",
"KC_TRNS",
"KC_TRNS",
"S(KC_SLSH)",
"S(KC_DOT)",
"S(KC_COMM)",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"MO(4)",
"KC_TRNS"
],
[
"KC_ESC",
"S(KC_1)",
"S(KC_2)",
"S(KC_3)",
"S(KC_4)",
"S(KC_5)",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"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_LALT",
"MO(4)",
"KC_TRNS",
"KC_BSPC",
"S(KC_0)",
"S(KC_9)",
"S(KC_8)",
"S(KC_7)",
"S(KC_6)",
"KC_DEL",
"KC_0",
"KC_9",
"KC_8",
"KC_7",
"KC_6",
"KC_BSLS",
"KC_RBRC",
"KC_LBRC",
"KC_EQL",
"KC_MINS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_INS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MO(4)",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_ESC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TAB",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LCTL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"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_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_ESC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TAB",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LCTL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"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_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_ESC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TAB",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LCTL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"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_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_ESC",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TAB",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_LCTL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"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_NO",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"encoders": []
}

104
iris-ce/keymap.c Normal file
View file

@ -0,0 +1,104 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
#define _QWERTY 0
#define _GAMER 1
#define _RETRO_GAMER 2
#define _LEFT 3
#define _RIGHT 4
#define _ADJUST 5
#define _CONFIG 6
#define ESC_CTL LCTL_T(KC_ESC)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
ESC_CTL, 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, MO(_CONFIG), MO(_CONFIG),KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_LGUI, KC_SPC, MO(_LEFT), LT(_RIGHT,KC_ENT),KC_SPC, KC_LALT
),
[_GAMER] = LAYOUT(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
[_RETRO_GAMER] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
[_LEFT] = LAYOUT(
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_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_LCBR, KC_RCBR, KC_PIPE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, KC_QUES, _______,
_______, MO(_ADJUST), _______, _______, KC_ENT, _______
),
[_RIGHT] = LAYOUT(
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______,
_______, KC_LALT, _______, _______,MO(_ADJUST),_______
),
[_ADJUST] = LAYOUT(
_______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_MPRV, KC_VOLD, KC_MPLY, KC_VOLU, KC_MNXT, _______,
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______,
_______, _______, _______, _______, _______, _______
),
[_CONFIG] = LAYOUT(
QK_BOOT, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, DF(_QWERTY), RGB_TOG, _______, DF(_GAMER), DF(_RETRO_GAMER)
)
};
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _GAMER:
rgblight_mode(1);
rgblight_sethsv(HSV_RED);
break;
case _RETRO_GAMER:
rgblight_mode(1);
rgblight_sethsv(HSV_YELLOW);
break;
case _LEFT:
rgblight_mode(1);
rgblight_sethsv(HSV_BLUE);
break;
case _RIGHT:
rgblight_mode(1);
rgblight_sethsv(HSV_GREEN);
break;
case _ADJUST:
rgblight_mode(1);
rgblight_sethsv(HSV_PURPLE);
break;
case _CONFIG:
rgblight_mode(1);
rgblight_sethsv(HSV_ORANGE);
break;
}
return state;
}

4
iris-ce/readme.md Normal file
View file

@ -0,0 +1,4 @@
# Iris CE
I just configure this with VIA. If I need to reflash, the QMK files are here,
too.

3
iris-ce/rules.mk Normal file
View file

@ -0,0 +1,3 @@
# VIA_ENABLE = yes
LTO_ENABLE = yes
CONSOLE_ENABLE = no

View file

@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_CONFIG] = LAYOUT(
RESET, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, RESET,
QK_BOOT, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______,
_______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,

View file

@ -10,6 +10,10 @@
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h>
#define TAPPING_TERM 150
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define LOWER_LAYER_ID 2
#define RAISE_LAYER_ID (LOWER_LAYER_ID + 1)
#define COMBO_LAYER_ID (RAISE_LAYER_ID + 1)