diff --git a/README.org b/README.org index b451961..f0578be 100644 --- a/README.org +++ b/README.org @@ -1,17 +1,25 @@ #+SETUPFILE: -#+TITLE: Keyboard Config README +#+TITLE: Keyboard Config * Keyboard Config +Collection of configuration for my micro-controller based mechanical keyboard. + +Alpha Layer based on Colemak, more specifically the [[https://colemakmods.github.io/mod-dh/keyboards.html#matrix-keyboards][mod-DH for Matrix]] +keyboard variant. This is modified for my personal environment with +i3wm + Emacs. Programming mainly takes place in VS Code. + +since vim mode is great for navigation but not supported on enough +platforms, switching between nav and alpha layer is emulated on the +keyboard. + ** Atreus with Kaleidoscope -[[https://shop.keyboard.io/collections/keyboardio-atreus/products/keyboardio-atreus][Keyboardio Atreus]] with Alpha Layer based on Colemak, more specifically the [[https://colemakmods.github.io/mod-dh/keyboards.html#matrix-keyboards][mod-DH for Matrix]] keyboard variant. +[[https://shop.keyboard.io/collections/keyboardio-atreus/products/keyboardio-atreus][Keyboardio Atreus]] with some hard-to-reach keys removed. Speciality: +both Ctrl keys are in the usual place and activated with the outer +edge of each hand. Tapped they are TAB and Enter, on hold they act as Ctrl keys -This is modified for my personal environment with i3wm + Spacemacs. - -*** The Layout - -[[./keyboard-layout-colemak-DHm.png]] +[[./atreus/keyboard-layout-colemak-DHm.png]] - alpha and shift layers work normally - SYMBOLS and numbers are activated with right thumb (blue) @@ -20,55 +28,21 @@ This is modified for my personal environment with i3wm + Spacemacs. - mouse movement with WASD (QWERTY) keys when holding M - some additional utility keys are activated on hold (german umlaute, Ctrl+C,V,X,Z) -- [[https://kaleidoscope.readthedocs.io/en/latest/quick_start.html][Kaleidoscope Quick Start]] -- blog article on customizing the Atreus for (german) developers: https://www.gettommy.com/posts/my-ergonomic-40-percent-keyboard-layout-for-german-developers/#where-to-go-from-here -- typing practise: https://www.keybr.com/ -- typing speedtest with layout emulator: https://monkeytype.com/ -- [[http://www.keyboard-layout-editor.com/][Keyboard Layout Editor]] - -*** Build and run - -**** first time setup - -- ~git clone Kaleidoscope -d ${HOME}/projects/Kaleidoscope~ -- ~sudo cp ${HOME}/projects/Kaleidoscope/etc/60-kaleidoscope.rules /etc/udev/rules.d/~ -- ~sudo udevadm trigger~ -- ~cd Kaleidoscope/plugins && git clone https://github.com/keyboardio/Kaleidoscope-Language~ - -**** after that just - -- ~export KALEIDOSCOPE_DIR=${HOME}/projects/Kaleidoscope~ -- ~cd ./colemak-dhm/ && make flash~ +Instructions see [[./atreus/README.org]] ** Chocofi 36 with QMK According to this issue [[https://github.com/pashutk/chocofi/issues/6][pashutk/chocofi#6 firmware?]] one should use ~crkbd~ config. -#+begin_src shell - cd ~/src - git clone -#+end_src - -*** TODO maybe next time try to use docke -#+begin_src shell - docker pull ghcr.io/qmk/qmk_base_container:latest@sha256:fbfcad97eb05e0d92917681d86dbbf84747979ec8045624f98f4334d5aa1de2b -#+end_src - ** TODO -- move numblock 0 somewhere else (e.g. left or 4) +- move numblock 0 somewhere else (e.g. left of 4) - move PGUP/PGDOWN to from pinky to index - move DEL, BKSPC (to NAv layer, e.g. J/K) - find new places for TAB/Enter + Ctrl keys - moving from Atreus to Chocofi - - # ` keys are gone! + - the =#= and =`= keys are gone! - fully implement a sane extended layer like [[https://dreymar.colemak.org/layers-extend.html][this]] - maybe figure out home-row-mods: https://precondition.github.io/home-row-mods#how-to-use-home-row-mods - inspiration: https://alexschroeder.ch/wiki/Atreus -- +build+ get a real split keyboard (5x3 + 2x3 thumb) - - e.g. with PCBs from here: https://keycapsss.com/keyboard-parts/pcbs/53/crkbd-split-keyboard-pcb-corne-helidox?number=KC10022_CHOC_BK&c=6 - -*** Adjusted QWERTY Layer for gaming - -[[./keyboard-layout-GW-gaming_draft.png]] diff --git a/atreus/README.org b/atreus/README.org new file mode 100644 index 0000000..977dea6 --- /dev/null +++ b/atreus/README.org @@ -0,0 +1,34 @@ + +* Atreus + +from keyboard.io flashed with Kaleidoscope firmware (by the lovely keyboardio folks) + +** Build and run + +- [[https://kaleidoscope.readthedocs.io/en/latest/quick_start.html][Kaleidoscope Quick Start]] +- blog article on customizing the Atreus for (german) developers: + (dead link) + https://www.gettommy.com/posts/my-ergonomic-40-percent-keyboard-layout-for-german-developers/#where-to-go-from-here +- typing practise: https://www.keybr.com/ +- typing speedtest with layout emulator: https://monkeytype.com/ +- [[http://www.keyboard-layout-editor.com/][Keyboard Layout Editor]] + +**** first time setup + +- ~git clone Kaleidoscope -d ${HOME}/projects/Kaleidoscope~ +- ~sudo cp ${HOME}/projects/Kaleidoscope/etc/60-kaleidoscope.rules /etc/udev/rules.d/~ +- ~sudo udevadm trigger~ +- ~cd Kaleidoscope/plugins && git clone https://github.com/keyboardio/Kaleidoscope-Language~ + +**** after that just + +- ~export KALEIDOSCOPE_DIR=${HOME}/projects/Kaleidoscope~ +- ~cd ./colemak-dhm/ && make flash~ + +** The Layout + +[[./keyboard-layout-colemak-DHm.png]] + +*** Adjusted QWERTY Layer for gaming + +[[./keyboard-layout-GW-gaming_draft.png]] diff --git a/colemak-dhm/Makefile b/atreus/kaleidoscope/Makefile similarity index 100% rename from colemak-dhm/Makefile rename to atreus/kaleidoscope/Makefile diff --git a/colemak-dhm/colemak-dhm.ino b/atreus/kaleidoscope/colemak-dhm.ino similarity index 99% rename from colemak-dhm/colemak-dhm.ino rename to atreus/kaleidoscope/colemak-dhm.ino index 94268d5..cf93462 100644 --- a/colemak-dhm/colemak-dhm.ino +++ b/atreus/kaleidoscope/colemak-dhm.ino @@ -213,8 +213,8 @@ void setup() { ) //Qukey settings - Qukeys.setHoldTimeout(490); - Qukeys.setMaxIntervalForTapRepeat(100); + Qukeys.setHoldTimeout(390); + Qukeys.setMaxIntervalForTapRepeat(170); Qukeys.setOverlapThreshold(80); Kaleidoscope.setup(); SpaceCadet.disable(); diff --git a/colemak-dhm/sketch.json b/atreus/kaleidoscope/sketch.json similarity index 100% rename from colemak-dhm/sketch.json rename to atreus/kaleidoscope/sketch.json diff --git a/keyboard-layout-GW-Gaming.json b/atreus/keyboard-layout-GW-Gaming.json similarity index 100% rename from keyboard-layout-GW-Gaming.json rename to atreus/keyboard-layout-GW-Gaming.json diff --git a/keyboard-layout-GW-gaming_draft.png b/atreus/keyboard-layout-GW-gaming_draft.png similarity index 100% rename from keyboard-layout-GW-gaming_draft.png rename to atreus/keyboard-layout-GW-gaming_draft.png diff --git a/keyboard-layout-colemak-DHm.json b/atreus/keyboard-layout-colemak-DHm.json similarity index 100% rename from keyboard-layout-colemak-DHm.json rename to atreus/keyboard-layout-colemak-DHm.json diff --git a/keyboard-layout-colemak-DHm.png b/atreus/keyboard-layout-colemak-DHm.png similarity index 100% rename from keyboard-layout-colemak-DHm.png rename to atreus/keyboard-layout-colemak-DHm.png diff --git a/chocofi/README.org b/chocofi/README.org new file mode 100644 index 0000000..2cb2cc4 --- /dev/null +++ b/chocofi/README.org @@ -0,0 +1,28 @@ +* Chocofi 36 with QMK + +** The keyboard + +https://github.com/pashutk/chocofi/ + +I got a prebuilt one with hotswap and seapi picro presoldered and +added my choc v1 brown switches. + +** The Keymap + +image coming soon + +** Setup + +1. follow QMK initial setup (python venv with pip) +2. link this directory into =qmk_firmware/keyboards/crkbd/rev1/keymaps/choc_colemak_36= +3. compile and flash + assumes right usbc is connected + +#+begin_src bash + cd ~/src/qmk_firmware/ && source env/bin/activate + qmk compile --keyboard=crkbd/rev1 --keymap=choc_colemak_36 -e CONVERT_TO=promicro_rp2040 + sudo mount /dev/sdb? /mnt/ + sudo cp crkbd_rev1_choc_colemak_36_promicro_rp2040.uf2 /mnt/ + sudo umount /mnt +#+end_src + diff --git a/chocofi/config.h b/chocofi/config.h new file mode 100644 index 0000000..0b493d3 --- /dev/null +++ b/chocofi/config.h @@ -0,0 +1,49 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +//#define USE_MATRIX_I2C + +/* Select hand configuration */ + +//#define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + +//#define QUICK_TAP_TERM 0 +//#define TAPPING_TERM 100 + +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + #define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_RGB_TEST + #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif diff --git a/chocofi/keymap.c b/chocofi/keymap.c new file mode 100644 index 0000000..83edbcd --- /dev/null +++ b/chocofi/keymap.c @@ -0,0 +1,57 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + + +todo +ctrl,shift, alt, +test better enter keys + +https://docusaurus.qmk.fm/feature_layers/ +use LT(layer, kc) - momentarily activates layer when held, and sends kc when tapped. +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + XXXXXXX, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, XXXXXXX, + XXXXXXX, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, XXXXXXX, + XXXXXXX, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, + KC_TAB, MO(1), KC_SPC, KC_ENT, MO(2), KC_ESC + ), + + [1] = LAYOUT_split_3x6_3( + XXXXXXX, KC_1, KC_F7, KC_F8, KC_F9, KC_F10, KC_6, KC_HOME, KC_8, KC_END, KC_BSPC, XXXXXXX, + XXXXXXX, XXXXXXX, KC_F4, KC_F5, KC_F6, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_DEL, XXXXXXX, + XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LGUI, _______, KC_SPC, KC_ENT, MO(3), KC_RALT + ), + + [2] = LAYOUT_split_3x6_3( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_7, KC_8, KC_9, KC_PLUS, KC_BSPC, + KC_LCTL, KC_LT, KC_LCBR, KC_LPRN, KC_LBRC, XXXXXXX, KC_MINS, KC_4, KC_5, KC_6, KC_MINUS, KC_GRV, + KC_LSFT, KC_GT, KC_RCBR, KC_RPRN, KC_RBRC, XXXXXXX, KC_UNDS, KC_1, KC_2, KC_3, KC_PIPE, KC_TILD, + KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT + ), + + [3] = LAYOUT_split_3x6_3( + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + ) +}; diff --git a/chocofi/rules.mk b/chocofi/rules.mk new file mode 100644 index 0000000..99de6f7 --- /dev/null +++ b/chocofi/rules.mk @@ -0,0 +1,2 @@ + +MOUSEKEY_ENABLE = yes # Mouse keys