Commit Graph

2331 Commits

Author SHA1 Message Date
d67d388e77 Move mousekey keycodes into newly freed up keycode block (#16076) 2022-09-17 15:49:00 +10:00
a26f1ddafa Chromeos keycodes (#18212) 2022-09-17 15:48:09 +10:00
e1aed8da08 Move fake EE_HANDS (#18352) 2022-09-16 00:06:00 +01:00
40b0b3a983 Fix cirque tap from secondary side (#18351) 2022-09-14 23:48:43 -07:00
8d715fc16b Remove deprecated RESET keycode alias (#18271) 2022-09-14 11:15:57 -07:00
3d667f0970 Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
f7d2b001bc Move Bluetooth-related function calls up to host/keyboard level (#18274)
* Move Bluetooth-related function calls up to host/keyboard level

* Remove pointless set_output() call

* Move bluetooth (rn42) init to end of keyboard_init()

* Enable SPI/UART for ChibiOS targets

* Some more slight tweaks
2022-09-07 19:59:24 +01:00
8833b28361 Remove UNICODE_KEY_OSX and UC_OSX (#18290) 2022-09-06 18:07:08 +01:00
165c15e250 Merge remote-tracking branch 'origin/master' into develop 2022-09-06 04:26:03 +00:00
0306bdf7fd Remove use of legacy keycode (#18281) 2022-09-06 05:25:32 +01:00
423826a34a Better handle EEPROM reset keycode (#18244) 2022-09-01 20:43:06 -07:00
e4bf832368 Add unicode mode change callbacks (#18235) 2022-08-31 16:39:16 -07:00
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
e99ec28f5f [Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
d910e8df77 Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
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
d983251c10 Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
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
a2765bfe19 Add missing SS_LOPT and SS_ROPT defines (#18175) 2022-08-27 09:41:10 +10:00
5021cf58ad Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h (#18043) 2022-08-15 18:41:05 +01:00
8ce946b5c8 [Bug] Add key event check to is_tap_record and remove is_tap_key (#18063) 2022-08-15 16:40:51 +02:00
8e9ee29fe3 Remove duplicate COMBINING HORN in keymap_us_extended.h (#18045) 2022-08-14 22:25:37 -07:00
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
6fc7c03e95 Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
0a6327d20c Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)
Thanks!
2022-08-14 12:18:42 -04:00
ba04ecfabd Align TO() max layers with other keycodes (#17989) 2022-08-14 21:25:46 +10:00
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
96731ba88e Fix LV_CCAR and LV_NCED (#18025) 2022-08-13 10:24:15 -07:00
6a0d90f81a Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549) 2022-08-13 23:48:51 +10:00
a02aff9c77 Add led matrix support for CKLED2001 (#17643) 2022-08-13 14:39:06 +01:00
4ff39b5652 KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) (#18011) 2022-08-12 19:20:58 -07:00
e3415d6b97 define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) (#18008) 2022-08-12 19:20:35 -07:00
20f0f40220 Remove invisible variation selector-15 from keymap_japanese.h (#18007) 2022-08-12 19:16:50 -07:00
b4fbb340c5 Use LT_ZCAR in place of LT_PLUS for modded kc definitions (#18000) 2022-08-12 19:13:43 -07:00
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
15422b3b26 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 02:04:13 +00:00
7e7387c0d1 Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
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
67461a0a47 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:33:39 +00:00
5ecd745514 fix comment space code in quantum/matrix_common.c (#17942) 2022-08-07 20:32:59 +01:00
ac25109312 Always run pointing device init (#17936) 2022-08-07 02:18:03 -07:00
f27b617f36 [Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292) 2022-08-06 20:51:13 +10:00
ed9bdcbc36 [Core] guard RPC invocation by checking RPC info against crc checksum (#17840) 2022-08-06 18:46:59 +10:00
2bdd73f801 Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
0b726a437b Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07:00
0c487cbeba Merge remote-tracking branch 'origin/master' into develop 2022-07-30 00:32:42 +00:00
d93dfbff3c Fix check when compiling HID Joystick with digital driver (#17844) 2022-07-30 01:32:06 +01:00
95c1cc425e Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
b8b2e99976 Constrain Cirque Pinnacle coordinates (#17803)
Static x & y should be the same type as touchData.xValue &
touchData.yValue: uint16_t.
Their delta could be larger than int8_t and should be constrained to
mouse_xy_report_t.
2022-07-26 19:35:41 +01:00
c982d6c5e3 Avoid OOB in dynamic_keymap_reset (#17695) 2022-07-26 17:38:28 +01:00