summaryrefslogtreecommitdiffstats
path: root/layouts
diff options
context:
space:
mode:
authorJacob Jerrell <jacob.jerrell@gmail.com>2018-08-29 01:48:41 +0200
committerDrashna Jaelre <drashna@live.com>2018-08-29 01:48:41 +0200
commit444def8411d6ac67203c14ec92f8e33d77330895 (patch)
treea1edcf1984b5653c2e9f0b79a88ce289fc7cbdb3 /layouts
parentfdd0f915271f79b104aa5d216566bcc3fd134e85 (diff)
downloadqmk_firmware-444def8411d6ac67203c14ec92f8e33d77330895.tar.gz
qmk_firmware-444def8411d6ac67203c14ec92f8e33d77330895.tar.xz
Keymap: Bocaj - Create Userspace and Ergodox Layout (#3750)
* Bocaj Layout Revamp * Pull in Upstream (#1) * Various tweaks for some Input:Club build processes * change KEYMAP to LAYOUT for all new keyboards made using this script * Add support for rev3 of the Atom47 (#2672) * Added support for rev3 of the Atom47 * Updated Atom47 readme's * Fix redefine error on rev2 and add maartenwut's keymap * Fix redefine error on LEdiodes keymap * Add Nyquist keymap (#2692) * nyquist * danielhklein nyquist setup * shift left controls * remove readme * cleanup before pr * ready for pr * Adds Phantom TKL support (#2696) * Add an info.json to phantom keyboard * Add layouts - KEYMAP_WINKEYLESS - KEYMAP_7BIT - KEYMAP_ISO - KEYMAP_ISO_WINKEYLESS * Add key_counts * Add 2 missing F-Row keys * Add TKC1800 info.json Created an info.json for the tkc1800. * Clueboard 60 info.json - adds - LAYOUT_60_ansi - LAYOUT_60_iso - KEYMAP_AEK - KEYMAP - LAYOUT_60_ansi_split_bs_rshift * Add the Speedo keyboard * Fix KC60 info.json file (#2707) * change KEYMAP to LAYOUT in all the KC60 files * Redo the info.json file * Small fixes to TKC1800 - adjust F-row to use 0.25 spacing - split left shift - add key_count * Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708) * change diverge 3 KC_KEYMAP to LAYOUT * Change KEYMAP to LAYOUT for handwired arrow pad * change M10A to LAYOUT for m10-a * Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68 * change KC_KEYMAP to LAYOUT for nano * Refactor to LAYOUT * refactor to LAYOUT-ansi and LAYOUT_iso for s65 * LAYOUT conversions for lfkkeyboards * missed a few renames * mini1800 for lfkeyobards support of LAYOUT * Improve state/chord handling and clean up namespace Some values that can never, ever, change were held in local variables, rather than in PROGMEM. Fixed. Change "pressed" to a signed int so the test for < 0 makes sense, and to avoid possible weird failure modes in the case where a key release comes in when pressed is already zero. (Shouldn't happen, sure, but computers are weird.) A lot of things in process_steno had external linkage for no particular reason. They've been marked static. Stuff still builds. Distinguish between currently-held keys and keys that have been held, and expose these values through a nicely-named API so other code could, say, check on the current set of steno chording in order to make displays. Also in passing fix up the "state" value having external linkage so it could clash with other people's variable declarations. The API also provides hooks for key processing and steno chord events, so you can monitor those events without having to run in matrix_scan_user and recheck the values directly. Also document these. There is no path through processing a key that doesn't end with a return false, so the nested return foo() are gone and we just return false. * Pull information from config.h and rules.mk (#2711) * Pull information from config.h and rules.mk * Readd the kbd75 maintainer * Remove obsolete info.json entries (#2712) * Clean up some long-standing errors when populating the API (#2715) * More Configurator Warning Fixes (#2716) * mf68_ble did not have the correct .c and .h files * Fix JC65 KEYMAP to LAYOUT * Change KEYMAP to LAYOUT for s60_x * Convert KEYMAP to LAYOUT for lets_split boards * Convert KEYMAP to LAYOUT * more fixes to keymap for iris * convert KEYMAP to LAYOUT for levinson keyboard * change losinggeneration's KEYMAP to LAYOUT * convert KEYMAP to LAYOUT * convert KEYMAP to LAYOUT for nyquist * convert KEYMAP to LAYOUT * convert KEYMAP to LAYOUT for viterbi * convert KEYMAP to LAYOUT * convert KEYMAP and its subsidiries to the LAYOUT standard * convert KEYMAP and its subsidiries to the new LAYOUT standard * Normacos keymap for let's split keyboard (#2691) * Cheers let's split keymap * fixed typo on norman layer of cheers keymap for let's split * fixed right handed mappings for home row * cheers keymap for let's split redefinition * updated Cheers keymap for let's split * cheers keymap for let's split updated with some terminal macros * renamed cheers let's split keymap to a more appropriate normacos * updated normacos keymap doc / removed non functional keys * reset let's split rules to default values * added more spotlight search macros * normalized keymap comments * Moved numpad on lower layer * hhkb jp personal keymap (#2698) * Add JJ40 Cockpit personal keymap (#2713) * Add JJ40 Cockpit keymap * Fix lower layer symbols * Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718) * add readme to ktype keyboard * add readme to m10a * add readme to mini1800 * add readme to parent directory * Revert "Pull in Upstream (#1)" This reverts commit eeba0cec17ccb636e4225eed88aeae72b99f5e45. * Updates to Bocaj Files - Gave up on Tap Dance for ' -> ' + Added another 'Secret' + Add ' -> ' to the Swap Hands key + Add Swap Hands to the ' -> ' key + Made Hand Swapping a momentary toggle - Removed Auto Shift + Added Layer Toggle to KC_QUOTE for the _TOOLS layer - Disabled Tap Dance * Merge remote-tracking branch 'upstream/master' * Updates to Bocaj Added Game Layers, Removed Unused Macros * Removed 'secrets.h' * Updates to Bocaj Remove 'secrets'. Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues * Total revisioning of keymap and layout structure * Missed readme.md file * Bocaj - Permissive Hold setting enabled * Switching from ErgoDox EZ centric configuration to the layout/user approach * Bocaj - Create Userspace and Ergodox layout * Update settings.json
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/ergodox/bocaj/config.h6
-rw-r--r--layouts/community/ergodox/bocaj/keymap.c246
-rw-r--r--layouts/community/ergodox/bocaj/rules.mk6
3 files changed, 258 insertions, 0 deletions
diff --git a/layouts/community/ergodox/bocaj/config.h b/layouts/community/ergodox/bocaj/config.h
new file mode 100644
index 000000000..78350f603
--- /dev/null
+++ b/layouts/community/ergodox/bocaj/config.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#include QMK_KEYBOARD_CONFIG_H
+
+#undef PRODUCT
+#define PRODUCT BocajEZ - Frankensteined ErgoDox EZ
diff --git a/layouts/community/ergodox/bocaj/keymap.c b/layouts/community/ergodox/bocaj/keymap.c
new file mode 100644
index 000000000..fbe0fca65
--- /dev/null
+++ b/layouts/community/ergodox/bocaj/keymap.c
@@ -0,0 +1,246 @@
+/*
+Copyright 2018 Jacob Jerrell jacob.jerrell@gmail.com @JacobJerrell
+
+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 "bocaj.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Hardware Workman - http://www.keyboard-layout-editor.com/#/gists/7a07cb982ec3597ba3e3d947554225f1
+ .---------------------------------------------. .---------------------------------------------.
+ | ESC | 1 | 2 | 3 | 4 | 5 | -> | ! - | 6 | 7 | 8 | 9 | 0 | = |
+ !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
+ | DEL | Q | D | R | W | B | ( | ! ) | J | F | U | P | ; | \ |
+ !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
+ | NUMS | A | S | H | T | G |-------! !-------! Y | N | E | O | I | ' |
+ !-------+-----+-----+-----x-----x-----! HYP ! ! MEH !-----x-----x-----+-----+-----+-------!
+ | SHIFT | Z | X | M | C | V | [ | ! ] | K | L | , | . | / | SHIFT |
+ '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
+ | GAME | NUM | LWR | UP | LFT | .---------------. .---------------. ! RGT | DWN | | | ADJ |
+ '------------------------------' | APP | HOME | ! PGUP | ESC | '------------------------------'
+ .-------+-------+-------! !-------+-------+-------.
+ ! ! | END | ! PGDN | ! ENTER !
+ ! SPACE ! BSPCE !-------! !-------! TAB ! / !
+ | | | COPY | ! PASTE | | LOWER |
+ '-----------------------' '-----------------------'
+*/
+ [_HWRKMN] = LAYOUT_ergodox_pretty_wrapper(
+ KC_ESC, _______________________NUMBER_LEFT_______________________, JJ_ARRW, KC_MINUS,_______________________NUMBER_RIGHT______________________, KC_EQUAL,
+ KC_DEL, _______________________HWORKMAN_L1_______________________, KC_LPRN, KC_RPRN, _______________________HWORKMAN_R1_______________________, KC_BSLS,
+ KC_NUMS,_______________________HWORKMAN_L2_______________________, _______________________HWORKMAN_R2_______________________, KC_QUOTE,
+ KC_LSFT,_______________________HWORKMAN_L3_______________________, HYP_LBK, MEH_RBK, _______________________HWORKMAN_R3_______________________, KC_RSFT,
+ ___________________ERGODOX_BOTTOM_LEFT___________________, ___________________ERGODOX_BOTTOM_RIGHT__________________,
+ ______________________ERGODOX_THUMBS_____________________
+ ),
+/* Software Workman / QWERTY - http://www.keyboard-layout-editor.com/#/gists/b6c016a22a9d31381a276a603a42fe5f
+ .---------------------------------------------. .---------------------------------------------.
+ | ESC | 1 | 2 | 3 | 4 | 5 | -> | ! - | 6 | 7 | 8 | 9 | 0 | = |
+ !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
+ | DEL | Q | W | E | R | T | ( | ! ) | Y | U | I | O | P | \ |
+ !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
+ | NUMS | A | S | D | F | G |-------! !-------! H | J | K | L | ; | ' |
+ !-------+-----+-----+-----x-----x-----! HYP ! ! MEH !-----x-----x-----+-----+-----+-------!
+ | SHIFT | Z | X | C | V | B | [ | ! ] | N | M | , | . | / | SHIFT |
+ '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
+ | GAME | NUM | LWR | UP | LFT | .---------------. .---------------. ! RGT | DWN | | | ADJ |
+ '------------------------------' | APP | HOME | ! PGUP | ESC | '------------------------------'
+ .-------+-------+-------! !-------+-------+-------.
+ ! ! | END | ! PGDN | ! ENTER !
+ ! SPACE ! BSPCE !-------! !-------! TAB ! / !
+ | | | COPY | ! PASTE | | LOWER |
+ '-----------------------' '-----------------------'
+*/
+ [_SWRKMN] = LAYOUT_ergodox_pretty_wrapper(
+ KC_ESC, _______________________NUMBER_LEFT_______________________, JJ_ARRW, KC_MINUS,_______________________NUMBER_RIGHT______________________, KC_EQUAL,
+ KC_DEL, _______________________SWORKMAN_L1_______________________, KC_LPRN, KC_RPRN, _______________________SWORKMAN_R1_______________________, KC_BSLS,
+ KC_NUMS,_______________________SWORKMAN_L2_______________________, _______________________SWORKMAN_R2_______________________, KC_QUOTE,
+ KC_LSFT,_______________________SWORKMAN_L3_______________________, HYP_LBK, MEH_RBK, _______________________SWORKMAN_R3_______________________, KC_RSFT,
+ ___________________ERGODOX_BOTTOM_LEFT___________________, ___________________ERGODOX_BOTTOM_RIGHT__________________,
+ ______________________ERGODOX_THUMBS_____________________
+ ),
+/* Lower - http://www.keyboard-layout-editor.com/#/gists/f1d745a88d1c48ab55e095efd9e7a43a
+ .---------------------------------------------. .---------------------------------------------.
+ | ESC | | | | | | -> | ! - | | | | | | = |
+ !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
+ | DEL | ! | @ | # | $ | % | ( | ! ) | ^ | & | * | ( | ) | \ |
+ !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
+ | ` | 1 | 2 | 3 | 4 | 5 |-------! !-------! 6 | 7 | 8 | 9 | 0 | ' |
+ !-------+-----+-----+-----x-----x-----! HYP ! ! MEH !-----x-----x-----+-----+-----+-------!
+ | SHIFT | | | | | | [ | ! ] | | | | | | SHIFT |
+ '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
+ | GAME | NUM | LWR | UP | LFT | .---------------. .---------------. ! RGT | DWN | | | ADJ |
+ '------------------------------' | APP | HOME | ! PGUP | ESC | '------------------------------'
+ .-------+-------+-------! !-------+-------+-------.
+ ! ! | END | ! PGDN | ! ENTER !
+ ! SPACE ! BSPCE !-------! !-------! TAB ! / !
+ | | | COPY | ! PASTE | | LOWER |
+ '-----------------------' '-----------------------'
+*/
+ [_LOWER] = LAYOUT_ergodox_pretty_wrapper(
+ _______,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, _______, _______, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, _______,
+ _______,_______________________SPECIAL_LEFT______________________, _______, _______, _______________________SPECIAL_RIGHT_____________________, _______,
+ KC_GRV ,_______________________NUMBER_LEFT_______________________, _______________________NUMBER_RIGHT______________________, _______,
+ _______,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, _______, _______, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, _______,
+ _________________________________________________________, _________________________________________________________,
+ ______________________ERGODOX_THUMBS_____________________
+ ),
+ /* Adjust - http://www.keyboard-layout-editor.com/#/gists/dedeae17b35a5d5f745a42aaea78f007
+ .---------------------------------------------. .---------------------------------------------.
+ | | | | | | | EPRM | ! EPRM | | | | | | |
+ !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
+ | | | | | | | | ! | | | | | | |
+ !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
+ | | 🔇 | 🔉 | 🔊 | LCK | |-------! !-------! | | | | | SWRKM |
+ !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
+ | | | | | | | | ! | | | | | | HWRKM |
+ '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
+ | | | | | | .---------------. .---------------. ! | | | | |
+ '------------------------------' | | | ! | | '------------------------------'
+ .-------+-------+-------! !-------+-------+-------.
+ ! ! | | ! | ! !
+ ! ! !-------! !-------! ! !
+ | | | | ! | | |
+ '-----------------------' '-----------------------'
+*/
+ [_ADJUST] = LAYOUT_ergodox_pretty_wrapper(
+ XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, KC_EPRM, KC_EPRM, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX,
+ XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX,KC__MUTE, KC__VOLDOWN, KC__VOLUP, MC_LOCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SWRK,
+ XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HWRK,
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ ______________________ERGODOX_THUMBS_____________________
+ ),
+ [_NUMS] = LAYOUT_ergodox_pretty_wrapper(
+ XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX,
+ XXXXXXX,XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PAST, XXXXXXX,
+ _______,XXXXXXX, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, XXXXXXX,
+ LM_SHFT,XXXXXXX, XXXXXXX, XXXXXXX, JJ_COPY, JJ_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, XXXXXXX,
+ XXXXXXX,_______,XXXXXXX,XXXXXXX,XXXXXXX, KC_KP_0, KC_PDOT, KC_COMM, KC_PEQL, XXXXXXX,
+ _______, _______, _______,_______,
+ _______, _______,
+ KC_LALT,KC_LGUI,_______, _______,_______,_______
+ ),
+ [_NMOD] = LAYOUT_ergodox_pretty_wrapper(
+ XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX,
+ XXXXXXX,XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX,
+ XXXXXXX,XXXXXXX, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX,
+ LM_SHFT,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX,
+ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, _______, _______, _______, _______, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,
+ XXXXXXX, XXXXXXX,
+ KC_LALT,KC_LGUI,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX
+ ),
+// Diablo - http://www.keyboard-layout-editor.com/#/gists/28476e4237e77d4835ac8a9d7e5f9b2c
+ [_DIABLO] = LAYOUT_ergodox_pretty_wrapper(
+ KC_ESC , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_TAB , KC_Q ,ALT_T(KC_S), KC_I , KC_F , KC_J ,KC_MINS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LOCK, KC_1 , KC_2 , KC_3 , KC_4 ,KC_DCLR , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LSFT, KC_D3_1 , KC_D3_2 , KC_D3_3 , KC_D3_4 , KC_T ,KC_MINS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX , XXXXXXX , XXXXXXX , KC_M , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,
+ XXXXXXX, XXXXXXX,
+ KC_BTN1,KC_BTN2,KC_ENTER, XXXXXXX,XXXXXXX,XXXXXXX
+ )
+};
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+ uint8_t default_layer = 0;
+ default_layer = eeconfig_read_default_layer();
+ switch (keycode) {
+ case KC_SWRK:
+ if (!record->event.pressed) {
+ set_single_persistent_default_layer(_SWRKMN);
+ layer_move(default_layer);
+ ergodox_blink_all_leds();
+ ergodox_blink_all_leds();
+ }
+ return false;
+ break;
+ case KC_HWRK:
+ if (!record->event.pressed) {
+ set_single_persistent_default_layer(_HWRKMN);
+ layer_move(default_layer);
+ ergodox_blink_all_leds();
+ ergodox_blink_all_leds();
+ }
+ return false;
+ break;
+ case KC_EPRM:
+ if (!record->event.pressed) {
+ ergodox_blink_all_leds();
+ eeconfig_init();
+ }
+ return false;
+ break;
+ case MC_LOCK:
+ if (!record->event.pressed) {
+ layer_move(default_layer);
+ SEND_STRING(SS_LCTRL(SS_LGUI("q")));
+ }
+ return false;
+ break;
+ }
+ return true;
+}
+
+void matrix_init_keymap(void) {};
+
+void matrix_scan_keymap(void) {
+ uint8_t layer = biton32(layer_state);
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ /*
+ Lights are treated as binary here for easy identification.
+ LED1 = 4; LED2 = 2; LED1 = 1
+ This allows for up to 8 identified layers (default layers being no lights on)
+ Which is way more than I should ever need
+ */
+ case _LOWER:
+ ergodox_right_led_3_on();
+ ergodox_right_led_3_set(10); // Default brightness is deadly in a dark room
+ break;
+ case _ADJUST:
+ ergodox_right_led_2_on();
+ ergodox_right_led_2_set(10);
+ break;
+ case _NUMS:
+ ergodox_right_led_2_on();
+ ergodox_right_led_2_set(10);
+ ergodox_right_led_3_on();
+ ergodox_right_led_3_set(10);
+ break;
+ case _NMOD:
+ ergodox_right_led_1_on();
+ ergodox_right_led_1_set(10);
+ ergodox_right_led_2_on();
+ ergodox_right_led_2_set(10);
+ ergodox_right_led_3_on();
+ ergodox_right_led_3_set(10);
+ break;
+ case _DIABLO:
+ ergodox_right_led_1_on();
+ ergodox_right_led_1_set(10);
+ break;
+ default:
+ // none
+ break;
+ }
+ /* #ifdef TAP_DANCE_ENABLE
+ run_diablo_macro_check();
+ #endif */
+};
diff --git a/layouts/community/ergodox/bocaj/rules.mk b/layouts/community/ergodox/bocaj/rules.mk
new file mode 100644
index 000000000..037bca2b6
--- /dev/null
+++ b/layouts/community/ergodox/bocaj/rules.mk
@@ -0,0 +1,6 @@
+AUTO_SHIFT_ENABLE = no
+COMMAND_ENABLE = no
+SWAP_HANDS_ENABLE = no
+TAP_DANCE_ENABLE = yes
+EXTRAKEY_ENABLE = no
+KEY_LOCK_ENABLE = yes