Doc rewording and minor edit.

This commit is contained in:
Pascal Getreuer 2024-11-03 20:02:46 -08:00
parent 352f4fa095
commit ed53b7dadc
2 changed files with 11 additions and 14 deletions

View File

@ -437,20 +437,20 @@ On Other Key Press. Chordal Hold is enabled by adding to your `config.h`:
Chordal Hold implements, by default, an "opposite hands" rule. Suppose a
tap-hold key is pressed and then, before the tapping term, another key is
pressed. With Chordal Hold, the tap-hold key is settled as tapped if the two
keys are on the same hand. This behavior may be useful to avoid accidental
modifier activation with mod-taps, particularly in rolled keypresses when using
home row mods.
keys are on the same hand.
Otherwise, if the keys are on opposite hands, Chordal Hold introduces no new
behavior. Hold On Other Key Press or Permissive Hold may be used together with
Chordal Hold to configure the behavior in the opposite hands case. With Hold On
Other Key Press, an opposite hands chord is settled immediately as held. Or with
Permissive Hold, an opposite hands chord is settled as held provided the other
key is pressed and released (nested press) before releasing the tap-hold key.
Chordal Hold may be useful to avoid accidental modifier activation with
mod-taps, particularly in rolled keypresses when using home row mods.
Notes:
* In the case that the keys are on opposite hands, Chordal Hold alone does not
yet settle the tap-hold key. Chordal Hold may be used in combination with Hold
On Other Key Press or Permissive Hold to determine the behavior. With Hold On
Other Key Press, an opposite hands chord is settled immediately as held. Or
with Permissive Hold, an opposite hands chord is settled as held provided the
other key is pressed and released (nested press) before releasing the tap-hold
key.
* Chordal Hold has no effect after the tapping term.
* Chordal Hold has no effect when the other key is also a tap-hold key. This is

View File

@ -69,12 +69,10 @@ bool get_chordal_hold_default(keyrecord_t *tap_hold_record, keyrecord_t *other_r
__attribute__((weak)) char chordal_hold_handedness_kb(keypos_t key) {
# if defined(SPLIT_KEYBOARD) || ((MATRIX_ROWS) > (MATRIX_COLS))
# pragma message "Inferred handedness rows"
// If the keyboard is split or if MATRIX_ROWS > MATRIX_COLS, assume that the
// first half of the rows are left and the latter half are right.
return (key.row < (MATRIX_ROWS) / 2) ? /*left*/ 'L' : /*right*/ 'R';
# else
# pragma message "Inferred handedness cols"
// Otherwise, assume the first half of the cols are left, others are right.
return (key.col < (MATRIX_COLS) / 2) ? /*left*/ 'L' : /*right*/ 'R';
# endif
@ -82,7 +80,6 @@ __attribute__((weak)) char chordal_hold_handedness_kb(keypos_t key) {
__attribute__((weak)) char chordal_hold_handedness_user(keypos_t key) {
# if defined(CHORDAL_HOLD_LAYOUT)
# pragma message "Using chordal_hold_layout"
// If given, read handedness from `chordal_hold_layout` array.
return (char)pgm_read_byte(&chordal_hold_layout[key.row][key.col]);
# else