diff --git a/boards/may_pad/README.md b/boards/may_pad/README.md new file mode 100644 index 0000000..7f96e8b --- /dev/null +++ b/boards/may_pad/README.md @@ -0,0 +1,17 @@ +# May Pad + +![Navi10](https://images.squarespace-cdn.com/content/v1/5a8723cb7131a5121206d464/1606191335495-CWRDEYORTXXPJLIAWX4K/_RO_5366.jpg?format=1500w) + +A through hole kit using a pro micro footprint and through hole diodes! Can be a 20 key macropad or a numpad! + +kb.py is designed to work with the Adafruit KB2040 + +Retailers (USA) +[KeyHive](https://keyhive.xyz/shop/may-pad) + +Extensions enabled by default +- [Layers](https://github.com/KMKfw/kmk_firmware/tree/master/docs/layers.md) Need more keys than switches? Use layers. +- [MediaKeys](https://github.com/KMKfw/kmk_firmware/tree/master/docs/media_keys.md) Control volume and other media functions + +Common Extensions +- [Power](https://github.com/KMKfw/kmk_firmware/tree/master/docs/power.md) Powersaving features for battery life diff --git a/boards/may_pad/kb.py b/boards/may_pad/kb.py new file mode 100644 index 0000000..36dab0d --- /dev/null +++ b/boards/may_pad/kb.py @@ -0,0 +1,16 @@ +import board + +from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard +from kmk.matrix import DiodeOrientation + + +class KMKKeyboard(_KMKKeyboard): + row_pins = (board.D5, board.D6, board.D7, board.D8, board.D9) + col_pins = ( + board.A1, + board.A0, + board.SCK, + board.MISO, + ) + diode_orientation = DiodeOrientation.COLUMNS + i2c = board.I2C diff --git a/boards/may_pad/main.py b/boards/may_pad/main.py new file mode 100644 index 0000000..aea3407 --- /dev/null +++ b/boards/may_pad/main.py @@ -0,0 +1,29 @@ +from kb import KMKKeyboard +from kmk.extensions.media_keys import MediaKeys +from kmk.keys import KC +from kmk.modules.layers import Layers + +keyboard = KMKKeyboard() + +media = MediaKeys() +layers_ext = Layers() + +keyboard.extensions = [media] +keyboard.modules = [layers_ext] + +# Cleaner key names +_______ = KC.TRNS +XXXXXXX = KC.NO + +keyboard.keymap = [ + [ + KC.NLCK, KC.PSLS, KC.PAST, KC.PMNS, + KC.P7, KC.P8, KC.P9, _______, + KC.P4, KC.P5, KC.P6, KC.PPLS, + KC.P1, KC.P2, KC.P3, _______, + _______, KC.P0, KC.PDOT, KC.PENT, + ] +] + +if __name__ == '__main__': + keyboard.go()