summaryrefslogtreecommitdiff
path: root/quantum
AgeCommit message (Collapse)Author
2022-08-14Fix Caps Word to treat mod-taps more consistently. (#17463)Pascal Getreuer
* 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-14Added emacs as an "operating system" for input mode. (#16949)Chewxy
2022-08-14Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)precondition
Thanks!
2022-08-14Align TO() max layers with other keycodes (#17989)Joel Challis
2022-08-13Use ANSI ASCII art and fix comments for LT_COLN and LT_UNDS in ↵precondition
keymap_lithuanian_qwerty.h (#18028)
2022-08-13Fix LV_CCAR and LV_NCED (#18025)precondition
2022-08-13Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549)Pascal Getreuer
2022-08-13Add led matrix support for CKLED2001 (#17643)lokher
2022-08-12KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) (#18011)precondition
2022-08-12define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) (#18008)precondition
2022-08-12Remove invisible variation selector-15 from keymap_japanese.h (#18007)precondition
2022-08-12Use LT_ZCAR in place of LT_PLUS for modded kc definitions (#18000)precondition
2022-08-12Fix Bépo's BP_NNBS (narrow non-breaking space) (#17999)precondition
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-12Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-08-12Remove legacy keycode use from command (#18002)Joel Challis
2022-08-11Refactor Pixel Fractal effect (#17602)Albert Y
* 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-07Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-08-07fix comment space code in quantum/matrix_common.c (#17942)Takeshi ISHII
2022-08-07Always run pointing device init (#17936)Drashna Jaelre
2022-08-06[Core] Process all changed keys in one scan loop, deprecate ↵Stefan Kerkmann
`QMK_KEYS_PER_SCAN` (#15292)
2022-08-06[Core] guard RPC invocation by checking RPC info against crc checksum (#17840)Stefan Kerkmann
2022-07-31Add ST7735 driver to Quantum Painter (#17848)David Hoelscher
2022-07-29Implement relative mode for Cirque trackpad (#17760)Drzony
2022-07-30Merge remote-tracking branch 'origin/master' into developQMK Bot
2022-07-30Fix check when compiling HID Joystick with digital driver (#17844)Drashna Jaelre
2022-07-28Rename postprocess_steno_user → post_process_steno_user (#17823)precondition
2022-07-26Constrain Cirque Pinnacle coordinates (#17803)Daniel Kao
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-26Avoid OOB in dynamic_keymap_reset (#17695)Joel Challis
2022-07-25Cirque circular scroll: Support POINTING_DEVICE_COMBINED (#17654)Daniel Kao
2022-07-25Fix QK_MAKE's reboot check (#17795)Drashna Jaelre
2022-07-23implement `tap_code16_delay` (#17748)JayceFayne
2022-07-23Add ability to enter bootloader mode from `QK_MAKE` (#17745)jack
2022-07-21Move Pointing Device Initialization (#17740)Drashna Jaelre
Move Pointing Device Initialization to after Split Post Initialization If both pointing device and split is enabled, the pointing device init needs to be called after the split post init, otherwise the connection (serial/etc) isn't initialized yet, and any commands that need to send data over (such as calling the set cpi command) never get sent over.
2022-07-21VIA Encoder Map Support (#17734)Wilba
2022-07-20fix syntax error (#17732)mknj
2022-07-20Move Pointing Device code to a subdirectory (#17684)Drashna Jaelre
2022-07-19Add support for PAW3204 Optical Sensor (#17669)Drashna Jaelre
Co-authored-by: gompa <gompa@h-bomb.nl> Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-18 Allow dynamic keymap to compile without via.h (#17703)Joel Challis
2022-07-14Add LED limit call (#17679)Albert Y
2022-07-14Fix the use of LED limits (#17678)Albert Y
2022-07-14[Code] Add solid reactive gradient mode (#17228)Albert Y
2022-07-14[Core] PMW33XX drivers overhaul (#17613)Stefan Kerkmann
* PMW33XX drivers overhaul This combines the PMW3389 and PM3360 drivers as they only differ in the firmware blobs and CPI get and set functions. The following changes have been made: * PMW3389 now gets the same multi-sensor feature that is already available on the PMW3360. * Introduced a shared pmw33xx_report_t struct is now directly readable via SPI transactions instead of individual byte-sized reads, saving multiple copies and bitshift operations. * pmw33(89/60)_get_report functions had unreachable branches in their motion detection logic these have been simplied as much as possible. * The fast firmware upload option has been removed as this becomes obsolete by the newly introduced polled waiting functions for ChibiOS polled waiting * PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options have been removed as they don't need to be configurable. * All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix to reduce code duplication and make the defines interchangeable * Adjust keyboards to PMW33XX naming scheme
2022-07-13[Bug] Fix compile issue with LED Matrix (#17658)Drashna Jaelre
2022-07-12Update LED/RGB Matrix flag function behavior (#17651)Drashna Jaelre
2022-07-12Cirque trackpad features: circular scroll, inertial cursor (#17482)Daniel Kao
2022-07-11Added Delay time dynamic keymap's macro feature (#16810)FREEWING.JP
Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2022-07-07[Fix] Patches after printf library update (#17584)Stefan Kerkmann
* Add missing '(' to print_bin_reverse32 declaration * Fix insufficient character buffers on satisfaction75 * Remove \0 character in format string and use corrected offset math instead on rocketboard 16 * Replace snprintf_ with snprintf for djinn * Explicitly ignore format checks for tracktyl manuform that uses %b specifier * Print properly escaped version string in command.c, as PRODUCT or other defines can contain constructs like 'Vendor keyboard 66%' which will be interpreted as a format specifier
2022-07-07Make debounce() signal changes in the cooked matrix as return value (#17554)Stefan Kerkmann
2022-07-07[Core] Update mpaland/printf to eyalroz/printf fork (#16163)Stefan Kerkmann
mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
2022-07-05Allow for `keymaps` array to be implemented in a file other than ↵Nick Brassel
`$(KEYMAP_C)` (#17559)