Commit Graph

2040 Commits

Author SHA1 Message Date
Joel Challis
4f63be4d1d
Remove some assumptions on sequential keycode ranges (#18838) 2022-10-24 22:07:34 -07:00
Selene ToyKeeper
e863c431f6
added BS_TOGG so BS_SWAP and BS_NORM can be on a single key (#18837)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-10-24 22:02:21 -07:00
Ryan
a80b886751
Deprecate CAPS_WORD/CAPSWRD for CW_TOGG (#18834) 2022-10-24 17:30:37 +01:00
Ryan
6bbe8b6edd
Normalise Joystick and Programmable Button keycodes (#18832) 2022-10-24 15:50:33 +01:00
Ryan
74484e21af
Deprecate VLK_TOG for VK_TOGG (#18807) 2022-10-22 21:45:20 +01:00
Ryan
4f3af09209
Remove legacy fauxclicky and unicode keycodes (#18800) 2022-10-21 21:43:55 +01:00
Ryan
7cbff9d921
Deprecate KC_LOCK for QK_LOCK (#18796) 2022-10-21 15:46:10 +01:00
Ryan
b33fc34967
Deprecate KC_LEAD for QK_LEAD (#18792) 2022-10-21 14:25:54 +01:00
Ryan
1cb1a5a374
Remove legacy Grave Escape keycodes (#18787) 2022-10-20 18:04:11 -07:00
Ryan
af678521c1
Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
Ryan
c347e732be
Remove legacy EEPROM clear keycodes (#18782)
* `EEP_RST` -> `EE_CLR`, default-ish keymaps

* `EEP_RST` -> `EE_CLR`, user keymaps

* `EEP_RST` -> `EE_CLR`, community layouts

* `EEP_RST` -> `EE_CLR`, userspace

* `EEP_RST` -> `EE_CLR`, docs & core
2022-10-20 12:20:07 +01:00
Ryan
18dc851e37
Remove legacy Debug keycode (#18769)
* `DEBUG` -> `DB_TOGG`, default-ish keymaps

* `DEBUG` -> `DB_TOGG`, user keymaps

* `DEBUG` -> `DB_TOGG`, community layouts

* `DEBUG` -> `DB_TOGG`, userspace

* `DEBUG` -> `DB_TOGG`, docs & core
2022-10-19 11:33:05 +01:00
QMK Bot
e59cb51be0
[CI] Format code according to conventions (#18756) 2022-10-18 08:29:19 +11:00
Jamal Bouajjaj
9d4c4ceee1
4 Driver support for IS31FL3737 (#18750)
* Added 4 driver support for the IS31FL3737 LED driver

* Updated docs for IS31FL3737 to support 4 drivers
2022-10-18 08:26:58 +11:00
Ryan
bad8c5992b
Remove legacy sendstring keycodes (#18749) 2022-10-17 13:45:23 +01:00
Ryan
74223c34a9
Remove legacy keycodes, part 6 (#18740)
* `KC_RSHIFT` -> `KC_RSFT`

* `KC_RCTRL` -> `KC_RCTL`

* `KC_LSHIFT` -> `KC_LSFT`

* `KC_LCTRL` -> `KC_LCTL`
2022-10-16 14:14:40 +01:00
Ryan
5e4b076af3
Remove legacy keycodes, part 5 (#18710)
* `KC_SLCK` -> `KC_SCRL`
* `KC_NLCK` -> `KC_NUM`
2022-10-15 22:29:43 +01:00
Ryan
f0b2bfd5ca
Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
Ryan
5629ba1807
Remove legacy keycodes, part 4 (#18683)
* `KC_PGDOWN` -> `KC_PGDN`

* `KC_PSCREEN` -> `KC_PSCR`

* `KC_SCOLON` -> `KC_SCLN`

* `KC_BSLASH` -> `KC_BSLS`

* `KC_BSPACE` -> `KC_BSPC`
2022-10-13 18:28:14 +01:00
James Thomson
41159326ca
Fix boundary in RGB_MATRIX_INDICATOR_SET_COLOR (#18650) 2022-10-11 11:33:02 -07:00
Ryan
e96d829724
Remove legacy keycodes, part 3 (#18669)
* `KC__VOLDOWN` -> `KC_VOLD`

* `KC__VOLUP` -> `KC_VOLU`

* `KC__MUTE` -> `KC_MUTE`

* `KC_POWER` -> `KC_PWR`
2022-10-11 14:21:47 +01:00
Ryan
c6f1b594a2
Remove legacy keycodes, part 2 (#18660)
* `KC_SYSREQ` -> `KC_SYRQ`

And one `KC_ALT_ERASE` -> `KC_ERAS`

* `KC_NONUS_BSLASH` -> `KC_NUBS`

* `KC_NUMLOCK` -> `KC_NUM`

* `KC_CLCK` -> `KC_CAPS`

* `KC_SCROLLLOCK` -> `KC_SCRL`

* `KC_LBRACKET` -> `KC_LBRC`

* `KC_RBRACKET` -> `KC_RBRC`

* `KC_CAPSLOCK` -> `KC_CAPS`
2022-10-10 20:06:26 +01:00
Joel Challis
9d43cc319c
Fix mouse use within send_string (#18659) 2022-10-09 18:00:26 -07:00
Ryan
4b2d71de52
Remove legacy international keycodes (#18588) 2022-10-09 14:51:09 +11:00
jpe230
86938fd958
Allow QK_MAKE to work with converters (#18637) 2022-10-08 09:13:58 -07:00
Joel Challis
f090cfe75c
Relocate US ANSI shifted keycode aliases (#18634) 2022-10-07 23:36:38 +01:00
Thomas Weißschuh
cbe1c22d46
quantum: led: split out led_update_ports() for customization of led behaviour (#14452) 2022-10-06 21:24:41 +11:00
Dasky
c255174cf3
Implement split comms watchdog (#18599) 2022-10-06 20:52:42 +11:00
precondition
49030e3e5b
Use get_u16_str instead of snprintf in autoshift_timer_report (#18606) 2022-10-05 10:42:05 -07:00
Stefan Kerkmann
c76d2074b6
[Bug] Fix ST7565 handler deadlock (#18609) 2022-10-05 19:22:57 +02:00
QMK Bot
86ce1d4b04 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 16:55:12 +00:00
George Rodrigues
959f4cbb62
docs: some typos (#18582)
probably hacktoberism
2022-10-05 17:32:07 +01:00
Ryan
d1b6b06202
Remove legacy locking caps/num/scroll keycodes (#18601) 2022-10-05 16:21:40 +01:00
Drashna Jaelre
64b1ed4550
Fix Per Key LED Indicator Callbacks (#18450)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-10-04 15:24:22 -07:00
Stefan Kerkmann
996a9006d3
[Core] PWM Backlight for RP2040 (#17706) 2022-10-04 23:10:24 +02:00
Stefan Kerkmann
56f7b34289
[Core] rewrite locking in split transaction handlers (#18417) 2022-10-05 05:49:29 +11:00
Sergey Vlasov
ca0c12847a
Fix layer switching from tap dances by redoing the keymap lookup (#17935) 2022-10-03 20:48:16 +11:00
Jason Ken Adhinarta
c0e6a28bc6
Prevent tap dance from wiping dynamic macros (#17880) 2022-10-03 18:26:47 +11:00
precondition
e78fa1fbf0
Fix comment of CM_QUES (Colemak question mark) (#18557)
`#define CM_QUES S(CM_SLSH) // /` → `#define CM_QUES S(CM_SLSH) // ?`
2022-10-01 01:52:46 -07:00
Ryan
2c96c75263
Small un/register_code() cleanups (#18544) 2022-09-30 16:29:24 -04:00
Drashna Jaelre
dbe214c326
Handle mouse keys more consistently (#18513) 2022-09-29 10:50:47 -07:00
Ryan
f80058d96e
Start Bluetooth API (#18366) 2022-09-29 18:38:09 +01:00
Nick Brassel
cbbb45c13f
Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
izmishi
703d8cd417
Fix retain brightness when val is changed while a layer is active (#18426)
* Fix retain brightness when val is changed while a layer is active

* Fix retain brightness for RGBLIGHT_MODE_STATIC_GRADIENT

* Fix formatting
2022-09-28 13:16:24 -04:00
Ryan
be8907d634
Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
Drashna Jaelre
fb400f2ac2
Enabling Pointing Device support in register code functions (#18363) 2022-09-26 20:49:32 -07:00
Drashna Jaelre
d909038b28
Move Oneshot mod callbacks to after mods are set (#18101) 2022-09-26 20:49:15 -07:00
Ryan
ea2819b2c2
Change {LED,RGB}_DISABLE_TIMEOUT to {LED,RGB}_MATRIX_TIMEOUT (#18415) 2022-09-26 14:40:15 +10:00
Thomas
94d5fe6f90
Allow Active High for Pointing Device Motion Pin (#18404)
Needed by the Cirque Trackpad for motion detection
2022-09-24 08:44:14 -07:00
QMK Bot
df30327c19
Format code according to conventions (#18466) 2022-09-24 00:34:44 -07:00
Alabastard-64
7c1797f52f
[Core] Pointing Device Automatic Mouse Layer (#17962)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-23 23:43:55 -07:00
Ryan
36c410592d
Change DRIVER_LED_COUNT to {LED,RGB}_MATRIX_LED_COUNT (#18399) 2022-09-23 22:46:23 +10:00
QMK Bot
731000533f Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:35:02 +00:00
Marius Renner
652d1d8a6d
Fix int8_t overflow in RGB heatmap effect (#18410) 2022-09-19 19:34:29 +01:00
Stefan Kerkmann
2aa3a8e059
[Core] remove busy waiting from rgblight functions (#18418) 2022-09-19 18:05:31 +02:00
Nick Brassel
1849897444
[QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. (#18396) 2022-09-19 07:30:08 +10:00
Joshua Diamond
a3a47a6556
Work around WinCompose issue for U+Axxx or U+Exxx (#18260)
* Work around WinCompose issue for U+Axxx or U+Exxx

* tzarc's more efficient version

Co-authored-by: Thomas <mail@tpreisner.de>
2022-09-18 11:51:04 -04:00
Dasky
db6a637398
Fix EECONFIG_KEYMAP_UPPER_BYTE init (#18394)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-17 20:58:46 +01:00
Drashna Jaelre
fb29c0ae53
[Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-17 17:50:54 +10:00
Drashna Jaelre
d67d388e77
Move mousekey keycodes into newly freed up keycode block (#16076) 2022-09-17 15:49:00 +10:00
Joshua Diamond
a26f1ddafa
Chromeos keycodes (#18212) 2022-09-17 15:48:09 +10:00
Dasky
e1aed8da08
Move fake EE_HANDS (#18352) 2022-09-16 00:06:00 +01:00
Dasky
40b0b3a983
Fix cirque tap from secondary side (#18351) 2022-09-14 23:48:43 -07:00
Joel Challis
8d715fc16b
Remove deprecated RESET keycode alias (#18271) 2022-09-14 11:15:57 -07:00
Ryan
3d667f0970
Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
Ryan
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
Ryan
8833b28361
Remove UNICODE_KEY_OSX and UC_OSX (#18290) 2022-09-06 18:07:08 +01:00
QMK Bot
165c15e250 Merge remote-tracking branch 'origin/master' into develop 2022-09-06 04:26:03 +00:00
Joel Challis
0306bdf7fd
Remove use of legacy keycode (#18281) 2022-09-06 05:25:32 +01:00
Drashna Jaelre
423826a34a
Better handle EEPROM reset keycode (#18244) 2022-09-01 20:43:06 -07:00
Joshua Diamond
e4bf832368
Add unicode mode change callbacks (#18235) 2022-08-31 16:39:16 -07: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
Stefan Kerkmann
e99ec28f5f
[Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
Nick Brassel
d910e8df77
Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07: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
Ryan
d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07: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
Joel Challis
a2765bfe19
Add missing SS_LOPT and SS_ROPT defines (#18175) 2022-08-27 09:41:10 +10:00
precondition
5021cf58ad
Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h (#18043) 2022-08-15 18:41:05 +01: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
precondition
8e9ee29fe3
Remove duplicate COMBINING HORN in keymap_us_extended.h (#18045) 2022-08-14 22:25:37 -07: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
precondition
0a6327d20c
Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)
Thanks!
2022-08-14 12:18:42 -04:00
Joel Challis
ba04ecfabd
Align TO() max layers with other keycodes (#17989) 2022-08-14 21:25:46 +10: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
precondition
96731ba88e
Fix LV_CCAR and LV_NCED (#18025) 2022-08-13 10:24:15 -07:00
Pascal Getreuer
6a0d90f81a
Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549) 2022-08-13 23:48:51 +10:00
lokher
a02aff9c77
Add led matrix support for CKLED2001 (#17643) 2022-08-13 14:39:06 +01: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
precondition
20f0f40220
Remove invisible variation selector-15 from keymap_japanese.h (#18007) 2022-08-12 19:16:50 -07: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
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
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
QMK Bot
67461a0a47 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:33:39 +00:00
Takeshi ISHII
5ecd745514
fix comment space code in quantum/matrix_common.c (#17942) 2022-08-07 20:32:59 +01:00
Drashna Jaelre
ac25109312
Always run pointing device init (#17936) 2022-08-07 02:18:03 -07:00