Commit Graph

2083 Commits

Author SHA1 Message Date
QMK Bot
ea36c25732 Merge remote-tracking branch 'origin/develop' into xap 2022-08-30 08:20:35 +00:00
Jeff Epler
9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
QMK Bot
5defb67dbb Merge remote-tracking branch 'origin/develop' into xap 2022-08-29 17:17:52 +00:00
Stefan Kerkmann
e99ec28f5f
[Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
QMK Bot
44b30e559d Merge remote-tracking branch 'origin/develop' into xap 2022-08-29 04:53:38 +00:00
Nick Brassel
d910e8df77
Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
QMK Bot
1b23c1c9dd Merge remote-tracking branch 'origin/develop' into xap 2022-08-29 04:35:21 +00:00
Drzony
f2edb73974
Fix mouse report comparison failing on shared EP (#18060)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-08-28 21:34:42 -07:00
QMK Bot
5f08fff016 Merge remote-tracking branch 'origin/develop' into xap 2022-08-28 17:00:20 +00:00
Ryan
d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
QMK Bot
998a9de26a Merge remote-tracking branch 'origin/develop' into xap 2022-08-28 06:15:08 +00:00
James Young
efdd4f4d50
Clean-up of #define _ADJUST 16 instances (#18182)
* enum layer_names: 40percentclub/nori default keymap

* enum layer_names: ergotravel default keymap

* enum layer_names: handwired/atreus50 default keymap

* enum layer_names: handwired/ortho5x13 default keymap

* enum layer_names: keebio/levinson default keymap

* enum layer_names: keebio/nyquist default keymap

* enum layer_names: keebio/rorschach default keymap

* enum layer_names: keebio/viterbi default keymap

* enum layer_names: keebio/wavelet default keymap

* enum layer_names: lets_split default keymap

* enum layer_names: maple_computing/launchpad reference keymaps

Update `default` and `default_rgb` keymaps.

* enum layer_names: maple_computing/minidox default keymap

* enum layer_names: miniaxe reference keymaps

Update `default` and `underglow` keymaps.

* enum layer_names: omkbd/ergodash/mini default keymap

* enum layer_names: omkbd/ergodash/rev1 default keymap

* enum layer_names: orthodox default keymap

* enum layer_names: unikeyboard/divergetm2 default keymap

* enum layer_names: woodkeys/scarletbandana default keymap

* add _Static_assert to keymap_introspection.c
2022-08-27 23:13:44 -07:00
QMK Bot
397db79a60 Merge remote-tracking branch 'origin/develop' into xap 2022-08-26 23:41:45 +00:00
Joel Challis
a2765bfe19
Add missing SS_LOPT and SS_ROPT defines (#18175) 2022-08-27 09:41:10 +10:00
QMK Bot
00e55f910e Merge remote-tracking branch 'origin/develop' into xap 2022-08-15 17:41:47 +00:00
precondition
5021cf58ad
Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h (#18043) 2022-08-15 18:41:05 +01:00
QMK Bot
83624cabef Merge remote-tracking branch 'origin/develop' into xap 2022-08-15 14:41:31 +00:00
Stefan Kerkmann
8ce946b5c8
[Bug] Add key event check to is_tap_record and remove is_tap_key (#18063) 2022-08-15 16:40:51 +02:00
QMK Bot
e119495bef Merge remote-tracking branch 'origin/develop' into xap 2022-08-15 05:25:58 +00:00
precondition
8e9ee29fe3
Remove duplicate COMBINING HORN in keymap_us_extended.h (#18045) 2022-08-14 22:25:37 -07:00
QMK Bot
346e044572 Merge remote-tracking branch 'origin/develop' into xap 2022-08-14 19:25:34 +00:00
Pascal Getreuer
95c43a2759
Fix Caps Word to treat mod-taps more consistently. (#17463)
* 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:  // <<< 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:  // <<< 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 <git@zvecr.com>
2022-08-14 20:25:32 +01:00
Chewxy
6fc7c03e95
Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
QMK Bot
5669ebdc7b Merge remote-tracking branch 'origin/develop' into xap 2022-08-14 16:19:22 +00:00
precondition
0a6327d20c
Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)
Thanks!
2022-08-14 12:18:42 -04:00
QMK Bot
a7195760cb Merge remote-tracking branch 'origin/develop' into xap 2022-08-14 11:26:26 +00:00
Joel Challis
ba04ecfabd
Align TO() max layers with other keycodes (#17989) 2022-08-14 21:25:46 +10:00
QMK Bot
ec64146029 Merge remote-tracking branch 'origin/develop' into xap 2022-08-14 00:51:08 +00:00
precondition
2c3b447641
Use ANSI ASCII art and fix comments for LT_COLN and LT_UNDS in keymap_lithuanian_qwerty.h (#18028) 2022-08-13 17:50:32 -07:00
QMK Bot
0ba13394c3 Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 17:24:49 +00:00
precondition
96731ba88e
Fix LV_CCAR and LV_NCED (#18025) 2022-08-13 10:24:15 -07:00
QMK Bot
97d0764c8a Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 13:49:06 +00:00
Pascal Getreuer
6a0d90f81a
Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549) 2022-08-13 23:48:51 +10:00
QMK Bot
6f840cd8b7 Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 13:40:07 +00:00
lokher
a02aff9c77
Add led matrix support for CKLED2001 (#17643) 2022-08-13 14:39:06 +01:00
QMK Bot
6c18334120 Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 02:21:16 +00:00
precondition
4ff39b5652
KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) (#18011) 2022-08-12 19:20:58 -07:00
precondition
e3415d6b97
define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) (#18008) 2022-08-12 19:20:35 -07:00
QMK Bot
3e3a08e623 Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 02:17:31 +00:00
precondition
20f0f40220
Remove invisible variation selector-15 from keymap_japanese.h (#18007) 2022-08-12 19:16:50 -07:00
QMK Bot
608c8baeef Merge remote-tracking branch 'origin/develop' into xap 2022-08-13 02:13:51 +00:00
precondition
b4fbb340c5
Use LT_ZCAR in place of LT_PLUS for modded kc definitions (#18000) 2022-08-12 19:13:43 -07:00
precondition
db4c4b1f78
Fix Bépo's BP_NNBS (narrow non-breaking space) (#17999)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-12 19:13:22 -07:00
QMK Bot
118192fc89 Merge remote-tracking branch 'origin/develop' into xap 2022-08-12 02:04:43 +00:00
QMK Bot
15422b3b26 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 02:04:13 +00:00
Joel Challis
7e7387c0d1
Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
QMK Bot
d5d1203728 Merge remote-tracking branch 'origin/develop' into xap 2022-08-11 21:42:17 +00:00
Albert Y
cde9dd8b90
Refactor Pixel Fractal effect (#17602)
* Refactor effect with smaller array

* Add RGB_MATRIX_USE_LIMITS call

* Remove spaces

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-11 22:41:42 +01:00
zvecr
3fe1a931d7 Fix up OOB behaviour for get/set keycodes 2022-08-09 19:10:49 +01:00
QMK Bot
4eb1edce0d Merge remote-tracking branch 'origin/develop' into xap 2022-08-07 19:34:13 +00:00