keymap.c可视化工具

keymapviz的Python项目详细描述


keymapviz

Python VersionMIT License

keymappviz可以将qmk_firmware中的keymap.c转换为ascii art或json文件。

支持以下键盘。

安装

keymappviz与python3一起工作。

$ pip3 install keymapviz

用法

输出ascii艺术。

$ 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  !
 *                       !       !       !-------! !-------!       !       !
 *                       |||| !       |||
 *                       '-----------------------''-----------------------'
 */

输出json文件。 这个json文件可以在http://www.keyboard-layout-editor.com/中使用。

$ 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

替换keymap.c中的ascii art(将备份生成为keymap.c.bac)

$ keymapviz -r keymap.c

许可证

此软件是在麻省理工学院的许可下发布的,请参阅许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中深度复制双链表   为什么Eclipse会生成。类文件,如果我的Java源文件中存在语法错误?   java递归计算嵌套向量中的唯一对象   java使用CriteriaQuery选择通用主键   java如何使JComboBox中的某些项不可选择?   使用自定义背景色时,swing组件的java错误重绘()   java JSONDoc未显示有关服务的详细信息   java对象或基本类型   jaxb的javaxml解析问题   java如何创建自定义按钮形状类   java我的合并排序对于数组长度10不起作用,有什么原因吗   java jTextField从数据库自动完成   java如何创建tar。从文件列表中选择gz文件?   eclipse如何纠正java项目中的所有有效LIB?