diff --git a/README.org b/README.org index c105085..136c0e0 100644 --- a/README.org +++ b/README.org @@ -13,7 +13,7 @@ For reference, comparison and reading the [[https://github.com/manna-harbour/qmk * general principles -This config uses a mulit-layer qwerty layout which has emerged from a combination of writing and programming using emacs (and emacs style keybindings) on macos and linux. The numeric layer has numbers on the home row and shifted symbols on the first row, with commonly used brackets on the third row symmetrically between sides. The emacs layer(s) provide both command and prefix keys. The movement layer provides arrows (as WASD) and jump keys on the left and mouse keys (when enabled) on the right. There is a QMK reset key on each half of the keyboard. +This config uses a mulit-layer qwerty layout which has emerged from a combination of writing and programming using emacs (and emacs style keybindings) on macos and linux. The numeric layer has numbers on the home row and shifted symbols on the first row, with commonly used brackets on the third row symmetrically between sides. The emacs layer(s) provide both command and prefix keys. The movement layer provides arrows (as WASD and HJKL) and jump keys on the left and mouse keys (when enabled) on the right. There is a QMK reset key on each half of the keyboard. * specific mappings @@ -30,7 +30,7 @@ Details of keyboard layout, layers, macros and general confusion can be found in - Left thumb (base layer) Emacs layer, =KC_LAPO=, and GUI (held) or space (tap) - Right thumb (base layer) Enter, =KC_RAPC=, and Toggle numeric layer -The =KC_LAPO= key is Left Alt when held and =(= when tapped, it can be used as =Meta=. The =KC_RAPC= key is Right Alt when held and =)= when tapped, it can be used for accents and non-ascii characters with the international macos input sources. +The =KC_LAPO= key is Left Alt when held and =(= when tapped, it can be used as =Meta=. The =KC_RAPC= key is Right Alt when held and =)= when tapped, it can be used for accents and non-ascii characters with the international macOS input sources. The =emacs= layer is activated with Left-thumb-outer (=L30=) and the =hypm= layer can be activated with Left-thumb-outer, right-thumb-outer (=R32=) and can be used to provide the =H-= prefix bindings defined in =.emacs= The =hyper= key seen by emacs can be mapped to =KC_RGUI= rather than the =KC_HYPR= modifier combination (see also the “[[https://github.com/qmk/qmk_firmware/issues/2179][the infamous Apple Fn key]]” for compatibility) @@ -61,41 +61,41 @@ A complete keymap can be defined within =mugur-mugur= which will generate the re (require 'mugur) (let ((mugur-qmk-path "~/qmk_firmware") - (mugur-keyboard-name "crkbd") - (mugur-layout-name "LAYOUT_split_3x6_3") - (mugur-keymap-name "zzkt4") + (mugur-keyboard-name "crkbd") + (mugur-layout-name "LAYOUT_split_3x6_3") + (mugur-keymap-name "zzkt4") (mugur-tapping-term 175)) (mugur-mugur '(("base" - tab q w e r t y u i o p bspace - C a s d f g h j k l ?\; (LT move ?\') - S z x c v b n m ?\, dot ?\? (MO qmik) - (MO emacs) lapo (G space) ent rapc (TG numeric)) + tab q w e r t y u i o p bspace + C a s d f g h j k l scolon (LT move ?\') + (LT S up) z x c v b n m comma dot slash (LT hypm down) + (MO emacs) lapo (G space) ent rapc (TT numeric)) ("numeric" - ~ ?\! ?\@ ?\# ?\$ ?\% ?\^ ?\& ?\* - = bspace - 0 1 2 3 4 5 6 7 8 9 0 (LT move ent) - S ` ?\< ?\{ ?\[ ?\( ?\) ?\] ?\} ?\> | (MO emacs) - (TG qmik) C-M --- --- S (TG numeric)) + "~" ?\! ?\@ ?\# ?\$ ?\% ?\^ ?\& ?\* - = bspace + 0 1 2 3 4 5 6 7 8 9 0 (LT move ent) + (LT S left) "`" --- ?\\ ?\{ ?\[ ?\] ?\} comma dot | (LT S right) + (TG qmik) lapo --- --- rapc ---) ("move" - --- M-v up --- --- --- --- --- --- --- --- --- - C-a left down right C-e --- --- --- --- --- --- --- - --- M-< C-v M-> --- --- --- --- --- --- --- --- - --- --- --- --- --- --- ) + --- M-v up --- --- --- --- --- --- --- --- --- + C-a left down right C-e --- left up down right --- --- + --- M-< C-v M-> --- --- --- --- --- --- --- --- + C S --- --- --- --- ) ("emacs" - esc --- --- (C-x 0) (C-x 2) (C-x 3) (C-x 4 t) --- --- --- --- --- + esc --- --- (C-x 0) (C-x 2) (C-x 3) (C-x 4 t) --- --- (C-M o) --- --- --- --- M-% --- --- (M-x "gtd" ent) (C-x b) --- --- "λ" --- --- reset --- M-x C-c --- ?\( ?\) (M-x "magit" ent) --- --- --- --- --- --- (H-i e) (C-x 8) --- (MO hypm)) ("hypm" - --- --- --- --- --- --- --- --- H-i (H-i o) (H-i l) --- - --- --- --- H-d --- --- --- --- --- --- --- --- - --- --- --- --- --- --- --- H-m (H-m s) --- --- --- - --- --- --- --- --- --- ) + x --- --- --- --- --- --- --- H-i (H-i o) (H-i l) --- + --- --- --- H-d --- --- --- --- --- --- --- --- + --- --- --- --- --- --- (H-m n) (H-m m) (H-m s) --- --- --- + --- --- --- --- --- --- ) ("qmik" -x- rgb_tog rgb_mod -x- -x- -x- --- --- --- --- --- reset @@ -185,10 +185,10 @@ turn on (or off) debug info (check that =CONSOLE_ENABLE= is set accordingly in = #+BEGIN_SRC c :tangle keymap.c void keyboard_post_init_user(void) { - debug_enable=true; - //debug_matrix=true; - debug_keyboard=true; - //debug_mouse=true; + // debug_enable=true; + // debug_matrix=true; + // debug_keyboard=true; + // debug_mouse=true; } #+END_SRC @@ -197,7 +197,10 @@ void keyboard_post_init_user(void) { this will create a =rules.mk= file with some specifics for the [[https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd][Corne Keyboard (CRKBD)]] #+BEGIN_SRC makefile :tangle rules.mk -BOOTLOADER = atmel-dfu # Elite-C +# START-MUGUR-REGION +# END-MUGUR-REGION + +BOOTLOADER = dfu-ee # Elite-C RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes # WS2812 # per-key RGB and underglow @@ -207,12 +210,19 @@ UNICODE_ENABLE = yes OLED_DRIVER_ENABLE = yes MOUSEKEY_ENABLE = no # use mouse keys or not CONSOLE_ENABLE = no # debug info + +VIA_ENABLE = yes # to enable configuraiton with VIA #+END_SRC ** config.h This will generate a =config.h= file +#+BEGIN_SRC c :tangle config.h +// START-MUGUR-REGION +// END-MUGUR-REGION +#+END_SRC + #+BEGIN_SRC c :tangle config.h #define EE_HANDS #+END_SRC @@ -319,31 +329,36 @@ then write the keymap as defined above then compile and/or write to the keyboard #+name: qmk -#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :tangle no +#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :results raw :tangle no qmk compile -kb crkbd -km zzkt4 #+END_SRC #+name: qmk -#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :tangle no +#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :results raw :tangle no qmk flash -km zzkt4 -bl dfu #+END_SRC or flash one side at a time… #+name: qmk -#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :tangle no +#+BEGIN_SRC shell :dir ~/qmk_firmware :wrap SRC text :results raw :tangle no qmk flash -km zzkt4 -bl dfu-split-left #+END_SRC #+name: qmk -#+BEGIN_SRC shell :dir ~/qmk_firmware wrap SRC text :tangle no +#+BEGIN_SRC shell :dir ~/qmk_firmware wrap SRC text :results raw :tangle no qmk flash -km zzkt4 -bl dfu-split-right #+END_SRC * illustrative -#+caption: blank crkbd layout -[[file:img/crkbd-default-layer.svg]] +#+caption: alphanumeric layers (0-2) +[[file:img/zzkt--alphalikes.png]] + +#+caption: emacs layers (3-4) +[[file:img/zzkt--emacs.png]] + +see also [[http://www.keyboard-layout-editor.com/##@_name=zzkt%20-%20alphalikes&author=https%2F:%2F%2F%2F%2Fgithub.com%2F%2Fzzkt%2F%2Fcrkbd¬es=layers%2F:%0A-%200%20default%0A-%201%20numeric%0A-%202%20move%0A-%203%20emacs%0A-%204%20hypm%0A-%205%20qmik&plate:false%3B&@_x:3&t=%23000000%0A%0A%23dd3c84%3B&=%0A%0A%23%0A%0A%0A%0A%0A%0A%0AE&_x:7%3B&=%0A%0A*%0A%0A%0A%0A%0A%0A%0AI%3B&@_y:-0.9&x:2&t=%23000000%0A%0A%23dd3c84%0A%231c937f%3B&=%0A%0A%2F@%0A%E2%96%B2%0A%0A%0A%0A%0A%0AW%3B&@_y:-1&x:4&t=%23000000%0A%0A%23dd3c84%3B&=%0A%0A$%0A%0A%0A%0A%0A%0A%0AR&_x:5%3B&=%0A%0A%2F&%0A%0A%0A%0A%0A%0A%0AU&_x:1&t=%23000000%0A%0A%23dd3c84%0A%0A%0A%0A%0A%23dd3c84&fa@:0&:0&:4&:0&:0&:0&:0&:4%3B%3B&=%0A%0A%2F_%0A%0A%0A%0A%0A-%0A%0AO%3B&@_y:-0.9000000000000001&x:5&t=%23000000%0A%0A%23dd3c84&f:3%3B&=%0A%0A%25%0A%0A%0A%0A%0A%0A%0AT&_x:3&f:3%3B&=%0A%0A%5E%0A%0A%0A%0A%0A%0A%0AY%3B&@_y:-0.8999999999999999&f:3%3B&=%0A%0A~%0A%0A%0A%0ATab&_t=%23000000%0A%0A%23dd3c84%0A%231c937f&fa@:0&:0&:0&:2%3B%3B&=%0A%0A!%0AM-v%0A%0A%0A%0A%0A%0AQ&_x:11&t=%23000000%0A%0A%23dd3c84%0A%0A%0A%0A%0A%23dd3c84%3B&=%0A%0A+%0A%0A%0A%0A%0A%2F=%0A%0AP&_t=%23000000&a:7%3B&=Bksp%3B&@_y:-0.30000000000000004&x:3&t=%23000000%0A%0A%23dd3c84%0A1c937f&a:4&f:3%3B&=%0A%0A3%0A%E2%96%BA%0A%0A%0A%0A%0A%0AD&_x:7&f:3%3B&=%0A%0A8%0A%E2%96%BC%0A%0A%0A%0A%0A%0AK%3B&@_y:-0.8999999999999999&x:2&f:3%3B&=%0A%0A2%0A%E2%96%BC%0A%0A%0A%0A%0A%0AS&_x:1&t=%23000000%0A%0A%23dd3c84%0A%231c937f&f:3%3B&=%0A%0A4%0AC-e%0A%0A%0A%0A%0A%0AF&_x:5&t=%23000000%0A%0A%23dd3c84%0A1c937f&f2:0%3B&=%0A%0A7%0A%E2%96%B2%0A%0A%0A%0A%0A%0AJ&_x:1%3B&=%0A%0A9%0A%E2%96%BA%0A%0A%0A%0A%0A%0AL%3B&@_y:-0.9000000000000001&x:5&t=%23000000%0A%0A%23dd3c84%3B&=%0A%0A5%0A%0A%0A%0A%0A%0A%0AG&_x:3&t=%23000000%0A%0A%23dd3c84%0A1c937f&fa@:0&:0&:0&:1%3B%3B&=%0A%0A6%0A%E2%97%80%EF%B8%8E%0A%0A%0A%0A%0A%0AH%3B&@_y:-0.9000000000000001&t=%23000000%0A%0A%23dd3c84%0A%231c937f&f:3%3B&=%0A%0A0%0AC-a%0A%0A%0A%0A%0A%0ACtrl&=%0A%0A1%0A%E2%97%80%EF%B8%8E%0A%0A%0A%0A%0A%0AA&_x:11&t=%23000000%0A%0A%23dd3c84&fa@:0&:0&:0&:1&:0&:0&:0&:0&:0&:4%3B%3B&=%0A%0A0%0A%0A%0A%0A%0A%0A%2F:%0A%2F%3B&_f:2%3B&=%0A%0A%E2%86%B5%0A%0A%0A%0A%0A%0A%22%0A'%20(LT%202)%3B&@_y:-0.2999999999999998&x:3&t=%23000000%0A%0A%23dd3c84%0A%231c937f&f:3&fa@:0&:0&:0&:2%3B%3B&=%0A%0A%0AM%20%3E%0A%0A%0A%0A%0A%0AC&_x:7&t=%23000000&a:5&fa@:0&:0&:0&:2&:0&:0&:6%3B%3B&=%3C%0A%0A%0A%0A%0A%0A,%3B&@_y:-0.8999999999999999&x:2&t=%23000000%0A%0A%23dd3c84%0A%231c937f&a:4%3B&=%0A%0A%0AC-v%0A%0A%0A%0A%0A%0AX&_x:1&t=%23000000%0A%0A%23dd3c84%3B&=%0A%0A%7B%0A%0A%0A%0A%0A%0A%0AV&_x:5%3B&=%0A%0A%7D%0A%0A%0A%0A%0A%0A%0AM&_x:1&t=%23000000&a:5%3B&=%3E%0A%0A%0A%0A%0A%0A.%3B&@_y:-0.8999999999999999&x:5&t=%23000000%0A%0A%23dd3c84&a:4%3B&=%0A%0A%5B%0A%0A%0A%0A%0A%0A%0AB&_x:3%3B&=%0A%0A%5D%0A%0A%0A%0A%0A%0A%0AN%3B&@_y:-0.9000000000000004&t=%23000000&a:7%3B&=Shift&_t=%23000000%0A%0A%23dd3c84%0A%231c937f&a:4&fa@:0&:0&:6&:2%3B%3B&=Z%0A%0A%60%0AM%20%3C&_x:11&t=%23000000%0A%0A%23dd3c84&f:3%3B&=%0A%0A%7C%0A%0A%0A%0A%0A%0A%3F%0A%2F%2F&_t=%23dd3c84&f:2%3B&=(MO%203)%0A%0A%0A%0A%0A%0A(MO%205)%3B&@_y:-0.19999999999999973&x:3.5%3B&=(MO%205)%0A%0A%0A%0A%0A%0A(MO%203)&_x:6&t=%23000000%3B&=(TG%201)%3B&@_r:15&rx:4.5&ry:4.1&y:-0.9999999999999996&f:3%3B&=lapo%3B&@_r:30&rx:5.4&ry:4.3&y:-1.5&x:0.09999999999999964&f:2&h:1.5%3B&=(G%20spc)%3B&@_r:-30&rx:9.6&y:-1.5&x:-1.0999999999999996&f:3&h:1.5%3B&=Enter%3B&@_r:-15&rx:10.5&ry:4.1&y:-1.0999999999999996&x:-1&t=&fa@:2%3B%3B&=rapc][KLE layers (pt.1)]] and [[http://www.keyboard-layout-editor.com/##@_name=zzkt%20-%20emacs&author=https%2F:%2F%2F%2F%2Fgithub.com%2F%2Fzzkt%2F%2Fcrkbd¬es=layers%2F:%0A-%200%20default%0A-%201%20numeric%0A-%202%20move%0A-%203%20emacs%0A-%204%20hypm%0A-%205%20qmik&plate:false%3B&@_x:3&a:7%3B&=C-x%200&_x:7&t=%23000000%0A%0A%23dd3c84&a:4%3B&=%0A%0AH-i%3B&@_y:-0.9&x:2&t=%23000000&a:7%3B&=%3B&@_y:-1&x:4%3B&=C-x%202&_x:5%3B&=&_x:1&t=%23000000%0A%0A%23dd3c84%0A%0A%0A%0A%0A%23dd3c84&a:4%3B&=%0A%0AH-i%20o%0A%0A%0A%0AC-M%20o%3B&@_y:-0.9000000000000001&x:5&t=%23000000&a:7%3B&=C-x%203&_x:3%3B&=C-x%204%20t%3B&@_y:-0.8999999999999999&t=%23000000%0A%0A%23dd3c84&a:4%3B&=esc&_t=%23000000&a:7%3B&=&_x:11&t=%23000000%0A%0A%23dd3c84%0A%0A%0A%0A%0A%23dd3c84&a:4%3B&=%0A%0AH-i%20l&_t=%23000000&a:7%3B&=%3B&@_y:-0.30000000000000004&x:3&t=%23000000%0A%0A%23dd3c84%0A1c937f&a:4%3B&=%0A%0AH-d&_x:7&t=%23000000&a:7%3B&=%3B&@_y:-0.8999999999999999&x:2%3B&=M-%25&_x:1%3B&=&_x:5%3B&=&_x:1%3B&=%3B&@_y:-0.9000000000000001&x:5%3B&=(gtd)&_x:3&a:6%3B&=C-x%20b%3B&@_y:-0.9000000000000001&a:7%3B&=&=&_x:11%3B&=&_f:2%3B&=%3B&@_y:-0.2999999999999998&x:3&f:3%3B&=C-c&_x:7&t=%23000000%0A%0A%23dd3c84&a:4&fa@:0&:0&:2&:0&:0&:0&:0&:0&:0&:0%3B%3B&=%0A%0AH-m%20s%3B&@_y:-0.8999999999999999&x:2&t=%23000000&a:7%3B&=M-x&_x:1%3B&=&_x:5&t=%23000000%0A%0A%23dd3c84&a:4&fa@:0&:0&:0&:0&:0&:0&:0&:0&:0&:2%3B%3B&=%0A%0AH-m%0A%0A%0A%0A%0A%0A%0A(magit)&_x:1&t=%23000000&a:7%3B&=%3B&@_y:-0.8999999999999999&x:5%3B&=&_x:3&t=%23000000%0A%0A%23dd3c84&a:4%3B&=%0A%0AH-n%3B&@_y:-0.9000000000000004&t=%23000000%3B&=reset&_a:7%3B&=&_x:11%3B&=&_t=%23dd3c84&f:2%3B&=%3B&@_y:-0.19999999999999973&x:3.5%3B&=&_x:6&t=%23000000%3B&=(MO%204)%3B&@_r:15&rx:4.5&ry:4.1&y:-0.9999999999999996&f:3%3B&=lapo%3B&@_r:30&rx:5.4&ry:4.3&y:-1.5&x:0.09999999999999964&f:2&fa@:4%3B&h:1.5%3B&=H-i%20e%3B&@_r:-30&rx:9.6&y:-1.5&x:-1.0999999999999996&f:3&fa@:4%3B&h:1.5%3B&=C-x%208%3B&@_r:-15&rx:10.5&ry:4.1&y:-1.0999999999999996&x:-1&f:3%3B&=rapc][KLE layers (pt.2)]] etc. * further diff --git a/config.h b/config.h index c490abc..1d6cc2f 100644 --- a/config.h +++ b/config.h @@ -1,15 +1,23 @@ // START-MUGUR-REGION - #undef TAPPING_TERM - #define TAPPING_TERM 175 - #define COMBO_TERM 300 - #define LEADER_TIMEOUT 300 - #define LEADER_PER_KEY_TIMING - #define COMBO_COUNT 0 - #define FORCE_NKRO - #undef RGBLIGHT_ANIMATIONS +#undef TAPPING_TERM +#define TAPPING_TERM 175 +#define COMBO_TERM 300 +#define LEADER_TIMEOUT 300 +#define LEADER_PER_KEY_TIMING +#define COMBO_COUNT 0 +#define FORCE_NKRO +#undef RGBLIGHT_ANIMATIONS -// END-MUGUR-REGION #define UNICODE_SELECTED_MODES UC_MAC +// END-MUGUR-REGION + +#define EE_HANDS + +#define TAPPING_TOGGLE 2 +#define TAPPING_TERM 175 +#define COMBO_TERM 300 + +#define UNICODE_SELECTED_MODES UC_MAC #define VENDOR_ID 0x4653 #define PRODUCT_ID 0x0001 @@ -28,7 +36,7 @@ #define DISABLE_RGB_MATRIX_ALPHAS_MODS #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN -/* #define DISABLE_RGB_MATRIX_BREATHING */ +#define DISABLE_RGB_MATRIX_BREATHING #define DISABLE_RGB_MATRIX_CYCLE_ALL #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN @@ -54,16 +62,9 @@ #define DISABLE_RGB_MATRIX_MULTISPLASH #define DISABLE_RGB_MATRIX_SOLID_SPLASH #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH - #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP #define RGB_MATRIX_STARTUP_HUE 128 // HSV_CYAN #define RGB_MATRIX_STARTUP_SAT 255 #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // #define RGB_MATRIX_STARTUP_SPD #endif - -#define EE_HANDS - -#define TAPPING_TERM 175 -#define COMBO_TERM 300 -#define RETRO_TAPPING diff --git a/data/zzkt--alphalikes.kle.json b/data/zzkt--alphalikes.kle.json new file mode 100644 index 0000000..7221590 --- /dev/null +++ b/data/zzkt--alphalikes.kle.json @@ -0,0 +1,372 @@ +[ + { + "name": "zzkt - alphalikes", + "author": "https://github.com/zzkt/crkbd", + "notes": "layers:\n- 0 default\n- 1 numeric\n- 2 move\n- 3 emacs\n- 4 hypm\n- 5 qmik", + "plate": false + }, + [ + { + "x": 3, + "t": "#000000\n\n#dd3c84" + }, + "\n\n#\n\n\n\n\n\n\nE", + { + "x": 7 + }, + "\n\n*\n\n\n\n\n\n\nI" + ], + [ + { + "y": -0.9, + "x": 2, + "t": "#000000\n\n#dd3c84\n#1c937f" + }, + "\n\n@\n▲\n\n\n\n\n\nW" + ], + [ + { + "y": -1, + "x": 4, + "t": "#000000\n\n#dd3c84" + }, + "\n\n$\n\n\n\n\n\n\nR", + { + "x": 5 + }, + "\n\n&\n\n\n\n\n\n\nU", + { + "x": 1, + "t": "#000000\n\n#dd3c84\n\n\n\n\n#dd3c84", + "fa": [ + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 4 + ] + }, + "\n\n_\n\n\n\n\n-\n\nO" + ], + [ + { + "y": -0.9000000000000001, + "x": 5, + "t": "#000000\n\n#dd3c84", + "f": 3 + }, + "\n\n%\n\n\n\n\n\n\nT", + { + "x": 3, + "f": 3 + }, + "\n\n^\n\n\n\n\n\n\nY" + ], + [ + { + "y": -0.8999999999999999, + "f": 3 + }, + "\n\n~\n\n\n\nTab", + { + "t": "#000000\n\n#dd3c84\n#1c937f", + "fa": [ + 0, + 0, + 0, + 2 + ] + }, + "\n\n!\nM v\n\n\n\n\n\nQ", + { + "x": 11, + "t": "#000000\n\n#dd3c84\n\n\n\n\n#dd3c84" + }, + "\n\n+\n\n\n\n\n=\n\nP", + { + "t": "#000000", + "a": 7 + }, + "Bksp" + ], + [ + { + "y": -0.30000000000000004, + "x": 3, + "t": "#000000\n\n#dd3c84\n1c937f", + "a": 4, + "f2": 0 + }, + "\n\n3\n►\n\n\n\n\n\nD", + { + "x": 7 + }, + "\n\n8\n▼\n\n\n\n\n\nK" + ], + [ + { + "y": -0.8999999999999999, + "x": 2 + }, + "\n\n2\n▼\n\n\n\n\n\nS", + { + "x": 1, + "t": "#000000\n\n#dd3c84\n#1c937f" + }, + "\n\n4\nC e\n\n\n\n\n\nF", + { + "x": 5, + "t": "#000000\n\n#dd3c84\n1c937f" + }, + "\n\n7\n▲\n\n\n\n\n\nJ", + { + "x": 1 + }, + "\n\n9\n►\n\n\n\n\n\nL" + ], + [ + { + "y": -0.9000000000000001, + "x": 5, + "t": "#000000\n\n#dd3c84" + }, + "\n\n5\n\n\n\n\n\n\nG", + { + "x": 3, + "t": "#000000\n\n#dd3c84\n1c937f", + "fa": [ + 0, + 0, + 0, + 1 + ] + }, + "\n\n6\n◀︎\n\n\n\n\n\nH" + ], + [ + { + "y": -0.9000000000000001, + "t": "#000000\n\n#dd3c84\n#1c937f", + "f": 3 + }, + "\n\n0\nC a\n\n\n\n\n\nCtrl", + { + "fa": [ + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "\n\n1\n◀︎\n\n\n\n\n\nA", + { + "x": 11, + "t": "#000000\n\n#dd3c84", + "fa": [ + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 4 + ] + }, + "\n\n0\n\n\n\n\n\n:\n;", + { + "t": "#000000\n\n#dd3c84\n#1c937f", + "f": 2 + }, + "\n(LT 2)\n\n●\n\n\n\n\n\"\n'" + ], + [ + { + "y": -0.2999999999999998, + "x": 3, + "f": 3, + "fa": [ + 0, + 0, + 0, + 2 + ] + }, + "\n\n\\\nM >\n\n\n\n\n\nC", + { + "x": 7, + "t": "#000000", + "a": 5, + "fa": [ + 0, + 0, + 0, + 2, + 0, + 0, + 6 + ] + }, + "<\n\n\n\n\n\n," + ], + [ + { + "y": -0.8999999999999999, + "x": 2, + "t": "#000000\n\n\n#1c937f", + "a": 4 + }, + "\n\n\nC v\n\n\n\n\n\nX", + { + "x": 1, + "t": "#000000\n\n#dd3c84" + }, + "\n\n{\n\n\n\n\n\n\nV", + { + "x": 5 + }, + "\n\n}\n\n\n\n\n\n\nM", + { + "x": 1, + "t": "#000000", + "a": 5 + }, + ">\n\n\n\n\n\n." + ], + [ + { + "y": -0.8999999999999999, + "x": 5, + "t": "#000000\n\n#dd3c84", + "a": 4 + }, + "\n\n[\n\n\n\n\n\n\nB", + { + "x": 3 + }, + "\n\n]\n\n\n\n\n\n\nN" + ], + [ + { + "y": -0.9000000000000004, + "t": "#000000", + "a": 5, + "fa": [ + 0, + 0, + 0, + 2, + 0, + 0, + 4 + ] + }, + "\nShift\n\n\n\n\n▲", + { + "t": "#000000\n\n#dd3c84\n#1c937f", + "a": 4, + "fa": [ + 0, + 0, + 6, + 2 + ] + }, + "Z\n\n`\nM <", + { + "x": 11, + "t": "#000000\n\n#dd3c84", + "f": 3 + }, + "\n\n|\n\n\n\n\n\n?\n/", + { + "t": "#000000", + "a": 5, + "f": 2, + "fa": [ + 0, + 0, + 6, + 0, + 0, + 0, + 4 + ] + }, + "\n(LT 4)\n\n\n\n\n▼" + ], + [ + { + "y": -0.19999999999999973, + "x": 3.5, + "t": "#dd3c84\n#1c937f\n\n\n\n\n#000000", + "a": 4, + "f": 2 + }, + "(TG 5)\nCtrl\n\n\n\n\n(MO 3)", + { + "x": 6, + "t": "#000000\n\n#dd3c84" + }, + "(TG 1)\n\n●" + ], + [ + { + "r": 15, + "rx": 4.5, + "ry": 4.1, + "y": -0.9999999999999996, + "t": "#000000\n#1c937f", + "f": 3, + "f2": 2 + }, + "lapo\nShift" + ], + [ + { + "r": 30, + "rx": 5.4, + "ry": 4.3, + "y": -1.5, + "x": 0.09999999999999964, + "t": "#000000", + "f": 2, + "h": 1.5 + }, + "(G spc)" + ], + [ + { + "r": -30, + "rx": 9.6, + "y": -1.5, + "x": -1.0999999999999996, + "a": 5, + "f": 3, + "h": 1.5 + }, + "(G ↵ )" + ], + [ + { + "r": -15, + "rx": 10.5, + "ry": 4.1, + "y": -0.9999999999999996, + "x": -1, + "a": 4 + }, + "rapc" + ] +] \ No newline at end of file diff --git a/data/zzkt--emacs.kle.json b/data/zzkt--emacs.kle.json new file mode 100644 index 0000000..9fb0cff --- /dev/null +++ b/data/zzkt--emacs.kle.json @@ -0,0 +1,333 @@ +[ + { + "name": "zzkt - emacs", + "author": "https://github.com/zzkt/crkbd", + "notes": "layers:\n- 0 default\n- 1 numeric\n- 2 move\n- 3 emacs\n- 4 hypm\n- 5 qmik", + "plate": false + }, + [ + { + "x": 3, + "a": 7 + }, + "C-x 0", + { + "x": 7, + "t": "#000000\n\n#dd3c84", + "a": 4 + }, + "\n\nH-i" + ], + [ + { + "y": -0.9, + "x": 2, + "t": "#000000", + "a": 7 + }, + "" + ], + [ + { + "y": -1, + "x": 4 + }, + "C-x 2", + { + "x": 5 + }, + "", + { + "x": 1, + "t": "#000000\n\n#dd3c84", + "a": 4, + "fa": [ + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ] + }, + "\n\nH-i o\n\n\n\n\n\n\nC-M o" + ], + [ + { + "y": -0.9000000000000001, + "x": 5, + "t": "#000000", + "a": 7 + }, + "C-x 3", + { + "x": 3 + }, + "C-x 4 t" + ], + [ + { + "y": -0.8999999999999999, + "a": 4, + "fa": [ + 2 + ] + }, + "esc", + { + "a": 7 + }, + "", + { + "x": 11, + "t": "#000000\n\n#dd3c84", + "a": 4, + "fa": [ + 2, + 0, + 2 + ] + }, + "\n\nH-i l", + { + "t": "#000000", + "a": 7 + }, + "" + ], + [ + { + "y": -0.30000000000000004, + "x": 3, + "t": "#000000\n\n#dd3c84", + "a": 4, + "f": 3 + }, + "\n\nH-d", + { + "x": 7, + "t": "#000000", + "a": 7 + }, + "" + ], + [ + { + "y": -0.8999999999999999, + "x": 2, + "f": 3 + }, + "M-%", + { + "x": 1 + }, + "", + { + "x": 5 + }, + "", + { + "x": 1 + }, + "" + ], + [ + { + "y": -0.9000000000000001, + "x": 5 + }, + "(gtd)", + { + "x": 3, + "f": 3 + }, + "C-x b" + ], + [ + { + "y": -0.9000000000000001 + }, + "", + "", + { + "x": 11 + }, + "", + { + "f": 2 + }, + "" + ], + [ + { + "y": -0.2999999999999998, + "x": 3, + "f": 3 + }, + "C-c", + { + "x": 7, + "t": "#000000\n\n#dd3c84", + "a": 4, + "fa": [ + 0, + 0, + 2 + ] + }, + "\n\nH-m s" + ], + [ + { + "y": -0.8999999999999999, + "x": 2, + "t": "#000000", + "a": 7 + }, + "M-x", + { + "x": 1 + }, + "", + { + "x": 5, + "t": "#000000\n\n#dd3c84", + "a": 4, + "fa": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ] + }, + "\n\nH-m\n\n\n\n\n\n\n(magit)", + { + "x": 1, + "t": "#000000", + "a": 7 + }, + "" + ], + [ + { + "y": -0.8999999999999999, + "x": 5 + }, + "", + { + "x": 3, + "t": "#000000\n\n#dd3c84", + "a": 4 + }, + "\n\nH-n" + ], + [ + { + "y": -0.9000000000000004, + "t": "#000000" + }, + "reset", + { + "a": 7 + }, + "", + { + "x": 11 + }, + "", + { + "t": "#dd3c84", + "f": 2 + }, + "" + ], + [ + { + "y": -0.19999999999999973, + "x": 3.5 + }, + "", + { + "x": 6, + "t": "#000000" + }, + "(MO 4)" + ], + [ + { + "r": 15, + "rx": 4.5, + "ry": 4.1, + "y": -0.9999999999999996, + "a": 4, + "f": 3 + }, + "lapo" + ], + [ + { + "r": 30, + "rx": 5.4, + "ry": 4.3, + "y": -1.5, + "x": 0.09999999999999964, + "a": 5, + "f": 2, + "fa": [ + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "h": 1.5 + }, + "H-i e" + ], + [ + { + "r": -30, + "rx": 9.6, + "y": -1.5, + "x": -1.0999999999999996, + "f": 3, + "fa": [ + 4, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "h": 1.5 + }, + "C-x 8" + ], + [ + { + "r": -15, + "rx": 10.5, + "ry": 4.1, + "y": -0.9999999999999996, + "x": -1, + "a": 4, + "fa": [ + 2 + ] + }, + "rapc" + ] +] \ No newline at end of file diff --git a/img/zzkt--alphalikes.png b/img/zzkt--alphalikes.png new file mode 100644 index 0000000..7f58b28 Binary files /dev/null and b/img/zzkt--alphalikes.png differ diff --git a/img/zzkt--emacs.png b/img/zzkt--emacs.png new file mode 100644 index 0000000..e76f178 Binary files /dev/null and b/img/zzkt--emacs.png differ diff --git a/keymap.c b/keymap.c index cd2572c..71a3715 100644 --- a/keymap.c +++ b/keymap.c @@ -1,62 +1,52 @@ #include QMK_KEYBOARD_H #include "version.h" +#include "split_util.h" - // START-MUGUR-REGION +// START-MUGUR-REGION - #include QMK_KEYBOARD_H - #include "version.h" - /* Macros */ -enum custom_keycodes {EPRM = SAFE_RANGE, MACRO_15, MACRO_14, MACRO_13, MACRO_12, MACRO_11, MACRO_10, MACRO_9, MACRO_8, MACRO_7, MACRO_6, MACRO_5, MACRO_4, MACRO_3, MACRO_2, MACRO_1}; +/* Macros */ +enum custom_keycodes {EPRM = SAFE_RANGE, MACRO_16, MACRO_15, MACRO_14, MACRO_13, MACRO_12, MACRO_11, MACRO_10, MACRO_9, MACRO_8, MACRO_7, MACRO_6, MACRO_5, MACRO_4, MACRO_3, MACRO_2, MACRO_1}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { -case MACRO_1: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_0)); return false; -case MACRO_2: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_2)); return false; -case MACRO_3: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_3)); return false; -case MACRO_4: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_4) SS_TAP(X_T)); return false; -case MACRO_5: SEND_STRING(SS_LALT(SS_TAP(X_X)) "gtd" SS_TAP(X_ENTER)); return false; -case MACRO_6: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_B)); return false; -case MACRO_7: SEND_STRING("λ"); return false; -case MACRO_8: SEND_STRING(SS_LALT(SS_TAP(X_X)) "magit" SS_TAP(X_ENTER)); return false; -case MACRO_9: SEND_STRING(SS_RGUI(SS_TAP(X_I)) SS_TAP(X_E)); return false; -case MACRO_10: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_8)); return false; -case MACRO_11: SEND_STRING(SS_RGUI(SS_TAP(X_I)) SS_TAP(X_O)); return false; -case MACRO_12: SEND_STRING(SS_RGUI(SS_TAP(X_I)) SS_TAP(X_L)); return false; -case MACRO_13: SEND_STRING(SS_RGUI(SS_TAP(X_M)) SS_TAP(X_S)); return false; -case MACRO_14: SEND_STRING(SS_RGUI(SS_TAP(X_D))); return false; -case MACRO_15: SEND_STRING(SS_RGUI(SS_TAP(X_M)) SS_TAP(X_ENTER)); return false; -} - } - return true; - }; + if (record->event.pressed) { + switch (keycode) { + case MACRO_1: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_0)); return false; + case MACRO_2: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_2)); return false; + case MACRO_3: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_3)); return false; + case MACRO_4: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_4) SS_TAP(X_T)); return false; + case MACRO_5: SEND_STRING(SS_LCTL(SS_TAP(X_LALT)) SS_TAP(X_O)); return false; + case MACRO_6: SEND_STRING(SS_LALT(SS_TAP(X_X)) "gtd" SS_TAP(X_ENTER)); return false; + case MACRO_7: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_B)); return false; + case MACRO_8: SEND_STRING("λ"); return false; + case MACRO_9: SEND_STRING(SS_LALT(SS_TAP(X_X)) "magit" SS_TAP(X_ENTER)); return false; + case MACRO_10: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_E)); return false; + case MACRO_11: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_8)); return false; + case MACRO_12: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_O)); return false; + case MACRO_13: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_L)); return false; + case MACRO_14: SEND_STRING(SS_RCMD(SS_TAP(X_M)) SS_TAP(X_N)); return false; + case MACRO_15: SEND_STRING(SS_RCMD(SS_TAP(X_M)) SS_TAP(X_M)); return false; + case MACRO_16: SEND_STRING(SS_RCMD(SS_TAP(X_M)) SS_TAP(X_S)); return false;} + } + return true; +}; - /* Tap Dances */ - - - /* Leader Keys */ - - - /* Combos */ - - - /* Layer Codes and Matrix */ - enum layer_codes {BASE, NUMERIC, MOVE, EMACS, HYPM, QMIK}; +/* Layer Codes and Matrix */ +enum layer_codes {BASE = 0, NUMERIC = 1, MOVE = 2, EMACS = 3, HYPM = 4, QMIK = 15}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[BASE] = LAYOUT_split_3x6_3(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, LT(MOVE, KC_QUOTE), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_QUESTION, MO(QMIK), MO(EMACS), KC_LAPO, MT(MOD_LGUI, KC_SPACE), KC_ENTER, KC_RAPC, TG(NUMERIC)), + [BASE] = LAYOUT_split_3x6_3(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPACE, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, LT(MOVE, KC_QUOTE), MT(MOD_LSFT, KC_UP), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, LT(HYPM, KC_DOWN), MO(EMACS), KC_LAPO, MT(MOD_LGUI, KC_SPACE), MT(MOD_RGUI, KC_ENTER), KC_RAPC, TT(NUMERIC)), -[NUMERIC] = LAYOUT_split_3x6_3(KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_MINUS, KC_EQUAL, KC_BSPACE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MOVE, KC_ENTER), KC_LSFT, KC_TRNS, KC_LEFT_ANGLE_BRACKET, KC_LEFT_CURLY_BRACE, KC_LBRACKET, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_RBRACKET, KC_RIGHT_CURLY_BRACE, KC_RIGHT_ANGLE_BRACKET, KC_PIPE, MO(EMACS), TG(QMIK), LCTL(KC_LALT), KC_TRNS, KC_TRNS, KC_LSFT, TG(NUMERIC)), + [NUMERIC] = LAYOUT_split_3x6_3(KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_MINUS, KC_EQUAL, KC_BSPACE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MOVE, KC_ENTER), MT(MOD_LSFT, KC_LEFT), KC_GRAVE, KC_TRNS, KC_TRNS, KC_LEFT_CURLY_BRACE, KC_LBRACKET, KC_RBRACKET, KC_RIGHT_CURLY_BRACE, KC_COMMA, KC_DOT, KC_PIPE, MT(MOD_RSFT, KC_RIGHT), TG(QMIK), KC_LAPO, KC_TRNS, KC_TRNS, KC_RAPC, KC_TRNS), -[MOVE] = LAYOUT_split_3x6_3(KC_TRNS, LALT(KC_V), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_E), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_LEFT_ANGLE_BRACKET), LCTL(KC_V), LALT(KC_RIGHT_ANGLE_BRACKET), 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), + [MOVE] = LAYOUT_split_3x6_3(KC_TRNS, LALT(KC_V), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_E), KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_LEFT_ANGLE_BRACKET), LCTL(KC_V), LALT(KC_RIGHT_ANGLE_BRACKET), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_LSFT, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS), -[EMACS] = LAYOUT_split_3x6_3(KC_ESCAPE, KC_TRNS, KC_TRNS, MACRO_1, MACRO_2, MACRO_3, MACRO_4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_PERCENT), KC_TRNS, KC_TRNS, MACRO_5, MACRO_6, KC_TRNS, KC_TRNS, MACRO_7, KC_TRNS, KC_TRNS, RESET, KC_TRNS, LALT(KC_X), LCTL(KC_C), KC_TRNS, KC_LEFT_PAREN, KC_RIGHT_PAREN, MACRO_8, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_9, MACRO_10, KC_TRNS, MO(HYPM)), + [EMACS] = LAYOUT_split_3x6_3(KC_ESCAPE, KC_TRNS, KC_TRNS, MACRO_1, MACRO_2, MACRO_3, MACRO_4, KC_TRNS, KC_TRNS, MACRO_5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_PERCENT), KC_TRNS, KC_TRNS, MACRO_6, MACRO_7, KC_TRNS, KC_TRNS, MACRO_8, KC_TRNS, KC_TRNS, RESET, KC_TRNS, LALT(KC_X), LCTL(KC_C), KC_TRNS, KC_LEFT_PAREN, KC_RIGHT_PAREN, MACRO_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_10, MACRO_11, KC_TRNS, MO(HYPM)), -[HYPM] = LAYOUT_split_3x6_3(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_15, MACRO_11, MACRO_12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_14, 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_M, MACRO_13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [HYPM] = LAYOUT_split_3x6_3(KC_X, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_I, MACRO_12, MACRO_13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_D, 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, MACRO_14, MACRO_15, MACRO_16, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -[QMIK] = LAYOUT_split_3x6_3(KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, RGB_SAD, RGB_VAD, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_VAI, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; + [QMIK] = LAYOUT_split_3x6_3(KC_NO, RGB_TOG, RGB_MOD, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, RGB_SAD, RGB_VAD, RGB_HUD, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, RGB_VAI, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)}; // END-MUGUR-REGION @@ -64,38 +54,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // 'fm_logo-128x32', 32x128px static void render_logo(void) { static const char PROGMEM fm_logo[] = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x78, 0x78, 0x78, 0x78, 0x38, 0x30, 0x60, 0xd0, 0xc0, 0x80, -0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x83, 0xcf, 0xfe, 0xfc, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x0c, 0x0e, 0x1e, 0x1e, 0x3e, 0x7e, 0xfe, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, -0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xfb, -0xff, 0xff, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f, 0xff, 0xff, -0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1c, 0x1c, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, -0x00, 0x30, 0x30, 0x60, 0x60, 0x60, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xf8, -0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x07, -0x07, 0x07, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x1c, 0xf8, -0xfc, 0xfe, 0x6f, 0xe7, 0xf3, 0xf9, 0xf9, 0xf9, 0xf9, 0xf3, 0xe3, 0x07, 0x1e, 0xfc, 0xf0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x07, 0x0f, 0x1c, 0x38, 0x33, 0x33, 0x77, 0x77, 0x33, 0x33, 0x39, 0x1c, 0x0f, 0x07, 0x01, 0x00 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x78, 0x78, 0x78, 0x78, 0x38, 0x30, 0x60, 0xd0, 0xc0, 0x80, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x83, 0xcf, 0xfe, 0xfc, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x0c, 0x0e, 0x1e, 0x1e, 0x3e, 0x7e, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0xfb, + 0xff, 0xff, 0x83, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x7f, 0xff, 0xff, + 0x7f, 0x3f, 0x3f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1c, 0x1c, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x60, 0x60, 0x60, 0xe0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0xf8, 0xfe, 0xff, 0xf8, + 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x07, + 0x07, 0x07, 0x03, 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x1c, 0xf8, + 0xfc, 0xfe, 0x6f, 0xe7, 0xf3, 0xf9, 0xf9, 0xf9, 0xf9, 0xf3, 0xe3, 0x07, 0x1e, 0xfc, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x07, 0x0f, 0x1c, 0x38, 0x33, 0x33, 0x77, 0x77, 0x33, 0x33, 0x39, 0x1c, 0x0f, 0x07, 0x01, 0x00 }; oled_write_raw_P(fm_logo, sizeof(fm_logo)); } @@ -118,7 +108,7 @@ void oled_task_user(void) { void keyboard_post_init_user(void) { debug_enable=true; - //debug_matrix=true; debug_keyboard=true; + //debug_matrix=true; //debug_mouse=true; } diff --git a/rules.mk b/rules.mk index d154ca8..502d81b 100644 --- a/rules.mk +++ b/rules.mk @@ -1,18 +1,27 @@ - # START-MUGUR-REGION + +BOOTLOADER = dfu # Elite-C + +# START-MUGUR-REGION FORCE_NKRO = yes - LEADER_ENABLE = no - RGBLIGHT_ENABLE = yes - TAP_DANCE_ENABLE = no - COMBO_ENABLE = no + LEADER_ENABLE = no + RGBLIGHT_ENABLE = no + TAP_DANCE_ENABLE = no + COMBO_ENABLE = no + +# END-MUGUR-REGION + +NKRO_ENABLE = no # six simultaneous keys should be enough -# END-MUGUR-REGION BOOTLOADER = atmel-dfu # Elite-C RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes # WS2812 # per-key RGB and underglow +RGB_MATRIX_ENABLE = no # yes # WS2812 # per-key RGB and underglow + +VIA_ENABLE = yes UNICODE_ENABLE = yes OLED_DRIVER_ENABLE = yes MOUSEKEY_ENABLE = no # use mouse keys or not + CONSOLE_ENABLE = no # debug info