Package: keymapviz
KeymapvizKeymapviz can convert keymap.c inqmk_firmwareto ascii art or json file.Following keyboards are supported.crkbddactyl_manuform5x6dactyl_manuform6x6ergo42ergodash(layout:default,2u_inner)ergodone(ergodox)ergodox_ez(ergodox)fortitude60helixid75kaishi65kinesiskyrialets_splitlily58mint60moonlanderplanck(layout:default(=grid),mit)soflesweet16InstallKeymapviz works withPython3.$pip3installkeymapvizUsageOutput ascii art$keymapvizqmk_firmware/keyboards/ergodox_ez/keymaps/default/keymap.c

/***.---------------------------------------------..---------------------------------------------.*|EQL|1|2|3|4|5|LEFT|!RGHT|6|7|8|9|0|MINS|*!-------+-----+-----+-----+-----+-------------!!-------+-----+-----+-----+-----+-----+-------!*|DELT|Q|W|E|R|T|TG(SYMB|!TG(SYMB|Y|U|I|O|P|BSLS|*!-------+-----+-----+-----x-----x-----!!!!-----x-----x-----+-----+-----+-------!*|BSPC|A|S|D|F|G|-------!!-------!H|J|K|L|LT(MD|GUI_T(K|*!-------+-----+-----+-----x-----x-----!ALL_T(K!!MEH_T(K!-----x-----x-----+-----+-----+-------!*|LSFT|CTL_T|X|C|V|B||!|N|M|COMM|DOT|CTL_T|RSFT|*'-------+-----+-----+-----+-----+-------------''-------------+-----+-----+-----+-----+-------'*|LT(SYM|QUOT|LALT(|LEFT|RGHT|!UP|DOWN|LBRC|RBRC|FN1|*'------------------------------''------------------------------'*.---------------..---------------.*|ALT_T(K|LGUI|!LALT|CTL_T(K|*.-------+-------+-------!!-------+-------+-------.*!SPC!BSPC|HOME|!PGUP|TAB!ENT!*!!!-------!!-------!!!*|||END|!PGDN|||*'-----------------------''-----------------------'*/


/***.---------------------------------------------..---------------------------------------------.*|VRSN|F1|F2|F3|F4|F5||!|F6|F7|F8|F9|F10|F11|*!-------+-----+-----+-----+-----+-------------!!-------+-----+-----+-----+-----+-----+-------!*||EXLM|AT|LCBR|RCBR|PIPE||!|UP|7|8|9|ASTR|F12|*!-------+-----+-----+-----x-----x-----!!!!-----x-----x-----+-----+-----+-------!*||HASH|DLR|LPRN|RPRN|GRV|-------!!-------!DOWN|4|5|6|PLUS||*!-------+-----+-----+-----x-----x-----!!!!-----x-----x-----+-----+-----+-------!*||PERC|CIRC|LBRC|RBRC|TILD||!|AMPR|1|2|3|BSLS||*'-------+-----+-----+-----+-----+-------------''-------------+-----+-----+-----+-----+-------'*|EPRM|||||!|DOT|0|EQL||*'------------------------------''------------------------------'*.---------------..---------------.*|RGB_MOD||!RGB_TOG|RGB_SLD|*.-------+-------+-------!!-------+-------+-------.*!RGB_VAD!RGB_VAI||!|RGB_HUD!RGB_HUI!*!!!-------!!-------!!!*||||!|||*'-----------------------''-----------------------'*/


/***.---------------------------------------------..---------------------------------------------.*||||||||!|||||||*!-------+-----+-----+-----+-----+-------------!!-------+-----+-----+-----+-----+-----+-------!*||||MS_U||||!|||||||*!-------+-----+-----+-----x-----x-----!!!!-----x-----x-----+-----+-----+-------!*|||MS_L|MS_D|MS_R||-------!!-------!|||||MPLY|*!-------+-----+-----+-----x-----x-----!!!!-----x-----x-----+-----+-----+-------!*||||||||!|||MPRV|MNXT|||*'-------+-----+-----+-----+-----+-------------''-------------+-----+-----+-----+-----+-------'*||||BTN1|BTN2|!VOLU|VOLD|MUTE|||*'------------------------------''------------------------------'*.---------------..---------------.*|||!||*.-------+-------+-------!!-------+-------+-------.*!!||!|!WBAK!*!!!-------!!-------!!!*||||!|||*'-----------------------''-----------------------'*/Legend replacementsA config file containing legend replacements can be provided to change the legends to your liking. It should have a section named 'legends' and e.g. look like:[legends]
KC_BLSLS=\
KC_QUOT='It can then be provided on the commandline like:$ keymapviz qmk_firmware/keyboards/lets_split/keymaps/default/keymap.c -c /path/to/config.propertiesAn example file is provided in the root of this project, namedconfig.properties.Output json file.
This json file can be used inhttp://www.keyboard-layout-editor.com/.$keymapvizqmk_firmware/keyboards/lets_split/keymaps/default/keymap.c-tjson-o'lets_split{}.json'$lslets_split*.json
lets_split0.jsonlets_split1.jsonlets_split2.jsonlets_split3.jsonlets_split4.jsonlets_split5.jsonOutput fancy ascii artUses unicode symbols for drawing the box outlines.$keymapviz-tfancyqmk_firmware/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c

/*┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬────┐*│ES│1│2│3│4│5│6│7│8│9│0│MI│EQ│BS│GR│*├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼────┤*│TA│Q│W│E│R│T│Y│U│I│O│P│LB│RB│BS│DE│*├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┼────┤*│CA│A│S│D│F│G│H│J│K│L│SC│QU│EN│PG│*├───────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┬───┼────┤*│LS│Z│X│C│V│B│N│M│CO│DO│SL│RS│UP│PG│*├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┼───┼────┤*│LC│LG│LA│SP│RA│MO│RC│LE│DO│RG│*└────┴────┴────┴───────────────────────┴───┴───┴────┴───┴───┴────┘*generatedby[keymapviz]*/

/*┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬────┐*││F1│F2│F3│F4│F5│F6│F7│F8│F9│F1│F1│F1│DE││*├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼────┤*││BT│MS│BT│││││││││││IN│*├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┼────┤*││MS│MS│MS││││││││││HO│*├───────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┬───┼────┤*││││││││MU│││││VO│EN│*├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┼───┼────┤*││││││││MP│VO│MN│*└────┴────┴────┴───────────────────────┴───┴───┴────┴───┴───┴────┘*generatedby[keymapviz]*/Replace ascii-art in keymap.cGenerate backup as keymap.c.bac$keymapviz-rkeymap.cContributingPlease seeCONTRIBUTING.md.LicenseThis software is released under the MIT License, see LICENSE.