]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - users/drashna/readme.md
Update to drashna userspace (Keymap Templating) (#2338)
[qmk_firmware.git] / users / drashna / readme.md
index e77948ea9a214b1ab8f5d69edd09cd93520e3fe7..92792fb97a8e2f0e25849d2a934246b44f82c00e 100644 (file)
@@ -20,6 +20,22 @@ This allows for keyboard specific configuration while maintaining the ability to
 My [Ergodox EZ Keymap](https://github.com/qmk/qmk_firmware/blob/master/keyboards/ergodox_ez/keymaps/drashna/keymap.c#L399) is a good example of this, as it uses the LEDs as modifier indicators.
 
 
+Keyboard Layout Templates
+-------------------------
+
+This borrows from @jola5's "Not quite neo" code.  This allows me to maintain blocks of keymaps in the userspace, so that I can modify the userspace, and this is reflected in all of the keyboards that use it, at once. 
+
+This makes adding tap/hold mods, or other special keycodes or functions to all keyboards super easy, as it's done to all of them at once. 
+
+The caveat here is that the keymap needs a processor/wrapper, as it doesn't like the substitutions.  However, this is as simple as just pushing it through a define. For instance: 
+
+`#define LAYOUT_ergodox_wrapper(...)   LAYOUT_ergodox(__VA_ARGS__)`
+
+Once that's been done and you've switched the keymaps to use the "wrapper", it will read the substitution blocks just fine. 
+
+Credit goes to @jola5 for first implementing this awesome idea.
+
+
 Custom Keycodes
 ---------------