atreus: add first draft to QMK config

This commit is contained in:
Frieder Schlesier 2025-01-05 23:30:02 +01:00
parent b2f423d0ef
commit b5c39d8685
5 changed files with 220 additions and 0 deletions

View File

@ -33,6 +33,14 @@ edge of each hand. Tapped they are TAB and Enter, on hold they act as Ctrl keys
Instructions see [[./atreus/README.org]] Instructions see [[./atreus/README.org]]
** TODO Atreus with QMK [0/1]
- Three outer keys on bottom row removed, only leaving three thumb keys
- moved to HomeRowMods
- [ ] introduce a smart shift key, to avoid slowdowns caused by having
to wait for home-row shift to activate, especially when typing
longer texts
** Chocofi 36 with QMK ** Chocofi 36 with QMK
According to this issue [[https://github.com/pashutk/chocofi/issues/6][pashutk/chocofi#6 firmware?]] one should use ~crkbd~ config. According to this issue [[https://github.com/pashutk/chocofi/issues/6][pashutk/chocofi#6 firmware?]] one should use ~crkbd~ config.

View File

@ -26,10 +26,37 @@ from keyboard.io flashed with Kaleidoscope firmware (by the lovely keyboardio fo
- ~export KALEIDOSCOPE_DIR=${HOME}/projects/Kaleidoscope~ - ~export KALEIDOSCOPE_DIR=${HOME}/projects/Kaleidoscope~
- ~cd ./colemak-dhm/ && make flash~ - ~cd ./colemak-dhm/ && make flash~
*** QMK
#+begin_quote
Bootloader mode: while you can put the board in bootloader mode by
simply plugging it in while holding ESC down (being ESC the left
button corner key), you will need to click the RESET button to be able
to flash the board with arvdude or QMK Toolbox (theres an hole in the
middle of the back of the board). EDIT: at least this is in my
experience, but in theory you should be able to flash the board
without using the RESET button, simply putting it in bootloader mode.
#+end_quote
https://www.reddit.com/r/olkb/comments/jaxhkk/keyboardio_atreus_how_tos_custom_layout_via_qmk/
- follow https://docs.qmk.fm/newbs_getting_started
- ./qmk/keymaps/fschl-38/ should be symlinked into =~/git/qmk_firmware/keyboards/keyboardio/atreus/keymaps/=
- =qmk compile -kb keyboardio/atreus -km fschl-38=
- https://atreus.technomancy.us/flash
- open with chrome to do a factory reset:
https://www.reddit.com/r/olkb/comments/jaxhkk/keyboardio_atreus_how_tos_custom_layout_via_qmk/
** The Layout ** The Layout
[[./keyboard-layout-colemak-DHm.png]] [[./keyboard-layout-colemak-DHm.png]]
*** TODO
- smart shift on a thumb key, to avoid weird situations with home-row-shift
- smart num, to avoid weird taps for the num layer when typing commas and dots
- tapdance or sth similar for ß, €
https://github.com/urob/zmk-config
*** Adjusted QWERTY Layer for gaming *** Adjusted QWERTY Layer for gaming
[[./keyboard-layout-GW-gaming_draft.png]] [[./keyboard-layout-GW-gaming_draft.png]]

View File

@ -0,0 +1,52 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
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 <http://www.gnu.org/licenses/>.
*/
#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 170
// https://docs.qmk.fm/features/caps_word#caps-word
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#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

View File

@ -0,0 +1,122 @@
// Copyright (C) 2019, 2020 Keyboard.io, Inc
//
// this is the style you want to emulate.
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
#include QMK_KEYBOARD_H
#include "keymap_german.h"
enum layer_names {
COLEMAK,
NUM_SYM,
NAV_FUN,
MOUSEMO,
};
/*
* About Layer switching:
* https://docs.qmk.fm/feature_layers#switching-and-toggling-layers
*
*/
/*
* TODOs
- Umlauts ä+ö on pinky hold (remove homerow GUI, currently using it on left thumb anyway)
- Umlauts ü on holding u
- thumb6 is shift on hold, to ease typing acronyms
- use caps-word feature!?!!
- could be bad to have space, enter and shift on the same thumb exclusively
- maybe move DEL to right thumb and have shift only on left thumb?
- optionally make DEL, BSPC as combos on top/bottom row (reachable and
effortless to combine with HRM
*/
// Left-hand thumb keys
#define THUMB1 KC_LSFT // activates CAPS_WORD on double tap (see below)
#define THUMB2 LT(NAV_FUN, KC_ESC)
#define THUMB3 LSFT_T(KC_TAB)
// right-hand thumb keys
#define THUMB4 CTL_T(KC_SPC)
#define THUMB5 LT(NUM_SYM, KC_ENT)
#define THUMB6 LT(NAV_FUN, KC_BSPC)
// Left-hand home row mods
#define HGUI_A LGUI_T(KC_A)
#define HALT_R LALT_T(KC_R)
#define HSFT_S LSFT_T(KC_S)
#define HCTL_T LCTL_T(KC_T)
#define HGUI_AT LGUI_T(KC_AT)
#define HALT_F4 LALT_T(KC_F4)
#define HSFT_F5 LSFT_T(KC_F5)
#define HCTL_F6 LCTL_T(KC_F6)
// Right-hand home row mods
#define HCTL_N RCTL_T(KC_N)
#define HSFT_E RSFT_T(KC_E)
#define HALT_I LALT_T(KC_I)
#define HGUI_O RGUI_T(KC_O)
// MOUSEMO on right hand index M
#define HMOU_M LT(MOUSEMO, KC_M)
#define HMOU_LEFT LT(MOUSEMO, KC_LEFT)
// https://docs.qmk.fm/features/key_overrides
const key_override_t *key_overrides[] = {
&ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL), // S-BSP ≡ DEL
// Emacs got me used to these, so let's convince other programs that
// we are in fact sending the correct keys.
&ko_make_basic(MOD_MASK_CTRL, KC_I, KC_TAB), // C-i ≡ Tab
&ko_make_basic(MOD_MASK_CTRL, KC_M, KC_ENT), // C-m ≡ Return
};
// default bottom row
/* KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT ), */
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[COLEMAK] = LAYOUT( /* Colema-DH */
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Z, KC_BSPC,
HGUI_A, HALT_R, HSFT_S, HCTL_T, KC_G, HMOU_M, HCTL_N, HSFT_E, HALT_I, HGUI_O,
KC_Y, KC_X, KC_C, KC_D, KC_V, KC_GRV, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
XXXXXXX, XXXXXXX, XXXXXXX, THUMB1, THUMB2, THUMB3, THUMB4, THUMB5, THUMB6, XXXXXXX, XXXXXXX, XXXXXXX),
/*
* Improve: use https://docs.qmk.fm/features/layer_lock to quickly insert one key from this layer
* and have the option to lock into it, when inserting longer numbers/math expressions. This
* also makes two right thumb keys available.
* ! " § $ % || / (\) 7 8 9 +
* < { ( [ ' || * 4 5 6 - (_)
* > } ) ] @ LOCK || , . 1 2 3 =
* | ~ & || ^ LAYER 0
*/
[NUM_SYM] = LAYOUT
(
DE_EXLM, DE_DQUO, DE_QUES, DE_PERC, DE_DLR, DE_SLSH, KC_7, KC_8, KC_9, DE_PLUS,
DE_LABK, DE_LCBR, DE_LPRN, DE_LBRC, DE_QUOT, DE_ASTR, KC_4, KC_5, KC_6, DE_MINS,
DE_RABK, DE_RCBR, DE_RPRN, DE_RBRC, DE_AT, QK_LLCK, KC_COMM, KC_DOT, KC_1, KC_2, KC_3, DE_EQL,
XXXXXXX, XXXXXXX, XXXXXXX, DE_PIPE, DE_TILD, DE_AMPR, KC_CIRC, _______, DE_0, XXXXXXX, XXXXXXX, XXXXXXX),
/*
* ´ F7 F8 F9 F10 || INS HOME UP END PgUp
* ` F4 F5 F6 F11 || Left Down Up Right PgDown
* F1 F2 F3 F12 LOCK || VolUp Prev Stop Pause Play Next
* XXXXX _____ pause || VolDown Print XXXXX
*/
[NAV_FUN] = LAYOUT( /* */
DE_BSLS, KC_F7, KC_F8, KC_F9, KC_F10, LCTL(KC_F), KC_HOME, KC_END, RCS(KC_F), KC_BSPC,
HGUI_AT, HALT_F4, HSFT_F5, HCTL_F6, KC_F11, HMOU_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_DEL,
DE_AT, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX, XXXXXXX, LCTL(KC_H), KC_PGDN, KC_PGUP, RCS(KC_H), LCTL(KC_P),
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(COLEMAK), KC_PSCR, KC_SCRL, KC_PAUS),
[MOUSEMO] = LAYOUT(
XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_UDIA, XXXXXXX, XXXXXXX,
DE_ADIA, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN3, _______, KC_VOLD, KC_MUTE, KC_VOLU, DE_ODIA,
XXXXXXX, KC_WH_L, XXXXXXX, KC_WH_R, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, XXXXXXX,
_______, _______, _______, _______, KC_BTN1, KC_WH_D, KC_WH_U, KC_BTN2, _______, _______, _______, _______)
};
// https://docs.qmk.fm/features/combo#combos

View File

@ -0,0 +1,11 @@
LAYER_LOCK_ENABLE = yes
MOUSEKEY_ENABLE = yes # Mouse keys
# https://docs.qmk.fm/features/key_overrides
KEY_OVERRIDE_ENABLE = yes
# https://docs.qmk.fm/features/combo
# COMBO_ENABLE = yes
# https://docs.qmk.fm/features/caps_word#caps-word
CAPS_WORD_ENABLE = yes