Compare commits

..

101 Commits

Author SHA1 Message Date
7c0edbe800 Set git submodule update depth to 50 (#7269) 2019-11-05 11:50:18 -08:00
fc51a4a107 Fix typo in ARM I2C copyright header (#7264) 2019-11-04 23:19:21 -08:00
8b832c494c [Keyboard] add keymap beautifier for Ergodox EZ (#4393)
* add beautifier

* add example

* Update keyboards/ergodox_ez/util/keymap_beautifier.py

Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com>

* Update keyboards/ergodox_ez/util/keymap_beautifier.py

Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com>

* works for regular layout

* all planned features implemented

* add justification switch

* docker support

* doc and starting script

* clean up the container after done
2019-11-04 23:14:15 -08:00
x1
dcb2d63302 [Keyboard] Add Kudox Rev2 (#7253)
* Add a directory as rev2 in keybords/kudox.

* Modified default keymap of Kudox.

* Modified JIS keymap of Kudox.

* Changed kudox default from rev1 to rev2.

* Modified a keymap of kudox/x1.

* Move keyboards/kudox/keymaps to keyboards/kudox/rev1/.

* Remove keyboards/kudox/info.json.

* Modified kudox's READMEs.

* Remove unnecessary codes.
2019-11-04 23:07:31 -08:00
dc1137129d [Keyboard] Add LAYOUT_60_iso to XD60 (#7263)
* refactor iso keymap

- remove redundant action_layer.h include
- use enum for layer management
- QMK coding conventions (four-space indent)

* add LAYOUT_60_iso macro

* enable 60_iso community layout for both revisions

* swap KC_HOME to KC_RSFT

* update ISO keymap readme

* update default keymap readme

`make` command no longer valid.

* refactor keyboard readme

Update to reflect current QMK template.

* add LAYOUT_60_iso data to info.json

* use #pragma once in header files
2019-11-04 23:05:51 -08:00
1244d0e266 Un-clang-format usb_descriptor.h (#7216)
Preserves readability of the file, making it easier to understand and modify.
2019-11-04 23:04:58 -08:00
542cb0a8ce [Core] Convert Dynamic Macro to a Core Feature (#5948)
* Convert Dynamic Macro to a Core Feature

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

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

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

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

Based heavily on and closes #2976

* Apply suggestions from code review

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

* Cleanup based on feedback

* Add short-form keycodes and document them

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

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

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

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

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type
2019-11-04 22:59:13 -08:00
0e664f92c4 Switch Quefrency to serial for independent halves (#7262) 2019-11-05 17:37:54 +11:00
d382eeeb9d CI - Fix change detection (#7038)
* Fix travis change detection

* Fix travis change detection - add back python ignore
2019-11-04 16:18:57 -08:00
efa28d0f5c Convert some PS2AVRGB boards to I2C WS2812 driver (#7241)
* Convert some PS2AVRGB boards to I2C WS2812 driver

* Fix Travis failure for bface
2019-11-04 16:05:03 -08:00
0a9a69394e Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258) 2019-11-05 00:02:42 +00:00
31fe2e0859 [Keyboard] Reduce compiled size of Panc60 keyboard (#7260) 2019-11-04 15:53:40 -08:00
29630e6e49 [Core] Add short form LTO_ENABLE (#7259)
For drashna's sanity's sake
2019-11-04 15:35:47 -08:00
a836c85e54 Update keymap.c 2019-11-04 14:07:22 -08:00
511fa5f815 [Keymap] Add new LED/RGB key codes (#7254) 2019-11-04 13:47:52 -08:00
a510e5212b [Docs] Create RU ver getting_started_getting_help (#7227)
* Create RU ver getting_started_getting_help

* uodate RU ver of getting_started_getting_help

* Update docs/ru-ru/getting_started_getting_help.md

Co-Authored-By: nabokovas <bbkv@bk.ru>
Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
2019-11-04 13:44:49 -08:00
2b83b908dd [Keymap] Add keymap for user jerryhcooke (#7251)
* Add keymap for user jerryhcooke

Created a new keymap with encoder changing per layer

* Added readme

* Update readme.md

* Update readme.md

* Update readme.md

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

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

* Update keymap.c

* Fixed Formatting

Ran automatic C formatting as suggested

* Update rules.mk

Fixed linespacing
2019-11-04 13:44:20 -08:00
25d4c0c810 [Keyboard] Add the Kyria keyboard (#7222)
* Added raw api for sending data directly to the buffer

* Added default keymap variant

* Applied proposed OLED display fix

* Keymap progress

* Keymap progress

* Fixed inconsistent tabs

* Fixed oled_write_raw apis

* Updated keymap

* Personal keymap

* Added functionality to own keymap

* Fixed spacing and build error

* Keymap changes

* Revert "Updated split encoders so indexes are based on left hand encoders first (#6382)"

This reverts commit 46c49ae4e639509ceb6e81c460855d2eb89086b8.

* Updated keymaps and configs

* Revert "Revert "Updated split encoders so indexes are based on left hand encoders first (#6382)""

This reverts commit f6a85fe1aa9acd2ef77a5ed0ad8f39834cc366d7.

* Update keyboards/kyria/config.h

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

* Update keyboards/kyria/config.h

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

* Update keyboards/kyria/config.h

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

* Update keyboards/kyria/rev1/config.h

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

* Update keyboards/kyria/rules.mk

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

* Update keyboards/kyria/rules.mk

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

* Update keyboards/kyria/rev1/rev1.h

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

* Update keyboards/kyria/rev1/config.h

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

* Update keyboards/kyria/readme.md

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

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

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

* Update keyboards/kyria/rev1/config.h

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

* Update keyboards/kyria/readme.md

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

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

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

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

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

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

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

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

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

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

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

* Update keyboards/kyria/rules.mk

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Processed keymap feedback

* Reverted OLED raw API functionality
2019-11-03 15:43:26 -08:00
3a215195ed Convert remaining PS2AVRGB boards to I2C WS2812 driver (#7245)
* Convert remaining PS2AVRGB boards to I2C WS2812 driver

* Add back functions to make the custom matrices happy
2019-11-03 14:43:13 -08:00
a4d138645f [Keyboard] Fix v60_type_r compile failures (#7250) 2019-11-03 14:42:21 -08:00
363cdb5fc0 Remove duplicate pro_micro.h (#7246) 2019-11-03 22:35:43 +00:00
be6562a223 Adds raw write functions to the OLED driver (#7237)
* Added oled_write_raw and oled_write_raw_P functions to the OLED driver

* Added oled_write_raw method calls to feature_oled_driver.md
2019-11-03 14:34:47 -08:00
732d1dd4f6 Fix KBDPad MKI backlight, Num Lock LEDs; clean up firmware a bit (#6883)
* Update keyboard kit URL

* Replace custom RGB driver with new one from #7183

* Replace backlight with standard impl

* Remove some unnecessary default settings

* Disable COMMAND since docs want it off by default

(There's no working IS_COMMAND set for this board anyway, so it's
already a nop.)
2019-11-04 09:30:15 +11:00
e9c44e396d Smallish overhaul of Auto-Shift feature (#6067)
* Fix edge case when using One Shot Layer with Auto Shift, and it not triggering the cleanup
* Remove junk code (no longer used)
* Replace `(un)register_code` calls with `tap_code` where appropriate
* Fixed up Switch check to be more readable (less verbose)
* Simplified modifier check (if it comes back non-zero, there are mods)
* Add additional function calls for autoshift settings
* Made all variables static, since there are function calls to get their status
* Fixed up documentation
* Re-add special characters that were missed
* formatting pass
2019-11-03 09:52:01 -08:00
38353688f2 [Keymap] Add personal JC65 v32a layout (#7244)
* Add personal JC65 v32a layout

* Update keyboards/jc65/v32a/keymaps/rys/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-03 09:46:13 -08:00
bed98091aa French translation - FAQ section (#6995)
* Translated faq.md and added all other files (copy from English)

* Translated driver_installation_zadig.md in French

* Translated faq_build.md in French

* Translated faq_debug in French

* Translateed faq_general.md in French

* Translated first part of faq_keymap.md

* Renamed docs/fr-FR folder to docs/fr-fr

* Finished translation of faq_keymap.md

* Update faq_build.md

* Review (#3)

* Review

* Update docs/fr-fr/faq_keymap.md

* Update docs/fr-fr/faq_debug.md

* Fix some PR comments

Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch>
Co-Authored-By: Wermeille Bastien <bastien.wermeille@gmail.com>
2019-11-03 08:02:44 -08:00
1249da4e8e Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928)
* Use task driven PWM for CTPC until ARM can provide automatic configuration

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

* First pass at backlight driver docs

* Correct driver name in docs

* Run backlight_task when using BACKLIGHT_PINS

* Resolve backlight docs TODOs
2019-11-02 21:20:03 +00:00
umi
ff8d436946 correct description (#7240) 2019-11-02 13:11:36 +00:00
e6cc9cc78d Template updates (#7221)
* Template updates

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

* Add enum to demonstrate layer naming

* Semicolon
2019-11-01 19:06:03 -07:00
1f6cb53fb3 [Keymap] Moar personal keymap and userspace tweaks (#7238)
* Enable link-time optimization

* Make RGB static gradient ranges shorter

* Shift Quefrency media keys to the right

* Shift KBD67 media keys to the right

* Move some 60% keys from function to adjust layer

* Set "extra" Lily58 keys to browser back/forward

* Remove Instant60 EEPROM hack after #6968

* Remove unnecessary bits from macropad keymaps

* Update KLE images
2019-11-01 18:48:58 -07:00
f5cf5b950f [Keyboard] Add Hannah910 (#7234)
* Add new PCB Hannah910

a replace pcb for tgr910 keyboard

* Update readme.md

* update
2019-11-01 18:47:26 -07:00
3546932a8b [Keyboard] Owlet60 keymap removal, matrix.c and owlet60.h fix (#7235) 2019-11-01 17:19:04 -07:00
f8ce91b624 [Keymap] Add Planck-style RoPro keymap (#7230)
* Copy the default layout

* Copy Planck keymap layers

* Update README

* Update copyright name
2019-10-31 23:42:22 -07:00
671030f0ae [Keyboard] HBCP info.json typo fix (#7228)
Fixing a typo on a suggestion I made that got committed to the PR.
2019-10-31 19:18:57 -07:00
ea8822e267 [Keyboard] Added slash keyboard (#7042)
* feat(slash): added slash keyboard

* fix(slash): fixed typo in readme

* Improvements after review

* disabled debug and print to reduce firmware size

* Fixes after review

* fixed hardware list in readme.md
2019-10-31 14:17:24 -07:00
aba90329b2 [Keyboard] Add h88 PCB (#7201)
* add initial h88 files

* add h88 PCB

* update VID and PID

* add GUI key to base WKL keymap file

* Update keyboards/hineybush/h88/config.h

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

* Update keyboards/hineybush/h88/config.h

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

* Update keyboards/hineybush/h88/config.h

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

* Update keyboards/hineybush/h88/rules.mk

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

* Update keyboards/hineybush/h88/rules.mk

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

* Update keyboards/hineybush/h88/info.json

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

* Update keyboards/hineybush/h88/info.json

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

* Update keyboards/hineybush/h88/info.json

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

* Update keyboards/hineybush/h88/info.json

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

* Update keyboards/hineybush/h88/keymaps/default/readme.md

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

* Update keyboards/hineybush/h88/keymaps/wkl/readme.md

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

* Update keyboards/hineybush/h88/info.json

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

* Update keyboards/hineybush/h88/rules.mk

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

* update per PR requests

* update copyright year in files
2019-10-31 14:14:37 -07:00
77861fcbc0 [Keyboard] Add hbcp (#7101)
* add initial hbcp files

* adjust hbcp keymaps

* update per PR requested changes

* add info.json

* update LED stuff in regards to my personal keymap

* update to new LED pin manipulation code

* update info.json

* Update keyboards/hineybush/hbcp/hbcp.c

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

* Update keyboards/hineybush/hbcp/hbcp.c

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

* Update keyboards/hineybush/hbcp/hbcp.c

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

* Update keyboards/hineybush/hbcp/hbcp.c

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

* Update keyboards/hineybush/hbcp/readme.md

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/rules.mk

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

* Update keyboards/hineybush/hbcp/hbcp.c

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

* Update keyboards/hineybush/hbcp/hbcp.c

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

* update per pull request suggestions

* Update keyboards/hineybush/hbcp/hbcp.c

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

* update per PR request, update default keymap

* Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c

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

* Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c

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

* Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c

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

* Update keyboards/hineybush/hbcp/info.json

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

* Update keyboards/hineybush/hbcp/info.json

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

* Update keyboards/hineybush/hbcp/keymaps/hiney/readme.md

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

* update per PR requests

* Update keyboards/hineybush/hbcp/info.json

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

* add RGB defs to hiney/config.h
2019-10-31 14:05:48 -07:00
f4c8057a1c [Docs] Add Spanish translation for hardware documentation (#7161)
* Add Spanish translation for hardware documentation

* Finished Spanish translations for hardware docs

* Resolved errors in Spanish page translations

* Corrected misspelled folder name in documentation

Co-Authored-By: Karey Higuera <karey.higuera@gmail.com>
Co-Authored-By: José Ignacio Amelivia Santiago <ohcan2@gmail.com>
2019-10-31 12:39:50 -07:00
bc7f1dd296 [Docs] Spanish translation (#7068)
* add all translation docs to translating.md

* Adding Spanish folder and README.md

* Adding Spanish to the langs file

* Adding a Spanish summary file

* Small corrections on the Spanish README file

* Adding Spanish newbs.md

* Translate some newbs documentation

* Adding the translated newbs getting started file

* Adding the building firmware file

* Adding a translated building firmware with configurator file

* Adding the flashing guide

* Adding the newbs_testing_debugging file

* Apply suggestions from code review

* QMK Configurator -> Configurador QMK

Co-Authored-By: Karey Higuera <karey.higuera@gmail.com>
2019-10-31 12:36:33 -07:00
1acafc94f4 Correct ARM STM32 I2C frequency. (#7080)
It was beleaved that this setting result in a 400Khz I2C bus.

This was incorrect, actual frequency measure with a logic analyzer was around 150Khz.

This is derived from the excel sheet linked in the .h file.
Also confirmed with the ST IDE.
2019-10-31 09:19:57 -07:00
2ce6adff2b Miscellaneous rules.mk cleanups (#7212)
* Miscellaneous rules.mk cleanups

* Put back ARM bootloader rules
2019-10-31 13:11:36 +00:00
742e83e102 [Docs] Add he-IL (Hebrew) Translation (#7001)
* Add he-IL (Hebrew) Translation

* Add Hebrew to SUMMARY

* Try RTL

* Add RTL text

* Lowercase folder names

* Update lowercase folder in Summary

* Adding getting_started_introduction.md

* Add Proton C Conversion translation

* Add Becoming a QMK Collaborator Translation

* Add FAQ translation

* Add Hardware translation

* Documentation Best Practices translation

* Add FAQ General translation

* Align docs RTL

*  Add Becoming a QMK Collaborator Translation

* Translate Getting Started - Getting Help

* Translate Getting Started With Github

* Code sections should be alligned to the left

* Code sections should be alligned to the left

* Code sections should be alligned to the left

* Revert "Code sections should be alligned to the left"

This reverts commit d0c46e90c4915ceebe7c5182aca2b75afad25df0.

* Add Markdown aligned to the left

* Update quantum_keycodes.md

* Update proton_c_conversion.md

* Translate Newbs Learn More Resourses
2019-10-31 02:47:07 -07:00
934fa5183e [Keyboard] add xbows woody and knight keyboards (#7112)
* add xbows knight and woody keyboards

add xbows knight and woody keyboards

* Update rules.mk

* Update keyboards/xbows/knight/readme.md

Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>

* Update knight.c

* Update keyboards/xbows/knight/keymaps/default/keymap.c

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

* Update keyboards/xbows/knight/readme.md

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

* Update keyboards/xbows/knight/rules.mk

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

* Update keyboards/xbows/knight/rules.mk

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

* Update keyboards/xbows/woody/readme.md

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

* Update keyboards/xbows/knight/rules.mk

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

* Update rules.mk

* Update keymap.c

* Update keyboards/xbows/woody/rules.mk

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

* Update keyboards/xbows/knight/keymaps/default/keymap.c

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

* Update keymap.c

* Update keyboards/xbows/knight/readme.md

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

* Update keyboards/xbows/knight/rules.mk

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

* Update keyboards/xbows/woody/rules.mk

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

* Update keyboards/xbows/woody/rules.mk

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-30 23:00:46 -07:00
74252e03cf Fix "could not find module" error message formatting (#7219) 2019-10-30 22:50:45 -07:00
22812aee5c rgblight_task logic fixes (#7214) 2019-10-30 22:30:21 -07:00
bd55396a45 [Keyboard] Legonut Sol R2 Release (#7213)
* Merge remote-tracking branch 'legonut/sol_r2_release' into master_update2

* Update keyboards/rgbkb/sol/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-30 22:12:15 -07:00
e176ab11ab [Keyboard] Complete info.json for Sticc14 handwired (#7208) 2019-10-30 22:02:08 -07:00
878039c59c [Keyboard] Complete info.json for Chiron handwired (#7207) 2019-10-30 22:01:23 -07:00
c4730ba00f [Keyboard] Fix info.json for Aranck handwired (#7206) 2019-10-30 21:59:54 -07:00
3e77e2aeac [Keyboard] KBDfans/KBD75: Set "RGBLIGHT_SLEEP" as default (#7205) 2019-10-30 21:57:53 -07:00
lf
6a75d10979 [Docs] Fix dunder names being accidentally bolded (#7217)
* Fix dunder names being accidentally bolded

* Update docs/coding_conventions_python.md

Co-Author: fauxpark <fauxpark@gmail.com>

* Change all the "names to avoid" to use backticks
2019-10-30 21:56:59 -07:00
096a49c3dc [Keyboard] Add KBD67 MKII Solderable PCB Variant (#7202)
* Clone 8x source to begin

* Start replacing stuff

* Get things compiling

* Rename files

* Move board files to match MKII RGB files

* Adjust readme

* Adjust main keymap to be functional

* Make defualt keymap more basic; add personal keymap

* Remove unnecessary trailing slashes from keymap

* Remove unused functions from keymaps

* Remove obsolete build flags

* Adjust comments as requested

* Apply suggestions from code review

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

* Adjust as suggested

* Fix broken compile following applying suggestions
2019-10-30 17:10:40 -07:00
dfdd9e821b [Docs] Update getting_started_vagrant.md (#7203) 2019-10-30 11:53:48 -07:00
f183af14ad [Keymap] Update keymap for kuchosauronad0 (#6902)
* Add RGB
* Add Plover layer
2019-10-29 23:59:44 -07:00
455a0c5978 [Keyboard] New CannonKeys boards and EEPROM fixes (#6968)
* Add Iron165

* CannonKeys new boards and cleanup

* Tmo50 info json

* Update readme for TMOv2

* update via keymap tmo

* info json again

* Apply suggestions from code review

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

* Address PR comments

* More changes for rules files cleanup

* info.json fixed?

* Fix Savage65 matrix

* Apply suggestions from code review

Thanks noroadsleft for the improvements!

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

* Bump eeprom version

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-29 23:45:58 -07:00
674fcc474c [Keymap] Update to Userspace kuchosauronad0 (#6899)
* Add Plover layer, remove unused layers

* Add rgb indicator for success/failed sequences

* Add RGB effects

* Add RGB

* Add effects for start and end of a leader sequence

* Add PLOVER layer

* Add RGB

* Add RBG

* Minor clean up

* Minor clean up

* Minor clean up

* Minor clean up

* Rename rgb_light to rgblight_user and fix all references to it

* Remove unnecessary guards

Remove unnecessary matrix_scan in rgb post_init function

* remove trailing newline
2019-10-29 22:52:24 -07:00
b1c2bf071b [Keyboard] Think 6.5 (#7199)
* generated files

* create the physical and electrical matrix, thanks noroadsleft

* add an appropriate keymap

* add qmk configurator support

* add readme

* add keyboard configuration and rules

* move over the think6.5 to the gray_studio directory

* move to hotswap in anticipation of non hotswap pcb support

* update readme to have the correct make path

* rename to hotswap

* add community layout support by using the LAYOUT_65_ansi_blocker LAYOUT macro name

* thanks to cygnus for pointing out the solder json file to me. This commit is pretty much the same as the hotswap as it uses the same pins and switch matrix.

* update readme to state that LAYOUT_65_ansi_blocker works for both hotswap and solder.

* wrong pound include

* add LED support. Soldered PCB only supports caps lock LED

* add readme notes for indicator led

* Update keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c

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

* Update keyboards/gray_studio/think65/hotswap/rules.mk

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

* Update keyboards/gray_studio/think65/hotswap/rules.mk

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

* Update keyboards/gray_studio/think65/solder/keymaps/default/keymap.c

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

* Update keyboards/gray_studio/think65/solder/rules.mk

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

* Update keyboards/gray_studio/think65/solder/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-29 22:33:46 -07:00
e258b10d71 [Keyboard] Add 42 keyboard (#7071)
* [Keyboard] Add 42 keyboard

* Apply suggested fixes

* Remove 42.c

* Move keyboard to handwired folder
2019-10-29 21:34:19 -07:00
b47c10bf6f Cleanup rules.mk for 32U4 keyboards, T-Z (#7190)
* Cleanup rules.mk for 32U4 keyboards, T-Z

* Use atmel-dfu in place of lufa-ms until it exists
2019-10-29 21:27:25 -07:00
3817ff7cc0 [Keyboard] Move Nyquist/Iris rules.mk files, update READMEs (#7196)
* Migrate Nyquist rules.mk files to be version specific and update flash command

* Migrate Iris rules.mk files to be version specific and update flash command
2019-10-29 16:56:12 -07:00
606813b72d Remove obsolete note about media keys in MacOS (#6631)
* Remove obsolete note about media keys in MacOS

KC_MNXT and KC_MPRV work fine on MacOS, so this note is obsolete.

* Document behaviour of MEDIA_FAST_FORWARD/MEDIA_REWIND codes on MacOS

* Small typo fix, and make OS-dependent keycode claim less absolute

* Update docs/keycodes_basic.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-30 10:39:38 +11:00
64b7cfe735 Refactor ps2avrgb i2c ws2812 to core (#7183)
* Refactor ps2avrgb i2c ws2812 to core

* Refactor jj40 to use ws2812 i2c driver

* Refactor ps2avrgb template to use ws2812 i2c driver

* Add ws2812 stub files

* clang-format and driver config

* Add ws2812 driver docs

* Fix default config values

* Update tmk_core/protocol/vusb/main.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-10-29 15:53:11 -07:00
908aede957 Update feature_bluetooth.md (#7193)
* Update feature_bluetooth.md

* Update feature_bluetooth.md

* Update docs/feature_bluetooth.md

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

* Update docs/feature_bluetooth.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-30 09:43:01 +11:00
cb3b5563e4 [Docs] Fix some misspells in French documentation (#7171)
* Fix some spelling mistakes

* Fix some misspell in french documentation

* Small misspell fix in French in ChangeLog
2019-10-29 15:42:19 -07:00
d624690135 [Keymap] Add keymaps for myself (#7141)
* [zinc] add toshi0383 qwerty layout

* Add dvorak like keymap

* update keymap

* update keymap

* update

* Add my keymap for reviung39

* cleanup

* fix RESET button position

* add rgb_mod to raise

* Update keyboards/reviung39/keymaps/toshi0383/readme.md

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

* Update keyboards/zinc/keymaps/toshi0383/keymap.c

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

* Update keyboards/zinc/keymaps/toshi0383/keymap.c

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

* remove unnecessary code

* improve comment

* Update keyboards/reviung39/keymaps/toshi0383/keymap.c

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

* Update keyboards/zinc/keymaps/toshi0383/keymap.c

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

* remove unused function

* cleanup

* refactor using MO
2019-10-29 15:41:37 -07:00
f164016566 [Docs] Translated "CLI" documentation to German (#7178)
* Translated "CLI" documentation to German

> * Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
- I wasn't quite sure with this translation, as I didn't understand the context in the original English docs.
- The link to the CLI Configuration page is currently not working, due to it being missing in German.

* Update docs/de/cli.md - typo

* Update docs/de/cli.md - added Installation option into documentation

* Update docs/de/cli.md - changed article for CLI

* Update docs/de/cli.md Spelling

* Update docs/de/cli.md Spelling

* Update docs/de/cli.md de-anglicization

* Update docs/de/cli.md Spelling

* Update docs/de/cli.md Synonym

* Update docs/de/cli.md Added Installation option

* Cleaned up installation option duplicate

Co-Authored-By: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com>
2019-10-29 13:33:09 -07:00
0e6f78547e [Docs] Update flashing information to include :flash target (#6999)
* Update Newbs Flashing guide

For the newbs that want to start flashing

* Update flashing docs

* Misc flashing

* Attempt at flashing in french

Lets hope I didn't butcher this too badly with machine transations

* Update docs/feature_userspace.md

* Apply language suggestions from code review

* Apply suggestions from code review

* Apply additional fr lang suggestions from code review

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch>
Co-Authored-By: Xavier Hahn <xavier.hahn@gmail.com>
Co-Authored-By: Vincent LE GOFF <vince.legoff@gmail.com>
2019-10-29 13:15:03 -07:00
476f556613 [Keymap] Update layout for my nyquist (#7188)
* Add layer for gaming without fancy Shift & Ctrl keys

* Add default layer select to ARRW layer

* Define layers with an enum to save fw space
2019-10-29 01:39:15 -07:00
e0e26957d4 Fix the CLI docs (#6979)
- Sort the commands alphabetically
- Add missing `json_keymap`
- Correct underscore to dash
2019-10-29 01:24:36 +00:00
afc5cb7f0a Fix Lily58 build with link-time optimization (#7181) 2019-10-29 01:08:48 +00:00
e48fdebe5a Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180)
* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver

* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b
2019-10-29 01:00:03 +00:00
1b06ea0c86 [Keymap] Added new custom keymap for the DZ60 (#6948)
* Added custom dz60 keymap

* Update readme.md

* Updated pictures in README.md

* README.md fixes

* Updated mouse layout/ added ` key

* Changed bkspc key to del in mod

* Changed picture

* Updated keymap

* Removed default dz60 config.h

* Updated Readme

* Added Devorak Keymap

* Re-added Default Config File

* Updated Flash Command

* Cleaned Up Custom Config File

* Added Lock Security Layer

* Updated Readme Picture
2019-10-28 17:25:11 -07:00
c7a8cab883 [Keyboard] Add M0116b keyboard (#7162)
* initial commit

restart of m0116b development

* initial commit

restart of m0116b development

* Major and minor changes for new PCB design

Changed matrix_row_pins and matrix_sol_pins to match new PCB design
Changed layout matrix to match new PCB design
Minor changes to settings in rules.mk
Minor changes to readme.md files

* Update rules.mk

Changed settings in rules.mk

* major and minor changes

added a default keymap (copy of the m0116 keymap, just to have a default option)
changes to the info.json

* initial commit

restart of m0116b development

* Major and minor changes for new PCB design

Changed matrix_row_pins and matrix_sol_pins to match new PCB design
Changed layout matrix to match new PCB design
Minor changes to settings in rules.mk
Minor changes to readme.md files

* Update rules.mk

Changed settings in rules.mk

* major and minor changes

added a default keymap (copy of the m0116 keymap, just to have a default option)
changes to the info.json

* Update keyboards/sck/m0116b/keymaps/default/keymap.c

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

* Update keyboards/sck/m0116b/keymaps/default/keymap.c

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

* Update keyboards/sck/m0116b/keymaps/m0116/keymap.c

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

* Update keyboards/sck/m0116b/keymaps/m0116/keymap.c

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

* Update keyboards/sck/m0116b/keymaps/m0118/keymap.c

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

* Update keyboards/sck/m0116b/m0116b.h

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

* Update keyboards/sck/m0116b/m0116b.h

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

* Update keyboards/sck/m0116b/keymaps/m0118/keymap.c

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

* Requested changes

Changes per requests

* Changes to keymaps

Changes as discussed

corrected location of custom_keycodes declaration and changed custom keycode in keymap per request and discussion.
2019-10-28 16:57:16 -07:00
947e61eaeb [Keyboard] Change Corne RGB Matrix split handling (#7117)
* [Keyboard] Change Corne RGB Matrix split handling

This uses the "is_master" detection to set the led matrix, rather than a define at compile time.

This means that the same hex can be used for both halves, not just one or the other.  The caveat is that this costs ~240 bytes to do.
However, I feel that this is a good trade-off, not just lazy.

* Update documentation for RGB Matrix on the Corne
2019-10-28 16:29:00 -07:00
a096453259 [Keyboard] Fix matrix for Tsangan (#7159)
- 1st mod after space bar was wrong position
2019-10-28 16:26:59 -07:00
e376aa284d [Keymap] Layout update for my ergodox (#7187)
* Add KC_ESC to normal location and move SE_HALF to ARRW layer

* Add `<` and `>` to SYMB layer as standalone keys
2019-10-28 16:26:13 -07:00
4fef3b23e4 [Docs] started Russian translation of Newbs Guide (partial) (#6967)
* started Russian translation

* added translation of some newbs docs

* do not translate firmware word in name and transliterate names keeping original ones in brackets

* addressed review comments

* addressed more review comments

Co-Authored-By: nabokovas <bbkv@bk.ru>
2019-10-28 16:22:58 -07:00
f19c8b2d5d [Keymap] Updating keymaps (#7170)
* Added WOW layer

* Initial commit for this branch. Still a work in progress.

* Added Rorschach keyboard layout.

* Simplified keymap

Removed the media layer to help simplify things. Also corrected some
keymap mistakes in the Qwerty and Colemak layers.

* Added ErgoTravel keymap.

* reverted to previous layout.

* Added Sol keyboard layout.

* Minor changes to keymap.

* more changes

* Added sol graphic by Kagerufu and Cardiactuna

* Added colemak layer because I can.

* more changes to sol layout

* Streamlined Sol layout

* minor tweaks to sol layout

* further revisions to sol keymap.

* Removing deprecated #include statements from my keymaps

* Standardizing keymap `include` lines.

* Minor change to keymap.

Swapped ESC with GRV on all alpha layers.

* Tweaks to Atreus62 Keymap

Added a layer for FPS RPG Loot Shooters.

* Fixed readme.md for Atreus keymap.

Replaced "Keymap" with "Layer" in illustrations for continuity's sake

* More readme.md clean-up

More clarification in the Atreus readme file.

* Next verse, same as the first.

* Changes to Sol layout

Bringing my Sol layout more in line with my other Orthos.

* Fixed keymap GUI.

Replaced left-hand "RGUI" with "LGUI" on all layers as it should be.

* Added ALPS64 keymap

* Formatting corrections

* fixes to config.h and keymap.c

* Fixed errors

This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h
and removes an stupid comma at the end of each LAYOUT stanza in
keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me.

* Fixed orthodox keymap config.h file

I hope this one fixes the problem. *sigh*

* Making suggested changes for PR#6192

Thanks to noroadsleft, fauxpark, and drashna. Still have
more work to do, but at least these suggestions have been applied.

* Fixing build errors

Travis has shown me the error of my ways...

* More fixes and corrections

Those pesky semicolons...

* More Fixes.

* Removing unneeded code snippet.

* fixed omitted semicolons

* Code updates to my keymaps

Updating the code for my Iris, Atreus62, and Atreus keymaps.

* Fixed Atreus62 Keymap

I forgot to add in the aliases for LOWER, RAISE, and ADJUST.

* Added userspace

Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro

* Fixing code that disables LEDs on ProMicros
Also tidied up my ErgoTravel keymap.

* Moving userspace to new branch

Moving my userspace to a new branch for the sake of keeping things
clean on the master branch.

* Added F13-F15 to Atreus62 Layout.

* Update readme.md.

* Updated Phantom keymap to current keymap standards

* Phantom keymap updates

Further updates - tidying and removing cruft.
Thank you zvecr on Discord for the help!

* Standards Updates

Bringing my Kinesis keymap up to current code standards

* Adding a readme

* Bring GH60 code to standard

* Utilizing layouts for 60_ansi and tkl_ansi

Moving my GH60 and Phantom keymaps into layouts/community/

* Alps64 layout removal

Removing my Alps64 keymap now that I've setup my 60_ansi layout.

* Moved Clueboard layout to community/66_ansi.

* Additions to 66_ansi config.h

* Bringing keymaps up to standard.

* More updates to keymaps.

* Syntax updates

* Revert "Syntax updates"

This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183.

* Moved WIP keymaps

Moved my WIP keymaps to my wip_keymaps branch to keep my master clean

* Updates requested by noroadsleft

* more changes per noroadsleft

More fixes as requested by noroadsleft. Further tidy-up and
standardization of my keymap code.
2019-10-28 16:09:01 -07:00
8ab7f1f39e Fix formatting for sendstring LUTs (#7176) 2019-10-28 15:54:05 -07:00
917ab71c52 Clean macos install script (#7186) 2019-10-28 22:13:07 +00:00
6d7c6d4fd6 Cleanup rules.mk for 32U4 keyboards, R-S (#7182) 2019-10-28 19:08:00 +00:00
8bc90ee20c Fix travis build failures for namecard2x4 (#7189) 2019-10-28 19:05:27 +00:00
1971f22285 Update split i2c docs for example of when pull-ups are required (#7143) 2019-10-28 18:10:25 +00:00
24cf6dc7f4 aranck handwired keyboard added (#7151)
* aranck handwired keyboard added

* layer enum updated

* layout optimisations and general fixes done

* Readme updated

* Readme updated

* Readme updated
2019-10-28 18:04:37 +00:00
84ac03bbab [Keyboard] Add NEISO Macro Pad (#7163)
* Initial Commit

Initial commit of the N-E-ISO Pad

* Changes to keymap.c

Minor Changes to keymap.c

* Major Changes

Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json

* Updated readme.md

Changed wording of redme.md

* Initial Commit

Initial commit of the N-E-ISO Pad

* Changes to keymap.c

Minor Changes to keymap.c

* Major Changes

Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json

* Updated readme.md

Changed wording of redme.md

* Update keyboards/sck/neiso/info.json

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

* Update keyboards/sck/neiso/info.json

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

* Update keyboards/sck/neiso/keymaps/default/keymap.c

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

* Update keyboards/sck/neiso/neiso.h

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

* Changes per request

Removed lines 55-60 from default/keymap.c per request
2019-10-28 17:57:15 +00:00
5777177cec [keyboard] yanfali fruity60 prototype (#7021)
* initial commit

* README

* Unique id

* info.json

* layotus

* br

* Move to handwired

* cleanup

* Disable command for fruity out of flash space

* Old compiler

turn off command
2019-10-28 16:47:48 +00:00
92be2439ec Couple more minor Lily58 keymap tweaks (#7175)
* Move grave/tilde and backslash/pipe to left hand

* Shift media keys to be aligned with home row

* Update KLE images

* Mention new media key location in readme

* Turn off a couple more features for explicitness
2019-10-28 02:53:49 +00:00
d5316e9714 Update URL for 60-keyboard.hwdb (#7185) 2019-10-28 02:41:22 +00:00
85688f926a [Keyboard] Add keyboard Naked64 (#7144)
* [Keyboard] Add keyboard Naked64

Add Naekd64 keyboard.

A 64 keys Ortholinear + Alice Layout keyboard.
Salicylic-acid3

* Update keyboards/naked64/readme.md

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

* Update keyboards/naked64/readme.md

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

* Update keyboards/naked64/rev1/rev1.c

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

* Update keyboards/naked64/rev1/rev1.h

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

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

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

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

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

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

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

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

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

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

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/rev1/rev1.h

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

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

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/default_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c

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

* Modify info.json and rule.mk

rule.mk modifies comments.
info.json is changed to Layout without angle.

* Update info.json

Puts the keys in the correct sequence.
2019-10-26 18:10:50 -07:00
40de65eac4 Backslash-escape pipe character in keycode lists (#7157) 2019-10-26 06:10:03 +01:00
5d34e70cf7 Cleanup rules.mk for 32U4 keyboards, N-Q (#7147) 2019-10-25 18:32:18 -07:00
006ec86786 [Keyboard] Fix Print Screen key for XT to USB converter (#7039)
* Fix Print Screen key for XT to USB converter

* While I'm here, get rid of led.c as it does absolutely nothing

* Fix info.json too

* "]" key is 1.25U and stepped on the Model F XT
2019-10-25 18:23:11 -07:00
19f73483d8 [Docs] Fixed internal links on Handwire page (#7154)
Some of the links were not playing nice on docs.qmk.fm, I think this fixes it.
2019-10-25 18:16:17 -07:00
50202bc222 [Keymap] Align top and bottom layers to make it easier to map between them (#7153) 2019-10-25 18:14:21 -07:00
a30ccc025e [Keymap] Personal layout for the RAMA M6-A (#7152) 2019-10-25 18:07:49 -07:00
d03303ab74 Revert "Initial actions/labeler config (#7091)" (#7156)
This reverts commit 32fdf4805ae8d76649fa821275cc2333c5e8bba9.
2019-10-26 00:27:17 +01:00
ad5ead24c3 [Keyboard] musl/add-chiron-keyboard (#7146)
* Add the Chiron keyboard

* Add link to case repo

* Update keyboards/handwired/chiron/readme.md

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

* Update keyboards/handwired/chiron/keymaps/default/config.h

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

* Update keyboards/handwired/chiron/rules.mk

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

* Update keyboards/handwired/chiron/rules.mk

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

* Update keyboards/handwired/chiron/rules.mk

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

* Update keyboards/handwired/chiron/readme.md

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

* Update keyboards/handwired/chiron/rules.mk

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

* Update keyboards/handwired/chiron/rules.mk

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

* Clean up rules.mk for the configurator
2019-10-25 15:48:57 -07:00
b2a6329376 [Keymap] Fix some formatting, add blink on lock example (#7145)
* Double backspace + changed layer detection

* Blink on capslock

* updated with feedback from @drashna
2019-10-25 15:34:55 -07:00
3fd919c536 [Docs] Update hand wire guide (#7044)
* Reorganised Hand Wire Guide

Added some images and put the "Matrix" section in a hidden <details> section

* Actually adding images this time

removed .jpg from .gitignore

* Hand wire guide updated

Incomplete, but started making the guide more general.  Will continue to add images (in imgur as requested)

* Removed some more images from gitignore

* testing image changes (temporary)

* Update hand_wire.md

* added techniques table

* Tweaking the table

* Finished soldering guide

* Fixed some links, change image scaling

* More of the same

* resizing images

* updated images

* Update hand_wire.md

* Resizing images

* Update hand_wire.md

* Update hand_wire.md

* Create ribbon_cable.jpg

* Minor updates to links

* Updated firmware and flashing guidelines

* Updated images to imgur links and re-added images to gitignore

* Implemented requested changes.  Improved wording

* Added handwire helpers info and split KB info

* Update hand_wire.md

* Removed "the" from "the QMK toolbox"

* Fixed handwire helper table and image size

* Fixed a heading
2019-10-25 11:48:59 -07:00
0f30a4d2ca Save a few bytes with build options and rgb effect removal. (#7149) 2019-10-25 19:16:46 +01:00
862 changed files with 29359 additions and 13012 deletions

18
.github/labeler.yml vendored
View File

@ -1,18 +0,0 @@
core:
- quantum/**/*
- tmk_core/**/*
- drivers/**/*
- tests/**/*
- util/**/*
keymap:
- users/**/*
- layouts/**/*
- keyboards/**/keymap/**/*
cli:
- bin/qmk
- requirements.txt
- lib/python/**/*
python:
- '**/*.py'
documentation:
- docs/**/*

View File

@ -1,11 +0,0 @@
name: "Pull Request Labeler"
on:
- pull_request
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

2
.gitignore vendored
View File

@ -60,8 +60,8 @@ util/Win_Check_Output.txt
# ignore image files
*.png
*.jpg
*.gif
*.jpg
# Do not ignore MiniDox left/right hand eeprom files
!keyboards/minidox/*.eep

View File

@ -16,6 +16,7 @@ install:
- npm install -g moxygen
script:
- git rev-parse --short HEAD
- git diff --name-only HEAD $TRAVIS_BRANCH
- bash util/travis_test.sh
- bash util/travis_build.sh
- bash util/travis_docs.sh

View File

@ -558,10 +558,10 @@ endef
if ! python3 --version 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; fi
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 1 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 1 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 1 --init lib/ugfx; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 1 --init lib/lufa; fi
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 50 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 50 --init lib/ugfx; fi
if [ ! -e lib/lufa ]; then git submodule sync lib/lufa && git submodule update --depth 50 --init lib/lufa; fi
git submodule status --recursive 2>/dev/null | \
while IFS= read -r x; do \
case "$$x" in \

View File

@ -26,7 +26,7 @@ with open(os.path.join(qmk_dir, 'requirements.txt'), 'r') as fd:
module = line.split('=')[0] if '=' in line else line
if not find_spec(module):
print('Could not find module %s!', module)
print('Could not find module %s!' % module)
print('Please run `pip3 install -r requirements.txt` to install the python dependencies.')
exit(255)

View File

@ -112,7 +112,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
else
SRC += ws2812.c
WS2812_DRIVER_REQUIRED = yes
endif
endif
@ -176,7 +176,7 @@ endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812)
OPT_DEFS += -DWS2812
SRC += ws2812.c
WS2812_DRIVER_REQUIRED = yes
endif
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
@ -234,7 +234,7 @@ ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
BACKLIGHT_ENABLE = custom
endif
VALID_BACKLIGHT_TYPES := yes custom
VALID_BACKLIGHT_TYPES := yes software custom
BACKLIGHT_ENABLE ?= no
ifneq ($(strip $(BACKLIGHT_ENABLE)), no)
@ -246,19 +246,42 @@ ifneq ($(strip $(BACKLIGHT_ENABLE)), no)
CIE1931_CURVE = yes
endif
COMMON_VPATH += $(QUANTUM_DIR)/backlight
SRC += $(QUANTUM_DIR)/backlight/backlight.c
OPT_DEFS += -DBACKLIGHT_ENABLE
ifeq ($(strip $(BACKLIGHT_ENABLE)), custom)
OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
ifeq ($(strip $(BACKLIGHT_ENABLE)), software)
SRC += $(QUANTUM_DIR)/backlight/backlight_soft.c
else
ifeq ($(strip $(BACKLIGHT_ENABLE)), custom)
OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
endif
ifeq ($(PLATFORM),AVR)
SRC += $(QUANTUM_DIR)/backlight/backlight_avr.c
else
SRC += $(QUANTUM_DIR)/backlight/backlight_arm.c
endif
endif
endif
VALID_WS2812_DRIVER_TYPES := bitbang pwm spi i2c
WS2812_DRIVER ?= bitbang
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
$(error WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
endif
ifeq ($(PLATFORM),AVR)
SRC += $(QUANTUM_DIR)/backlight/backlight_avr.c
ifeq ($(strip $(WS2812_DRIVER)), bitbang)
SRC += ws2812.c
else
SRC += $(QUANTUM_DIR)/backlight/backlight_arm.c
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
endif
# add extra deps
ifeq ($(strip $(WS2812_DRIVER)), i2c)
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
@ -384,8 +407,12 @@ 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
endif
ifeq ($(strip $(DYNAMIC_MACRO_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_dynamic_macro.c
OPT_DEFS += -DDYNAMIC_MACRO_ENABLE
endif

View File

@ -1,4 +1,7 @@
- Translations
- [:uk: English](/)
- [:cn: 中文](/zh-cn/)
- [:es: Español](/es/)
- [:fr: Français](/fr-fr/)
- [:he: עברית](/he-il/)
- [:ru: Русский](/ru-ru/)

View File

@ -98,6 +98,7 @@
* [ISP Flashing Guide](isp_flashing_guide.md)
* [ARM Debugging Guide](arm_debugging.md)
* [I2C Driver](i2c_driver.md)
* [WS2812 Driver](ws2812_driver.md)
* [GPIO Controls](internals_gpio_control.md)
* [Proton C Conversion](proton_c_conversion.md)

View File

@ -69,6 +69,16 @@ There are some limitations to the local CLI compared to the global CLI:
# CLI Commands
## `qmk cformat`
This command formats C code using clang-format. Run it with no arguments to format all core code, or pass filenames on the command line to run it on specific files.
**Usage**:
```
qmk cformat [file1] [file2] [...] [fileN]
```
## `qmk compile`
This command allows you to compile firmware from any directory. You can compile JSON exports from <https://config.qmk.fm> or compile keymaps in the repo.
@ -85,16 +95,6 @@ qmk compile <configuratorExport.json>
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
This command formats C code using clang-format. Run it with no arguments to format all core code, or pass filenames on the command line to run it on specific files.
**Usage**:
```
qmk cformat [file1] [file2] [...] [fileN]
```
## `qmk config`
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
@ -125,6 +125,16 @@ This command examines your environment and alerts you to potential build or flas
qmk doctor
```
## `qmk json-keymap`
Creates a keymap.c from a QMK Configurator export.
**Usage**:
```
qmk json-keymap [-o OUTPUT] filename
```
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`

View File

@ -77,9 +77,9 @@ Always use a .py filename extension. Never use dashes.
## Names to Avoid
* single character names except for counters or iterators. You may use "e" as an exception identifier in try/except statements.
* dashes (-) in any package/module name
* __double_leading_and_trailing_underscore__ names (reserved by Python)
* single character names except for counters or iterators. You may use `e` as an exception identifier in try/except statements.
* dashes (`-`) in any package/module name
* `__double_leading_and_trailing_underscore__` names (reserved by Python)
# Docstrings

View File

@ -348,7 +348,8 @@ Use these to enable or disable building certain features. The more you have enab
* `NO_USB_STARTUP_CHECK`
* Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master.
* `LINK_TIME_OPTIMIZATION_ENABLE`
= Enables Link Time Optimization (`LTO`) when compiling the keyboard. This makes the process take longer, but can significantly reduce the compiled size (and since the firmware is small, the added time is not noticable). However, this will automatically disable the old Macros and Functions features automatically, as these break when `LTO` is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`
* Enables Link Time Optimization (`LTO`) when compiling the keyboard. This makes the process take longer, but can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable). However, this will automatically disable the old Macros and Functions features automatically, as these break when `LTO` is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`
* Alternatively, you can use `LTO_ENABLE` instead of `LINK_TIME_OPTIMIZATION_ENABLE`.
## USB Endpoint Limitations

169
docs/de/cli.md Normal file
View File

@ -0,0 +1,169 @@
# QMK CLI (Kommandozeile)
Diese Seite beschreibt die Einrichtung und den Umgang mit dem QMK CLI (Kommandozeile).
# Übersicht
Die QMK CLI vereinfacht das Zusammenbauen und Arbeiten mit QMK Tastaturen. Hier findest Du wichtige Befehle, um beispielsweise das Herunterladen und Kompilieren der QMK Firmware oder das Erstellen von Tastaturbelegungen (und vieles mehr) zu erleichtern.
* [Globale CLI](#globale-cli)
* [Lokale CLI](#lokale-cli)
* [CLI-Befehle](#cli-befehle)
# System-Anforderungen
Die CLI benötigt Python 3.5 oder höher. Außerdem ist es nötig, die Packages laut [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt) zu installieren.
# Globale CLI
QMK bietet ein installierbares CLI, das Du zum Einrichten Deiner QMK Build-Umgebung verwenden kannst. Dieses ermöglicht Dir das Arbeiten mit QMK, und erleichtert das Arbeiten mit mehreren Kopien der `qmk_firmware`. Wir empfehlen, dieses CLI zu installieren und regelmäßig upzudaten.
## Installation mit Homebrew (macOS, manche Linux)
Solltest Du [Homebrew](https://brew.sh) installiert haben, kannst Du QMK per tap installieren:
```
brew tap qmk/qmk
brew install qmk
export QMK_HOME='~/qmk_firmware' # Optional: setzt den Installationsort für `qmk_firmware`
qmk setup # Dies klont `qmk/qmk_firmware` und richtet optional auch Deine Build-Umgebung ein
```
## Installation mit easy_install oder pip
Falls Du kein Homebrew hast, kannst Du QMK auch manuell installieren. Zuerst musst Du sicherstellen, dass Python 3.5 (oder höher) und pip installiert ist. Dann installiere QMK mit diesem Befehl:
```
pip3 install qmk
export QMK_HOME='~/qmk_firmware' # Optional: setzt den Installationsort für `qmk_firmware`
qmk setup # Dies klont `qmk/qmk_firmware` und richtet optional auch Deine Build-Umgebung ein
```
## Installation mit git Repo
`git clone https://github.com/qmk/qmk_cli.git && cd qmk_cli && python3 setup.py install`
## Packaging für andere Betriebssysteme
Wir suchen nach Freiwilligen, die ein `qmk`-Package für weitere Betriebssysteme erstellen und pflegen. Falls Du ein Package für Dein OS erstellen möchtest, bitte befolge diese Richtlinien:
* Verwende "Best Practices" für Dein OS, sollten sie mit diesen Richtlinien in Konflikt stehen.
* Dokumentiere den Grund in einem Kommentar, wenn Du abweichen musstest.
* Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/).
* Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
# Lokale CLI
Wenn Du die globale CLI nicht verwenden möchtest, beinhaltet `qmk_firmware` auch eine lokale CLI. Du kannst sie hier finden: `qmk_firmware/bin/qmk`. Du kannst den `qmk`-Befehl aus irgendeinem Datei-Verzeichnis ausführen und es wird immer auf dieser Kopie von `qmk_firmware` arbeiten.
**Beispiel**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Einschränkungen der lokalen CLI
Hier ein Vergleich mit der globalen CLI:
* Die lokale CLI unterstützt kein `qmk setup` oder `qmk clone`.
* Die lokale CLI arbeitet immer innerhalb der selben `qmk_firmware`-Verzeichnisstruktur, auch wenn Du mehrere Repositories geklont hast.
* Die lokale CLI läuft nicht in einer virtualenv. Daher ist es möglich, dass Abhängigkeiten (dependencies) miteinander in Konflikt kommen/stehen.
# CLI-Befehle
## `qmk compile`
Dieser Befehl erlaubt es dir, die Firmware - aus egal welchem Datei-Verzeichnis - zu compilen. Du kannst JSON-Exporte von <https://config.qmk.fm> oder Keymaps in der Repo kompilen.
**Anwendung für Konfigurations-Exports**:
```
qmk compile <configuratorExport.json>
```
**Anwendung für Keymaps**:
```
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
Dieser Befehl formatiert C-Code im clang-Format. Benutze ihn ohne Argumente, um den core-Code zu formatieren, oder benutze Namen von Dateien in der CLI, um den Befehl auf bestimmte Dateien anzuwenden.
**Anwendung**:
```
qmk cformat [file1] [file2] [...] [fileN]
```
## `qmk config`
Dieser Befehl konfiguriert das Verhalten von QMK. Für die volle `qmk config`-Dokumentation gehe zu [CLI-Konfiguration](cli_configuration.md).
**Anwendung**:
```
qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
```
## `qmk docs`
Dieser Befehl startet einen lokalen HTTP-Server, den Du zum Browsen oder Verbessern der Dokumentation verwenden kannst. Der Default-Port ist 8936.
**Anwendung**:
```
qmk docs [-p PORT]
```
## `qmk doctor`
Dieser Befehl untersucht Deine Umgebung und warnt Dich vor potentiellen Build- oder Flash-Problemen.
**Anwendung**:
```
qmk doctor
```
## `qmk list-keyboards`
Dieser Befehl listet alle zurzeit in `qmk_firmware` definierten Tastaturen/Keyboards auf.
**Anwendung**:
```
qmk list-keyboards
```
## `qmk new-keymap`
Dieser Befehl erstellt eine neue Keymap basierend auf einer existierenden Standard-Keymap eines bestimmten Keyboards.
**Anwendung**:
```
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk pyformat`
Dieser Befehl formatiert Python-Code in `qmk_firmware`.
**Anwendung**:
```
qmk pyformat
```
## `qmk pytest`
Dieser Befehl führt die Python Test Suite aus. Wenn Du Python-Code veränderst, solltest Du sicherstellen, dass der Test erfolgreich ausgeführt wurde.
**Anwendung**:
```
qmk pytest
```

32
docs/es/README.md Normal file
View File

@ -0,0 +1,32 @@
# Firmware Quantum Mechanical Keyboard
[![Versión actual](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Estado de Build](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)
[![Estado de la documentación](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contribuyentes en GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![Forks en GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## ¿Qué es el firmware QMK?
QMK (*Quantum Mechanical Keyboard*) es una comunidad open source que mantiene el firmware QMK, QMK Toolbox, qmk.fm, y estos documentos. El firmware QMK es un firmware para teclados basado en [tmk\_keyboard](http://github.com/tmk/tmk_keyboard) con algunas características útiles para controladores Atmel AVR, y más específicamente, la [línea de productos OLKB](http://olkb.com), el teclado [ErgoDox EZ](http://www.ergodox-ez.com), y la [línea de productos Clueboard](http://clueboard.co/). También ha sido portado a chips ARM chips usando ChibiOS. Lo puedes utilizar para manejar tu propio teclado ya sea cableado a mano o basado en una PCB personalizada.
## Cómo conseguirlo
Si estás pensando en contribuir con un keymap, teclado, or característica a QMK, la manera más sencilla es hacer un [fork del repositorio en Github](https://github.com/qmk/qmk_firmware#fork-destination-box), y clonar tu repositorio localmente para hacer los cambios, subirlos, y abir un [Pull Request](https://github.com/qmk/qmk_firmware/pulls) desde tu fork.
De cualquier manera, también puedes descargarlo directamente en formatos ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), o clonarlo via git (`git@github.com:qmk/qmk_firmware.git`), o https (`https://github.com/qmk/qmk_firmware.git`).
## 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:
make planck/rev4:default
Este ejemplo compilaría la revisión `rev4` del teclado `planck` con el keymap `default`. No todos los teclados tienen revisiones (también llamados subproyectos o carpetas), en ese caso, se puede omitir:
make preonic:default
## 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).

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

@ -0,0 +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)
* [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)
* [Cambios incompatibles](breaking_changes.md)
* [30 Ago 2019](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)
* 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)
* [Hardware](hardware.md)
* [Procesadores AVR](hardware_avr.md)
* [Drivers](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)
* [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)
* 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)
* Para entender en profundidad
* [Cómo funcionan los teclados](how_keyboards_work.md)
* [Entendiendo QMK](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)
* 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)

View File

@ -0,0 +1,9 @@
# Llegar a ser un colaborador QMK
Un colaborador QMK es un maker o diseñador de teclados que tiene interés en ayudar a QMK a crecer y mantener sus teclado(s), y alentar a los usuarios y clientes a presentar herramientas, ideas, y keymaps. Siempre procuramos agregar más teclados y colaboradores, pero pedimos que cumplan los siguientes requisitos:
* **Tener un PCB disponible a la venta.** Desafortunadamente, hay demasiada variación y complicaciones con teclados cableados a mano.
* **Realizar el mantenimiento de tu teclado en QMK.** Este podría requirir un setup inicial para hacer que tu teclado funcione, pero también podría incluir adaptarse a cambios hecho al base de QMK que podrían descomponer o rendir código superfluo.
* **Aprobar e incorporar pull requests de keymaps para tu teclado.** Nos gusta alentar a los usuarios a contribuir sus keymaps para que otros los vean y los puedan usar para crear sus propios.
Si sientes que cumples los requisitos, ¡mándanos un email a hello@qmk.fm con una introducción y algunos enlaces para tu teclado!

8
docs/es/hardware.md Normal file
View File

@ -0,0 +1,8 @@
# Hardware
QMK es compatible con una variedad de hardware. Si tu procesador puede ser dirigido por [LUFA](http://www.fourwalledcubicle.com/LUFA.php) o [ChibiOS](http://www.chibios.com), probablemente puedes hacer que QMK se ejecute en él. Esta sección explora cómo hacer que QMK se ejecute y se comunique con hardware de todo tipo.
* [Pautas de teclados](hardware_keyboard_guidelines.md)
* [Procesadores AVR](hardware_avr.md)
* Procesadores ARM (TBD)
* [Drivers](hardware_drivers.md)

181
docs/es/hardware_avr.md Normal file
View File

@ -0,0 +1,181 @@
# Teclados con Procesadores AVR
Esta página describe el soporte para procesadores AVR en QMK. Los procesadores AVR incluyen el atmega32u4, atmega32u2, at90usb1286, y otros procesadores de la Corporación Atmel. Los procesadores AVR son MCUs de 8-bit que son diseñados para ser fáciles de trabajar. Los procesadores AVR más comunes en los teclados tienen USB y un montón de GPIO para permitir grandes matrices de teclado. Son los MCUs más populares para el uso en los teclados hoy en día.
Si aún no lo has hecho, debes leer las [Pautas de teclados](hardware_keyboard_guidelines.md) para tener una idea de cómo los teclados encajan en QMK.
## Añadir tu Teclado AVR a QMK
QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta el archivo `util/new_keyboard.sh`:
```
$ ./util/new_keyboard.sh
Generating a new QMK keyboard directory
Keyboard Name: mycoolkb
Keyboard Type [avr]:
Your Name [John Smith]:
Copying base template files... done
Copying avr template files... done
Renaming keyboard files... done
Replacing %KEYBOARD% with mycoolkb... done
Replacing %YOUR_NAME% with John Smith... done
Created a new keyboard called mycoolkb.
To start working on things, cd into keyboards/mycoolkb,
or open the directory in your favourite text editor.
```
Esto creará todos los archivos necesarios para tu nuevo teclado, y rellenará la configuración con valores predeterminados. Ahora sólo tienes que personalizarlo para tu teclado.
## `readme.md`
Aquí es donde describirás tu teclado. Por favor sigue la [Plantilla del readme de teclados](documentation_templates.md#keyboard-readmemd-template) al escribir tu `readme.md`. Te animamos a colocar una imagen en la parte superior de tu `readme.md`. Por favor, utiliza un servicio externo como [Imgur](http://imgur.com) para alojar las imágenes.
## `<keyboard>.c`
Aquí es donde pondrás toda la lógica personalizada para tu teclado. Muchos teclados no necesitan nada aquí. Puedes aprender más sobre cómo escribir lógica personalizada en [Funciones Quantum Personalizadas](custom_quantum_functions.md).
## `<keyboard>.h`
Este es el archivo en el que defines tu(s) [Macro(s) de Layout](feature_layouts.md). Por lo menos deberías tener un `#define LAYOUT` para tu teclado que se ve algo así:
```c
#define LAYOUT( \
k00, k01, k02, \
k10, k11 \
) { \
{ k00, k01, k02 }, \
{ k10, KC_NO, k11 }, \
}
```
La primera mitad de la macro pre-procesador `LAYOUT` define la disposición física de las llaves. La segunda mitad de la macro define la matriz a la que están conectados los interruptores. Esto te permite tener una disposición física de las llaves que difiere de la matriz de cableado.
Cada una de las variables `k__` tiene que ser única, y normalmente sigue el formato `k<row><col>`.
La matriz física (la segunda mitad) debe tener un número de filas igualando `MATRIX_ROWS`, y cada fila debe tener exactamente `MATRIX_COLS` elementos. Si no tienes tantas teclas físicas puedes usar `KC_NO` para rellenar los espacios en blanco.
## `config.h`
El archivo `config.h` es donde configuras el hardware y el conjunto de características para tu teclado. Hay un montón de opciones que se pueden colocar en ese archivo, demasiadas para listar allí. Para obtener una visión de conjunto completa de las opciones disponibles consulta la página de [Opciones de Configuración](config_options.md).
### Configuración de hardware
En la parte superior de `config.h` encontrarás ajustes relacionados con USB. Estos controlan la apariencia de tu teclado en el Sistema Operativo. Si no tienes una buena razón para cambiar debes dejar el `VENDOR_ID` como `0xFEED`. Para el `PRODUCT_ID` debes seleccionar un número que todavía no esté en uso.
Cambia las líneas de `MANUFACTURER`, `PRODUCT`, y `DESCRIPTION` para reflejar con precisión tu teclado.
```c
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER Tú
#define PRODUCT mi_teclado_fantastico
#define DESCRIPTION Un teclado personalizado
```
?> Windows y macOS mostrarán el `MANUFACTURER` y `PRODUCT` en la lista de dispositivos USB. `lsusb` en Linux toma estos de la lista mantenida por el [Repositorio de ID USB](http://www.linux-usb.org/usb-ids.html) por defecto. `lsusb -v` mostrará los valores reportados por el dispositivo, y también están presentes en los registros del núcleo después de conectarlo.
### Configuración de la matriz del teclado
La siguiente sección del archivo `config.h` trata de la matriz de tu teclado. Lo primero que debes establecer es el tamaño de la matriz. Esto es generalmente, pero no siempre, el mismo número de filas y columnas como la disposición física de las teclas.
```c
#define MATRIX_ROWS 2
#define MATRIX_COLS 3
```
Una vez que hayas definido el tamaño de tu matriz, necesitas definir qué pines en tu MCU están conectados a filas y columnas. Para hacerlo simplemente especifica los nombres de esos pines:
```c
#define MATRIX_ROW_PINS { D0, D5 }
#define MATRIX_COL_PINS { F1, F0, B0 }
#define UNUSED_PINS
```
El número de entradas debe ser el mismo que el número que asignaste a `MATRIX_ROWS`, y del mismo modo para `MATRIX_COL_PINS` y `MATRIX_COLS`. No tienes que especificar `UNUSED_PINS`, pero puedes si deseas documentar qué pines están abiertos.
Finalmente, puedes especificar la dirección en la que apuntan tus diodos. Esto puede ser `COL2ROW` o `ROW2COL`.
```c
#define DIODE_DIRECTION COL2ROW
```
#### Matriz de patas directas
Para configurar un teclado en el que cada interruptor está conectado a un pin y tierra separados en lugar de compartir los pines de fila y columna, usa `DIRECT_PINS`. La asignación define los pines de cada interruptor en filas y columnas, de izquierda a derecha. Debe ajustarse a los tamaños dentro de `MATRIX_ROWS` y `MATRIX_COLS`. Usa `NO_PIN` para rellenar espacios en blanco. Sobreescribe el comportamiento de `DIODE_DIRECTION`, `MATRIX_ROW_PINS` y `MATRIX_COL_PINS`.
```c
// #define MATRIX_ROW_PINS { D0, D5 }
// #define MATRIX_COL_PINS { F1, F0, B0 }
#define DIRECT_PINS { \
{ F1, E6, B0, B2, B3 }, \
{ F5, F0, B1, B7, D2 }, \
{ F6, F7, C7, D5, D3 }, \
{ B5, C6, B6, NO_PIN, NO_PIN } \
}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
//#define DIODE_DIRECTION
```
### Configuración de retroiluminación
QMK soporta retroiluminación en la mayoría de los pines GPIO. Algunos de ellos pueden ser manejados por el MCU en hardware. Para más detalles, consulta la [Documentación de Retroiluminación](feature_backlight.md).
```c
#define BACKLIGHT_PIN B7
#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 6
```
### Otras opciones de configuración
Hay un montón de características que se pueden configurar o ajustar en `config.h`. Debes consultar la página de [Opciones de Configuración](config_options.md) para más detalles.
## `rules.mk`
Usa el archivo `rules.mk` para decirle a QMK qué archivos construir y qué características habilitar. Si estás construyendo sobre un atmega32u4 deberías poder dejar mayormente los valores predeterminados. Si estás usando otro MCU es posible que tengas que ajustar algunos parámetros.
### Opciones MCU
Estas opciones le indican al sistema de compilación para qué CPU construir. Ten mucho cuidado si cambias cualquiera de estos ajustes. Puedes inutilizar tu teclado.
```make
MCU = atmega32u4
F_CPU = 16000000
ARCH = AVR8
F_USB = $(F_CPU)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
```
### Gestores de arranque
El gestor de arranque es una sección especial de tu MCU que te permite actualizar el código almacenado en el MCU. Piensa en ello como una partición de rescate para tu teclado.
#### Ejemplo de gestor de arranque
```make
BOOTLOADER = halfkay
```
#### Ejemplo de cargador DFU Atmel
```make
BOOTLOADER = atmel-dfu
```
#### Ejemplo de gestor de arranque Pro Micro
```make
BOOTLOADER = caterina
```
### Opciones de construcción
Hay un serie de características que se pueden activar o desactivar en `rules.mk`. Consulta la página de [Opciones de Configuración](config_options.md#feature-options) para obtener una lista detallada y una descripción.

View File

@ -0,0 +1,36 @@
# Controladores de hardware QMK
QMK se utiliza en un montón de hardware diferente. Mientras que el soporte para los MCUs y las configuraciones de matriz más comunes está integrado, hay una serie de controladores que se pueden añadir para soportar hardware adicional al teclado. Los ejemplos incluyen ratones y otros dispositivos de apuntamiento, extensores de i/o para teclados divididos, modúlos Bluetooth, y pantallas LCD, OLED y TFT.
<!-- FIXME: Esto debe hablar de cómo se integran los controladores en QMK y cómo puedes añadir su propio controlador.
# Descripción del sistema de controladores
-->
# Controladores disponibles
## ProMicro (Solo AVR)
Soporte para direccionar pines en el ProMicro por su nombre Arduino en lugar de su nombre AVR. Esto necesita ser mejor documentado. Si estás tratando de hacer esto y leer el código no ayuda por favor [abre una issue](https://github.com/qmk/qmk_firmware/issues/new) y podemos ayudarte por el proceso.
## Controlador OLED SSD1306
Soporte para pantallas OLED basadas en SSD1306. Para obtener más información consulta la página de [Característica de Controlador OLED](feature_oled_driver.md).
## uGFX
Puedes hacer uso de uGFX dentro de QMK para manejar LCDs de caracteres y gráficos, matrices de LED, OLED, TFT, y otras tecnologías de visualización. Esto necesita ser mejor documentado. Si estás tratando de hacer esto y leer el código no ayuda por favor [abre una issue](https://github.com/qmk/qmk_firmware/issues/new) y podemos ayudarte por el proceso.
## WS2812 (Solo AVR)
Soporte para LEDs WS2811/WS2812{a,b,c}. Para obtener más información consulta la página de [Luz RGB](feature_rgblight.md).
## IS31FL3731
Soporte para hasta 2 controladores. Cada controlador implementa 2 matrices charlieplex para direccionar LEDs individualmente usando I2C. Esto permite hasta 144 LEDs del mismo color o 32 LEDs RGB. Para obtener más información sobre cómo configurar el controlador, consulta la página de [Matriz RGB](feature_rgb_matrix.md).
## IS31FL3733
Soporte para hasta un solo controlador con espacio para expansión. Cada controlador puede controlar 192 LEDs individuales o 64 LEDs RGB. Para obtener más información sobre cómo configurar el controlador, consulta la página de [Matriz RGB](feature_rgb_matrix.md).

View File

@ -0,0 +1,149 @@
# Pautas del teclado QMK
Desde sus inicios, QMK ha crecido a pasos agigantados gracias a personas como tú que contribuyes a la creación y mantenimiento de nuestros teclados comunitarios. A medida que hemos crecido hemos descubierto algunos patrones que funcionan bien, y pedimos que te ajustes a ellos para que sea más fácil para que otras personas se beneficien de tu duro trabajo.
## Nombrar tu Teclado/Proyecto
Todos los nombres de teclado están en minúsculas, consistiendo sólo de letras, números y guiones bajos (`_`). Los nombres no pueden comenzar con un guión bajo. La barra de desplazamiento (`/`) se utiliza como un carácter de separación de subcarpetas.
Los nombres `test`, `keyboard`, y `all` están reservados para las órdenes de make y no pueden ser usados como un nombre de teclado o subcarpeta.
Ejemplos Válidos:
* `412_64`
* `chimera_ortho`
* `clueboard/66/rev3`
* `planck`
* `v60_type_r`
## Subcarpetas
QMK utiliza subcarpetas tanto para organización como para compartir código entre las revisiones del mismo teclado. Puedes anidar carpetas hasta 4 niveles de profundidad:
qmk_firmware/keyboards/top_folder/sub_1/sub_2/sub_3/sub_4
Si una subcarpeta tiene un archivo `rules.mk` será considerado un teclado compilable. Estará disponible en el configurador de QMK y se probará con `make all`. Si estás utilizando una carpeta para organizar varios teclados del mismo fabricante no debes tener un archivo `rules.mk`.
Ejemplo:
Clueboard utiliza subcarpetas para ambos propósitos: organización y revisiones de teclado.
* [`qmk_firmware`](https://github.com/qmk/qmk_firmware/tree/master)
* [`keyboards`](https://github.com/qmk/qmk_firmware/tree/master/keyboards)
* [`clueboard`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard) &larr; This is the organization folder, there's no `rules.mk` file
* [`60`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard/60) &larr; This is a compilable keyboard, it has a `rules.mk` file
* [`66`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard/66) &larr; This is also compilable- it uses `DEFAULT_FOLDER` to specify `rev3` as the default revision
* [`rev1`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard/66/rev1) &larr; compilable: `make clueboard/66/rev1`
* [`rev2`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard/66/rev2) &larr; compilable: `make clueboard/66/rev2`
* [`rev3`](https://github.com/qmk/qmk_firmware/tree/master/keyboards/clueboard/66/rev3) &larr; compilable: `make clueboard/66/rev3` or `make clueboard/66`
## Estructura de carpetas de teclado
Su teclado debe estar ubicado en `qmk_firm cuidada/keyboards/` y el nombre de la carpeta debe ser el nombre de su teclado como se describe en la sección anterior. Dentro de esta carpeta debe haber varios archivos:
* `readme.md`
* `info.json`
* `config.h`
* `rules.mk`
* `<keyboard_name>.c`
* `<keyboard_name>.h`
### `readme.md`
Todos los proyectos necesitan tener un archivo `readme.md` que explica lo que es el teclado, quién lo hizo y dónde está disponible. Si es aplicable, también debe contener enlaces a más información, como el sitio web del fabricante. Por favor, sigue la [plantilla publicada](documentation_templates.md#keyboard-readmemd-template).
### `info.json`
Este archivo es utilizado por la [API de QMK](https://github.com/qmk/qmk_api). Contiene la información que [configurador de QMK](https://config.qmk.fm/) necesita mostrar en una representación de su teclado. También puede establecer metadatos aquí. Para más información, consulta la [página de referencia](reference_info_json.md).
### `config.h`
Todos los proyectos necesitan tener un archivo `config.h` que establece cosas como el tamaño de la matriz, nombre del producto, USB VID/PID, descripción y otros ajustes. En general, usa este archivo para establecer la información esencial y los valores predeterminados para tu teclado que siempre funcionarán.
### `rules.mk`
La presencia de este archivo indica que la carpeta es un destino de teclado y se puede utilizar en las órdenes `make`. Aquí es donde estableces el entorno de compilación para tu teclado y configuras el conjunto predeterminado de características.
### `<keyboard_name.c>`
Aquí es donde escribirás código personalizado para tu teclado. Típicamente escribirás código para inicializar e interactuar con el hardware de tu teclado. Si tu teclado se compone de sólo una matriz de teclas sin LEDs, altavoces u otro hardware auxiliar este archivo puede estar en blanco.
Las funciones siguientes se definen típicamente en este archivo:
* `void matrix_init_kb(void)`
* `void matrix_scan_kb(void)`
* `bool process_record_kb(uint16_t keycode, keyrecord_t *record)`
* `void led_set_kb(uint8_t usb_led)`
### `<keyboard_name.h>`
Este archivo se utiliza para definir la matriz para tu teclado. Debes definir al menos un macro de C que traduce una serie en una matriz que representa la matriz de interruptor físico para tu teclado. Si es posible construir tu teclado con múltiples diseños debes definir macros adicionales.
Si solo tienes un diseño debes llamar a esta macro `LAYOUT`.
Al definir diseños múltiples debes tener un diseño base, llamado `LAYOUT_all`, que soporte todas las posibles posiciones de switch en tu matriz, incluso si ese diseño es imposible de construir físicamente. Esta es la macro que deberías usar en tu keymap `predeterminado`. Debes tener keymaps adicionales llamados `default_ término layout>` que usen tus otras macros de diseño. Esto hará que sea más fácil para las personas utilizar los diseños que defines.
Los nombres de las macros de diseño son completamente minúsculas, excepto por la palabra `LAYOUT` en el frente.
Por ejemplo, si tienes un PCB de 60% que soporta ANSI e ISO podría definir los siguientes diseños y keymaps:
| Nombre de diseño | Nombre de keymap | Descripción |
|-------------|-------------|-------------|
| LAYOUT_all | default | Un diseño que soporta tanto ISO como ANSI |
| LAYOUT_ansi | default_ansi | Un diseño ANSI |
| LAYOUT_iso | default_iso | Un diseño ISO |
## Archivos de Imagen/Hardware
En un esfuerzo por mantener el tamaño de repo abajo ya no estamos aceptando archivos binarios de cualquier formato, con pocas excepciones. Alojarlos en otro lugar (por ejemplo <https://imgur.com>) y enlazarlos en el `readme.md` es preferible.
Para archivos de hardware (tales como placas, casos, pcb) puedes contribuir a [qmk.fm repo](https://github.com/qmk/qmk.fm) y estarán disponibles en [qmk.fm](http://qmk.fm). Archivos descargables se almacenan en `/<teclado>/` (nombre sigue el mismo formato que el anterior), se sirven en `http://qmk.fm/<teclado>/`, y se generan páginas de `/_pages/<teclado>/` que se sirven en la misma ubicación (Los archivos .md se generan en archivos .html mediante Jekyll). Echa un vistazo a la carpeta `lets_split` para ver un ejemplo.
## Predeterminados de teclado
Dada la cantidad de funcionalidad que expone QMK, es muy fácil confundir a los nuevos usuarios. Al armar el firmware predeterminado para tu teclado, te recomendamos limitar tus funciones y opciones habilitadas al conjunto mínimo necesario para soportar tu hardware. A continuación se formulan recomendaciones sobre características específicas.
### Bootmagic y Command
[Bootmagic](feature_bootmagic.md) and [Command](feature_command.md) son dos características relacionadas que permiten a un usuario controlar su teclado de manera no obvia. Te recomendamos que piense largo y tendido acerca de si vas a habilitar cualquiera de las características, y cómo vas a exponer esta funcionalidad. Tengas en cuenta que los usuarios que quieren esta funcionalidad puede habilitarla en sus keymaps personales sin afectar a todos los usuarios novatos que pueden estar usando tu teclado como su primera tarjeta programable.
De lejos el problema más común con el que se encuentran los nuevos usuarios es la activación accidental de Bootmagic mientras están conectando su teclado. Están sosteniendo el teclado por la parte inferior, presionando sin saberlo en alt y barra espaciadora, y luego se dan cuenta de que estas teclas han sido intercambiadas en ellos. Recomendamos dejar esta característica deshabilitada de forma predeterminada, pero si la activas consideres establecer la opción `BOOTMAGIC_KEY_SALT` a una tecla que es difícil de presionar al conectar el teclado.
Si tu teclado no tiene 2 teclas de cambio debes proporcionar un predeterminado de trabajo para `IS_COMMAND`, incluso cuando haya definido `COMMAND_ENABLE = no`. Esto dará a sus usuarios un valor predeterminado para ajustarse a si lo hacen enable Command.
## Programación de teclado personalizado
Como se documenta en [Funcionalidad de Adaptación](custom_quantum_functions.md) puedes definir funciones personalizadas para tu teclado. Por favor, tengas en cuenta que sus usuarios pueden querer personalizar ese comportamiento así, y hacer que sea posible para que puedan hacer eso. Si está proporcionando una función personalizada, por ejemplo `process_record_kb()`, asegúrese de que su función también llame a la versión` `_user()` de la llamada. También debes tener en cuenta el valor de retorno de la versión `_user()`, y ejecutar sólo tu código personalizado si el usuario devuelve `true`.
## Proyectos Sin Producción/Conectados A Mano
Estamos encantados de aceptar cualquier proyecto que utilice QMK, incluidos los prototipos y los cableados de mano, pero tenemos una carpeta `/keyboards/handwired/` separada para ellos, por lo que la carpeta `/keyboards/` principal no se llena. Si un proyecto prototipo se convierte en un proyecto de producción en algún momento en el futuro, ¡estaremos encantados de moverlo a la carpeta `/keyboards/` principal!
## Advertencias como errores
Al desarrollar su teclado, tengas en cuenta que todas las advertencias serán tratadas como errores - estas pequeñas advertencias pueden acumularse y causar errores más grandes en el camino (y pierdan es generalmente una mala práctica).
## Derechos de autor
Si estás adaptando la configuración de tu teclado de otro proyecto, pero no utilizando el mismo código, asegúrese de actualizar la cabecera de derechos de autor en la parte superior de los archivos para mostrar tu nombre, en este formato:
Copyright 2017 Tu nombre <tu@email.com>
Si estás modificando el código de otra persona y sólo ha hecho cambios triviales debes dejar su nombre en la declaración de derechos de autor. Si has hecho un trabajo significativo en el archivo debe agregar tu nombre a la de ellos, así:
Copyright 2017 Su nombre <original_author@ejemplo.com> Tu nombre <tu@ejemplo.com>
El año debe ser el primer año en que se crea el archivo. Si el trabajo se hizo a ese archivo en años posteriores puedes reflejar que mediante la adición del segundo año a la primera, como así:
Copyright 2015-2017 Tu nombre <tu@ejemplo.com>
## Licencia
El núcleo de QMC está licenciado bajo la [GNU General Public License](https://www.gnu.org/licenses/licenses.en.html). Si estás enviando binarios para los procesadores AVR puedes elegir cualquiera [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html) o [GPLv3](https://www.gnu.org/licenses/gpl.html). Si estás enviando binarios para ARM procesadores debes elegir [GPL Versión 3](https://www.gnu.org/licenses/gpl.html) para cumplir con los [ChibiOS](http://www.chibios.org) licencia GPLv3.
Si tu teclado hace uso de la [uGFX](https://gfx.io) características dentro de QMK debes cumplir con la [Licencia de uGFX](https://ugfx.io/license.html), que requiere una licencia comercial separada antes de vender un dispositivo que contiene uGFX.
## Detalles técnicos
Si estás buscando más información sobre cómo hacer que su teclado funcione con QMK, [echa un vistazo a la sección hardware](hardware.md)!

23
docs/es/newbs.md Normal file
View File

@ -0,0 +1,23 @@
# La guía completa de QMK para novatos
QMK es un poderoso firmware Open Source para tu teclado mecánico. Puedes utilizar QMK para personalizar tu teclado en maneras a la vez simples y potentes. Gente de todos los niveles de habilidad, desde completos novatos hasta expertos programadores, han utilizado con éxito QMK para personalizar sus teclados. Esta guía te ayudará a hacer lo mismo, sin importar tu nivel de habilidad.
¿No estás seguro de si tu teclado puede ejecutar QMK? Si es un teclado mecánico construido por ti mismo probablemente puedas. Damos soporte a [gran número de placas de hobbistas](http://qmk.fm/keyboards/), e incluso si tu teclado actual no pudiera ejecutar QMK no deberías tener problemas encontrando uno que cumpliera tus necesidades.
## Visión general
Hay 7 secciones principales en esta guía:
* [Empezando](newbs_getting_started.md)
* [Construyendo tu primer firmware](newbs_building_firmware.md)
* [Construyendo tu primer firmware usando la GUI](newbs_building_firmware_configurator.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)
Esta guía está enfocada en ayudar a alguien que nunca ha compilado software con anterioridad. Toma decisiones y hace recomendaciones teniendo en cuenta este punto de vista. Hay métodos alternativos para muchos de estos procedimientos, y soportamos la mayoría de esas alternativas. Si tienes alguna duda sobre cómo llevar a cabo una tarea nos puedes [preguntar para que te guiemos](getting_started_getting_help.md).
## Recursos adicionales
* [Blog de Básicos de Thomas Baart's QMK](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) Un blog creado por un usuario que cubre lo básico sobre cómo usar el firmware QMK Firmware, visto desde la perspectiva de un usuario nuevo.

View File

@ -0,0 +1,159 @@
# Mejores prácticas
## O, "Cómo aprendí a dejar de preocuparme y amarle a Git."
Este documento procura instruir a los novatos en las mejores prácticas para tener una experiencia más fácil en contribuir a QMK. Te guiaremos por el proceso de contribuir a QMK, explicando algunas maneras de hacerlo más fácilmente, y luego romperemos algunas cosas para enseñarte cómo arreglarlas.
En este documento suponemos un par de cosas:
1. Tienes una cuenta de Github, y has hecho un [fork del repo qmk_firmware](getting_started_github.md) en tu cuenta.
2. Has [configurado tu entorno de desarrollo](newbs_getting_started.md?id=environment-setup).
## La rama master de tu fork: Actualizar a menudo, nunca commit
Se recomienda que para desarrollo con QMK, lo que sea que estés haciendo, mantener tu rama `master` actualizada, pero **nunca** commit en ella. Mejor, haz todos tus cambios en una rama de desarrollo y manda pull requests de tus ramas mientras programas.
Para evitar los conflictos de merge &mdash; cuando dos o más usuarios han editado la misma parte de un archivo al mismo tiempo &mdash; mantén tu rama `master` actualizada, y empieza desarrollo nuevo creando una nueva rama.
### Actualizando tu rama master
Para mantener tu rama `master` actualizada, se recomienda agregar el repository ("repo") de Firmware QMK como un repo remoto en git. Para hacer esto, abre tu interfaz de línea de mandatos y ingresa:
```
git remote add upstream https://github.com/qmk/qmk_firmware.git
```
Para verificar que el repo ha sido agregado, ejecuta `git remote -v`, y lo siguiente debe aparecer:
```
$ git remote -v
origin https://github.com/<your_username>/qmk_firmware.git (fetch)
origin https://github.com/<your_username>/qmk_firmware.git (push)
upstream https://github.com/qmk/qmk_firmware.git (fetch)
upstream https://github.com/qmk/qmk_firmware.git (push)
```
Ya que has hecho esto, puedes buscar actualizaciones del repo ejecutando `git fetch upstream`. Esto busca las ramas y etiquetas &mdash; juntos conocidos como "refs" &mdash; del repo QMK, que ahora tiene el apodo `upstream`. Ahora podemos comparar los archivos en nuestro fork `origin` con los de QMK.
Para actualizar la rama master de tu fork, ejecuta lo siguiente, pulsando Intro después de cada línea:
```
git checkout master
git fetch upstream
git pull upstream master
git push origin master
```
Esto te coloca en tu rama master, busca los refs del repo de QMK, descarga la rama `master` actual a tu computadora, y después lo sube a tu fork.
### Hacer cambios
Para hacer cambios, crea una nueva rama ejecutando:
```
git checkout -b dev_branch
git push --set-upstream origin dev_branch
```
Esto crea una nueva rama llamada `dev_branch`, te coloca en ella, y después guarda la nueva rama a tu fork. El parámetro `--set-upstream` le dice a git que use tu fork y la rama `dev_branch` cada vez que uses `git push` o `git pull` en esta rama. Solo necesitas usarlo la primera que que subes cambios; ya después, puedes usar `git push` o `git pull`, sin usar los demás parámetros.
!> Con `git push`, puedes usar `-u` en vez de `--set-upstream` &mdash; `-u` es un alias de `--set-upstream`.
Puedes nombrar tu rama casi cualquier cosa, pero se recomienda ponerle algo con relación a los cambios que vas a hacer.
Por defecto `git checkout -b` se basará tu nueva rama en la rama en la cual estás actualmente. Puedes basar tu rama en otra rama existente agregando el nombre de la rama al comando:
```
git checkout -b dev_branch master
```
Ahora que tienes una rama development, abre tu editor de texto y haz los cambios que quieres. Se recomienda hacer varios commits pequeños a tu rama; de este modo cualquier cambio que causa problemas puede ser rastreado y deshecho si fuera necesario. Para hacer tus cambios, edita y guarda los archivos que necesitas actualizar, agrégalos al *staging area* de Git, y luego haz un commit a tu rama:
```
git add path/to/updated_file
git commit -m "My commit message."
```
`git add` agrega los archivos que han sido cambiados al *staging area* de Git, lo cual es la "zona de preparación"de Git. Este contiene los cambios que vas a *commit* usando `git commit`, que guarda los cambios en el repo. Usa un mensaje de commit descriptivo para que puedas saber que ha cambiado fácilmente.
!> Si has cambiado muchos archivos, pero todos los archivos son parte del mismo cambio, puedes usar `git add .` para agregar todos los archivos cambiados que están en tu directiro actual, en vez de agregar cada archivo manualmente.
### Publicar tus cambios
El útimo paso es subir tus cambios a tu fork. Para hacerlo, ejecuta `git push`. Ahora Git publicará el estado actual de `dev_branch` a tu fork.
## Resolver los conflictos del merge
A veces cuando el trabajo en una rama tarda mucho tiempo en completarse, los cambios que han sido hechos por otros chocan con los cambios que has hecho en tu rama cuando abres un pull request. Esto se llama un *merge conflict*, y es algo que ocurre cuando varias personas editan las mismas partes de los mismos archivos.
### Rebase tus cambios
Un *rebase* es la manera de Git de tomar los cambios que se aplicaron en un punto, deshacerlos, y aplicar estos mismos cambios en otro punto. En el caso de un conflicto de merge, puedes hacer un rebase de tu rama para recoger los cambios que has hecho.
Para empezar, ejecuta lo siguiente:
```
git fetch upstream
git rev-list --left-right --count HEAD...upstream/master
```
El comando `git rev-list` ejecutado aquí muestra el número de commits que difieren entre la rama actual y la rama master de QMK. Ejecutamos `git fetch` primero para asegurarnos de que tenemos los refs que representan es estado actual del repo upstream. El output del comando `git rev-list` muestra dos números:
```
$ git rev-list --left-right --count HEAD...upstream/master
7 35
```
El primer número representa el número de commits en la rama actual desde que fue creada, y el segundo número es el número de commits hecho a `upstream/master` desde que la rama actual fue creada, o sea los cambios que no están registrados en la rama actual.
Ahora que sabemos el estado actual de la rama actual y el del repo upstream, podemos empezar una operación rebase:
```
git rebase upstream/master
```
Esto le dice a Git que deshaga los commits en la rama actual, y después los re-aplica en la rama master de QMK.
```
$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Applying: Commit #1
Using index info to reconstruct a base tree...
M conflicting_file_1.txt
Falling back to patching base and 3-way merge...
Auto-merging conflicting_file_1.txt
CONFLICT (content): Merge conflict in conflicting_file_1.txt
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 Commit #1
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
```
Esto nos dice que tenemos un conflicto de merge, y nos dice el nombre del archivo con el conflict. Abre el archivo en tu editor de texto, y en alguna parte del archivo verás algo así:
```
<<<<<<< HEAD
<p>For help with any issues, email us at support@webhost.us.</p>
=======
<p>Need help? Email support@webhost.us.</p>
>>>>>>> Commit #1
```
La línea `<<<<<<< HEAD` marca el principio de un conflicto de merge, y la línea `>>>>>>> Commit #1` marca el final, con las secciones de conflicto separadas por `=======`. La parte del lado `HEAD` is de la versión de QMK master del archivo, y la parte marcada con el mensaje de commit es de la rama actual.
Ya que Git rastrea *cambios de archivos* en vez del contenido de los archivos directamente, si Git no puede encontrar el texto que estaba en el archivo antes del último commit, no sabrá cómo editar el archivo. El editar el archivo de nuevo resolverá este conflicto. Haz tus cambios, y guarda el archivo.
```
<p>Need help? Email support@webhost.us.</p>
```
Ahora ejecuta:
```
git add conflicting_file_1.txt
git rebase --continue
```
Git registra los cambios al archivo con conflictos, y sigue aplicando los commits de nuestra rama hasta llegar al final.

View File

@ -0,0 +1,81 @@
# Construyendo tu primer firmware
Ahora que has configurado tu entorno de construcción estas listo para empezar a construir firmwares personalizados. Para esta sección de la guía alternaremos entre 3 programas - tu gestor de ficheros, tu editor de texto , y tu ventana de terminal. Manten los 3 abiertos hasta que hayas acabado y estés contento con el firmware de tu teclado.
Si has cerrado y reabierto la ventana de tu terminal después de seguir el primero paso de esta guía, no olvides hacer `cd qmk_firmware` para que tu terminal esté en el directorio correcto.
## Navega a tu carpeta de keymaps
Comienza navegando a la carpeta `keymaps` correspondiente a tu teclado.
?> Si estás en macOS o Windows hay comandos que puedes utilizar fácilmente para abrir la carpeta keymaps.
?> macOS:
abre keyboards/<keyboard_folder>/keymaps
?> Windows:
inicia .\\keyboards\\<keyboard_folder>\\keymaps
## Crea una copia del keymap `default`
Una vez que tengas la carpeta `keymaps` abierta querrás crear una copia de la carpeta `default`. Recomendamos encarecidamente que nombres la carpeta igual que tu nombre de usuario de GitHub, pero puedes utilizar el nombre que quieras siempre que contenga sólo letras en minúscula, números y el caracter de guión bajo.
Para automatizar el proceso, también tienes la opción de ejecutar el script `new_keymap.sh`.
Navega a la carpeta `qmk_firmware/util` e introduce lo siguiente:
```
./new_keymap.sh <keyboard path> <username>
```
Por ejemplo, para un usuario llamado John, intentando hacer un keymap nuevo para el 1up60hse, tendría que teclear
```
./new_keymap.sh 1upkeyboards/1up60hse john
```
## Abre `keymap.c` con tu editor de texto favorito
Abre tu `keymap.c`. Dentro de este fichero encontrarás la estructura que controla cómo se comporta tu teclado. En lo alto de `keymap.c` puede haber distintos defines y enums que hacen el keymap más fácil de leer. Continuando por abajo encontrarás una línea con este aspecto:
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
Esta línea indica el comienzo del listado de Capas. Debajo encontrarás líneas que contienen o bien `LAYOUT` o `KEYMAP`, y estas líneas indican el comienzo de una capa. Debajo de esa línea está la lista de teclas que pertenecen a esa capa concreta.
!> Cuando estés editando tu fichero de keymap ten cuidado con no añadir ni eliminar ninguna coma. Si lo haces el firmware dejará de compilar y puede no ser fácil averiguar dónde está la coma faltante o sobrante.
## Personaliza el Layout a tu gusto
Cómo completar esta paso depende enteramente de ti. Haz ese pequeño cambio que querías o rehaz completamente todo. Puedes eliminar capas si no las necesitas todas, o añadir nuevas hasta un total de 32. Comprueba la siguiente documentación para descubrir qué es lo que puedes definir aquí:
* [Keycodes](keycodes.md)
* [Características](features.md)
* [Preguntas frecuentes](faq.md)
?> Mientras estás descubriendo cómo funcionan los keymaps, haz pequeños cambios. Cambios mayores pueden hacer difícil la depuración de problemas que puedan aparecer.
## Construye tu firmware
Cuando los cambios a tu keymap están completos necesitarás construir el firmware. Para hacerlo vuelve a la ventana de tu terminal y ejecuta el siguiente comando:
make <my_keyboard>:<my_keymap>
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un planck rev5, utilizarás el siguiente comando:
make planck/rev5:xyverz
Mientras compila, recibirás un montón de información de salida en la pantalla informándote de qué ficheros están siendo compilados. Debería acabar con una información similar a esta:
```
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
```
## Flashea tu firmware
Continua con [Flasheando el firmware](newbs_flashing.md) para aprender cómo escribir tu firmware nuevo en tu teclado.

View File

@ -0,0 +1,105 @@
# Configurador QMK
El [Configurador QMK](https://config.qmk.fm) es un entorno gráfico online que genera ficheros hexadecimales de Firmware QMK.
?> **Por favor sigue estos pasos en orden.**
Ve el [Video tutorial](https://youtu.be/tx54jkRC9ZY)
El Configurador QMK functiona mejor con Chrome/Firefox.
!> **Ficheros de otras herramientas como KLE, o kbfirmware no serán compatibles con el Configurador QMK. No las cargues, no las importes. El configurador Configurador QMK es una herramienta DIFERENTE. **
## Seleccionando tu teclado
Haz click en el desplegable y selecciona el teclado para el que quieres crear el keymap.
?> Si tu teclado tiene varias versiones, asegúrate de que seleccionas la correcta.**
Lo diré otra vez porque es importante
!> **ASEGÚRATE DE QUE SELECCIONAS LA VERSIÓN CORRECTA!**
Si se ha anunciado que tu teclado funciona con QMK pero no está en la lista, es probable que un desarrollador no se haya encargado de él aún o que todavía no hemos tenido la oportunidad de incluirlo. Abre un issue en [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) solicitando soportar ese teclado un particular, si no hay un [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) activo para ello. Hay también teclados que funcionan con QMK que están en las cuentas de github de sus manufacturantes. Acuérdate de comprobar esto también.
## Eligiendo el layout de tu teclado
Elige el layout que mejor represente el keymap que quieres crear. Algunos teclados no tienen suficientes layouts o layouts correctos definidos aún. Serán soportados en el futuro.
## Nombre del keymap
Llama a este keymap como quieras.
?> Si estás teniendo problemas para compilar, puede merecer la pena probar un cambio de nombre, ya que puede que ya exista en el repositorio de QMK Firmware.
## Creando Tu keymap
La adición de keycodes se puede hacer de 3 maneras.
1. Arrastrando y soltando
2. Clickando en un hueco vacío en el layout y haciendo click en el keycode que deseas
3. Clickando en un hueco vacío en el layout, presionando la tecla física en tu teclado.
Mueve el puntero de tu ratón sobre una tecla y un pequeño extracto te dirá que es lo que hace la tecla. Para una descripción más detallada por favor, mira
[Referencia básica de keycodes](https://docs.qmk.fm/#/keycodes_basic)
[Referencia avanzada de keycodes](https://docs.qmk.fm/#/feature_advanced_keycodes)
En el caso de que no puedas encontrar un layout que suporte tu keymap, por ejemplo, tres huecos para la barra espaciadora, dos huecos para el retroceso o dos huecos para shift etc etc, rellènalos TODOS.
### Ejemplo:
3 huecos para barra espaciadora: Rellena TODOS con barra espaciadora
2 huecos para retroceso: Rellena AMBOS con retroceso
2 huecos para el shift derecho: Rellena AMBOS con shift derecho
1 hueco para el shift izquierdo y 1 hueco para soporte iso: Rellena ambos con el shift izquierdo
5 huecos , pero sólo 4 teclas: Intuye y comprueba o pregunta a alguien que lo haya hecho anteriormente.
## Guardando tu keymap para ediciones futuras
Cuando estés satisfecho con un teclado o quieres trabajar en el después, pulsa el botón `Exportar Keymap`. Guardára tu keymap con el nombre que elijas seguido de .json.
Entonces podrás cargar este fichero .json en el futuro pulsando el botón `Importar Keymap`.
!> **PRECAUCIÓN:** No es el mismo tipo de fichero .json usado en kbfirmware.com ni ninguna otra herramienta. Si intentas utilizar un fichero .json de alguna de estas herramientas con el Configurador QMK, existe la posibilidad de que tu teclado **explote**.
## Generando tu fichero de firmware
Pulsa el botón verde `Compilar`.
Cuando la compilación haya acabado, podrás presionar el botón verde `Descargar Firmware`.
## Flasheando tu teclado
Por favor, dirígete a la sección de [Flashear firmware](newbs_flashing.md)
## Problemas comunes
#### Mi fichero .json no funciona
Si el fichero .json fue generado con el Configurador QMK, enhorabuena, has dado con un bug. Abre una issue en [qmk_configurator](https://github.com/qmk/qmk_configurator/issues)
Si no....cómo no viste el mensaje en negrita que puse arriba diciendo que no hay que utilizar otros ficheros .json?
#### Hay espacios extra en mi layout ¿Qué hago?
Si te refieres a tener tres espacios para la barra espaciadora, la mejor decisión es rellenar los tres con la barra espaciadora. También se puede hacer lo mismo con las teclas retroceso y las de shift
#### Para qué sirve el keycode.......
Por favor, mira
[Referencia básica de keycodes](https://docs.qmk.fm/#/keycodes_basic)
[Referencia avanzada de keycodes](https://docs.qmk.fm/#/feature_advanced_keycodes)
#### No compila
Por favor, revisa las otras capas de tu keymap para asegurarte de que no hay teclas aleatorias presentes.
## Problemas y bugs
Siempre aceptamos peticiones de clientes y reportes de bug. Por favor, indícalos en [qmk_configurator](https://github.com/qmk/qmk_configurator/issues)

351
docs/es/newbs_flashing.md Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,103 @@
# Introducción
El teclado de tu computador tiene un procesador dentro de él, no muy distinto del que está dentro de tu ordenador. Este procesador ejecuta software que es responsable de detectar la pulsación de las teclas y enviar informes sobre el estado del teclado cuando las teclas son pulsadas y liberadas. QMK ocupa el rol de ese software. Cuando construyes un keymap personalizado , estas creando el equivalente de un programa ejecutable en tu teclado.
QMK intenta poner un montón de poder en tus manos haciendo que las cosas fáciles sean fáciles, y las cosas difíciles posibles. No tienes que saber cómo programar para crear keymaps potentes — sólo tienes que seguir un conjunto simple de reglas sintácticas.
# Comenzando
Antes de que puedas construir keymaps, necesitarás instalar algun software y configurar tu entorno de construcción. Esto sólo hay que hacerlo una vez sin importar en cuántos teclados planeas configurar el software.
Si prefieres hacerlo mediante un interfaz gráfico , por favor, considera utilizar el [Configurador QMK](https://config.qmk.fm). En ese caso dirígete a [Construyendo tu primer firmware usando la GUI](newbs_building_firmware_configurator.md).
## Descarga el software
### Editor de texto
Necesitarás un programa con el que puedas editar y guardar archivos de **texto plano**, en windows puedes utilizar Notepad y en tu Linux puedes utilizar gedit. Estos dos programas son editores simples y funcionales. En macOS ten cuidado con la aplicación de edición de texto por defecto TextEdit: no guardará texto plano a menos de que se le seleccione explícitamente _Make Plain Text_ desde el menú _Format_.
También puedes descargar e instalar un editor de texto dedicado como [Sublime Text](https://www.sublimetext.com/) o [VS Code](https://code.visualstudio.com/). Esta es probablemente la mejor manera independientemente de la plataforma, ya que estos programas fueron creados específicamente para editar código.
?> ¿No estás seguro de qué editor de texto utilizar? Laurence Bradford escribió una [estupenda introducción](https://learntocodewith.me/programming/basics/text-editors/) al tema.
### QMK Toolbox
QMK Toolbox is an optional graphical program for Windows and macOS that allows you to both program and debug your custom keyboard. You will likely find it invaluable for easily flashing your keyboard and viewing debug messages that it prints.
[Download the latest release here.](https://github.com/qmk/qmk_toolbox/releases/latest)
* For Windows: `qmk_toolbox.exe` (portable) or `qmk_toolbox_install.exe` (installer)
* For macOS: `QMK.Toolbox.app.zip` (portable) or `QMK.Toolbox.pkg` (installer)
## Configura tu entorno
Hemos intentado hacer QMK lo más fácil de configurar posible. Sólo tienes que preparar tu entorno Linux o Unix, y luego dejar que QMK
instale el resto.
?> Si no has trabajado con la línea de comandos de Linux/Unix con anterioridad, hay algunos conceptos y comandos básicos que deberías aprender. Estos recursos te enseñarán lo suficiente para poder trabajar con QMK:<br>
[Comandos de Linux que debería saber](https://www.guru99.com/must-know-linux-commands.html)<br>
[Algunos comandos básicos de Unix](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### Windows
Necesitarás instalar MSYS2 y Git.
* Sigue las instrucciones de instalación en la [página de MSYS2](http://www.msys2.org).
* Cierra las terminales abiertas de MSYS2 y abre una nueva termial de MSYS2 MinGW 64-bit.
* Instala Git ejecutando este comando: `pacman -S git`.
### macOS
Necesitarás instalar Homebrew. Sigue las instrucciones que encontrarás en la [página de Homebrew](https://brew.sh).
Despueś de que se haya inastalado Homebrew, continúa con _Set Up QMK_. En ese paso ejecutará un script que instalará el resto de paquetes.
### Linux
Necesitarás instalar Git. Es bastante probable que ya lo tengas, pero si no, uno de los siguientes comandos debería instalarlo:
* Debian / Ubuntu / Devuan: `apt-get install git`
* Fedora / Red Hat / CentOS: `yum install git`
* Arch: `pacman -S git`
?> Docker es también una opción en todas las plataformas. [Haz click aquí si quieres detalles.](getting_started_build_tools.md#docker)
## Configura QMK
Una vez que hayas configurado tu entorno Linux/Unix, estarás listo para descargar QMK. Haremos esto utilizando Git para "clonar" el respositorio de QMK. Abre una ventana de Terminal o MSYS2 MinGW y mantenla abierta mientras sigues esta guía. Dentro de esa ventana ejecuta estos dos comandos:
```shell
git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
```
?> Si ya sabes [cómo usar GitHub](getting_started_github.md), te recomendamos en vez de eso, crees y clones tu propio fork. Si no sabes lo que significa, puedes ignorar este mensaje sin problemas.
QMK viene con un script para ayudarte a configurar el resto de cosas que necesitarás. Deberías ejecutarlo introduciendo este comando:
util/qmk_install.sh
## Prueba tu entorno de construcción
Ahora que tu entorno de construcción de QMK está configurado, puedes construcir un firmware para tu teclado. Comienza intentado construir el keymap por defecto del teclado. Deberías ser capaz de hacerlo con un comando con este formato:
make <keyboard>:default
Por ejemplo, para construir el firmware para un Clueboard 66% deberías usar:
make clueboard/66/rev3:default
Cuando esté hecho, deberías tener un montón de información de salida similar a esta:
```
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)
```
# Creando tu keymap
Ya estás listo para crear tu propio keymap personal! Para hacerlo continua con [Construyendo tu primer firmware](newbs_building_firmware.md).

View File

@ -0,0 +1,15 @@
# Recursos de aprendizaje
Estos recursos procuran dar miembros nuevos en la communidad QMK un mayor entendimiento de la información proporcionada en la documentación para novatos.
Recursos de Git:
* [Excelente tutorial general](https://www.codecademy.com/learn/learn-git)
* [Juego de Git para aprender usando ejemplos](https://learngitbranching.js.org/)
* [Recursos de Git para aprender más sobre Github](getting_started_github.md)
* [Recursos de Git dirigidos específicamente a QMK](contributing.md)
Recursos para línea de mandatos:
* [Excelente tutorial general sobre la línea de mandatos](https://www.codecademy.com/learn/learn-the-command-line)

View File

@ -0,0 +1,99 @@
# Testeando y depurando
Una vez que hayas flasheado tu teclado con un firmware personalizado estarás listo para probarlo. Con un poco de suerte todo funcionará a la primera, pero si no es así, este documento te ayudará a averiguar qué está mal.
## Probando
Probar tu teclado es generalmente bastante sencillo. Persiona cada una de las teclas y asegúrate de que envía la tecla correcta. Existen incluso programas que te ayudarán a asegurarte de que no te dejas ninguna tecla sin comprobar.
Nota: Estos programas no los provée ni están relacionados con QMK.
* [Switch Hitter](https://elitekeyboards.com/switchhitter.php) (Sólo Windows)
* [Keyboard Viewer](https://www.imore.com/how-use-keyboard-viewer-your-mac) (Sólo Mac)
* [Keyboard Tester](http://www.keyboardtester.com) (Aplicación web)
* [Keyboard Checker](http://keyboardchecker.com) (Aplicación web)
## Depurando
Tu teclado mostrará información de depuración si tienes `CONSOLE_ENABLE = yes` en tu `rules.mk`. Por defecto la información de salida es muy limitada, pero puedes encender el modo de depuración para incrementar la información de salida. Utiliza el keycode `DEBUG` de tu keymap, usa la característica [Comando](feature_command.md) para activar el modo depuración, o añade el siguiente código a tu keymap.
```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;
}
```
### Depurando con QMK Toolbox
Para plataformas compatibles, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) se puede usar para mostrar mensajes de depuración de tu teclado.
### Depurando con hid_listen
¿Prefieres una solución basada en una terminal? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provista por PJRC, se puede usar también para mostrar mensajes de depuración. Hay binarios preconstruídos para Windows,Linux,y MacOS.
<!-- FIXME: Describe the debugging messages here. -->
## Enviando tus propios mensajes de depuración
A veces, es útil imprimir mensajes de depuración desde tu [código personalizado](custom_quantum_functions.md). Hacerlo es bastante simple. Comienza incluyendo `print.h` al principio de tu fichero:
#include <print.h>
Después de eso puedes utilzar algunas funciones print diferentes:
* `print("string")`: Imprime un string simple
* `uprintf("%s string", var)`: Imprime un string formateado
* `dprint("string")` Imprime un string simple, pero sólo cuando el modo de depuración está activo
* `dprintf("%s string", var)`: Imprime un string formateado, pero sólo cuando el modo de depuración está activo
## Ejemplos de depuración
Debajo hay una colección de ejemplos de depuración del mundo real. Para información adicional, Dirígete a [Depurando/Encontrando problemas en QMK](faq_debug.md).
### ¿Que posición en la matriz tiene esta pulsación de tecla?
Cuando estés portando, o intentando diagnosticar problemas en la pcb, puede ser útil saber si la pulsación de una tecla es escaneada correctamente. Para hablitar la información de registro en este escenario, añade el siguiente código al `keymap.c` de tus keymaps
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// If console is enabled, it will print the matrix position and status of each key pressed
#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;
}
```
Ejemplo de salida
```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
```
### ¿Cuanto tiempo tardó en escanear la pulsación de una tecla?
Cuando estés probando problemas en el rendimiento, puede ser útil saber la frecuenta a la cual la matríz de pulsadores se está escaneando. Para hablitar la información de registro en este escenario, añade el siguiente código al `config.h` de tus keymaps
```c
#define DEBUG_MATRIX_SCAN_RATE
```
Ejemplo de salida
```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

@ -95,13 +95,6 @@ Even worse, it is not recognized unless the keyboard's VID and PID match that of
See [this issue](https://github.com/qmk/qmk_firmware/issues/2179) for detailed information.
## Media Control Keys in Mac OSX
#### KC_MNXT and KC_MPRV Does Not Work on Mac
Use `KC_MFFD`(`KC_MEDIA_FAST_FORWARD`) and `KC_MRWD`(`KC_MEDIA_REWIND`) instead of `KC_MNXT` and `KC_MPRV`.
See https://github.com/tmk/tmk_keyboard/issues/195
## Keys Supported in Mac OSX?
You can know which keycodes are supported in OSX from this source code.

View File

@ -51,12 +51,15 @@ By default, Auto Shift is disabled for any key press that is accompanied by one
modifiers. Thus, Ctrl+A that you hold for a really long time is not the same
as Ctrl+Shift+A.
You can re-enable Auto Shift for modifiers by adding another rule to your `rules.mk`
You can re-enable Auto Shift for modifiers by adding a define to your `config.h`
AUTO_SHIFT_MODIFIERS = yes
```c
#define AUTO_SHIFT_MODIFIERS
```
In which case, Ctrl+A held past the `AUTO_SHIFT_TIMEOUT` will be sent as Ctrl+Shift+A
## Configuring Auto Shift
If desired, there is some configuration that can be done to change the
@ -65,15 +68,12 @@ behavior of Auto Shift. This is done by setting various variables the
A sample is
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
```c
#pragma once
#include "../../config.h"
#define AUTO_SHIFT_TIMEOUT 150
#define NO_AUTO_SHIFT_SPECIAL
#endif
#define AUTO_SHIFT_TIMEOUT 150
#define NO_AUTO_SHIFT_SPECIAL
```
### AUTO_SHIFT_TIMEOUT (Value in ms)

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