Compare commits

...

168 Commits

Author SHA1 Message Date
Alper Cugun
4808b930db [Keymap] Added my customized 40% layout (#7555)
* Formatting of Contra readme.

* Initial version of my custom keymap

* Move TODOs to readme

* Add comment

* Nuke Plover layer

* Port changes to other layers

* Finished work on my own layout for now

* Add layout image

* Processed comments from review
2019-12-07 23:33:48 -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
marhalloweenvt
a7209533a3 [Keyboard] Add new keyboard ColorLice (#7536)
* [Keyboard] Add new keyboard Symmetry60

* Add new keyboard Symmetry60

* Fix Typo

* Update keyboards/handwired/symmetry60/config.h

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/rules.mk

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update symmetry60.c

* Update keyboards/handwired/symmetry60/rules.mk

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

* Add ColorLice

* Update ColorLice

- Adjust info.json to support Configurator
- Adjust layout name to fit with info.json
- Seperate 2 feature: RGB Switch and RGB Underglow

* Update new way of control lock leds

* Remove #ifndef COLORLICE_H

* Update make example

* Revert Helix

* Revert Helix

* Revert Helix

* Revert Helix

* Update keyboards/handwired/colorlice/colorlice.h

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

* Update keyboards/handwired/colorlice/colorlice.h

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

* Update default keymap

* Revert Helix

* Update keyboards/handwired/colorlice/readme.md

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

* Update keyboards/handwired/colorlice/rules.mk

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

* Update keyboards/handwired/colorlice/colorlice.c

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

* Update keyboards/handwired/colorlice/colorlice.c

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

* Remove unnecessary function

* Update keyboards/handwired/colorlice/colorlice.c

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

* Adjust rules option for working with Configurator

- Move RGB_MATRIX_ENABLE and RGBLIGHT_ENABLE to keyboard rule.
- Add RGB_DI_PIN in keyboard config

* Update keyboards/helix/rev2/keymaps/default/keymap.c

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

* Update keyboards/handwired/colorlice/readme.md

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

* Update keymap for Colorlice

* Adjust rules.mk to use space indent
2019-12-07 23:11:21 -08:00
Manna Harbour
3d78e6078e [Keymap] Display logo for caps lock indication on crkbd using old OLED driver (#7535)
* Display logo for caps lock indication on crkbd using old OLED driver

* Add emacs read-only mode file variable to generated files

* use LTO_ENABLE instead of EXTRAFLAGS

This enables the same option, and disables action_macros, and action_functions, both of which seem to break when LTO is enabled. And this is a lot simpler to use.

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-12-07 23:08:12 -08:00
hmkemppainen
e676278474 fix instructions for oneshot layer handling on key release (#7554)
* fix instructions for oneshot layer handling on key release

* use ONESHOT_OTHER_KEY_PRESSED instead of ONESHOT_PRESSED

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-12-08 02:18:05 +00:00
fauxpark
730a736ef0 Set proper ASCII character for KC_NUHS in iWRAP code (#7434) 2019-12-08 12:59:47 +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
osjuga
f275ffbdfc Minor grammar and filename fixes in docs (#7559)
Grammar in coding_conventions_c.md and coding_conventions_python.md

`rule.mk` to `rules.mk` in feature_haptic_feedback.md and feature_rgb_matrix.md
2019-12-07 23:19:18 +11:00
Eric Bunton
36a6e269bf Port SPLIT_USB_DETECT to helix/rev2 (#7385)
* Port SPLIT_USB_DETECT to helix/rev2

* Remove debug toggles.

* Rename is_keyboard_master to has_usb in split_util
2019-12-07 12:17:13 +00:00
Gregory Gubarev
e8efc46e74 [Docs] Creating RU version of getting_started_introduction (#7224)
* Creating RU version of getting_started_introduction

* Update docs/ru-ru/getting_started_introduction.md

Update "предполагается"

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

* Update docs/ru-ru/getting_started_introduction.md

Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
2019-12-06 11:25:05 -08:00
Gregory Gubarev
1b08a19e3e [Docs] Create RU ver of becoming_a_qmk_collaborator (#7226)
* Create RU ver of becoming_a_qmk_collaborator

* Updated

* Updated - collaborator to соавтор

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

* Update docs/ru-ru/becoming_a_qmk_collaborator.md

Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
2019-12-06 11:16:00 -08:00
Danny
419128bfa1 [Keyboard] Fix missing item in Ergodicity macro (#7553) 2019-12-06 10:01:51 -08:00
coseyfannitutti
2d256f48d0 Add keyboard - MYSTERIUM (#7547)
* Create config.h

* Create info.json

* Create keymap.c

* Create keymap.c

* Create mysterium.c

* Create mysterium.h

* Create readme.md

* Create rules.mk

* Create usbconfig.h

* Update keyboards/coseyfannitutti/mysterium/readme.md

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

* Update keyboards/coseyfannitutti/mysterium/readme.md

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

* Update keyboards/coseyfannitutti/mysterium/readme.md

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

* Update keyboards/coseyfannitutti/mysterium/usbconfig.h

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

* Update keyboards/coseyfannitutti/mysterium/usbconfig.h

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

* Update keyboards/coseyfannitutti/mysterium/usbconfig.h

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

* Update mysterium.c

* Update rules.mk

* Update usbconfig.h

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update rules.mk

* Update keyboards/coseyfannitutti/mysterium/usbconfig.h

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

* Update keyboards/coseyfannitutti/mysterium/rules.mk

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

* Update config.h

* Update info.json

* Update keymap.c

* Update mysterium.h

* Update rules.mk
2019-12-06 20:03:30 +11:00
arlenk
380e05ad6e Update getting_started_make_guide.md (#7538)
* Update getting_started_make_guide.md

clarifying that NO_PRINT and USER_PRINT should not be used at the same time.

* Update docs/getting_started_make_guide.md

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-12-06 19:42:33 +11:00
Joel Challis
de4eb79c6a Fix breathing toggle when rgb is disabled (#7550) 2019-12-06 19:27:04 +11:00
jotix
be47f91bc4 Jotix (#7549)
* jotix_layout_adjustment

* TT(_LOWER)

* config.h

* jotix_layout

* jotix_layout
2019-12-05 07:08:27 -08:00
squirrelsRduck
8030c17d63 [Keymap] Dactyl Manuform computer scientist's layout with split RGB enabled (#7519)
* Added my Dactyl Manuform layout

* Added my Dactyl Manuform layout

* finalized key layout, added reset code, no LED yet

* finalized key layout, added reset code, no LED yet

* enabled RGB backlight

* enabled RGB backlight

* enabled RGB backlight

* supporting split rgb

* supporting split rgb

* supporting split rgb

* added media controls

* allowing ctrl/command to fallthrough from mouse layer so we can ctrl scroll to zoom in/out

* addressed PR comments, and make a couple last minute adjustments to the layout, to add in the Forwards Delete keycode

* decreased brightness even more
2019-12-05 01:04:54 -08:00
Ahmed Elshafey
9c8e66dc05 [Keymap] Added Massdrop ctrl keymap (#7491)
* massdrop ctrl endgame keymap first commit

* massdrop ctrl endgame keymap update

Added double dance functions to toggle mouse layer while keeping LGUI key functionality.
Added led config and related functionality.
Added RGB indicators for effective keys on layers.
Fixed RGB timeout ignoring user set LED flags.
At current state, layer RGB indicators ignore RGB brightness value, will add toggle key later to toggle between current keyboard brightness and max brightness as it's nice to have the indicator RGB at max brightness but still too bright at times.

* updated documentation and added RGB indicator for ctrl and shift in function layer

* Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c

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

* Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c

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

* Various fixes and changes.

Removed backslashed at end of layouts, better looking.
Changed layout names from macro definitions to enum.
Replaced MOD_BIT with MOD_MASK macros.
2019-12-05 01:03:03 -08: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
Jeong Arm
66040506a7 [Keymap] [preonic/kjwon15] Support led key (#7543) 2019-12-04 09:47:59 -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
Joel Challis
1718dfa658 Increase matrix scanning speed on xd84 (#7517)
* Increase matrix scanning speed

* Fix func name in failure output
2019-12-03 19:39:21 +00:00
MechMerlin
1c8208ad9a Add J-01 ISO Support (#7527)
* Add ISO support

* Update keyboards/jae/j01/info.json

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-12-03 16:49:31 +00:00
MakotoKurauchi
583be4a5f3 Helix default keymap update (#7465)
* add RGBRST key into helix/pico:default keymap ADJUST layer

* update helix/rev2:default keymap's OLED display contents

 * add RGBRST key to HELIX_ROWS == 4 ADJUST layer
 * add CAPS key to RAISE, LOWER layer
 * add layer status display on slave side oled
 * add RGB LED status display on both side oled
 * save stack memory size
2019-12-03 07:51:18 -08:00
halvves
24507ddca8 [Keymap] add halvves kumo (minivan) keymap (#7534)
* [Keymap] add halvves kumo (minivan) keymap

* adjust tapping

* remove RGBLIGHT_TIMER
2019-12-03 01:35:29 -08: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
kevin-b-lockwood
96d4ba84c2 [Keyboard] Add handwired/floorboard (#7478)
* added handwired/plonk

* Update readme.md

* Update readme.md

* Update info.json

* Update config.h

* Update readme.md

* Update keyboards/handwired/plonk/rules.mk

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

* Update rules.mk

* Update plonk.c

* Update plonk.h

* Update keymap.c

* Delete config.h

* Update keyboards/handwired/plonk/config.h

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

* Update rules.mk

* Update info.json

* Update keyboards/handwired/plonk/readme.md

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

* Update rules.mk

* Renamed the Plonk to the Floorboard. Another homage, just subtler this time.

* removed old plonk files

* Update config.h
2019-12-02 12:03:35 -08:00
Joule-Flow
680924777b [Keyboard] Added tr60w keyboard (#7450)
* Added tr60w configurations.

I based these files on the fox-lab/qmk_firmware repository.
After checking both licenses, which are identical, I added those
files into this feature branch.

For transparency reasons I'll add the url to the fox-lab repository.
https://github.com/fox-lab/qmk_firmware

* Using #pragma once in config.h.

* Removed '#define CCONFIG_H' from config.h.

* Changed PRODUCT_ID to '0x4140'.

* Renamed setting to 'DEBOUNCE'.

* Removed key combination, due to already default implementation.

* Removed 'PREVENT_STUCK_MODIFIERS', defaulted by QMK.

* Removed not uneccessary '#endif' statement.

* Renamed include to 'QMK_KEYBOARD_H'.

* Changed keymap structure according to pull request suggestion.

* Removed 'void matrix_init_user(void)'.

* Removed 'void matrix_scan_user(void)'.

* Removed 'bool process_record_user(...)'.

* Removed non-standard configuration in favor for 'led_update_kb'.

* Using default setup based on 'MCU' setting.

* Replaced Build Option configuration with suggested information.

* Fixed include statements as requested.

* Changed 'KEYMAP' to suggestion.

* Removed obsolete '#endif' statement.

* Added readme.md file.

* Updated readme.md with further information.

* Reverted include statement, to check if this caused ci error.

* Revert "Reverted include statement."

This reverts commit ebd992dc01133169be38ae7201bb00b4d01cc737.

* Fixed wrong mapped key

* Fixed include as per suggestion.

* Replaced 'KC_TRNS' with '_______'for readability.

* Added personal keymap.c file.

* Updated the readme.md file according to template/avr/readme.md.

* Fixed Link to Image.

* Updated readme.md as per request.

* Updated rules.mk, as per suggestion.

Set 'BOOTMAGIC_ENABLE = lite'.
2019-12-02 11:47:55 -08:00
Matt Valentine-House
75c8a79d0e [Keymap] Ruby influenced Redox keymap (#7531) 2019-12-02 11:41:20 -08:00
umi
da1a527c90 [Docs] add japanese translations (#7454)
* for initial commit

* for initial commit

* for initial commit

* Update led_update_kb example (#7451)

* Update led_update_kb example

* Update comment to explain pin behavior

* wordsmith

* wordsmithing 2

* Remove CR when computing BOOTLOADER_SIZE. (#7453)

* 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

* [Keyboard] Added Cans12er keyboard (#7455)

* added cans12er keyboard

* updated readme

Updated the readme to conform with the provided template from the qmk_firmware githubpage

* Update keyboards/cans12er/README.md

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

* Changed configuration

Changed the configuration based on the Change Request from PR #7455 made by github user noroadsleft

* [Keyboard] Update ATmega32A readme files to match template (#7462)

* Update atmega32a readme files to match template

* Update atmega32a readme files to match template - fixes

* Apply suggestions from code review

* update files based on comments

* update files based on comments

* update files based on comments

* update files based on comments

* update files based on comments

* update files based on comments

* update files based on comments

Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-Authored-By: shela <shelaf@users.noreply.github.com>
2019-12-02 11:12:02 -08: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
skullY
ce5678b819 Remove eeprom_f4 due to conflicting license 2019-12-02 08:41:29 -08:00
ihotsuno
d9cf6c6730 [Keyboard] 140% keyboard fluorite keymaps (#7473)
* fluorite keymaps

* Update config.h

* Update fluorite.c

I corrected the points that were pointed out.

* Update fluorite.h

I corrected the points that were pointed out.

* Update config.h

I corrected the points that were pointed out.

* Update keymap.c

I corrected the points that were pointed out.

* Update keyboards/fluorite/config.h

thanks!

* Update keyboards/fluorite/readme.md

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/readme.md

thanks!

* Update keyboards/fluorite/readme.md

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keyboards/fluorite/rules.mk

thanks!

* Update keymap.c

I corrected the points that were pointed out.

* Update fluorite.c

I corrected the points that were pointed out.

* Update rules.mk

I corrected the points that were pointed out.

* Update keyboards/fluorite/rules.mk

Thanks!

* Update keyboards/fluorite/rules.mk

Thanks!

* Update keymap.c

I corrected the points that were pointed out.

* Update fluorite.h

I corrected the points that were pointed out.

* Update keymap.c

I corrected the points that were pointed out.

* Update keymap.c

I corrected the points.
c:165:68 
XDXXXXX >> XXXXXXX

Reverted,because error log.
ADJUST,

* Update keymap.c

I corrected the points that were pointed out.

* Update readme.md

link added

* Update readme.md

photo link added

* Update readme.md

link Modify

* Update keyboards/fluorite/readme.md

Thanks!

* Update keyboards/fluorite/readme.md

Thanks!
2019-12-01 14:50:47 -08:00
iKirin
b386ccc786 Fix install for Linux Ubuntu (#7520)
* Fix linux install for Ubuntu. It failed due to sh not supporting [ and pip being seperate from python3

* Adapted install function according to feedback

* Fix style
2019-12-02 08:56:38 +11:00
skullY
0ed492978a Add pep8-naming to our python linting 2019-12-01 13:40:14 -08:00
John Helveston
a2c6257942 [Keymap] Added jhelvy keymaps for keebio/iris and lily58 (#7447)
* Added jhelvy keymaps for keebio/iris and lily58

* Fixed keymap image link for Iris

* Update keyboards/keebio/iris/keymaps/jhelvy/keymap.c

* Fixed keymap image url for lily58

* Update keyboards/lily58/keymaps/jhelvy/keymap.c

* Removed numbers in parentheticals in lily58 rules

* Removed unnecessary rules
2019-12-01 12:54:57 -08:00
QMK Bot
a14c9a057a format code according to conventions [skip ci] 2019-12-01 16:23:14 +00:00
yulei
c9838fea12 [Keyboard] fixed noah info.json (#7518)
* fixed noah info.json

* fixed iso keymap and adding default iso keymaps

* keymap cleanup

* verified through the qmk configurator preview mode

* modify encoding from utf-8 bom to urf-8
2019-12-01 08:20:45 -08:00
Drashna Jaelre
dfe18b40aa [Keyboard] Update Lets Split Sockets to use LTO_ENABLE (#7516) 2019-12-01 14:35:29 +00:00
fauxpark
f099142004 Add _summary.md for Russian docs with proper language prefix (#7514) 2019-11-30 13:01:41 +00:00
Drashna Jaelre
d98ed28e7c [Keyboard] Fix calls in handwired/jotanck (#7515)
The C file for this keyboard was calling `keyboard_pre_init_user`.  Which is wrong.

This fixes that behavior.
2019-11-30 12:54:57 +00:00
hvp
beb9f3ab71 [Keymap] Added my UT47.2 Swedish layout with tap dance function. (#6861)
* Added my UT47.2 Swedish layout with tap dance function.

* Move tap dance over to user space

* Removed config_common from config file
2019-11-29 23:39:54 -08:00
fauxpark
77c04d148e Specify Arm GCC 8 in macOS install script (#7509) 2019-11-29 16:44:18 -08:00
fauxpark
90c74701aa [Keyboard] Add community layout support for DZ60RGB WKL (#7503)
* Add community layout support for DZ60RGB WKL

* info.json would be good too
2019-11-29 15:50:36 -08:00
yulei
ede67df6bd [Keyboard] fixed noah info.json (#7502)
* fixed noah info.json

* fixed iso keymap and adding default iso keymaps

* keymap cleanup

* verified through the qmk configurator preview mode
2019-11-29 15:48:55 -08:00
Manna Harbour
27bf464dc3 [Keymap] Add RGB keycodes to keymap, enable RGB_MATRIX on crkbd (#7499) 2019-11-29 15:48:11 -08:00
fauxpark
fb02593bd4 Use os.chdir for qmk docs instead of a custom HTTP request handler (#7493) 2019-11-29 15:45:22 -08:00
Callum Oakley
c0dbd81b2b [keymap] personal keymap tweaks (#7510)
* replace home and end with cmd-left and cmd-right for iOS compatability

* tab left and right with cmd-shift-bracket instead of ctrl-tab for Blink compatability

* cmd-up and cmd-down instead of pg-up pg-down for blink shell compatability

* Revert "cmd-up and cmd-down instead of pg-up pg-down for blink shell compatability"

This reverts commit e976af9f11f77933f272edc22faf971445a65717.

* reorganised symbol layer

* update link in readme
2019-11-30 09:10:01 +11:00
Nick Brassel
385454e602 Fix output file permissions when using docker build. (#7378) 2019-11-29 13:01:21 +00:00
fauxpark
7164e8eeb5 Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 2019-11-28 22:14:04 +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
Joel Challis
99f3321e26 Fix processing of RGB keycodes on slave half (#7404) 2019-11-28 21:59:14 +00:00
Joel Challis
235da6973d Install bootloadHid as part of qmk_install (#7463)
* Install bootloadHid on macos

* Install bootloadHid on windows

* Highlight bootloadHID is now installed in docs

* Update udev rules for bootloadHID

* Install bootloadHid on some distros

* fix caterina udev filename
2019-11-28 15:29:11 +00:00
stanrc85
5c41fa6062 [Keymap] Userspace updates (#7500)
* Convert macro to use new QMK CLI and other cleanup

* use \n instead of ss enter
2019-11-27 22:55:29 -08:00
MechMerlin
99a58aa2b8 [Keyboard] New Keyboard: J-01 (#7494)
* initial commit

* create the appropriate LAYOUT macro

* ANSI FOREVER

* Update keyboards/jae/j01/config.h

Changing it to use the Esc key for bootmagic lite

* Update keyboards/jae/j01/readme.md

* Update keyboards/jae/j01/readme.md

* Update keyboards/jae/j01/info.json

* Update keyboards/jae/j01/readme.md

* Update keyboards/jae/j01/info.json

* remove file as per fauxpark comments
2019-11-27 18:50:35 -08:00
James Young
4ae87ab40a Community Layout support (and minor tidying) for KBD8X MK2 (#7449)
* Community Layout support for KBD8X MK2

- add LAYOUT_tkl_ansi and LAYOUT_tkl_iso layout macros
- add default_tkl_iso keymap, using new layout macro
- rename ansi_625 keymap to default_tkl_ansi, using new layout macro
- change keymaps to four-space indent
- update info.json
- remove firmware size impacts from rules.mk

* remove empty functions

* rename the ANSI and ISO keymaps per fauxpark
2019-11-27 22:16:18 +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
yulei
265c415f5e adding noah keyboard (#7432)
* adding noah keyboard

* Update keyboards/matrix/noah/config.h

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

* Update keyboards/matrix/noah/noah.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-11-27 07:54:02 -08:00
heliarmk
2b318ba01b [Keyboard] add keyboard wm1 (#7466)
* add new keyborad wm1

* 删除print信息

* add info.json and modified the default keymap.c

* add keyboard name and maintainer in info.json

* add readme.md file for new keyboard

* add default/keymap/readme.md

* modified the main readme file

* change keyboard name from wm1 to wm1_hotswap

* update readme

* update imgur link in readme

* update readme to add more pic and subtopic

* change wm1 keyboard pic to direct show up

* add copyright to config.h

* modified the info.json to change the label

* set the debug config to no in rule.mk

* rename wn1.c wm1.h to wm1_hotswap.c, wm1_hotswap.h

* fix  spelling mistake

* update the rule.mk to new version

* fix the LED operation in wm1_hotswap.c

* delete the definition of kc_trns

* change layout to conform to electrical position

* delete backslashes in keymap.c

* update info.json according to the layout

* change the return of led_update_kb

* delete unused comments in rule.mk

* delete unused definition in wm1_hotswap.h

* add a if statement to support user override func

* fix comment in rules.mk
2019-11-26 16:51:32 -08:00
Stephen Tudor
2f3adc3e24 Adjust Fn key and right arrow cluster of GH60/Satan keymap (#7490) 2019-11-26 23:23:29 +00:00
James Young
57581ad733 Fix typos in stale.yml (#7489) 2019-11-26 21:45:18 +00:00
Kemmel-Dev
b663a5b248 [Keymap] added a KBD67v2 layout that allows swapping of num/sym keys and f-rows (#7469) 2019-11-26 10:28:44 -08:00
moyi4681
f6ffa28b27 [Keyboard] change xbows/knight pins of capslock Indicator (#7486) 2019-11-26 10:02:42 -08:00
fauxpark
170261328e Add language prefixes to docs sidebar entries and readmes (#7406)
* Add language prefixes to docs sidebar entries and readmes

* Remove prefix where it doesn't belong
2019-11-26 18:22:13 +11:00
fauxpark
5a6737a778 Send string keycode tweaks (#7471) 2019-11-25 23:16:58 -08:00
Thomas Baart
a2cedf4555 [Keymap] Added keymap for Tessachka (#7457)
* Added keymap for Tessachka

* Update keyboards/kyria/keymaps/tessachka/keymap.c

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

* Update keyboards/kyria/keymaps/tessachka/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-11-25 22:51:58 -08:00
Salicylic-acid3
397897180b [Keyboard] Add keyboard 7skb (#7468)
* Add keyboard 7skb

Add 7skb keyboard.

A 63 keys HHKB Layout keyboard.
Salicylic-acid3

* Update keyboards/7skb/keymaps/default/keymap.c

* Update keyboards/7skb/keymaps/default/keymap.c

* Update keyboards/7skb/keymaps/default/keymap.c

* Update keyboards/7skb/keymaps/salicylic/keymap.c

* Update keyboards/7skb/readme.md

* Update keyboards/7skb/readme.md

* Update keyboards/7skb/readme.md

* keymap update

Remove extra parts

* Delete rules.mk

* Update keyboards/7skb/rev1/rev1.c
2019-11-25 20:46:03 -08:00
fauxpark
36cde567ab [Core] Remove PROGRAM_CMD in mcu_selection.mk for 32A (#7482) 2019-11-25 19:51:40 -08:00
Martin Kauppinen
572d3329eb [Keyboard] Add hand swap config matrix for preonic rev 3 (#7460)
* Add hand swap config matrix for preonic rev 3

* Refactor hand swap config matrix into revision source files
2019-11-25 13:38:23 -08:00
yiancar
c0fe8dbfb4 IS31FL3733 Dirty page fix (#7079)
* IS31FL3733 Dirty page fix

Function IS31FL3733_update_led_control_registers was never setting update register to false. As a result the led on/off page was being written every transaction even when it was not modified. This is ineficient and causes lots of bandwidth use.

-> Fix the IS31FL3733_update_led_control_registers.
-> After testing it was evident that failed I2C transactions could corrupt the Led on/off register.
-> Update IS31FL3733_write_pwm_buffer and IS31FL3733_write_register functions to return 0 upon succesful tranmission and 1 if any of the transmitions within the function fail.
-> Modify IS31FL3733_update_pwm_buffers function so if any of the IS31FL3733_write_pwm_buffer transuction fails, the g_led_control_registers_update_required register is set to true forcing a rewrite of the led on/off register in case it was corrupted.

* Minor comment update

* Upsie:)

* Update is31fl3733.c

* Return fix

* more return fix

* type change

* more boolian logic reversal:)
2019-11-25 20:33:52 +00:00
Joel Challis
f0f161e572 Remove vusb 'reset to bootloader' hid message due to security implications (#7456) 2019-11-25 20:33:02 +00:00
Takeshi ISHII
3a7085dee4 fix link in docs/translating.md (#7474) 2019-11-25 00:37:08 +00:00
yynmt
583094aa26 Add RGB LED for Dozen0 (#7458)
* enable rgb led.

* add layer for default keymap

* Update keymap.c

* Update rules.mk

* Update rules.mk

* fix keymaps

remove backslashes.
2019-11-24 20:35:03 +11:00
Rob Rogers
f4fb0e1617 [Keyboard] Add candybar lefty layout (#7286)
* Add left number pad layout to candybar keyboard

* successfully builds

* Rename new layout to LAYOUT_lefty and add corresponding LAYOUT_righty as alias for LAYOUT

* merge

* Add lefty keymap

* Add lefty layout to info.json

* Added LAYOUT_righty to info.json and corrected some misplaced braces

* Update keyboards/candybar/info.json

* removed redundant sections as suggested.
2019-11-23 23:37:09 -08:00
Joel Challis
6a8c0a6468 [Keyboard] Update ATmega32A readme files to match template (#7462)
* Update atmega32a readme files to match template

* Update atmega32a readme files to match template - fixes

* Apply suggestions from code review
2019-11-23 20:42:20 -08:00
Can Baytok
d14573620d [Keyboard] Added Cans12er keyboard (#7455)
* added cans12er keyboard

* updated readme

Updated the readme to conform with the provided template from the qmk_firmware githubpage

* Update keyboards/cans12er/README.md

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

* Changed configuration

Changed the configuration based on the Change Request from PR #7455 made by github user noroadsleft
2019-11-23 16:56:18 -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
a_p_u_r_o
7874f297b3 Remove CR when computing BOOTLOADER_SIZE. (#7453) 2019-11-24 03:01:03 +11:00
Yan-Fa Li
3541f01a72 Update led_update_kb example (#7451)
* Update led_update_kb example

* Update comment to explain pin behavior

* wordsmith

* wordsmithing 2
2019-11-23 15:37:25 +00:00
Hilary B. Brenum
eae21eed74 [Keymap] Adding hbbisenieks keymap for keebio/iris (#7440)
* hbbisenieks keymap

* fixed right encoder

* changes suggested during pr
2019-11-22 14:40:18 -08:00
Yan-Fa Li
e62ab7e259 Allow overriding of all functions in wonderland.c (#7198)
* f

* Allow overriding of all functions in wonderland.c

 - needed for custom LED functions in keymap.c

* Example of layer indication via LEDs

optimize

* Use newer led_update_kb and led_update_user hooks

 - these allow overriding without use of __attribute((weak))__

* Update led documentation a bit

 - clarify some of the wording around how  to use led_update_user

* Update led_update_user example

* Update audio example to be complete

* trailing spaces smh

* spaces

* spaces

* smh

* Less code is good

* Update docs/custom_quantum_functions.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/custom_quantum_functions.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-22 12:55:45 -08:00
dsanchezseco
0270d4d5a1 [Keymap] changed knight ridder offset to face me on planck (#7445)
* added rgblight controls to planck keymap

* fixed knight ridder offset to face me
2019-11-22 10:26:45 -08:00
Joel Challis
7e9ed2acbf Fix clang-format logic within CI (#7386) 2019-11-22 17:02:55 +00:00
Drashna Jaelre
66d4734371 Improve and streamline MSYS2 installation (#7232)
* Make MSYS force install

* Cleanup msys script

* Update to gcc 8.3 for arm and avr

And cleanup install scripts for both

* Fix path and scripts

* Fix links

* No confirmation for msys

* Tweak arm function since file structure changed

* Fix spacing and wording

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

* Only use MSYS2's make binary

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

* Some wordsmithing

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Add "disable download timeout" for download issues in MSYS

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Clean up URL for arm gcc download

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

* add pip

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-22 18:09:02 +11:00
Drashna Jaelre
6cf574396a [Keyboard] Update default keymaps to use layer_state_t (#7444)
* Update default keymaps to use `layer_state_t`

* Convert binon32 as get_highest_layer in default keymaps
2019-11-21 22:40:29 -08:00
dsanchezseco
f0a9c10b6d [Keymap] added rgblight controls to planck keymap (#7439) 2019-11-21 22:15:40 -08:00
fauxpark
78954a0d3e [Keyboard] Add three missing layouts (#7441)
* Add three missing default layouts

* Add layout support to tragicforce68

* Not really 68%

* Fix dumb mistake

* Update info.json too

* Apply suggestions from code review
2019-11-21 20:25:19 -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
Thomas Baart
e70fef03c1 Updated Kyria readme.md with relocated build guide (#7438) 2019-11-21 21:03:47 +00:00
Erovia
7e7eb69edf MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands

Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.

* Hide those hidden submodules, for real now

* Rebase on latest MILC
2019-11-21 12:52:00 -08:00
Drashna Jaelre
f0790a722d Change label for stale bot (#7429)
* Change label for stale bot

* Reword things to be more concise and clear

* git add .  -- that's how this works, right?

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

* Remove Discussion label from issue templates
2019-11-21 11:02:39 -08:00
fauxpark
57815dbc3b [Keymap] Clean up & improve default layouts (#7428)
* Clean up & improve default layouts

* Add newline at EOF in readmes

* Oops
2019-11-21 03:50:23 -08:00
moyi4681
5d76b5f655 [Keyboard] dztech rgb pcb v2 support (#7423)
* dztech rgb pcb v2 support

dztech rgb pcb v2 support

* Update config.h

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update keyboards/dztech/dz60rgb/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

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

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-21 03:19:10 -08:00
Tim Schumacher
84065e1d74 [Keymap] Add DZ60, Levinson keymaps, twschum user files (#7358)
* Adds layout for DZ60rev2 plate B, options 4 and 10

* Use KC_TRANS for layer keys

* Format layer0 with visual key size layout

* Add RGB controls; add start description; add KC_LOCK

* Update comments on rules.mk for DZ60

* Gets keymap compiling

* Fix wiring for shift on row 3

* Hold a with other key to send Ctrl-A before other key

* Adds compile-time defined mac-compatability media keycodes

* Adds logic in place for capturing taps (w/ timeout)

* Add send_keys(...) which can send up to 64 nested keycodes

* Implement send_keys callable with n repeats

* Tweaks some of the keymap

* Add reset keycode; add disable to custom shortcuts

* Adds a special "off" layer where bonus mod goes to layer 0, every other key KC_NO

* Adjust timeout; mousekey settings

* Changes layout of Home,End,PgUp/Dn on the dedicated arrow keys L1/L2

* PoC on rgb lighted layer indication

* Refactors color table defines

* Adds logic for controlling layer lights

* Only change state on one side of the event lol

* Switch back to Tapping Toggle for layer 4

* Add custom config file for keyboard; TT and mousekey settings

* Code cleanup; starting to refactor special ctrl tapping keys functions

* Move defines and reak out functions

* Remove debugging light

* Adjust keymaps; add enter

* Adds a couple custom macros

* Add simplified version of keymap to help debug issues

* Adds basi numpad configuration for levinson keyboard half

* Use ANSI ctrl key as layer 1 for better one hand (`)

* Adapt to new 8bit hue from #5547; layer enum use everywhere

* Move custom code out to users/ space

* Flip col pins, move key assignments to "left hand"

* Update readme

* Implement placeholder macros

* Notes

* Reduce tapping time for SFT_T(/)

* Adds vim features; refactors things

* Adds fork of the vim features written by xton

* Use correct backspace keycode

* Add VIM_ESC

* Add "OFF" to the RGB/HSV definitions

* Clean up rules, use new "OFF" definition

* Add windows KC_CALCULATOR key to numpad

* Reformat layers with better guide; change layer names

* Add sleep key

* Change timeout delay

* Add a "code paste" which surrounds a ^V with ```

* Try removing shift tap on rshift /

* Update macros

* Update the "code paste" macro

* Update keymap with reset, calc, equals

* Update keyboards/dz60/keymaps/twschum_b_4_10_simple/keymap.c

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

* Update keyboards/dz60/keymaps/twschum_b_4_10/keymap.c

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

* Update users/twschum/twschum.c

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

* Update users/twschum/twschum.c

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

* Revert quantum/rgblight_list.h

* Better name for split space layout; rename KEYMAP->LAYOUT

* Rename KEYMAP->LAYOUT

* Use simpler :flash command

* Clean up layout files

* Use qmk's MOD_MASK_CTRL

* Sync lufa submodule

* Cleanup from noroadsleft's PR comments

* Modernize vim layer code
2019-11-21 03:07:33 -08:00
Takeshi ISHII
90bb7db48e [Docs] Update japanese translation of newbs.md and related documents. (#7431)
* Update japanese translation of newbs.md and related documents.

* document link id change
* add `ja/` in each link
  `[xxx](yyy.md)` --> `[xxx](ja/yyy.md)`

* copy docs/ja/_summary.md from umi-umi's #7248 and fix it
2019-11-21 02:36:38 -08:00
Takeshi ISHII
e54aadf24a [Docs] fix broken link in docs/newbs_best_practices.md (#7430) 2019-11-21 01:02:15 -08:00
x1
8416a94ad2 [Keyboard] Add pico as a new keyboard (#7419)
* Add keyboards/ pico as a new keyboad.

* Add keyboards/pico rev1.

* Add keyboards/pico keymaps/default.

* Add keyboards/pico keymaps/jis.

* Remove unneeded code of rules.mk.

* Revert rules.mk and remove some comments.
2019-11-20 21:48:30 -08:00
Manna Harbour
ecc7355321 [Keymap] Add ALGR and kle image, expand and correct documentation (#7426) 2019-11-20 17:25:55 -08:00
moyi4681
baf6715a7e [Keyboard] knight malposition fix (#7422)
knight malposition fix
2019-11-20 17:22:27 -08:00
fauxpark
f7c8e7ff70 Add info.json files for all default layouts (#7425)
* Add info.json files for all default layouts

* Update layouts/default/60_hhkb/layout.json

* Fix layout.json spacing and info.json dimensions
2019-11-20 17:21:23 -08:00
Yan-Fa Li
6776703d8f Postage Board MCU (#7424)
* Postage Board MCU

* Fix keymap

* Postage mini

* Update readme

* R2

* Update readme

* flip

* better image of r1

* Add a DEFAULT_FOLDER to keep zed and ci happy

* Update keyboards/handwired/postageboard/readme.md

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

* Update keyboards/handwired/postageboard/readme.md

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

* Fix keyboard name
2019-11-20 16:38:51 -08:00
skullydazed
f7bdc54c69 Add flake8 to our test suite and fix all errors (#7379)
* Add flake8 to our test suite and fix all errors

* Add some documentation
2019-11-20 14:54:18 -08:00
Joel Challis
d2115f7d1c Allow 'make all:<user>' to not build EVERYTHING (#7402) 2019-11-20 22:32:16 +00:00
Drashna Jaelre
e6b9980bd4 Remove keymap_config extern from default keymaps (#7399)
* Remove keymap_config extern from default keymaps

* Revert unicode

Apparently VSCode does not like unicode, I didn't actually edit these lines, so it must have been automatic... :(

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-20 22:31:36 +00:00
kakunpc
46606e1ea5 [Keyboard] Add "thedogkeyboard" (#7401)
* add the dog keyboard

* set rgbled

* fix info.json and readme.md

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* Update keyboards/thedogkeyboard/readme.md

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

* update thedogkeyboard
2019-11-20 13:16:38 -08:00
trinity1561
0a5125a535 [Keyboard] Update e65.c to fix Caps Lock indicator (#7405)
* Update e65.c

Fixing Caps Lock LED indicator

* Update e65.c

Using new LED functions (led_update_kb)
2019-11-20 13:10:59 -08:00
Drashna Jaelre
eb91c96288 [Keymap] All about (ARM) RGB and OLEDs (drashna keymaps) (#7354)
* Add Kyria Keymap

* Enable all RGBLIGHT Animations for ARM and high capacity AVR

* Reduce GNUC version for __has_include

* Cleanup Ortho 4x12 Community layout

* Update Collide 39 keymap

* Cleanup Keymaps

* Enable full 30 LEDs for Ergodox

* Change EEPROM Load timing

* Use RGB Matrix on Planck Rev6

* Use correct keymap swap

* Enable everything for ARM

* Only enable rgb sleep on avr until crash is fixed

* Add additional Kyria keymap config

* Overhaul Kyria OLED display

* Improve kyria keymap based on usage

* Minor tweaks to rules

* Update OLED code to truncate properly

* Fix RGB Light layer indication

* Switch all of biton32 to get_highest_layer function

* Fix OLED Keylogger display

* Run qmk cformat over all of my user files

* Slight tweak to kyria based on usage

* Move around LALT_T config

* Add comments about base wrappers to keymaps

* Another cformat pass

* Temp fix for VUSB boards and NKRO

* Convert tabs to spaces in rules.mk files

* Only enable RGBLight if it's enabled

* Add Encoder Flip setting

* Update OLED font file
2019-11-20 12:37:24 -08:00
Drashna Jaelre
8e8986b250 Add auto-handling of stale PRs/Issues (#7197)
* Add auto-handling of stale PRs/Issues

This adds the configuration for probot-stale, so that PRs and Issues can be automatically pruned without intervention by collaborators.

This marks PRs with `awaiting changes` label after 45 days, and then closes any PR with "Awaiting changes" after 30 days.  Unless they have `awaiting review`, `breaking_changes`, `in progress` or `on hold` labels.

This marks issues as `solved` after 90 days, and then closes them 30 days afterwards. Unless they have `bug`, `discussion, `to do`, `in progress` or `on hold` labels.

* Cleanup the text some

* Update .github/stale.yml

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-20 12:17:52 -08:00
kuchosauronad0
b90edb75a3 [Docs] Start of German translation of documentation (#6909)
* Initial commit

* Fix links so that they point to the german translation

* minor changes to the wording of some sentences
* correctly capitalize second person pronouns

* Fix links so that they point to the german translation

* minor changes to the wording of some sentences
* correctly capitalize second person pronouns

* Translate newbs_learn_more_resources.md

* Clear up some phrases

* Add newbs_building_firmware.md, fix spelling

* Add newbs_building_firmware.md, fix spelling

* Update docs/de/_summary.md

Danke

* Update docs/de/README.md

* Update docs/de/_summary.md

Ich wollte es kuerzer halten damit die Navigationsleiste nicht zu breit wird, aber das ist halt die deutsche Sprache :)

* Update docs/de/newbs.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs.md

* Update docs/de/newbs.md

* Update docs/de/newbs.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/README.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_learn_more_resources.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_getting_started.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Update docs/de/newbs_building_firmware.md

* Apply suggestions from code review

* Add translation of newbs_flashing.md

* Apply suggestions from code review

Danke

* Add translation of Zadig-guide

* Translate newbs_testing_debugging.md to german

Co-Authored-By: Max Rumpf <max.rumpf1998@gmail.com>
Co-Authored-By: geisterfurz007 <geisterfurz007@users.noreply.github.com>
2019-11-20 12:02:56 -08:00
Takeshi ISHII
3b9a139c07 fix feature_advanced_keycodes.md's link (#7421)
docs/feature_advanced_keycodes.md has:
```
[Tap Dance](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)
```

change to:
```
[Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)
```
2019-11-20 13:48:05 +00:00
ashpil
acd02e4469 [Keyboard] Add support for Model M USB C Controller (#7393)
* added usb c model m

* added readme

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* Update keyboards/ashpil/modelm_usbc/rules.mk

* cleaned up code

* removed combo from keymap

* added reset to default

* Update keyboards/ashpil/modelm_usbc/rules.mk

* bootmagic and simplifying default

* Update rules.mk

* removed duplicates

* updated readme

* Update keyboards/ashpil/modelm_usbc/README.md

* Update modelm_usbc.h

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c

* full support for either ANSI or ISO

* Update keyboards/ashpil/modelm_usbc/info.json

* Update keyboards/ashpil/modelm_usbc/info.json

* Update keyboards/ashpil/modelm_usbc/info.json

* Resize the ISO Enter key

* ANSI Enter and Left Shift keys resize
2019-11-19 22:06:16 -08:00
Campbell Barton
8725f37de7 [Keymap] Update to qwerty_code_friendly (#7416)
- Move space to thumb cluster.
- Make L1 and L2 symmetrical.
- Add App & Menu keys.
2019-11-19 21:17:08 -08:00
moyi4681
831696611a [Keyboard] dz60rgb_wkl malposition fix (#7418)
fix malposition combile in config.qmk.fm
2019-11-19 18:02:23 -08:00
angelbirth
03e50e6dc9 ASH-1800 (#7031)
* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* my custom layout

* asd

* use qmk-dfu

* :)

* ganti keymap lagi

* Add handwired2x2 project, define pins for atmega328p in config_common.h

* Add USB IDs

* my custom KBD75 layout

* renaldi danang's numpad

* my redox keymap

* reynaldi danang's numpad

* asdasd

* ASH-1800

* added description and layer 1

* added requested changes from fauxpark

* forgot to include this

* USB descriptor parameter:
- assign product id
- assign description

edit formatting on readme.md

* update USB descriptor: change manufacturer

* review from fauxpark and noroadsleft

* remove extra files

* removed unnecessary comment

* minor cleanup
2019-11-20 11:21:19 +11:00
Erovia
25e9853efe [Core] Fix ps2avrgb template (#7412) 2019-11-19 13:00:45 -08:00
Erovia
c1c27b83aa [Keyboard] Add support for the THE30 keyboard (#7390) 2019-11-19 12:56:01 -08:00
くまお工房
bb87bdec82 [Keyboard] Add Kudox column-staggered layout. (#7400)
* Add Kudox columner layout.

* Remove an extra comma from info.json.
2019-11-19 12:51:47 -08:00
Mihai Olteanu
687a24f298 Fix typo and code indentation (#7410) 2019-11-19 13:41:35 +00:00
shela
23f828a2f3 [Docs] Fix Japanese country flag (#7407) 2019-11-19 00:38:50 -08:00
skullydazed
9c58da6b12 Improve a number of things about how MILC operates (#7344)
* Pull in updates for MILC

* Remove the shadow argparser
* Make it easier to reason about arguments and how they're translated into the config tree
* Populate self.config during init to support setting user.qmk_home for the global CLI
* Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing
* Remove the --save-config option as it's a little confusing anyway
* Use Pathlib for path manipulation

* Fix commands with no arguments
2019-11-18 14:54:50 -08:00
moyi4681
b608bddc5e knight Indicator light fix (#7398)
* knight Indicator light fix

* Update knight.c

* Update knight.c

* Update knight.c

* Update knight.c
2019-11-18 19:25:35 +11:00
Takeshi ISHII
cee8df3edf [Docs] Modified the description about setting debug_enable in docs/faq_debug.md. (#7394) 2019-11-17 17:09:57 -08:00
Luiz Correia
e58dd1a09a [Keyboard] Add abnt2 layout to gh60 (#7371)
* [keymap] Add abnt2 format to gh60

* Fix typing errors

* Change key names to capitals

* Fix layout define

* Apply suggestions from code review

* Fix layout define again I used a k

* Remove layer variable

* Update keyboards/dz60/keymaps/default_abnt2/readme.md

* Make changes from noroadsleft
2019-11-17 16:10:16 -08:00
zvecr
a91c0c4765 Run clang-format manually to fix recently changed files 2019-11-17 08:25:58 -08:00
James Young
6b18ca2875 Add Community Layout: 60_abnt2 (#7381)
* Add Community Layout: 60_abnt2

Add a 60% version of the standard keyboard layout used in Brazil.

* Enable 60_abnt2 support for DZ60

* fix the indenting in the Community Layout keymap
2019-11-17 08:12:57 -08:00
Erovia
7b6c8e89ca Doc fix to conform with #7221 (#7392) 2019-11-17 16:04:44 +00:00
James Young
46d0fe44f3 [Keyboard] Cutie Club Wraith: Configurator Bugfix for LAYOUT_iso (#7376)
* debug lint info.json

Because I need to debug this file.

* move ISO Enter to the proper location in sequence

* add key counts because I like having them
2019-11-16 12:46:34 -08:00
Robert Akhmerov
634b277b07 [Docs] Explain Tap Dance interruption (#5520) 2019-11-16 09:20:49 -08:00
QMK Bot
7891de7f6d format code according to conventions [skip ci] 2019-11-16 07:10:19 +00:00
jorgemanzo
897888db41 Add CLI command for flashing a keyboard
A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename].

A -kb <keyboard> and -km <keymap> is expected, or a configurator export JSON filename. A bootloader can be specified using -bl <target>, and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders.

If -km <keymap> is provided, but no -kb <keyboard>, then a message is printed suggesting the user to run qmk list_keyboards.
2019-11-15 23:06:07 -08:00
jotix
4f5b34af56 [Keymap] add_mouse_keys (#7372) 2019-11-15 17:22:48 -08:00
Joel Challis
b94f6cb116 Port SPLIT_USB_DETECT to crkbd (#7195) 2019-11-16 00:07:21 +00: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
Drashna Jaelre
f6b5f6db76 Improvements to Solenoid feature (#7369)
* Error out when Solenid pin is not defined

Instead of defaulting to a (literally) random pin, error out instead.  Because this pin may be used, or because that pin may not be exposed, or may not exist.

* Remove 'SOLENOID_ACTIVE' setting since it's not used

* Update documentation
2019-11-15 22:27:46 +00: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
Salicylic-acid3
ad36bb37dd [Keyboard] Add keyboard Nafuda (#7367)
* [Keyboard] Add keyboard Nafuda

Add Nafuda keyboard.

A 7 keys keyboard.
Salicylic-acid3

* Update keyboards/nafuda/info.json

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/nafuda.h

* Update keyboards/nafuda/readme.md

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* Update keyboards/nafuda/rules.mk

* info.json Update

* Update keyboards/nafuda/rules.mk
2019-11-15 10:20:57 -08:00
moyi4681
1c9e450218 [Keyboard] kbdfans keyboards NKRO enable (#7364) 2019-11-15 00:01:51 -08:00
James Young
700bea41f8 [Keyboard] fix DZ60RGB info.json (#7362)
* fix DZ60RGB info.json

JSON was invalid.

* correct metadata per moyi4681
2019-11-14 22:10:54 -08:00
Sid Carter
43889326fc Adding new pcb with default keymap and personal keymap (#7314)
* adding new pcb with default keymap and personal keymap

* Update keyboards/leeku/finger65/readme.md

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

* Change to newer DEBOUNCE format

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

* switch to pragma

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

* remove unused define keyboards/leeku/finger65/config.h

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

* some cleanup after debounce and other changes

* Remove no_suspend_power_down from keyboards/leeku/finger65/rules.mk

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

* move to newer format and remove unused stuff

* ensure default has no leds for now

* change default layout name

* clean up the keymap a bit

* want grave not tilde

* a minor change and cleanup

* more stuff removed cause I don't care for LEDs

* remove some remaining stuff

* add RGBLED stuff

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/usbconfig.h

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

* update USB information

* Update keyboards/leeku/finger65/usbconfig.h

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/rules.mk

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

* Update keyboards/leeku/finger65/keymaps/default/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/default/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c

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

* Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c

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

* cleanup and conform to existing standard

* Update keyboards/leeku/finger65/rules.mk

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

* remove stuff that doesn't work

* add a JSON for the QMK configurator

* list the layouts only available

* let's just make it the 65 ansi layout with split backspace, eh?

* remove extra space

* Update keyboards/leeku/finger65/readme.md

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

* Update keyboards/leeku/finger65/readme.md

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

* update readme

* remove redundant title

* Monica Bellucci ruined my life

* I'm having a RELIGIOUS EXPERIENCE ... and I don't take any DRUGS

* Update keyboards/leeku/finger65/rules.mk

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

* add a URL to the username

* fix readme and make it simpler with links this time

* Update keyboards/leeku/finger65/readme.md

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

* Update keyboards/leeku/finger65/readme.md

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

* incorporate suggested changes

* update usb stuff for some stuff coming in the future

* update layout for LAYOUT_ALL

* USB power changes
2019-11-15 13:30:29 +11: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
Takeshi ISHII
c19e4da8af [Docs] Japanese translation of docs/ja/newbs_best_practices.md (#7337)
* Mark same as in new document #7231

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* comment out the same marks

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs.md, docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/*.md's comment

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

* Update docs/ja/newbs_best_practices.md

Co-Authored-By: shela <shelaf@users.noreply.github.com>
2019-11-14 18:22:55 -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
jotix
a2eb962704 capslock_led (#7359) 2019-11-15 09:46:53 +11:00
Drashna Jaelre
1cf63a193b Move Ergodox EZ RGB Light code to custom driver (#7309)
* Move Ergodox EZ RGB code to custom driver

Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs
Co-authored-by: Seebs <seebs@seebs.net>

* Make Clipping range accessible for custom drivers

* Remove RGBW_BB_TWI from driver and docs

* Revert changes to clipping range support

* Use just rgblight_set instead of full custom driver

* Convert to i2c_master commands

* Rename rgblight driver and clean up includes
2019-11-14 12:00:51 -08:00
Jake Waksbaum
8dc9764f31 Fix shell.nix by pinning nixpkgs (#6213) 2019-11-14 12:00:36 -08:00
moyi4681
426c03eda0 [Keyboard] add kbdmini; dztech, kbdfans keyboards cleanup (#7223)
* add kbdmini, dztech and kbdfans keyboards small fix

* Caps lock indicator moved from keymap

* Update dz65rgb.c

* fix error

* fix matthewrobo keymap error

* Update keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c

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

* Update keyboards/dztech/dz60rgb/dz60rgb.c

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

* Update keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c

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

* Update keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c

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

* Update keyboards/dztech/dz65rgb/dz65rgb.c

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

* wrap all of the g_led_config stuff and rgb matrix functions in ifdefs

wrap all of the g_led_config stuff and rgb matrix functions in ifdefs
2019-11-14 11:55:46 -08:00
fauxpark
5edd4b99fe [Docs] Encourage newbs to not download the repo as a zip (#7353)
* Encourage newbs to not download the repo as a zip

* Tweak wording and remove Russian translation of deprecated Vista+ instructions
2019-11-14 11:37:18 -08:00
Drashna Jaelre
872744f5ab Update debounce docs (#7355) 2019-11-14 18:54:34 +00:00
MechMerlin
44df08746a [Keyboard] Add TG4x (#7351)
* initial commit

* add pins and matrix

* add an appropriate keymap

* set bootloader to caterina

* add QMK Configurator support

* turn on RGB and link time optimization

* add rgb pin

* update readme on rgb underglow info

* Update keyboards/tg4x/readme.md

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

* Update keyboards/tg4x/readme.md

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

* Update keyboards/tg4x/readme.md

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

* setting product id to 1 to match original code
2019-11-14 10:52:55 -08:00
MechMerlin
661462218b [Keyboard] Add FLX Virgo (#7352)
* help flex get his board into QMK

* Put my name everywhere it matters

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/rules.mk

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

* Update keyboards/flx/virgo/readme.md

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

* Update keyboards/flx/virgo/readme.md

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

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/config.h

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

* Update keyboards/flx/virgo/readme.md

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

* add product and vendor id

* update readme with better description and img

* use fauxpark suggestion for led update
2019-11-14 03:12:50 -08:00
QMK Bot
1f332968a5 format code according to conventions [skip ci] 2019-11-14 08:08:07 +00:00
alittlepeace
d50d6f678f Adding verd layout to RSII (#7296)
* verd

verd

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keymap.c

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update rules.mk

* Update rules.mk

* Delete tests.txt

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update config.h

* Update verd.h

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update matrix.c

* Update readme.md

* Update verd.h

* Update verd.c

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/config.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/config.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update verd.h

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/verd.c

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

* Update keymap.c

* Update verd.c

* Update config.h

* Update verd.h

added regular non split 0

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/rules.mk

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

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keymap.c

* Update keymap.c

* Update keyboards/redscarf_iiplus/verd/readme.md

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/matrix.c

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

* Update info.json

* Update info.json

* Update info.json

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/verd.h

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

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

* Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-14 19:04:57 +11:00
Daniel Barber
28d3f03e43 Add my custom layouts for GH60, DZ60 and Minivan (#7278)
Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-14 14:26:40 +11:00
Luiz Correia
1b2e666490 [Keyboard] Added abnt2 layout to dz60 (#7340)
* [keymap] Added abnt2 format to dz60

* [layout] added LAYOUT_60_iso_abnt2 to dz60

* Fix error: macro  passed 63 arguments & takes 62

* Change BR_QUOTE to KC_GRV

* Clean dz60.h

* Apply suggestions from code review

Accepted suggested from noroadsleft

* Applied suggested changes

* Update info.js with abnt2 layout

* Update keyboards/dz60/info.json

* Update keyboards/dz60/info.json

* Rename the keymap to default_abnt2
2019-11-13 13:48:32 -08:00
Simon Aronsson
f2346be13d [Keyboard] add Little Keyboards as a seller of helix pcbs outside of japan (#7249)
* add lkb as a seller of helix pcbs outside of japan

* Update keyboards/helix/readme.md
2019-11-13 13:46:36 -08:00
fauxpark
fc867422a3 Update ARM GCC on macOS to 8.3 (#7318) 2019-11-13 10:13:27 -08:00
fauxpark
9dc5432a3e [Keyboard] XT converter: add config_common.h include and fix E0 collision (#7341) 2019-11-13 00:38:37 -08:00
Joel Challis
7e8f239c2e [CI] Revert to previous logic for branch name and changes (#7343) 2019-11-12 23:53:05 -08:00
Calvin Moody
6449bd2551 [Keymap] update calbatr0ss layout (#7342) 2019-11-12 23:10:54 -08:00
XScorpion2
1cd7afaff1 [Keymap] Added Xulkal ALT Keymap (#7332)
* Added Xulkal ALT Keymap

* Hadron compile fix

* Keymap fix
2019-11-12 23:02:58 -08:00
Salicylic-acid3
12ea2e3649 [Keyboard] Add keyboard Setta21 (#7320)
* [Keyboard] Add keyboard Setta21

Add Setta21 keyboard.

A 21 keys Tenkey.
Salicylic-acid3

* Update keyboards/setta21/keymaps/default/keymap.c

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

* Update keyboards/setta21/keymaps/default/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/default/keymap.c

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

* Update keyboards/setta21/keymaps/default/keymap.c

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

* Update keyboards/setta21/keymaps/default/keymap.c

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

* Update keyboards/setta21/info.json

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Update keyboards/setta21/keymaps/salicylic/keymap.c

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

* Keymap Update

Removed the keymap matrix_init_user.
Changed the declaration of DRIVER_LED_TOTAL.

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/readme.md

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rules.mk

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

* Update keyboards/setta21/rev1/rev1.c

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

* Update keyboards/setta21/rev1/rev1.h

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

* Update Keymap

Removed OLED sleep timer in keymap.

* Update keyboards/setta21/rev1/rev1.h

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-11-12 23:01:14 -08:00
QMK Bot
a4c2a9b083 format code according to conventions [skip ci] 2019-11-13 05:24:56 +00:00
Cody Bender
7329c2d02d Add cli convert subcommand, from raw KLE to JSON (#6898)
* Add initial pass at KLE convert

* Add cli log on convert

* Move kle2xy, add absolute filepath arg support

* Add overwrite flag, and context sensitive conversion

* Update docs/cli.md

* Fix converter.py typo

* Add convert unit test

* Rename to kle2qmk

* Rename subcommand

* Rename subcommand to kle2json

* Change tests to cover rename

* Rename in __init__.py

* Update CLI docs with new subcommand name

* Fix from suggestions in PR #6898

* Help with cases of case sensitivity

* Update cli.md

* Use angle brackets to indicate required option

* Make the output text more accurate
2019-11-12 20:55:41 -08:00
skullY
00fb1bd1f0 Make generating keymap.c from JSON more reliable 2019-11-12 20:37:28 -08:00
skullY
79edb7c594 Small CLI cleanups
* yapf changes
* Fix the cformat test
* Make the normpath test work when run from /
* `qmk config`: Mark `--read-only` as arg_only
2019-11-12 18:41:38 -08:00
1085 changed files with 39636 additions and 11431 deletions

View File

@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: bug, help wanted, discussion
labels: bug, help wanted
assignees: ''
---

View File

@ -2,7 +2,7 @@
name: Feature request
about: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: enhancement, help wanted, discussion
labels: enhancement, help wanted
assignees: ''
---

View File

@ -2,7 +2,7 @@
name: Other issues
about: Anything else that doesn't fall into the above categories.
title: ''
labels: help wanted, question, discussion
labels: help wanted, question
assignees: ''
---

58
.github/stale.yml vendored Normal file
View File

@ -0,0 +1,58 @@
# Configuration for probot-stale - https://github.com/probot/stale
# General configuration
# Pull request specific configuration
pulls:
staleLabel: awaiting changes
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 45
# Number of days of inactivity before a stale Issue or Pull Request is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 30
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress`, or `on hold` to prevent
the issue from being re-flagged.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Thank you for your contribution!
This pull request has been automatically closed because it has not had activity in the last 30 days.
Please feel free to give a status update now, ping for review, or re-open when it's ready.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
exemptLabels:
- awaiting review
- breaking_change
- in progress
- on hold
# Issue specific configuration
issues:
staleLabel: stale
limitPerRun: 10
daysUntilStale: 90
daysUntilClose: 30
markComment: >
This issue has been automatically marked as stale because it has not had activity in the
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
occurs.
For maintainers: Please label with `bug`, `in progress`, `on hold`, `discussion` or `to do` to prevent
the issue from being re-flagged.
closeComment: >
This issue has been automatically closed because it has not had activity in the last 30 days.
If this issue is still valid, re-open the issue and let us know.
exemptLabels:
- bug
- in progress
- on hold
- discussion
- to do

View File

@ -272,12 +272,14 @@ define PARSE_RULE
# If the rule starts with all, then continue the parsing from
# PARSE_ALL_KEYBOARDS
ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
KEYBOARD_RULE=all
$$(eval $$(call PARSE_ALL_KEYBOARDS))
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,test),true)
$$(eval $$(call PARSE_TEST))
# If the rule starts with the name of a known keyboard, then continue
# the parsing from PARSE_KEYBOARD
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYBOARDS)),true)
KEYBOARD_RULE=$$(MATCHED_ITEM)
$$(eval $$(call PARSE_KEYBOARD,$$(MATCHED_ITEM)))
# Otherwise use the KEYBOARD variable, which is determined either by
# the current directory you run make from, or passed in as an argument
@ -380,6 +382,9 @@ define PARSE_KEYBOARD
# Otherwise try to match the keymap from the current folder, or arguments to the make command
else ifneq ($$(KEYMAP),)
$$(eval $$(call PARSE_KEYMAP,$$(KEYMAP)))
# Otherwise if we are running make all:<user> just skip
else ifeq ($$(KEYBOARD_RULE),all)
# $$(info Skipping: No user keymap for $$(CURRENT_KB))
# Otherwise, make all keymaps, again this is consistent with how it works without
# any arguments
else

View File

@ -25,6 +25,11 @@ with open(os.path.join(qmk_dir, 'requirements.txt'), 'r') as fd:
line = line.split('#')[0]
module = line.split('=')[0] if '=' in line else line
if module in ['pep8-naming']:
# Not every module is importable by its own name.
continue
if not find_spec(module):
print('Could not find module %s!' % module)
print('Please run `pip3 install -r requirements.txt` to install the python dependencies.')
@ -41,7 +46,7 @@ else:
os.environ['QMK_VERSION'] = 'nogit-' + strftime('%Y-%m-%d-%H:%M:%S') + '-dirty'
# Setup the CLI
import milc
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@ -61,7 +66,7 @@ def main():
os.chdir(qmk_dir)
# Import the subcommands
import qmk.cli
import qmk.cli # noqa
# Execute
return_code = milc.cli()

View File

@ -22,6 +22,5 @@ else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
endif
# Generate the keymap.c
ifneq ("$(KEYMAP_JSON)","")
_ = $(shell test -e $(KEYMAP_C) || bin/qmk json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C))
endif
$(KEYBOARD_OUTPUT)/src/keymap.c:
bin/qmk json-keymap --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)

View File

@ -407,12 +407,18 @@ ifeq ($(strip $(SPACE_CADET_ENABLE)), yes)
OPT_DEFS += -DSPACE_CADET_ENABLE
endif
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c
OPT_DEFS += -DDIP_SWITCH_ENABLE
MAGIC_ENABLE ?= yes
ifeq ($(strip $(MAGIC_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_magic.c
OPT_DEFS += -DMAGIC_KEYCODE_ENABLE
endif
ifeq ($(strip $(DYNAMIC_MACRO_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_dynamic_macro.c
OPT_DEFS += -DDYNAMIC_MACRO_ENABLE
endif
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c
OPT_DEFS += -DDIP_SWITCH_ENABLE
endif

View File

@ -15,7 +15,7 @@ QMK (*Quantum Mechanical Keyboard*) is an open source community that maintains Q
If you plan on contributing a keymap, keyboard, or features to QMK, the easiest thing to do is [fork the repo through Github](https://github.com/qmk/qmk_firmware#fork-destination-box), and clone your repo locally to make your changes, push them, then open a [Pull Request](https://github.com/qmk/qmk_firmware/pulls) from your fork.
Otherwise, you can either download it directly ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), or clone it via git (`git@github.com:qmk/qmk_firmware.git`), or https (`https://github.com/qmk/qmk_firmware.git`).
Otherwise, you can clone it directly with `git clone https://github.com/qmk/qmk_firmware`. Do not download the zip or tar files; a git repository is required to download the submodules in order to compile.
## How to Compile

View File

@ -5,4 +5,4 @@
- [:fr: Français](/fr-fr/)
- [:he: עברית](/he-il/)
- [:ru: Русский](/ru-ru/)
- [:ja: 日本語](/ja/)
- [:jp: 日本語](/ja/)

View File

@ -3,7 +3,10 @@
* [Building Your First Firmware](newbs_building_firmware.md)
* [Flashing Firmware](newbs_flashing.md)
* [Testing and Debugging](newbs_testing_debugging.md)
* [Git Best Practices](newbs_best_practices.md)
* [Best Git Practices](newbs_git_best_practices.md)
* [Using Your Fork's Master](newbs_git_using_your_master_branch.md)
* [Resolving Merge Conflicts](newbs_git_resolving_merge_conflicts.md)
* [Resynchronizing a Branch](newbs_git_resynchronize_a_branch.md)
* [Learning Resources](newbs_learn_more_resources.md)
* [QMK Basics](README.md)
@ -98,6 +101,7 @@
* [Hand Wiring Guide](hand_wire.md)
* [ISP Flashing Guide](isp_flashing_guide.md)
* [ARM Debugging Guide](arm_debugging.md)
* [ADC Driver](adc_driver.md)
* [I2C Driver](i2c_driver.md)
* [WS2812 Driver](ws2812_driver.md)
* [GPIO Controls](internals_gpio_control.md)
@ -111,7 +115,7 @@
* [Using Eclipse with QMK](other_eclipse.md)
* [Using VSCode with QMK](other_vscode.md)
* [Support](support.md)
* [How to add translations](translating.md)
* [Translating the QMK Docs](translating.md)
* QMK Internals (In Progress)
* [Defines](internals_defines.md)

50
docs/adc_driver.md Normal file
View File

@ -0,0 +1,50 @@
# ADC Driver
QMK can leverage the Analog-to-Digital Converter (ADC) on supported MCUs to measure voltages on certain pins. This can be useful for implementing things such as battery level indicators for Bluetooth keyboards, or volume controls using a potentiometer, as opposed to a [rotary encoder](feature_encoders.md).
This driver is currently AVR-only. The values returned are 10-bit integers (0-1023) mapped between 0V and VCC (usually 5V or 3.3V).
## Usage
To use this driver, add the following to your `rules.mk`:
```make
SRC += analog.c
```
Then place this include at the top of your code:
```c
#include "analog.h"
```
## Channels
|Channel|AT90USB64/128|ATmega16/32U4|ATmega32A|ATmega328P|
|-------|-------------|-------------|---------|----------|
|0 |`F0` |`F0` |`A0` |`C0` |
|1 |`F1` |`F1` |`A1` |`C1` |
|2 |`F2` | |`A2` |`C2` |
|3 |`F3` | |`A3` |`C3` |
|4 |`F4` |`F4` |`A4` |`C4` |
|5 |`F5` |`F5` |`A5` |`C5` |
|6 |`F6` |`F6` |`A6` |* |
|7 |`F7` |`F7` |`A7` |* |
|8 | |`D4` | | |
|9 | |`D6` | | |
|10 | |`D7` | | |
|11 | |`B4` | | |
|12 | |`B5` | | |
|13 | |`B6` | | |
<sup>\* The ATmega328P possesses two extra ADC channels; however, they are not present on the DIP pinout, and are not shared with GPIO pins. You can use `adc_read()` directly to gain access to these.</sup>
## Functions
|Function |Description |
|----------------------------|-------------------------------------------------------------------------------------------------------------------|
|`analogReference(mode)` |Sets the analog voltage reference source. Must be one of `ADC_REF_EXTERNAL`, `ADC_REF_POWER` or `ADC_REF_INTERNAL`.|
|`analogRead(pin)` |Reads the value from the specified Arduino pin, eg. `4` for ADC6 on the ATmega32U4. |
|`analogReadPin(pin)` |Reads the value from the specified QMK pin, eg. `F6` for ADC6 on the ATmega32U4. |
|`pinToMux(pin)` |Translates a given QMK pin to a mux value. If an unsupported pin is given, returns the mux value for "0V (GND)". |
|`adc_read(mux)` |Reads the value from the ADC according to the specified mux. See your MCU's datasheet for more information. |

View File

@ -95,6 +95,30 @@ qmk compile <configuratorExport.json>
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk flash`
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default.
To specify a different bootloader, use `-bl <bootloader>`. Visit <https://docs.qmk.fm/#/flashing>
for more details of the available bootloaders.
**Usage for Configurator Exports**:
```
qmk flash <configuratorExport.json> -bl <bootloader>
```
**Usage for Keymaps**:
```
qmk flash -kb <keyboard_name> -km <keymap_name> -bl <bootloader>
```
**Listing the Bootloaders**
```
qmk flash -b
```
## `qmk config`
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
@ -135,6 +159,28 @@ Creates a keymap.c from a QMK Configurator export.
qmk json-keymap [-o OUTPUT] filename
```
## `qmk kle2json`
This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite.
**Usage**:
```
qmk kle2json [-f] <filename>
```
**Examples**:
```
$ qmk kle2json kle.txt
☒ File info.json already exists, use -f or --force to overwrite.
```
```
$ qmk kle2json -f kle.txt -f
Ψ Wrote out to info.json
```
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`

View File

@ -173,3 +173,35 @@ You will only be able to access these arguments using `cli.args`. For example:
```
cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.output)
```
# Testing, and Linting, and Formatting (oh my!)
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `pyformat` subcommands to run these tests:
### Testing and Linting
qmk pytest
### Formatting
qmk pyformat
## Formatting Details
We use [yapf](https://github.com/google/yapf) to automatically format code. Our configuration is in the `[yapf]` section of `setup.cfg`.
?> Tip- Many editors can use yapf as a plugin to automatically format code as you type.
## Testing Details
Our tests can be found in `lib/python/qmk/tests/`. You will find both unit and integration tests in this directory. We hope you will write both unit and integration tests for your code, but if you do not please favor integration tests.
If your PR does not include a comprehensive set of tests please add comments like this to your code so that other people know where they can help:
# TODO(unassigned/<yourGithubUsername>): Write <unit|integration> tests
We use [nose2](https://nose2.readthedocs.io/en/latest/getting_started.html) to run our tests. You can refer to the nose2 documentation for more details on what you can do in your test functions.
## Linting Details
We use flake8 to lint our code. Your code should pass flake8 before you open a PR. This will be checked when you run `qmk pytest` and by CI when you submit a PR.

View File

@ -14,7 +14,7 @@ Most of our style is pretty easy to pick up on, but right now it's not entirely
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* If you're not sure if a comment is obvious, go ahead and include it.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* We use `#pragma once` at the start of header files rather than old-style include guards (`#ifndef THIS_FILE_H`, `#define THIS_FILE_H`, ..., `#endif`)
* We accept both forms of preprocessor if's: `#ifdef DEFINED` and `#if defined(DEFINED)`

View File

@ -8,7 +8,7 @@ Most of our style follows PEP8 with some local modifications to make things less
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* If you're not sure if a comment is obvious, go ahead and include it.
* We require useful docstrings for all functions.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* Some of our practices conflict with the wider python community to make our codebase more approachable to non-pythonistas.

View File

@ -101,6 +101,18 @@ enum my_keycodes {
};
```
### Previewing the Documentation
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
./bin/qmk docs
or if you only have Python 3 installed:
python3 -m http.server 8936
and navigating to `http://localhost:8936/`.
## Keymaps
Most first-time QMK contributors start with their personal keymaps. We try to keep keymap standards pretty casual (keymaps, after all, reflect the personality of their creators) but we do ask that you follow these guidelines to make it easier for others to discover and learn from your keymap.

View File

@ -114,7 +114,15 @@ Two more deprecated functions exist that provide the LED state as a `uint8_t`:
This function will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter.
You must return either `true` or `false` from this function, depending on whether you want to override the keyboard-level implementation.
By convention, return `true` from `led_update_user()` to get the `led_update_kb()` hook to run its code, and
return `false` when you would prefer not to run the code in `led_update_kb()`.
Some examples include:
- overriding the LEDs to use them for something else like layer indication
- return `false` because you do not want the `_kb()` function to run, as it would override your layer behavior.
- play a sound when an LED turns on or off.
- return `true` because you want the `_kb` function to run, and this is in addition to the default LED behavior.
?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead.
@ -122,66 +130,41 @@ You must return either `true` or `false` from this function, depending on whethe
```c
bool led_update_kb(led_t led_state) {
if(led_update_user(led_state)) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
return true;
bool res = led_update_user(led_state);
if(res) {
// writePin sets the pin high for 1 and low for 0.
// In this example the pins are inverted, setting
// it low/0 turns it on, and high/1 turns the LED off.
// This behavior depends on whether the LED is between the pin
// and VCC or the pin and GND.
writePin(B0, !led_state.num_lock);
writePin(B1, !led_state.caps_lock);
writePin(B2, !led_state.scroll_lock);
writePin(B3, !led_state.compose);
writePin(B4, !led_state.kana);
}
return res;
}
```
### Example `led_update_user()` Implementation
This incomplete example would play a sound if Caps Lock is turned on or off. It returns `true`, because you also want the LEDs to maintain their state.
```c
#ifdef AUDIO_ENABLE
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
#endif
bool led_update_user(led_t led_state) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
#ifdef AUDIO_ENABLE
static uint8_t caps_state = 0;
if (caps_state != led_state.caps_lock) {
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
caps_state = led_state.caps_lock;
}
#endif
return true;
}
```
@ -411,7 +394,7 @@ void keyboard_post_init_user(void) {
// Set default layer, if enabled
if (user_config.rgb_layer_change) {
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom_cyan();
rgblight_sethsv_noeeprom_cyan();
rgblight_mode_noeeprom(1);
}
}
@ -459,18 +442,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return true; // Let QMK send the enter press/release events
case RGB_LYR: // This allows me to use underglow as layer indication, or as normal
if (record->event.pressed) {
if (record->event.pressed) {
user_config.rgb_layer_change ^= 1; // Toggles the status
eeconfig_update_user(user_config.raw); // Writes the new status to EEPROM
if (user_config.rgb_layer_change) { // if layer state indication is enabled,
if (user_config.rgb_layer_change) { // if layer state indication is enabled,
layer_state_set(layer_state); // then immediately update the layer color
}
}
return false; break;
case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // For any of the RGB codes (see quantum_keycodes.h, L400 for reference)
if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
if (user_config.rgb_layer_change) { // only if this is enabled
user_config.rgb_layer_change = false; // disable it, and
if (user_config.rgb_layer_change) { // only if this is enabled
user_config.rgb_layer_change = false; // disable it, and
eeconfig_update_user(user_config.raw); // write the setings to EEPROM
}
}
@ -483,7 +466,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EEP_RST` keycode or [Bootmagic](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
```c
void eeconfig_init_user(void) { // EEPROM is getting reset!
void eeconfig_init_user(void) { // EEPROM is getting reset!
user_config.raw = 0;
user_config.rgb_layer_change = true; // We want this enabled by default
eeconfig_update_user(user_config.raw); // Write default value to EEPROM now
@ -508,7 +491,7 @@ The `val` is the value of the data that you want to write to EEPROM. And the `e
By default, the tapping term is defined globally, and is not configurable by key. For most users, this is perfectly fine. But in come cases, dual function keys would be greatly improved by different timeouts than `LT` keys, or because some keys may be easier to hold than others. Instead of using custom key codes for each, this allows for per key configurable `TAPPING_TERM`.
To enable this functionality, you need to add `#define TAPPING_TERM_PER_KEY` to your `config.h`, first.
To enable this functionality, you need to add `#define TAPPING_TERM_PER_KEY` to your `config.h`, first.
## Example `get_tapping_term` Implementation

33
docs/de/README.md Normal file
View File

@ -0,0 +1,33 @@
# Quantum Mechanical Keyboard Firmware
[![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware)
[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh)
[![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## Was ist QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) ist eine Open-Source-Community, welche die QMK-Firmware, die QMK-Toolbox, [qmk.fm](https://qmk.fm) und diese Dokumententation betreut. QMK-Firmware ist eine Weiterentwicklung der [tmk\_keyboard](http://github.com/tmk/tmk_keyboard)-Tastatur-Firmware mit vielen nützlichen Zusatzfunktionen für Atmel AVR-Prozessoren. Ursprünglich wurde sie für Produkte von [OLKB](http://olkb.com), das [ErgoDox EZ](http://www.ergodox-ez.com) und das [Clueboard](http://clueboard.co/) entwickelt. Im Laufe der Zeit wurde sie mit Hilfe von [ChibiOS](http://chibios.org) auch für die ARM-Architektur angepasst. Außerdem ist es inzwischen möglich, auch handverdrahtete Tastaturen und selbst geätzte PCBs mit QMK zu verwenden.
## Bezugsquelle für QMK
Wenn Du vorhast, deine Tastatur, Tastaturbelegung oder Features zu QMK beizusteuern, geht das am einfachsten, indem Du das [Repository auf Github](https://github.com/qmk/qmk_firmware#fork-destination-box) forkst, die Änderungen in deinem lokalen Repo vornimmst und anschließend einen [Pull Request](https://github.com/qmk/qmk_firmware/pulls) einreichst.
Ansonsten kannst Du es als [zip](https://github.com/qmk/qmk_firmware/zipball/master) oder [tar](https://github.com/qmk/qmk_firmware/tarball/master) herunterladen, oder es direkt via git klonen (`git clone git@github.com:qmk/qmk_firmware.git` bzw. `git clone https://github.com/qmk/qmk_firmware.git`).
## Anleitung fürs Kompilieren
Bevor Du in der Lage bist, die Firmware zu kompilieren, musst Du eine [Entwicklungsumgebung](de/getting_started_build_tools.md) für AVR und/oder ARM aufsetzen. Danach kannst Du mit dem `make` Befehl eine Keymap für deine Tastatur erzeugen. Die Notation dafür ist:
make planck/rev4:default
Dies generiert die Revision `rev4` für eine Tastatur vom Type `planck` mit der `default` Tastaturbelegung. Nicht alle Tastaturen haben Revisionen (auch bekannt als Subprojekt oder Unterordner) weswegen dies auch ausgelassen werden kann:
make preonic:default
## Möglichkeiten der Anpassung
QMK hat viele [Features](de/features.md), die es zu entdecken gibt. In der [Dokumentation](https://docs.qmk.fmk) kannst Du Dir einen Überblick verschaffen. Die meisten Features basieren darauf, die [Tastaturbelegung](de/keymap.md) anzupassen und das Verhalten der [Keycodes](de/keycodes.md) zu verändern.

121
docs/de/_summary.md Normal file
View File

@ -0,0 +1,121 @@
* [Anleitung für Anfänger](de/newbs.md)
* [Erste Schritte](de/newbs_getting_started.md)
* [Die erste Firmware](de/newbs_building_firmware.md)
* [Firmware flashen](de/newbs_flashing.md)
* [Testen und Debuggen](de/newbs_testing_debugging.md)
* [Git Tips und Tricks](de/newbs_best_practices.md)
* [Hilfreiche Ressourcen](de/newbs_learn_more_resources.md)
* [QMK Basics](de/README.md)
* [QMK Einführung](de/getting_started_introduction.md)
* [QMK CLI](de/cli.md)
* [QMK CLI Konfiguration](de/cli_configuration.md)
* [Zu QMK beitragen](de/contributing.md)
* [Anleitung für Github](de/getting_started_github.md)
* [Nach Hilfe fragen](de/getting_started_getting_help.md)
* [Breaking Changes](de/breaking_changes.md)
* [2019 Aug 30](de/ChangeLog/20190830.md)
* [FAQ](de/faq.md)
* [Häufige Fragen](de/faq_general.md)
* [Build/Kompilieren](de/faq_build.md)
* [Debugging/Troubleshooting](de/faq_debug.md)
* [Keymap](de/faq_keymap.md)
* [Treiber Installation mit Zadig](de/driver_installation_zadig.md)
* Detailierte Guides
* [Build Tools installieren](de/getting_started_build_tools.md)
* [Vagrant Guide](de/getting_started_vagrant.md)
* [Build/Compile Anleitung](de/getting_started_make_guide.md)
* [Firmware flashen](de/flashing.md)
* [Funktionalität anpassen](de/custom_quantum_functions.md)
* [Keymap Überblick](de/keymap.md)
* [Hardware](de/hardware.md)
* [AVR Prozessoren](de/hardware_avr.md)
* [Treiber](de/hardware_drivers.md)
* Referenz
* [Tastatur Richtlinien](de/hardware_keyboard_guidelines.md)
* [Konfigurations Optionen](de/config_options.md)
* [Keycodes](de/keycodes.md)
* [Coding Konventionen - C](de/coding_conventions_c.md)
* [Coding Konventionen - Python](de/coding_conventions_python.md)
* [Dokumentations Best Practices](de/documentation_best_practices.md)
* [Dokumentations Templates](de/documentation_templates.md)
* [Glossar](de/reference_glossary.md)
* [Unit Testing](de/unit_testing.md)
* [Nützliche Funktionen](de/ref_functions.md)
* [Configurator Support](de/reference_configurator_support.md)
* [info.json Format](de/reference_info_json.md)
* [Python CLI Development](de/cli_development.md)
* [Features](de/features.md)
* [Basic Keycodes](de/keycodes_basic.md)
* [US ANSI Shifted Keys](de/keycodes_us_ansi_shifted.md)
* [Quantum Keycodes](de/quantum_keycodes.md)
* [Advanced Keycodes](de/feature_advanced_keycodes.md)
* [Audio](de/feature_audio.md)
* [Auto Shift](de/feature_auto_shift.md)
* [Backlight](de/feature_backlight.md)
* [Bluetooth](de/feature_bluetooth.md)
* [Bootmagic](de/feature_bootmagic.md)
* [Combos](de/feature_combo.md)
* [Command](de/feature_command.md)
* [Debounce API](de/feature_debounce_type.md)
* [DIP Switch](de/feature_dip_switch.md)
* [Dynamic Macros](de/feature_dynamic_macros.md)
* [Encoders](de/feature_encoders.md)
* [Grave Escape](de/feature_grave_esc.md)
* [Haptic Feedback](de/feature_haptic_feedback.md)
* [HD44780 LCD Controller](de/feature_hd44780.md)
* [Key Lock](de/feature_key_lock.md)
* [Layouts](de/feature_layouts.md)
* [Leader Key](de/feature_leader_key.md)
* [LED Matrix](de/feature_led_matrix.md)
* [Macros](de/feature_macros.md)
* [Mouse Keys](de/feature_mouse_keys.md)
* [OLED Driver](de/feature_oled_driver.md)
* [One Shot Keys](de/feature_advanced_keycodes.md#one-shot-keys)
* [Pointing Device](de/feature_pointing_device.md)
* [PS/2 Mouse](de/feature_ps2_mouse.md)
* [RGB Lighting](de/feature_rgblight.md)
* [RGB Matrix](de/feature_rgb_matrix.md)
* [Space Cadet](de/feature_space_cadet.md)
* [Split Keyboard](de/feature_split_keyboard.md)
* [Stenography](de/feature_stenography.md)
* [Swap Hands](de/feature_swap_hands.md)
* [Tap Dance](de/feature_tap_dance.md)
* [Terminal](de/feature_terminal.md)
* [Thermal Printer](de/feature_thermal_printer.md)
* [Unicode](de/feature_unicode.md)
* [Userspace](de/feature_userspace.md)
* [Velocikey](de/feature_velocikey.md)
* Für Maker und Modder
* [Hand Wiring Guide](de/hand_wire.md)
* [ISP Flashing Guide](de/isp_flashing_guide.md)
* [ARM Debugging Guide](de/arm_debugging.md)
* [I2C Driver](de/i2c_driver.md)
* [GPIO Controls](de/internals_gpio_control.md)
* [Proton C Conversion](de/proton_c_conversion.md)
* Für ein tieferes Verständnis
* [Wie Tastaturen funktionieren](de/how_keyboards_work.md)
* [QMK verstehen](de/understanding_qmk.md)
* Andere Themen
* [Eclipse mit QMK](de/other_eclipse.md)
* [VSCode mit QMK](de/other_vscode.md)
* [Support](de/support.md)
* [Übersetzungen](de/translating.md)
* QMK Internals (In Progress)
* [Defines](de/internals_defines.md)
* [Input Callback Reg](de/internals_input_callback_reg.md)
* [Midi Device](de/internals_midi_device.md)
* [Midi Device Setup Process](de/internals_midi_device_setup_process.md)
* [Midi Util](de/internals_midi_util.md)
* [Send Functions](de/internals_send_functions.md)
* [Sysex Tools](de/internals_sysex_tools.md)

View File

@ -0,0 +1,47 @@
# Bootloader Treiber Installation mit Zadig
QMK erscheint für den Host als normales HID Eingabegerät und benötigt deshalb keine zusätzlichen Treiber. Der Bootloader, den Du für das Flashen der Firmware benötigst, jedoch meistens schon.
Hierzu gibt es zwei Ausnahmen: den Caterina Bootloader, meistens auf Pro Micros, sowie den HalfKay Bootloader auf PJRC Teensys. Diese erscheinen als serieller Port und als generisches HID Gerät und benötigen keine Treiber.
Wir empfehlen deshalb [Zadig](https://zadig.akeo.ie/). Wenn Du die Entwicklungsumgebung mit MSYS2 oder WSL installiert hast, wird dich dass `qmk_install.sh` Skript gefragt haben, ob es die Treiber für dich installieren sollte.
## Installation
Versetze deine Tastatur in den Bootloader-Modus, entweder durch Betätigung des physischen `RESET` Schalters - meist auf der Unterseite der Platine - oder durch das Auslösen des Key-Codes `RESET` bzw. `KC_RESET` (sollte in der zur Tastatur gehörigen `keycode.c` zu entnehmen sein). Sollte deine Tastatur weder noch besitzen, versuche es damit die `Escape`-Taste oder `Leertaste + B` zu halten während Du die Tastatur mit dem PC verbindest (Siehe auch [Bootmagic](de/feature_bootmagic.md) für weitere Details). Ein paar Tastaturen benutzen das [Command](de/feature_command.md)-Feature an Stelle von Bootmagic; in diesem Fall kannst du mit den Tastenkombinationen `linkes Shift + rechtes Shift + B` oder `linkes Shift + rechtes Shift + Escape` zu jeder Zeit in den Bootloader wechseln solange die Tastatur verbunden ist.
Eingie Tastaturen haben u.U. spezielle Anweisungen um in den Bootloader-Modus zu gelangen. Zum Beispiel kann die [Bootmagic-Lite](de/feature_bootmagic.md#bootmagic-lite)-Taste (default: Escape) auf eine andere Taste gemappt sein; oder die magische Kombination (default: linkes Shift+rechtes Shift) verwendet anstatt Shift die STRG-Tasten. Die zur Tastatur gehörige README sollte dir Aufschluss darüber geben wie der Bootloader-Modus ausgelöst werden kann wenn Du unsicher bist.
Um ein Gerät mit USBaspLoader in den Bootloader-Modus zu versetzen, halte `BOOT` gedrückt während Du den `RESET`-Knopf drückst.
Alternativ, halte `BOOT` gedrückt während Du das USB-Kabel einsteckst.
Zadig sollte das Bootloader-Gerät automatisch erkennen. Manchmal musst Du zusätzlich noch **Options → List All Devices** auswählen.
- Tastaturen mit Atmel AVR MCUs sollten als `ATm32U4DFU` (oder ähnlich) angezeigt werden, mit der Vendor ID `03EB`.
- USBasp werden als `USBasp` angezeigt, mit VID/PID `16C0:05DC`.
- Tastaturen AVR controller und dem QMK-DFU Bootloader haben den namen `<Tastatur Name> Bootloader` und die VID `03EB`.
- Die meisten ARM Tastaturen werden als `STM32 BOOTLOADER` angezeigt, mit VID/PID `0483:DF11`.
!> Sollte Zadig ein oder mehrere Geräte mit `HidUsb`-Treiber anzeigen, dann ist deine Tastatur wahrscheinlich nicht im Bootloader-Modus. Der Pfeil wird orange eingefärbt sein und Du wirst nach einer Bestätigung gefragt um Veränderungen am System vorzunehmen. In diesem Fall **fahre nicht fort**!
Wenn der Pfeil grün angezeigt wird, wähle den Treiber aus und klicke auf **Treiber installieren**. Der `libusb-win32`-Treiber sollte gewöhnlich für AVR verwendet werden und `WinUSB` für ARM. Sollte es danach noch nicht möglich sein die Tastatur zu flashen, versuche es mit einem anderen Treiber. Für USBaspLoader Geräte, die über die Befehlszeile mit MSYS2 geflasht werden, wird der `libusbk`-Treiber empfohlen. Ansonsten sollte `libusb-win32` funktionieren wenn die QMK Toolbox verwendet wird.
![Zadig mit Bootloader-Treiber korrekt installiert](https://i.imgur.com/b8VgXzx.png)
Entferne nun deine Tastatur und verbinde sie erneut um sicherzugehen dass der neue Treiber erfolgreich installiert wurde. Wenn Du QMK Toolbox benutzt, starte die Anwendung zur Sicherheit einmal neu, da Veränderungen am Treiber manchmal nicht richtig erkannt werden. Wenn dies immer noch nicht erfolgreich war hilft es an dieser Stelle manchmal ein Neustart des Computers.
## Wiederherstellung einer Installation für ein falsches Gerät
Wenn Du feststellst dass Du anschließend auf deiner Tastatur nicht mehr tippen kannst, ist etwas bei der Installation schief gelaufen. Ein häufiger Fehler ist es dass die Tastatur nicht im Bootloader-Modus war und stattdessen der Treiber für das HID-Gerät ersetzt wurde. Dies kannst Du einfach mit Zadig überprüfen, eine funktionierende Tastatur verwendet als Treiber `HidUsb` auf allen Interfaces .
![Eine funktionierende Tastatur aus Zadigs Sicht](https://i.imgur.com/Hx0E5kC.png)
Öffne den Geräte-Manager und suche nach einem Gerät das wie deine Tastatur aussieht.
![Die Tastatur mit dem falschen Treiber installiert, im Geräte-Manager](https://i.imgur.com/L3wvX8f.png)
Rechtsklick und **Gerät deinstallieren** anklicken. Bitte gehe sicher dass in diesem Schritt auch **Treibersoftware für dieses Gerät löschen** markiert ist.
![Der "Gerät deinstallieren"-Dialog, mit "Treibersoftware für dieses Gerät entfernen" markiert](https://i.imgur.com/aEs2RuA.png)
Klick **Aktion → Suche nach veränderter Hardware**. Nun solltest Du wieder in der Lage sein normal zu tippen. Vergewissere dich mit Hilfe von Zadig dass die Tastatur nun `HidUsb` als Treiber verwendet. Wenn dies der Fall ist sollte wieder alles funktionieren.

22
docs/de/newbs.md Normal file
View File

@ -0,0 +1,22 @@
# Anleitung für absolute Beginner
QMK ist eine mächtige Open Source Firmware für mechanische Tastaturen. Mit QMK kannst Du deine Tastatur sowohl sehr einfach als auch sehr umfangreich anpassen. Menschen unterschiedlichen Wissensstandes - vom kompletten Anfänger bis zum erfahrenen Programmierer - haben ihre Tastaturen mit QMK erfolgreich auf ihre persönlichen Bedürfnisse angepasst. Diese Anleitung soll Dir unabhängig von deinen Vorkenntnissen dabei helfen dies ebenfalls zu bewältigen.
Bist Du unsicher ob deine Tastatur QMK unterstützt? Wenn es eine mechanische Tastatur ist, die Du selbst gebaut hast, stehen deine Chancen gut. Wir unterstützen eine [Vielzahl](https://qmk.fm/keyboards/) selbst gebauter Tastaturen, sodass selbst wenn deine jetzige Tastatur nicht unterstützt wird Du keine Probleme haben solltest eine für deine Anforderungen zu finden.
## Übersicht
Diese Anleitung ist in 7 Abschnitte unterteilt:
* [Die ersten Schritte](newbs_getting_started.md)
* [Die erste Firmware auf der Kommandozeile erzeugen](newbs_building_firmware.md)
* [Die erste Firmware mit der Online GUI erzeugen](newbs_building_firmware_configurator.md)
* [Firmware flashen](newbs_flashing.md)
* [Testen und Debuggen](newbs_testing_debugging.md)
* [Git Leitfaden](newbs_best_practices.md)
* [Weitere hilfreiche Ressourcen für Anfänger](newbs_learn_more_resources.md)
Diese Anleitung richtet sich an Personen, die vorher noch nie Software kompiliert haben. Die Entscheidungen und Empfehlungen basieren auf dieser Grundannahme. Es gibt unterschiedliche Herangehensweisen für viele der Prozeduren und wir unterstützen die meisten Alternativen. Wenn Du mal nicht weiter weißt oder Dir nicht sicher bist, wie Du an ein Problem herangehen sollst, kannst Du uns gerne [um Hilfe bitten](getting_started_getting_help.md).
## Weitere Ressourcen
* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) Ein äußerst hilfreicher Blog eines Community-Mitglieds, der einige Grundlagen der QMK-Firmware aus der Sicht des Benutzers erklärt (auf Englisch).

View File

@ -0,0 +1,78 @@
# Eine eigene Firmware erstellen
Nachdem Du nun eine funktionierende Entwicklungsumgebung aufgesetzt hast, bist Du nun bereit, deine eigene Firmware zu erstellen. Dieses Sektion des Guides wird zwischen drei Programmen hin- und herwechseln: deinem Dateimanager, deinem Texteditor und der Befehlszeile. Lasse diese drei Fenster geöffnet, bis Du fertig und zufrieden mit deiner Tastatur-Firmware bist.
Solltest Du die Befehlszeile zwischenzeitlich geschlossen haben, vergiss nicht wieder in das richtige Verzeichnis zu navigieren, benutze dazu den Befehl `cd qmk_firmware`.
## Navigiere in deinen Keymap Ordner
Beginne damit, in das `keymaps` Verzeichnis für deine Tastatur zu navigieren.
Wenn Du macOS oder Windows benutzt, kannst Du einfach in das keymaps Verzeichnis wechseln.
?> macOS:<br>
open keyboards/<keyboard_folder>/keymaps
?> Windows:<br>
start .\\keyboards\\<keyboard_folder>\\keymaps
## Eine Kopie der `default` Tastaturbelegung erstellen
Wenn Du den `keymaps` Ordner geöffnet hast, solltest Du zuerst eine Kopie des `default` Verzeichnisses erstellen. Wir empfehlen dafür deinen GitHub Benutzernamen zu verweden, aber Du kannst auch jeden anderen Namen verwenden solange er nur aus Kleinbuchstaben, Zahlen und Unterstrichen besteht.
Um den Prozess zu automatisieren kannst Du dazu auch das Skript `new_keymap.sh` verwenden.
Navigiere dazu in das `qmk_firmware/util` Verzeichnis und gib folgenden Befehl ein:
```
./new_keymap.sh <keyboard path> <username>
```
Um zum Beispiel den Benutzernamen John für die Tastaturbelegung eines 1up60hse zu verwenden, würdest Du Folgendes eingeben:
```
./new_keymap.sh 1upkeyboards/1up60hse john
```
## Öffne `keymap.c` in deinem bevorzugtem Text Editor
Öffne deine `keymap.c`. In dieser Datei findest Du die Strukturen, die das Verhalten deiner Tastatur bestimmen. Oben in der `keymap.c` befinden sich Definitionen (defines) und Aufzählungen (enums), die die Tastaturbelegung leserlicher machen sollen. Weiter unten wirst Du eine Zeile finden, die wie folgt aussieht:
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
Diese Zeile markiert den Anfang der Liste der Ebenen (Layers). Darunter befinden sich Zeilen die entweder `LAYOUT` oder `KEYMAP` enthalten, das deutet auf den Start einer Ebene hin. Danach folgt eine Liste von Tasten, die dieser Ebene zugewiesen sind.
!> Beim Bearbeiten einer Tastaturbelegung solltest Du darauf achten, keine Kommata hinzuzufügen oder zu entfernen. Ansonsten kann dies dazu führen, dass deine Firmware nicht mehr kompiliert und es ist nicht immer einfach festzustellen, wo genau ein Komma zuviel oder zu wenig ist. Die letzte Zeile hat am Ende kein Komma, die Zeilen davor jedoch schon.
## Personalisiere die Tastaturbelegung nach deinen Wünschen
Wie Du diesen Schritt abschließt ist vollkommen Dir überlassen. Ändere die eine Sache die Dich stört oder verändere alles von Grund auf. Du kannst Ebenen entfernen die Du nicht brauchst oder Neue hinzufügen, bis zu 32 Stück. Die folgende Dokumentation verrät Dir was Du hier alles definieren kannst:
* [Keycodes](de/keycodes.md)
* [Features](de/features.md)
* [FAQ](de/faq.md)
?> Während Du langsam ein Gefühl dafür kriegst wie Keymaps funktionieren, solltest Du darauf achten nicht zuviel auf einmal zu verändern. Größere Änderungen machen es schwieriger, Probleme zu debuggen.
## Deine Firmware erzeugen
Wenn Du damit fertig bist, deine Tastaturbelegung anzupassen, musst Du noch die Firmware erzeugen. Öffne dazu wieder die Befehlszeile und führe folgenden Befehl aus:
make <my_keyboard>:<my_keymap>
Wenn deine Tastaturbelegung z.B. "xyverz" heißt und Du die Belegung für ein rev5 planck erzeugen möchtest, lautet der Befehl:
make planck/rev5:xyverz
Während des Kompiliervorgangs wird viel Text auf dem Bildschirm ausgegeben. Es sollte am Ende mit etwas enden das ungefähr so aussieht:
```
Linking: .build/planck_rev5_xyverz.elf [OK]
Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK]
Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK]
Checking file size of planck_rev5_xyverz.hex [OK]
* File size is fine - 18392/28672
```
## Deine Firmware flashen
Bitte fahre mit [Firmware flashen](de/newbs_flashing.md) fort, um zu erfahren, wie Du deine neue Firmware auf deine Tastatur flashen kannst.

369
docs/de/newbs_flashing.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,101 @@
# Einleitung
Genau wie in einem Computer befindet sich auch in einer Tastatur ein Prozessor.
Dieser Prozessor führt Software aus, die registriert wenn Tasten gedrückt bzw. wieder losgelassen werden und leitet die entsprechenden Signale an den Computer weiter.
QMK übernimmt die Rolle dieser Software und teilt dem Host-Computer den aktuellen Zustand der Tastatur mit. Wenn Du eine Tastaturbelegung definierst, ist dies äquivalent zu einem ausführbarem Programm, das auf deiner Tastatur läuft.
QMK möchte seine BenutzerInnen in die Lage versetzen, simple Aufgaben möglichst einfach zu gestalten und gleichzeitig komplexe Dinge zu ermöglichen, die mit normalen Tastaturen ohne zusätzliche Software undenkbar wären. Du musst nicht programmieren können, um abgefahrene Tastaturbelegungen zu gestalten - es reicht wenn Du eine Idee hast und ein paar einfache syntaktische Regeln verstehen kannst.
# Los geht's!
Bevor Du damit loslegen kannst, deine Tastaturbelegung zu erstellen, musst Du ein wenig Software installieren und Dir eine Entwicklungsumgebung aufsetzen. Die gute Nachricht ist, dass das nur einmal erledigt werden muss, egal für wie viele verschiedene Tastaturen Du hinterher Firmware entwickeln willst.
Wenn Du es vorziehst mit einer grafischen Oberfläche zu entwickeln kannst Du auch dazu gerne direkt mit dem online [QMK Konfigurator](https://config.qmk.fm) loslegen. Siehe auch: [Firmware mit der Online GUI erzeugen](de/newbs_building_firmware_configurator.md)
## Software herunterladen
### Text Editor
Du wirst ein Programm benötigen, mit dem Du **plain text** (= reiner Text) Dateien bearbeiten und speichern kannst. Wenn Du Windows benutzt, reicht dafür schon das normale `Notepad` und für Linux z.B. `gedit` oder `leafpad`. Beide sind sehr rudimentäre Editoren deren Funktionsumfang aber vollkommen ausreicht. Für macOS' standard `TextEdit` muss man ein bisschen vorsichtig sein und darauf achten, beim Speichern explizit unter _Format_ die Option _Reiner Text_ auszuwählen.
Ansonsten ist es empfehlenswert, einen Editor herunterzuladen der für die Programmierung und das Bearbeiten von Code ausgelegt ist wie z.b [Notepad++](http://notepad-plus-plus.org/), [Sublime Text](https://www.sublimetext.com/) oder [VS Code](https://code.visualstudio.com/).
?> Immer noch unsicher, welcher Text Editor der Richtige für Dich ist? Laurence Bradford hat eine hervorragende [Einleitung](https://learntocodewith.me/programming/basics/text-editors/) zu dem Thema geschrieben (auf Englisch).
### QMK Toolbox
QMK Toolbox ist ein optionales grafisches Programm für Windows und macOS, das es erleichtern soll, deine Tastatur zu programmieren und zu debuggen. Du wirst es höchstwahrscheinlich früher oder später als unverzichtbar ansehen, wenn es darum geht eine Tastatur einfach zu flashen oder zu debuggen, da es ermöglicht, sich debug-Nachrichten direkt anzeigen zu lassen.
[Hier kannst Du die aktuelle Version herunterladen.](https://github.com/qmk/qmk_toolbox/releases/latest)
* Für Windows: `qmk_toolbox.exe` (portable) oder `qmk_toolbox_install.exe` (installer)
* Für macOS: `QMK.Toolbox.app.zip` (portable) oder `QMK.Toolbox.pkg` (installer)
## Die Entwicklungsumgebung aufsetzen
Wir haben versucht, die Installation der Entwicklungsumgebung für QMK so einfach wie möglich zu gestalten. Alles, was Du tun musst, ist eine Linux oder Unix Umgebung aufzusetzen, danach macht QMK den Rest.
?> Wenn Du das erste Mal mit der Linux/Unix Befehlszeile arbeitest, schadet es nicht, sich mit ein paar Grundlagen und Befehlen vertraut zu machen. Diese Ressourcen sollten ausreichen, um sich das Nötigste anzueignen um mit QMK arbeiten zu können:<br>
[Erforderliche Linux Grundlagen](https://www.guru99.com/must-know-linux-commands.html)<br>
[Noch ein paar Linux Befehle](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### Windows
Du wirst MSYS2 (o.Ä.) und Git benötigen.
* Befolge die Installationsanleitung auf der [MSYS2 Homepage](http://www.msys2.org)
* Schließe alle offenen MSYS2 Fenster und öffne ein neues MSYS2 MinGW 64-bit Terminal
* Installiere Git mit dem Kommando: `pacman -S git`
### macOS
Du wirst Homebrew benötigen. Folge dafür den Anweisungen auf der [Homebrew homepage](https://brew.sh).
Nachdem Homebrew erfolgreich installiert ist, kannst Du mit _QMK aufsetzen_ fortfahren.
### Linux
Du benötigst Git, aber es ist ziemlich wahrscheinlich, dass es bereits installiert ist. Sollte dies nicht der Fall sein, kannst Du es mit dem folgenden Aufruf installieren:
* Debian / Ubuntu / Devuan: `apt-get install git`
* Fedora / Red Hat / CentOS: `yum install git`
* Arch Linux: `pacman -S git`
?> Docker ist ebenfalls eine Option für alle Plattformen. [Hier](de/getting_started_build_tools.md#docker) kannst Du dazu weitere Informationen finden.
## QMK aufsetzen
Wenn Du damit fertig bist, deine Linux/Unix Umgebung zu installieren, kannst Du damit fortfahren QMK herunterzuladen. Dafür werden wir mit Git das QMK Repository "klonen". Öffne ein Terminal oder ein MSYS2 MinGW Fenster, dies wirst Du für den Rest der Anleitung benötigen. In diesem Fenster rufst Du nun die beiden folgenden Kommandos auf:
```shell
git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
```
?> Wenn Du bereits weißt, [wie man GitHub benutzt](de/getting_started_github.md), empfehlen wir, dass Du Dir ein eigenen Fork erstellst. Wenn Du nicht weißt, was das bedeuten soll, kannst Du diesen Ratschlag getrost ignorieren.
QMK liefert ein Script mit, das helfen soll, Dir alles Weitere abzunehmen. Du kannst es mit dem folgenden Befehl aufrufen:
util/qmk_install.sh
## Die Build-Umgebung testen
Nun sollte hoffentlich alles Nötige für eine funktionierende QMK Build-Umgebung installiert sein und Du solltest in der Lage sein, die QMK-Firmware zu kompilieren. Um dies mit einer `default` Tastaturbelegung zu testen, kannst Du den folgenden Befehl ausprobieren:
make <keyboard>:default
Der Befehl um z.B. die Firmware für ein _Clueboard 66%_ zu erzeugen lautet:
make clueboard/66/rev3:default
Wenn es fertig ist, sollte der Output ungefähr so ähnlich wie das Folgende aussehen:
```
Linking: .build/clueboard_66_rev3_default.elf [OK]
Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]
Copying clueboard_66_rev3_default.hex to qmk_firmware folder [OK]
Checking file size of clueboard_66_rev3_default.hex [OK]
* The firmware size is fine - 26356/28672 (2316 bytes free)
```
# Eine eigene Tastaturbelegung erstellen
Du bist nun fertig mit dem Setup der Entwicklungsumgebung und solltest somit in der Lage sein, deine eigenen Tastaturbelegungen zu erstellen. Um fortzufahren, folge bitte der nächsten Anleitung unter [Die erste Firmware](de/newbs_building_firmware.md).

View File

@ -0,0 +1,14 @@
# Lernmaterial
Diese weiterführenden Ressourcen sind darauf ausgerichtet, Neulingen der QMK Commmunity mehr Informationen und ein besseres Verständnis zu einzelnen Themen zu bieten.
Git Ressourcen:
* [Gutes allgemeines Tutorial](https://www.codecademy.com/learn/learn-git) (auf Englisch)
* [Git spielerisch anhand von Beispielen lernen](https://learngitbranching.js.org/) (auf Englisch)
* [Mehr über den allgemeinen Umgang mit Github](getting_started_github.md)
* [Mehr über Git im Bezug zu QMK](contributing.md)
Mehr über die Arbeit mit der Befehlszeile:
* [Gutes allgemeines Tutorial über die Arbeit mit der Befehlszeile](https://www.codecademy.com/learn/learn-the-command-line) (auf Englisch)

View File

@ -0,0 +1,100 @@
# Testen und Debuggen
Nachdem Du deine Tastatur mit deiner angepassten Firmware geflasht hast, ist es nun an der Zeit sie auszuprobieren. Mit ein bisschen Glück sollte alles ohne Probleme funktionieren, wenn dies nicht der Fall ist, soll dieses Dokument dir dabei helfen, herauszufinden wo das Problem liegt.
## Testen
Die Tastatur zu testen ist relativ selbsterklärend. Drücke jede der Tasten um dich zu versichern, dass der gesendete Keyode der ist, den du erwarten würdest. Dafür gibt es sogar ein paar Programme die helfen sollen, dass keine Taste ausgelassen wurde.
Anmerkung: Diese Programme werden weder von QMK bereitgestellt oder gutgeheißen.
* [Switch Hitter](https://elitekeyboards.com/switchhitter.php) (Nur für Windows)
* [Keyboard Viewer](https://www.imore.com/how-use-keyboard-viewer-your-mac) (Nur für Mac)
* [Keyboard Tester](http://www.keyboardtester.com) (Web basiert)
* [Keyboard Checker](http://keyboardchecker.com) (Web basiert)
## Debuggen
Deine Tastatur wird Debug Informationen liefern wenn Du `CONSOLE_ENABLE = yes` in deiner `rules.mk` gesetzt hast. Die default-Ausgabe ist sehr beschränkt und kann wenn nötig durch die Aktivierung des Debug-Modes erhöht werden. Benutze dafür entweder den `DEBUG` Keycode in deiner Tastaturbelegung, das [Command](de/feature_command.md)-Feature oder füge den folgenden Code zu deiner Tastaturbelegung hinzu.
```c
void keyboard_post_init_user(void) {
// Customise these values to desired behaviour
debug_enable=true;
debug_matrix=true;
//debug_keyboard=true;
//debug_mouse=true;
}
```
### Debuggen mit der QMK Toolbox
Für kompatible Plattformen kann die [QMK Toolbox](https://github.com/qmk/qmk_toolbox) benutzt werden um Debug-Nachrichten deiner Tastatur anzuzeigen.
### Debuggen mit hid_listen
Bevorzugst Du es lieber auf der Befehlszeile zu debuggen? Dafür eignet sich das Programm [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) von PJRC. Binaries sind für Windows, Linux und MacOS verfügbar.
<!-- FIXME: Describe the debugging messages here. -->
## Eigene Debug-Nachrichten senden
Manchmal ist es hilfreich Debug-Nachrichten innerhalb deines eigenen [Custom Codes](de/custom_quantum_functions.md) zu drucken. Das ist ziemlich einfach. Beginne damit `print.h` am Anfang deiner Datei zu inkludieren:
#include <print.h>
Danach stehen dir verschiedene Druck-Funktionen zur Verfügung:
* `print("string")`: Druckt einen simplen String
* `uprintf("%s string", var)`: Druckt einen formatierten String
* `dprint("string")` Druckt einen simplen String, aber nur wenn der Debug-Mode aktiviert ist
* `dprintf("%s string", var)`: Druckt einen formatierten String, aber nur wenn der Debug-Mode aktiviert ist
## Debug Beispiele
Anbei findest Du eine Sammlung von hilfreichen Beispielen. Für weitere Informationen Informationen sei an dieser Stelle auf [Debugging/Troubleshooting QMK](de/faq_debug.md) verwiesen.
### Which matrix position is this keypress?
### Welche Matrix Position hat dieser Tastenanschlag
Beim Portieren, oder bei der Fehlerdiagnose von PCB Problemen, ist es nützlich sich anzeigen zu lassen ob ein Tastenanschlag richtig erkannt wurde. Um die Protokollierung für diesen Fall zu aktivieren, füge bitte folgenden Code zu deiner Tastaturbelegung `keymap.c` hinzu.
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Wenn 'console' aktiviert ist wird die Matrix-Position und der Status jedes Tastenanschlags ausgegeben
#ifdef CONSOLE_ENABLE
uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
#endif
return true;
}
```
Beispiel Ausgabe:
```text
Waiting for device:.......
Listening:
KL: kc: 169, col: 0, row: 0, pressed: 1
KL: kc: 169, col: 0, row: 0, pressed: 0
KL: kc: 174, col: 1, row: 0, pressed: 1
KL: kc: 174, col: 1, row: 0, pressed: 0
KL: kc: 172, col: 2, row: 0, pressed: 1
KL: kc: 172, col: 2, row: 0, pressed: 0
```
### Wieviel Zeit wurde benötigt um einen Tastenanschlag zu detektieren?
Wenn Performance-Probleme auftreten ist es hilfreich die Frequenz, mit der die Matrix gescannt wird, zu wissen. Um dies in diesem Fall zu aktiveren füge, den folgenden Code zu deiner Tastaturbelegung in `config.h` hinzu.
```c
#define DEBUG_MATRIX_SCAN_RATE
```
Beispiel Ausgabe
```text
> matrix scan frequency: 315
> matrix scan frequency: 313
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
> matrix scan frequency: 316
```

View File

@ -28,9 +28,9 @@ the Ctrl, Alt, or GUI modifiers are held down.
A compact 40% (12x4) ortholinear keyboard kit made and sold by OLKB and Massdrop. [More info on qmk.fm](http://qmk.fm/planck/)
Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0
Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open)
* Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
* Hardware Supported: Planck PCB rev1, rev2, rev3, rev4, Teensy 2.0
* Hardware Availability: [OLKB.com](https://olkb.com), [Massdrop](https://www.massdrop.com/buy/planck-mechanical-keyboard?mode=guest_open)
Make example for this keyboard (after setting up your build environment):
@ -38,5 +38,3 @@ Make example for this keyboard (after setting up your build environment):
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
```
There needs to be two spaces at the end of the `Keyboard Maintainer` and `Hardware Supported` lines for it to render correctly with Markdown.

View File

@ -19,7 +19,7 @@ De cualquier manera, también puedes descargarlo directamente en formatos ([zip]
## Cómo compilar
Antes de poder compilar, necesitarás [instalar un entorno](getting_started_build_tools.md) para el desarrollo de AVR y/o ARM. Una vez hayas completado este paso, usarás el comando `make` para compilar un teclado y keymap con la siguiente notación:
Antes de poder compilar, necesitarás [instalar un entorno](es/getting_started_build_tools.md) para el desarrollo de AVR y/o ARM. Una vez hayas completado este paso, usarás el comando `make` para compilar un teclado y keymap con la siguiente notación:
make planck/rev4:default
@ -29,4 +29,4 @@ Este ejemplo compilaría la revisión `rev4` del teclado `planck` con el keymap
## Cómo personalizar
QMK tiene montones de [características](features.md) para explorar, y una buena cantidad de [documentación de referencia](http://docs.qmk.fm) en la que sumergirse. Se pueden sacar provecho de la mayoría de las características modificando tu [keymap](keymap.md), y cambiando los [keycodes](keycodes.md).
QMK tiene montones de [características](es/features.md) para explorar, y una buena cantidad de [documentación de referencia](http://docs.qmk.fm) en la que sumergirse. Se pueden sacar provecho de la mayoría de las características modificando tu [keymap](es/keymap.md), y cambiando los [keycodes](es/keycodes.md).

View File

@ -1,121 +1,121 @@
* [Guía completa para novatos](newbs.md)
* [Empezando](newbs_getting_started.md)
* [Construyendo tu primer firmare](newbs_building_firmware.md)
* [Flasheando el firmware](newbs_flashing.md)
* [Testeando y depurando ](newbs_testing_debugging.md)
* [Mejores práticas](newbs_best_practices.md)
* [Recursos de aprendizaje](newbs_learn_more_resources.md)
* [Guía completa para novatos](es/newbs.md)
* [Empezando](es/newbs_getting_started.md)
* [Construyendo tu primer firmare](es/newbs_building_firmware.md)
* [Flasheando el firmware](es/newbs_flashing.md)
* [Testeando y depurando ](es/newbs_testing_debugging.md)
* [Mejores práticas](es/newbs_best_practices.md)
* [Recursos de aprendizaje](es/newbs_learn_more_resources.md)
* [QMK Basics](README.md)
* [Introducción a QMK](getting_started_introduction.md)
* [QMK CLI](cli.md)
* [Configuración de QMK CLI](cli_configuration.md)
* [Contribuyendo a QMK](contributing.md)
* [Cómo usar Github](getting_started_github.md)
* [Obtener ayuda](getting_started_getting_help.md)
* [QMK Basics](es/README.md)
* [Introducción a QMK](es/getting_started_introduction.md)
* [QMK CLI](es/cli.md)
* [Configuración de QMK CLI](es/cli_configuration.md)
* [Contribuyendo a QMK](es/contributing.md)
* [Cómo usar Github](es/getting_started_github.md)
* [Obtener ayuda](es/getting_started_getting_help.md)
* [Cambios incompatibles](breaking_changes.md)
* [30 Ago 2019](ChangeLog/20190830.md)
* [Cambios incompatibles](es/breaking_changes.md)
* [30 Ago 2019](es/ChangeLog/20190830.md)
* [Preguntas frecuentes](faq.md)
* [General](faq_general.md)
* [Construir/Compilar QMK](faq_build.md)
* [Depurando/Encontrando problemas en QMK](faq_debug.md)
* [Keymap](faq_keymap.md)
* [Instalación de drivers con Zadig](driver_installation_zadig.md)
* [Preguntas frecuentes](es/faq.md)
* [General](es/faq_general.md)
* [Construir/Compilar QMK](es/faq_build.md)
* [Depurando/Encontrando problemas en QMK](es/faq_debug.md)
* [Keymap](es/faq_keymap.md)
* [Instalación de drivers con Zadig](es/driver_installation_zadig.md)
* Guías detalladas
* [Instalar herramientas construcción](getting_started_build_tools.md)
* [Guía Vagrant](getting_started_vagrant.md)
* [Instrucciones de Construcción/Compilado](getting_started_make_guide.md)
* [Flasheando Firmware](flashing.md)
* [Personalizando funcionalidad](custom_quantum_functions.md)
* [Visión general del Keymap](keymap.md)
* [Instalar herramientas construcción](es/getting_started_build_tools.md)
* [Guía Vagrant](es/getting_started_vagrant.md)
* [Instrucciones de Construcción/Compilado](es/getting_started_make_guide.md)
* [Flasheando Firmware](es/flashing.md)
* [Personalizando funcionalidad](es/custom_quantum_functions.md)
* [Visión general del Keymap](es/keymap.md)
* [Hardware](hardware.md)
* [Procesadores AVR](hardware_avr.md)
* [Drivers](hardware_drivers.md)
* [Hardware](es/hardware.md)
* [Procesadores AVR](es/hardware_avr.md)
* [Drivers](es/hardware_drivers.md)
* Referencia
* [Pautas de teclados](hardware_keyboard_guidelines.md)
* [Opciones de configuración](config_options.md)
* [Keycodes](keycodes.md)
* [Convenciones de código - C](coding_conventions_c.md)
* [Convenciones de código - Python](coding_conventions_python.md)
* [Mejores prácticas de documentación](documentation_best_practices.md)
* [Plantillas de documentación](documentation_templates.md)
* [Glosario](reference_glossary.md)
* [Tests unitarios](unit_testing.md)
* [Funciones útiles](ref_functions.md)
* [Sporte configurador](reference_configurator_support.md)
* [Formato info.json](reference_info_json.md)
* [Desarrollo Python CLI](cli_development.md)
* [Pautas de teclados](es/hardware_keyboard_guidelines.md)
* [Opciones de configuración](es/config_options.md)
* [Keycodes](es/keycodes.md)
* [Convenciones de código - C](es/coding_conventions_c.md)
* [Convenciones de código - Python](es/coding_conventions_python.md)
* [Mejores prácticas de documentación](es/documentation_best_practices.md)
* [Plantillas de documentación](es/documentation_templates.md)
* [Glosario](es/reference_glossary.md)
* [Tests unitarios](es/unit_testing.md)
* [Funciones útiles](es/ref_functions.md)
* [Sporte configurador](es/reference_configurator_support.md)
* [Formato info.json](es/reference_info_json.md)
* [Desarrollo Python CLI](es/cli_development.md)
* [Características](features.md)
* [Keycodes Básicos](keycodes_basic.md)
* [Teclas US ANSI Shifted](keycodes_us_ansi_shifted.md)
* [Keycodes Quantum](quantum_keycodes.md)
* [Keycodes Avanzados](feature_advanced_keycodes.md)
* [Audio](feature_audio.md)
* [Auto Shift](feature_auto_shift.md)
* [Retroiluminación](feature_backlight.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic](feature_bootmagic.md)
* [Combos](feature_combo.md)
* [Comando](feature_command.md)
* [API Debounce](feature_debounce_type.md)
* [Switch DIP](feature_dip_switch.md)
* [Macros Dinámicas](feature_dynamic_macros.md)
* [Encoders](feature_encoders.md)
* [Grave Escape](feature_grave_esc.md)
* [Feedback Háptico](feature_haptic_feedback.md)
* [Controlador LCD HD44780](feature_hd44780.md)
* [Key Lock](feature_key_lock.md)
* [Layouts](feature_layouts.md)
* [Tecla Leader](feature_leader_key.md)
* [Matriz LED](feature_led_matrix.md)
* [Macros](feature_macros.md)
* [Teclas del ratón](feature_mouse_keys.md)
* [Driver OLED](feature_oled_driver.md)
* [Teclas One Shot](feature_advanced_keycodes.md#one-shot-keys)
* [Dispositivo de apuntado](feature_pointing_device.md)
* [Ratón PS/2](feature_ps2_mouse.md)
* [Iluminación RGB](feature_rgblight.md)
* [Matriz RGB](feature_rgb_matrix.md)
* [Cadete espacial](feature_space_cadet.md)
* [Teclado dividido](feature_split_keyboard.md)
* [Stenografía](feature_stenography.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
* [Terminal](feature_terminal.md)
* [Impresora Térmica](feature_thermal_printer.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
* [Velocikey](feature_velocikey.md)
* [Características](es/features.md)
* [Keycodes Básicos](es/keycodes_basic.md)
* [Teclas US ANSI Shifted](es/keycodes_us_ansi_shifted.md)
* [Keycodes Quantum](es/quantum_keycodes.md)
* [Keycodes Avanzados](es/feature_advanced_keycodes.md)
* [Audio](es/feature_audio.md)
* [Auto Shift](es/feature_auto_shift.md)
* [Retroiluminación](es/feature_backlight.md)
* [Bluetooth](es/feature_bluetooth.md)
* [Bootmagic](es/feature_bootmagic.md)
* [Combos](es/feature_combo.md)
* [Comando](es/feature_command.md)
* [API Debounce](es/feature_debounce_type.md)
* [Switch DIP](es/feature_dip_switch.md)
* [Macros Dinámicas](es/feature_dynamic_macros.md)
* [Encoders](es/feature_encoders.md)
* [Grave Escape](es/feature_grave_esc.md)
* [Feedback Háptico](es/feature_haptic_feedback.md)
* [Controlador LCD HD44780](es/feature_hd44780.md)
* [Key Lock](es/feature_key_lock.md)
* [Layouts](es/feature_layouts.md)
* [Tecla Leader](es/feature_leader_key.md)
* [Matriz LED](es/feature_led_matrix.md)
* [Macros](es/feature_macros.md)
* [Teclas del ratón](es/feature_mouse_keys.md)
* [Driver OLED](es/feature_oled_driver.md)
* [Teclas One Shot](es/feature_advanced_keycodes.md#one-shot-keys)
* [Dispositivo de apuntado](es/feature_pointing_device.md)
* [Ratón PS/2](es/feature_ps2_mouse.md)
* [Iluminación RGB](es/feature_rgblight.md)
* [Matriz RGB](es/feature_rgb_matrix.md)
* [Cadete espacial](es/feature_space_cadet.md)
* [Teclado dividido](es/feature_split_keyboard.md)
* [Stenografía](es/feature_stenography.md)
* [Swap Hands](es/feature_swap_hands.md)
* [Tap Dance](es/feature_tap_dance.md)
* [Terminal](es/feature_terminal.md)
* [Impresora Térmica](es/feature_thermal_printer.md)
* [Unicode](es/feature_unicode.md)
* [Userspace](es/feature_userspace.md)
* [Velocikey](es/feature_velocikey.md)
* Para Makers y Modders
* [Guía de cableado a mano](hand_wire.md)
* [Guía de flasheado de ISP](isp_flashing_guide.md)
* [Guía de depuración de ARM](arm_debugging.md)
* [Driver I2C](i2c_driver.md)
* [Controles GPIO](internals_gpio_control.md)
* [Conversión Proton C](proton_c_conversion.md)
* [Guía de cableado a mano](es/hand_wire.md)
* [Guía de flasheado de ISP](es/isp_flashing_guide.md)
* [Guía de depuración de ARM](es/arm_debugging.md)
* [Driver I2C](es/i2c_driver.md)
* [Controles GPIO](es/internals_gpio_control.md)
* [Conversión Proton C](es/proton_c_conversion.md)
* Para entender en profundidad
* [Cómo funcionan los teclados](how_keyboards_work.md)
* [Entendiendo QMK](understanding_qmk.md)
* [Cómo funcionan los teclados](es/how_keyboards_work.md)
* [Entendiendo QMK](es/understanding_qmk.md)
* Otros temas
* [Usando Eclipse con QMK](other_eclipse.md)
* [Usando VSCode con QMK](other_vscode.md)
* [Soporte](support.md)
* [Cómo añadir traducciones](translating.md)
* [Usando Eclipse con QMK](es/other_eclipse.md)
* [Usando VSCode con QMK](es/other_vscode.md)
* [Soporte](es/support.md)
* [Cómo añadir traducciones](es/translating.md)
* QMK Internals (En progreso)
* [Defines](internals_defines.md)
* [Input Callback Reg](internals_input_callback_reg.md)
* [Dispositivo Midi](internals_midi_device.md)
* [Proceso de configuración de un dispositivo Midi](internals_midi_device_setup_process.md)
* [Utilidad Midi](internals_midi_util.md)
* [Funciones Send](internals_send_functions.md)
* [Herramientas Sysex](internals_sysex_tools.md)
* [Defines](es/internals_defines.md)
* [Input Callback Reg](es/internals_input_callback_reg.md)
* [Dispositivo Midi](es/internals_midi_device.md)
* [Proceso de configuración de un dispositivo Midi](es/internals_midi_device_setup_process.md)
* [Utilidad Midi](es/internals_midi_util.md)
* [Funciones Send](es/internals_send_functions.md)
* [Herramientas Sysex](es/internals_sysex_tools.md)

Some files were not shown because too many files have changed in this diff Show More