diff --git a/boards/jpconstantineau/Batreus44/README.md b/boards/jpconstantineau/Batreus44/README.md new file mode 100644 index 0000000..dc49a6c --- /dev/null +++ b/boards/jpconstantineau/Batreus44/README.md @@ -0,0 +1,14 @@ +# JPConstantineau's Batreus44: An Atreus44 clone with Low Profile Switches and Wireless Options! + +![Batreus44](https://preview.redd.it/yu090ikxiou71.jpg?width=4032&format=pjpg&auto=webp&s=6da758f1ca439ecee912b35a709eacef9b019cd8) + +44 Keys Low Profile Keyboard inspired from Keyboardio's Atreus with a socket for a NiceNano, BlueMicro840 or Pro Micro RP2040 and a place to solder in a Battery. + +kb.py is designed to work with the BlueMicro840 + +Retailers (USA) + + +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 \ No newline at end of file diff --git a/boards/jpconstantineau/Batreus44/kb.py b/boards/jpconstantineau/Batreus44/kb.py new file mode 100644 index 0000000..ac8296c --- /dev/null +++ b/boards/jpconstantineau/Batreus44/kb.py @@ -0,0 +1,14 @@ +import board + +from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard +from kmk.matrix import DiodeOrientation + + +class KMKKeyboard(_KMKKeyboard): + col_pins = ( + board.P0_15, board.P0_17, board.P0_20, board.P0_13, board.P0_24, + board.P0_09, board.P0_03, board.P1_13, board.P0_02, board.P0_29, board.P0_26, board.P0_30 + ) + row_pins = (board.P0_28, board.P1_11, board.P0_10, board.P1_06) + diode_orientation = DiodeOrientation.COL2ROW + diff --git a/user_keymaps/jpconstantineau/batreus44_colemak_dh.py b/user_keymaps/jpconstantineau/batreus44_colemak_dh.py new file mode 100644 index 0000000..180a1b7 --- /dev/null +++ b/user_keymaps/jpconstantineau/batreus44_colemak_dh.py @@ -0,0 +1,43 @@ +# VColMX44 designed by jpconstantineau +# https://github.com/jpconstantineau/VColChoc44 +# Board uses a Raspberry Pi Pico +# Requires CircuitPython 7.0.0 to support the RP2040 MCU + +from kb import KMKKeyboard +from kmk.keys import KC +from kmk.modules.layers import Layers +from kmk.hid import HIDModes + + +keyboard = KMKKeyboard() +keyboard.modules.append(Layers()) + +FUN = KC.MO(1) +UPPER = KC.MO(2) +XXXXXXX = KC.TRNS + +keyboard.keymap = [ + # Colemak Mod-DH See https://colemakmods.github.io/mod-dh/keyboards.html + [ + KC.Q, KC.W, KC.F, KC.P, KC.B, KC.NO, KC.NO, KC.J, KC.L, KC.U, KC.Y, KC.SCLN, + KC.A, KC.R, KC.S, KC.T, KC.G, KC.NO, KC.NO, KC.M, KC.N, KC.E, KC.I, KC.O, + KC.Z, KC.X, KC.C, KC.D, KC.V, KC.GRAVE, KC.BACKSLASH, KC.K, KC.H, KC.COMM, KC.DOT, KC.SLSH, + KC.ESC, KC.TAB, KC.LGUI, KC.LSHIFT, KC.BACKSPACE, KC.LCTRL, KC.LALT, KC.SPC, FUN, KC.MINUS, KC.QUOT, KC.ENTER, + ], + [ + KC.EXLM, KC.AT, KC.UP, KC.DLR, KC.PERC, KC.NO, KC.NO, KC.PGUP, KC.N7, KC.N8, KC.N9, KC.BACKSPACE, + KC.LPRN, KC.LEFT, KC.DOWN, KC.RIGHT, KC.RPRN, KC.NO, KC.NO, KC.PGDN, KC.N4, KC.N5, KC.N6, KC.SCOLON, + KC.LBRC, KC.RBRC, KC.HASH, KC.LCBR, KC.RCBR, KC.CIRC, KC.AMPR, KC.ASTR, KC.N1, KC.N2, KC.N3, KC.PLUS, + UPPER, KC.INSERT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.N0, KC.EQL, + ], + [ + KC.INSERT, KC.HOME, KC.UP, KC.END, KC.PGUP, KC.NO, KC.NO, KC.UP, KC.F7, KC.F8, KC.F9, KC.F10, + KC.DEL, KC.LEFT, KC.DOWN, KC.RIGHT, KC.PGDN, KC.NO, KC.NO, KC.DOWN, KC.F4, KC.F5, KC.F6, KC.F11, + KC.NO, KC.VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.F1, KC.F2, KC.F3, KC.F12, + UPPER, KC.VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.PSCR, KC.SLCK, KC.PAUS, + ], +] + +if __name__ == '__main__': + # keyboard.go(hid_type=HIDModes.BLE, ble_name='Batreus44') + keyboard.go(hid_type=HIDModes.USB)