├── boards └── shields │ └── .gitkeep ├── zephyr └── module.yml ├── config ├── boards │ └── shields │ │ └── blumicro │ │ ├── Kconfig.shield │ │ ├── Kconfig.defconfig │ │ ├── BluMicro.keymap │ │ └── BluMicro.overlay └── west.yml └── .github └── workflows └── build.yml /boards/shields/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zephyr/module.yml: -------------------------------------------------------------------------------- 1 | build: 2 | settings: 3 | board_root: . 4 | -------------------------------------------------------------------------------- /config/boards/shields/blumicro/Kconfig.shield: -------------------------------------------------------------------------------- 1 | config SHIELD_BLUMICRO 2 | def_bool $(shields_list_contains, BluMicro) 3 | -------------------------------------------------------------------------------- /config/boards/shields/blumicro/Kconfig.defconfig: -------------------------------------------------------------------------------- 1 | if SHIELD_BLUMICRO 2 | 3 | config ZMK_KEYBOARD_NAME 4 | default "BluMicro" 5 | 6 | endif 7 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | on: [push, pull_request, workflow_dispatch] 2 | 3 | jobs: 4 | build: 5 | uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main 6 | -------------------------------------------------------------------------------- /config/west.yml: -------------------------------------------------------------------------------- 1 | manifest: 2 | remotes: 3 | - name: zmkfirmware 4 | url-base: https://github.com/zmkfirmware 5 | # Additional modules containing boards/shields/custom code can be listed here as well 6 | # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects 7 | projects: 8 | - name: zmk 9 | remote: zmkfirmware 10 | revision: main 11 | import: app/west.yml 12 | self: 13 | path: config 14 | -------------------------------------------------------------------------------- /config/boards/shields/blumicro/BluMicro.keymap: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | / { 6 | keymap { 7 | compatible = "zmk,keymap"; 8 | 9 | default_layer { 10 | bindings = < 11 | &kp KP_N7 &kp KP_N8 &mo 1 12 | &kp KP_N4 &kp KP_N5 &kp KP_N6 13 | &kp KP_N1 &kp KP_N2 &kp KP_N3 14 | >; 15 | }; 16 | 17 | bt_layer { 18 | bindings = < 19 | &none &none &bootloader 20 | &none &none &bt BT_CLR 21 | &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 22 | >; 23 | }; 24 | }; 25 | }; 26 | -------------------------------------------------------------------------------- /config/boards/shields/blumicro/BluMicro.overlay: -------------------------------------------------------------------------------- 1 | / { 2 | chosen { 3 | zmk,kscan = &default_kscan; 4 | }; 5 | 6 | default_kscan: kscan { 7 | compatible = "zmk,kscan-gpio-direct"; 8 | label = "default_kscan"; 9 | 10 | input-gpios = <&pro_micro 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 11 | <&pro_micro 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 12 | <&pro_micro 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 13 | <&pro_micro 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 14 | <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 15 | <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 16 | <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 17 | <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>, 18 | <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 19 | }; 20 | }; 21 | --------------------------------------------------------------------------------