commit 2b48d872e682df5aceca09fdade4d898896e3bfe Author: Marius Alwan Meyer Date: Mon Apr 10 01:06:55 2023 +0000 first personal changes diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4704642 --- /dev/null +++ b/.gitignore @@ -0,0 +1,184 @@ +# KMK Specific +.compiled/ +.ampy +.submodules +.circuitpy-deps +.micropython-deps +.devdeps +.docker_base +.dist + +# Personal dev scripts +.scripts + +# Mountpoints +mnt/ +mnt2/ + +# VSCode +.vscode/ + +# Everything below is from https://raw.githubusercontent.com/github/gitignore/main/Python.gitignore + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +#.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.compiled/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +.idea/ + +# Mac Finder +.DS_Store diff --git a/corne.py b/corne.py new file mode 100644 index 0000000..41d1af7 --- /dev/null +++ b/corne.py @@ -0,0 +1,57 @@ + +import board + +### OLED +# import adafruit_displayio_ssd1306 +# import displayio +# import terminalio +# from adafruit_display_text import label +from kb import KMKKeyboard + +from kmk.hid import HIDModes +from kmk.keys import KC +from kmk.modules.layers import Layers +from kmk.modules.split import Split, SplitType + +keyboard = KMKKeyboard() + + +keyboard.tap_time = 320 +keyboard.debug_enabled = True + +split = Split(split_type=SplitType.UART) +layers = Layers() + +keyboard.modules = [split, layers] + + +keyboard.keymap = [ + [ + # Alpha + KC.ESC, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.LBKT, \ + KC.CAPS, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.SEMI, KC.SQT, \ + KC.LSFT, KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMMA, KC.DOT, KC.FSLH, KC.MO(2), \ + KC.LGUI, KC.LCTRL, KC.SPC, KC.LCTRL(KC.LALT), KC.MO(1), KC.LALT, + ], + [ + # Control + KC.NO, KC.PG_UP, KC.BSPC, KC.UP, KC.DEL, KC.PG_DN, KC.NO, KC.N7, KC.N8, KC.N9, KC.NO, KC.NO, \ + KC.NO, KC.HOME, KC.LEFT, KC.DOWN, KC.RIGHT, KC.END, KC.NO, KC.N4, KC.N5, KC.N6, KC.N0, KC.NO, \ + KC.LSFT, KC.ESC, KC.TAB, KC.INSERT, KC.ENTER, KC.K_UNDO, KC.N0, KC.N1, KC.N2, KC.N3, KC.NO, KC.NO, \ + + KC.ESC, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BSPC, \ + KC.LCTL, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT, \ + KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH, \ + KC.LGUI, KC.LCTRL, KC.SPC, KC.LCTRL(KC.LALT), KC.MO(1), KC.LALT, + ], + [ + # Function + KC.C_MUTE, KC.C_VOL_DN, KC.C_VOL_UP, KC.C_PREV, KC.C_NEXT, KC.C_PP, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, \ + KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, \ + KC.F7, KC.F8, KC.F9, KC.F10, KC.F11, KC.F12, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.PAUSE_BREAK, \ + KC.LGUI, KC.LCTRL, KC.SPC, KC.LCTRL(KC.LALT), KC.MO(1), KC.LALT, + ] +] + +if __name__ == '__main__': + keyboard.go(hid_type=HIDModes.USB)