diff --git a/.github/workflows/draw-keymaps.yml b/.github/workflows/draw-keymaps.yml new file mode 100644 index 0000000..12ac26f --- /dev/null +++ b/.github/workflows/draw-keymaps.yml @@ -0,0 +1,22 @@ +# Draw keymap diagrams using keymap-drawer ZMK user config workflow +name: Draw ZMK keymaps +on: + workflow_dispatch: + push: + paths: + - 'config/*.keymap' + - 'config/includes/*.dtsi' + - keymap-drawer/config.yaml + - .github/workflows/draw-keymaps.yml + +jobs: + draw: + uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main + with: + keymap_patterns: 'config/*.keymap' + config_path: keymap-drawer/config.yaml + output_folder: keymap-drawer + install_branch: main + amend_commit: true + draw_args: "ergonaut_one:'-k corne_rotated -l LAYOUT_split_3x6_3'" + json_path: keymap-drawer/layouts \ No newline at end of file diff --git a/README.md b/README.md index e3da391..a1069c9 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@ This is a repository for a ZMK Firmware for Ergonaut One keyboard. Visual representation of the default keymap in keyboard-layout-editor: [KLE](http://www.keyboard-layout-editor.com/#/gists/13d0f7ae7a8b5835efcd23d61f50336a) +Below representation was generated with [`keymap-drawer`](https://github.com/caksoylar/keymap-drawer) -- check out the automatically generated layouts using the [automated Github workflow](https://github.com/caksoylar/keymap-drawer/tree/main#setting-up-an-automated-drawing-workflow) for each keyboard in the [`keymap-drawer` folder](keymap-drawer/), which is always up to date with the config. + +![Keymap Representation](./keymap-drawer/ergonaut_one.svg?raw=true "Keymap Representation") + This layout is heavily inspired from [Watchman 42-key layout](https://github.com/aroum/Watchman-layouts) ## FAQ diff --git a/keymap-drawer/config.yaml b/keymap-drawer/config.yaml new file mode 100644 index 0000000..591cf3e --- /dev/null +++ b/keymap-drawer/config.yaml @@ -0,0 +1,173 @@ +# configuration for https://github.com/caksoylar/keymap-drawer +parse_config: + raw_binding_map: + '&sys_reset': Reset + '&bootloader': Boot + '&swapper': Win Next + '&caps_word': Caps Word + '&inv_qm': ¿ + + '&kp LC(LG(LEFT))': Desk Left + '&kp LC(LG(RIGHT))': Desk Right + '&kp LC(TAB)': Tab Right + '&kp LC(LS(TAB))': Tab Left + '&kp LA(F4)': Win Close + '&kp LC(F4)': Tab Close + '&kp LS(TAB)': Win Prev + '&kp LS(INS)': Paste + '&kp LG(L)': Lock + + '&out OUT_USB': Out USB + '&out OUT_BLE': Out BLE + + '&bt BT_SEL 0': BT 1 + '&bt BT_SEL 1': BT 2 + '&bt BT_SEL 2': BT 3 + '&bt BT_SEL 3': BT 4 + '&bt BT_SEL 4': BT 5 + + '&mmv MOVE_UP': Mouse ↑ + '&mmv MOVE_DOWN': Mouse ↓ + '&mmv MOVE_LEFT': Mouse ← + '&mmv MOVE_RIGHT': Mouse → + + '&msc SCRL_UP': Scroll ↑ + '&msc SCRL_DOWN': Scroll ↓ + '&msc SCRL_LEFT': Scroll ← + '&msc SCRL_RIGHT': Scroll → + + '&mkp LCLK': Left Click + '&mkp RCLK': Right Click + '&mkp MCLK': Middle Click + '&mkp MB4': Back Click + '&mkp MB5': Forward Click + + zmk_combos: + combo_tab: {align: top, o: 0.15} + combo_del: {align: top, o: 0.15} + combo_f12: {align: bottom} + combo_btclr: {align: bottom} + combo_play: {align: right} + combo_capswd: {draw_separate: true} + combo_semi: {draw_separate: true} + combo_grave: {draw_separate: true} + combo_lpar: {draw_separate: true} + combo_rpar: {draw_separate: true} + combo_lbkt: {draw_separate: true} + combo_rbkt: {draw_separate: true} + combo_tab: {draw_separate: true} + combo_del: {draw_separate: true} + combo_esc: {draw_separate: true} + combo_ret: {draw_separate: true} + combo_lock: {draw_separate: true} + combo_bslh: {draw_separate: true} + combo_slsh: {draw_separate: true} + + zmk_keycode_map: + # custom mappings + C_VOL_UP: Vol Up + C_VOL_DN: Vol Down + C_AL_CALC: Calc + C_PP: Play Pause + + LCTRL: Ctrl + RCTRL: Ctrl + LALT: Alt + RALT: Alt + LGUI: Gui + RGUI: Gui + LSHFT: Shift + RSHFT: Shift + ESC: Esc + SPACE: ␣ + BSPC: ⌫ + RET: ⏎ + TAB: ↹ + DEL: ⌦ + + PG_UP: Page Up + PG_DN: Page Down + INS: Insert + HOME: Home + END: End + CAPS: Caps Lock + PSCRN: Print Scrn + PAUSE_BREAK: Pause Break + + UP: ↑ + DOWN: ↓ + LEFT: ← + RIGHT: → + + C_PP: ⏯ + C_NEXT: ⏭️ + C_PREV: ⏮️ + + # defaults + AMPERSAND: '&' + AMPS: '&' + APOS: "'" + APOSTROPHE: "'" + ASTERISK: '*' + ASTRK: '*' + AT: '@' + AT_SIGN: '@' + BACKSLASH: \ + BSLH: \ + CARET: ^ + COLON: ':' + COMMA: ',' + DLLR: $ + DOLLAR: $ + DOT: . + DOUBLE_QUOTES: '"' + DQT: '"' + EQUAL: '=' + EXCL: '!' + EXCLAMATION: '!' + FSLH: / + GRAVE: '`' + GREATER_THAN: '>' + GT: '>' + HASH: '#' + LBKT: '[' + LBRC: '{' + LEFT_BRACE: '{' + LEFT_BRACKET: '[' + LEFT_PARENTHESIS: ( + LESS_THAN: < + LPAR: ( + LT: < + MINUS: '-' + NON_US_BACKSLASH: \ + NON_US_BSLH: '|' + NON_US_HASH: '#' + NUHS: '#' + PERCENT: '%' + PERIOD: . + PIPE: '|' + PIPE2: '|' + PLUS: + + POUND: '#' + PRCNT: '%' + QMARK: '?' + QUESTION: '?' + RBKT: ']' + RBRC: '}' + RIGHT_BRACE: '}' + RIGHT_BRACKET: ']' + RIGHT_PARENTHESIS: ) + RPAR: ) + SEMI: ; + SEMICOLON: ; + SINGLE_QUOTE: '''' + SLASH: / + SQT: '''' + STAR: '*' + TILDE: '~' + TILDE2: '~' + UNDER: _ + UNDERSCORE: _ +draw_config: + footer_text: 'Created with keymap-drawer' + dark_mode: auto \ No newline at end of file diff --git a/keymap-drawer/ergonaut_one.svg b/keymap-drawer/ergonaut_one.svg new file mode 100644 index 0000000..3ec2282 --- /dev/null +++ b/keymap-drawer/ergonaut_one.svg @@ -0,0 +1,878 @@ + + + +default: + + + +] +Gui + + + +Q + + + +W + + + +E + + + +R + + + +T + + + +Y + + + +U + + + +I + + + +O + + + +P + + + +[ + + + +` +Ctrl + + + +A + + + +S + + + +D + + + +F + + + +G + + + +H + + + +J + + + +K + + + +L + + + +; + + + +' +Ctrl + + + +- +Alt + + + +Z + + + +X + + + +C + + + +V + + + +B + + + +N + + + +M + + + +, + + + +. + + + +/ + + + +\ +Alt + + + + +raise + + + + +Shift + + + + +lower + + + +Esc +lower + + + + +Shift + + + + +raise + + + + +lower: + + + +F1 +Gui + + + +F2 + + + +F3 + + + +F4 + + + +F5 + + + +F6 + + + +F7 + + + +F8 + + + +F9 + + + +F10 + + + +F11 + + + +F12 + + + ++ +Ctrl + + + +! + + + +@ + + + +# + + + +$ + + + +% + + + +^ + + + +& + + + +* + + + +( + + + +) + + + +- +Ctrl + + + += +Alt + + + +1 + + + +2 + + + +3 + + + +4 + + + +5 + + + +6 + + + +7 + + + +8 + + + +9 + + + +0 + + + +Alt + + + + + + + + + + + + + + + + + + + + + + + + + + + +raise: + + + + +KPNUM + +Gui + + + + +KPSLASH + + + + + +KP7 + + + + + +KP8 + + + + + +KP9 + + + + + +KPMINUS + + + + + +VolUp + + + + +Home + + + + +PrintScrn + + + + + +PageUp + + + + +SLCK + + + +CLCK + + + += +Ctrl + + + + +KPMULTIPLY + + + + + +KP4 + + + + + +KP5 + + + + + +KP6 + + + + + +KPPLUS + + + + +MUTE + + + + + + + + + + + + + + + +Insert + + + +APP +Ctrl + + + +Alt + + + + +KP0 + + + + + +KP1 + + + + + +KP2 + + + + + +KP3 + + + + + +KPDOT + + + + + +VolDown + + + + +End + + + + + + + + +PageDown + + + + + +PauseBreak + + + + +Alt + + + + + + + + + + + + + + + + + + + + + + + + + + + +adjust: + + + +Boot + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Boot + + + + +BTCLR + + + + + +BT1 + + + + + +BT2 + + + + + +BT3 + + + + + +BT4 + + + + + +BT5 + + + + + +BT5 + + + + + +BT4 + + + + + +BT3 + + + + + +BT2 + + + + + +BT1 + + + + + +BTCLR + + + + +Reset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Reset + + + + + + + + + + + + + + + + + + + + + + + +Created with keymap-drawer diff --git a/keymap-drawer/ergonaut_one.yaml b/keymap-drawer/ergonaut_one.yaml new file mode 100644 index 0000000..7fa4a40 --- /dev/null +++ b/keymap-drawer/ergonaut_one.yaml @@ -0,0 +1,173 @@ +layers: + default: + - {t: ']', h: Gui} + - Q + - W + - E + - R + - T + - Y + - U + - I + - O + - P + - '[' + - {t: '`', h: Ctrl} + - A + - S + - D + - F + - G + - H + - J + - K + - L + - ; + - {t: '''', h: Ctrl} + - {t: '-', h: Alt} + - Z + - X + - C + - V + - B + - N + - M + - ',' + - . + - / + - {t: \, h: Alt} + - {t: ↹, h: raise} + - {t: ␣, h: Shift} + - {t: ⏎, h: lower} + - {t: Esc, h: lower} + - {t: ⌫, h: Shift} + - {t: ⌦, h: raise} + lower: + - {t: F1, h: Gui} + - F2 + - F3 + - F4 + - F5 + - F6 + - F7 + - F8 + - F9 + - F10 + - F11 + - F12 + - {t: +, h: Ctrl} + - '!' + - '@' + - '#' + - $ + - '%' + - ^ + - '&' + - '*' + - ( + - ) + - {t: '-', h: Ctrl} + - {t: '=', h: Alt} + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '0' + - Alt + - {t: ▽, type: trans} + - {t: ▽, type: trans} + - {type: held} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + raise: + - {t: KP NUM, h: Gui} + - KP SLASH + - KP 7 + - KP 8 + - KP 9 + - KP MINUS + - Vol Up + - Home + - Print Scrn + - Page Up + - SLCK + - CLCK + - {t: '=', h: Ctrl} + - KP MULTIPLY + - KP 4 + - KP 5 + - KP 6 + - KP PLUS + - MUTE + - ← + - ↑ + - → + - Insert + - {t: APP, h: Ctrl} + - Alt + - KP 0 + - KP 1 + - KP 2 + - KP 3 + - KP DOT + - Vol Down + - End + - ↓ + - Page Down + - Pause Break + - Alt + - {type: held} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + - {t: ▽, type: trans} + adjust: + - Boot + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - Boot + - BT CLR + - BT 1 + - BT 2 + - BT 3 + - BT 4 + - BT 5 + - BT 5 + - BT 4 + - BT 3 + - BT 2 + - BT 1 + - BT CLR + - Reset + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - Reset + - {type: held} + - '' + - {type: held} + - '' + - {t: ▽, type: trans} + - {t: ▽, type: trans}