1
0
Fork 0
forked from forks/qmk_firmware
Commit graph

1907 commits

Author SHA1 Message Date
Ryan 66d7fc34b2
Add Arm Teensys to mcu_selection.mk (#8026)
* Add Arm Teensys to mcu_selection.mk

* Roll back halfkeyboard keymap changes

* Remove extra newline
2020-02-21 17:12:15 +11:00
Joel Challis 7707724dc4
Allow 30us matrix delay to be keyboard/user overridable (#8216)
* Allow 30us matrix delay to be configurable via define

* Move wait logic to matrix_common

* Move wait logic to matrix_common - fix wait includes
2020-02-21 14:49:33 +11:00
Wilba 79d5903b6c
dynamic keymap sanity check (#8181) 2020-02-17 17:54:13 -08:00
Joel Challis 17ff551275
Convert f072 backlight build error to message (#8177) 2020-02-16 11:37:21 -08:00
Joel Challis 014ad1d747
Fix RESET keycode on some STM32F072 keyboards (#8134)
* Add f072 board files with 'enter_bootloader_mode_if_requested' support

* rename default f072 board file to GENERIC_STM32_F072XB

* Remove board files

* Add bootloader def

* Update generic f072 board paths

* Revert wrong deletion
2020-02-13 19:39:22 +00:00
Joel Challis 667b29b77c
Align split_common/matrix.c with matrix.c (#8153) 2020-02-12 11:54:05 +01:00
Joel Challis 307be48de9
Reduce SPLIT_USB_TIMEOUT by 500ms (#7637)
* Update SPLIT_USB_TIMEOUT -500ms

* Align keyboard level SPLIT_USB_TIMEOUT defaults

* Align keyboard level SPLIT_USB_TIMEOUT_POLL

* Review fixes
2020-02-04 19:37:04 -08:00
Joel Challis 393937b43f
Relocate grave keycode processing (#8082)
* Relocate grave keycode processing

* Tidy up code

* Refactor grave -> grave_esc
2020-02-04 18:49:10 -08:00
Mikkel Jeppesen 05d6e6ca78 Ensure setPinInput actually sets input high-Z (#6237)
* Ensure setPinInput actually sets input high-z

* Fixed _PIN_ADDRESS Macro arguments
as recommended by vomindoraan

* Fixed instances of setInput to use new behavour

* Changed kmac matrix to use input with pullups

* Update keyboards/gh60/revc/revc.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fixed input state for unselect_rows

* fixed merge conflict

* Updated all instances of older uses of setPinInput()

* Fixed naming mistake

Co-authored-by: fauxpark <fauxpark@gmail.com>
2020-01-26 23:04:38 -05:00
Joel Challis e4a0f841e1
Update split serial code to use driver pattern (#7990)
* Move avr serial code to drivers

* Update src+= serial.c to driver pattern
2020-01-24 13:50:51 +00:00
Nick Brassel d13ada1162 Add customisable EEPROM driver selection (#7274)
- uprintf -> dprintf
- Fix atsam "vendor" eeprom.
- Bump Kinetis K20x to 64 bytes, too.
- Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value.
- Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage.
- Add 24LC128 by request.
2020-01-24 12:45:58 +11:00
QMK Bot e3d59a72f9 format code according to conventions [skip ci] 2020-01-20 18:48:28 +00:00
Wilba 484a9b12bc Add VIA support for QMK backlight, QMK RGBLight (#7911)
* Add VIA support for QMK backlight, QMK RGBLight

* clang-format changes
2020-01-20 10:18:25 -08:00
fauxpark ef8a4e5aaf Remove all references to "CUSTOM_MATRIX" as a diode direction (#7937) 2020-01-19 23:05:51 -08:00
Joel Challis 667045b492
Run clang-format manually to fix recently changed files (#7934)
* Run clang-format manually to fix recently changed files

* Run clang-format manually to fix recently changed files - revert template files

* Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut
2020-01-19 16:30:34 +00:00
fauxpark eb5d267e63
Enforce definition of DIODE_DIRECTION for non-custom matrix boards (#7915)
* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards

* Define diode direction for failing boards

* Matching parentheses

* Put onekey diode directions in top level config
2020-01-19 14:11:57 +11:00
Joel Challis ba628a28bc
Move rgblight and backlight task to common location (#7733) 2020-01-19 00:59:09 +00:00
Rob Haswell a1452db98a Configuration values for starting HSV and speed (#7740)
* Define default HSV and speed for RGB matrix.

* Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL.

* Document RGB_MATRIX_STARTUP_SPD.

* Preserve the ordering.
2020-01-18 20:11:33 +00:00
Jeremy Bernhardt d11238f748 switching to you know whats up mode (#7921) 2020-01-17 16:15:58 -05:00
Joel Challis 2081c5e40e Fix CUSTOM_MATRIX lite matrix_scan return code (#7908) 2020-01-15 15:51:43 +11:00
Joel Challis 48cac9e3c8
Migrate more custom matrix 'lite' code to core (#7863)
* Migrate more custom matrix lite code to core

* Align function names

* fix up MATRIX_MASKED
2020-01-15 01:58:32 +00:00
Joel Challis b89e35bdd3
Relocate common backlight functionally (#7273) 2020-01-13 01:30:56 +00:00
Rob Haswell cf30c5d17f RGB matrix effect - left-right gradient (#7742)
* Left-right gradient.

* Update the comment to match the new functionality.

* CPP does integer division so this round is not necessary.

* The x-range is actually 224, update comment and use bit-shifting again.

* Update docs with gradient left-right effect and associated "DISABLE" option.
2020-01-07 21:25:17 +00:00
Joel Challis dcb7ca3f79
Move some common matrix code to a common location (#7699)
* Move some common matrix code to a common location

* Refactor some 'custom_matrix_helper' logic to use custom matrix lite

* Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled

* Add validation for CUSTOM_MATRIX
2020-01-04 20:29:44 +00:00
Wilba 320822d75b VIA Configurator Refactor (#7268)
* VIA Refactor

* Remove old code

* review changes

* review changes

* Fix cannonkeys/satisfaction75/prototype:via build

* Add via.h to quantum.h

* Move backlight init to after backlight config load

* Merge branch 'master' into via_refactor_pr

* Update user's rules.mk to new way of enabling VIA

* Added id_switch_matrix_state

* Review changes
2020-01-03 12:52:00 -08:00
Drashna Jaelre 7ba6456c0b Use White channel on RGBW LEDs (#7678)
* Use White channel on RGBW LEDs

Co-authored-by: kwerdenker <sebastian.spindler@gmail.com>

* Manually apply white channel to array

* Move where convert_rgb_to_rgbw is called

* Fix type for rgbw led struct

* Add changes to Ergodox EZ

can revert if deemed necessary

* Revert "Add changes to Ergodox EZ"

This reverts commit aa44db198d.

* Revert "Fix type for rgbw led struct"

This reverts commit c5c744cba0.

* Revert "Move where convert_rgb_to_rgbw is called"

This reverts commit cd7f17caf6.

* Revert changes and fix up functions

* Enable white channel for Ergodox EZ as well

* Only run conversion of rgblight is enabled

Co-authored-by: kwerdenker <sebastian.spindler@gmail.com>
2019-12-31 16:33:49 +00:00
Joel Challis 250a99ff1b
Add rules.mk defaults for f103,f072,f042 (#7704)
* Add rules.mk defaults for f103,f072,f042

* Add rules.mk defaults for f103,f072,f042 - remove comment

* Add rules.mk defaults for f103,f072,f042 - align USE_FPU

* Reset MCU to avoid build issues

* Move essential config values to top and remove ability for override

* Align DFU_SUFFIX_ARGS order with DFU_ARGS
2019-12-28 19:18:52 +00:00
fauxpark e5501d4815 Make the keyboard beep when Audio is enabled and \a is encountered in a sendstring 2019-12-25 11:34:25 -08:00
Drashna Jaelre 46e2b6e43d Turn off RGB Matrix LEDs when keyboard sleeps (#7713) 2019-12-25 17:54:47 +00:00
Joel Challis 376419a4f7
Add central location for ChibiOS defines (#7542)
* Add central location for chibios defines

* Add central location for chibios defines - actually add files this time....

* Add Copyright header

* Update include order to resolve i2cv1 build errors
2019-12-21 18:22:49 +00:00
Joel Challis ae40fc498b Relocate RGB keycode processing (#7508)
* Move rgb keycode logic to process_keycode

* Fixes for rgb matrix

* Fixes for mxss

* Fix inc/dec logic, add comments

* Fix return RAINBOW_SWIRL logic

* stop external use of rgb helper functions

* merge fix

* Fix 'defined but not used' when all animations are disabled
2019-12-16 12:27:53 -08:00
Joel Challis adb72b60b0
Merge pull request #7276 from zvecr/feature/backlight_driver_config
Convert backlight to follow driver rules pattern
2019-12-16 16:39:54 +00:00
Joel Challis bc2157eea8
Software backlight improvements (#7255)
* Update software backlight to precalculated duty patterns

* Update default backlight state to match avr pwm

* Move function to make diff look nicer
2019-12-16 16:35:08 +00:00
Joel Challis f3bf301825
Disable usb on slave half to resolve random 'lockup' (#7649) 2019-12-16 16:33:48 +00:00
zvecr 94e2a39d72 Move function to make diff look nicer 2019-12-14 17:25:32 +00:00
zvecr f6b9604f4a Update default backlight state to match avr pwm 2019-12-14 17:24:17 +00:00
Drashna Jaelre 0374677814 core: Fix variable init and header include (#7626)
tmk backport from tmk/tmk_keyboard@325a99acd9
2019-12-14 12:00:09 +00:00
zvecr d4c23d881f Convert backlight to follow driver rules pattern 2019-12-14 03:25:06 +00:00
Joel Challis efb21c00ce Fix FORCE_NKRO handling (#7601) 2019-12-11 11:39:30 -08:00
XScorpion2 201c5bfa5c Updated slave encoder sync to reduce dropped pulses - v2 (#7505)
* Updated slave encoder sync to reduce dropped pulses

* Fixing encoder direction

* Encoder behavior fixes, tested

* Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk

To make fauxpark happy

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update custom_encoder.c

* Update rules.mk

* Iris r4 fix

* More fixes for Iris & Kira

* Fix for right master encoders
2019-12-07 23:51:42 -08:00
fauxpark c74295de88 Set proper AVR part for USBasp avrdude flashing (#7552)
* Set proper AVR part for USBasp avrdude flashing

* Remove `PROGRAM_CMD` stuff from rules.mk as they should not be needed anymore

* Missed the Plaid readme

* Remove PROGRAM_CMD from Mysterium
2019-12-07 23:32:43 -08:00
Joel Challis de4eb79c6a Fix breathing toggle when rgb is disabled (#7550) 2019-12-06 19:27:04 +11:00
fauxpark 3ad389de55 Add short aliases for Magic keycodes (#7541)
* Add short alias for `MAGIC_TOGGLE_NKRO`

* Add aliases for the other Bootmagic keycodes

* Replace long form in default keymaps
2019-12-05 00:44:39 -08:00
Joel Challis d598f01cb7
Relocate magic keycode processing (#7512)
* Move magic keycode processing to own file

* Save some bytes

* Update comments

* Update define to one thats not already used...

* Fix audio
2019-12-03 19:48:55 +00:00
Danny bf962821b3 Remove check for EH define (#7525)
Its use in lets_split_eh was factored out in https://github.com/qmk/qmk_firmware/pull/6411
2019-12-02 17:10:09 +00:00
Manna Harbour f9521ffa21 Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484)
* Add shift-to-invert to remaining directional RGB_* keycode pairs

RGB_MODE_FORWARD / RGB_MODE_REVERSE invert their functions when shift is held.
This change adds the same capabilities to the remaining directional RGB_*
keycode pairs.  This improves consistency and provides full RGB control in a
keymap containing only one keycode from each pair.

* remove redundant variable

* fix typo

* Fix more typos

Flyspell is on now I swear!
2019-11-28 22:00:29 +00:00
Joel Challis 2048df8832
Compile out some keycode processing when features are disabled (#7506) 2019-11-28 21:59:59 +00:00
XScorpion2 7e62705877 Revert split encoder fixes until able to repro a better fix (#7498)
Temporarily removing to avoid disabling split keyboards with Rotary Encoders, irisv3/4 and Sol, while @XScorpion2 works on a more permanent fix.
2019-11-27 14:04:30 -08:00
Yan-Fa Li 1604f79623
clean up quantum.c (#7485)
* idea

* progress

* more stuff

* wip

* wip

* last couple of keycodes you can move safely

* Update quantum/quantum.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Put back RGB_MODE_BREATHE
2019-11-27 14:00:23 -08:00
fauxpark 5a6737a778 Send string keycode tweaks (#7471) 2019-11-25 23:16:58 -08:00
fauxpark 36cde567ab [Core] Remove PROGRAM_CMD in mcu_selection.mk for 32A (#7482) 2019-11-25 19:51:40 -08:00
fauxpark 02412156d5
Add 4-character aliases for sendstring keycodes (#7409)
* Add 4-character aliases for sendstring keycodes

* Remove pointless mail keycode redefinition

* Forgot brightness keycodes
2019-11-22 14:11:28 +11:00
Erovia 25e9853efe [Core] Fix ps2avrgb template (#7412) 2019-11-19 13:00:45 -08:00
zvecr a91c0c4765 Run clang-format manually to fix recently changed files 2019-11-17 08:25:58 -08:00
XScorpion2 0f0c73f14a Updated slave encoder sync to reduce dropped pulses (#7325)
* Updated slave encoder sync to reduce dropped pulses

* Fixing encoder direction

* Encoder behavior fixes, tested

* Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk

To make fauxpark happy

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update custom_encoder.c

* Update rules.mk
2019-11-15 15:01:50 -08:00
Richard Baptist 381b73fcac Fix the RGB_MATRIX_RAINBOW_PINWHEELS animation (#7365)
The internal naming was `PINWHEELS` instead of `RAINBOW_PINWHEELS`
causing a mismatch between animation definition and the function.
2019-11-15 13:12:34 -08:00
fauxpark f98750de6e [Core] Cleanup rules.mk for F303 keyboards (#7306)
* Cleanup rules.mk for F303 keyboards

* Fix small typo
2019-11-14 18:25:40 -08:00
fauxpark 519df78cdb
Set device version from config.h for V-USB boards (#7316) 2019-11-15 10:21:53 +11:00
fauxpark 3047335729
Add support for configurable polling interval and power usage o… (#7336)
* Add support for custom polling interval and power usage on V-USB boards

* Use 1ms as default for now
2019-11-15 10:21:22 +11:00
Stephen Hogsten 3f6426ff5f disable deprecated actions (#7211)
* disable deprecated actions

* wrap no action with link time optimization test

* fix link time optimization check
2019-11-12 13:27:20 +11:00
Joel Challis f48986dda2
Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) 2019-11-11 21:06:14 +00:00
Drashna Jaelre 60e4921378 Unify RGB and RGBW commands (#7297)
* Fix unicode in comments

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Remove separate RGBW implementation for a unified function

* Set White to 0 in RGBW LEDs

This is just to get this working, later, proper brightness can be handled elsewhere.

* Use us instead of nanoseconds(?) since it renders correctly on web

* Remove RGBW function from arm/ws2812.h

* Remove RGBW function from arm/ws2812.c

* Formatting changes

* Add doc info
2019-11-09 15:51:39 +00:00
Joel Challis 1ea0cac998
ARM - ws2812 bitbang (#7173)
* Initial ARM bitbang ws2812 driver

* Unify chibios platform to run rgblight_task

* Remove 'avr only' comments from ws2812 docs

* Remove 'avr only' comments from ws2812 docs

* Unify chibios platform to run rgblight_task - review comments

* Remove debug flags from keymap

* Add comments from review

* Add defines for STM32L0XX

* Attempt to get arm ws2812 working on multiple gcc versions
2019-11-07 13:10:29 +00:00
fauxpark dfb78d2a08 New and improved lock LED callbacks (#7215)
* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
2019-11-06 00:42:16 +00:00
zvecr 25d1901d7a Update software backlight to precalculated duty patterns 2019-11-05 17:42:44 +00:00
Drashna Jaelre 542cb0a8ce [Core] Convert Dynamic Macro to a Core Feature (#5948)
* Convert Dynamic Macro to a Core Feature

This imports the code from Dynamic Macro into the core code, and handles it, as such.

This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched.

Additionally, this reorganizes the documentation to better reflect the changes.

Also, it adds user hooks to the feature so users can customize the existing functionality.

Based heavily on and closes #2976

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Cleanup based on feedback

* Add short-form keycodes and document them

- add short-form keycodes to quantum/quantum_keycodes.h
- document the new aliases in docs/feature_dynamic_macros.md

* Add Dynamic Macros section and keycodes to docs/keycodes.md

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type
2019-11-04 22:59:13 -08:00
fauxpark 363cdb5fc0 Remove duplicate pro_micro.h (#7246) 2019-11-03 22:35:43 +00:00
Drashna Jaelre e9c44e396d
Smallish overhaul of Auto-Shift feature (#6067)
* Fix edge case when using One Shot Layer with Auto Shift, and it not triggering the cleanup
* Remove junk code (no longer used)
* Replace `(un)register_code` calls with `tap_code` where appropriate
* Fixed up Switch check to be more readable (less verbose)
* Simplified modifier check (if it comes back non-zero, there are mods)
* Add additional function calls for autoshift settings
* Made all variables static, since there are function calls to get their status
* Fixed up documentation
* Re-add special characters that were missed
* formatting pass
2019-11-03 09:52:01 -08:00
Joel Challis 1249da4e8e
Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928)
* Use task driven PWM for CTPC until ARM can provide automatic configuration

* Update CTPC docs to cover backlight
2019-11-02 21:21:00 +00:00
Joel Challis 4531cc874e
Initial migration of software PWM backlight (#6709)
* Initial migration of software PWM backlight

* First pass at backlight driver docs

* Correct driver name in docs

* Run backlight_task when using BACKLIGHT_PINS

* Resolve backlight docs TODOs
2019-11-02 21:20:03 +00:00
fauxpark e6cc9cc78d Template updates (#7221)
* Template updates

* Flesh out info.json & keymap.c, and turn double spaces section into a list

* Add enum to demonstrate layer naming

* Semicolon
2019-11-01 19:06:03 -07:00
Joel Challis 64b7cfe735 Refactor ps2avrgb i2c ws2812 to core (#7183)
* Refactor ps2avrgb i2c ws2812 to core

* Refactor jj40 to use ws2812 i2c driver

* Refactor ps2avrgb template to use ws2812 i2c driver

* Add ws2812 stub files

* clang-format and driver config

* Add ws2812 driver docs

* Fix default config values

* Update tmk_core/protocol/vusb/main.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-10-29 15:53:11 -07:00
Joel Challis e48fdebe5a
Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180)
* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver

* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b
2019-10-29 01:00:03 +00:00
fauxpark 8ab7f1f39e Fix formatting for sendstring LUTs (#7176) 2019-10-28 15:54:05 -07:00
Drashna Jaelre 335dd0271e Fix Tap Dance name for consistency and to match docs (#7136) 2019-10-24 20:08:29 +01:00
just-another-jxliu 51bf3ba3e6 Fix held key getting stuck when NKRO is toggled (#6570)
* Fix held key getting stuck when NKRO is toggled

* Updated file to latest qmk version and added fix to cases MAGIC_UNHOST_NKRO & MAGIC_HOST_NKRO as well.

* Revert merged quantum.c
2019-10-22 13:03:39 -07:00
Amber Holly b23f6011c3 Remove build option firmware size impacts (#6947)
* Update rules.mk template to remove build option size impacts

* Add rules.mk cleaning script

* Update all rules.mk files to remove build option firmware size impact messages

* Remove references to feature filesize in documentation

* Revert "Update all rules.mk files to remove build option firmware size impact messages"

This reverts commit 7cfe70976b.

* Fix regex in cleanup script and exclude keymaps/ directories

* Update quantum/template/avr/rules.mk

Fixed missing tabs/spaces.

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-18 18:14:49 -07:00
Joel Challis 5dc91ddc60
SPLIT - Remove NO_USB_STARTUP_CHECK requirement for usb detection (#7053)
* Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow

* Update quantum/split_common/split_util.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1
2019-10-17 23:37:37 +01:00
Joel Challis abfd6ed961
Move tmk_core/common/backlight to quantum/backlight (#6710)
* Move tmk_core/common/backlight to quantum/backlight

* Add guards to backlight inclusion

* Add guards to backlight inclusion

* Update backlight guards on clueboard/60

* Use full paths to avoid vpath issues
2019-10-17 17:48:58 +01:00
fauxpark 63f4806d7a Fix bug in do_code16() (#6935)
* Fix bug in `do_code16()`

* Remove qk_ mods functions
2019-10-16 00:02:09 +01:00
theVDude 5a3aefed8d Fix small hiccup in snake animation (#6858) 2019-10-15 23:13:13 +01:00
Deckweiss eac6ccff98 Added uart config for using rn42 with at90usb1286 (#6582)
* Added uart config for using rn42 with at90usb1286

* Updated quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-16 09:10:23 +11:00
MechMerlin bb43010170 Fix broken link to ps2avrgb flashing instructions (#7011) 2019-10-11 22:04:00 -07:00
Joel Challis 76378d74f5 ARM split - detect USB to select master/slave (#6424)
* Initial split refactor to allow usb master detection

* Add split USB detect docs

* Add SPLIT_USB_DETECT demo mode limitation

* fix rebase issues

* clang-format
2019-10-11 23:25:43 -04:00
Joel Challis 64c075ed2c
Fix CONVERT_TO_PROTON_C_RXLED pins (#7007) 2019-10-11 12:11:47 +01:00
fauxpark ed1bf3afa2 Prevent clang-format messing up placeholder tokens within keyboard templates (#6790)
* Use .template file extension for keyboard template files

* Filter out .template files completely before passing to clang-format

* Undo file extension stuff; just ignore quantum/template dir
2019-10-10 11:48:37 +01:00
Joel Challis 38aefaf78e
ARM - Initial backlight support (#6487)
* Move AVR backlight to own file, add borrowed ARM implementation

* Tiny fix for backlight custom logic

* Remove duplicate board from rebase

* Fix f303 onekey example

* clang-format

* clang-format

* Remove backlight keymap debug

* Initial pass of ARM backlight docs

* Initial pass of ARM backlight docs - resolve todos

* fix rules validation logic

* Add f072 warning

* Add f072 warning

* tidy up breathing in backlight keymap

* tidy up breathing in backlight keymap

* add missing break to backlight keymap
2019-10-05 16:57:00 +01:00
Silvio Gulizia afb93b7f48 Fix quantum keymapextra italian (#6779)
* remove IT_PIPE duplicate and add IT_GRAD

IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC)

* rename IT_GRAD to IT_DEGR

* add    missing plus_and_minus

* fix missing IT_ACUT definition

* change KC_LALT(KC_LSFT to LALT(LSFT

* Fix alignment

* remove leftover

* fix issue generated with chars while pushing

* fix typo

* fix LCBR and RCBR

* fix euro symbol

* fix RBRC

* change IT_LESS form KC_NUBS to KC_GRAVE

* add IT_TILDE and change IT_GRAV to IT_GRAVE

* add missing legends for accented vowels

* format for readability

* revert to commit befor I edit it

* initial commit

* edited to be easier to compare to _ansi.h

* remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h

I found out there were no difference at all

* fix missing #endif

* rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h

Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC)

* rename file

* redefines IT_BKSL and IT_PIPE based on KC_BKSL

* add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE
2019-10-03 10:27:01 +10:00
Joel Challis ad8dbd5ca5
ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)
* Add docs on bootmagic/magic keycodes for setting handedness

* Clang format fixes

* Maintain backwards compatibility

* Maintain backwards compatibility
2019-09-24 15:24:12 +01:00
Drashna Jaelre f069e9fc09
Generalize Tap Dance Layer functions (#6629)
* made tapdance dual_role general

* updated original dual_role functionality

* added toggling layer example

* Fix dual role and add alias

* Update docs about new layer tap dances

* Fix up based on feedback
2019-09-21 11:22:27 -07:00
fauxpark 3642a82d37 Add support for 328P hardware backlight on B1/B2 (#6776) 2019-09-20 22:11:15 -07:00
fauxpark de4a47f1cc Cleanup rules.mk for 32A and 328P keyboards (#6767) 2019-09-20 22:06:32 -07:00
MechMerlin 911b8915cc DRV2605L Continuous Haptic Feedback Support (#6461)
* provide means to turn on RTP mode and set the amplitude

* new keycode HPT_CONT to turn RTP off/on

* introduce new keycodes HPT_CONI, and HPT_COND for Haptic Continuous Increase and Decrease

* support for continuous mode amplitude increase and decrease

* code cleanup

* update docs to reference new keycodes and functionality

* don't touch the keymaps

* add function prototypes

* add proper guards

* cleanup guards

* remove extra reserved
2019-09-19 09:42:33 -07:00
XScorpion2 095b88bca5 Smoother Linear Light Table (#6764) 2019-09-18 18:32:38 -07:00
XScorpion2 46c49ae4e6 Updated split encoders so indexes are based on left hand encoders first (#6382)
* Updated encoder.c so that split encoders are indexed based on left hand encoders first.
This ensures when swapping master sides that code logic based on encoder index doesn't change.

PR Review fixes

* Removed extra define
2019-09-18 17:56:11 -07:00
fauxpark 490a13a02e Add 328P to mcu_selection.mk (#6682) 2019-09-07 08:24:19 -07:00
fauxpark 98599173d7 Add 16U2, 16U4 and USB646 to mcu_selection.mk (#6566) 2019-09-05 14:50:43 -07:00
Drashna Jaelre dab4967f1b
Add Dip Switch as a core feature (#6140)
* Add Dip Switches as a core feature

* Add documentation for Dip Switch feature

* Update Preonic Rev3 to use new feature and remove custom matrix

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Remove custom matrix line completely

Rather than just disabling it

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* DIP changes

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Use better check for DIP Switch configuration

* Add to show features

* Add bitmask callback for dip switch

* Fix OLKB Boards dip switch config

* Update docs to include bitmask example

* Fix comments/documentation

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fix issues with docs and use example from @tuzonghua

* Fix wording

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fix example to use proper formatting

Bad, BAAAAAAD drashna!!!

* Handle dip switch initialization better
2019-09-03 08:34:31 -07:00
skullY b624f32f94 clang-format changes 2019-08-30 15:01:52 -07:00
skullY 61af76a10d Hotfix: Reinstate the KC_DELT alias 2019-08-30 15:01:52 -07:00
Konstantin Đorđević 267a85c885 Remove KC_DELT alias in favor of KC_DEL (#6327)
* Remove KC_DELT alias in favor of KC_DEL

* Add changelog
2019-08-30 15:01:52 -07:00
Drashna Jaelre 5a2a650730 Update swedish based keymaps with newer keycodes 2019-08-30 15:01:52 -07:00
Drashna Jaelre 51ee244906 Language Keymap extras backport from ZSA fork (#6198)
* Swedish extra keymap refactor

* Fix swedish $ sign definition (#81)

* Fix br abnt2 keymap compilation error

* Add PR changelog doc

* Update PR6198.md
2019-08-30 15:01:52 -07:00
Joel Challis 51bcadf38c Add 'bootloadHID' flash target (#5587)
* Add 'bootloadHID' flash target

* Prep for flash target

* Add :flash support

* Align bootloader wait messages

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update template to suggest use of :flash
2019-08-24 08:35:11 -07:00
Drashna Jaelre b5ee6c200c
Fixup Bootmagic code (#6386) 2019-08-22 00:22:32 -07:00
Takeshi ISHII 1c5b0cbbeb AVR GPIO macro defines more readable (#5937)
* A little easier to read the definition of the GPIO control macro for AVR.

No change in build result.

* Changed to not use GNU statement expression extension.

No change in build result.

* Modified split_common/serial.c to use qmk_firmware standard GPIO control macro.

No change in build result.

* fix PE6 -> E6

* remove some space

* add some comment to config_common.h

* Changed split_common/serial.c to use a newer version of qmk_firmware standard GPIO control macro.
2019-08-21 17:10:47 -07:00
Drashna Jaelre b62e160a89
Additional changes for Layer State typedef compatibility (#5906)
* Additional changes for Layer State typedef compatibility

* Replace biton32 with get_highest_layer in docs

* Change additional layer structure code

* Fix uGFX reference issue

* Remove dynamic_keymap check

* Where did all these extra spaces come from

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-08-21 17:07:49 -07:00
Stephen Wanhella d534c72a54 Added keycodes for swapping and unswapping the Control and OS keys (#6110)
* Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes

Key codes to swap and unswap the control and windows/cmd keys

* Fix issues with pull request #6110

Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end

* Move new keycodes to the end of the enum (#6110)

* add cases for swapped control and OS keys to mod_config (#6110)

* Add new keycodes to feature_bootmagic.md (#6110)

* Add R+L swap codes to keep in parity with AG_* codes

* Extend Magic range check to include new magic codes

* Update audio docs

* Combine 2 byte ranges into 1 word for EECONFG

Fix names for Keymap config EEPROM

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-21 17:07:08 -07:00
fauxpark 92f9b6c3bd Add ATmega32U2 to mcu_selection.mk (#6561) 2019-08-17 14:29:41 -07:00
fauxpark 802c575506 Remove backslashes from template keymap (#6548) 2019-08-17 00:29:00 -07:00
Danny 36dd261d06 Add support for different encoder pinout for right half of split keyboard (#6521)
* Add support for different encoder pinouts for split keyboard

* Update documentation for new encoder pinout feature
2019-08-16 16:46:41 -07:00
Drashna Jaelre 547fbe769c
Enable PWM Support for Planck EZ Indicator Lights (#6473)
* remove led layer code

* enable PWM on STM32F303

* Unusable PWM code

* Updated PWM Stuff?

* PWM Semi-working

* Both LEDs working at the same time

* Update names

* Add led level functions

* Add LED levels and persistent settings

* Revert change due to issues with timing related code

* Review feedback and minor cleanup
2019-08-13 10:28:12 -07:00
fauxpark 406f03bb0c Mask off TD() parameter properly (#6143)
* Mask off TD() parameter properly

* More parentheses
2019-08-08 14:15:34 -07:00
fauxpark 405dea01be Add some defaults for ATmega32A to mcu_selection.mk (#6253)
* Add some defaults for ATmega32A to mcu_selection.mk

* Remove boilerplate from templates

* Relax INTERRUPT_CONTROL_ENDPOINT and PROGRAM_CMD

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-08 14:09:54 -07:00
fauxpark 2a534e87ac Rename QK_TMK(_MAX) to QK_BASIC (#6509) 2019-08-08 13:32:30 -07:00
fauxpark 4d72aa428f Improve backlight PWM pin support (#6202)
* Improve backlight PWM pin support

* I accidentally an equals sign

* Another typo

* Order by pin number

* Throw an error if backlight pin is C4 or C5 on 16/32U4

* Use else for clarity

* Minor alignment adjustments
2019-08-08 13:12:12 -07:00
Zach DeCook 009d45d4d7 MIDI: Fix basic noteon: send correct velocity (#6476) 2019-08-06 11:26:28 -07:00
Garrett Singer f644db042c [Split] Add config option for DIRECT_PINS_RIGHT (#6479)
Adds support for different direct pin mappings on the halves of a split keyboard.
2019-08-03 21:26:02 -07:00
yrdns 22a8992d1b Fix RGB Matrix Cycle Left-Right Animation (#6421)
One-line fix for a typo that could break build if DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT was defined but not DISABLE_RGB_MATRIX_CYCLE_ALL
2019-07-26 23:17:51 -07:00
fauxpark 0bd03150e5 Remove NO_BACKLIGHT_CLOCK (#6418) 2019-07-27 01:37:33 +01:00
Joel Challis b1691ba696 Fix MATRIX_X_PINS_RIGHT ARM compilation (#6395) 2019-07-23 09:11:37 -04:00
Wilba bffbb4b42d Refactoring wilba.tech PCBs, updating Rama Works U80-A (#6272)
* Added WT65-B, WT75-B, minor fixes

* Update keyboards/wilba_tech/wt65_b/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/wilba_tech/wt65_b/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/wilba_tech/wt75_b/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Change DEBOUNCING_DELAY to DEBOUNCE

* Change DEBOUNCING_DELAY to DEBOUNCE

* Move Zeal60/Zeal65 files to keyboards/wilba_tech

* Change DEBOUNCING_DELAY to DEBOUNCE

* Refactoring zeal60 code to wilba_tech

* Moved Rama Works PCBs to wilba_tech

* Rename Rama Works files

* Cleanup info.json

* Cleanup readme.md

* Cleanup USB device strings

* U80-A RGB matrix, IS31FL3731 driver changes

* Fixed #include from keyboards/zeal60
2019-07-21 07:46:22 -04:00
Konstantin Đorđević a2e91ebec9 Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348)
* Update IS_COMMAND definition in templates to use MOD_MASK_SHIFT

* Update IS_COMMAND in docs

* Update IS_COMMAND default definition in tmk_core

* Update table in Command docs based on suggestion

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-20 13:21:40 -07:00
Danny a40dbf94e8
Merge pull request #6264 from zvecr/split_master_check
Allow board to override split keyboard master check
2019-07-20 15:13:01 -04:00
Konstantin Đorđević e040028f1b Change xprintf() calls in rgblight.c to dprintf() (#6363) 2019-07-19 08:47:04 -07:00
Drashna Jaelre e5d2cb8f98 Fix Preprocessor check for Leader Keys 2019-07-16 09:27:33 -07:00
Drashna Jaelre f6c7e11426 Remove the need to specify NUM_OF_ENCODERS for the Encoder feature (#6328)
* Remove the need to set NUM_OF_ENCODERS

Instead, calculate the size of the array, and use that instead

* Add hack for split common support

* Remove NUM_OF_ENCODERS from keyboard config

Can be reverted, if needed
2019-07-16 01:40:54 -07:00
Drashna Jaelre c44fc68297 Allow Combo feature to be enabled/disabled live (#6318)
* Add ability to enable/disable combos

* Update documentation for Combo feature

* Change keycodes for appeasement

* Simplify combo_toggle function

* Update names

* Update combo docs to use tables
2019-07-16 01:37:19 -07:00
fauxpark a32f7e1a25 Store backlight breathing state in EEPROM (#6105)
* Store backlight breathing state in EEPROM

* Reduce backlight_config.level from 6 bits to 4 (max 15 "on" levels)

* Error out if BACKLIGHT_LEVELS is > 15

* Remove mention of default backlight pin in rules.mk template

* Remove pointless comment
2019-07-16 00:56:36 -07:00
XScorpion2 e2dfb787da Adding rgb matrix speed into eeprom storage. (#5965)
Zeroing out spd in eeconfig_init_quantum

Switched to block read & update

Update tmk_core/common/eeconfig.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

Fixing init compile error

Update eeconfig.c

Dead / Missing API cleanup

alignment
2019-07-16 00:40:43 -07:00
fauxpark ba42a5ae68 Remove commented out MCUs in rules.mk (#5884) 2019-07-16 00:26:38 -07:00
Drashna Jaelre 09f5767072 Add out of bound check for Leader Key sequence array (#5840)
* Add out of bound check for Leader Key sequence array

* A shot at advanced C stuff for Leader Key optimization

* Revert most changes

* Change default back

* Include string.h if compiling for ARM

* Use sizeof instead of a number
2019-07-15 23:56:34 -07:00
fauxpark ed6a872911 Add sendstring LUTs for French keymap (#5830) 2019-07-15 23:28:39 -07:00
fauxpark a5ecf14608 Sendstring LUT improvements (#5727)
* Align sendstring LUTs to 9 characters wide

* Replace 0 with XXXXXXX

* Use decimal 128 for LUT size

* Align heading comments

* Add ASCII table comments

* Add missing AltGr LUTs and adjust keycode LUTs accordingly

* Use pragma once

* Correct a couple more keycodes

* Capitalise "BÉPO"

* Also clean up the default tables

* Tidy up Belgian and Norman LUTs
2019-07-15 23:15:07 -07:00
fauxpark 26bbf6a66a Remove lock LED example in quantum.c (#5636)
* Use GPIO helper defines in backlighting

* While I'm here, fix up the lock LED example too

* Remove the example altogether, it's already documented
2019-07-15 23:05:07 -07:00
Aapo Saaristo 2a231457bd Add user-overridable callback for cancelling UCIS input (#5564)
* Add user-overridable callback for cancelling UCIS input

To clean up things from qk_ucis_start_user() for instance.

* restore lost newline to quantum/process_keycode/process_ucis.c

Co-Authored-By: shinmai <aapo.saaristo@gmail.com>
2019-07-15 22:53:04 -07:00
Ryan Caltabiano cf215487ba Switching rgb_config_t to use HSV struct 2019-07-12 07:39:35 -07:00
XScorpion2 3ee062222a Fixing effects to respect user sat and val levels (#6275) 2019-07-11 11:29:19 -07:00
Konstantin Đorđević c69060465e Fix parentheses in macros, and in general clean up quantum.h (#5021)
* Fix up GPIO macros

* Fix up send string macros

`string` arguments must not be parenthesized

* Fix up miscellaneous macros

* Make indentation uniform (4 spaces)

* Make #ifdef vs #if defined usage consistent

* Reorder standard includes

* Revert indentation changes as per review comments

* Revert #if defined(__AVR__) → #ifdef __AVR__ change

* Change 2 space indent to 4 spaces on a couple of lines

* Replace include guard with #pragma once
2019-07-09 11:16:24 -07:00
Drashna Jaelre 37be1cb513
Fix debouncing issue for eager algorithms (#6081)
* Fix debouncing issue for eager algos

* Fix up typo issue
2019-07-09 11:09:54 -07:00
fauxpark 8b1cdd1e3d Add copyright year placeholders to new keyboard script (#6280)
* Add copyright year placeholders to new keyboard script

* More copyright header tweaks
2019-07-08 14:07:35 -07:00
XScorpion2 d16db69367 Added mod carry over from press to release. (#5866)
Update docs/feature_space_cadet.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-06 21:00:05 -07:00
zvecr 05990c9bda Small fix to allow board to override split keyboard master check 2019-07-05 18:45:57 +01:00
Takeshi ISHII f268993760 fix unselect_rows() in quantum/matrix.c (#6243)
unselect_col() uses setPinInputHigh(), but unselect_cols() uses setPinInput().
This is not correct. unselect_cols() should also use setPinInputHigh().
2019-07-03 11:50:06 -07:00
Michael F. Lamb b802c0c8df [Keymap] mitosis:datagrok: use non-copyrighted songs, add workman ditty (#6205) 2019-06-28 10:50:49 -07:00
fauxpark 8c1900a658 Remove one more copyrighted song (#6200) 2019-06-26 18:12:27 -07:00
fauxpark 317b809564 Fix breathing always on for soft PWM (#5983)
* Fix breathing always on for soft PWM

* Remove reference to hardware PWM pins in BACKLIGHT_BREATHING description

Now, breathing will only be unsupported when Timers 1 and 3 are both used by Audio

* Document BACKLIGHT_ON_STATE and its purpose
2019-06-19 22:33:39 -07:00
Danny 810c8db770 Set default I2C clock speed to 100kHz for split_common (#6161)
* Set default I2C clock rate for split_common boards to 100kHz

Default from I2C driver is 400kHz.

* Update documentation for setting I2C clock speed
2019-06-19 22:02:20 -07:00
fauxpark 6bdcbfb25a Fix backlight breathing on C6 (#6102)
* Fix backlight breathing on C6

* Account for ATmega32A's single TIMSK register (MT40)

* Document hardware PWM on D4 for ATmega32A

* Add C6 and D4 to BACKLIGHT_PIN description
2019-06-17 19:37:17 -07:00
Drashna Jaelre 06975aa0dd Remove all Copyrighted Sounds and Songs (#5905)
* Remove all Copyrighted Sounds and Songs

This removes any song that has a license/copyright on them.
Additionally, it adds the license information for any song that remains.

* Add removed song list

Can be reverted if we'd rather do that

* Use newer coding conventions

* Fix typo

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Revert copyright date

* Update quantum/audio/song_list.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-06-06 12:23:46 -07:00
XScorpion2 e7711b3b66 Moving rgb typedefs into a single location (#5978)
Because someone named the define poorly

Using full relative path as handwired/promethium has a color.h file
2019-06-04 11:04:30 -07:00
Danny Nguyen 2c8149aa55 Fix compilation error when I2C and encoder is enabled for split code 2019-06-02 21:23:35 -07:00
zvecr c393d3afde Add additional pins for Teensy 3.x and LC 2019-06-01 13:33:11 -07:00
Kimat Boven 4d97f35230 Add belgian layout for sendstring (#6008)
* belgian layout had no sendstring definition

* backtick was not defined for belgian sendstring

* slash definition was wrong for belgian sendstring

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* use BE_ keys whenever we can

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* ^ can be sent as a normal key (not a dead key) with altgr+para
2019-05-29 11:10:30 -07:00
Ryan Caltabiano 6d6646de04 Fixing matrix_scan so it properly returns changed status 2019-05-28 14:09:47 -07:00
Drashna Jaelre 83afae31ed Fix up Debouncing in AVR Templates (#5964) 2019-05-23 17:42:06 -07:00
Ryan Caltabiano c9a7161d93 Reduce rgb matrix firmware size 2019-05-19 15:23:01 -07:00
fauxpark e0ecc53f4e Make DEBUG keycode disable as well as enable (#5898)
* Make DEBUG keycode disable as well as enable

* print() can always be used regardless of debug_enable state
2019-05-19 09:46:41 -07:00
Ryan Caltabiano 5c7b37bbbd Added custom center point to rgb matrix 2019-05-19 09:38:38 -07:00
XScorpion2 270b39b2eb Spirals, Pinwheels, and Documentation....Oh My! RGB Matrix Effects (#5877)
* Spirals, Pinwheels, and Documentation....Oh My!

* Spiral effect band thickness adjustments

* Fixing animation spin directions
2019-05-19 09:19:46 -07:00
XScorpion2 f11fde9bf5 Fixing hsv_to_rgb where s = 0 and v < 255 (#5915)
* Fixing hsv to rgb where s is 0 and v is < 255

* Update color.c
2019-05-19 09:11:08 -07:00
XScorpion2 0099bbf9a6 Single Color Band scrolling left to right effects (#5867) 2019-05-19 09:09:06 -07:00
Josh d85110b6ec Adds a configurable initial delay to the audio clicky feature (#4286)
* Adding an AUDIO_CLICKY_DELAY_DURATION configurable value to the AUDIO_CLICKY feature.

* Tweaking my community keymap to work better with my rev 4 planck.
2019-05-17 13:48:53 -07:00
Alex Ong 00d1d7828c Typedef'ed layer_state_t to uint32_t (#3637)
* Typedef'ed layer_state_t to uint32_t.

This enables future work with layer_state_t to uint8_t for optimization purposes.

* Removed accidental xeal60 commit

* Revert to egyptian brackets, added sizeof(layer_state_t) so when layer_state_t is redefined it will automagically work.

* Add additional typedefs

* Add checks for setting layer state

* Update tmk_core/common/action_layer.h

Co-Authored-By: alex-ong <the.onga@gmail.com>

* Revert commit.
2019-05-17 13:47:50 -07:00
Takeshi ISHII 670a9b7f83 Add effect range to rgblight.c (#5856)
* add rgblight_set_effect_range()

* implement effect range

* Arrange the order of function list in rgblight.h .

* update docs/feature_rgblight.md

* fix RGBLIGHT_RAINBOW_SWIRL_RANGE default value

* add example code about Utility Functions

* add example code about direct operation functions

* When RGBLIGHT_SPLIT is defined, the following function has no meaning and is invalidated.

 * rgblight_setrgb_master(r, g, b)
 * rgblight_setrgb_slave(r, g, b)
 * rgblight_sethsv_master(h, s, v)
 * rgblight_sethsv_slave(h, s, v)

* add temporary test code for rgblight_set_effect_range

* fix rgblight_effect_knight() bug

* Test End. Revert "add temporary test code for rgblight_set_effect_range"

This reverts commit 5680cddd01.
2019-05-15 21:11:28 -07:00
yiancar acd3e79add NK65 Addition (#5865)
* Nk65 initial commit

* Minor fix for compatibility

* Make everything pretty

* Update keyboards/nk65/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/nk65/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Chmod Dummy

* Update getting_started_introduction.md

* Revert "Update getting_started_introduction.md"

This reverts commit daf446acf7.
2019-05-15 21:09:36 -07:00
Pavlos Vinieratos b68d8fe82e [Keymap] Pvinis master (#5843)
* trying to make my global keymap

* refactoring the old keymap using userspace

* getting there

* move readme and remove community layout

* use pragma once instead of ifndefs

* just make iris work

* iris decent

* better naming

* add some modifiers on the home row

* use symbol and sysctl layers

* fix up

* a bit faster

* add < and > on symbol layer

* apparently im not using z all that much..

* okok

* fix up stuff

* led init is back

* bring back led indicators

* Update keyboards/ergotravel/keymaps/pvinis/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* not needed

* not needed

* delete these for now, until I use the userspace code

* remove katamari from here. made a new pr for it

* lower case

* drashna suggestion :)

* move files to correct place

* fix missing command
2019-05-14 12:02:22 -07:00
XScorpion2 c6184d2e7e Added check for event pressed to clear space cadet (#5839)
* Added check for pressed to clear space cadet

* Found some docs to update

* Update docs/quantum_keycodes.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Changes from PR
2019-05-11 22:20:14 -07:00
XScorpion2 819364ea23 Fix for Solid Reactive mode bug (#5846)
derp, forgot to remove the pragma once
2019-05-11 12:31:31 -07:00
XScorpion2 fd23a0e909 RGB Matrix Effects: Cycle Out to In & Cycle Out to In Dual (#5812) 2019-05-10 19:56:16 -07:00
XScorpion2 62ba66d618 Cleanup/rgb matrix (#5811)
* clean up rgb matrix extern usage

Moved rgb matrix boiler plate into macros

Rebased onto typing heatmap pr

* Fixing the reversed frame buffer access in digital rain

* Fixing digital rain & typing heatmap if keyreactive effects are not enabled

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Adding parenthesizes to DRIVER_LED_TOTAL where necessary

* Updated docs

* added notes about parentheses
2019-05-10 16:55:02 -07:00
Torben Hoffmann d3f3da5112 Norman layout for the minidox keyboard (#5747)
* Norman layout with Lower and Raise layers working

* Add keymap_extra def for Norman layout
* Re-org'ed the modifiers as explained in the Readme
* Corrected colour legend for KLE that the Readme links to

* Use #pragma once in header file

* Use pragma once and move user config to config.h

* Move definitions to the right file and correct link in Readme

* Move def of NM_COLN to the logical place in header file

* Add sendstring_norman.h for when the laptop layout is not QWERTY

* Update quantum/keymap_extras/sendstring_norman.h

Co-Authored-By: lehoff <torben.lehoff@gmail.com>
2019-05-09 22:12:11 -07:00
XScorpion2 60eae7335b RGB Matrix Typing Heatmap (#5786)
* RGB Matrix Typing Heatmap Effect

* Fixing file name and effect init
2019-05-07 19:17:00 -07:00
XScorpion2 af89752bff rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) (#5783)
* Initial conversion of the rgb_led struct

* Converting last keyboard & updating effects to take advantage of the new structure

* New struct should not be const

* Updated docs

* Changing define ___ for no led to NO_LED

* Missed converting some keymap usages of the old struct layout
2019-05-07 16:22:46 -07:00
Rainer Clasen 12e6d41202 [Split] fix split_common i2c backlight disabling (#3886)
slave backlight was always on - as get_backlight_level() doesn't
indicate if the backlight is enabled or not.

also updated the corosponding code for serial transport to stop peeking
directly at 'internal' backlight_config structure.
2019-05-07 10:45:10 -07:00
XScorpion2 e01b2d518a [Keyboard] Sol keyboard conversion to split common (#5773)
* Split common conversion

* Updated serial and encoder pins

* Fixing default folder until r2

* Fixing oled driver on slave split common

* Fixing keymap compile errors

* Fixing oled inactivity timer on slave split common

* Hoisted oled driver task, init, & activity to keyboard.c

* Update keyboards/sol/config.h

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>

* Remove TAPPING_FORCE_HOLD
2019-05-06 15:06:43 -07:00
XScorpion2 e290dc5ad8 Space Cadet: Reducing unnecessary reported keypresses (#5781)
* Reducing unnecessary reported keypresses and minor docs / variable name changes

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-05-05 16:27:02 -07:00
MechMerlin 4c14b5832a Fix up ps2avrgb templates (#5606)
* fix up ps2avrgb templates

* set backlight enable to no as per review comments

* add back no_uart
2019-05-03 17:26:29 -07:00
Konstantin Đorđević bdc8d89e6b New keycode macro (XP) for shifted character pairs using UNICODEMAP + bug fixes and improvements (#4803)
* Expose unicode_saved_mods

* Add UNICODEMAP shift pair functionality and XS keycode

* Add XS to keycode reference documentation

* Pick pair index based on both Shift and Caps Lock state

* Add XS to Unicode feature docs

* Clean up process_unicode* headers

* Extract unicode_map index calculation into function

* Pick pair index as XOR rather than OR of Shift and Caps states

* unicode_input_start() has to be called before the unicode_map index is calculated

* Replace unicodemap_input_error() with more generic unicode_input_cancel()

* Replace register+tap+unregister with tap_code16(LCTL(LSFT(KC_U)))

* UNICODE_OSX_KEY → UNICODE_KEY_OSX, UNICODE_WINC_KEY → UNICODE_KEY_WINC

* Make keycode range checks more robust

* Fix keycode range checks for different input modes

* Add UNICODE_KEY_LNX, update docs

* QK_UNICODEMAP_SHIFT → QK_UNICODEMAP_PAIR

* XS → XP, update docs

* Tweak Unicode docs

* Use recently added MOD_MASK_SHIFT and IS_HOST_LED_ON helpers

* Update Unicode table in docs/keycodes.md

* Update Unicode docs per review comments

* Replace references to Mac OS X with macOS in Unicode docs

* As of v0.9.0, WinCompose supports all possible code points

* Expand descriptions in XP docs

* Update keycode table and cycling docs

* Further expand cycling docs
2019-05-03 09:33:00 -07:00
Drashna Jaelre 41beecfc18 Add DFU Suffix for ARM boards (#5763)
* Add DFU Suffix for ARM boards

* Blindly flash DFU SUFFIX ARGS for now

* Fix commented out check

* Fix DFU Suffix Argument check

Thank you jack!

* Update Travis CI Scripts to include dfu-util

So we can get dfu-suffix as well

* Manually add dfu-suffix package

* Use external repo for newer version of dfu-util

One that includes dfu-suffix

* Update .travis.yml

* Silence unnecessary output from dfu-suffix
2019-05-03 08:24:22 -07:00
Takeshi ISHII 3da8d46a07 If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() (#5484)
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin()

* Change rgblight breathing table size to be easily selectable.

add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-05-02 07:59:29 -07:00
XScorpion2 12a07dae33 Adjusted the linear led table and hsv_to_rgb to better handle 255 hue (#5739)
* Adjusted the linear led table and hsv_to_rgb to better handle 255 hue

* small math adjustments to better handle specific uint8_t rounding and overflows
2019-05-01 18:59:01 -07:00
XScorpion2 3235c8527d Simple fix for selecting which tracked key press to work off of for simple reactive effects (#5745) 2019-05-01 11:36:50 -07:00
XScorpion2 22ba36a4d8 rgblight 255 hue (#5547) 2019-05-01 08:02:02 -07:00
XScorpion2 50bc2dbe77 Fixing incorrect usage of RGBLED_NUM in ws2812 driver when used with RGB Matrix (#5744) 2019-05-01 05:48:33 -07:00
XScorpion2 bb208f3e3b Implement kb function for rgb matrix to led lookup (#5738) 2019-04-30 07:55:53 -07:00
XScorpion2 c745d9b82e Simple extended space cadet (#5277)
* Simplifying and Extending Space Cadet to work on Ctrl and Alt keys

* PR Review feedback

* Reverting back to keycodes
2019-04-29 20:21:46 -07:00
XScorpion2 a7113c8ed0 Updated rgb_led struct field modifier to flags (#5619)
Updated effects to test led flags
Updated massdrop to use new flags field for led toggle
2019-04-29 15:18:50 -07:00
Daniel Prilik 1d784f0f95 RGB Matrix: Custom effects on a kb/user level (#5338)
* Revamped custom effects approach

See docs for example usage

* push-up RGB Matrix default mode

Override default effect using RGB_MATRIX_STARTUP_MODE.
Useful on boards without EEPROM support
(*cough* Massdrop ALT/CTRL *cough*)

* update docs
2019-04-29 14:48:41 -07:00
fauxpark c3be0520c4 Fix sendstring "#" producing "£" instead (#5724) 2019-04-27 11:04:28 -07:00
mtei 9f8c8c53a5 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to rgblight_update_dword() 2019-04-24 12:52:15 -07:00
mtei 5312131d35 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to eeconfig_update_rgblight_default() 2019-04-24 12:52:15 -07:00
Rockman18 479baf98e0 [FIX] Misspelled RGB_YELLOW (#5692) 2019-04-23 19:27:29 -07:00
M-AS bb52119a6d RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) (#5602)
* added 3 new RGB_Matrix effects

* made cross effect behavior smoother

* removed dead code

* added effect descriptions
2019-04-22 08:37:40 -07:00
Brice Figureau b61baf4281 Fix #3566 use an hardware timer for software PWM stability (#3615)
With my XD60, I noticed that when typing the backlight was flickering.

The XD60 doesn't have the backlight wired to a hardware PWM pin.
I assumed it was a timing issue in the matrix scan that made the PWM
lit the LED a bit too longer. I verified it because the more keys that
were pressed, the more lighting I observed.

This patch makes the software PWM be called during CPU interruptions.
It works almost like the hardware PWM, except instead of using
the CPU waveform generation, the CPU will fire interruption
when the LEDs need be turned on or off.

Using the same timer system as for hardware PWM, when the counter
will reach OCRxx (the current backlight level), an Output Compare
match interrupt will be fired and we'll turn the LEDs off.
When the counter reaches its maximum value, an overflow interrupt
will be triggered in which we turn the LEDs on.
This way we replicate the hardware backlight PWM duty cycle.

This gives a better time stability of the PWM computation than pure
software PWM, leading to a flicker free backlight.

Since this is reusing the hardware PWM code, software PWM also supports
backlight breathing.

Note that if timer1 is used for audio, backlight will use timer3, and if
timer3 is used for audio backlight will use timer1.
If both timers are used for audio, then this feature is disabled and we
revert to the matrix scan based PWM computation.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2019-04-22 08:34:13 -07:00
Erovia 066818f5f9 Define RGB colors (#5300)
* Define RGB colors

Define RGB colors and pass them to the rgblight functions, instead of
defining multiple macros.

* Add new color definitions support for RGB Matrix

* Add/clarify info about new color definitions in Docs

* Add deprecation warning banner to rgblight_list.h
2019-04-22 08:26:41 -07:00
Ryan Caltabiano 0a645225b9 OLED Driver Feature 2019-04-20 08:05:10 -07:00
Takeshi ISHII 7e67bd791b Change split_common to use RGBLIGHT_SPLIT (#5509)
* add I2C_slave_buffer_t to quantum/split_common/transport.c

Improvements to ease the maintenance of the I2C slave buffer layout. And this commit does not change the compilation results.

* add temporary pdhelix(Patched Helix) code

* temporary cherry-pick from #5020

add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h

* add post_config.h support to build_keyboard.mk

* add quantum/rgblight_post_config.h, quantum/split_common/post_config.h

Add quantum/rgblight_post_config.h and quantum/split_common/post_config.h using POST_CONFIG_H variable of build_keyboard.mk.

quantum/rgblight_post_config.h additionally defines RGBLIGHT_SPLIT if RGBLED_SPIT is defined.

quantum/split_common/post_config.h defines RGBLIGHT_SPLIT additionally when master-slave communication is I2C.

* Change split_common's transport.c I2C to use the synchronization feature of rgblight.c

* Change split_common's transport.c serial to use the synchronization feature of rgblight.c

* test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix

* Test End Revert "test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix"

This reverts commit 80118a6bbd.

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/i2c:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/i2c:default (same RGBLIGHT_TEST=3)
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/i2c:default

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2:default
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2:default

[x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2_2oled:default
[x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2_2oled:default
[x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2_2oled:default

* Test End, Revert "temporary cherry-pick from #5020"

This reverts commit d35069f68b.

* Test End, Revert "add temporary pdhelix(Patched Helix) code"

This reverts commit aebddfc1a8.

* temporarily cherry-pick from #5020 to see if it passes the travis-ci test.

add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h

* Passed the travis-ci test. Revert "temporarily cherry-pick from #5020 to see if it passes the travis-ci test."

This reverts commit 647c0a9755.

* update docs/config_options.md

* update split_common/transport.c, improves maintainability of serial transaction IDs.

No change in build result.

* temporary cherry-pick from #5020

* fix build fail keebio/iris/rev3:default

* fix build fail lets_split_eh/eh:default

* Revert "temporary cherry-pick from #5020"

This reverts commit be48ca1b45.

* temporary cherry-pick from #5020 (0.6.336)

* Revert "temporary cherry-pick from #5020 (0.6.336)"

This reverts commit 978d26a8b3.

* temporary cherry-pick from #5020 (0.6.336)
2019-04-19 15:25:08 -07:00
Takeshi ISHII dfab177f88 Add function to support split-keyboard in rgblight.[ch]. (#5020)
* add temporary file that is rgblight.c call graph

* add rgblight_update_hook()

* update rgblight-call-graph.dot (temporary file)

* add more hook point

* add TODO comment

* temporary Revert "add TODO comment"

This reverts commit df6165aac9.

* temporary Revert "add more hook point"

This reverts commit 64592b06f3.

* temporary Revert "add rgblight_update_hook()"

This reverts commit 432b74c912.

* add rgblight_update_hook()

* add more hook point

* add TODO comment

* implement rgblight_update_hook()

* remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX

rgblight_update_hook() is too large.
change to simple flag setting.

* shrink rgblight_config_t

* implement rgblight_update_sync()

Note: The animation synchronization process has not been implemented yet.

* update quantum/rgblight-call-graph.dot (temporary file)

* rmove quantum/rgblight-call-graph.dot (temporary file)

* update rgblight.c

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* fix build break rgblight_update_sync() when all animation off

* fix quantum/rgblight.c:rgblight_disable_XX() add RGBLIGHT_SPLIT_SET_CHANGE_MODE

* quantum/rgblight.c change code order: move rgblight_update_sync()

* add mode_base_table[] to quantum/rgblight.c

* quantum/rgblight.c use mode_base_table[] and rgblight_status.base_mode

* quantum/rgblkght.c animation timer integration

* quantum/rgblkght.c add animation sync for split keyboard

* fix mode_base_table[] and snake effect

* fix build break keyboards/mxss.

keyboards/mxss's local rgblight.c need old version rgblight.h

* rgblight.c: fix animation sync

* quantum/rgblight.c: fix snake effect sync

* quantum/rgblight.c: animation sync interverl 30 sec

* quantum/rgblight.c: fix rgblight_effect_rainbow_swirl() and rgblight_effect_knight()

* quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION

* cherry-pick from 'rgblight_modes.h sample implementation'

* fix RGBLIGHT_SPLIT_ANIMATION check position

* Update temporary code in Helix keyboard 'five_rows' keymap to test rgblight.c

* Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled.

* Changed to rgblight_sethsv_eeprom_helper() for easier reading.

* add fail-safe code to quantum/rgblight.c:rgblight_task(),rgblight_timer_enable()

* remove temporary code in Helix keyboard 'five_rows' keymap

* quantum/rgblight.c: add split-keyboard master side sync functions

add functions:
  uint8_t rgblight_get_change_flags(void);
  void rgblight_clear_change_flags(void);
  void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo);

change function:
  void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom);

* Change rgblight_update_sync() to use write_to_eeprom.

* remove TODO comment from quantum/rgblight.h

* Revert "fix build break keyboards/mxss."

This reverts commit 90b9a1aa7d.
(Separated this change into the newly opened PR #5461.)

* Revert "Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled."

This reverts commit b61004e63e.

* update quantum/rgblight.c: Code size reduction when not using RGBLIGHT_SPLIT.

* Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c .

* add temporary pdhelix(Patched Helix) code

* Add temporary code to split_common/transport.c to test rgblight.c.

* Finish testing rgblight.c with helix keyboard.

Revert "Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c ."

This reverts commit 0bf81a4723.

* Finish testing rgblight.c with quantum/split_common code.

Revert "Add temporary code to split_common/transport.c to test rgblight.c."

This reverts commit 71db3e24ee.

* remove temporary pdhelix(Patched Helix) code

This reverts commit 5287e51a39.

* Added description of RGBLIGHT_SPLIT macro to docs/feature_rgblight.md.

* add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init()

* Changed to restart animation only when changing mode.

When changing hue, sat and val, the animation is not restarted and continues.
2019-04-19 15:05:51 -07:00
Mike Roberts b60413af60 Use auto output for Adafruit BLE (#4131)
* use auto for adafruit ble

* spacing

* switch ifdef name
2019-04-19 13:07:35 -07:00
Alex Ong 7a1086e405 [core] Fix for eager_pr #5643
Added extra transfer_matrix_values() call whenever counters don't need updating
2019-04-18 15:45:36 -07:00
Alex Ong d0fb7005d5 Eager pk/pr optimization (#5621)
* Optimizations to eager_pk

* eager_pr also uses changed boolean now.
2019-04-15 12:58:03 -07:00
XScorpion2 5fcd744ddb Features/ws2812 matrix driver (#5418)
* WS2812 driver implementation for RGB Matrix

* Added driver configuration docs
2019-04-14 17:50:35 -07:00
Bob 02b74d521b fix combo enabling logic (#5610) 2019-04-14 11:02:41 -07:00
Drashna Jaelre a6857d18e1 Change table names 2019-04-12 14:07:05 -07:00
Drashna Jaelre 1d7a06a0a2 Cleanup code 2019-04-12 14:07:05 -07:00
Drashna Jaelre e88530af79 Make send_char multilined for readaability
So future us' will thaank us
2019-04-12 14:07:05 -07:00
Drashna Jaelre 7148c0b10c Clean up some of the code 2019-04-12 14:07:05 -07:00
Drashna Jaelre a2090d5e86 Add AltGr/RALT support to Send String 2019-04-12 14:07:05 -07:00
noroadsleft 2df82514ab Update ps2avrgb readme template (#5584)
- fix markdown formatting on macOS instructions (close code block)
- update package install commands
  - set python3
  - use pip3 to install pyusb
  - fix typo (extra backtick on bootloadhid package install line)
- update Keyboard Maintainer line (now unified with AVR template)
2019-04-11 15:39:40 -07:00
zvecr 0137b02319 Port DIRECT_PINS from split_common/matrix.c to matrix.c (#5091)
* Port DIRECT_PINS from split_common/matrix.c to matrix.c

* Reorder matrix.c to remove foward declaration and match split_common/matrix.c

* Refactor nano to use DIRECT_PINS

* Reorder matrix.c to remove foward declaration and match split_common/matrix.c

* Add DIRECT_PINS documentation

* Reorder matrix.c to remove foward declaration and match split_common/matrix.c - fix logic from inherited from split_common

* Add DIRECT_PINS documentation - review comments
2019-04-11 11:51:55 -07:00
Jack Humbert fa4052c26e Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes (#5532)
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance

* Updating effect function api for future extensions

* Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary

* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain

* Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes

* fix bug in quantum/rgb_matrix_drivers.c

Co-Authored-By: jackhumbert <jack.humb@gmail.com>

* update command setting to the correct default

* correct rgb config

* remove commented-out lines

* update docs for the 3737

* Update docs/feature_rgb_matrix.md

Co-Authored-By: jackhumbert <jack.humb@gmail.com>
2019-04-08 16:57:43 -07:00
Bob bc536b9b6d Switch process_combo to using global register and timer (#2561)
Since combos keep local state about what keys have been previously pressed, when combos are layered, multiple keypresses will register for any key with multiple combos assigned to it. In order to fix this, I switched process_combo to use a global keycode / keyrecord register and timer. When a keypress is consumed by a combo, it gets stored in the register and the timer is updated; when the next keypress takes too long or a key is pressed that isn't part of any combo, the buffer is emitted and the timer reset. This has a few side effects. For instance, I couldn't _not_ fix combo keys printing out of order while also fixing this bug, so combo keys print in order correctly when a combo fails. since combos no longer have local timers, the logic around when combos time out has changed. now that there is a single timer pressing any combo key (including one in a different combo) will reset the timer for all combos, making combo entry a little more lenient. Since combos no longer have local keycode / keyrecord state, there is an edge case where incomplete combo keys can be consumed. if you have a combo for a+s = tab and a combo for b+n = space, if you press a+b+n, only a space will be emitted. This is because when b+n completes successfully, it drops the register.
2019-04-08 14:07:15 -07:00
zvecr 91b18e263f [Keyboard] Refactor jj40 to current standards (#5574)
* Refactor jj40 in line with current ps2avrgb template

* Disable bootmagic lite as it seems to not work on atmega32a/bootloadHID

* Add backlight pwm bodge till #4324 lands

* Increase planck keymap compatibility
2019-04-08 10:53:15 -07:00
Drashna Jaelre 908966bdf3
Fixed tap/down/up handling in dynamic keymap macros (#5363)
* Fixed tap/down/up handling in dynamic keymap macros

* Added SS_TAP_CODE, SS_DOWN_CODE, SS_UP_CODE
2019-04-07 19:19:00 -07:00
Lenbok 2ffa4798a4 Fix bugs that cause compile failures when enabling only some animations. 2019-04-06 10:59:25 -07:00
Drashna Jaelre 5701b75e3c Custom Tapping Term per key (#5009)
* Add customizable tapping terms

* Add Documentation

* Fix function

* Fixes

* It's not a pointer

* Add debugging output

* Update documentation to be at least vaguely accurate

* Use `get_tapping_term(tapping_key.event)` instead

`e` doesn't include column and row information, properly. It registers as 255, regardless of the actual keypress.

However `tapping_key.event` actually gives the correct column and row information.  It appears be the correct structure to use. 

In fact, it looks like the issue is that `e` is actually the "TICK" structure, as defined in keyboard.h

* Use variable tapping term value rather than define

* Silly drashna - tapping_key.event, not event

* add get_event_keycode() function

* Fix typo

Co-Authored-By: drashna <drashna@live.com>

* Remove post_process_record_quantum since it's the wrong PR

* Update quantum/quantum.c

Co-Authored-By: drashna <drashna@live.com>

* Better handle ifdef statement for permissive hold

Since we can't be sure that tapping term is actually 500

* Update quantum.c comments based on feedback

* Clean up get_tapping_term function

Clean up function so that users don't need to call the event function, and instead only check the keycode

* Add ability to run functionality on and off

* Make ifdef's more compact
2019-04-05 15:47:25 -04:00
James Churchill 4c1760883e Update ps2avrgb template to use standard matrix/i2c code (#4957)
* Update ps2avrgb template to use standard matrix/i2c code

* Default to an 8x11 matrix in the ps2avrgb template
2019-04-05 09:20:43 -07:00
Daniel Prilik 763b26cdb9 RGB Matrix support for Massdrop CTRL/ALT (#5328)
* port Massdrop CTRL/ALT to use RGB Matrix

Co-authored-by: Matt Schneeberger <helluvamatt@gmail.com>

* Massdrop lighting support working

This commit is to get the Massdrop lighting code working again through use of the compilation define USE_MASSDROP_CONFIGURATOR added to a keymap's rules.mk.
Added keymaps for both CTRL and ALT named default_md and mac_md. These should be used if the Massdrop style lighting is desired.

* Updating config based on testing results with patrickmt & compile errors

* Updates for PR5328

For CTRL and ALT:
Moved location of new RGB Matrix macros from config_led.h to config.h.
Added RGB_MATRIX_LED_FLUSH_LIMIT (time between flushes) to config.h for correct LED driver update timing.
Re-added missing breathing code for when Massdrop configurator mode is defined.

* remove prilik keymap form PR
2019-04-03 18:30:47 -07:00
XScorpion2 63177760de Added encoder support to split common code (#5477)
* Added slave encoder support to split common

* Fixing handwired/xealous/rev1 compile error

* Removed unnecessary ifdef
2019-04-03 16:01:17 -07:00
Alex Ong 17e7762de7 Eager Per Row Debouncing added (added to Ergodox) (#5498)
* Implemented Eager Per Row debouncing algorithm.

Good for when fingers can only press one row at a time (e.g. when keyboard is wired so that "rows" are vertical)

* Added documentation for eager_pr

* Ported ergodox_ez to eager_pr debouncing.

* Removed check for changes in matrix_scan.

* Added further clarification in docs.

* Accidental merge with ergodox_ez

* Small cleanup in eager_pr

* Forgot to debounce_init - this would probably cause seg-faults.
2019-04-03 14:45:55 -07:00
XScorpion2 c98247e3dd RGB Matrix Overhaul (#5372)
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance

* Updating effect function api for future extensions

* Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary

* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain
2019-04-02 17:24:14 -07:00
DDRnJn 61b2f2b16e Added some new songs (#5525)
Added Fantasie Impromptu and Nocturne Op. 9 No. 1 in B flat minor by Chopin
Added Isabella's Lullaby from The Promised Neverland
Added Renai Circulation and Platinum Disco from Monogatari
Added Terra's theme from Final Fantasy 6
2019-04-02 11:51:28 -07:00
Wilba6582 d15bb05c93 Added SS_TAP_CODE, SS_DOWN_CODE, SS_UP_CODE 2019-03-30 14:24:13 +11:00
Brian Choromanski 3f4d706c98 Fixing dead links (#5503)
* Fixed typo of 'confid.h' to 'config.h'

* Fixed broken links in docs

* Fixed a lot of dead links

* Removed all dead links that I could not find a replacement for

* Placed knops links back in

* Fixed plank keymaps so that they will compile for planck light

* Https doesn't work on knops.io

* tv44:budi now compiles

* s60_x:amnesia0287 now compiles

* Fixed allocation of key_combos so that narze keymap for planck can compile correctly

* Disabled rgb on ergodone and infinity

* Enabled tap dance so it compiles

* Added return statement so it compiles

* If compiling on light disable extra functionality

* Properly redefined variable so it compiles

* Remove remaining dead links
2019-03-29 06:20:25 -07:00
DDRnJn b90df560f8 Added songs from Nier and Nier Automata
Added song of the ancients and kaine salvation fron Nier
Added Amusement park, Copied city, Vague Hope cold rain and weight of the world from Nier Automata
2019-03-24 17:13:07 -07:00
Danny f077204fae Add support for RGB LEDs wired directly to each half's controller (#5392)
* Add support for wiring RGB LEDs for both halves directly to their respective controllers

RGB LEDs for each half don't need to be chained together across the TRRS cable with this

* Add split RGB LED support for serial

* Update config/rules for bakingpy layout

* Un-nest ifdefs for hand detection

* Read RGB config state from memory instead of EEPROM for serial updates

* Reuse existing LED pointer instead of creating new one
2019-03-23 17:20:14 -07:00
Takeshi ISHII f7fd7f67bd rgblight.c: add remap feature (#5243)
* rgblight.c: add RGBLIGHT_LED_MAP support

* add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP

* Test end. Revert "add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP"

This reverts commit e7488d6f73.

* update docs/feature_rgblight.md

* led_map[] move to PROGMEM
2019-03-20 16:55:24 -07:00
James Churchill cd696ed3d1 Fix i2c splits with >8 columns (#5454) 2019-03-20 07:43:36 -07:00
M-AS 221ac2eabb New RGB Matrix effect: Single color reactive (#5330)
* Adds new RGB Matrix effect: rgb_matrix_config'd reactive LEDs

* [Docs] Adds disable for new effect

* [Docs] Added new effect to list of effects
2019-03-17 10:38:51 -07:00
cubimon f9f0a31904 Unicode fix for new wincompose version (#5082)
* unicode fix for new wincompose version

* move wincompose case to linux

* Change unicode input end to enter
2019-03-17 10:35:14 -07:00
DDRnJn fcc9b4b8e7 Added 4 new songs to song_list.h
Added Liebesleid by Kriesler (or Rachmaninoff), Michishirube from Violet Evergarden, Melodies of Life from Final Fantasy 9 and Eyes on Me from Final Fantasy 8
2019-03-17 10:17:12 -07:00
Len Trigg 9c4424ae2c rgblight split transfer non-eeprom config (#5396)
* Make rgblight_update_dword not update eeprom (we already have
eeconfig_update_rgblight for that).

Make split i2c keyboards transfer active rgblight config rather than
eeprom saved version of rgblight config, enabling runtime changes
that aren't persisted to eeprom.

* prev_level and prev_rgb only store successfully transmitted values
2019-03-15 13:46:49 -07:00
Takuya Urakawa 2f3dbb1253 Add new keyboard Plaid and ATMEGA328p support (#5379)
* add plaid

* Change usb vid/pid to free id from vusb
Trivial fix for vusb core

* update readme

* update info.json default keymap

* fix typo

* Replace copyright
2019-03-12 11:48:17 -07:00
James Churchill 37932c293c Next set of split_common changes (#4974)
* Update split_common to use standard i2c drivers

* Eliminate RGB_DIRTY/BACKLIT_DIRTY

* Fix avr i2c_master error handling

* Fix i2c_slave addressing

* Remove unneeded timeout on i2c_stop()

* Fix RGB I2C transfers

* Remove incorrect comment
2019-03-12 10:23:28 -07:00
DDRnJn fe89aef774 Add 3 new songs and add new note type (#5351)
* Added 3 new songs and added new note type to musical_notes.h

Added Megalovania from Undertale, Kataware Doki from Kimi no Na Wa and La Campanella by Lizst to song_list.h
Added the breve (double whole note) and dotted breve note types to musical_notes.h. I included this because the default tempo is quite high, so I thought a note with higher
duration was needed

* Fixed indentation for new notes in musical_notes.h

Changed tabs to spaces in indentation
2019-03-11 13:53:22 -07:00
Wilba6582 92c19dae8c Fixed tap/down/up handling in dynamic keymap macros 2019-03-11 12:41:50 +11:00
Marco Monaco 73d8593352 increase size of note counter variable to avoid overflow 2019-03-05 15:03:24 -08:00
James Churchill c7c4937eef Clean up debounce a bit (#5255) 2019-03-04 07:44:46 -08:00
avatak 8dd1dab7cb Added two songs to song_list.h (FF Prelude and To Boldly Go) (#5252)
Adds FF_Prelude (from most Final Fantasy games) and TO_BOLDLY_GO (a melody from the main themes of Star Trek TNG and the original series)
2019-02-28 12:35:42 -08:00
fauxpark 0d936b2fe6 Ask for your name when generating a new keyboard (#5214)
* Ask for your name when generating a new keyboard

* Update docs

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-02-26 07:59:34 -08:00
Konstantin Đorđević d5dcf54e23 Fix indentation in quantum_keycodes.h (#5221) 2019-02-24 15:21:09 -08:00
Tobias Schulte a69e4406d4 Fix Tx Bolt ghosting second character on key press (#5229)
* convert tabs to spaces

* fix #4578: don't call gemini protocol code when in bolt mode

Add missing break; statements in switch. The missing break resulted in
a fall through and an additional processing of the gemini code.
2019-02-23 19:32:48 -08:00
Takeshi ISHII e3621c162c fix rgblight_effect_breathing interval time (#5213) 2019-02-22 08:07:31 -08:00
Chris Lewis c1c5922aae Velocikey: Match RGB animation speed to typing speed (#3754)
* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Experimental LED support (untested)

* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Added documentation

* Renamed feature to velocikey

* Reverted readme to original state

* Correct the readme title

* Updated feature name in the docs

* Update EECONFIG name

* Add compile-time toggles for velocikey

* Update feature documentation

* Revert "Merge branch 'led-support' into master"

This reverts commit e123ff5feb, reversing
changes made to df111a55b9.

* Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE

* Rename decay_task function to decelerate

* Apply suggestions from code review

Co-Authored-By: chrislewisdev <chris@chrislewisdev.com>

* Re-order eeconfig definitions

* Apply coding conventions

* Apply #ifdef check in lufa.c

* Refactored interval time checks into one functionc

* Small rename

* Fix unused function error for layouts not using all rgb effects

* Only update EEPROM if Velocikey is enabled

* Incorporate code review feedback

* Small adjustment to top-end decay rate

* Add Velocikey documentation to table of contents

* Bring tetris:default keymap size down by disabling audio
2019-02-21 07:22:46 -08:00
Takeshi ISHII 030faf951c Fix quantum/split_common/matrix.c: select_col()/select_row() (#5174)
* add temporary pdhelix(Patched Helix) code

* add test code into  quantum/split_common/matrix.c

* add test code into keyboards/handwired/pdhelix/

* Revert "add test code into keyboards/handwired/pdhelix/"

This reverts commit 9ed98f0797ddd962c99756689fc4ecb4cd067d3d.

* Revert "add test code into  quantum/split_common/matrix.c"

This reverts commit 1876d3ed69f6c213153a9f6476192be839f16c1f.

* Revert "add temporary pdhelix(Patched Helix) code"

This reverts commit 41ac92b814e3f894eaf85bc3e5bb945895342fa8.

* fix quantum/split_common/matrix.c: select_col()/select_row()
2019-02-18 13:55:20 -08:00
Drashna Jaelre 100697ebab Stop all notes on startup, if there is no song and audio is disabled to prevent continouse tone (#5173) 2019-02-18 12:32:38 -08:00
Drashna Jaelre feee01192e
Fix Audio Clicky by adding missing punctuation (#5171) 2019-02-18 09:53:38 -08:00
zvecr fc06986989 Remove CUSTOM_MATRIX option from diode direction (#5090)
* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION

* Remove '#define DIODE_DIRECTION CUSTOM_MATRIX'

* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION documentation
2019-02-18 08:49:51 -08:00
Rys Sommefeldt 0e68b6c1a9 Add UK variant of the SEND_STRING() LUTs 2019-02-18 08:47:31 -08:00
Konstantin Đorđević 5cb713148d Change Command keycode defaults to match corresponding Bootmagic codes (#5078)
* Change Command keycode defaults to match corresponding Bootmagic codes

* Make alternate magic key keycodes consistent

* Reflect changes from previous commit in tmk_core/common/command.c

* Remove unnecessary MAGIC_KEY_* definitions from keymaps compatible with these changes

* Swap E and BSPACE for MAGIC_KEY_EEPROM

* Add MAGIC_KEY_EEPROM_CLEAR instead of MAGIC_KEY_EEPROM_ALT

* Remove BOOTMAGIC_ENABLE checks around EECONFIG stuff

* Update Command descriptions
2019-02-17 22:23:32 -08:00
Konstantin Đorđević 4e2369693f Move RGBLIGHT_LIMIT_VAL definition from rgblight.c to rgblight.h (#5167) 2019-02-17 19:05:12 -08:00
ishtob 2cee371bf1 Haptic feedback generalized - DRV2605 and solenoids (#4939)
* initial work to add eeprom to haptic feedback and decouple the feedback process from keyboards

* Haptic feedback enhancements: on/off toggle working, feedback order working
todo:
-work on modes switching
-get modes switching to save to eeprom

* haptic enhancement - eeprom and modes added

* Added set and get functions for haptic feedback

* initial implementation of solenoids under haptic feedback

* changed eeprom to 32 bits to reserve blocks for future features

* start documentation of haptic feedback

* change keycode per comment from reviewers

* typo fixes

* added eeprom for solenoid configs

* added solenoid and docs

* Add/fix default parameters configs, improve docs

* more doc cleanup

* add in solenoid buzz toggle, clean up doc

* some fixes for error in compiling solenoid

* fix a chibios specific i2c read function and added one for AVR controllers in DRV2605L.c

* fixes for avr side issues

* update keymap

* fix keymap compile error

* fix bugs found during solenoid testing

* set pin that is not powered during bootloader

* added warning about certain pins on the MCU may trip solenoid during DFU/bootloader
2019-02-16 18:39:30 -08:00
Erovia 642f6cf14f Add support for using ranges for RGB (#4981)
* Add support for using ranges for RGB

This patch adds support for controlling continuous ranges of RGB LEDs.
Helper functions for split boards are also available.

* RGB Range: Use hardware-platform agnostic wait
2019-02-15 06:52:04 -08:00
Drashna Jaelre cc146e32dc Improve RGB Light code (#4326)
* Improve RGB Light code

* Add is_rgblight_initialized as an externed value in rgblight.h

* Use remander of hue
2019-02-15 06:37:44 -08:00
Konstantin Đorđević d7754a19b9 Remove problematic unicode_map stub definition in process_unicodemap.c (#5110)
* Remove problematic unicode_map stub definition in process_unicodemap.c

* Add unicode_map declaration to process_unicodemap.h

* Disable UNICODEMAP on converter boards that don't use it
2019-02-14 20:55:31 -08:00
Drashna Jaelre c22f3ba3a2
Debounce refactor / API (#3720)
* Added xeal60 via clone of lets split

* Delete removed other keymaps

* Basic keymap (no FN). Compiles.

* Removed NP_STAR and NP_SLSH.

* Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.

* Changed order of rules in TMK. Documented feature.

* Fixed missing whitespace in debounce documentation

Table wasn't working due to missing newline.

* Added bold in a few areas.

* DO NOT USE - Removed debounce from TMK.

* Remove accidental xeal60 commit

* DO NOT USE - debounce successfully compiled.

* DO NOT USE Revert back to original API to support split_keyboards.

* Working eager_pk

* Whitespace cleanup.

* Restored debounce.h since there wasnt any real change.

* Moved debouncing_time variable  to inside #if debounce

* Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used.

* Removed #include "matrix.h" from debounce.h

* Bug fix - was using MATRIX_ROWS instead of num_rows

* Fixed compilation error with debounce_sym_g

* Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE

* Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2.

* Fix compile error in debounce_eager_pk

* Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk
2019-02-14 20:36:20 -08:00
Drashna Jaelre 85022f8bb5 Fix ARM Audio issues and its EEPROM persistence (#4936)
* Don't click if turning audio off

On ARM, playing the click when turning off audio causes the audio get stuck and continually play the tone

* Fix Audio EEPROM support for ARM

* Update touched files to conform to QMK Coding Conventions

* Add better check for ARM EEPROM support
2019-02-14 20:12:37 -08:00
skullY c5221fa1cb fix the led_matrix.h naming conflict 2019-02-10 15:37:12 -08:00
skullY 5fc2421811 Put back an accidentally stripped copyright 2019-02-10 15:37:12 -08:00
skullY 1a680c1d6a cleanup 2019-02-10 15:37:12 -08:00
skullY 84879f28a3 fix compiling for backlight without led matrix 2019-02-10 15:37:12 -08:00
skullY c080a3e7c4 cleanup 2019-02-10 15:37:12 -08:00
skullY 32116f1a45 Move the 1 second delay to led_matrix_init 2019-02-10 15:37:12 -08:00
skullY 6b74dd6de5 led_matrix works now 2019-02-10 15:37:12 -08:00
skullY bf2670601d compiles, but long delay on startup and problems 2019-02-10 15:37:12 -08:00
skullY 159191a874 revert accidental rgb_matrix.h changes 2019-02-10 15:37:12 -08:00
skullY fd698c43d7 The beginning of a simple led matrix driver for is31fl3731 2019-02-10 15:37:12 -08:00
Drashna Jaelre 35f6919673 Fix Bootmgic Mod Handling for LM keycodes (#4740) 2019-02-06 12:43:25 -08:00
Anthony 5c7a31eae2 Improvements to Space Cadet Shift (#3856)
* Improvement of Space Cadet Shift by preventing to automatically apply a modifier on the key and allow to override the default modifier. Closes qmk/qmk_firmware#3815

* Improve the use of the DISABLE_SPACE_CADET_MODIFIER flag to avoid unregistering KC_LSFT when equals to LSPO_MOD

* change #if to if statement
2019-02-05 10:36:26 -08:00
Flugschwein e9c3e04146 Fix QWERTZ <> QWERTY issue in sendstring_german.h
Small mistake that caused sendstring commands to exchange y with z.
2019-02-04 15:07:16 -08:00
Rockman18 df251d7a13 Backlight - New option : BACKLIGHT_CAPS_LOCK (#4769)
* [BACKLIGHT_CAPS_LOCK_INDICATOR] Use backlight toggling as Caps Lock LED

I've implemented this feature because S65-X doesn't have LED indicators
and the existing led_set_kb(usb_led) function try to use backlight as
indicator but that creates an inconsistency with backlight_config state.

- define `BACKLIGHT_CAPS_LOCK_INDICATOR` to enable Caps Lock indicator
  using backlight (for keyboards without dedicated LED)

- Don't turn off LED indicators when suspend because backlight is
  already turned off. Else led_set(0) will turn back on backlight.

- Documentation has been updated

* [BACKLIGHT_CAPS_LOCK_INDICATOR] Turn off all LED indicators except Caps Lock if BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Rename BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Use new IS_LED_ON method
2019-01-28 16:57:56 -08:00
Andrew Kannan 0f507f0169 Practice60 RGB and PWM Backlight (#4929)
* Update Practice60 to enable RGB via SPI DMA and use PWM backlight breathing

* Correct stm32f103c8t6 flash size in eeprom definition

* Remove unused files and improve ifdef checks

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* EEPROM implementation fix and updated p60 code

* Update define

* Remove dead code

* Update keymap to remove test key

* Update keymap again
2019-01-28 16:40:02 -08:00
mtei 12a2572295 Prevent wasteful writing to eeprom. 2019-01-28 14:57:41 -08:00
James Churchill 6d2071ad6e Fix 1<col instead of 1<<col typo in matrix_is_on() 2019-01-27 08:37:26 -08:00
Konstantin Đorđević 4d9b11af14 Fix Command feature: use get_mods() instead of keyboard_report->mods (#4955)
* Remove unnecessary IS_COMMAND definition in clueboard/66/rev4

* Replace keyboard_report->mods with get_mods() in IS_COMMAND definitions

* Update docs to use get_mods() instead of keyboard_report->mods

* Replace keyboard_report->mods with get_mods() in tmk_core/protocol/usb_hid/test

For some reason, this occurrence used KB_LSHIFT and KB_RSHIFT, which don't exist

* Replace keyboard_report->mods with get_mods() in Massdrop keyboards (as per @patrickmt)
2019-01-27 00:28:40 -08:00
Drashna Jaelre b05c0e46c6 Adds a default value for IS_COMMAND for COMMAND feature (#4301)
* Add default value for IS_COMMAND for COMMAND feature

* Cleanup and consistency

* Update Templates to reflect change

* Fix IS_COMMAND in template

* Fix IS_COMMAND define

* Use consistent IS_COMMAND block in templates

* Remove unnecessary `#undef IS_COMMAND` directives

* Fix compile issue on orthodox

* Reomve IS_COMMAND option for newer boards

* Remove all existing definitions of IS_COMMAND if they use default LSHIFT and RSHIFT setting

* Remove a couple of additional IS_COMMAND defines

* Remove remaining redundant IS_COMMAND definitions

* Remove #undef IS_COMMAND from orthodox:drashna and whitefox:konstantin

* Remove multiple empty lines in modified config.h files

* Update additional boards

* Reomve IS_COMMAND from newer boards

* Update Alice keyboard

* Remove IS_COMMAND from additional boards

Jan 24th edition
2019-01-26 15:49:45 -08:00
alex-ong 562c0d702a Fix compile error in debounce_eager_pk 2019-01-27 00:10:14 +11:00
alex-ong 503e02db79 Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor 2019-01-26 23:21:27 +11:00
alex-ong 10cc423515 Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2. 2019-01-26 23:18:24 +11:00
Alex Ong 039dde3a51 Fixed compilation error with debounce_sym_g 2019-01-26 22:57:39 +11:00
Alex Ong 7cb8d3c7a7 Bug fix - was using MATRIX_ROWS instead of num_rows 2019-01-26 22:45:25 +11:00
Alex Ong b5b119544a Removed #include "matrix.h" from debounce.h 2019-01-26 22:44:33 +11:00
alex-ong 14ed96aa06 Moved debouncing_time variable to inside #if debounce 2019-01-26 18:26:49 +11:00
alex-ong 5b7fc758d7 Restored debounce.h since there wasnt any real change. 2019-01-26 17:46:27 +11:00
alex-ong 4d8733591f Working eager_pk 2019-01-26 17:29:02 +11:00
alex-ong 123608fb31 DO NOT USE Revert back to original API to support split_keyboards. 2019-01-26 17:10:27 +11:00
alex-ong d0b691df0e DO NOT USE - debounce successfully compiled. 2019-01-26 17:03:46 +11:00
Alex Ong c9ba618654 DO NOT USE Merge branch 'master' into debounce_refactor
Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce.
# Conflicts:
#	quantum/matrix.c
2019-01-26 12:13:19 +11:00
mtei 2e8b32b9b5 move #include "rgb.h" from quantum.h to quantum.c
I think `quantum.h` should contain only API declarations that `quantum.c` provides externally. `rgb.h` contains function weak definitions. This should not be in `quantum.h`.
2019-01-25 13:38:12 -08:00
fauxpark 79b58937f4 Add C(), A() and G() to match already existing S() (#4673) 2019-01-25 13:12:48 -08:00
Drashna Jaelre 3542e573c8
Fix process_combo which assign -1 to uint16_t (#3697) 2019-01-25 12:11:38 -08:00
MakotoKurauchi 3c0c432836 Fix problem that MAGIC_SWAP_ALT_GUI will not be effective when OSM(mod) is used 2019-01-25 12:05:17 -08:00
MechMerlin 465559e166 Optimize/Update the new_project script (#4920)
* use pragma once in our templates

* template.h is present in both avr/ps2avrgb options so we moved it to base. In addition we now use pragma once
2019-01-23 21:04:04 -08:00
MechMerlin b0d308eea1 Update Templates (stop living in the past, its 2019) (#4897) 2019-01-20 18:41:57 -08:00
Mislav Čakarić cd819a7f7e Allows Terminal to use ModTap/LayerTap keys (#4586)
* fixes #4583

* #4583 - terminal also handles layer tap now
2019-01-17 17:51:04 -08:00
James Churchill 28929ad017 Simplify split_common Code significantly (#4772)
* Eliminate separate slave loop

Both master and slave run the standard keyboard_task main loop now.

* Refactor i2c/serial specific code

Simplify some of the preprocessor mess by using common function names.

* Fix missing #endif

* Move direct pin mapping support from miniaxe to split_common

For boards with more pins than sense--sorry, switches.

* Reordering and reformatting only

* Don't run matrix_scan_quantum on slave side

* Clean up the offset/slaveOffset calculations

* Cut undebounced matrix size in half

* Refactor debouncing

* Minor fixups

* Split split_common transport and debounce code into their own files

Can now be replaced with custom versions per keyboard using
CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes

* Refactor debounce for non-split keyboards too

* Update handwired/xealous to build using new split_common

* Fix debounce breaking basic test

* Dodgy method to allow a split kb to only include one of i2c/serial

SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only
that driver code in the binary.

SPLIT_TRANSPORT = custom (or anything else) will include neither, the
keyboard must supply it's own code

if SPLIT_TRANSPORT is not defined then the original behaviour (include
both avr i2c and serial code) is maintained.

This could be better but it would require explicitly updating all the
existing split keyboards.

* Enable LTO to get lets_split/sockets under the line

* Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE

* Remove avr-specific sei() from split matrix_setup

Not needed now that slave doesn't have a separate main loop.
Both sides (on avr) call sei() in lufa's main() after exiting
keyboard_setup().

* Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT.

* Add comments and fix formatting.
2019-01-17 10:08:14 -08:00
Jeremy Bernhardt 246c3e4ef4 Changed rest note (#4837)
* Changed rest term

* Update quantum/audio/musical_notes.h

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-13 08:50:23 -08:00
Jack Humbert 3cf179be61 Adds Proton C Conversion (#4661)
* adds proton c base

* fixes custom matrix include

* adds readme.md

* initial proton coversion, no pin mapping

* start of mcu selection

* add pin mapping and sweet16 test

* add at90 to list

* disable backlight, fix d7

* update flag names

* doc updates

* proton c update for mcu selection
2019-01-10 08:22:57 -08:00
fauxpark 3bd30085d8 Tidy up Mod-Tap shortcuts (#4806) 2019-01-08 16:22:09 -08:00
Konstantin Đorđević 64c957d907 Add missing parentheses to some important macros (#4775)
* Add missing parentheses to quantum_keycodes macros

* Add missing parentheses to progmem macros
2019-01-08 15:08:17 -08:00
Konstantin Đorđević cd9262d7b2 Improve consistency in UNICODEMAP code and docs, update docs/understanding_qmk (#4774)
* Remove unused UNICODE(n) macro, update docs

* Add note about max length of unicode_map to docs

* QK_UNICODE_MAP → QK_UNICODEMAP

* Refactor process_unicode_map

* process_unicode_map → process_unicodemap

This is done for consistency: UNICODEMAP is the method (hence UNICODEMAP_ENABLE, process_unicodemap), whereas unicode_map is the mapping table itself.

* Update references and ordering in docs/understanding_qmk

* Add additional note to docs/understanding_qmk

* &unicode_map[index] → unicode_map + index

This avoids the issue of the compiler sometimes complaining about the array index being out of range

* Update docs/getting_started_make_guide

* Update method sections in docs/feature_unicode
2019-01-07 12:56:57 -08:00
Alex Ong 2bb2977c13 Merge branch 'master' into debounce_refactor
# Conflicts:
#	tmk_core/common/keyboard.c
2019-01-04 19:43:45 +11:00
James Churchill 563ce3f225 Add explicit eeprom include in split_common
Fixes builds that set EE_HANDS.
2019-01-03 20:00:27 -08:00
James Churchill 38e01a7480 Convert split_common to use generic GPIO api 2019-01-03 20:00:27 -08:00
Konstantin Đorđević e76bf17d36 Remove redundant, language-specific aliases for KC_ALGR (#4720)
* Use standard KC_ALGR, remove language-specific redefinitions

* Use ALGR instead of ALTGR in BÉPO and Canadian multilingual keymaps

* Remove BE_LALT, BE_LGUI aliases
2019-01-03 08:13:55 -08:00
David Dai b7688590b8 Change rgblight_get_mode & rgb_matrix_get_mode's return type to uint8_t. (#4747)
* Change rgblight_get_mode's return type to uint8_t.

Since rgblight_get_mode() is just returning rgblight_config_t.mode,
it should match rgblight_config_t.mode's type: uint8_t.

* Update rgb_matrix_get_mode to return uint8_t.
2018-12-31 08:42:58 -08:00
Giuseppe Rota 3ddec14eb8 Register the interrupting keycode in the tap dance state struct 2018-12-30 08:35:12 -08:00
Giuseppe Rota bb1b441325 Fix leader processing 2018-12-29 08:17:43 -08:00
Drashna Jaelre 6b46c06018 Fix Split Common Split_util.c typo 2018-12-28 14:52:58 -08:00
Danny c0859ac096 Update split keyboard docs (#4735)
* Remove unused I2C_MASTER_RIGHT setting

* Update documentation about split keyboard options
2018-12-28 13:02:53 -08:00
Takeshi ISHII 72d4e4bfd7 Replace serial.c of quantum/split_common/ (#4669)
* Add provisional Helix implementation to test the quantum/split_common.

* copy keyboards/helix/serial.[ch] to quantum/split_common/

* Make serial.c a pure driver.

Remove buffer name and buffer size from serial.c. They should be placed in the caller(matrix.c, split_utils.c).

* remove quantum/split_common/serial_backward_compatibility.h

* Changed array serial_master_buffer to structure serial_m2s_buffer.

* Changed array serial_slave_buffer to structure serial_s2m_buffer.

* Change keyboards/miniaxe/matrix.c

I also made changes to quantum/split_comon/matrix.c to keyboards/miniaxe/matrix.c.

Note: I contacted @ka2hiro, creator of miniaxe, and I got permission to change keyboards/miniaxe/matrix.c.

* update history comment in quantum/split_common/serial.c

* Revert "Add provisional Helix implementation to test the quantum/split_common."

This reverts commit 168c82ef82.

* fix keyboards/miniaxe/matrix.c, quantum/split_common/matrix.c

avr-gcc 4.9.[23] report error.
avr-gcc 5.4.0, avr-gcc 7.3.0 pass.
It is funny.

* update comment quantum/split_common/serial.c

* Reserve RGBLIGHT_SPLIT macro in quantum/split_common
2018-12-24 11:14:57 -08:00
Drashna Jaelre afd5cda4a0 Fix up process_leader to be a bit more optimized (#4662)
* Fix up process_leader to be a bit more optimized

* Process dual function keys better

* Make leader start a callable function

* Fix per key timer call location

* Add escape if already leading

* Return false for KC_LEAD

* Add documentation
2018-12-20 16:54:06 -08:00
Drashna Jaelre fdeec29636 Overhaul Unicode Common functionality (#4325)
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* remove merge artifacts

* Unicode common cleanup (#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf251.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
2018-12-19 08:39:24 -08:00
Danny Nguyen 40bf3a2ce9 Make readPin output a 0 or 1 when using AVR to match ChibiOS's version of readPin 2018-12-19 08:37:44 -08:00
Alexander Kagno 3ec4a00bfc Per Key Leader Timing Option (#4026)
* leader changes to enable per key timing option

* Changes requested to docs for @drashna

* Changes requested by @drashna
2018-12-15 07:29:24 -08:00
Takeshi ISHII 8f790948e5 Refactor quantum/split_common/i2c.c, quantum/split_common/serial.c (#4522)
* add temporary compile test shell script

* Extended support of SKIP_VERSION to make invariant compile results during testing.

* build_keyboard.mk, tmk_core/rules.mk: add LIB_SRC, QUANTUM_LIB_SRC support

Support compiled object enclosed in library.

e.g.
```
LIB_SRC += xxxx.c
xxxx.c --> xxxx.o ---> xxxx.a
```

* remove 'ifdef/ifndef USE_I2C' from quantum/split_common/{i2c|serial}.c

* add SKIP_DEBUG_INFO into tmk_core/rules.mk

When SKIP_DEBUG_INFO=yes is specified, do not use the -g option at compile time.

* tmk_core/rules.mk: Library object need -fno-lto

* add SKIP_DEBUG_INFO=yes

* remove temporary compile test shell script

* add '#define SOFT_SERIAL_PIN D0' to keyboards/lets_split/rev?/config.h

* quantum/split_common/serial.c: Changed not to use USE_I2C.
2018-12-14 21:31:56 -08:00
Takeshi ISHII 155e9310ff Make quantum/split_common/serial.[ch] configurable (#4419)
* add temporary compile test shell script

* add 'CONFIG_H += serial_backward_compatibility.h' into common_features.mk:SPLIT_KEYBOARD block

* add quantum/split_common/serial_backward_compatibility.h

SERIAL_PIN_PORT and other PIN define move to serial_backward_compatibility.h
SERIAL_BACKLIT_START move to split_util.h

* quantum/split_common/serial.c change to helix-serial.c style serial configuration

* add temporary file quantum/split_common/split-keyboards-list.txt

* add '#define SOFT_SERIAL_PIN D0' to keyboards/6lit/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/divergetm2/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/ergotravel/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/foobar/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/dactyl_manuform/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/qc60/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/handwired/xealous/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/iris/rev*/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/lets_split_eh/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/levinson/rev*/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/miniaxe/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/nyquist/rev?/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/quefrency/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/qwertyydox/config.h,keyboards/qwertyydox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/redox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/rorschach/rev1/config.h

* remove '#define SOFT_SERIAL_PIN D0' from quantum/split_common/serial_backward_compatibility.h

* remove temporary file quantum/split_common/split-keyboards-list.txt

* remove temporary compile test shell script

* Revert "remove temporary compile test shell script"

This reverts commit 15b0021b40.

* update quantum/split_common/compile_split_test.sh for new keyboard test

* add '#define SOFT_SERIAL_PIN D0' to keyboards/diverge3/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/40percentclub/25/config.h

* remove temporary compile test shell script

* update docs/config_options.md, quantum/template/avr/config.h

* fix quantum/template/avr/config.h

* fix typo  docs/config_options.md
2018-12-14 11:00:10 -08:00
Drashna Jaelre 02d44beb44 Fix up tap_code functionality (#4609)
* Add delay in Tap Code to avoid issues

I think a few people have reporting issues with it working properly, and it may be a timing issue.  The 'register_code' uses this sort of delay in some of the functions, and
this is probably why.

Adding the 100ms delay should hopefully fix any issues with it.

* Make tap_code delay configurable

* Update documentation

* Bring tap_code16 inline with changes

* Fix type for tap_code16

Bad copy-paste job

* Just use the value check for the define

* Clarify timing in docs

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 09:01:58 -08:00
Fredric Silberberg 9e6ee47779 Added noeeprom versions of set hue, sat, val, and step 2018-12-13 18:30:15 -08:00
Konstantin Đorđević 28fbf84cc5 Add standard definitions for ALGR and KC_ALGR (#4389)
* Add standard ALGR defition, remove (re)definitions from language files

* Use ALGR(kc) consistently in ALTGR(kc) aliases

* Non-Nordic keymaps should not use NO_ALGR

* Add standard KC_ALGR definition

* Update docs with ALGR and KC_ALGR

* Update SS_ALGR and ALGR_T aliases
2018-12-12 10:17:19 -08:00
Ismael Venegas Castelló 538874f90f Keymap: Hacker Dvorak (#4514)
* Hacker Dvorak

Programmer Dvorak based layout for the Ergodox EZ.

* Address drashna comments.

* Fix RGB and drop OSL for MO.

* Add gulp file to automate development.

* Fix gulpfile.

* Caps, num and scroll lock indicators.

* Fix scroll lock.
2018-12-05 08:12:35 -08:00
Drashna Jaelre 3a0f3a5bd0 Make ARM Audio max volume configurable (#4540)
* Make ARM Audio max volume configurable

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-03 16:42:57 -08:00
Drashna Jaelre da1afe152a Fix up RGB Matrix code (#4503)
* Fix up RGB Matrix code

* Convert RGBLIGHT functions to rgbmatrix ones, and add defines
2018-12-03 10:27:15 -08:00
Wilba d7f1e072a8 Added macros to Dynamic Keymaps, Zeal60 RGB backlight improvements (#4520)
* Refactored M6-B to use Zeal60 RGB backlight code

* Fixed M6-B LED co-ordinates

* Minor changes to RGB config for Zeal65

* Added dynamic keymaps to WT80-A, WT60-A, WT-80A, U80-A

* Macro implementation

* Implemented macros, API protocol version 8, RGB backlight fixes

* Improved radial effects for M6-B

* Fixed undefined references when building an RGB keyboard after M6-A
2018-11-30 08:43:34 -08:00
Giuseppe Rota 8b85ec2a98 Add Extrakey support for Brightness up/down (#4477) 2018-11-28 08:19:07 -08:00
Paul Massendari 3b42cff516 Added Rick Roll to song lists (#4510)
🙂
2018-11-28 07:56:34 -08:00
Drashna Jaelre a495326aed Turn off Mousekeys for several ps2avrGB keyboards (#4502)
* Turn off Mousekeys for jc65

* Turn off Mousekeys for ps2avrGB templates

* Disable mousekeys for bmini and canoe as well
2018-11-27 16:54:43 -08:00
Konstantin Đorđević 1904319745 Remove RGB_SMOD alias and replace uses with RGB_MOD (#4319) 2018-11-27 15:34:06 -08:00
Konstantin Đorđević e4dfcf896e Add tap_code16 function (#4362) 2018-11-27 14:29:59 -08:00
Erez Zukerman 1485098443
Merge pull request #4453 from drashna/fix_ucis
Fix UCIS code
2018-11-20 15:17:43 -05:00
Drashna Jaelre 26156e84e8
Fix UCIS code
Revert code change that broke UCIS due to bad suggestions
2018-11-19 16:37:49 -08:00
Florian Didron 504bf11769 Allows disabling rgb effects in userspace (#4422)
* Allows disabling animations in user space

* Describe disabling effects in the docs

* Allows disabling individual reactive modes

* Adds the list ode defines
2018-11-18 08:24:41 -08:00
mtei d0f8e1babe modify quantum/template/avr/config.h: add rgblight effect configurations 2018-11-12 12:23:12 -08:00
Frank Tackitt 94f58322ac Configurable Rainbow Swirl range (#4376)
* Configurable Rainbow Swirl range

This allows tweaking of the rainbow effect to
 get different effects on keyboards with varied
 LED layouts. We found the value 1950 works on
 the RGBKB.net Sol to get a cool striped effect
 across the keyboard.

* Document RGBLIGHT_RAINBOW_SWIRL_RANGE

* Better wording for the documentation
2018-11-07 08:25:18 -08:00
Drashna Jaelre 6e44f94f21 Add EEPROM_RESET keycode to core code (#4234)
* Add EEPROM Reset keycode

* Add keycode to docs

* Move EEPROM Reset code to the end of the enum

* Cleanup and naming change
2018-11-06 00:38:18 -05:00
Konstantin Đorđević 4636f0f623 Remove ALTG(kc) as it's misleading and is not actually AltGr (#4338)
* Remove ALTG(kc) as it's misleading and is not actually AltGr

* Add temporary alias for ALGR in keyboards/planck/keymaps/pevecyan/keymap.c
2018-11-06 00:34:54 -05:00
Josh 0633eb0273 Increasing square wave buffer to max volume. (#4296)
* Increasing square wave buffer to max volume.

* Using range designated initializers for square waves; defining DAC_SAMPLE_MAX.
2018-11-03 12:22:57 -04:00
Drashna Jaelre f1529e74c4 Remove old declaration
Co-Authored-By: nooges <nooges@users.noreply.github.com>
2018-11-02 14:31:29 -07:00
Danny Nguyen a5fa75fcb3 Move disable JTAG code from keyboard_init to keyboard_setup
This way all split keyboards are using that code instead of just those using split_common with the fix
2018-11-02 14:31:29 -07:00
Jack Humbert 15f6278aa6
Add support for Atmega32A to pin declarations and universal matrix (#4015)
* add computed pins from mcu type

* update for atmega32a

* doc typo

* add atmega16 chips, link to references

* remove avr include from config

* exclude assembler in config.h includes

* consolodate options, add 646

* fix typo in pindef
2018-11-02 12:31:40 -04:00
Drashna Jaelre f63c0b7844 Add pointer(?) to disable_JTAG to prevent compiler errors (#4310) 2018-10-31 15:14:59 -07:00
That-Canadian 5630ad7604 Added JTAG disable code to the split_common (#4309)
Added JTAG disable code to the split_common slave code since the slave never calls keyboard_init(). In the future the slave should likely be modified to call keyboard_init() in some way, but without calling any of the unnecessary USB initialization code.
2018-10-31 14:42:15 -07:00
Drashna Jaelre 4ffcacd920 Add Bootmagic Lite to QMK (#4215)
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
2018-10-27 14:53:50 -04:00
Jack Humbert 85688e5b52 add support for encoders to core 2018-10-26 14:24:13 -07:00
ROMUSKING 5694e7b6a6 Keymap: add new keymap (#4127)
* an attempt at own layout

* typematrixed dvorak

* columns shifted

columns shifted out, second pinky column moved to the inside.

* Update users/romus/romus.h

* code cleanup

Changes requested by Drashna + Tap Dance enabled

* Fixed EOF

Fixed the no newline at the end of file alert.

* rgblight fight eeprom writes

* rgb code simplification

* Update users/romus/README.md

* Update quantum/keymap_extras/keymap_slovenian.h
2018-10-22 11:54:31 -07:00
Drashna Jaelre 7222e3691b Fix Unicode EEPROM handling so it is consistent. (#4066)
* Fix Unicode EEPROM handling so it's consistant

* Remove changes to my userspace

* Optimize variables used

* fix functions

* additional cleanup

* Add False Flag

* rename function
2018-10-19 00:35:15 -04:00
mtei db03b76910 optimize rgblight_effect_alternating(void)
rgblight_effect_alternating (void) calls rgblight_sethsv_at () RGBLED_NUM times. As a result, rgblight_set () is called RGBLED_NUM + 1 times. This is wasteful processing.
2018-10-18 13:52:41 -07:00
QMK Bot 1d03af876c convert to unix line-endings [skip ci] 2018-10-16 23:11:58 +00:00
Žan Pevec 8ce9e3255e Fixes on slovenian keymap 2018-10-16 15:51:27 -07:00
Drashna Jaelre 1dc1e12fec Only include lufa.h if AVR in quantum/api.h 2018-10-16 17:11:51 -04:00
Žan Pevec ec86141a4a Basic Slovenian keymap added (#4128)
* Basic Slovenian keymap added

* Author fixed
2018-10-15 10:39:58 -07:00
Patrick Hener 0793abfd19 Add sendstring_german.h (#4124)
* added sweet16 test keymap and touched sendstring_german.h

* added sendstring_german.h

* Delete keymap.c

As suggested deleted the keymap file.
2018-10-12 10:31:08 -07:00
mtei 4bb0fb2ffc A comment indicating the insertion location of the new mode was added. 2018-10-11 17:14:42 -07:00
mtei 661e304033 Add a temporary comment to quantum/rgblight.h to aid migration.
Add a temporary comment. The content is a contrast table of old magic number and new symbol.
2018-10-11 17:14:42 -07:00
Drashna Jaelre cfa9f6ba6d Add non-US Hash and Backslash to AutoShift handling 2018-10-06 20:43:12 -04:00
James Laird-Wah 0c3137d8ff rgb_matrix: continue calling rgb_matrix_indicators() when toggled off
This allows user code to continue to use the matrix for indication, even
when the RGB toggle is off, using rgb_matrix_set_color().

Without this change, it's impossible for user code to use the matrix
when the toggle is off, as any changes get overwritten with black on the
next task cycle, and the indicator code is not called at all.
2018-10-04 21:43:31 -04:00
martinakcsilla 0d61e612f0 process_ucis: Add a callback for success (#4067)
There is `qk_ucis_symbol_fallback` for the case where symbol lookup
fails, but there wasn't one for the success case. This adds
`qk_ucis_success`, called after successfully finishing the UCIS symbol
input.

Thanks to @drashna for the idea!

Signed-off-by: Csilla Nagyné Martinák <csilla@csillger.hu>
2018-10-03 14:38:02 -07:00
takashiski 37cfd2c500 add JP keycode for MacOSX (#4033) 2018-10-02 17:51:43 -07:00
Florian Didron 9aecf4ccfd Adds a method allowing to set custom colors to the rgb matrix 2018-10-02 16:33:49 -04:00
Drashna Jaelre f5ae3760c6 Add send_unicode_hex_string function (#3828)
* Add send_string_unicode function

Co-authored-by: kdb424 <kdb424@gmail.com>
Co-authored-by: Konstantin <vomindoraan@gmail.com>

* Clean up code based on feedback

* Fix includes
2018-10-01 20:56:04 -04:00
Drashna Jaelre e885c793bc Add Function level EECONFIG code for EEPROM (#3084)
* Add Function level EEPROM configuration

Add kb and user functions for EEPROM, and example of how to use it.

* Bug fixes and demo

* Additional cleanup

* Add EEPROM reset macro to example

* Forgot init function in list

* Move eeconfig_init_quantum function to quantum.c and actually set default layer

* See if removing weak quantum function fixes issue

* Fix travis compile error

* Remove ifdef blocks from EECONFIG so settings are always set

* Fix for ARM EEPROM updates

* Fix merge issues

* Fix potential STM32 EEPROM issues
2018-10-01 20:53:14 -04:00
Daniel Shields da6c58175a Make digital rain RGB matrix effect #define configurable. 2018-10-01 12:54:37 -04:00
Drashna Jaelre 9d949389f9 Adds default value for TAPPING_TERM if Tap Dance is enabled (#2785)
* Force require TAPPING_TERM if Tap Dance is enabled

* Handle lack of TAPPING_TERM more gracefully
2018-10-01 11:09:05 -04:00
Wilba6582 66ef1e3d67 RAMA M6-B and IS31FL3218 driver (#4021)
* Initial RAMA M6-B commit.

* Moved IS31FL3218 driver, minor cleanups

* Refactor, added dynamic keymap.

* Added dynamic keymaps to RAMA M6-A

* Refactor M6-A and M6-B to use common code.

* Formatting

* Cleanup

* Cleanup

* Changes from review
2018-09-30 11:35:10 -04:00
yiancar 7fe03d085c Update quantum matrix to support both AVR and Chibios ARM (#3968)
* Update quantum matrix to support both AVR and Chibios ARM

- Addition of STM32 pin definitions
- Created abstruction layer defines to control GPIO (This is a bit pointless for Chibios as we are creating a PAL ontop of a PAL but it is necessary for uniformity with AVR)
- Modified matrix.c to use the above functions

* minor ifdef fix

* Rename of functions and docs

- Added documentation.
- Renamed functions according to Jack's spec.

* Massdrop fix

* Update matrix.c

* Update quantum.h

* Update quantum.h

* Update quantum.h

* Update internals_gpio_control.md
2018-09-28 12:33:11 -04:00
Wilba6582 a173eda6d2 Improved dynamic keymaps (#3972)
* Improved dynamic keymaps

* K&R sucks
2018-09-28 00:09:14 -04:00
James Laird-Wah b382076ad1 Keyboard: keyboardio model01: rgbmatrix support (#3989)
* model01: implement RGB matrix feature

LEDs can still be individually controlled if this is switched off.

* model01: use fast banked LED setting commands

* model01: update default keymap to use RGB matrix

* model01: update RGB matrix support to match common_features.mk

* rgb_matrix: include <string.h>

This was missing after commit 4d5705ea6c
which introduces a use of memset().

* model01: make g_rgb_leds weak

This allows users to override which LEDs are configured as
modifiers, or tweak the x/y coordinates, should they so choose.
2018-09-27 20:53:36 -07:00
Chiang Fong Lee 7d2d0c6795 split_common: fix backlight update for serial boards 2018-09-27 19:56:35 -07:00
Chiang Fong Lee 96c9ebc2e4 Revert "Split Common: Serial Backlight LED fix (#3586)"
This reverts commit 3eabd7946e.
2018-09-27 19:56:35 -07:00
Drashna Jaelre edeace279b Make Audio Clicky's randomness a float
Rather than a define, but read from the define.  This way, a smart coder could externally configure the randomness, changing it on the fly

This is also a precursor step to adding full on support for configurable randomness.
2018-09-27 18:31:18 -07:00
James Laird-Wah f70f45ee67 RGB Matrix refactoring to open up for new drivers (#3913)
* rgb_matrix: use a driver ops struct

This is intended to avoid #ifdef proliferation on adding more drivers,
eg. model01, which use different architectures.

* rgb_matrix: document driver struct members

* rgb_matrix: remove unused LED testing code

* rgb_matrix: don't build into IS31x drivers unless being used

* rgb_matrix: refactor make config options

This ensures that the necessary files are included for any custom
RGB_MATRIX_ENABLE value, without having to add entries here for specific
boards. This particularly affects model01 because its controller is
integrated and won't be used anywhere else, so it's preferable not to
put it in common_features.mk.

This now validates the value of RGB_MATRIX_ENABLE.

It was necessary to fix an error in ergodox_ez rules.mk using the wrong
comment separator, yielding an invalid value.

* IS31x drivers: don't write the control registers all the time

This is only needed when they are changed. This is done in init() and
board- or keymap-specific code is free to make further changes.

* rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c

This approach is specific to the rgb_matrix functionality, so keep it
neatly separated from the raw chip drivers.
2018-09-27 10:40:18 -04:00
Florian Didron c7ce0d21dc Moves animation calculation logic out of the for loops 2018-09-26 21:16:09 -04:00
Daniel Shields 4d5705ea6c Add new RGB matrix effect digital rain aka The Matrix 2018-09-26 12:21:49 -04:00
Drashna Jaelre a0309db983 Add On/Off keycodes 2018-09-25 13:28:36 -07:00
Drashna Jaelre cfb1b353ee Add functions so you can configure programatically 2018-09-25 13:28:36 -07:00
Drashna Jaelre e72e4b6920 Store Clicky status in EEPROM 2018-09-25 13:28:36 -07:00
Joe Wasson a6d1db2c27 Create AG_TOGG code to toggle Alt/Gui swap. 2018-09-17 15:04:22 -07:00
Joe Wasson 743449472e Make PREVENT_STUCK_MODIFIERS the default (#3107)
* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-09-17 13:48:02 -04:00
Wilba6582 48a992f1c0 Zeal60/Zeal65/M60-A implementation (#3879)
* Initial version of zeal60

* WIP

* Fixes issue #900

* Adding RGB underglow functionality.
Fixed a compile-time conflict caused by enabling RGB underglow functionality.

* Refactor RPC protocol

* Fix last merge

* README for RGB underglow updated.

* Additional README changes.

* Adding RGBW strip software-based current-limiting functionality.

* RGBW current-limiting functionality should be handled by RGBSTRIP_MAX_CURRENT_PER_LIGHT instead.

* Updated README to reflect implementation of built-in current limiting.

* Keymap readability improvements.

* Minor keymap improvements.

* Fixed LED driver init sequence, formatting

* Dimming implementation tested, working.

* Stab LEDs synced with spacebar hits in effects.

* RGB underglow tested and functional. Simplified README for RGB underglow.

* Undid accidental file deletion from previous merge conflict. Safer values for RGB underglow.

* Improved arrow key positions in keymap.

* Added functionality to correct uneven RGB underglow. Refactored related code.

* Reverted to safer values for underglow.

* Changes for v0.3

* Custom LED brightness scaling will take place after current adjustment in order to avoid being overridden.

* Create keymap.c

Added split backspace and split shift to ISO layout

* Create config.h

Turned on LEDs for new layout

* Fixed bug where left spacebar stabilizer LED (LC06) would adopt color of row above.

* Added hhkb_wilba keymap

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Added indicators, full param setting via host

* Added "mousekey" layout

* Added Zeal65 support, factory test mode

* Keycode safe range changed, caused bugs

* Bumped EEPROM version due to change in QMK keycodes

* Disable HHKB "blocked" LEDs if KC_NO in keymap

* Added "disable_hhkb_blocker_leds"

* Required overridden function for keymaps in EEPROM

* Added polar coordinate mapping, effect speed

* Force Raw HID interface number to 1 always

* Fixed last merge from master

* Added effect speed to default keymaps

* add BACKLIGHT_ prefix to vars

* add BACKLIGHT_ prefix to vars

* Keymap speed effect; keymap improvements/fixes
Readme updated to match changes

* Refactored to use common IS31FL3731/I2C drivers

* Fixed make rules, backlight disabled feature

* Make split rightshift default for Zeal65

* Added M60-A as a "version" of Zeal60.

* Renamed IS31FL3731 driver functions

* Fix suspend_wakeup_init_kb() being defined twice

* First pass refactor dynamic keymaps

* Updated to changed I2C and ISSI drivers

* Refactor zeal_color.* usage to quantum/color.*

* Updated Zeal65, fixed dynamic_keymap

* Major refactoring of Zeal60 backlight and API

* Lots of little cleanups

* Added readme.md

* Added readme.md

* Added LAYOUT_60*() macros, refactored and cleaned up default keymaps

* Fix compile error in suspend.c

* Added Zeal65 LAYOUT macros, info.json

* Added rama/m60_a, deleted zeal60/keymaps/m60_a

* Fixed rama/m60_a/keymaps/proto

* Fixed compilation error for suspend.c

* Requested changes for PR

* Fixed readme.md images

* Another readme.md fix

* Added drashna's requested changes
2018-09-13 14:37:13 -04:00
Takeshi ISHII 6d6d91c834 rgblight.[ch] more configurable (#3582)
* add temporary test code rgblight-macro-test1.[ch]

* rgblight.h : mode auto numberring and auto generate mode name symbol

No change in build result.

* rgblight.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* quantum.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* fix build break. when RGB_MATRIX_ENABLE defined

* add temporary test code rgblight-macro-test2.[ch]

* modify rgblight_mode_eeprom_helper() and rgblight_sethsv_eeprom_helper()

* modify rgblight_task()

* configurable each effect compile on/off in config.h

* update docs/feature_rgblight.md

* fix conflict. docs/feature_rgblight.md

* remove temporary test code rgblight-macro-test*.[ch]

* fix comment typo.

* remove old mode number from comment

* update docs/feature_rgblight.md about effect mode

* Revert "update docs/feature_rgblight.md about effect mode"

This reverts commit 43890663fc.

* some change docs/feature_rgblight.md

* fix typo

* docs/feature_rgblight.md update: revise mode number table
2018-09-13 10:24:09 -07:00
Peter Nguyen 7d8f680b50 Fix typo in keymap_swedish.h (#3877)
* Fix typo in keymap_swedish.h

* Update keymap_swedish.h
2018-09-09 19:49:26 -07:00
Danny 3dbdfbd99a Add support for a different pinout on Split boards (#3869)
* Add support for a different pinout for the right half of a split keyboard (number of cols/rows still has to be the same)
2018-09-09 19:42:46 -07:00
fauxpark 097f1a299f Mask off keycode/layer/mod where possible in LT(), MT(), etc. (#3430)
* Mask off keycode/layer/mod where possible in LT(), MT(), etc.

* Don't need these parentheses

* Put back parentheses for order of operations
2018-08-29 21:05:02 -04:00
noroadsleft 836efb50c6 Updated templates for use by new_project.sh (#3783)
* template.h file cleanup

Reformatted the pre-macro comments as block comments.

Updated the ps2avrgb template comment to match the avr template's comment, which was more informative.

Deleted the line about the macro representing the Planck MIT layout, because the macro doesn't represent that layout anymore.

* base template keymap.c refactor

Deleted the deprecated TMK macro functions.

Defined two custom keycodes for use as macros by process_record_user.

process_record_user is now after the keymap and before matrix_init_user, where the deleted TMK functions were.

* Removed an extra " from macro command per @drashna

* Added BOOTLOADER rule to avr/rules.mk per @drashna

* Updated Bootloader sections per @drashna

* Updated links to docs at the bottom of both avr and ps2avrgb template readme.md files

Corrected the links to the Build Environment Setup and the Make Instructions docs.

Added direct link to the QMK Complete Newbs Guide.
2018-08-29 10:57:30 -07:00
Alex Ong 3cf7f7322c Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes. 2018-08-29 10:19:36 +10:00
yiancar fdd0f91527 ISSI31FL3733 driver (#3679)
* ISSI31FL3733 driver

- Addapted IS31 driver for the above driver

* fix my branch

* ISSI31FL3733 driver

- Inclusion of above ISSI led driver

* IS31fl3733 driver

- Added correct function for control registers

* Finalized support for ISSI31fl3733 led driver

- Finalized and tested driver.
- Modified i2c_master for arm due to declaration mistake.
- Fixed spaces/tabs in quantum.h file.
- Fixed spaces/tabs in common_features.mk file.
- Removed unnecessary includes from rgb_matrix.c file.
- Added local definitions for MIN and MAX macros in rgb_matrix.c file.
- Adjusted chevron effect.
- Added necessary define (RGB_3733_MATRIX_ENABLE) for makefile.
- Added necessary C define (ISSI3733) to aid with inclusion of the correct header file.
- Added documentation for the new driver.

* Driver structure update

- Changed rule includes to be more condensed (RGB_MATRIX_ENABLE = IS31FL3731) and (RGB_MATRIX_ENABLE = IS31FL3733)
- Updated documentation
- Reverted to the use of differently named functions for each driver and selecting the needed ones within rgb_matrix.c

* ISSI Drivers refractoring

- Moved issi drivers in a dedicated folder
- Updated documentation

* I2C library fix

I released the special pins incorrectly before. It is now fixed.
2018-08-28 09:03:11 -04:00
Anthony 4de9ed7eb0 Add a belgian keymap, partially based on keymap_french.h (#3737) 2018-08-25 08:45:42 -07:00
Shihpin Tseng 1950a145c7 Fix process_combo which assign -1 to uint16_t 2018-08-20 02:29:08 +08:00
yiancar ad2bb529c7 Rgb matrix arm (#3648)
* Addition of I2C master driver for STM32, Generalization of ISSI3731 driver

- Addition of an i2c_master driver for STM32 to replicate expectations of AVR driver.
- Moved ISSI3731 driver one level up to make it accesible by both architectures.
- Renamed ISSI3731 functions to a more general name for preparation of other ISSI drivers.
- Added compiler directives where necessary to differenciate each architecture.

* converted tabs to spaces
2018-08-15 01:19:38 -04:00
Seth Barberee 3eabd7946e Split Common: Serial Backlight LED fix (#3586) 2018-08-11 11:10:23 -07:00
MechMerlin ccfe60eb57 Update ps2avrgb readme (#3599)
* give ps2avrgb a specific readme

* add homebrew and crosspack avr step

* update readme of all ps2avrgb boards to reflect the new template
2018-08-09 17:45:43 -07:00
Drashna Jaelre a2b4178245 Make sure 'shutdown_user' is called 2018-08-04 16:49:57 -04:00
Drashna Jaelre ef5b161bb5 Fix Audio code when resetting keyboard
I incorrectly disabled a bunch of code that shouldn't have been disabled.  This should only disable music mode stuff, not general audio.
2018-08-04 16:49:57 -04:00
Drashna Jaelre 23d68d0ba1 Make sure Planck light calls user suspend functions (#3568)
* Make sure Planck light calls user suspend functions

* Add suspend.h include to quantum.h for kb/user function compatibility
2018-08-04 16:49:10 -04:00
MechMerlin ec26684491 Update templates used for new_project.sh (#3558) 2018-08-03 10:00:06 -07:00
Kenny Hung 6c20c6219c Keymap: Refactor symbols layer with layer tap workaround (#3520)
* Squash layout to fit on Planck

* Replace AST with PAST keycode so that it works with layer tap

* Review markups
2018-08-02 13:47:06 -07:00
Brad 595f3cbe5b Added alternating led underglow pattern (#3498)
* added alternating led pattern

* added alternating with rgblight_config values

* removed my comments
2018-07-29 08:42:11 -07:00
Jacob Jerrell 4b5dcda126 Keymap: Bocaj Ergodox Updates (#3364)
* Bocaj Layout Revamp

* Pull in Upstream (#1)

* Various tweaks for some Input:Club build processes

* change KEYMAP to LAYOUT for all new keyboards made using this script

* Add support for rev3 of the Atom47 (#2672)

* Added support for rev3 of the Atom47

* Updated Atom47 readme's

* Fix redefine error on rev2 and add maartenwut's keymap

* Fix redefine error on LEdiodes keymap

* Add Nyquist keymap (#2692)

* nyquist

* danielhklein nyquist setup

* shift left controls

* remove readme

* cleanup before pr

* ready for pr

* Adds Phantom TKL support (#2696)

* Add an info.json to phantom keyboard

* Add layouts

 - KEYMAP_WINKEYLESS
 - KEYMAP_7BIT
 - KEYMAP_ISO
 - KEYMAP_ISO_WINKEYLESS

* Add key_counts

* Add 2 missing F-Row keys

* Add TKC1800 info.json

Created an info.json for the tkc1800.

* Clueboard 60 info.json

 - adds
   - LAYOUT_60_ansi
   - LAYOUT_60_iso
   - KEYMAP_AEK
   - KEYMAP
   - LAYOUT_60_ansi_split_bs_rshift

* Add the Speedo keyboard

* Fix KC60 info.json file (#2707)

* change KEYMAP to LAYOUT in all the KC60 files

* Redo the info.json file

* Small fixes to TKC1800

 - adjust F-row to use 0.25 spacing
 - split left shift
 - add key_count

* Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708)

* change diverge 3 KC_KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for handwired arrow pad

* change M10A to LAYOUT for m10-a

* Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68

* change KC_KEYMAP to LAYOUT for nano

* Refactor to LAYOUT

* refactor to LAYOUT-ansi and LAYOUT_iso for s65

* LAYOUT conversions for lfkkeyboards

* missed a few renames

* mini1800 for lfkeyobards support of LAYOUT

* Improve state/chord handling and clean up namespace

Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.

Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)

A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.

Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.

The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.

There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.

* Pull information from config.h and rules.mk (#2711)

* Pull information from config.h and rules.mk

* Readd the kbd75 maintainer

* Remove obsolete info.json entries (#2712)

* Clean up some long-standing errors when populating the API (#2715)

* More Configurator Warning Fixes (#2716)

* mf68_ble did not have the correct .c and .h files

* Fix JC65 KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for s60_x

* Convert KEYMAP to LAYOUT for lets_split boards

* Convert KEYMAP to LAYOUT

* more fixes to keymap for iris

* convert KEYMAP to LAYOUT for levinson keyboard

* change losinggeneration's KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for nyquist

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for viterbi

* convert KEYMAP to LAYOUT

* convert KEYMAP and its subsidiries to the LAYOUT standard

* convert KEYMAP and its subsidiries to the new LAYOUT standard

* Normacos keymap for let's split keyboard (#2691)

* Cheers let's split keymap

* fixed typo on norman layer of cheers keymap for let's split

* fixed right handed mappings for home row

* cheers keymap for let's split redefinition

* updated Cheers keymap for let's split

* cheers keymap for let's split updated with some terminal macros

* renamed cheers let's split keymap to a more appropriate normacos

* updated normacos keymap doc / removed non functional keys

* reset let's split rules to default values

* added more spotlight search macros

* normalized keymap comments

* Moved numpad on lower layer

* hhkb jp personal keymap (#2698)

* Add JJ40 Cockpit personal keymap (#2713)

* Add JJ40 Cockpit keymap

* Fix lower layer symbols

* Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718)

* add readme to ktype keyboard

* add readme to m10a

* add readme to mini1800

* add readme to parent directory

* Revert "Pull in Upstream (#1)"

This reverts commit eeba0cec17.

* Updates to Bocaj Files

- Gave up on Tap Dance for ' -> '
+ Added another 'Secret'
+ Add ' -> ' to the Swap Hands key
+ Add Swap Hands to the ' -> ' key
+ Made Hand Swapping a momentary toggle
- Removed Auto Shift
+ Added Layer Toggle to KC_QUOTE for the _TOOLS layer
- Disabled Tap Dance

* Merge remote-tracking branch 'upstream/master'

* Updates to Bocaj

Added Game Layers, Removed Unused Macros

* Removed 'secrets.h'

* Updates to Bocaj

Remove 'secrets'.
Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues

* Total revisioning of keymap and layout structure

* Missed readme.md file

* Bocaj - Permissive Hold setting enabled
2018-07-25 08:37:04 -07:00
Drashna Jaelre 4df6b7ba19 Fix for the Split Common I2C code's SCL_CLOCK issue (#3474)
* Fix the SLC_CLOCK setting for the Split Common code

Make the SCL_CLOCK setting configurable per board, since some use different settings
And change the Iris  to use 100000L instead of 400000L

* Add SCL_CLOCK variable to documentation

* Change SCL_CLOCK default to 100000L
2018-07-25 08:26:10 -07:00
Seth Barberee ed99581161 Convert Iris to use SPLIT_KEYBOARD (#3458)
* convert iris to split-common

* Fix build error
2018-07-22 06:56:14 -07:00
donfuge 2869d51ba8 keymapping for hungarian layout added (#3438) 2018-07-18 20:02:42 -07:00
noroadsleft bc7fe1223d Add #include "config_common.h" after #pragma once to config.h templates (#3444) 2018-07-18 17:16:57 -07:00
Paul Davis b2175e1849 Song List: Mario Mushroom (#3432) 2018-07-18 08:03:43 -07:00
That-Canadian a012113d63 Split common (#3429)
* Line ending stuff again

* Added Let's Split Eh? Files and updated #USE_IC2 checks to also include th EH revision (can only be used in I2C)

* Added personal keymap, updated some of the EH files

* Created new keyboard file for testing "lets_split_eh" will merge into lets_split once fully functional

* Added split code from lets_split, removed pro micro imports and LED code

THIS IS WORKING CODE, WITHOUT RGB AND BACKLIGHT

* Took back original Lets Slit files for the lets_split keyboard, working in the lets_split_eh folder for now

* Updated eh.c

* More rework of the I2C code, added global flags for split boards.

* Introduced RGB over I2C, having weird edge case issues at the moment though

* Fixed weird I2C edgecase with RGB, although still would like to track down route cause..

* Changed RGB keycodes (static ones) to activate on key-up instead of key-down to elimate weird ghosting issue over I2C

* Lots of changes, mainly externalized the Split keyboard code and added logic for only including when needed.

- Added makefile option "SPLIT_KEYBOARD" that when = yes will include the split keyboard files and custom matrix
- Split keyboard files placed into quantum/split_common/
- Added define option for config files "SPLIT_HAND_PIN" FOr using high/low pin to determine handedness, low = right hand, high = left hand
- Cleaned up split logic for RGB and Backlight so it is only exectuted / included when needed

* Updated documentation for the new makefile options and #defines specific to split keyboards

* Added a bit more info to docs, so people aren't confused

* Modifed Let's Split to use externalized code, also added left and right hand eeprom files to the split_common folder

* Removed some debugging from eh.c

* Small changes to keyboard configs. Also added a default keymap (just a copy of my that_canadian keymap).

* Added a README file to the Let's Split Eh?

* Changed it so RGB static updates are done on key-up ONLY for split boards rather than all boards. Also fixed leftover un-used variable in rgblight.c

* Updated default keymap and my keymap for Let's Split Eh? Updated the comments so it reflects RGB control, and removed audio functions.

* Fixed lets_split_eh not having a default version

* Removed "eh" references from lets_split folder for now

* Took lets_split folder from master to fix travis build errors, weird my local was overriding.

* Changed LAYOUT_ortho_4x12_kc -> LAYOUT_kc_ortho_4x12 to match bakingpy and others

* Removed rules.mk from my lets_split keymap, not needed

* Updated the config_options doc to better explain the usage of "#define SPLIT_HAND_PIN"

* Fixed split_common assuming I2C for RGB and Backlight. Added serial backlight support (stole from bakingpy's Levinson code ;) ) Serial RGB not implemented yet. Also Added "USE_IC2" to the lets_split_eh/eh as that was looked over.

* Fixed stupid mistake, forgot to set BACKLIT_DIRTY to false after setting slave backlit settings for serial

* Updated backlight data block to be cleaner (thanks drashna ;) )
2018-07-17 14:54:07 -04:00
That-Canadian 0fab3bbde3 Lets split eh (#3120)
* Line ending stuff again

* Added Let's Split Eh? Files and updated #USE_IC2 checks to also include th EH revision (can only be used in I2C)

* Added personal keymap, updated some of the EH files

* Created new keyboard file for testing "lets_split_eh" will merge into lets_split once fully functional

* Added split code from lets_split, removed pro micro imports and LED code

THIS IS WORKING CODE, WITHOUT RGB AND BACKLIGHT

* Took back original Lets Slit files for the lets_split keyboard, working in the lets_split_eh folder for now

* Updated eh.c

* More rework of the I2C code, added global flags for split boards.

* Introduced RGB over I2C, having weird edge case issues at the moment though

* Fixed weird I2C edgecase with RGB, although still would like to track down route cause..

* Changed RGB keycodes (static ones) to activate on key-up instead of key-down to elimate weird ghosting issue over I2C

* Lots of changes, mainly externalized the Split keyboard code and added logic for only including when needed.

- Added makefile option "SPLIT_KEYBOARD" that when = yes will include the split keyboard files and custom matrix
- Split keyboard files placed into quantum/split_common/
- Added define option for config files "SPLIT_HAND_PIN" FOr using high/low pin to determine handedness, low = right hand, high = left hand
- Cleaned up split logic for RGB and Backlight so it is only exectuted / included when needed

* Updated documentation for the new makefile options and #defines specific to split keyboards

* Added a bit more info to docs, so people aren't confused

* Modifed Let's Split to use externalized code, also added left and right hand eeprom files to the split_common folder

* Removed some debugging from eh.c

* Small changes to keyboard configs. Also added a default keymap (just a copy of my that_canadian keymap).

* Added a README file to the Let's Split Eh?

* Changed it so RGB static updates are done on key-up ONLY for split boards rather than all boards. Also fixed leftover un-used variable in rgblight.c

* Updated default keymap and my keymap for Let's Split Eh? Updated the comments so it reflects RGB control, and removed audio functions.

* Fixed lets_split_eh not having a default version

* Removed "eh" references from lets_split folder for now

* Took lets_split folder from master to fix travis build errors, weird my local was overriding.

* Changed LAYOUT_ortho_4x12_kc -> LAYOUT_kc_ortho_4x12 to match bakingpy and others

* Removed rules.mk from my lets_split keymap, not needed

* Updated the config_options doc to better explain the usage of "#define SPLIT_HAND_PIN"
2018-07-16 22:25:02 -04:00
Jack Humbert ade22f8e2c
Adds support for Planck Rev 6 (#2666)
* initial files for rev 6 with encoder

* music map init, dip scan added

* adds ws2812 driver for arm

* flesh out dip and encoder support

* adds default encoder res

* adds default encoder res

* start muse implementation

* muse working with encoder as control

* flip direction

* try mouse wheel again

* dont break other revs

* dont break other revs

* conditional autio

* pwm ws driver (not working)

* update build includes for chibios

* update ws2812 driver/config

* last commit for glasser code

* working example

* remove rgb for now

* finish up rev6

* working encoder keycodes

* add warnings to planck keymaps about the LAYOUT
2018-07-16 11:48:31 -04:00
Evan Travers 96cb9f4661 Update template config.h with #pragma once (#3415)
* Update template config.h with `#pragma once`

Making sure this is consistent with #3404

* Move to `#pragma once` for the other templates
2018-07-16 08:44:16 -07:00
Max Audron bbea9dadbc Integrating Peter Fleury's HD44780 LCD library (#3209)
* integrated Peter Fleury's LCD library for HD44780 LCDs

* fixed typo

* cleanup finished

* add documentation

* added HD44780 documentation

* removed keyboard from .gitmodules

* resolved merge conflict

* removed edit of kira75s rules.mk made by merge

* moved hd44780 to drivers/avr

* Added licence info to hd44780 files

* Added link to hd44780 docs.
2018-07-15 13:31:45 -04:00
Joe Wasson 81756d7b21 Fix tapdance when one-shot is disabled. 2018-07-15 13:29:59 -04:00
Wilba6582 ffa119941c Added pin C6 to hardware PWM backlight 2018-07-15 12:50:36 -04:00
Danny 1236eac4f2 Slow down speed of All Star song by factor of 4 (#3383) 2018-07-12 10:35:51 -07:00
Danny 168d180a74 Add macro to play All Star chorus and print lyrics, fixes issues #3345, #3346, #3347, #3348, #3349, #3350 (#3372) 2018-07-11 14:19:09 -04:00
Erez Zukerman 9c2dde98e2
Merge pull request #3229 from qmk/hf/shinydox
Adds I2C timeout and return values, adds support for future RGB Ergodox EZ
2018-07-03 14:06:36 -04:00
yiancar a7df902734 Addition of hard brigtness limit for RGB_Matrix (#3299)
* Addition of hard brigtness limit for RGB_Matrix

- Added a define "RGB_MATRIX_MAXIMUM_BRIGHTNESS" to enable hard limiting the maximum brightness for rgb_matrix
- Used the above define to limit the maximum brigthness of HS60 for better stability

* Added docs for new rgb_matrix define

* Addition of check for maximum brightness
2018-07-03 12:52:04 -04:00
fauxpark 6590f3c811 Clean up SEND_STRING keycodes and add media keys (#3214)
* Clean up SEND_STRING keycodes and add media keys

* Remove stray define

* Add missing SEND_STRING keycodes for completeness

Also, add KC_EJCT to the keycode references
2018-06-28 08:55:04 -04:00
Drashna Jaelre ee3b9d2ef0 Disable JTAG in keyboard init
So that all boards, present and future will have JTAG disabled, even if using a custom matrix
2018-06-28 08:52:21 -04:00
Jack Humbert 6380f83190 refactor, non-working 2018-06-22 21:26:30 -04:00
Jack Humbert bad56a4f2b adds timeout to avr i2c 2018-06-12 23:37:06 -04:00
Jon Allen 974d155505 fix issue with rgbinit unused variable (#3165)
* fix issue with rgbinit wiping out customization.

* removed unused variable
2018-06-12 17:32:56 -07:00
Takeshi ISHII 5229734647 Add rgblight mode 35 (R,G,B test mode) (#3114)
* add rgblight mode 35 (RGB cyclic mode) into quantum/rgblight.c

* Update docs, add rgblight mode 35(RGB cyclic)

* rename RGBCYCLIC to RGBTEST
2018-06-04 08:10:39 -07:00
Kenneth Aloysius d27855665a Updated matrix.c for some PS2AVRGB boards and templates for new_project script (#2992)
* Add M6-A keymap

* Update XD60 keymap

* Update XD60 keymap readme

* Update JJ40 and Let's Split keymaps

* Add readme for M6-A

* Fix typo, update JJ40 README

* Update jj40 readme

* Cleanup jj40 keymap

* Revert Let's Split QWERTY layer to default before #2010

* Update numpad layers

* Fix: Let's Split keymap getting stuck mods due to having keycodes assigned on the Raise layer

* Keep ASCII art consistent with keymap

* Staryu: initial port

* Add personal keymap

* Added and updated READMEs

* Fix: default keymap for staryu

* Rudimentary backlight support.

* Enabled mousekeys for default keymap

* use QMK_KEYBOARD_H and LAYOUT

* Update readme.md for NIU mini: flash using avrdude

* Fix missing linebreaks for Staryu README

* Update readme.md

* Update PS2AVRGB boards with new matrix.c

* Update canoe matrix.c; untested

* Fix canoe.c for building (needs matrix_scan_user and matrix_init_user)

* Add personal Iris keymap

* Update keymap

* Update keymap

* Update keymap, disable backlighting and underglow

* Move PrintScreen button

* Add README
2018-05-31 08:32:05 -07:00
Erez Zukerman 21ad968ac1 Customizable LED test duration (#3086)
* Customizable LED test duration

Code by Jack. :)

* only need an unit8_t
2018-05-30 23:23:12 -04:00
Jarrett Drouillard 258954dc3e Add kuatsure map to preonic board (#3087)
* preonic-keymap: kuatsure keymap

* preonic-kuatsure: move arrows and braces and stuffs

* preonic-kuatsure: give more time for leader

* preonic-kuatsure: move _ to lower o

* preonic-kuatsure: tap dance space to enter

* preonic-kuatsure: move vol buttons around

conflicted with kaleidoscope file navigation

* preonic-kuatsure: lower+spc = esc

* preonic-kuatsure: add lock key & remove led stuff

* preonic-kuatsure: little bit of tmux leadering

* preonic-kuatsure: remove colemak and dvorak

* preonic-kuatsure: remove lock key and tap dance

* preonic-kuatsure: lower space -> enter -- raise space -> esc

* preonice-kuatsure: move tmux stuff to homerow keys

* preonic-kuatsure: set tmux prefix to a function

* preonic-kuatsure: hello game layers

* preonic-kuatsure: instead of zelda, ffvii for game mode :)

* preonic-kuatsure: mild changes after playing games to game modes

* preonice-kuatsure: omg comma dangles and spaces in switch!

* preonic-kuatsure: kinda make lower a shift on special characters

* preonic-kuatsure: I don't use these

* preonic-kuatsure: move vol- to the begining of media row

* preonic-kuatsure: more tmux leader stuff ( pane 3 & last pane )

* preonic-kuatsure: abstract out tmux pane zooming

* preonic-kuatsure: abstract pane switch

* preonic-kuatsure: game_mod is carries over lower positions

starting to wonder if I need game_mod ... lol

* preonic-kuatsure: switch lwr/rse esc / ent

* preonic-kuatsure: add leaders for window switching

* preonic-kuatsure: major pruning of adjust layer

* preonic-kuatsure: major rework on raise layer

* preonic-kuatsure: game mods f layer is raise now

* user-kuatsure: hello

* various-kuatsure: use layout format + globalize querty / number keys

* preonic-kuatsure: don't use tap dance anymore

* various-kuatsure: code formatting

* various-kuatsure: add function layer vars

* preonic-kuatsure: moar formatting

* preonic-kuatsure: add home / end keys
2018-05-30 14:49:20 -07:00
Drashna Jaelre 751719e6cb Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070)
* And and fix _noeeprom functions to many of the RGB Underglow functions

* Many functions are unnecessarily calling the eeprom write code. The toggle/enable is command is especially guilty of this, as it writes to EEPROM 3 times.  But rgb mode writes twice, every time it's called. And init resets the rgb eeprom range and then writes back to it twice!
* Fixed the rgblight_sethsv_noeeprom to work as expected, by moving a lot of the code to a helper function.
* Added a noeeprom function for mode, enable, disable, and toggle functions. (didn't bother for increase/decrease stuff, and didn't add new keycodes)
* Add to predefined colors list
* Add new functions to manual/docs

* Update RGB Sleep feature to use _noeeprom

Because that's exactly what it should be doing, actually!
2018-05-29 11:05:22 -04:00
M1K3L08 42a72c633b Fixed sprintf overflow 2018-05-16 21:05:43 -04:00
Drashna Jaelre a572323f94 Add default to LEADER_TIMEOUT in case it's not defined (#2818)
* Add default to LEADER_TIMEOUT in case it's not defined

* Update Leader Timeout default
2018-05-15 22:33:53 -04:00
Drashna Jaelre 5941f81e38 Add rgblight set at commands 2018-05-14 10:19:08 -04:00
yiancar a98a91cf1b Rgb matrix fixes, I2C library can now retry if it has failed (#2943)
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* General fixes for RGB_matrix

- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag

* Documentation update for RGBmatrix

* More doc updates

* I2C library can now retry if it has failed

- Replaced the original TWIlib by LFKeyboard's modified version
- Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.

* RGB Matrix, use alternative I2C library

TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative.

Note: this commit is for Wilba6582 to verify before merge

* Update rgb_matrix.c

* RGB matrix cleanup

- Remove TWIlib
2018-05-14 10:17:24 -04:00
MechMerlin 70e60b0a0c update template copyrights to 2018 (#2962) 2018-05-13 21:01:13 -07:00
MechMerlin 5346cb2d20 Support both AVR and ps2avrGB targets for new_project script (#2811)
* Stopping point at creating targets for new_project script

* Add second argument for target

* Add the ps2avrgb target

* consider the case where the firmware type target is not valid

* fix template files to be more generic

* Code cleanup

* Change variable name to be more descriptive

* make avr the default

* forgot to put the template files in

* Take out useless comments

* add usage info
2018-05-10 00:36:40 -04:00
yiancar c89565cc3d General RGB matrix fixes (#2931)
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* General fixes for RGB_matrix

- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag

* Documentation update for RGBmatrix

* More doc updates
2018-05-10 00:31:24 -04:00
yiancar afacd42368 Add effect speed support for RGB Matrix *No EEPROM yet* (#2922)
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* Add effect speed support for RGB Matrix *No eeprom yet*

Keycodes RGB_SPI and RGB_SPD have been added to increase and decrease effect speed.

Speed is not saved in EEPROM yet as per Jack's request.

* Update rgb_matrix.c

* RGB Matrix speed fix rgblight.h

* More fixes for rgb speed. Speed functions declared but not used in rgblight

* More travis fixes..

* Another one for travis..
2018-05-08 23:23:21 -04:00
Jack Humbert 63d5c947d3 updated music mask 2018-05-08 17:18:15 -04:00
Jack Humbert 14b7602a65
Adds IS31FL3731 RGB Matrix Implementation (#2910)
* adds is31fl3731 rgb matrix implementation

* fix build script for force pushes

* allow bootloader size to be overwritten

* adds planck light implementation

* split led config into 2 arrays

* idk

* betterize register handling

* update planck implementation

* update planck

* refine rgb interface

* cleanup names, rgb matrix

* start documentation

* finish up docs

* add effects list

* clean-up merge

* add RGB_MATRIX_SKIP_FRAMES

* add support for at90usb1286 to bootloader options
2018-05-08 15:24:18 -04:00
Drashna Jaelre e5540dd055 Update to drashna keymaps and userspace (#2876)
* Fix Unicode sample

* Add irony mark

* Remove unpretty keymaps

* Add QMK DFU and Conditional Music Mode

* Unicode fixes

* Unicode fixes

* Make layer indication more modular

* Finish removing Faux Click

* Cleanup of UserSpace and addition of 'update_tri_layer_state' function

* Add modifier status indicators to Orthodox

* Remove tri layer function

* Minor tweaks

* Remove the Orthodox's Indicator's reliance on layer_state_set

* Add custom EEPROM settings

* Make EEPROM config more efficient

* Viterbi Config

* Add Iris Keyboard layout and Userspace cleanup

* Iris keyboard tweaks

* Use Grave Escape on Iris

* Update Readmes
2018-05-02 11:39:46 -04:00
M1K 5112af887a Added command history to terminal with other bug fixes, added new song to song_list.h (#2855)
* Implemented Terminal + added song to song_list.h

* Added wait() in order to prevent misbehaviour of 'command not found'
2018-05-01 13:39:46 -04:00
Drashna Jaelre 6f37bd6678 Fix Clicky Down code 2018-04-28 11:50:02 -04:00
Martin Sandiford 66e40529aa Change handling of adjust layer to make it more LT(...) friendly. (#1625)
* Change handling of adjust layer to make it more LT(...) friendly.

* Update based on feedback from drashna.

* Change handling of adjust layer to make it more LT(...) friendly.  This reworks handling to make it a little more friendly to include in keymaps.
2018-04-26 16:10:03 -04:00
Drashna Jaelre 33fdd1d255 Fix Audio Clicky sub-feature (#2784)
* Fix Audio Clicky feature

* Add to features
2018-04-21 12:30:10 -04:00
MechMerlin 14b2a35571 Use QMK_KEYBOARD_H instead of the mykeyboard.h (#2780) 2018-04-21 00:22:30 -07:00
Drashna Jaelre 1bb77c0875
Update to drashna keymaps and userspace (#2756)
* Re-add NO_SECRETS option

* Add Thumb Clusters defines for default layout

* Minor tweaks

* More Minor tweaks

* Revert Orthodox layers and move function keys around

* Fix keymap so it will compile under the Infinity

Since I haven't added 'pretty' layouts to it yet

* Cleanup of userspace

* Cleanup keymaps

* OMG fix Workman

* Move mods layer key around

* Reduce debounce in Ergodox EZ

* Fix Infinity layers

* Add list of pins used by Ergdox EZ for easy reference

* Revert "Reduce debounce in Ergodox EZ"

This reverts commit 8a3db2673b419ef8032c40a6d29156cef632f9cd.

* Add Clicky toggle to Orthodox

* Fix Audio Clicky keycode

* Enable Faux Clicky by default

* Add Unicode stuff
2018-04-20 17:53:19 -07:00
Drashna Jaelre 8b0b17a369 Add Faux Clicking as subset of Audio feature (#2748)
* Add Faux Clicky to main Audio feature

* Make clicky settings user configurable

* Add additional documentation

* Don't play when music mode is enabled (hopefully)
2018-04-19 01:47:04 -04:00
adiron 3d3c093173 Added bending to MIDI (#2740)
This is done via MI_BENDD and MI_BENDU. At the moment the value is
hardcoded and cannot be adjusted (future commit?) and is the max for the
`midi_send_pitchbend` function (up or down).

`MI_BENDD` and `MI_BENDU` both require `#define MIDI_ADVANCED`

MIDI pitch bend was already implemented in `protocol/midi.c`, I merely
added the keycodes to trigger them. :) (thanks to Jack, two years ago
in commit fb4fe52c apparently)
2018-04-18 22:22:08 -04:00
walkerstop 530dd446cb Fix incorrect port direction setting in my previous pull request for pins B5, B6, B7 (#2739)
* Added support for audio using pins C4, C5, B6, B7

* Fixed bug where port direction wasn't set correctly for B5, B6, B7 audio ports
2018-04-13 03:53:29 -04:00
Michael L. Walker 22215a0e92 Added support for audio using pins C4, C5, B6, B7 2018-04-12 13:14:48 -04:00
Seebs c0baf2a964 Improve state/chord handling and clean up namespace
Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.

Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)

A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.

Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.

The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.

There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.
2018-04-07 17:12:44 -04:00
mechmerlin 7bbc9ccc31 change KEYMAP to LAYOUT for all new keyboards made using this script 2018-04-05 19:15:50 -04:00
U-LANDSRAAD\drashna c1b46206a7 Fix commands and update my userspace (for testing) 2018-03-28 16:55:58 -04:00
U-LANDSRAAD\drashna 9cfeb4e6cf add RGB commands as global functions 2018-03-28 16:55:58 -04:00
Jacob Jerrell c39780b8e1 Add Support for Software Workman (#2632)
This adds the keymap translations and sendstring definitions to support software workman.
2018-03-28 12:07:59 -07:00
Jason Stillwell 66162b2b68 add grave to auto-shift. 2018-03-26 13:42:08 -04:00
mtei 2038a515d9 change rgblight_increase_val() and eeconfig_update_rgblight_default(), use RGBLIGHT_LIMIT_VAL insted of 255. 2018-03-26 13:41:53 -04:00
Joshua Coffey a09a042b8f New keymap and more songs (#2609)
* Added some new songs and my own keymap

* Made Dodger keymap safe to use with backlight disabled

* edited layer switching and added more songs

* changed keymap to lowercase
2018-03-25 12:58:40 -07:00
U-LANDSRAAD\drashna 34580baccf Fix #1566 - NKRO reseting issue 2018-03-25 13:17:52 -04:00
snyman 7a5ce36f23 Add macro for momentarily switching to a layer while some mods are active (#2460)
* Macro for a momentary layer switch with mods

Passes through to the existing ACTION_LAYER_MODS macro, albeit with more
limited options due to lack of space in the quantum_keycodes enum.

* Add documentation for LM layer-mod macro

* Clean up Tap Toggle documentation
2018-03-20 22:59:54 -04:00
Jason Stillwell 00b4dce605 Rule to enable Modifiers with Auto-Shift (#2542)
* Re-enable modifiers with auto-shift

* Auto-shift modifiers rule

* missed a line

* Documentation

* fixing whitespace
2018-03-16 16:41:01 -04:00
Kenny Hung bb5c98699f Duplicate KC space to UK (#2541)
* Fix tilde in xd75 skewwhiffy

* Small tidy up

* Tidy up Colemak row

* Tidy up navigation layer

* Symbols layer redefined

* Fix UK Quote issue

* Use UK_QUOT rather than KC_QUOT
2018-03-16 16:39:51 -04:00
fauxpark a2e12faa19 Add CMD and WIN aliases for KC_GUI, GUI(kc), GUI_T(kc), etc. 2018-03-16 16:37:44 -04:00
Joe Wasson 23ac2a02ef Add keycodes for swap-hands feature. 2018-03-16 16:33:43 -04:00
Daniel Rodríguez Rivero a730cf6718 Create sendstring_spanish.h
This makes possible to use SEND_STRING with a spanish keyboard for almost all symbols except the ones that require ALT, which are documented on the code comments.
I am not adding any documentation because the functionality is not complete until a way to specify alted symbols is added.
2018-03-16 16:25:24 -04:00
Nicola Gargagli 4658786436 Add italian keymap 2018-03-16 16:20:40 -04:00
Brian Choromanski 6c74d734c2 Fixed various keymaps and the allocation of "key_combos" (#2526)
* Fixed plank keymaps so that they will compile for planck light

* tv44:budi now compiles

* s60_x:amnesia0287 now compiles

* Fixed allocation of key_combos so that narze keymap for planck can compile correctly

* Disabled rgb on ergodone and infinity

* Enabled tap dance so it compiles

* Added return statement so it compiles

* If compiling on light disable extra functionality

* Properly redefined variable so it compiles
2018-03-16 16:20:09 -04:00
Drashna Jael're 3f1d147529 Add SS_RALT for AltGR usage in macros 2018-03-09 13:15:10 -05:00
crazyiop 3d7e9425c7 quantum: keympa_extra: add sendstring_bepo.h 2018-03-07 17:09:41 -05:00
crazyiop 483e3cd1cb quantum: keymap_bepo.h: fix typo in BP_COMMMA 2018-03-07 17:09:41 -05:00
skullY e5c331e7be Fix the SGUI aliases 2018-03-01 16:15:38 -08:00
skullydazed e3f67e6e7f
Add SGUI() and SGUI_T() for consistency with KC_GUI (#2442)
* Add `SGUI()` as an alias of `SCMD()` for consistency with `KC_GUI`

* Add `SGUI_T()` as an alias of `SCMD_T()` for consistency with `KC_GUI`

* Make SGUI the primary name
2018-03-01 08:13:10 -08:00
Johan Ju 20b5dd80bd Fix swedish NO_GRV 2018-02-12 15:56:43 -05:00
Drashna Jaelre 6835ae8209 Add the ability to disable Music Mode completely (#2339)
* Skip process_music in NO_MUSIC_MODE is defined

* Skip matrix_scan_music if NO_MUSIC_MODE is defined

* Skip music_all_notes_off if NO_MUSIC_MODE is defined

* Leave matrix_scan_music in, because it reduces firmware size by 150b....

* Add docs for NO_MUSIC_MODE
2018-02-08 15:16:06 -05:00
fredizzimo 53ff8a31b6 Merge ChibiOS and LUFA descriptor support (#2362)
* Move lufa descriptor to protocol/usb_descriptor

* Try to compile usb_descriptor on ChibiOS

* Add lufa_utils for ChibiOS

Lufa USB descriptors for ChibiOS

* More lufa_util compatibility fixes

* First compiling version of shared USB descriptor

* Send the usb descriptors

* Fix the CONSOLE output on ChibiOS

* Add errors for unsupported interfaces

* Enable support for vitual serial port USB descriptors

* Implement virtual serial port for ChibiOS

* Cleanup the lufa_utils

Use the default lufa header files

* Add raw hid support for ChibiOS

This is completely untested

* Enable midi compilation on ChibiOS

* Move midi functionality out of lufa.c

* Don't register sysex callback when not needed

* ChibiOS compilation fixes

* Update ChibiOS submodule

* Fix the Midi USB descriptor

It didn't work properly when both Midi and Virtual serial port was enabled.

* Add MIDI support for ChibiOS

* Fix USB descriptor strings on ChibiOS

* Use serial usb driver for raw hid

* Generalize the ChibiOS stream like drivers

This makes the initialization much more simple and eliminates a lot of
the code duplication.

* Convert console output to chibios stream driver

* Fixes for ChibiOS update

* Update the ChibiOS contrib submodule

To include the usb data toggle synchronization fixes

* Fix duplicate reset enumeration on ChibiOS

* Add missing include

* Add number of endpoints check for ChibiOS

* Enable serial USB driver on all keyboards

* Add missing includes when API is enabled withot midi

* Add another missing inlcude
2018-02-08 15:07:46 -05:00
Jack Humbert 63c16f4b63
ARM audio fixes, stack size increase (#2365)
* fix up arm audio implementation

* chibios stack size inc

* get one channel working

* update for chibios
2018-02-08 14:39:40 -05:00
scauligi 9fcda95363 Fixes to get tap dance to fire at proper places (#2272)
* tap dance fixes: fire immediately upon completion and also get properly interrupted before macros

* bugfix for tapdance improvement

* fix build
2018-02-04 13:45:19 -05:00
Mitchell van Manen ee0a2b7dab Imperial Match (Darth Vader's Theme) added
crappy recording: https://clyp.it/0lufqils
2018-02-01 23:06:52 -05:00
Michael Kaylan 91c133f4e0 Add missing parenthesis back to backlight_tick 2018-02-01 23:06:00 -05:00
Kenneth Aloysius 365b863578 Backlighting for JJ40 and underglow initialisation code (#2260)
* Cleanup Mechmini keymap. Once the custom RGB function is defined, there is no need to manually handle RGB code.

* Change default to KEYMAP_MIT, not KEYMAP_OFFSET

* Add custom RGB code for JJ40

* Reset Mechmini advertised power draw to 500. Will have to test actual maximum power draw later.

* RGB working on JJ40.

* Fix: saturation increase/decrease flipped

* Add new directory for my custom keymap with RGB keycodes

* Swap LAlt and LGUI

* Update JJ40 max power draw with measured value

* Update: fun40 rules.mk to enable underglow; earlier failed Travis CI

* Fix: init RGB LEDs on boot. Also added HHKB-like keymap for XD60.

* Super rudimentary backlight test, init RGB LEDs on boot

* Backlighting works - stays on for now

* Toggling working

* Now can override backlight.c functions. Problem was functions in backlight.c weren't called before due to a lack of matrix_scan_quantum() in matrix.c

* Timers not working

* Delete global.h

* Cleanup

* Compiles

* Good sign: LEDs stop working again

* Handle timer1 overflow

* Progress: fix: forgot to init

* Backlighting fully working now except breathing.

* Revert keymap to original keycodes

* Update XD60 keymap README

* Update JJ40 keymap with backlight toggles

* Breathing working just fine.

* Update references

* Add backlight_set() call

* Cleanup code to disable backlight

* Fix: does not compile

* Fix: missing call to rgblight_task.

* Testing with BACKLIGHT_BREATHING

* Cleanup

* Cleanup comments

* More commenting cleanup.

* Do not enable BACKLIGHT_BREATHING by default
2018-01-18 16:02:32 -05:00
skullydazed 5836d1a06a Fix up the ARM audio support (#2136)
* Get audio working on clueboard/60

* add keys for music mode

* Change doubles to floats

* add keys for all the songs

* revert to the default startup sound

* Remove music mode until we can figure out why it crashes
2018-01-13 23:38:25 -05:00
pmalecka a01dc4dd48 added the possibility to hav shifted(modded) tap dance 2018-01-12 12:56:21 -05:00
YouCanFly 6c24e28b8d ADD RGBLIGHT_LIMIT_VAL (#2214) 2018-01-02 21:54:56 -05:00
Balz Guenat 4931510ad3 backlight breathing overhaul (#2187)
* add breathing to bananasplit

* backlight breathing overhaul

* fix the backlight_tick thing.

* fix for vision_division backlight

* fix a few keymaps and probably break breathing for some weirdly set-up boards.

* remove BL_x keycodes because they made unreasonable assumptions

* some fixes for BL keycodes

* integer cie lightness scaling

* use cie lightness for non-breathing backlight and make breathing able to reach true max brightness
2018-01-01 17:47:51 -05:00
Mikkel Jeppesen 9fc3e26f70 Fix of #2094 2017-12-31 22:46:31 -05:00
Colin Miller 97c6b8143c Adding a Zelda Treasure sound.
It's the sound that's made when opening a treasure chest.
2017-12-21 21:12:08 -05:00
Drashna Jael're 4f484bc1c9 Add on/off/toggle keycodes for Auto Shift 2017-12-20 14:38:56 -05:00
U-LANDSRAAD\drashna a1fa70f94d Add toggle option to AutoShift 2017-12-20 14:38:56 -05:00
kamisamamizu 12e66330c5 Add COSPAD to QMK and add functions to read HSV (#2156)
* Added functions to read HSV values

I have added three functions to rgb_light.c to be able to read the hue, saturation and value from other places.
They are rgblight_get_hue(), rgblight_get_sat(), adn rgblight_get_val().

* Create keymap.c

* Add COSPAD support to QMK

I have ported the COSPAD numpad to qmk.

* Update readme.md

* Update cospad.c
2017-12-17 11:44:13 -05:00
Zach Richard 8a1e656099 new planck keymap, new feature - hybrid shift/enter action key (great for small keyboards!) (#2100)
* new planck keymap, new feature - hybrid shift/enter action key (great for small keyboards!)

* corrected documentation to specify rules.mk file instead of Makefile
2017-12-14 00:20:44 -05:00
Jack Humbert e6b91549e3 fixes audio/midi combinations 2017-12-10 11:54:36 -05:00
Jack Humbert 58898f77e3 fixes midi compile error 2017-12-10 11:32:36 -05:00
Jack Humbert a7c61f2947 fix up midi stuff w/music mode 2017-12-10 10:59:47 -05:00
Colin T.A. Gray 16546ee06f Add 'rgblight_disable' and 'rgblight_setrgb_at/rgblight_sethsv_at'
Refactors rgblight_toggle to use rgblight_enable or rgblight_disable
Use 'rgblight_setrgb_at/rgblight_sethsv_at' to control an individual LED
2017-12-08 16:10:42 -05:00
Jack Humbert bba871df2f move lcd_backlight_keyframes to correct location 2017-12-07 12:41:13 -05:00
Colin T.A. Gray b7c76fda31 fixes case where BACKLIGHT_BREATHING is enabled, but pin doesn't support PWM 2017-12-07 11:07:45 -05:00
Colin T.A. Gray 53b043d4ef adds 'RGB_RMOD' to go through RGB modes in reverse 2017-12-04 11:12:52 -08:00
skullY 0b54e7f5ae Flesh out the grave escape overrides 2017-12-03 00:00:23 -05:00
Jack Humbert 9fdc276260
Updates bootloader settings, adds file size check (#2029)
* pull fuse settings for bootloader jump

* fix 32a chips

* make automatic bootloader selection optional

* quantify bootloaders

* fixs #164, speeds up dfu reset

* fix for chips w/o usb

* missing an n

* fix bootloader sizes, use words for addresses

* fix bmini, pearl, and [[ issue, make things quiet

* ignore avr errors on arm for now

* update settings for the light

* document bootloader stuff

* add bootloader title
2017-11-27 23:08:21 -05:00
Jack Humbert b669d115c2 adds planck light keyboard 2017-11-20 23:37:38 -05:00
Gilbert Consellado 7ff96877d2 added SS_LSFT to featured macros 2017-11-20 12:25:42 -05:00
Takayuki Matsubara f113f1927f make it easy to customize logo image 2017-11-06 12:10:17 -05:00
Jack Humbert d6ad9787a0 update template readme 2017-11-01 21:14:24 -04:00
Jack Humbert e2e387f8f8 update qmk template 2017-11-01 21:10:05 -04:00
drashna 101b998ac2 Fix Pointing Device code (#1934)
* Fix pointer device options

when the feature was added, the appropriate option definition wasn't created.  This needs to be added to function properly.

* Update common_features.mk

* missing underscore in init function declaration
2017-10-31 11:13:00 -04:00
Jody Foo f4949fdd32 Fix for issue https://github.com/qmk/qmk_firmware/issues/1751 2017-10-29 20:05:54 -04:00
Shihpin Tseng 750f8ec94e Fix process_combo.c compile warning 2017-10-29 20:05:26 -04:00
Sebastian Kaim 1f43495922 Added a new keycode for cycling through RBG modes which reverses directions when shift is hold.
This commit adds a new keycode `RGB_SMOD` which is the same as `RGB_MOD` (cycle through all modes),
but when it is used in combination with shift it will reverse the direction.
2017-10-24 17:02:20 -10:00
skullydazed ad49db8cd2 Address #1689 by using a formula to define the breathing curve (#1692)
* Address #1689 by using a formula to define the breathing curve and exposing defines to control the shape of the curve.

* Tweak the behavior of breathing for clueboard
2017-10-17 16:47:49 -07:00
Jack Humbert 800ec55dfc Make arguments redo, subproject elimination (#1784)
* redo make args to use colons, better folder structuring system [skip ci]

* don't put spaces after statements - hard lessons in makefile development

* fix-up some other rules.mk

* give travis a chance

* reset KEYMAPS variable

* start converting keyboards to new system

* try making all with travis

* redo make args to use colons, better folder structuring system [skip ci]

* don't put spaces after statements - hard lessons in makefile development

* fix-up some other rules.mk

* give travis a chance

* reset KEYMAPS variable

* start converting keyboards to new system

* try making all with travis

* start to update readmes and keyboards

* look in keyboard directories for board.mk

* update visualizer rules

* fix up some other keyboards/keymaps

* fix arm board ld includes

* fix board rules

* fix up remaining keyboards

* reset layout variable

* reset keyboard_layouts

* fix remainging keymaps/boards

* update readmes, docs

* add note to makefile error

* update readmes

* remove planck keymap warnings

* update references and docs

* test out tarvis build stages

* don't use stages for now

* don't use stages for now
2017-10-14 11:32:19 -10:00
Snipeye cfd118d158 Added Dichotemy Keyboard, updated docs for Pointing Device (#1817)
* Added Dichotemy Keyboard, updated docs for Pointing Device

* Updated readme

* Updated mouse report pointer in pointing_device.c
2017-10-10 07:07:59 -10:00
Snipeye ee13228486 Generic Pointing Device (#1767) 2017-10-06 07:13:08 -10:00
Fred Sundvik 67eeb889ba Fix dynamic macros on ChibiOS keyboards 2017-09-30 06:22:24 -10:00
skullydazed 5fd68266f5 Clueboard 60% support (#1746)
* initial clueboard_60 support

* LED lighting support

* fix the clueboard->clueboard_66 rename

* Add layout support to clueboard_60

* Fix the 60_iso layout so it's actually iso

* add a default keymap for AEK layout

* fix clueboard_17

* Fixup the ISO layouts

* Fix the `wait_ms()/wait_us()` definitions for chibios

* Fix up the wait_ms/wait_us hack. Reduce stack size.

* Add a missing #include "wait.h"

* commit files that should have already been comitted
2017-09-29 16:17:30 -07:00
Jeremy Cowgar d0ca713eb4 KC_TILD should not have been listed as an auto shift key 2017-09-18 17:08:18 -04:00
Jeremy Cowgar abba393f57 Added Auto Shift, tap key = normal, hold key = shifted state. 2017-09-18 17:08:18 -04:00
Dylan Khor da887ea412 Address issue #1713 (#1728) 2017-09-17 11:53:45 -07:00
Jack Humbert dc7d0c7b74 update to driver separation 2017-09-15 21:43:58 -04:00
Dylan Khor ee9a20ff37 Cleaned, revised, and updated my keymaps to reflect new changes/defaults (#1712)
* add new RGB keycodes and clean up lets split keymap

* extraneous cases

* More cleanup and added macro

* one more macro

* cleaned up my planck keymap and added macros

* Transitioned planck keymap to new formatting / audio modes based on new default

* Remove extraneous newline in song list, add keycodes missed in previous commit

* error in graphical representation of keycodes
2017-09-15 19:21:46 -04:00
Jack Humbert 7ad924bae5 Updates send_string functionality, adds terminal feature (#1657)
* implement basic terminal stuff

* modify send_string to read normal strings too

* add files bc yeah. working pgm detected

* pgm detection apparently not working

* adds send string keycodes, additional keycode support in send string

* implement arguments

* [terminal] add help command

* [terminal] adds keycode and keymap functions

* [terminal] adds nop.h, documentation

* update macro docs
2017-09-12 00:43:10 -04:00
Ptomerty 68b6de60e0 fix for toggle tap dance 2017-09-10 22:57:26 -04:00
skullydazed 4cdcbdb861 Remove all Makefiles from the keyboards directory. (#1660)
* Remove all Makefiles from the keyboards directory.

* update keymaps added in the last 8 days

* Ignore keyboard/keymap makefiles

* update hand_wire to reflect our new Makefile-less reality

* Update the make guide to reflect the new reality

* move planck keymap options to rules.mk

* update planck keymaps 4real

* trigger travis

* add back build_keyboard.mk

* restore changes to build_keyboard
2017-09-08 13:47:50 -04:00
skullydazed 4580d3a730 RGB improvements (#1684)
* Allow the knight animation to be restricted to a portion of the LED strip

* Add keys for jumping directly to particular animation modes

* Remove orphaned break statements

* Tweak the `RGB_MODE` buttons so they cycle through the same mode.

* small indentation fix
2017-09-06 14:49:19 -07:00
Jack Humbert 994592f985 add audio on/off audios 2017-09-06 12:37:57 -04:00
Jack Humbert 4d5eeb3d7d update planck stuff 2017-09-06 12:19:40 -04:00
David Stosik 4edfa97e03 Improve and simplify RGB Knight mode (#1677)
* Simplify RGB Knight mode code, and make it look closer to KITT

* Remove RGBLIGHT_EFFECT_DUALKNIGHT_LENGTH
2017-09-05 14:19:08 -07:00
David Stosik 94f8b758b3 Fix Kitt and its default behavior (#1674) 2017-09-03 11:02:06 -07:00
Marco Fontani da83f04a30 add UC_OSX_RALT to make unicode use the Right Alt key on OSX 2017-08-30 11:38:03 -04:00
Jack Humbert d2ff66a985 Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* include variables and .h files as pp directives

* start layout compilation

* split ergodoxes up

* don't compile all layouts for everything

* might seg fault

* reset layouts variable

* actually reset layouts

* include rules.mk instead

* remove includes from rules.mk

* update variable setting

* load visualizer from path

* adds some more examples

* adds more layouts

* more boards added

* more boards added

* adds documentation for layouts

* use lowercase names for LAYOUT_

* add layout.json files for each layout

* add community folder, default keymaps for layouts

* touch-up default layouts

* touch-up layouts, some keyboard rules.mk

* update documentation for layouts

* fix up serial/i2c switches
2017-08-23 22:29:07 -04:00
Joe Wasson fc70c9ac9e Allow steno to build when NKRO is not defined.
Was missing eeprom.h, MAX(), and memset.
2017-08-20 11:51:57 -04:00
Wilba6582 baae936b47 Required overridden function for keymaps in EEPROM 2017-08-19 08:16:58 -04:00
Martin Sandiford 4757140107 Wrapped process_leader.c in #ifndef DISABLE_LEADER to allow compilation with DISABLE_LEADER defined. 2017-08-15 19:51:06 -04:00
Balz Guenat b4be711af1 fix for issue #1568 2017-08-12 12:15:36 +02:00
Balz Guenat 5ad103fa51 add description of new option to docs and add option (commented out) into template. 2017-08-11 16:54:10 -04:00
Balz Guenat 188ed682e3 add short comment to grave_esc_ctrl_override 2017-08-11 16:54:10 -04:00
Balz Guenat 897ceac26c add option to let ctrl override shift/gui for the GRAVE_ESC.
This enables the ctrl+shift+esc shortcut to task manager on windows.
2017-08-11 16:54:10 -04:00
Jack Humbert 6895c4510e fix default layer songs 2017-08-10 16:52:35 -04:00
Fredric Silberberg 114565fe81 Rename SHIFT macro to BV_64 2017-08-08 10:02:53 -04:00
Fredric Silberberg a3e1d9a8cc Added support for locking One Shot modifiers. 2017-08-08 10:02:53 -04:00
Fredric Silberberg 02f405708b Remove hex print code. 2017-08-08 10:02:53 -04:00
Fredric Silberberg 8e1be7c792 Initial implementation of the key_lock feature. 2017-08-08 10:02:53 -04:00
Gergely Nagy d28b2c395b tap-dance: key + layer helper
This adds the `ACTION_TAP_DANCE_DUAL_ROLE` helper, which makes it easy to have
keys that act as a key on the first tap, and as a layer toggle on the second.

Fixes #1532, reported by @Ptomerty.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-08-02 16:06:16 -04:00
Joe Wasson e81e75c147 Move steno keycodes due to conflict with another PR. 2017-07-27 16:10:36 -04:00
Joe Wasson 3e96e8a6a1 Add copyright to steno files. 2017-07-27 16:10:36 -04:00
Joe Wasson f30f12ec81 Add support for GeminiPR steno protocol.
This protocol breaks out "duplicate" keys into their own entry in the packet so that more complicated logic can be done on the software side, including support for additional languages and alternative theories.
2017-07-27 16:10:36 -04:00
Joe Wasson 5987f67989 Add TX Bolt protocol support for Stenography
Requires virtser; Allows QMK to speak the TX BOlt protocol used by stenography machines and software (such as Plover). The upside is that Plover can be configured to listen only to TX Bolt allow the keyboard to switch layers without need to enable/disable the Plover software, or to have a second non-Steno keyboard work concurrently.
2017-07-27 16:10:36 -04:00
Jack Humbert cefc09ae7d adds option for alt pitch standards 2017-07-24 12:45:34 -04:00
Jack Humbert 415d38ba9e adds music mode, music mode songs, music mask 2017-07-23 14:59:29 -04:00
Jack Humbert f407f3e8de remove unneccesary headers 2017-07-23 14:59:29 -04:00
Jack Humbert 92ccc9a7b8 use automatic rests with songs (no more rest styles) 2017-07-23 14:59:29 -04:00
Jack Humbert fd664fe85b escape song playing in music 2017-07-23 14:59:29 -04:00
Jack Humbert fe113ebad5 start updating audio docs 2017-07-23 14:59:29 -04:00
Jack Humbert 6a3c66776c clean-up planck and preonic keymaps, move audio stuff around 2017-07-23 14:59:29 -04:00
Jack Humbert 6ed8ce4f59 Merge pull request #1491 from fredizzimo/msys2
Add support for msys2 build environment
2017-07-13 14:24:26 -04:00
Fred Sundvik 78545b9509 Fix unreferenced errors with mingw compiler and unit tests 2017-07-11 19:41:04 +03:00
Jack Humbert 42d5a324eb Start mvoing hardware drivers to /drivers/ (#1433)
* start driver isolation

* update nyquist and orthodox boards

* update atreus62

* move drivers to avr

* update avr conditional
2017-07-10 11:18:47 -04:00
Fred Sundvik 10546665f4 Fix uninitialized backlight_level in the Visualizer 2017-07-10 09:02:36 -04:00
Fred Sundvik 9d8279960d Make it easier to use drivers 2017-07-10 09:01:59 -04:00
Fred Sundvik 4da3b19603 Shared default animations 2017-07-10 09:01:59 -04:00
Fred Sundvik 2251560256 Clarify naming between LCD_BACKLIGHT and LED_BACKLIGHT 2017-07-10 09:01:59 -04:00
Fred Sundvik f3c113fb5a Shared gfxconf 2017-07-10 09:01:59 -04:00
Fred Sundvik 8a962f7b27 Define visualizer thread priority by default 2017-07-10 09:01:59 -04:00
Shayne Holmes 48ff93582b Pull out sendstring variations to their own files.
Instead of having all sendstring keycode mappings in the main quantum.c
file, give each one its own file in keymap_extras that can be #included
in a user's keymap. If one is included, it will define the appropriate
lookup tables and overwrite the weak definitions in quantum.c.
(Including more than one sendstring definition will fail at compile
time.)

Update @rai-suta's test keymap to match, as well as the documentation.
2017-07-05 10:55:47 -04:00
Shayne Holmes fdc2e8058b Allow broader send_string layout customizability via compile flag
Refactor new-ish JIS_KEYCODE send_string implementation with existing
send_string

Reshuffle JIS in line with other alternative keycodes for sendstring,
and make them all accessible via compile-time options

Add a separate function to allow sending a string with a delay.
2017-07-05 10:55:47 -04:00
Luiz Ribeiro d5486265b8 Merge branch 'master' into ps2avrGB 2017-07-04 11:17:28 -04:00
Jack Humbert 7d28a417c0 don't let timer1 exist without b5 being enabled 2017-06-27 15:28:13 -04:00
Jack Humbert ea7590c894 add new arguements, docs 2017-06-27 14:35:08 -04:00
Jack Humbert 9f5b4e1d7a Merge branch 'master' of https://github.com/qmk/qmk_firmware into dual_audio 2017-06-27 14:21:42 -04:00
Jack Humbert b82604dada no glide 2017-06-27 14:20:53 -04:00
Jack Humbert bfc73e90cf working duopholy 2017-06-27 14:20:44 -04:00
Jack Humbert eabf530a0e b5 audio 2017-06-27 14:20:14 -04:00
Jack Humbert b2979eba23 Adds parenthesis where they might be needed
Addresses #764
2017-06-27 12:55:18 -04:00
Andreas Lindhé a25dbaad32 Create sv_SE Qwerty layout for ErgoDox
*NOTE:* it might still be desirable to set the software layout to sv_SE in your
OS.

Swedish (sv_SE) Qwerty layout for ErgoDox, based on the Default configuration

I have tried making this as close of a match I could between the [default
ErgoDox EZ configuration](https://ergodox-ez.com/pages/our-firmware) and a
standard Swedish Qwerty layout.

Notable differences from default:
=================================

* There are three special character buttons (acute accent, circumflex/tilde and
  apostrophe/asterisk) that don't have any buttons to map to naturally. I've put
  these at other places:

    * Acute accent (´) can be found in the lower left corner, conveniently
      placed to reach for making an é.

    * Apostrophe (') was put in the lower left corner, close to acute accent.

    * Circumflex (^) and asterisk (*) was placed in the lower right corner.

    * Tilde (~) and diaeresis (¨) I couldn't find a good place for, so I left
      those out. I could only get the buttons to produce a single one of the
      characters. How can I get it to work properly?

* The Alt button on right thumb was exchanged for AltGr (RAlt).

* I changed the backslash in the numpad (layer 1) for a minus. Thought it was
  more sensible.

* I didn't find a good place for the "<>|" button, so that one was left out.
  That is a problem that really needs to be resolved. Pipe can be found on layer
  one, however.
2017-06-27 15:17:21 +02:00
Jack Humbert 61cdc9aaa4 Allow mod swapping for mod tap (MT) (#1202)
* allow mod swapping for mod tap

* quick include

* fix the mod swapping

* make changes consistent with action code

* fix bug

* re-enable no gui, etc

* fix binary comps

* solid logic
2017-06-26 18:54:01 -04:00
Jack Humbert d1fb8d2296 Merge pull request #1431 from rai-suta/master
Bugg fix and add keymap for testing JIS_KEYCODE switch.
2017-06-25 21:31:10 -04:00
Ethan Madden 42e6ecc36b Whitefox LED control (#1432)
* use new grave_esc functionality

* Port LED control from Ergodox Infinity to Whitefox
2017-06-25 21:30:40 -04:00
rai-suta e740520b3f Fix bug. 2017-06-26 00:24:32 +09:00
Jack Humbert de833659ae Merge pull request #1429 from fredizzimo/fixes_for_emulator
Minor fixes to support the emulator
2017-06-25 10:29:00 -04:00
Fred Sundvik 1e6a3f9e17 Change M_2_PI to 2 * PI as it should be 2017-06-25 12:55:18 +03:00
skullY 582a6ac75c Fix #1135 by changing the default to at90usb1286 2017-06-24 15:28:13 -07:00
rai-suta 5dae013ff8 Add JIS_KEYCODE layout for send_string() 2017-06-24 18:29:37 +09:00
Fred Sundvik f912c74fe7 Change inline to static inline 2017-06-24 00:34:16 +03:00
Fred Sundvik da19852964 Add function for getting the LCD backlight brightness 2017-06-24 00:34:16 +03:00
Fred Sundvik ff49259a1a Include config.h from visualizer.h 2017-06-24 00:34:16 +03:00
Fred Sundvik 6c9b4743f7 Include config.h before visualizer.h 2017-06-24 00:33:23 +03:00
Jack Humbert 51a86b85f3 Merge pull request #1361 from fredizzimo/ergodox_infinity_backlight
Add Ergodox Infinity backlight support
2017-06-18 10:15:02 -04:00
jamesofarrell 98316ef017 Added Grave Escape (#1391)
* added QK_GRAVE_ESC and KC_GESC

* fixed name

* Fixed keycode emnu

* Removed layer check, added left and right GUI mod detection for OSX GUI+~
2017-06-16 14:56:50 -07:00
Fred Sundvik 7d5606085f Correctly calculate backlight level 2017-06-16 02:05:15 +03:00
Víctor 21fa16651c Rename ES_RCRB to ES_RCBR for consistency reasons (left curly bracket is defined as ES_LCBR) 2017-06-12 21:44:40 +02:00
Víctor 2c404cca12 Fix keymap definitions referencing inexistent macros 2017-06-12 21:43:34 +02:00
Luiz Ribeiro 945f2f5916 Fixed rgblight_types.h 2017-06-11 12:30:48 -04:00
Luiz Ribeiro d4cd5dda5c Added a build flag for using a custom rgblight driver 2017-06-11 12:30:48 -04:00
Fred Sundvik b51a0db6ed Add backlight support to the default Ergodox Infinity animations 2017-06-03 22:04:10 +03:00
Fred Sundvik effffa33a5 Backlight level handling for the visualizer 2017-06-03 21:14:26 +03:00
Fred Sundvik a916f4e8b8 Let BACKLIGHT_ENABLE control the Infinity LEDs 2017-06-03 14:34:50 +03:00
Daniel Shields 606e13a47e Prevent the recording of looping dynamic macros.
If a macro play key is inadvertently recorded in a dynamic macro
a loop is created and the macro will not terminate when played.

This should be prevented.
2017-06-01 16:29:58 +01:00
Nick Choi 5393bc6f4e switched to uint8 and 16 2017-05-29 21:25:50 -04:00
Nick Choi b3144112d3 removed need to set customtapping term 0. defaults to 0 already 2017-05-25 16:38:06 -04:00
Nick Choi 7c8b166cce changed -1 to 0 can't have negative unsigned ints 🤔 2017-05-25 16:29:57 -04:00
Nick Choi aeb3a34636 moved specific tap term to its own function
included custom_tapping_term in action struct
2017-05-25 16:26:30 -04:00
Nick Choi e695b5a33b Added per case tapping term, updated FF-nikchi keymap. 2017-05-25 00:41:00 -04:00
Nick Choi eb660ef218 emoji support but 2017-05-15 01:52:45 -04:00
Wojciech Siewierski a1e156a3d2 dynamic_macro.h: Do not use backlight_toggle if backlight is disabled
Fixes #1199.
2017-05-05 00:11:24 +02:00
Wojciech Siewierski 10a7cd7e5a dynamic_macro.h: Add debug logs 2017-05-04 23:57:22 +02:00
Wojciech Siewierski 8e94c9b4cb dynamic_macro.h: Make the documentation more clear 2017-05-04 22:39:02 +02:00
Wojciech Siewierski 4b50ea15a9 dynamic_macro.h: Do not save the keys being held when stopping the recording
More specifically, we save them and then place the `macro_end` pointer
before them so they are essentially ignored and the other macro may
freely overwrite them.
2017-05-04 01:42:09 +02:00
Wojciech Siewierski 436d661775 dynamic_macro.h: Fix an off-by-two error
We need to check whether we just passed the after-the-end point of the
other macro. Instead we were checking whether we are going to reach it
now.
2017-05-04 01:26:35 +02:00
Wojciech Siewierski 5e2a999278 dynamic_macro.h: Always toggle the backlight twice as a notification
Apparently sometimes the backlight was toggled only once and it was left on.
2017-05-04 00:58:01 +02:00
Wojciech Siewierski 40fe30e4d6 dynamic_macro.h: Ignore all the initial key releases
Right after the user initiates the macro recording, they usually need
to release some keys used to access the DYN_REC_START layers. It makes
sense to ignore them.

Note: The keys used to access the DYN_REC_STOP key are *not* ignored.
2017-05-04 00:14:38 +02:00
Weiyi Lou 4ff40a551a Add DYN_REC_STOP to dynamic macros
Dynamic macro functionality is modified to check for `DYN_REC_STOP`, so
that macro recording can be stopped with a designated key combination
(e.g. `qs` or anything) instead of mandating the use of a `_DYN` layer.

`_DYN` layer stopping can still be done by passing `DYN_REC_STOP` within
`process_record_user()`:

    bool process_record_user(uint16_t keycode, keyrecord_t *record) {
      uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
      if (!process_record_dynamic_macro(macro_kc, record)) {
        return false;
      }
      return true;
    }
2017-04-30 19:21:44 +10:00
Priyadi Iman Nurcahyo ffa4c72a89 Faux clicky bug fixes 2017-04-19 01:40:16 +07:00
Fred Sundvik 5c251b5575 Fix buffer overrun in lcd_keyframes
This would often cause the keyboard to crash when restarting the
computer.
2017-04-13 21:40:06 +03:00
Fred Sundvik 109ae2f1e8 Fix warnings in process_printer 2017-04-13 16:00:29 +03:00
Fred Sundvik f7b59427fa Fix name collision between ChibiOS and keymap_german 2017-04-13 16:00:29 +03:00
Fred Sundvik 6535804776 Disable array bounds warning in keymap_function_id_to_action 2017-04-13 16:00:29 +03:00
Fred Sundvik a4ef86034c Fix undefined eeprom warnings in unicode processing 2017-04-13 16:00:29 +03:00
Fred Sundvik c5d2b7ff16 Rename led test to led_keyframes and move animation to Ergodox 2017-04-09 18:34:59 +03:00
Fred Sundvik c6ca996f4e Combine startup and resume animations 2017-04-09 18:34:59 +03:00
Fred Sundvik 3074269c4a Move the logo drawing keyframe to lcd_keyframes 2017-04-09 18:34:59 +03:00
Fred Sundvik df67169d42 Move LCD logo to visualizer resources 2017-04-09 18:34:59 +03:00
Fred Sundvik 3eb8785e87 Add automatic flush for the LCD screen 2017-04-09 18:34:59 +03:00
Fred Sundvik b7041d06ae Move common visualizer keyframes into visualizer_keyframes.h 2017-04-09 18:34:59 +03:00
Fred Sundvik 64d63ab422 Remove the need to manually enable the visualizer 2017-04-09 18:34:59 +03:00
Fred Sundvik 1e7585e767 Separated backlight and LCD disable/enable
Also moved them to correct places
2017-04-09 18:34:59 +03:00
Fred Sundvik 5ba228b684 Move LCD backlight keyframes to its own file 2017-04-09 18:34:59 +03:00
Fred Sundvik 5815c5d317 Move LCD keyframes to its own file 2017-04-09 18:34:59 +03:00
Fred Sundvik 05530b193f Delete visualizer example integration
It's much better to refer to the actual code than to to try to
keep some examples up to date.
2017-04-09 18:34:59 +03:00
Fred Sundvik 05bc4880dd Tweaks to the Ergodox default visualizer
No animation, display led statuses and layer name on the same screen
Don't display layer bitmap
Fully saturated colors for caps, less saturated ones normally
2017-04-09 18:34:59 +03:00
Fred Sundvik 5fbaf31dc2 Brightness for Ergodox Infinity emulated LEDs 2017-04-09 18:34:59 +03:00
Fred Sundvik 39385144e7 Emulate Ergodox EZ leds by LCD colors 2017-04-09 18:34:59 +03:00
Fred Sundvik 9a4ce28683 Display layer bitmap and keyboard led states on the LCD 2017-04-09 18:34:59 +03:00
Fred Sundvik f113f95440 Move CIE1931 and breathing tables to its own file 2017-04-09 18:34:59 +03:00
Fred Sundvik 503565d174 Only re-send matrix every 5ms
The previous 1ms value was too often, and wouldn't always leave
time for the visualizer
2017-04-09 18:34:59 +03:00
Fred Sundvik f5c8941652 UGFX is compiled once per keyboard instead of keymap 2017-04-09 18:34:59 +03:00
Fred Sundvik aee9b10e92 Add a keyboard specific visualizer 2017-04-09 18:34:59 +03:00
Jack Humbert de52bd5d89 quick fix for space cadet shift 2017-04-03 12:42:58 -04:00
nielsenz d1e66e2e07 Worked around some new Makefile issues. 2017-03-30 20:10:34 -07:00
nielsenz 7e54332890 Pulling and pushing troubles 2017-03-30 19:15:43 -07:00
Osamu Aoki 3a1ee48cda Typo fix 2017-03-30 19:08:15 -07:00
Zay950 2366ebfbbd Merge branch 'master' into to_push 2017-03-29 12:00:38 -07:00
skullydazed 23839b8c6d Clarify the quantum license (#1042)
* Clarify the license for files we have signoff on

* Update against the currently signed off files

* Remove unused and not clearly licensed headers

* Replace an #endif I accidentally removed while resolving merge conflicts
2017-03-28 15:20:36 -07:00
Jack Humbert 7e37daa2ce Merge pull request #1112 from newsboytko/newsboytko/midi-keycodes
Flesh out MIDI support
2017-03-28 09:26:54 -04:00
Jack Humbert fa09189195 Merge pull request #1162 from Khord/master
My customized keymap + some tunes for the song list
2017-03-28 09:17:16 -04:00
Travis La Marr ddc036b69e Refactor Bluetooth Handling
Refactored Bluetooth support to make adding new Bluetooth modules
easier in the future.

* Remove `OUT_BLE` key from QMK's keymap. `OUT_BT` is all we need now
as there's no difference anymore.
* Made BLUETOOTH_ENABLE build option legacy as not to break existing
keymaps (Falls back to existing EZ Key support if on)
* Removed `ADAFRUIT_BLE_ENABLE` build option
* Created new build option `BLUETOOTH` with module option (Currently
`AdafruitEZKey` & `AdafruitBLE`)
* Moved all LUFA bluetooth key/mouse events under `BLUETOOTH_ENABLE`
ifdef with selected modules output.
2017-03-24 12:53:55 -04:00
Dylan Khor 683754bce8 added custom tones 2017-03-16 04:11:47 +00:00
Jack Humbert b794719952 Merge pull request #1090 from qmk/backlight_softpwm
Adds soft PWM backlight for non-timed ports
2017-03-15 11:17:07 -04:00
Lukas Stiebig 2aa079d93e Left control and alt
Use the left control and the left alt key.
2017-03-08 20:41:35 +01:00
Gabriel Young 0734f56940 add debug messages to audio 2017-03-02 12:28:12 -08:00
Gabriel Young d11962aeb2 fix 'stop_all_notes' naming to be more consistent 2017-03-02 11:40:06 -08:00
Gabriel Young 976c856966 Update size estimates in the Makefile
MIDI_ENABLE = no

   text    data     bss     dec     hex filename
      0   17080       0   17080    42b8 satan_midi.hex

MIDI_ENABLE = yes
MIDI_BASIC undefined
MIDI_ADVANCED undefined

   text    data     bss     dec     hex filename
      0   19494       0   19494    4c26 satan_midi.hex

      +2414 bytes (vs. MIDI_ENABLE = no)

MIDI_ENABLE = yes
      0   20846       0   20846    516e satan_midi.hex

      +1352 bytes (vs. MIDI_ENABLE = yes, MIDI_BASIC off, MIDI_ADVANCED
off)

MIDI_ENABLE = yes
#define MIDI_BASIC
#define MIDI_ADVANCED

   text    data     bss     dec     hex filename
      0   21292       0   21292    532c satan_midi.hex

      +1798 bytes (vs. MIDI_ENABLE = yes, MIDI_BASIC off, MIDI_ADVANCED
off)

Conclusion:
    +2400 to 4200, depending on config
2017-02-25 21:38:35 -08:00
Gabriel Young a64ae10662 Update existing keymaps
Update existing keymaps to enable MIDI_BASIC functionality.  Also added
an option MIDI_ENABLE_STRICT to be strict about keycode use (which also
reduces memory footprint at runtime)
2017-02-25 20:41:13 -08:00
Gabriel Young ea14ed122f Add basic layer to sample MIDI keycap 2017-02-25 19:37:33 -08:00
Gabriel Young 1000799d1e Factor basic note processing into respective processors 2017-02-25 19:25:33 -08:00
Gabriel Young 525be99ee9 Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCED
MIDI_ENABLE = no

   text	   data	    bss	    dec	    hex	filename
      0	  17080	      0	  17080	   42b8	satan_midi.hex

MIDI_ENABLE = yes
MIDI_BASIC undefined
MIDI_ADVANCED undefined

   text	   data	    bss	    dec	    hex	filename
      0	  19494	      0	  19494	   4c26	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_BASIC
MIDI_ADVANCED undefined

   text	   data	    bss	    dec	    hex	filename
      0	  19788	      0	  19788	   4d4c	satan_midi.hex

MIDI_ENABLE = yes
MIDI_BASIC undefined
#define MIDI_ADVANCED

   text	   data	    bss	    dec	    hex	filename
      0	  20846	      0	  20846	   516e	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_BASIC
#define MIDI_ADVANCED

   text	   data	    bss	    dec	    hex	filename
      0	  21140	      0	  21140	   5294	satan_midi.hex
2017-02-25 15:02:43 -08:00
Jack Humbert 352c0e7baa Merge pull request #1117 from priyadi/fix_unicode_map
Fix UNICODE_MAP input_mode problem
2017-02-23 10:20:47 -05:00
Priyadi Iman Nurcahyo 296b927e77 Fix UNICODE_MAP input_mode problem 2017-02-23 18:10:00 +07:00
Gabriel Young ed15973a3f Document size added by MIDI_ENABLE (~3800 bytes according to my experiments)
satan/keymaps/midi

MIDI_ENABLE = no

   text	   data	    bss	    dec	    hex	filename
      0	  17080	      0	  17080	   42b8	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_TONE_KEYCODE_OCTAVES 3 // default

   text	   data	    bss	    dec	    hex	filename
      0	  20846	      0	  20846	   516e	satan_midi.hex

MIDI_ENABLE = yes
#define MIDI_TONE_KEYCODE_OCTAVES 2 // fewer octaves

   text	   data	    bss	    dec	    hex	filename
      0	  20846	      0	  20846	   516e	satan_midi.hex
2017-02-19 17:45:08 -08:00
Gabriel Young d1fe24ad9f Allow customization of the number of tone keycodes and add example keymap 2017-02-19 17:18:05 -08:00
Gabriel Young ae0752dff5 expose midi_config 2017-02-19 16:43:45 -08:00
Gabriel Young 5e6097f015 add keycodes for transpose range 2017-02-19 16:43:43 -08:00
Gabriel Young dd8f8e6bae implement modulation 2017-02-19 16:43:02 -08:00
Gabriel Young 7c5e510fe2 add support for pedal cc messages 2017-02-19 16:42:45 -08:00
Gabriel Young f67aefc522 remove disabled code 2017-02-19 16:42:04 -08:00
Gabriel Young a4163466cb Alternative version with a tone array
tone array:
   text	   data	    bss	    dec	    hex	filename
      0	  25698	      0	  25698	   6462	satan_newsboytko.hex
0x6480 bytes written into 0x7000 bytes memory (89.73%).

note on array:
   text	   data	    bss	    dec	    hex	filename
      0	  25802	      0	  25802	   64ca	satan_newsboytko.hex
0x6500 bytes written into 0x7000 bytes memory (90.18%).
2017-02-19 16:42:04 -08:00
Gabriel Young f2b2e05f12 clean up commented code 2017-02-19 16:42:04 -08:00
Gabriel Young e405ab4bc6 initial implementation of polyphony using variable length array of notes on 2017-02-19 16:41:59 -08:00
Gabriel Young 5ae1411fc3 Expand MIDI key codes 2017-02-19 16:41:10 -08:00
Jack Humbert db1e9a469a helps to save before committing 2017-02-19 00:11:55 -05:00
Jack Humbert c2239e6b96 merging 2017-02-19 00:04:14 -05:00
Jack Humbert 49e72632d2 remove more warnings 2017-02-16 13:13:38 -05:00
Jack Humbert 1ac5dc9e52 fix travis and reduce warnings 2017-02-16 11:37:46 -05:00
Jack Humbert 58823b4e03 fix weirdness with arm and mods 2017-02-15 23:20:35 -05:00
Jack Humbert f89499e255 unique variable name 2017-02-15 18:14:07 -05:00
Jack Humbert c2a9acffd7 publicise variables 2017-02-15 17:39:51 -05:00
Jack Humbert 1bb574fe48 add unicode common file, get names right 2017-02-15 17:09:47 -05:00
Jack Humbert 09add35e7f add unicode common file, get names right 2017-02-15 17:09:35 -05:00
Jack Humbert cbabb4d417 split up unicode systems into different files 2017-02-15 16:36:31 -05:00
Jack Humbert 6788cbd762 give error if both unicode/map are enabled 2017-02-15 12:39:58 -05:00
Jack Humbert 69ea10f9a9 adds layer tap toggle 2017-02-15 11:25:33 -05:00
Priyadi Iman Nurcahyo 8c93c5d9ab Add keycodes to turn on, turn off and toggle faux clicky 2017-02-13 14:55:35 +07:00
Priyadi Iman Nurcahyo c68e596f32 Implement faux-clicky feature 2017-02-13 08:03:07 +07:00
Jack Humbert 8d0fdf1008 adds soft pwm for non-timed ports 2017-02-12 11:29:42 -05:00
Jack Humbert 3f0b491fc0 Merge pull request #1082 from priyadi/right-side-dual-function
Implement tap mod dual role for right side mods.
2017-02-11 11:50:32 -05:00
Priyadi Iman Nurcahyo b92515f139 Make room for 'loose keycodes' by halving UNICODE_MAP range 2017-02-11 00:36:08 +07:00
Priyadi Iman Nurcahyo 97816df7e7 Implement tap mod dual role for right side mods. 2017-02-10 06:06:59 +07:00
Jack Humbert b4e30d3929 added functionality for just a port 2017-02-07 15:23:56 -05:00
Jack Humbert 13c394fba4 Merge pull request #1071 from dungdung/rgb_tweaks
RGB tweaks
2017-02-07 13:32:31 -05:00
Jack Humbert c0c69a1a7c Merge pull request #1068 from adzenith/master
Minor cleanup
2017-02-07 13:27:41 -05:00
Jack Humbert 3c7fa0acc1 Merge pull request #1046 from LukeSilva/master
Add Tapping Macros to QMK
2017-02-07 13:18:47 -05:00
Jack Humbert 0c2b6951a6 Merge pull request #1057 from priyadi/selectable_output
Implement runtime selectable output (USB or BT)
2017-02-07 13:12:29 -05:00
Jack Humbert 198a2929ed Merge pull request #1059 from qmk/hf/algr_t
Introduces ALGR_T for dual-function AltGr
2017-02-06 19:33:33 -05:00
Jack Humbert 4348fb54d6 Merge pull request #960 from ofples/feature/combos
Keyboard combination triggers
2017-02-06 19:31:45 -05:00
Jack Humbert 0a3c5c06fe Merge pull request #981 from jonasoberschweiber/osx-surrogate-pairs
Add support for Unicode supplementary planes on OS X
2017-02-06 18:00:47 -05:00
dungdung a7882b1ffc Added non-animated gradient mode 2017-02-06 14:18:20 -08:00
dungdung 5a1b68d562 Added mode reverse step function 2017-02-06 14:18:20 -08:00
dungdung 0e548f8b5d Christmas mode now works with even RGBED_NUM
Added Christmas mode steps to reduce red and green colors blending into each other
Added Christmas mode interval
Increased green hue to 120
2017-02-06 14:18:20 -08:00
Jack Humbert 246d2583ff Merge pull request #1030 from SjB/refactor_register_code16
speeding up (un)register_code16
2017-02-06 17:06:53 -05:00
Nikolaus Wittenstein 8cbf61c919 Add new DIODE_DIRECTION option
The previous two options were COL2ROW, ROW2COL; this adds CUSTOM_MATRIX
to disable the built-in matrix scanning code.

Most notably, this obviates the need to set MATRIX_ROW_PINS or
MATRIX_COL_PINS.
2017-02-05 19:47:33 -05:00
Nikolaus Wittenstein d961c80df2 Remove unused matrix_raw variable in matrix.c 2017-02-05 19:41:08 -05:00
Nikolaus Wittenstein e667e9f6da Fix compile warnings in light_ws2812.c
Fixes the warning "function declaration isn't a prototype" by explicitly
making the parameter list void.
2017-02-03 21:00:13 -05:00
Priyadi Iman Nurcahyo e7c4f621f1 Restrict outputselect to LUFA only for now 2017-02-01 22:30:06 +07:00
Priyadi Iman Nurcahyo 2bef8b5b88 Limit outputselect to AVR only for now 2017-02-01 19:37:52 +07:00
Priyadi Iman Nurcahyo c17070eca5 Add layer switcher keycodes: OUT_AUTO, OUT_USB, OUT_BT, OUT_BLE 2017-02-01 15:35:21 +07:00
Erez Zukerman f46c2b3ca0 Introduces ALGR_T for dual-function AltGr 2017-01-31 21:31:05 -05:00
SjB 5a860b71a1 race condition between oneshot_mods and tap_dance
since the keycode for a tap dance process gets process only after the
TAPPING_TERM timeout, you really only have ONESHOT_TIMEOUT -
TAPPING_TERM time to tap or double tap on the key. This fix save the
oneshot_mods into the action.state structure and applies the mods with
the keycode when it's registered. It also unregisters the mod when the
the tap dance process gets reset.
2017-01-29 13:26:31 -05:00
SjB f644b9a07a registering a weak_mods when using register_code16
Scenario:
Locking the KC_LSHIFT, and then using a tap dance key that registers a
S(KC_9) will unregister the KC_LSHIFT.

The tap dance or any keycode that is registered should not have the
side effect of cancelling a locked moditifier. We should be using a
similar logic as the TMK codes in tmk_core/comman/action.c:158.
2017-01-29 12:29:43 -05:00
Luke Silva a3357d078e Add support for various tapping macros
A macro key can now be easily set to act as a modifier on hold, and
press a shifted key when tapped. Or to switch layers when held, and
again press a shifted key when tapped.

Various other helper defines have been created which send macros when
the key is pressed, released and tapped, cleaning up the
action_get_macro function inside keymap definitions.

The layer switching macros require a GCC extension - 'compound
statements enclosed within parentheses'. The use of this extension is
already present within the macro subsystem of this project, so its use
in this commit should not cause any additional issues.

MACRO_NONE had to be cast to a (macro_t*) to suppress compiler
warnings within some tapping macros.
2017-01-28 18:42:35 +11:00
Potiguar Faga 2fe18a50ec Clarify license on abnt2 keymap (#1038) 2017-01-27 18:22:44 -02:00
Luke Silva cfc4149712 Add ability to use tap macros without using functions 2017-01-27 10:28:42 +11:00
Jack Humbert 71137deba2 Merge pull request #1014 from SjB/lcd_mods_status
added mods status bit to visualizer.
2017-01-24 00:34:55 -05:00
SjB 2b3859937b speeding up (un)register_code16
In register_code16 and unregister_code16 we call register_code and
unregister_code twice, once for the mods and once for the keycode.
The (un)register_code have many check to see that keycode we have sent
however because we know that we are sending it a mods key, why not
just skip all of it and call (un)register_mods instead. This will skip
alot of checks and should speedup the loop a little.
2017-01-23 23:16:57 -05:00
Jack Humbert 841d7e6a1d turn off rgb_midi in ez 2017-01-23 13:55:24 -05:00
SjB 9eb8d05246 added mods status bit to visualizer.
Since we can't read the real_mods and oneshot_mods static variable
directly within the update_user_visualizer_state
function (Threading and serial link). We are know storing the mods
states in the visualizer_keyboard_status_t structure. We can now
display the status of the modifier keys on the LCD display.
2017-01-17 21:57:32 -05:00
Jack Humbert 7288e5ab9c Update quantum_keycodes.h 2017-01-13 14:04:51 -05:00
Erez Zukerman 3717cf5864 A shot at aliasing 2017-01-12 07:38:07 -05:00
Erez Zukerman 8459bb97c1 Adds SCMD and SCMD_T 2017-01-11 21:57:41 -05:00
Priyadi Iman Nurcahyo 30b80a23f3 Unregister all mods before inputting Unicode, and reregister afterwards 2017-01-09 02:59:10 +07:00
Jonas Oberschweiber 0aa413af44 Add support for supplementary planes for OS X 2016-12-31 19:37:56 +01:00
Jack Humbert 460bf008f5 Merge pull request #973 from Wilba6582/keycode_refactor
Keycode refactor
2016-12-30 11:07:17 -05:00
Jack Humbert 2eced29675 Merge pull request #974 from fredizzimo/remove_malloc_from_sysex
API Sysex fixes
2016-12-30 11:05:50 -05:00
Jack Humbert 8a76075ca7 Merge pull request #972 from mechkeys/rgb_compat
Add extern for 'led' global, set 'weak' attribute for rgblight_set()
2016-12-29 21:42:16 -05:00
Scott Wilson b8e74c378b Removed errant + 2016-12-29 09:32:02 -05:00
Fred Sundvik dd685eceb2 API Sysex fixes
Fix memory leaks by using stack instead of malloc
Reduce memory usage by having less temporary bufffers
Remove warnings by adding includes
Decrease code size by 608 bytes (mostly due to not linking malloc)
More robust handling of buffer overflows
2016-12-29 12:13:30 +02:00
Wilba6582 d8a608f3ff Keycode refactor 2016-12-29 18:28:48 +11:00
Scott Wilson 748181dccd Add extern for 'led' global, set 'weak' attribute for rgblight_set() 2016-12-28 16:29:02 -05:00
Jack Humbert 223cffd92f Merge pull request #968 from ofples/bugfix/right-modifiers
Fixed bug in do_code16
2016-12-28 13:07:16 -05:00
Jack Humbert 273faa4d9c add different scales for music mode 2016-12-23 20:59:00 -05:00
Ofer Plesser 01038ab54c Added check that makes sure a code is a right modifier before considering it as one 2016-12-23 21:51:11 +02:00
Jack Humbert cae269b08b Christmas RGB light mode 2016-12-23 10:29:19 -05:00
Jack Humbert 2fa36e38cf initial subatomic keymap (text) 2016-12-21 00:22:32 -05:00
Jack Humbert 438a5d685b limit voices by default, add some drums 2016-12-20 19:38:22 -05:00
Jack Humbert 06c64bbff3 rgb clean-up, api clean-up 2016-12-19 11:18:18 -05:00
Ofer Plesser 40abf8bc9c Moved combo processing lower down in process logic 2016-12-16 22:00:29 +02:00
Ofer Plesser 6a462c818c Merge branch 'master' into feature/combos 2016-12-16 21:52:51 +02:00
Ofer Plesser 6e7cfa83b9 Refactored as well as added support for action keys in combos 2016-12-16 21:50:28 +02:00
Jack Humbert ae95834f5a specialise music variables 2016-12-12 16:06:41 -05:00
Jack Humbert 0edfe55bfe re-enable audio and extrakeys 2016-12-12 15:39:07 -05:00
Ofer Plesser b6bf4e0dce Added support for timing out combos if a key as been pressed for longer than COMBO_TERM 2016-12-10 16:11:59 +02:00
Ofer Plesser eac8fa7999 Implemented basic key combination feature 2016-12-10 00:49:11 +02:00
Jack Humbert 8f0a8cb7a6 Merge pull request #914 from wez/ble_2
Add arduino-alike GPIO pin control helpers
2016-12-02 13:12:56 -05:00
Erez Zukerman 555e41d9e5 Annotates nordic 2016-12-02 13:03:51 -05:00
Erez Zukerman 4094544d41 Test layout for ErgoDox EZ manufacturing robot 2016-11-29 09:23:16 -05:00
Jack Humbert 6e0f994950 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-28 23:51:07 -05:00
Wez Furlong 8485bb34d2 Add arduino-alike GPIO pin control helpers
Unlike the arduino functions, these don't take abstract pin numbers,
they take pin labels like `B0`.  Also, rather than taking very
generic parameter names, these take slightly more descriptive
enum values.

These improve the clarity of code that would otherwise be inscrutable
bit manipulation in tersely named port register names.
2016-11-27 22:58:34 -08:00
Jack Humbert 7edac212c8 separated into api files/folder 2016-11-26 15:38:44 -05:00
Priyadi Iman Nurcahyo 6fee7e178f fix strict-prototypes warning 2016-11-26 23:53:15 +07:00
Priyadi Iman Nurcahyo f2214ce1cb remove define checks. didn't work because of include ordering. 2016-11-26 15:57:48 +07:00
Priyadi Iman Nurcahyo d9d67e7b76 add macro error when a required define is missing 2016-11-26 15:26:02 +07:00
Priyadi Iman Nurcahyo 17acde94ee Fix unterminated ifndef 2016-11-26 14:02:38 +07:00
Priyadi Iman Nurcahyo de1df63953 PS2 pins configuration belongs to each keyboards config.h
Each keyboard might have different pin configuration. And keeping this
here will trigger redefinition warning on keyboards that have PS2
defines.
2016-11-26 13:55:41 +07:00
ofples 0c9d66eb59 Removed comment 2016-11-25 09:20:41 +02:00
ofples 03d6e165bb Added missing endif for ifdef __AVR_ATmega32U4__ and removed the unnecessary one at the end of the file 2016-11-25 09:17:40 +02:00
Jack Humbert cefa8468fb travis pls 2016-11-23 20:16:38 -05:00
Jack Humbert 2e23689b8e converted to new format 2016-11-23 18:52:02 -05:00
h-youhei 2febf9b9f7 Add japanese keymap 2016-11-22 20:40:12 +09:00
Jack Humbert 450a8fb5b6 Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-21 20:17:45 -05:00
Jack Humbert 6390033e86 cleaning up midid 2016-11-21 20:14:16 -05:00
Jack Humbert 664c0a036b cleaning up new code 2016-11-21 19:50:55 -05:00
Jack Humbert 27ebacb15d merging lets_split 2016-11-21 19:18:47 -05:00
Gergely Nagy 74a1f00713 Fix the Space Cadet timeout code
Define a default TAPPING_TERM in quantum.c, for keyboards that do not
have it set. Fixes the CI failure.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-11-19 18:19:18 +01:00
Gergely Nagy ffa5b1e7ea Add a timeout to space-cadet shift.
When one holds a Space Cadet shift, to have it act as a shift, so that
mouse behaviour changes, when released without any other key pressed, it
still registers a paren. To remedy this, add a hold timeout: if the key
is held longer than TAPPING_TERM, it will not register the parens.

Fixes #884, with the side-effect of not being able to have parens
trigger the OS-side repeat anymore.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-11-19 11:32:09 +01:00
Jack Humbert a06115df19 don't always detect a matrix change (fixes debounce) 2016-11-18 23:20:07 -05:00
Erez Zukerman 285c5a91f2 Groundwork for dedicated color keycodes 2016-11-17 20:56:36 -05:00
Jack Humbert 3774a7fcda rgb light through midi 2016-11-17 17:42:14 -05:00
Jack Humbert 7541122cad Merge pull request #860 from IBNobody/master
Improved Quantum Matrix
2016-11-16 14:41:10 -05:00
Jack Humbert 530dd3377e animations, midi, etc 2016-11-15 13:18:10 -05:00
Jack Humbert e9f7487518 mostly working 2016-11-13 23:02:38 -05:00
Jack Humbert 33e62c080c merging 2016-11-12 20:54:37 -05:00
Jack Humbert 631b8999a7 Merge pull request #868 from potz/master
Add brazilian ABNT2 keymap
2016-11-10 18:45:09 -05:00
Zach Nielsen 4c0aa02b2e Missed some stuff. Added a song (stole it from reddit). 2016-11-10 12:59:55 -08:00
Zach Nielsen 59bef40aab Keep unicode's input_mode through a power cycle 2016-11-10 12:14:54 -08:00
IBNobody 1803dbc6d5 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-11-08 21:11:24 -06:00
Potiguar Faga 7aa31ad338 Add brazilian ABNT2 keymap 2016-11-08 13:32:04 -02:00
Fred Sundvik 0ba3e523a7 Add documentation for the variable tracing 2016-11-06 22:44:43 +02:00
Fred Sundvik a377017c95 Add possibility to control variable trace from make 2016-11-06 22:11:24 +02:00
Fred Sundvik f519b94be7 Add variable trace
For debugging changes to variables, either normally or as a result
of a memory corruption.
2016-11-06 21:58:34 +02:00
IBNobody f403028974 added fixed debounce code 2016-10-29 16:12:58 -05:00
IBNobody 32f88c0717 Made scanning more efficient 2016-10-29 10:39:03 -05:00
IBNobody 4c6960835c Refactoring Matrix scanning 2016-10-28 16:24:20 -05:00
IBNobody 508eddf8ba Fixing Debounce - WIP 2016-10-28 14:21:38 -05:00
IBNobody a0fdb6b81a Merge remote-tracking branch 'refs/remotes/jackhumbert/master' 2016-10-28 09:28:47 -05:00
Jack Humbert 8d60354d5a Merge pull request #844 from priyadi/unicode_wincompose_input
Unicode WinCompose input method
2016-10-26 00:48:44 -04:00
Jack Humbert 108d0e89a6 Merge pull request #842 from priyadi/unicode_map_length
UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitations
2016-10-26 00:48:00 -04:00
IBNobody 17170ba76d Fixed some large keyboard bugs
Fixed some bugs relating to keyboards with more than 16 columns. Also
added the ability to mask off keyboard matrix bits.
2016-10-23 23:00:43 -05:00
Priyadi Iman Nurcahyo 4a666c2010 Unicode WinCompose input method 2016-10-23 19:15:33 +07:00
Priyadi Iman Nurcahyo e7d5dc89f2 UNICODE_MAP: remove 5 char limit; ignore leading zeroes; handle OS limitations 2016-10-23 05:36:26 +07:00
Artyom Mironov 6e003b1e3f add programmer dvorak keymap 2016-10-19 23:45:55 +03:00
Jack Humbert a889b899e2 working with power limit 2016-10-16 16:03:56 -04:00
Jack Humbert 5f91fb4136 working with power limit 2016-10-16 16:03:33 -04:00
Jack Humbert 52d7f7d277 Merge pull request #815 from priyadi/unicode_map
Allow unicode up to 0xFFFFF using separate mapping table
2016-10-16 15:49:45 -04:00
Jack & Erez e27a754b70 [Jack & Erez] Simplifies and documents TO 2016-10-12 22:18:27 -04:00
Jack Humbert aa8aa6af75 Merge pull request #808 from npoirey/master
Altgr quick combination and updated readme
2016-10-10 00:22:12 -04:00
Jack Humbert 0f119e09a5 Merge pull request #810 from Vifon/dynamic_macros
Reduce the default dynamic macro buffer
2016-10-10 00:20:46 -04:00
Jack Humbert 03b6fcdaf0 Merge pull request #814 from fredizzimo/rgb_tuning
Improve the RGB led effects
2016-10-10 00:20:24 -04:00
Priyadi Iman Nurcahyo 5b2e455d3b Unicode map framework. Allow unicode up to 0xFFFFF using separate
mapping table
2016-10-10 00:56:09 +07:00
Fred Sundvik ffae9d84c5 CIE 1931 dim curve 2016-10-09 20:07:23 +03:00
Fred Sundvik 92a3a96849 Apply the dim curve to the RGB output
Just like it's supposed to be used. It now looks much better.
2016-10-09 20:04:33 +03:00
Fred Sundvik 9b0e21f87f Tunable RGB light intervals 2016-10-09 19:26:16 +03:00
Wojciech Siewierski 70f32842e5 Reduce the default dynamic macro buffer
There have been reports of it leaving not enough free memory preventing
the keyboard from working properly.
2016-10-09 12:52:39 +02:00
npoirey 1048a588c7 Add Altgr combination for non US layouts 2016-10-07 17:21:38 +02:00
Jack Humbert b8679bbe04 RGBW lights 2016-10-05 20:41:38 -04:00
coderkun a3f5a4cf58 Declare Unicode method hex_to_keycode() as “weak”
Declare Unicode method hex_to_keycode() as “weak” to be able to override it in keymaps.
2016-10-02 10:37:51 +02:00
Jack Humbert 7c76d36454 Merge pull request #794 from AGausmann/midi-patch
Missing ifdef statement
2016-09-29 23:32:23 -04:00
Adam Gausmann 8d99140d1b Missing ifdef statement 2016-09-29 14:46:10 -05:00
Pavlos Vinieratos cda4b534fa add user_data field 2016-09-21 11:29:43 +02:00
Pavlos Vinieratos 0edc82f030 formatting 2016-09-21 11:29:34 +02:00
Pavlos Vinieratos e1f131db8e restore each_tap callback 2016-09-21 10:23:51 +02:00
Jonathan A. Kollasch f0021c9cb9 Add more shifted Dvorak key code definitions 2016-09-19 14:25:44 -05:00
Didier Loiseau 1aeb59335f Fixed compilation issues after the merge 2016-09-11 02:19:55 +02:00
Didier Loiseau b9014c7575 Merge remote-tracking branch 'remotes/jackhumbert/master' into bépo 2016-09-11 01:26:47 +02:00
IBNobody 558f3ec1eb Use keyboard config for nkro (#7)
* removing nkro references - wip

* changed NKRO to be defined by keymap_config
2016-09-06 23:19:01 -05:00
IBNobody e571d4656c Set keyboard_nkro (used by TMK) w/ MAGIC_HOST_NKRO
If NKRO is enabled, also set keyboard_nkro with MAGIC_HOST_NKRO and
MAGIC_UNHOST_NKRO.
2016-09-06 18:02:43 -05:00
Gergely Nagy acda2b793f tap-dance: Do not start a sequence on keyup
There was an odd case, which confused the hell out of tap-dance: suppose
you had a number of tap-dance keys, on a layer, and as part of the
tap-dance, you turned that layer off - or had it on one-shot to begin
with. In this case, the keydown event would trigger the tap-dance key,
but the keyup would not. This had two funky consequences:

- tap-dance did not correctly register that the dance has ended.
- pressing any other tap-dance key would interrupt the previous
  tap-dance, and potentially input unwanted characters.

To fix this, we simply do not start a tap-dance sequence on keyup, only
when it is pressed. This way the previous sequence has enough time to
time-out and finish properly, and we don't get confused.

This fixes algernon/ergodox-layout#107.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-09-01 08:32:47 +02:00
Gergely Nagy c9ea236fc3 process_unicode: Add get_unicode_input_mode()
There may be cases where one would like to know the current Unicode
input mode, without having to keep track of it themselves. Add a
function that does just this.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-31 08:21:52 +02:00
Jack Humbert a1b289c99a Merge pull request #694 from fredizzimo/keyboard_template
Fix the keyboard template with new make syntax
2016-08-27 17:07:49 -04:00
Fred Sundvik 1f5838a286 Fix the keyboard template with new make syntax
Also add proper link to the parent
2016-08-27 23:31:15 +03:00
Fred Sundvik ffb0a126f5 Convert tirple_buffered_object_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik bcdf9ab76b Convert transport_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik b3eba797af Convert frame_validator_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik cdd0913bcc Convert frame_router_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik 0a11460175 Build actual tests, convert byte_stuffer_tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 6d7cd639a5 Basic framework for parsing test targets 2016-08-27 21:57:49 +03:00
Fred Sundvik 523dff3005 Merge branch 'master' into makefile_overhaul 2016-08-25 23:26:02 +03:00
IBNobody 8423601ea1 Merge remote-tracking branch 'refs/remotes/jackhumbert/master' into vision_division_dev 2016-08-25 00:16:15 -05:00
IBNobody 936a26d04f Added pin support for A0-A7
Vision Division - It works!
2016-08-25 00:15:41 -05:00
Gergely Nagy a058ae40e2 quantum: Move qk_ucis_state to process_unicode.c
In order to not declare the same variable in multiple objects (which
happens when building UCIS-enabled keymap for both the ErgoDox EZ and
the ErgoDox Infinity), move the declaration to the .c file, and keep
only an extern reference in the header.

Many thanks to @fredizzimo for spotting the error in Travis, and
suggesting the fix.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-24 15:39:23 +02:00
IBNobody 5d685efa49 Merge remote-tracking branch 'refs/remotes/origin/master' into vision_division_dev 2016-08-23 20:53:21 -05:00
Fred Sundvik 8f2af3c6bc Merge branch 'master' into makefile_overhaul 2016-08-23 09:38:05 +03:00
IBNobody 705c775a4a Nightly
Only major change to qmk was the addition of A0-A7 pins for the AT90USB
2016-08-21 22:05:55 -05:00
coderkun 81594c7883 Drop method to set Unicode input key and declare start and finish methods as “weak” instead 2016-08-21 21:02:18 +02:00
coderkun dffdeb50b7 Add method to set Unicode input key for ISO 14755
https://github.com/jackhumbert/qmk_firmware/issues/672
2016-08-21 20:27:23 +02:00
Fred Sundvik ab4d7adbb9 Fix the template for the Makefile/rules.mk split 2016-08-20 03:56:45 +03:00
Gergely Nagy 0d28787c5c Add a register/unregister_code16 pair of functions
These functions register not only the 8bit keycode, but the modifiers
too. It doesn't handle the full range of the upper 8bits, just the mods,
but that's a good start.

Changed the tap-dance pair functions to use these, so one can do:

  `ACTION_TAP_DANCE_DOUBLE (KC_COLN, KC_SCLN)`

...and that will do the right thing.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-18 11:29:53 +02:00
Jack Humbert 8144ce8852 Merge pull request #648 from Vifon/dynamic_macros
Implement the dynamic macros that are recorded in runtime
2016-08-17 21:17:30 -04:00
Jack Humbert 39a95897bc Merge pull request #647 from Vifon/process_record_nocache-fix
Fix the process_record_nocache function
2016-08-17 21:16:49 -04:00
Wojciech Siewierski 39e8e61258 Implement the dynamic macros that are recorded in runtime 2016-08-18 01:37:13 +02:00
Wojciech Siewierski 644c8c7927 Fix the process_record_nocache function
This function relies on checking the disable_action_cache static
variable before accessing the layer cache.
2016-08-18 01:34:05 +02:00
Gergely Nagy 29f64d7a93 tap-dance: Major rework, to make it more reliable
This reworks how the tap-dance feature works: instead of one global
state, we have a state for each tap-dance key, so we can cancel them
when another tap-dance key is in flight. This fixes #527.

Since we have a state for each key, we can avoid situation where a keyup
would mess with our global state. This fixes #563.

And while here, we also make sure to fire events only once, and this
fixes #574.

There is one breaking change, though: tap-dance debugging support was
removed, because dumping the whole state would increase the firmware
size too much. Any keymap that made use of this, will have to be
updated (but there's no such keymap in the repo).

Also, there's a nice trick used in this rework: we need to iterate
through tap_dance_actions in a few places, to check for timeouts, and so
on. For this, we'd need to know the size of the array. We can't discover
that at compile-time, because tap-dance gets compiled separately. We'd
like to avoid having to terminate the list with a sentinel value,
because that would require updates to all keymaps that use the feature.
So, we keep track of the highest tap-dance code seen so far, and iterate
until that index.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-17 15:05:58 +02:00
Gergely Nagy d78058cc75 tap-dance: Include action_tapping.h for TAPPING_TERM
Include `action_tapping.h`, so the keymap does not have to define a
`TAPPING_TERM` for us, and we can use the default.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-17 10:28:08 +02:00
Gergely Nagy e8845f0daf process_unicode: Introduce a slight delay
When entering unicode codes, use some delay, so the OS has time to
process the information. This is not needed on all systems, but some
seem to require it.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 43d08629cf process_unicode: Replace register_hex32
It turns out that register_hex32 did not work reliably, and some systems
only allow 7 chars after the unicode magic sequence, while others allow
8. To remedy the situation, store the codes as strings, and type those
in instead of doing bit shifting magic.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy a312cbf712 process_unicode: Use uint32_t for UCIS purposes
Use a single uint32_t to store the unicode of a symbol, instead of an
array of uint16_ts.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 234dd276cf process_unicode: Make the startup overridable
Extract out the part of `qk_ucis_start` that inputs the placeholder
symbol, and make it weak, so it can be overridden.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 857aa5bef6 process_unicode: Call process_ucis() automatically
If UCIS is enabled, call process_ucis() automatically from
process_record_quantum().

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 0b6861827f process_unicode: Handle too long UCIS symbol names
If the symbol name being entered is longer than the max, stop recording
it, and stop processing keycodes apart from the ones that can delete,
finish or cancel the sequence.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy fa06a16360 process_unicode: Add a way to enter unicode symbols by name
The purpose of this change is to allow keymaps to specify a dictionary
of unicode symbol name to code mappings, and let the person at the
keyboard enter unicode symbols by name.

This is done by having a way to trigger unicode symbol input mode, when
all keys are cached until Esc, Enter or Space are pressed. Once that
happens, we try to look up the symbol from our lookup table. If found,
we erase back, and type the unicode magic in to get that symbol. If not
found, we still erase back, start unicode input mode, and replay what
the user typed in.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 63e5782d2c process_unicode: Small refactor & linux fix
This moves the unicode input start / end sequences into their own
functions, so keymaps and other functionality can build on it too.

At the same time, it changes how the Linux variant works, to match
reality: CTRL+SHIFT must be unregistered too, and we close the thing
with a Space instead.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02:00
Gergely Nagy 8bdf745909 process_unicode: Fix set_unicode_input_mode()
In the header, this was defined as `set_unicode_input_mode`, but the
implementation had `set_unicode_mode` for a name. Changed the
implementation to match the header.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-13 10:37:01 +02:00
shela e692ebf86a fix typo 2016-08-12 20:38:26 +09:00
kuel 2a0121a786 Removed unnecessary comment 2016-08-07 11:07:38 -05:00
kuel c5ee24a6c3 Add keymap_russian.h, a software implementation of Russian
rename keymap_cyrillic.h to keymap_unicode_cyrillic.h
changed CY_RUBLE and CY_NUMERO to CY_RUBL and CY_NMRO in
 keymap_unicode_cyrillic.h
2016-08-07 11:01:12 -05:00
Jack Humbert 213cb2c243 Merge pull request #605 from kuel/master
Add keymap_cyrillic.h, lots of cyrillic characters
2016-08-03 00:11:02 -04:00
Jack Humbert e62c588921 Merge pull request #561 from 0xdec/patch-1
Clean up formatting & tiny refactor in rgblight.c
2016-08-03 00:08:02 -04:00
kuel c70b276b1b Add keymap_cyrillic.h, lots of cyrillic characters 2016-08-02 14:09:01 -05:00