keymapviz


Namekeymapviz JSON
Version 1.14.1 PyPI version JSON
download
home_pagehttps://github.com/yskoht/keymapviz
Summarykeymap.c visualizer
upload_time2023-04-02 09:14:49
maintainer
docs_urlNone
authoryskoht
requires_python>=3.5
license
keywords keymapviz keymap.c qmk_firmware
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.08001s