<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/quantum/process_keycode/process_caps_word.c, branch master</title>
<subtitle>my qmk configs</subtitle>
<id>http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master</id>
<link rel='self' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/'/>
<updated>2025-04-19T18:57:00+00:00</updated>
<entry>
<title>Ignore the Layer Lock key in Repeat Key and Caps Word. (#25171)</title>
<updated>2025-04-19T18:57:00+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2025-04-19T18:57:00+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=ea85ace4a90baca401e49f35365a6a8f7d3802c4'/>
<id>urn:sha1:ea85ace4a90baca401e49f35365a6a8f7d3802c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ignore space cadet key release when caps word is active (#21721)</title>
<updated>2024-01-09T11:07:10+00:00</updated>
<author>
<name>Paul Landers</name>
</author>
<published>2024-01-09T11:07:10+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=1f6dfd19cf93b365c6ad5227d2a8a054ff30cc24'/>
<id>urn:sha1:1f6dfd19cf93b365c6ad5227d2a8a054ff30cc24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>process_keycode: remove direct `quantum.h` includes (#21486)</title>
<updated>2023-07-11T07:07:24+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-07-11T07:07:24+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=eee0384167b965c60120e1222bc24c0b40cadac4'/>
<id>urn:sha1:eee0384167b965c60120e1222bc24c0b40cadac4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prevent Tri-Layer keys from stopping caps words (#20398)</title>
<updated>2023-04-10T12:45:25+00:00</updated>
<author>
<name>Ricardo Hermida Ruiz</name>
</author>
<published>2023-04-10T12:45:25+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=d3b8179f467da23fec98e97b28684c43e9e8ba73'/>
<id>urn:sha1:d3b8179f467da23fec98e97b28684c43e9e8ba73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[Core]  Caps Word "Invert on shift" option:  pressing Shift inverts the shift state. (#20092)</title>
<updated>2023-04-03T23:11:26+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2023-04-03T23:11:26+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=ae63c0f509fae71270fb5885d504ee26cbad95ff'/>
<id>urn:sha1:ae63c0f509fae71270fb5885d504ee26cbad95ff</id>
<content type='text'>
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;
</content>
</entry>
<entry>
<title>Fix functions when `NO_ACTION_TAPPING` is defined (#11528)</title>
<updated>2023-02-19T01:08:03+00:00</updated>
<author>
<name>Drashna Jaelre</name>
</author>
<published>2023-02-19T01:08:03+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=48a79b08ccbcd0af5269e2e9334042c8347d18f8'/>
<id>urn:sha1:48a79b08ccbcd0af5269e2e9334042c8347d18f8</id>
<content type='text'>

</content>
</entry>
<entry>
<title>Normalise Swap Hands keycodes (#19720)</title>
<updated>2023-01-30T18:37:19+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-01-30T18:37:19+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=2d843088a26ee639287d16fbd9ca4c35e18f7b8b'/>
<id>urn:sha1:2d843088a26ee639287d16fbd9ca4c35e18f7b8b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix keycode parameter extraction to match the new DD keycodes (#18977)</title>
<updated>2022-11-06T21:39:05+00:00</updated>
<author>
<name>Sergey Vlasov</name>
</author>
<published>2022-11-06T21:39:05+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=a7b2f4233ca2062037303e783ced30d9376c9443'/>
<id>urn:sha1:a7b2f4233ca2062037303e783ced30d9376c9443</id>
<content type='text'>
* Add macros to extract parameters from keycode values

Implement both encoding and decoding for keycodes like TO(layer) or
LM(layer, mod) in one place, so that the decoding won't get out of sync
with the encoding.

While at it, fix some macros for creating keycode values that did not
apply the appropriate masks to parameters (and therefore could allow the
result to be out of range if a wrong parameter was passed).

* keymap_common: Use extraction macros for keycodes

* pointing_device_auto_mouse: Use extraction macros for keycodes

Fixes #18970.

* process_autocorrect: Use extraction macros for keycodes

* process_caps_word: Use extraction macros for keycodes

(Also fix a minor bug - SH_TG was not handled properly)

* process_leader: Use extraction macros for keycodes

(Technically the code is not 100% correct, because it always assumes
that the LT() or MT() action was a tap, but it's a separate issue that
already existed before the keycode changes.)

* process_unicode: Use extraction macros for keycodes

* process_unicodemap: Use extraction macros for keycodes</content>
</entry>
<entry>
<title>Deprecate `CAPS_WORD`/`CAPSWRD` for `CW_TOGG` (#18834)</title>
<updated>2022-10-24T16:30:37+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2022-10-24T16:30:37+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=a80b886751aaddb0e030a14a82cf99b6778145b4'/>
<id>urn:sha1:a80b886751aaddb0e030a14a82cf99b6778145b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Caps Word to treat mod-taps more consistently. (#17463)</title>
<updated>2022-08-14T19:25:32+00:00</updated>
<author>
<name>Pascal Getreuer</name>
</author>
<published>2022-08-14T19:25:32+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=95c43a275984fb57cdf6e5afd02190700e0205bc'/>
<id>urn:sha1:95c43a275984fb57cdf6e5afd02190700e0205bc</id>
<content type='text'>
* Fix Caps Word to treat mod-taps more consistently.

Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.

This commit makes held mod-tap keys consistent with regular mod keys:

* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
  `caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
  passed to `caps_word_press_user()`.

Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as

```
bool caps_word_press_user(uint16_t keycode) {
  switch (keycode) {
    // Keycodes that continue Caps Word, with shift applied.
    case KC_A ... KC_Z:
    case KC_MINS:
      add_weak_mods(MOD_BIT(KC_LSFT));  // Apply shift to the next key.
      return true;

    // Keycodes that continue Caps Word, without shifting.
    case KC_1 ... KC_0:
    case KC_BSPC:
    case KC_DEL:
    case KC_UNDS:
    case KC_LSFT:  // &lt;&lt;&lt; Added here.
    case KC_RSFT:
      return true;

    default:
      return false;  // Deactivate Caps Word.
  }
}
```

* Fix Caps Word to treat mod-taps more consistently.

Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.

This commit makes held mod-tap keys consistent with regular mod keys:

* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
  `caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
  passed to `caps_word_press_user()`.

Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as

```
bool caps_word_press_user(uint16_t keycode) {
  switch (keycode) {
    // Keycodes that continue Caps Word, with shift applied.
    case KC_A ... KC_Z:
    case KC_MINS:
      add_weak_mods(MOD_BIT(KC_LSFT));  // Apply shift to the next key.
      return true;

    // Keycodes that continue Caps Word, without shifting.
    case KC_1 ... KC_0:
    case KC_BSPC:
    case KC_DEL:
    case KC_UNDS:
    case KC_LSFT:  // &lt;&lt;&lt; Added here.
    case KC_RSFT:
      return true;

    default:
      return false;  // Deactivate Caps Word.
  }
}
```

* Update quantum/process_keycode/process_caps_word.c

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</content>
</entry>
</feed>
