Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
christoph-cullmann committed Nov 9, 2024
1 parent 25f7499 commit 88e81b8
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 78 deletions.
12 changes: 2 additions & 10 deletions common/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,14 @@
// enable NKRO by default
#define FORCE_NKRO

// many settings taken from https://github.com/getreuer/qmk-keymap

// don't confuse apps
#define TAP_CODE_DELAY 5

// home row mods
#define TAPPING_TERM 170
#define TAPPING_TERM_PER_KEY
#define CHORDAL_HOLD
#define PERMISSIVE_HOLD
#define TAPPING_TERM 250

// no auto repeat stuff
#define QUICK_TAP_TERM 0

// enable streak detection
#define ACHORDION_STREAK

//
// underglow configuration
//
Expand Down
59 changes: 0 additions & 59 deletions common/keymap.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,65 +89,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

};

// many settings taken from https://github.com/getreuer/qmk-keymap

uint16_t get_tapping_term(uint16_t keycode, keyrecord_t* record) {
switch (keycode) {
// slower for slow fingers
case CC_N:
case CC_S:
case CC_E:
case CC_I:
return TAPPING_TERM + 15;
default:
return TAPPING_TERM;
}
}

#include "features/achordion.h"

bool process_record_user(uint16_t keycode, keyrecord_t* record) {
if (!process_achordion(keycode, record)) { return false; }
return true;
}

void matrix_scan_user(void) {
achordion_task();
}

bool achordion_chord(uint16_t tap_hold_keycode,
keyrecord_t* tap_hold_record,
uint16_t other_keycode,
keyrecord_t* other_record) {
// follow the opposite hands rule.
return on_left_hand(tap_hold_record->event.key) !=
on_left_hand(other_record->event.key);
}


uint16_t achordion_timeout(uint16_t tap_hold_keycode) {
switch (tap_hold_keycode) {
default:
return 800; // Use a timeout of 800 ms.
}
}

uint16_t achordion_streak_chord_timeout(
uint16_t tap_hold_keycode, uint16_t next_keycode) {
// Disable streak detection on LT keys.
if (IS_QK_LAYER_TAP(tap_hold_keycode)) {
return 0;
}

// Otherwise, tap_hold_keycode is a mod-tap key.
const uint8_t mod = mod_config(QK_MOD_TAP_GET_MODS(tap_hold_keycode));
if ((mod & (MOD_LSFT | MOD_RSFT)) != 0) {
return 100; // A short streak timeout for Shift mod-tap keys.
} else {
return 220; // A longer timeout otherwise.
}
}

#ifndef NO_LED

void keyboard_post_init_user(void) {
Expand Down
5 changes: 2 additions & 3 deletions keyboards/crkbd/keymaps/christoph-cullmann/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@

#include QMK_KEYBOARD_H

// Returns true if `pos` on the left hand of the keyboard, false if right.
static bool on_left_hand(keypos_t pos)
char chordal_hold_handedness_user(keypos_t key)
{
return pos.row < MATRIX_ROWS / 2;
return (key.row < MATRIX_ROWS / 2) ? 'L' : 'R';
}

// layout helper macro, we just use 42 keys
Expand Down
5 changes: 2 additions & 3 deletions keyboards/ferris/keymaps/christoph-cullmann/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@

#include QMK_KEYBOARD_H

// Returns true if `pos` on the left hand of the keyboard, false if right.
static bool on_left_hand(keypos_t pos)
char chordal_hold_handedness_user(keypos_t key)
{
return pos.row < MATRIX_ROWS / 2;
return (key.row < MATRIX_ROWS / 2) ? 'L' : 'R';
}

// layout helper macro, we just use 42 keys
Expand Down
5 changes: 2 additions & 3 deletions keyboards/planck/keymaps/christoph-cullmann/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@

#include QMK_KEYBOARD_H

// Returns true if `pos` on the left hand of the keyboard, false if right.
static bool on_left_hand(keypos_t pos)
char chordal_hold_handedness_user(keypos_t key)
{
return (pos.row < 3) || (pos.row == 3 && pos.col < 3) || (pos.row == 7 && pos.col > 2);
return ((key.row < 3) || (key.row == 3 && key.col < 3) || (key.row == 7 && key.col > 2)) ? 'L' : 'R';
}

// layout helper macro, we just use 42 keys
Expand Down

0 comments on commit 88e81b8

Please sign in to comment.