Commit graph

1216 commits

Author SHA1 Message Date
Rodolphe Belouin
38527f9a3b
Add step sequencer feature (#9703)
* sequencer: create togglable feature

* sequencer: add support for steps

* sequencer: add support for tempo and resolutions

* sequencer: schedule a message print at the right frequency

* sequencer: send a hardcoded note

* sequencer: add support for 8 tracks

* sequencer: play several notes simultaneously

* sequencer: only play the active tracks for a given step

* sequencer: change the default behavior of the track toggler

* sequencer: make number of tracks and track notes customizable

* sequencer: move the keycodes down

Not adding them at the end of the list apparently risks breaking
compatibility with VIA.

Source: https://github.com/qmk/qmk_firmware/pull/9703#discussion_r459202733

* sequencer: add unit tests

* sequencer: add unit test for matrix_scan_sequencer

* sequencer: expose internal state for better unit-testability

* sequencer: add unit tests for matrix_scan_sequencer
2020-11-07 19:35:14 -08:00
Takeshi ISHII
75a18e69f9
Some GPIO manipulations in matrix.c change to atomic. (#10491)
* Changed the processing of select_xxx()/unselect_xxx() in quantum/matrix.c to be atomic.

* Changed the processing of select_xxx()/unselect_xxx() in quantum/split_common/matrix.c to be atomic.

* update matrix.c

* add ATOMIC_BLOCK_FORCEON macro to quantum/quantum_atomic_extend.h

* quantum_atomic_extend.h's contents move into quantum.h

* update ATOMIC_BLOCK_xxx for unknown platform

* ATOMIC_BLOCK macro support PROTOCOL_ARM_ATSAM

* Add Atomic Operation section in docs/internals_gpio_control.md
2020-10-30 13:23:06 -07:00
MakotoKurauchi
3ede17e729
Reduce Helix keyboard build variation (#8669)
* modify helix config. 'helix/rev2' always OLED on

* reduce helix build variation pattern

* helix/rev2/keymaps/xulkal/rules.mk: Explicitly disable helix standard post-processing

**Compilation result does not change**

* helix readmes update

* add temporary test script

* test end. -- Revert "add temporary test script"

This reverts commit 6229ed41f2ff8bac52015150837eaa51d9815e13.

* rename rev2/split_common/rules.mk -> rev2/sc/rules.mk

* rename pico/split_common/rules.mk -> pico/sc/rules.mk

* update keymaps/default/reademe.md

* add 'helix/pico/qmk_conf' and 'helix/rev2/qmk_conf' target

* add ChangeLog for Helix: PR 8669

* fix helix/pico/qmk_conf compile error

Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
2020-10-30 13:23:04 -07:00
Nick Brassel
f22a61e7e9
Rescale both ChibiOS and AVR backlighting. 2020-10-30 13:23:04 -07:00
Nick Brassel
c4ecae1d77
Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) 2020-10-30 13:23:03 -07:00
ridingqwerty
daea43debf
New feature: Retro Tapping per key (#10622) 2020-10-30 13:23:01 -07:00
Takeshi ISHII
12be012e3d
OLED display update interval support (#10388)
* add OLED_UPDATE_INTERVAL_MS support

* update docs/feature_oled_driver.md

* Update docs/feature_oled_driver.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update drivers/oled/oled_driver.c

* Update drivers/oled/oled_driver.c

Co-authored-by: Joel Challis <git@zvecr.com>
2020-10-30 13:20:54 -07:00
Purdea Andrei
c904520f72
Haptic and solenoid cleanup (#9700)
* solenoid: remove two functions that do nothing.

These functions modify the argument, and so they do nothing.

Note: versions of these functions exist in mtdjr's user folder,
however to core solenoid support and mtdjr user-specific solenoid
support are exclusive (only one can be used at a time).

So removing these confusing functions does no harm.

* solenoid: bugfix: don't allow dwell time to go 1ms below minimum time.

The previous code allowed dwell time to go 1ms below the configured minimum.
This change corrects it.

* solenoid: bugfix: when incrementing above maximum dwell time, jump back to minimum, not to 1

The previous code used to jump back to 1, which might be way under the configured minimum setting.

* solenoid: bugfix: on startup actually use the eeprom-stored dwell-time

This is because the dwell time is stored in two variables.

* solenoid: bugfix: on haptic_reset, actually use the newly set default dwell time.

This is needed because dwell time is configured in two variables.

* solenoid: on HPT_RST set buzz to a default value

* solenoid: buzz: reworked to make more configurable. Previous behaviour maintained.

* solenoid: documentation: clarify meaning of dwell time

* solenoid: add feature SOLENOID_DWELL_STEP_SIZE

* solenoid: documentation: added note about the precision of the solenoid time settings

* haptic: Correctly call haptic_reset when eeprom is corrupt.

* haptic: improve what happens if haptic is enabled without erasing eeprom

* haptic: improve what happens if solenoid is enabled without erasing eeprom

* drivers/haptic: fix compilation issue, when haptic is enabled, but solenoid isn't
2020-10-30 13:15:50 -07:00
Drashna Jaelre
08caa7afd6
Add advanced/efficient RGB Matrix Indicators (#8564)
* Add Advanced RGB Matrix effects

Add a new option, so that we can better handle custom indicators

* Switch to led min/max instead of params

Because params has already been incremented and is wrong now

* Add indicator color function for use with advanced indicator functions

* Add docs and helper macros

* Add comment for explanations

* Fix macro variables

* Fix typo

* Run clang-format on rgb_matrix.h
2020-10-30 13:15:44 -07:00
Manna Harbour
eecedf0db5
Share button state from mousekey to pointing_device (#10179)
* Branch point for 2020 November 28 Breaking Change

Update readme.md

* Share button state from mousekey to pointing_device

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-10-30 13:15:42 -07:00
Ryan
310662fce9
Per-encoder resolutions (#10259)
* Per-encoder resolutions

* Resolutions for right hand
2020-10-30 13:15:41 -07:00
seb-pau
f728c249ce
Joystick 16-bit support (#10439)
* Joystick 16-bit support

* Add variable joystick axes resolution

* Moved #define statements to .h files

* Moved definitions to quantum/joystick.h

  Removed duplicate definitions from usb_descriptor.h and
  process_joysick.h

  Adjust process_joystick.c and usb_descriptor.c to use the pre-computed
  "JOYSTICK_RESOLUTION" value which contains the logical maximum value
  of a joystick axis

* Cleaning up unnecessary code

* Update docs/feature_joystick.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Workaround to joystick.h not being included to report.h

* Removed unnecessary newlines, updated report.h

Changed JOYSTICK_AXES_RESOLUTION conditional in report.h

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-30 13:15:41 -07:00
Ryan
5cecc1ea1e
Add brightness level API to OLED driver (#10772)
* Add brightness level API to OLED driver

* Set default brightness to 255
2020-10-29 00:12:50 -07:00
Drashna Jaelre
40e694ea0d
Add last breaking changes log to sidebar (#10680)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-10-18 15:46:47 +11:00
Morten Linderud
7d5ba88e6f
50-qmk.rules: Move udev rules from documentation into a file (#10664)
This makes it overall easier to package for downstream distributions
instead of keeping tabs with inline documentation.

Signed-off-by: Morten Linderud <morten@linderud.pw>
2020-10-17 20:30:18 +01:00
James Young
de68d294ec
[Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
Ryan
f0a1ab5488
MSYS and WSL installation improvements (#10593) 2020-10-18 02:45:21 +11:00
shela
39c473a639
[Docs] Update feature_combo.md of Japanese document (#10671) 2020-10-17 03:19:06 -07:00
Andre Azzolini
139d28eaae
[Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) 2020-10-15 21:23:24 -07:00
shela
a2af0a352b
Update other_vscode.md of Japanese document (#10604)
* Update Japanese document

* Fix inline code

* Update docs/ja/other_vscode.md

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2020-10-15 03:24:26 +09:00
shela
f706e1e80e
Update Japanese document (#10607) 2020-10-14 05:09:59 +09:00
Takeshi ISHII
46c77febf7
[Docs] Japanese translation of docs/pr_checklist.md (#10415)
* japanese translation of docs/pr_checklist.md

* update docs/ja/pr_checklist.md

* update docs/ja/pr_checklist.md

* update docs/ja/pr_checklist.md

* add :id=lite to docs/ja/custom_matrix.md

* add :id=... to docs/ja/custom_quantum_functions.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

* Update docs/ja/pr_checklist.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/pr_checklist.md

Co-authored-by: s-show <s1shimz@gmail.com>

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: s-show <s1shimz@gmail.com>
2020-10-14 05:08:26 +09:00
shela
b4e7d4ffae
Update tags to check for document updates (#10606) 2020-10-13 17:03:17 +09:00
shela
4d59657b83
Fix typo within debounce documentation (#10600) 2020-10-13 01:46:16 +01:00
shela
3d9fff1d28
Update Japanese document (#10605) 2020-10-13 01:08:38 +09:00
shela
975c2422f3
Update Japanese document (#10601) 2020-10-13 01:07:59 +09:00
shela
a4efb55a39
Update Japanese document. (#10599) 2020-10-13 01:07:11 +09:00
shela
96ac448a0f
Update feature_bluetooth.md of Japanese document. (#10594)
* Update Japanese document.

* Left justified.

* Update docs/ja/feature_bluetooth.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/feature_bluetooth.md

Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>

Co-authored-by: s-show <s1shimz@gmail.com>
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
2020-10-13 01:06:06 +09:00
shela
216f9ed2c1
Update Japanese document. (#10589) 2020-10-13 01:05:28 +09:00
shela
c66d65df58
Update Japanese document (#10603) 2020-10-13 01:02:52 +09:00
Takeshi ISHII
f7e5d712c2
[Docs] Japanese translation of docs/isp_flashing_guide.md (#9896)
* start translation docs/ja/isp_flashing_guide.md

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* Japanese translation is in progress.

* update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

* Update docs/ja/isp_flashing_guide.md

Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>

Co-authored-by: shela <shelaf@users.noreply.github.com>
Co-authored-by: Takuya Urakawa <urkwtky@gmail.com>
2020-10-13 01:01:07 +09:00
Jan-Frederick Musiol
49abff9071
changed type of process_combo_event argument in tutorial (#10621)
in tutorial for combos feature, changed type of compo_index argument of process_combo_event form uint8_t to uint16_t
2020-10-13 02:14:37 +11:00
shela
a88cfa395b
Update feature_backlight.md of Japanese document. (#10592)
* Update Japanese document.

* Update tag
2020-10-10 18:16:32 +09:00
shela
6e78655e17
Update Japanese document. (#10591) 2020-10-10 18:15:22 +09:00
shela
b0c8cbe462
Update Japanese document. (#10590) 2020-10-10 18:12:04 +09:00
shela
962adbea3a
Update Japanese document. (#10588) 2020-10-10 18:00:11 +09:00
Erovia
a67b32425b Docs: fix udev rules
Apparently, udev does not like inline comments.
Rules with them are ignored, oops.
2020-10-06 17:29:47 -07:00
Erovia
058737f116
[CLI] Add c2json (#8817)
* Basic keymap parsing finally works

* Add 'keymap.json' creation to the qmk.keymap module

* Add tests and fix formatting

* Fix/exclude flake8 errors

* Convert keymap.c to valid keymap.json

* Fix some errors

* Add tests

* Finalize keymap.json creation, add json template

* Add docs

* Move pygments to the standard requirements

* Add support for nameless layers, fix tests

* Fix things after rebase

* Add missing 'keymap' value.

* Fix missing layer numbers from advanced keycodes

Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!

* Apply suggestions from code review

* fixup tests

Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
2020-10-06 17:10:19 -07:00
Joe Strong
2013f63134
Fixes small typo in docs (#10515) 2020-10-05 19:21:39 +11:00
George Mao
9e9b604234
Mark 'key_count' as optional within info.json docs (#10513)
* Update reference_info_json.md

key_count is now an optional field because it is better to get the keycount by counting the elements in the layout array.

* Updated Japanese documentation as well
2020-10-03 00:42:11 +01:00
nopunin10did
0cb7133e0d
Doc followup 9942 (#10473)
* Update feature_advanced_keycodes.md

* Update mod_tap.md
2020-10-01 22:19:57 +01:00
Ryan
e7acd39b78
Consolidate udev rules into a single file (#9693)
* Consolidate udev rules into a single file

* Update rules in doctor.py

* Simplify doctor rule checking

* Fix errors

* Add TMK "FEED" VID to list of deprecated udev rules

* A comma would be nice

* Split rules back up into bootloaders

* Link to docs page in "missing" case

* Add Pololu VID

* Be more specific about Caterina devices, and add LilyPad PID
2020-09-27 20:36:33 +10:00
precondition
28ff51175b
[Docs] Wording & formatting changes in the Tapping Force Hold section of the Tap Hold page + removed trailing whitespaces (#10391)
* Wording & formatting changes in Tapping Force Hold

The Permissive Hold and the Ignore Mod Tap Interrupt sections were also modified to remove the quotes
around "tapping".

* Removed all trailing whitespaces from tap hold doc

* "it's simply really:" → "it's simple really:"

* "This allows to keep the ability" → "This allows keeping the ability"

Used the gerund form of "to keep" in the Tapping Force Hold section of the Tap Hold docs.

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
2020-09-26 19:11:40 -04:00
umi
4bf5f9424e
[Docs] Japanese translation of docs/understanding_qmk.md (#10136)
* add understanding_qmk.md translation

* update based on comment

* update based on comment

* update based on comment

* update based on comment

* update based on comment
2020-09-22 14:54:33 -07:00
Peter Landoll
0fbb1e550a
Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
Fred Silberberg
c23667608c
Add OLED driver function to determine if the screen is currently on (#10382) 2020-09-21 18:39:50 -07:00
Dustin Bosveld
2f637e4ea1
[Docs] Clarify functionality of update_tri_layer_state (#10370)
* Add information to docs
- If layer z is not a higher layer than both x and y, the layer change code
does not function correctly.

* Update docs/ref_functions.md

* Update docs/ref_functions.md

* Update docs/ref_functions.md
2020-09-21 11:35:26 -07:00
fauxpark
a0305f5e7e Be more specific about Caterina devices, and add LilyPad PID 2020-09-19 05:40:25 +10:00
fauxpark
c2a0cebf8b Add Pololu VID 2020-09-19 05:21:33 +10:00
fauxpark
72b1ff5899 Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00