Commit Graph

169 Commits (17bbef5200792d22df2bcc66e2f59a800252a1d3)

Author SHA1 Message Date
James Young c66df16644
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change                                                

* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)                                           

* Add support for soft serial to ATmega32U2 (#10204)                                               

* Change MIDI velocity implementation to allow direct control of velocity value (#9940)            

* Add ability to build a subset of all keyboards based on platform.                                

* Actually use eeprom_driver_init().                                                               

* Make bootloader_jump weak for ChibiOS. (#10417)                                                  

* Joystick 16-bit support (#10439)                                                                 

* Per-encoder resolutions (#10259)                                                                 

* Share button state from mousekey to pointing_device (#10179)                                     

* Add hotfix for chibios keyboards not wake (#10088)                                               

* Add advanced/efficient RGB Matrix Indicators (#8564)                                             

* Naming change.                                                                                   

* Support for STM32 GPIOF,G,H,I,J,K (#10206)                                                       

* Add milc as a dependency and remove the installed milc (#10563)                                  

* ChibiOS upgrade: early init conversions (#10214)                                                 

* ChibiOS upgrade: configuration file migrator (#9952)                                             

* Haptic and solenoid cleanup (#9700)                                                              

* XD75 cleanup (#10524)                                                                            

* OLED display update interval support (#10388)                                                    

* Add definition based on currently-selected serial driver. (#10716)                               

* New feature: Retro Tapping per key (#10622)                                                      

* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)             

* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)

* Rescale both ChibiOS and AVR backlighting.                                                       

* Reduce Helix keyboard build variation (#8669)                                                    

* Minor change to behavior allowing display updates to continue between task ticks (#10750)        

* Some GPIO manipulations in matrix.c change to atomic. (#10491)                                   

* qmk cformat (#10767)                                                                             

* [Keyboard] Update the Speedo firmware for v3.0 (#10657)                                          

* Maartenwut/Maarten namechange to evyd13/Evy (#10274)                                             

* [quantum] combine repeated lines of code (#10837)                                                

* Add step sequencer feature (#9703)                                                               

* aeboards/ext65 refactor (#10820)                                                                 

* Refactor xelus/dawn60 for Rev2 later (#10584)                                                    

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)                                 

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)                                    

* update chibios os usb for the otg driver (#8893)                                                 

* Remove HD44780 References, Part 4 (#10735)                                                       

* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)                                                

* Fix cursor position bug in oled_write_raw functions (#10800)                                     

* Fixup version.h writing when using SKIP_VERSION=yes (#10972)                                     

* Allow for certain code in the codebase assuming length of string. (#10974)                       

* Add AT90USB support for serial.c (#10706)                                                        

* Auto shift: support repeats and early registration (#9826)                                       

* Rename ledmatrix.h to match .c file (#7949)                                                      

* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)                                        

* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)                                        

* Merge point for 2020 Nov 28 Breaking Change
2020-11-28 12:02:18 -08:00
Joel Challis 1ff5ee255f
Indicator LEDs as config (#10816)
* First pass

* Add config options to docs

* Update some wording

* Slight tidy up of backlight caps logic

* Init pin to correct state

* Move init location

* Reverse default state
2020-11-08 22:31:16 +00: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
James Young de68d294ec
[Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
a-chol d4be07dad3 Hid joystick interface (#4226)
* add support for hid gamepad interface
add documentation for HID joystick
Add joystick_task to read analog axes values even when no key is pressed or release. update doc
Update docs/feature_joystick.md
Manage pin setup and read to maintain matrix scan after analog read

* Incorporates patches and changes to HID reporting

There are some patches provided by @a-chol incorporated on this commit,
and also some changes I made to the HID Report structure.

The most interesting is the one dealing with number of buttons: Linux
doesn't seem to care, but Windows requires the HID structure to be byte
aligned (that's in the spec). So if one declares 8/16/32... buttons they
should not have any issues, but this is what happens when you have 9
buttons:

```
 bits |0|1|2|3|4|5|6|7|
      |*|*|*|*|*|*|*|*| axis 0 (report size 8)
      |*|*|*|*|*|*|*|*| ...
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*| axis 6
      |*|*|*|*|*|*|*|*| first 8 buttons (report size 1)
      |*| | | | | | | | last of 9 buttons, not aligned
```

So for that I added a conditonal that will add a number of reports with
size 1 to make sure it aligns to the next multiple of 8. Those reports
send dummy inputs that don't do anything aside from aligning the data.

Tested on Linux, Windows 10 and Street Fighter (where the joystick is
recognized as direct-input)

* Add save and restore of each pin used in reading joystick (AVR).
Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc
instead of an output pin from the MCU.

Fix joystick report id

Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes)

Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis.

Documentation fixes

* Fix port addressing for joystick analog read

* The other required set of changes
As per the PR, the changes still holding it up.
Add onekey for testing.
Fix ARM builds.
Fix device descriptor when either axes or buttons is zero.
Add compile-time check for at least one axis or button.
Move definition to try to fix conflict.
PR review comments.
qmk cformat

* avoid float functions to compute range mapping for axis adc reading

* Remove V-USB support for now. Updated docs accordingly.

* Update tmk_core/protocol/lufa/lufa.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Update tmk_core/protocol/usb_descriptor.c

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

* Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios

* Fix HID joystick report sending for ChibiOS.
Add one analog axis to the onekey:joystick keymap.
Fix pin state save and restore during joystick analog read for STM32
MCUs.

* Update tmk_core/protocol/chibios/usb_main.c

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

* Update tmk_core/protocol/lufa/lufa.c

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

* Add missing mcuconf.h and halconf.h to onekey:joystick keymap.
Add suggested fixes from PR.

* Switch saveState and restoreState signature to use pin_t type.
onekey:joystick : add a second axis, virtual and programmatically animated.

* Update docs/feature_joystick.md

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

* Update docs/feature_joystick.md

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

* Add PR corrections

* Remove halconf.h and mcuconf.h from onekey keymaps

* Change ADC_PIN to A0

Co-authored-by: achol <allecooll@hotmail.com>
Co-authored-by: José Júnior <jose.junior@gmail.com>
Co-authored-by: a-chol <achol@notamail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-08-29 14:30:02 -07:00
Nick Brassel 8dc2502177
Add PR checklist document. (#9913)
* Add PR checklist document.

* Update docs/pr_checklist.md

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

* Apply suggestions from code review

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

* Reword the lower/raise/adjust suggestion somewhat for clarity.

* Add suggestion from @Didel for coding conventions.

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-08-07 06:16:14 +10:00
Nick Brassel 3afd2d81b8
Add documentation for selecting an Arm MCU (#9046)
* Initial doco write-up.

* Update docs/platformdev_selecting_arm_mcu.md

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

* Apply suggestions from code review

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

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-06-10 23:32:58 +01:00
James Young fced377ac0
2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)

* Convert V-USB usbdrv to a submodule (#8321)

* Unify Tap Hold functions and documentation (#8348)

* Changing board names to prevent confusion (#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)

* Move spaceman keyboards (#8830)

* Migrate miscellaneous `fn_actions` entries (#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)

* Refactor Lily58 to use split_common (#6260)

* Refactor zinc to use split_common (#7114)

* Add a message if bin/qmk doesn't work (#9000)

* Fix conflicting types for 'tfp_printf' (#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)

* Refactor and updates to TKC1800 code (#8472)

* Switch to qmk forks for everything (#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)

* Audio enable corrections (2/3) (#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)

* Audio enable corrections (Part 4) (#8974)

* Fix typo from PR7114 (#9171)

* Augment future branch Changelogs (#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-30 13:14:59 -07:00
Ryan 00c1401d3c
Documentation for keymap_extras (#9194) 2020-05-27 01:52:48 +01:00
Joel Challis 65150984bd
ARM split - Add uart half duplex transport support (#7987)
* ARM split - Add uart half duplex transport support

* Fix for f103

* initial full duplex pass

* partially remove full duplex

* Correct speeds within driver docs

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

Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-05-21 18:00:21 +01:00
Joel Challis 0fbcb41c85
Reintegrate previous docker docs (#9084) 2020-05-19 21:54:55 -07:00
Ahmed Elshafey 750c7c2bdb
[Documentation] Added raw hid documentation page (#7640)
* Added raw hid feature documentation page

* Update docs/feature_rawhid.md

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

* Update docs/feature_rawhid.md

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

* Update docs/feature_rawhid.md

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

* Update docs/features.md

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

* added feature_rawhid.md to _summary.md in docs

* fixed _summary.md order

* Update docs/feature_rawhid.md

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

* Update feature_rawhid.md

Removed the useless bit about finding usage page and usage.

* Update feature_rawhid.md

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Update docs/feature_rawhid.md

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* Remove teensy client, small origanization fixes

* Fixed merge conflicts
Removed features.md
Updated _summary.md with new format and added RAW HID entry under Software Features

* Added rawhid feature page
Messy is what you get when you don't do things right the first time

Co-authored-by: fauxpark <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2020-05-01 23:41:58 +10:00
skullydazed 8c97b4a3a4
Add a syllabus to guide people who are learning QMK (#8816) 2020-04-19 09:08:38 +02:00
Nick Brassel 05e9ff6554
Add support for hardware and board initialisation overrides. (#8330)
* Add support for hardware and board initialisation overrides.

* qmk cformat.

* Add some documentation.

* Docs clarity.

* Make early_hardware_init_pre a no-op for now, until migrations occur.

* Doco update

* Make distinction between keyboard and ChibiOS board in docs

* Doc anchors.

* Update tmk_core/protocol/chibios/main.c

Co-Authored-By: Joel Challis <git@zvecr.com>

* Rework bootloader entry to be off by default, allow opting-in.

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-13 09:39:38 +10:00
Ryan 400ca2d035
spi_master for AVR (#8299)
* Change _delay_ms/us() to wait_ms/us()

* Switch to platform-agnostic GPIO macros

* Add AVR spi_master and migrate Adafruit BLE code

* Set verbose back to false

* Add clock divisor, bit order and SPI mode configuration for init

* Add start and stop functions

* Move configuration of mode, endianness and speed to `spi_start()`

* Some breaks here would be good

* Default Adafruit BLE clock divisor to 4 (2MHz on the Feather 32U4)

* Remove mode and divisor enums

* Add some docs

* No hr at EOF

* Add links in sidebar
2020-04-08 11:04:31 +10:00
brickbots bfb2f8e0a8
Add Word Per Minute calculation feature (#8054)
* Add Word Per Minute calculation feature

* Fix copyright info

* Remove header from quantum.c, setup overloadable keycode inclusion for WPM, update docs

* Simplify logic for keycode filtering

* Adding link from summary to wpm_feature info

* Update docs/feature_wpm.md

Typo in function prototype example in docs

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

* Add WPM transport via i2c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-03-23 00:06:16 +11:00
Drashna Jaelre 5df2424651
[Docs] Update layer documentation (#8371)
* [Docs] Update layer documentation

* Add layer_state_cmp functions

* Fix cut/copy/paste issue

* Add id tags

* Apply noroads corrections

* Move Layers section to separate document

* Fix ID tag for layers

* Use better name for summary/side bar

* Fix feature page linkage

As well as a small spell error close by

* Remove paper analogy for now
2020-03-21 10:17:02 -07:00
skullydazed dc68418660
Fix some broken links in the docs (#8394)
* fix some broken links

* remove duplicate and confusing material from cli.md

* Switch brazil to the 2 letter country code

* Update docs/_langs.md

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

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-15 07:48:44 -07:00
James Young 76189d9a28 link the 2020 Feb 29 Breaking Changes changelog from the summary 2020-03-05 16:00:10 -08:00
skullY 961477c791 make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
James Young 906bdce6ce split Hand Wire Preamble to a separate doc 2020-03-05 16:00:10 -08:00
skullY 8b0fdc82dc rearrange the sidebar a bit 2020-03-05 16:00:10 -08:00
skullY 12e43230c6 make custom_keycode_names.md a faq entry instead 2020-03-05 16:00:10 -08:00
skullY 9035c3497e break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
skullY 5d35098bfc improve our docsify setup 2020-03-05 16:00:10 -08:00
skullY 45e218ceec overhaul the newbs guide 2020-03-05 16:00:10 -08:00
skullY 86f6405574 More sidebar organization 2020-03-05 16:00:10 -08:00
skullY 99850aabca Add API documentation 2020-03-05 16:00:10 -08:00
skullY a701c15d87 Rework the newbs guide around the qmk cli 2020-03-05 16:00:10 -08:00
James Young 58fb57bfa7 _summary.md: move Auto Shift page to Software Features category 2020-03-05 16:00:10 -08:00
skullY 3f1e47dbcd rework the index page 2020-03-05 16:00:10 -08:00
skullY 5b14456082 more wip 2020-03-05 16:00:10 -08:00
skullY d1c18086d2 wip 2020-03-05 16:00:10 -08:00
James Young d0d106cef7 change Instructions listing in Docs summary 2020-01-25 18:15:07 -08:00
James Young d603e94f68 add Breaking Change PR Instructions doc 2020-01-25 18:15:07 -08: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
Joel Challis 6e710426a4 Add docs for 'CUSTOM_MATRIX = lite' (#7906)
* Add some docs to cover 'CUSTOM_MATRIX = lite'

* Apply suggestions from code review

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

* Add 'SRC += matrix.c' docs

* Update docs/custom_matrix.md

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

Co-authored-by: fauxpark <fauxpark@gmail.com>
2020-01-18 12:56:33 +11:00
fauxpark a8320f20f7
Improve support and docs for ADC driver (#7191)
* Improve support and docs for ADC driver

* Comment ADC channels

* Move to Makers and Modders section, and fix usage instructions

* Flesh out intro

* Superscript 328P note

* Fix pin_to_mux LUT

* Support USB64/1287 as well

* analogReadPin() defaults to 0V mux on invalid pin

* Update pinToMux() function documentation

* Dot

* Accept (some of) the `qmk cformat` changes

* Do clang-format properly

* More wording tweaks

* Link to encoder docs
2019-12-08 12:11:29 +11:00
James Young 3152bf572b
[Docs] Restructure of Git Best Practices doc (#7231)
* Add "Resynchronizing an Out-of-Sync Git Branch" doc

* Update (Git) Best Practices doc title and filename

* Rename Branch Resync doc

* fork Best Practices doc into multiple files

* Add the doc list to Git Best Practices doc

* Update sidebar

* Update internal references

* Update sidebar - add subsection

* Update Your Fork's Master page title

* title case on Git Best Practices main doc

* ... and in the Resynchronizing a Branch doc

* Please read Part 1

I worked really hard on this, okay?

* Please use branches, too.

* suggestions by mtei

* change note about adding multiple files

* note that the name given the remote repo is arbitrary

* suggestions by fauxpark

* Git Best Practices -> Best Git Practices

Reads more naturally.

* rephrase hint block regarding remote name

* rework the resynchronization instructions per mtei

* use hint boxes for reference to Part 1 doc

I may be addicted to hint boxes. I'm sorry fauxpark. 😢

* add some clarity about the upstream repo

* wordsmithing per mtei

* restyle the shell code blocks

Makes them more consistent to the other docs in this section.
2019-12-02 18:47:02 -08:00
fauxpark 9ea9806d67 Set up language fallback for docs, and update translation guidelines (#7403)
* Set up language fallback for docs, and update translation guidelines

* Title Case

* Add ID example

* Link to emoji flag cheatsheet

* Move docs preview section to contributing.md

* Point to docs preview in the readme
2019-11-23 16:07:15 +00:00
fauxpark 5414ff709f [Doc] Tidy up compatible MCUs docs (#7295)
* Tidy up compatible MCUs docs

* ARM chips should have USB

* 32KB soft lower limit applies to ARM as well

* NXP is the manufacturer name, not Kinetis

* Units
2019-11-08 18:34:25 -08: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
Jack Humbert 68072e931a
Expose zh-cn docs, delete bad zh docs, add docs for adding translations (#6855)
* expose zh-cn docs, delete bad zh docs, add docs for adding translations

* Update docs/translating.md

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

* Update docs/translating.md

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

* update for python 3
2019-10-01 13:51:23 -04:00
skullydazed d569f08771
Configuration system for CLI (#6708)
* Rework how bin/qmk handles subcommands

* qmk config wip

* Code to show all configs

* Fully working `qmk config` command

* Mark some CLI arguments so they don't pollute the config file

* Fleshed out config support, nicer subcommand support

* sync with installable cli

* pyformat

* Add a test for subcommand_modules

* Documentation for the `qmk config` command

* split config_token on space so qmk config is more predictable

* Rework how subcommands are imported

* Document `arg_only`

* Document deleting from CLI

* Document how multiple operations work

* Add cli config to the doc index

* Add tests for the cli commands

* Make running the tests more reliable

* Be more selective about building all default keymaps

* Update new-keymap to fit the new subcommand style

* Add documentation about writing CLI scripts

* Document new-keyboard

* Update docs/cli_configuration.md

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

* Update docs/cli_development.md

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

* Update docs/cli_development.md

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

* Update docs/cli_development.md

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

* Address yan's comments.

* Apply suggestions from code review

suggestions from @noahfrederick

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Apply suggestions from code review

Co-Authored-By: Noah Frederick <code@noahfrederick.com>

* Remove pip3 from the test runner
2019-09-22 13:25:33 -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 ddb69d4d39 Merge point for 2019 Aug 30 Breaking Change 2019-08-30 15:01:52 -07:00
fauxpark fb7c65dc34 Add Zadig 101 to docs (#6585)
* Add Zadig 101 to docs

* Add USBasp bootloader name

* Add links to the page

* Note the usual VIDs and PIDs for the bootloaders

* Add "List All Devices" note, just in case

* Talk about keyboard-specific bootloader procedures

* Send users to the new page in "Unknown Device for DFU Bootloader" section

* Halfkay bootloaders are also an exception here
2019-08-23 23:38:21 -07:00
Drashna Jaelre 311d625c56 [Docs] Add dedicated page for Split Keyboard information (#5802)
* [Docs] Add dedicated page for Split Keyboard information

* Apply suggestions from code review

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

* Fix Typos

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

* Fix some formatting issues

* Add Additional RGB info

* Fix Bulletted formatting

* Apply suggestions from code review

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

* Fix line wrapping

* Additional fixes and expansion

* Reword warning/note

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

* add i2c/serial coexistance info

* i2c markdown

* Change i2c wiring text

Co-Authored-By: drashna <drashna@live.com>
2019-07-15 23:23:32 -07:00
skullydazed a25dd58bc5
QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.

* Support for keymap.json

* Add a warning about the keymap.c getting overwritten.

* Fix keymap generating

* Install the python deps

* Flesh out more of the python environment

* Remove defunct json2keymap

* Style everything with yapf

* Polish up python support

* Hide json keymap.c into the .build dir

* Polish up qmk-compile-json

* Make milc work with positional arguments

* Fix a couple small things

* Fix some errors and make the CLI more understandable

* Make the qmk wrapper more robust

* Add basic QMK Doctor

* Clean up docstrings and flesh them out as needed

* remove unused compile_firmware() function
2019-07-15 12:14:27 -07:00
Drashna Jaelre c97315dc5a
Additional link fixes
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-22 21:00:20 -07:00
Drashna Jaelre dcb274b286
Fix links
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-22 20:55:52 -07:00
Drashna Jaelre 02787ac07f
Add missing links to features page and sidebar section 2019-05-21 13:15:59 -07:00
Ryan Caltabiano d67b99ff3c Added OLED Driver to the summary 2019-04-30 18:04:11 -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
Drashna Jaelre c534a4c775 [Docs] Smallish overhaul of the docs (#5281)
* Fix up Common functions doc

* Add to extra commands to flashing doc

* Rearrange and touch up Macros

* Expand Newbs Flashing guide

* Update process_record documentation

* Add git to best practices name in sidebar

* Expand FAQ for build/flashing

* Add deprecated info to functions

* Update docs/feature_macros.md

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

* Update docs/feature_macros.md

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

* Update docs/flashing.md

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

* Update docs/flashing.md

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

* Update docs/keymap.md

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

* Update docs/newbs_flashing.md

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

* Update docs/newbs_flashing.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/faq_build.md

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

* Update docs/feature_macros.md

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

* Update docs/keymap.md

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

* Fix up Common functions doc

* Make pre-init example accurate

* Update docs/custom_quantum_functions.md

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

* Zadig Driver catchall

* Spelling Depriciated

* Completely remove fn_actions section
2019-03-18 14:22:02 -07:00
Drashna Jaelre e9ace14878 [Docs] Add VSCode guide to docs (#5124)
* Add VSCode guide to docs

* Fix settings menu enumeration

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

Co-Authored-By: drashna <drashna@live.com>
2019-03-15 14:34:58 -07:00
Drashna Jaelre 3305df8e79 Add LED Matrix to Features list for easy reference (#5280) 2019-03-03 15:29:29 -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
skullY 330e2e6af5 Address comments in #4832. Move info.json reference to its own file. 2019-02-08 15:13:20 -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
Drashna Jaelre 2ad2b73d68 Add support for PR and Issue templates to QMK_firmware GitHub (#4494)
* Add support document

* Add Bug Report

* Add GitHub Pull Request Template

* Feature request issue template

* Touch up feature request template

* Add 'other issues' template

* move support doc

* Minor tweaks

* More minor tweaks

* Spleeling fix

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

* CapiTALization fIXes

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

* Use new issue URL

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

* Add blanck issue template

* Update the PR template

* Formatting and additional changes

* Update docs/support.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-07 16:51:27 -08:00
Drashna Jaelre 59b2be6200 Re-order feature list in sidebar (#4555)
Specifically, moved the shifted keycodes to the top of the 'Feature' list, so it's more visible.  This way, all of the keycodes are at the top of the list, rather than having the shifted keys at the bottom, so they should be easier to find since they're all in one place.
2018-12-05 10:28:06 -08:00
noroadsleft d8f090e559 Docs: Supporting a keyboard in the QMK Configurator (#4396)
* Docs: Configurator Support

* Minor updates

* Updated keyboard.h example to use #pragma once

per @drashna
https://github.com/qmk/qmk_firmware/pull/4396#discussion_r232140934

* Add link to doc under Reference section

Added to _sidebar.md and _summary.md

* Changed doc title; minor tweaks

Re-titled the doc as "Supporting Your Keyboard in QMK Configurator".
Made some minor changes to the keyboard.h examples.

* Added tags object to JSON example
2018-11-14 18:32:28 -08:00
yiancar 4083614023 I2C driver docs (#4298)
* I2C driver docs

- Added I2C driver docs.
- Changed arm master i2c driver to have a weak i2c_init as it is impossible to account for all possible port configuration in the STM32 world.

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* GPIO release fix
2018-11-10 15:26:39 -05:00
Jack Humbert 85688e5b52 add support for encoders to core 2018-10-26 14:24:13 -07:00
noroadsleft 480651cf9d Docs: Adding QMK Git Conventions doc; formatting cleanup on Learning Resources doc (#3902)
* Docs: newbs_learn_more_resources.md: formatting

* Added QMK Git Conventions doc, initial version

* Renamed contributing_qmk.md to newbs_best_practices.md

* Updated per review by @drashna

* Added navigation links

* Updated to Best Practices doc

* Minor updates to Learn More Resources doc

Markdown formatting consistency because I'm particular about it.

* Added Merge Conflict section to Best Practices doc
2018-10-18 15:12:11 -07:00
Drashna Jaelre a7d05820a6 Add documentation for Combo feature 2018-10-10 21:36:58 -04:00
yiancar ac7b2d92bf ARM SWD guide
- Added a detailed (but saddly long) debugging guide.
- Modified sidebar and summary to include the links.
2018-10-05 11:03:30 -07:00
Drashna Jaelre eb19fb5b57 Helpful functions 2018-08-26 07:32:15 -07:00
skullY da24a34efb First pass at reorganizing docs 2018-08-16 09:16:05 -07:00
fauxpark d263b27c9a Dedupe shifted keycodes listing 2018-08-11 14:29:53 -07:00
fauxpark 03ad6927cb Docs: Format Space Cadet documentation (#3540)
* Format Space Cadet documentation

* Fix page filenames

* Move Caveats section up
2018-08-01 08:43:54 -07:00
Drashna Jaelre e0c9cfad86 Fix sidebard doc 2018-07-16 21:04:12 -04:00
Drashna Jaelre 8ffeaec3aa Overhaul to keycode related docs
* Adds Audio Keycodes to both the feature page and master list
* Re-orders the keycode list, so it's alphabetical (mostly)
* Add additional (missing) sections to the keycode list
* Add and update links in the keycode page
* Add and reorder links in sidebar's keycode section
2018-07-15 13:40:18 -04:00
Jack Humbert ae7284edb8 rename api docs to internals 2018-03-26 11:43:37 -07:00
skullydazed 7c9d5ace14 Generate API docs from source code comments (#2491)
* Generate api docs from source code

* Add a bunch of doxygen comments

* more doxygen comments

* Add the in-progress api docs

* script to generate docs from travis

* Add doc generation to the travis job

* make travis_docs.sh commit the work it does

* make sure the docs script exits cleanly
2018-03-22 02:50:38 -04:00
skullydazed 566399794a
Disable the glossary linking to fix #2498 (#2499) 2018-03-08 10:31:08 -08:00
Joe Wasson 7b80aea8b2 Add back docs for hand-swapping feature. 2018-03-07 16:56:57 -05:00
skullydazed 08e48eb6f5
Add a newbie guide for people completely new to QMK (#2480) 2018-03-06 14:37:48 -08:00
skullydazed e87c39d302
More thoroughly document Bootmagic and Command (#2455) 2018-03-02 09:21:03 -08:00
fauxpark 7b0356d1d4 Convert all headings to Title Case 2017-12-09 10:46:11 -05:00
Balz Guenat 8b1862330a fix link for grave escape in docs 2017-12-08 16:12:46 -05:00
skullY 0b54e7f5ae Flesh out the grave escape overrides 2017-12-03 00:00:23 -05:00
Devin J. Pohly 7aaef16266 Fix internal links in docs/ (#2080)
One link in the summary (Modding your keyboard) referred to a page that
was deleted; the rest have been updated to point to the new names.
2017-11-30 10:18:01 -08:00
skullY 66f13e4972 Move keycodes to their own section 2017-11-10 17:58:32 -05:00
Jack Humbert 38261920a9
update hand wiring link 2017-10-31 13:38:57 -04:00
Jeremy Cowgar bf1fedc05e Fixed various feature links 2017-10-29 20:04:10 -04:00
Jack Humbert 4d421ee31c adds flashing docs 2017-10-29 18:44:29 -04:00
skullydazed 67cc5cebc0 Restructure the hardware and feature docs to make things easier to find (#1888)
* fix #1313 by documenting more config.h options

* Clean up and organize documentation
2017-10-24 20:34:28 -07:00
Jack Humbert 06f196c589 Creates a userspace for keymaps (#1559)
* create a user space

* adds example

* document, add readme.md

* jackhumbert userspace, ergodox keymap
2017-10-21 11:44:11 -10:00
skullY db5afb05cf Fix the presentation of the contribution guide 2017-10-11 12:18:53 -07:00
skullydazed 2db4ad2133 Write a contributing guide. (#1827) 2017-10-11 12:07:15 -07: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
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
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
Jack Humbert 52f2f6d8ea adds audio docs to summary 2017-08-18 13:57:57 -04:00
skullY 9d1a08e38a Doc updates from going through every file 2017-08-16 15:47:20 -04:00
skullY 9b879b1267 break up keymaps and quantum keycodes into files by feature 2017-08-16 15:47:20 -04:00
skullY 207bcd788a rework key_functions into feature_common_shortcuts 2017-08-16 15:47:20 -04:00
skullY e6c638bed1 Overhaul the Getting Started section and add a FAQ section 2017-08-16 15:47:20 -04:00