# Keymapviz
[![Python Version](https://img.shields.io/badge/Python-3.x-blue.svg)](PythonVersion)
[![MIT License](https://img.shields.io/github/license/mashape/apistatus.svg)](LICENSE)
Keymapviz can convert keymap.c in [qmk_firmware](https://github.com/qmk/qmk_firmware) to ascii art or json file.
Following keyboards are supported.
- [crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd)
- [dactyl_manuform5x6](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/5x6)
- [dactyl_manuform6x6](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/6x6)
- [ergo42](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergo42)
- [ergodash](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodash) (layout: `default`, `2u_inner`)
- [ergodone](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodone)(ergodox)
- [ergodox_ez](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodox_ez)(ergodox)
- [fortitude60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/fortitude60)
- [helix](https://github.com/qmk/qmk_firmware/tree/master/keyboards/helix)
- [id75](https://github.com/qmk/qmk_firmware/tree/master/keyboards/idobao/id75)
- [kaishi65](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdclack/kaishi65)
- [kinesis](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kinesis)
- [kyria](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria)
- [lets_split](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split)
- [lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58)
- [mint60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/mint60)
- [moonlander](https://github.com/qmk/qmk_firmware/tree/master/keyboards/moonlander)
- [planck](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck) (layout: `default`(=`grid`), `mit`)
- [sofle](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle)
- [sweet16](https://github.com/qmk/qmk_firmware/tree/master/keyboards/1upkeyboards/sweet16)
## Install
Keymapviz works with **_Python3_**.
```sh
$ pip3 install keymapviz
```
## Usage
### Output ascii art
```sh
$ keymapviz qmk_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 replacements
A 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.properties
```
An example file is provided in the root of this project, named `config.properties`.
Output json file.
This json file can be used in [http://www.keyboard-layout-editor.com/](http://www.keyboard-layout-editor.com/).
```sh
$ keymapviz qmk_firmware/keyboards/lets_split/keymaps/default/keymap.c -t json -o 'lets_split{}.json'
$ ls lets_split*.json
lets_split0.json lets_split1.json lets_split2.json lets_split3.json lets_split4.json lets_split5.json
```
### Output fancy ascii art
Uses unicode symbols for drawing the box outlines.
```sh
$ keymapviz -t fancy qmk_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 │
*└────┴────┴────┴───────────────────────┴───┴───┴────┴───┴───┴────┘
* generated by [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 │
*└────┴────┴────┴───────────────────────┴───┴───┴────┴───┴───┴────┘
* generated by [keymapviz]
*/
```
### Replace ascii-art in keymap.c
Generate backup as keymap.c.bac
```sh
$ keymapviz -r keymap.c
```
## Contributing
Please see [CONTRIBUTING.md](./CONTRIBUTING.md).
## License
This software is released under the MIT License, see LICENSE.
Raw data
{
"_id": null,
"home_page": "https://github.com/yskoht/keymapviz",
"name": "keymapviz",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "keymapviz keymap.c qmk_firmware",
"author": "yskoht",
"author_email": "ysk.oht@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f2/b7/8ff37e1f6ccfe16f38fba2a115b12ffbafc91606c55b67d5e33ad471219b/keymapviz-1.14.1.tar.gz",
"platform": null,
"description": "# Keymapviz\n\n[![Python Version](https://img.shields.io/badge/Python-3.x-blue.svg)](PythonVersion)\n[![MIT License](https://img.shields.io/github/license/mashape/apistatus.svg)](LICENSE)\n\nKeymapviz can convert keymap.c in [qmk_firmware](https://github.com/qmk/qmk_firmware) to ascii art or json file.\n\nFollowing keyboards are supported.\n\n- [crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd)\n- [dactyl_manuform5x6](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/5x6)\n- [dactyl_manuform6x6](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/6x6)\n- [ergo42](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergo42)\n- [ergodash](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodash) (layout: `default`, `2u_inner`)\n- [ergodone](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodone)(ergodox)\n- [ergodox_ez](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ergodox_ez)(ergodox)\n- [fortitude60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/fortitude60)\n- [helix](https://github.com/qmk/qmk_firmware/tree/master/keyboards/helix)\n- [id75](https://github.com/qmk/qmk_firmware/tree/master/keyboards/idobao/id75)\n- [kaishi65](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kbdclack/kaishi65)\n- [kinesis](https://github.com/qmk/qmk_firmware/tree/master/keyboards/kinesis)\n- [kyria](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria)\n- [lets_split](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lets_split)\n- [lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58)\n- [mint60](https://github.com/qmk/qmk_firmware/tree/master/keyboards/mint60)\n- [moonlander](https://github.com/qmk/qmk_firmware/tree/master/keyboards/moonlander)\n- [planck](https://github.com/qmk/qmk_firmware/tree/master/keyboards/planck) (layout: `default`(=`grid`), `mit`)\n- [sofle](https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle)\n- [sweet16](https://github.com/qmk/qmk_firmware/tree/master/keyboards/1upkeyboards/sweet16)\n\n## Install\n\nKeymapviz works with **_Python3_**.\n\n```sh\n$ pip3 install keymapviz\n```\n\n## Usage\n\n### Output ascii art\n\n```sh\n$ keymapviz qmk_firmware/keyboards/ergodox_ez/keymaps/default/keymap.c\n\n/*\n *\n * .---------------------------------------------. .---------------------------------------------.\n * | EQL | 1 | 2 | 3 | 4 | 5 | LEFT | ! RGHT | 6 | 7 | 8 | 9 | 0 | MINS |\n * !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!\n * | DELT | Q | W | E | R | T |TG(SYMB| !TG(SYMB| Y | U | I | O | P | BSLS |\n * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!\n * | BSPC | A | S | D | F | G |-------! !-------! H | J | K | L |LT(MD|GUI_T(K|\n * !-------+-----+-----+-----x-----x-----!ALL_T(K! !MEH_T(K!-----x-----x-----+-----+-----+-------!\n * | LSFT |CTL_T| X | C | V | B | | ! | N | M |COMM | DOT |CTL_T| RSFT |\n * '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'\n * |LT(SYM|QUOT |LALT(|LEFT |RGHT | ! UP |DOWN |LBRC |RBRC | FN1 |\n * '------------------------------' '------------------------------'\n * .---------------. .---------------.\n * |ALT_T(K| LGUI | ! LALT |CTL_T(K|\n * .-------+-------+-------! !-------+-------+-------.\n * ! SPC ! BSPC | HOME | ! PGUP | TAB ! ENT !\n * ! ! !-------! !-------! ! !\n * | | | END | ! PGDN | | |\n * '-----------------------' '-----------------------'\n */\n\n\n/*\n *\n * .---------------------------------------------. .---------------------------------------------.\n * | VRSN | F1 | F2 | F3 | F4 | F5 | | ! | F6 | F7 | F8 | F9 | F10 | F11 |\n * !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!\n * | |EXLM | AT |LCBR |RCBR |PIPE | | ! | UP | 7 | 8 | 9 |ASTR | F12 |\n * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!\n * | |HASH | DLR |LPRN |RPRN | GRV |-------! !-------!DOWN | 4 | 5 | 6 |PLUS | |\n * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!\n * | |PERC |CIRC |LBRC |RBRC |TILD | | ! |AMPR | 1 | 2 | 3 |BSLS | |\n * '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'\n * | EPRM | | | | | ! | DOT | 0 | EQL | |\n * '------------------------------' '------------------------------'\n * .---------------. .---------------.\n * |RGB_MOD| | !RGB_TOG|RGB_SLD|\n * .-------+-------+-------! !-------+-------+-------.\n * !RGB_VAD!RGB_VAI| | ! |RGB_HUD!RGB_HUI!\n * ! ! !-------! !-------! ! !\n * | | | | ! | | |\n * '-----------------------' '-----------------------'\n */\n\n\n/*\n *\n * .---------------------------------------------. .---------------------------------------------.\n * | | | | | | | | ! | | | | | | |\n * !-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!\n * | | | |MS_U | | | | ! | | | | | | |\n * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!\n * | | |MS_L |MS_D |MS_R | |-------! !-------! | | | | | MPLY |\n * !-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!\n * | | | | | | | | ! | | |MPRV |MNXT | | |\n * '-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'\n * | | | |BTN1 |BTN2 | !VOLU |VOLD |MUTE | | |\n * '------------------------------' '------------------------------'\n * .---------------. .---------------.\n * | | | ! | |\n * .-------+-------+-------! !-------+-------+-------.\n * ! ! | | ! | ! WBAK !\n * ! ! !-------! !-------! ! !\n * | | | | ! | | |\n * '-----------------------' '-----------------------'\n */\n```\n\n### Legend replacements\n\nA 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:\n\n```\n[legends]\nKC_BLSLS=\\\nKC_QUOT='\n```\n\nIt can then be provided on the commandline like:\n\n```\n$ keymapviz qmk_firmware/keyboards/lets_split/keymaps/default/keymap.c -c /path/to/config.properties\n```\n\nAn example file is provided in the root of this project, named `config.properties`.\n\nOutput json file.\nThis json file can be used in [http://www.keyboard-layout-editor.com/](http://www.keyboard-layout-editor.com/).\n\n```sh\n$ keymapviz qmk_firmware/keyboards/lets_split/keymaps/default/keymap.c -t json -o 'lets_split{}.json'\n$ ls lets_split*.json\nlets_split0.json lets_split1.json lets_split2.json lets_split3.json lets_split4.json lets_split5.json\n```\n\n### Output fancy ascii art\n\nUses unicode symbols for drawing the box outlines.\n\n```sh\n$ keymapviz -t fancy qmk_firmware/keyboards/kbdclack/kaishi65/keymaps/default/keymap.c\n\n/*\u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2510\n *\u2502ES \u2502 1 \u2502 2 \u2502 3 \u2502 4 \u2502 5 \u2502 6 \u2502 7 \u2502 8 \u2502 9 \u2502 0 \u2502 MI\u2502 EQ\u2502 BS \u2502 GR \u2502\n *\u251c\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 TA \u2502 Q \u2502 W \u2502 E \u2502 R \u2502 T \u2502 Y \u2502 U \u2502 I \u2502 O \u2502 P \u2502 LB\u2502 RB\u2502 BS \u2502 DE \u2502\n *\u251c\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 CA \u2502 A \u2502 S \u2502 D \u2502 F \u2502 G \u2502 H \u2502 J \u2502 K \u2502 L \u2502 SC\u2502 QU\u2502 EN \u2502 PG \u2502\n *\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 LS \u2502 Z \u2502 X \u2502 C \u2502 V \u2502 B \u2502 N \u2502 M \u2502 CO\u2502 DO\u2502 SL\u2502 RS \u2502 UP\u2502 PG \u2502\n *\u251c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u252c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 LC \u2502 LG \u2502 LA \u2502 SP \u2502 RA\u2502 MO\u2502 RC \u2502 LE\u2502 DO\u2502 RG \u2502\n *\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2518\n * generated by [keymapviz]\n */\n\n/*\u250c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2510\n *\u2502 \u2502 F1\u2502 F2\u2502 F3\u2502 F4\u2502 F5\u2502 F6\u2502 F7\u2502 F8\u2502 F9\u2502 F1\u2502 F1\u2502 F1\u2502 DE \u2502 \u2502\n *\u251c\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 \u2502 BT\u2502 MS\u2502 BT\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 IN \u2502\n *\u251c\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 \u2502 MS\u2502 MS\u2502 MS\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 HO \u2502\n *\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 MU\u2502 \u2502 \u2502 \u2502 \u2502 VO\u2502 EN \u2502\n *\u251c\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2534\u252c\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u252c\u2500\u2534\u2500\u2500\u252c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2524\n *\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 \u2502 MP\u2502 VO\u2502 MN \u2502\n *\u2514\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2518\n * generated by [keymapviz]\n */\n```\n\n### Replace ascii-art in keymap.c\n\nGenerate backup as keymap.c.bac\n\n```sh\n$ keymapviz -r keymap.c\n```\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nThis software is released under the MIT License, see LICENSE.\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "keymap.c visualizer",
"version": "1.14.1",
"split_keywords": [
"keymapviz",
"keymap.c",
"qmk_firmware"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b20e5834fed1119112ba08ff4bf3c21b1e718e076073314c8db5b9a1350beb5",
"md5": "b0b4bba7bdfcda909336f2d75b9d2466",
"sha256": "d01eb8949fe6eeb9539efcb9f0bec79c9feee51e5ddbfb6682c96ad2285f94f0"
},
"downloads": -1,
"filename": "keymapviz-1.14.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b0b4bba7bdfcda909336f2d75b9d2466",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 32803,
"upload_time": "2023-04-02T09:14:46",
"upload_time_iso_8601": "2023-04-02T09:14:46.869088Z",
"url": "https://files.pythonhosted.org/packages/3b/20/e5834fed1119112ba08ff4bf3c21b1e718e076073314c8db5b9a1350beb5/keymapviz-1.14.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f2b78ff37e1f6ccfe16f38fba2a115b12ffbafc91606c55b67d5e33ad471219b",
"md5": "2a36d3d531fb94542a5151147d0ba5a5",
"sha256": "3377b55801f09ff002c27b94fece166c54260115aad6e743d53ff7c4ff8b6582"
},
"downloads": -1,
"filename": "keymapviz-1.14.1.tar.gz",
"has_sig": false,
"md5_digest": "2a36d3d531fb94542a5151147d0ba5a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 24745,
"upload_time": "2023-04-02T09:14:49",
"upload_time_iso_8601": "2023-04-02T09:14:49.167276Z",
"url": "https://files.pythonhosted.org/packages/f2/b7/8ff37e1f6ccfe16f38fba2a115b12ffbafc91606c55b67d5e33ad471219b/keymapviz-1.14.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-02 09:14:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "yskoht",
"github_project": "keymapviz",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "keymapviz"
}