zmk/app/boards/shields/cradio
Peter Johanson fff1cbecdc fix: Add wakeup-source; to kscan nodes for ZMK_SLEEP.
* ZMK_SLEEP also enables PM_DEVICE, so be sure to mark kscan
  nodes as wakeup sources so they can wake keyboards from sleep.
2024-03-29 12:31:43 -07:00
..
cradio_left.conf refactor(splits): Ability to override split role. 2020-12-28 10:16:24 -05:00
cradio_left.overlay fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio_right.conf fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio_right.overlay refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00
cradio.conf fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio.dtsi fix: Add wakeup-source; to kscan nodes for ZMK_SLEEP. 2024-03-29 12:31:43 -07:00
cradio.keymap refactor(behaviors)!: Remove labels from behaviors 2023-12-04 20:06:54 -06:00
cradio.zmk.yml refactor(shields): Add pro-micro shield metadata. 2021-09-11 00:50:36 -04:00
Kconfig.defconfig refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00
Kconfig.shield refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00
README.md refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00

Cradio

Cradio is a firmware for a few 34 key keyboards, including Cradio, Hypergolic and Sweep.

Pin arrangement

Some revisions of the aforementioned PCBs have slightly different pin arrangements compared to what's defined in cradio.dtsi. If you need to swap a few keys for your particular PCB, you can easily reorder the input-gpio definition in your own keymap file (i.e. in zmk-config/config/cradio.keymap):

/* Adjusted Cradio pin arrangement */
/* The position of Q and B keys have been swapped */
&kscan0 {
    input-gpios
    = <&pro_micro  6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    , <&pro_micro  9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
    ;
};

This &kscan0 block must be placed outside of any blocks surrounded by curly braces ({...}).