summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-09-30Initialize Layer State on startup (#8318)Drashna Jaelre
* Initialize Layer State on startup Right now, on startup, the default layer state gets called and set, triggering the callback functions for the default layer state. However, the normal layer state never actually gets initialized. It's set to 0 directly, by default, but the callback functions are never actually called. This creates some inconsistency in the behavior for end users. This adds a simple "clear" that triggers the callback on startup. This should produce more consisten behavior between the two functions and layer masks. * Stupid hack * Fix type casting? * Fix compile issues with magic is disabled
2020-09-30Tweak the Christmas animation effect to be less harsh on the eyes (#7648)Max Rumpf
* Tweak the Christmas animation effect to be less harsh on the eyes * Further improve the tweaked Christmas animation code - Use constants where it makes sense - Instead of complicated math, use a static variable to keep track if it's animating from or to red - Don't use pow (but a simple macro instead) - Using floating point math is necessary for the fraction in the cubic bezier function to work * Update docs for the tweaked Christmas animation effect * Further improve memory usage - Don't use floats, but 32 bit ints instead (where needed) - Replace limits.h with constant * Fix typo
2020-09-30Hid joystick interface (#4226)a-chol
* add support for hid gamepad interface add documentation for HID joystick Add joystick_task to read analog axes values even when no key is pressed or release. update doc Update docs/feature_joystick.md Manage pin setup and read to maintain matrix scan after analog read * Incorporates patches and changes to HID reporting There are some patches provided by @a-chol incorporated on this commit, and also some changes I made to the HID Report structure. The most interesting is the one dealing with number of buttons: Linux doesn't seem to care, but Windows requires the HID structure to be byte aligned (that's in the spec). So if one declares 8/16/32... buttons they should not have any issues, but this is what happens when you have 9 buttons: ``` bits |0|1|2|3|4|5|6|7| |*|*|*|*|*|*|*|*| axis 0 (report size 8) |*|*|*|*|*|*|*|*| ... |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| axis 6 |*|*|*|*|*|*|*|*| first 8 buttons (report size 1) |*| | | | | | | | last of 9 buttons, not aligned ``` So for that I added a conditonal that will add a number of reports with size 1 to make sure it aligns to the next multiple of 8. Those reports send dummy inputs that don't do anything aside from aligning the data. Tested on Linux, Windows 10 and Street Fighter (where the joystick is recognized as direct-input) * Add save and restore of each pin used in reading joystick (AVR). Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc instead of an output pin from the MCU. Fix joystick report id Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes) Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis. Documentation fixes * Fix port addressing for joystick analog read * The other required set of changes As per the PR, the changes still holding it up. Add onekey for testing. Fix ARM builds. Fix device descriptor when either axes or buttons is zero. Add compile-time check for at least one axis or button. Move definition to try to fix conflict. PR review comments. qmk cformat * avoid float functions to compute range mapping for axis adc reading * Remove V-USB support for now. Updated docs accordingly. * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios * Fix HID joystick report sending for ChibiOS. Add one analog axis to the onekey:joystick keymap. Fix pin state save and restore during joystick analog read for STM32 MCUs. * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add missing mcuconf.h and halconf.h to onekey:joystick keymap. Add suggested fixes from PR. * Switch saveState and restoreState signature to use pin_t type. onekey:joystick : add a second axis, virtual and programmatically animated. * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Add PR corrections * Remove halconf.h and mcuconf.h from onekey keymaps * Change ADC_PIN to A0 Co-authored-by: achol <allecooll@hotmail.com> Co-authored-by: José Júnior <jose.junior@gmail.com> Co-authored-by: a-chol <achol@notamail.com> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30Update features to use Custom Tapping Term when appropriate (#6259)Drashna Jaelre
* Update Space Cadet to use Custom Tapping Term functionality * Detect correct keycode for space cadet tapping term * Update tap dancing to use global custom tapping term * Update documentation for Tap Dances * formatting pass * Apply suggestions from code review Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update docs/feature_tap_dance.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update for future * Update user keymaps for space cadet * Fix typos * Clean up tapping term stuff * Fix compiler issue if NO_ACTION_TAPPING is enabled Co-authored-by: fauxpark <fauxpark@gmail.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-30Disable NKRO on V-USB controllers (#9054)Drashna Jaelre
* Disable NKRO on V-USB controllers * not _currently_ supported text Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30Re-fix the STM32 dual-bank bootloader stuff. (#9738)Nick Brassel
* Re-fix the dual-bank bootloader stuff. * Use wait_ms() instead of using nop's for a delay, as ChibiOS is actually running at the time of bootloader jump.
2020-09-30Bigger combo index (#9318)Pete Sevander
* Add change log * Change combo index from uint8_t to uint16_t
2020-09-30Add dual-bank STM32 bootloader support, given GPIO toggle on BOOT0 to charge ↵Nick Brassel
RC circuit. (#8778)
2020-09-30Fix the mousekey scrolling (#9174)dhong44
Mousekey scrolling should have a separate repeat variable to keep track of scrolling acceleration, instead of being tied to mouse movement scolling in mousekeys. The send function should record when the last movement was made since this is when movement is actually sent. Doing this fixes the bug where the initial press of a mousekey scroll button causes a double scroll. Signed-off-by: Daniel Hong <daniel.hong@live.com>
2020-09-30F303/Proton-C migration. (#9315)Nick Brassel
2020-09-30Add support for DMAMUX-capable MCU configuration with WS2812 PWM driver. (#9471)Nick Brassel
2020-09-30Change analogRead calls to analogReadPin (#9023)Ryan
* Change analogRead calls to analogReadPin * Add ChangeLog * Update docs, remove mention of `analogRead()` * Retarget changelog for next round
2020-09-30`qmk cformat` on `develop` (#9501)Nick Brassel
2020-09-30Don't compile outputselect.c if Bluetooth is disabled (#9356)Ryan
2020-09-30Remove inclusion of adafruit_ble.h from ssd1306.c (#9355)Ryan
2020-09-30Additional cleanups for V-USB code (#9310)Ryan
2020-09-30Convert `CONSUMER2BLUEFRUIT()` and `CONSUMER2RN42()` macros to static inline ↵Ryan
functions (#9055)
2020-09-30Various tidyups for USB descriptor code (#9005)Ryan
2020-09-30Initial work for consolidation of ChibiOS platform files (#8327)Nick Brassel
* Initial work for consolidation of board files and default ChibiOS configs. * Migrate F401/F411 black pills for testing. * Add early init bootloader jump flag. * Add support for I2C in order to use i2c_scanner keymap. * Add F401/F411 HSE bypass to get things booting. * Exempt "hooked" ChibiOS conf files from updater script. * Fix up ordering for bootloader_defs file check. * Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
2020-09-30Remove iWRAP protocol (#9284)Ryan
2020-09-30Fix ChibiOS backlight not turning off on suspend (#10114)Ryan
* Fix ChibiOS backlight not turning off on suspend * Add missing code for backlight as caps lock too
2020-09-30Add noeeprom speed function for RGBLIGHT (#9706)Drashna Jaelre
* [Docs] Add Speed functions to RGB Light docs * Add noeeprom functions for speed * Fix wording in doc Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-09-30Compiler warning when using WS2812 (#9955)Drashna Jaelre
Specifically, when rgb matrix is enabled and using the ws2812 driver, and rgb light is enabled at the same time, print a message about coexistance because it can cause issues, since you cannot change pins/config for the WS2812 driver.
2020-09-30MSYS2: install packages for AVR toolchain (#10078)Ryan
2020-09-30Issue 9942: Add LSA, RSA, RCS, LSA_T, RSA_T, and RCS_T (#9943)nopunin10did
* Issue 9942: Add Quantum defines Add codes to quantum_keycodes for LSA, RSA, RCS, and their corresponding _T macros * 9942: Add documentation for new defines Add documentation for new defines in feature request 9942. Also define SAGR and SAGR_T as aliases for RSA and RSA_T. * Update quantum/quantum_keycodes.h * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md
2020-09-30MSYS2: install packages for dfu-programmer, dfu-util, teensy-loader-cli (#10007)Ryan
2020-09-07Update repo name in README (#307)Andrés Mejía
2020-09-07Update QMK CLI to be inline with upstreamDrashna Jael're
2020-08-27fix: layer3 indicator leds (#305)Florian Didron
2020-08-27fix: remove mx lock on ergodox_ez (#306)Florian Didron
2020-08-21Audio tweeksDrashna Jael're
2020-08-17Set defaults for Mousekey Wheel movement (#303)Drashna Jaelre
* fix: italian keymap it quot is redefined * fix: missing deprecated swedish key code * Adds Moonlander to the list of supported keyboards * Sorts list and adds EZ suffix to Planck in Readme * Update Mouse Wheel config Co-authored-by: Florian Didron <0x6664@hey.com> Co-authored-by: Erez Zukerman <1092548+ezuk@users.noreply.github.com>
2020-08-08[Bug] Fix Swap Hands bug introduced by OSH (#9968)Drashna Jaelre
Fixes the handling for the oneshot cleanup, so it only cleans up if it is active. It should not cleanup of SHO is off (eg using a normal oneshot key), nor if it's actively pressed or used. Previous behavior BROKE swap hand key.
2020-08-08Add Indicator flag for RGB Matrix (#9933)Drashna Jaelre
* Add Indicator flag for RGB Matrix This adds a new flag for the RGB Matrix feature that lets you specify if the LED is an indicator LED, to be used to indicate the system state of the keyboard (eg caps/num/etc lock status, layer indication, modifer status, etc). * Better formatting of table
2020-08-08Fix RGB_DISABLE_TIMEOUT overflow warning (#9866) (#9874)BeefaloKing
* Fix RGB_DISABLE_TIMEOUT overflow warning (#9866) * Adjust capitalization (#9874)
2020-08-08Enable OLED support for Teensy 3.2/LC (#7591)Joel Challis
* I2C_TIMEOUT is not defined on arm teensy * Work round teensy having different ChibiOS config options * Stash OLED conf files * update comment * update comment * Remove stm32 alias to allow teensy alt mode format code according to conventions [skip ci]
2020-08-08Implemented New MK_COMBINED Functionality (#9557)nathanvercaemert
* implemented new mousekey_combined functionality * minor formatting change to documentation * Update tmk_core/common/mousekey.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update tmk_core/common/mousekey.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update tmk_core/common/mousekey.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update tmk_core/common/mousekey.c Co-authored-by: Ryan <fauxpark@gmail.com> * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel <nick@tzarc.org> * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel <nick@tzarc.org> * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel <nick@tzarc.org> * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nathan Vercaemert <nathan.vercaemert@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nick Brassel <nick@tzarc.org> format code according to conventions [skip ci]
2020-08-08MSYS2: Switch to bootloadHID package and bring back avrdude package (#9736)Ryan
* MSYS2: Switch to bootloadHID package and bring back avrdude package * Update Zadig docs as well
2020-08-08Redefine IS_LAYER_ON/OFF() as aliases for existing layer functions (#6352)Konstantin Đorđević
* Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros * Add docs for IS_LAYER_ON/OFF(_STATE) macros * Remove IS_LAYER_ON/OFF_STATE redefinition in userspace * Run clang-format on quantum/quantum.h * Redefine IS_LAYER_ON/OFF(_STATE) as aliases of existing layer functions Also update relevant doc entries. Needs testing to check if this breaks existing IS_LAYER_ON/OFF usage in certain edge cases (namely calling the macros with 0). * Reformat layer check function docs
2020-08-08Allow for user song list (#9281)Drashna Jaelre
2020-08-08Fixed CA_DOTA key code (#9722)Hedgestock
2020-08-08OLED driver function to set pixels (#9713)Gautham Yerroju
* Add a function to set individual pixels * Add documentation for oled_write_pixel * use smaller data type for oled_write_pixel * Fix boundary check edge case * Update oled_write_pixel doc Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-08-08Update new keyboard templates (#9636)Ryan
* Update new keyboard templates * Switch on Bootmagic Lite by default * Remove MIDI_ENABLE and FAUXCLICKY_ENABLE
2020-08-08Fix RGB Matrix using RGBW WS2812 LEDs (#9705)Drashna Jaelre
This should be a pointer, as that is what the function expects.
2020-08-08Refactor ARM backlight (#7959)Joel Challis
2020-08-08shell.nix improvements, and fix problems on Darwin (#9551)Steve Purcell
2020-08-08Changed US_RBRC to KC_RBRC instead of KC_LBRC (#9664)Oskar Holstensson
2020-08-08Allowing Pressing the Start Buttons Again to Stop Dynamic Macro Recording ↵Dongfeng Yu
(#9446) format code according to conventions [skip ci]
2020-08-08Add TAP_CODE_DELAY to Mod-Tap (#9422)Sven Grunewaldt
2020-08-08Allow for building layouts from keymap.json files.Joakim Tufvegren