diff --git a/app/boards/shields/murphpad/Kconfig.defconfig b/app/boards/shields/murphpad/Kconfig.defconfig new file mode 100644 index 00000000..5eee9ade --- /dev/null +++ b/app/boards/shields/murphpad/Kconfig.defconfig @@ -0,0 +1,9 @@ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT + +if SHIELD_MURPHPAD + +config ZMK_KEYBOARD_NAME + default "MurphPad" + +endif \ No newline at end of file diff --git a/app/boards/shields/murphpad/Kconfig.shield b/app/boards/shields/murphpad/Kconfig.shield new file mode 100644 index 00000000..18fa5887 --- /dev/null +++ b/app/boards/shields/murphpad/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright (c) 2020 The ZMK Contributors +# SPDX-License-Identifier: MIT + +config SHIELD_MURPHPAD + def_bool $(shields_list_contains,murphpad) \ No newline at end of file diff --git a/app/boards/shields/murphpad/murphpad.conf b/app/boards/shields/murphpad/murphpad.conf new file mode 100644 index 00000000..6e84421e --- /dev/null +++ b/app/boards/shields/murphpad/murphpad.conf @@ -0,0 +1,6 @@ +# Turn on logging, and set ZMK logging to debug output +CONFIG_ZMK_USB_LOGGING=n + +# Uncomment to enable encoder +# CONFIG_EC11=y +# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y \ No newline at end of file diff --git a/app/boards/shields/murphpad/murphpad.keymap b/app/boards/shields/murphpad/murphpad.keymap new file mode 100644 index 00000000..15231acc --- /dev/null +++ b/app/boards/shields/murphpad/murphpad.keymap @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include +#include +#include +#include + +#define TIMEOUT 100 + +/ { + combos { + compatible = "zmk,combos"; + combo_btclr { + timeout-ms = ; + key-positions = <1 25>; + bindings = <&bt BT_CLR>; + }; + combo_reset { + timeout-ms = ; + key-positions = <1 3>; + bindings = <&reset>; + }; + combo_bootloader { + timeout-ms = ; + key-positions = <1 2>; + bindings = <&bootloader>; + }; + combo_bt_nxt { + timeout-ms = ; + key-positions = <1 4>; + bindings = <&bt BT_NXT>; + }; + }; + keymap0: keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < + &none &kp F1 &kp F2 &kp F3 &kp F4 + &none &kp KP_NUM &kp KP_DIVIDE &kp KP_MULTIPLY &kp KP_MINUS + &none &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_PLUS + &kp C_MUTE &kp KP_N4 &kp KP_N5 &kp KP_N6 &none + &mo 1 &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER + &kp BSPC &kp KP_N0 &none &kp KP_DOT &none + >; + }; + fn_layer { + bindings = < + &none &kp F1 &kp F2 &kp F3 &kp F4 + &none &kp KP_NUM &kp KP_DIVIDE &kp KP_MULTIPLY &kp KP_MINUS + &none &kp KP_N7 &kp KP_N8 &kp KP_N9 &ext_power EP_OFF + &kp C_MUTE &kp KP_N4 &kp KP_N5 &kp KP_N6 &none + &mo 1 &kp KP_N1 &kp KP_N2 &kp KP_N3 &ext_power EP_OFF + &kp BSPC &kp KP_N0 &none &kp KP_DOT &none + >; + + }; + }; +}; \ No newline at end of file diff --git a/app/boards/shields/murphpad/murphpad.overlay b/app/boards/shields/murphpad/murphpad.overlay new file mode 100644 index 00000000..6181473e --- /dev/null +++ b/app/boards/shields/murphpad/murphpad.overlay @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2020 The ZMK Contributors + * + * SPDX-License-Identifier: MIT + */ + +#include + +/ { + chosen { + zmk,kscan = &kscan0; + }; + + kscan0: kscan { + compatible = "zmk,kscan-gpio-matrix"; + label = "KSCAN"; + + diode-direction = "col2row"; + row-gpios + = <&pro_micro_a 3 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro_d 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro_d 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro_d 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro_a 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + , <&pro_micro_a 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> + ; + col-gpios + = <&pro_micro_a 9 GPIO_ACTIVE_HIGH> + , <&pro_micro_a 7 GPIO_ACTIVE_HIGH> + , <&pro_micro_d 5 GPIO_ACTIVE_HIGH> + , <&pro_micro_a 6 GPIO_ACTIVE_HIGH> + , <&pro_micro_a 10 GPIO_ACTIVE_HIGH> + ; + }; + +}; \ No newline at end of file