Added navi10 by u/emdarcher

This commit is contained in:
dherrada 2021-12-20 16:51:27 -05:00 committed by Josh Klar
parent 410cf7af07
commit 7f207062e9
3 changed files with 72 additions and 0 deletions

17
boards/navi10/README.md Normal file
View File

@ -0,0 +1,17 @@
# Navi10 / ナビ10
![Boardsource4x12](https://images.squarespace-cdn.com/content/v1/5a8723cb7131a5121206d464/1578004186455-N1BQI79BSCTK93QAQ76A/20191206_152537.jpg?format=1500w)
A simple and fun navigation cluster macropad with exposed components.
kb.py is designed to work with the Adafruit KB2040
Retailers (USA)
[KeyHive](https://keyhive.xyz/shop/navi10)
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

15
boards/navi10/kb.py Normal file
View File

@ -0,0 +1,15 @@
import board
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
from kmk.matrix import DiodeOrientation
class KMKKeyboard(_KMKKeyboard):
row_pins = (board.D10, board.MOSI, board.MISO, board.D8)
col_pins = (
board.D4,
board.D7,
board.SCK,
)
diode_orientation = DiodeOrientation.COLUMNS
i2c = board.I2C

40
boards/navi10/main.py Normal file
View File

@ -0,0 +1,40 @@
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 = [
[ #Nav Keys
KC.INSERT, KC.HOME, KC.PGUP,
KC.DELETE, KC.END, KC.PGDOWN,
XXXXXXX, KC.UP, XXXXXXX,
KC.LEFT, KC.DOWN, KC.RIGHT
],
[ #I3
KC.LGUI(KC.L), KC.LGUI(KC.LSHIFT(KC.UP)), KC.LGUI(KC.LSHIFT(KC.P)),
KC.LGUI(KC.LSHIFT(KC.LEFT)), KC.LGUI(KC.LSHIFT(KC.DOWN)), KC.LGUI(KC.LSHIFT(KC.RIGHT)),
XXXXXXX, KC.LGUI(KC.UP), XXXXXXX,
KC.LGUI(KC.LEFT), KC.LGUI(KC.DOWN), KC.LGUI(KC.RIGHT)
],
[ #Media keys
KC.MUTE, KC.MPLY, KC.MSTP,
KC.MRWD, XXXXXXX, KC.MFFD,
XXXXXXX, KC.VOLU, XXXXXXX,
KC.MPRV, KC.VOLD, KC.MNXT
],
]
if __name__ == '__main__':
keyboard.go()