Compare commits

...

2267 Commits

Author SHA1 Message Date
skullY
d1b6c11b7f When checking program returncodes treat both 0 and 1 as installed 2019-11-12 18:40:24 -08:00
skullY
5421ba11de Add support for newer versions of clang-format, if installed 2019-11-12 18:39:42 -08:00
marhalloweenvt
b252cce18f [Keyboard] Add new keyboard Symmetry60 (#7327)
* [Keyboard] Add new keyboard Symmetry60

* Add new keyboard Symmetry60

* Fix Typo

* Update keyboards/handwired/symmetry60/config.h

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/readme.md

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

* Update keyboards/handwired/symmetry60/rules.mk

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update keyboards/handwired/symmetry60/symmetry60.h

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

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update symmetry60.c

* Update keyboards/handwired/symmetry60/rules.mk

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
2019-11-11 21:04:35 -08:00
Stephen Hogsten
3f6426ff5f disable deprecated actions (#7211)
* disable deprecated actions

* wrap no action with link time optimization test

* fix link time optimization check
2019-11-12 13:27:20 +11:00
stanrc85
e75919960f [Keymap] minor config changes (#7334) 2019-11-11 17:32:09 -08:00
Xyverz
af683fc2ca [Keymap] Added macro (#7331)
Added MACLOCK macro, which sends CMD+CTRL+Q to perform a screen
lock on macs running Mojave or newer.
2019-11-11 15:11:56 -08:00
Takeshi ISHII
80713a8a58 Japanese translation of newbs.md and related documents. (#7300)
* add docs/ja/newbs.md

* Update docs/ja/newbs.md

* Updated newbs.md

* Updated newbs.md

* add docs/ja/newbs_learn_more_resources.md

* Update docs/ja/newbs.md

* update link info

他人まかせ :-)

* add docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_testing_debugging.md

* add docs/ja/newbs_building_firmware.md

* update docs/ja/newbs_building_firmware.md

* Update docs/ja/newbs_testing_debugging.md

* Update docs/ja/newbs_building_firmware.md

* Update docs/ja/newbs_building_firmware.md

* Japanese translation of docs/newbs_getting_started.md

* renamed: docs/QMK入門.md -> docs/ja/newbs_getting_started.md

* update docs/ja/newbs_getting_started.md

* add ja/newbs_best_practices.md

There are no plans to translate this file.
With the completion of #7231, I will open a new PR.

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* add docs/ja/newbs_flashing.md

* add docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* update docs/ja/newbs_flashing.md

* change original log format

* update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_getting_started.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_building_firmware_configurator.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* Update docs/ja/newbs_flashing.md

* copy docs/_langs.md and docs/index.html from #7248

Co-Authored-By: shela <shelaf@users.noreply.github.com>
Co-Authored-By: takashiski <takashiskibb@gmail.com>
Co-Authored-By: Takuya Urakawa <urkwtky@gmail.com>
2019-11-11 14:27:48 -08:00
Joel Challis
f48986dda2 Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) 2019-11-11 21:06:14 +00:00
Josh Hinnebusch
543e612003 [Keyboard] add sm68 (#7279)
* add sm68

* update rules.mk to decrease final size (hopefully)

* update rules.mk

* update json

* update per PR comments

* remove custom keycodes from keymap

* update layout names in keymap

* change layout names

* Update keyboards/hineybush/sm68/info.json

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

* Update keyboards/hineybush/sm68/info.json

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

* Update keyboards/hineybush/sm68/info.json

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

* update readme
2019-11-11 09:27:57 -08:00
Jonathan Cameron
1d550552ca [Keyboard] Added French layer to handwired/2x5keypad (#7313)
* Added new 2x5 Keypad with 3 LEDs to indicate the selected layer.  By Jonathan Cameron.

* Minor refactor from suggestions from qmk team

* Added

* Moved to 'handwired' directory

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/handwired/2x5keypad/readme.md

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

* Switch to image offsite

* Moved image offsite

* Update keyboards/handwired/2x5keypad/keymaps/default/keymap.h

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

* Update keyboards/handwired/2x5keypad/2x5keypad.h

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

* Moved functions into .c file per suggestions

* Cosmetic

* Fixed function called, per suggestions.

* Update keyboards/handwired/2x5keypad/2x5keypad.h

Ok

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

* Moved LED functions to the top level since they can be used it various flavors

* Declare those moved LED functions!

* Update keyboards/handwired/2x5keypad/config.h

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

* First cut at French support

* Added French layer (green) for accented and special French characters

* Added french layer

* Fixed typo

* Updated to get more reasonable tap function
2019-11-11 09:26:14 -08:00
Xyverz
b2b947f815 [Keymap] Sol rework (#7317)
* 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 a892b2d9fc.

* 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.

* Reworked Sol Keymap

Reworking the Sol keymap to bring it more or less up to current
standards and to accurately depict the correct layer on the OLED
display.

* Final tweaks to sol keymap

... for now.
2019-11-11 00:02:01 -08:00
tarnjotsingh
54d8251f6f [Keymap] UK ISO keymap for DZ60 (#7322)
* New custom ISO keymap for DZ60

* New custom ISO keymap for DZ60

* Adding relative path for keymap image

* Removed reference to PNG and updated the README accordingly.

* Improving on the README some more after reading up on the guidelines for
keymaps
2019-11-11 08:45:03 +11:00
T.Shinohara
e87434aa32 [Keymap] Shino3/shiro Add Mac Keymaps (#7319)
* add keyboard new macro pad "Kuro"

* change main readme.md

* remove not used code from default/keymap.c

* Remove unnecessary code

* Supports info.json

* removed back slash and not used functions.

* update at product link. add japanese messages.

* Merge All

* [Shiro]Add MacKeymap
2019-11-10 09:15:38 -08:00
Joel Challis
1d4287cb95 Fix chibios when mouse and nkro disabled (#7312) 2019-11-10 09:02:46 -08:00
Drashna Jaelre
60e4921378 Unify RGB and RGBW commands (#7297)
* Fix unicode in comments

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

* Remove separate RGBW implementation for a unified function

* Set White to 0 in RGBW LEDs

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

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

* Remove RGBW function from arm/ws2812.h

* Remove RGBW function from arm/ws2812.c

* Formatting changes

* Add doc info
2019-11-09 15:51:39 +00:00
fauxpark
78205e64a7 [Keyboard] Fix readme make examples for some Kingly Keys boards (#7308) 2019-11-08 20:17:36 -08:00
codecoffeecode
f3f1bb166a [Keymap] Adding keymaps for Niu Mini and BDN9 (#7299)
* niu-mini

* fix

* media controls were off by one

* Adding some function keys

* bdn9 and some other stuff

* Fixed mouse functions on bdn9 -- the acceleration related macros are NOT optional

* ported over foo to codecoffeecode niu_mini keymap

* removing foobar

* removing foobar, moving config changes to my folder only

* limiting rule changes to my folder

* Simplifying config.h and rules.mk

* not really sure why this didn't commit the first time but...

* Fixed up the Niu Mini

* Update keyboards/keebio/bdn9/keymaps/codecoffeecode/config.h

Adding missed #pragma once to the top of my config.h for bdn9

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

* Switching from SEND_STRING() to tap_code16

* Simplifying -> didn't need macros for Ctrl+(Home|End)
2019-11-08 20:15:16 -08:00
Drashna Jaelre
63d899d1ad [GitHub] Update issue templates (#7303)
* Update issue templates

* Create config.yml

* Update bug_report.md

* Update other_issues.md

* Update feature_request.md

* Wordsmithing and type fixes
2019-11-08 20:09:54 -08:00
Ivan Smirnov
2b30776dd0 [Keymap] Add issmirnov {user, ergodox, levinson} files. (#7239)
* Add issmirnov {user, ergodox, levinson} files.

There are enough interesting QMK tricks in these layouts that it seems
worth it to share with the broader community. Big thanks to Drashna for
inspiration, as well as all the wonderful creators of QMK documentation.

Some highlights:
- Common layout shared between levinson and ergodox_ez
- TAP_TOG macro for fast layer switching
- Autogenerated keymaps ascii art with git hooks

I will do my best to do periodic rolls here, but the source of truth
will always be https://github.com/issmirnov/qmk-keebs

* Incorporate review feedback.

- Remove CLEAR_EEPROM in favor of built in EEP_RST
- Remove custom handlers for audio on bootup and shutdown
- Remove plethora of unneeded includes
- Remove deprecated and dupliated config options

HUGE thanks to drashna for the review!

* Apply suggestions from code review

Huge thanks to drashna@ for a very thorough review and the very useful suggestions.

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

* Remove unclear optimization

This was an artifact from some other keymap I saw.
2019-11-08 19:17:21 -08:00
fauxpark
5414ff709f [Doc] Tidy up compatible MCUs docs (#7295)
* Tidy up compatible MCUs docs

* ARM chips should have USB

* 32KB soft lower limit applies to ARM as well

* NXP is the manufacturer name, not Kinetis

* Units
2019-11-08 18:34:25 -08:00
Rys Sommefeldt
26ce66e306 [Keyboard] Update COD67 support to complete it and add a personal map (#7291)
* Update docs for default keymap

* Update COD67 docs with fixes and macOS details

* Add a personal COD67 2-layer map with RGB control

* Enable RGB, NKRO and change firmware format to bin

* Swap k0D and k48 to fix backspace on the top row

* Add RGB config and tidy up a bit

* Finish default map because merlin was full of bbq

* Whoops, rogue tabs

* Typo fix in the main COD67 readme

* Remove empty function defs in keymap

* Swap how the backspace key relocation happens

* Fix PRODUCT_ID and add a link to software PWM docs

* Disable NKRO and bootmagic and enable mouse keys

* Better header guard

* Whoops, forgot to remote the #endif
2019-11-08 18:30:44 -08:00
Joel Challis
c1970e284d Fix LAYER_STATE_8BIT compile issues (#7304) 2019-11-08 18:23:26 -08:00
Gregory Gubarev
2075370633 [Docs] Create RU ver of getting_started_github (#7225)
* Create RU ver of getting_started_github

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update

* Updated first frase

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Update docs/ru-ru/getting_started_github.md

* Updated

Co-Authored-By: Nikita Titov <nekit94-08@mail.ru>
Co-Authored-By: nabokovas <bbkv@bk.ru>
2019-11-08 16:30:20 -08:00
Joel Challis
31eee6b05d Initial firmware for Retro75 (#7294)
* Initial firmware for Retro75

* Update readme to match new template guidelines
2019-11-08 21:43:30 +00:00
Jonathan Rascher
680d401faf Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)
Copypasta from the AVR suspend implementation with a Teensy-specific
hack removed
2019-11-08 21:43:02 +00:00
Daniel Shields
6fd88c1556 [Keymap] Remove dynamic macro customization now it's a core feature. (#7301) 2019-11-08 10:31:36 -08:00
tw1t611
0483327fa6 [Keymap] Tw1t611 (#7282)
* Add tw1t611 keymap.

* Add underglow
2019-11-07 20:49:45 -08:00
Drashna Jaelre
cec391df70 [Keyboard] Enable RGB Light on ARM OLKB Keyboards (#7293)
* Enable RGBLight on Planck Rev6

* Enable RGBLight on Preonic Rev3

All hail zvecr!
2019-11-07 15:49:51 -08:00
Yan-Fa Li
d96f0584a2 [Keyboard] Hadron v3 Enable RGB (#7292)
- bitbang age is upon us. All hail zvecr
2019-11-07 15:48:41 -08:00
Derek
0f249990a9 [Keyboard] Add UA62 keyboard (#7290)
* Added UA62

Added UA62 Keyboard

* Update readme.md

* Made changes based on code review

Updated files.

* Rename UA62.c to ua62.c

* Rename UA62.h to ua62.h

* Rename keyboards/UA62/readme.md to keyboards/ua62/readme.md

* Rename keyboards/UA62/keymaps/default/keymap.c to keyboards/ua62/keymaps/default/keymap.c

* Rename keyboards/UA62/config.h to keyboards/ua62/config.h

* Update and rename keyboards/UA62/info.json to keyboards/ua62/info.json

* Rename keyboards/UA62/rules.mk to keyboards/ua62/rules.mk

* Rename keyboards/UA62/ua62.c to keyboards/ua62/ua62.c

* Rename keyboards/UA62/ua62.h to keyboards/ua62/ua62.h

* Update keyboards/ua62/readme.md
2019-11-07 07:51:06 -08:00
Joel Challis
1ea0cac998 ARM - ws2812 bitbang (#7173)
* Initial ARM bitbang ws2812 driver

* Unify chibios platform to run rgblight_task

* Remove 'avr only' comments from ws2812 docs

* Remove 'avr only' comments from ws2812 docs

* Unify chibios platform to run rgblight_task - review comments

* Remove debug flags from keymap

* Add comments from review

* Add defines for STM32L0XX

* Attempt to get arm ws2812 working on multiple gcc versions
2019-11-07 13:10:29 +00:00
fauxpark
b9610091f5 [Keyboard] Fix led_init_ports() for Wasdat (#7288) 2019-11-07 00:36:31 -08:00
Josh Hinnebusch
002adadf58 [Keyboard] update hbcp keymaps (#7275)
* update hbcp keymaps

* update hbcp info.json file

* update readme

* update hbcp "hiney" keymap
2019-11-05 22:30:13 -08:00
James Young
95309e9af5 [Keymap] Updates to noroadsleft keymap for KC60 (2019-11-05) (#7265)
* Rename layers_keymap to layer_names

* Update Escape and Left Control keys

- change KC_GESC to KC_ESC
- change KC_LCTL to MT(MOD_LCTL, KC_GRV)

* Disable features I don't use

Makes the firmware lean. Why? Because I can. :D

* Update the readme files

* Add KC_F13 through KC_F24 emulation

... and update the readme files accordingly.

* Update rules/config

- Swap EXTRAFLAGS for LINK_TIME_OPTIMIZATION_ENABLE
  - remove NO_ACTION_MACRO and NO_ACTION_FUNCTION
- Re-enable COMMAND

* concatenate full-length and short layer names

* enable dynamic macros

* update readme files
2019-11-05 22:12:21 -08:00
fauxpark
dfb78d2a08 New and improved lock LED callbacks (#7215)
* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
2019-11-06 00:42:16 +00:00
buztard
ed0575fc8a [Keyboard] Remove RGB_MATRIX_SPLIT_RIGHT from crkbd (#7267)
The need for this was dropped in 947e61eaeb
2019-11-05 12:05:42 -08:00
fauxpark
7c0edbe800 Set git submodule update depth to 50 (#7269) 2019-11-05 11:50:18 -08:00
fauxpark
fc51a4a107 Fix typo in ARM I2C copyright header (#7264) 2019-11-04 23:19:21 -08:00
Tsan-Kuang Lee
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
James Young
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
fauxpark
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
Drashna Jaelre
542cb0a8ce [Core] Convert Dynamic Macro to a Core Feature (#5948)
* Convert Dynamic Macro to a Core Feature

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

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

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

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

Based heavily on and closes #2976

* Apply suggestions from code review

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

* Cleanup based on feedback

* Add short-form keycodes and document them

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

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

* Make anti-nesting optional

* Add documentation for DYNAMIC_MACRO_NO_NESTING option

* Fix Merge artifacts

* Fix formatting typo in docs

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

* Remove DYNAMIC_MACRO_RANGE as it's not needed

* Fix includes and layer var type
2019-11-04 22:59:13 -08:00
Jonathan Rascher
0e664f92c4 Switch Quefrency to serial for independent halves (#7262) 2019-11-05 17:37:54 +11:00
Joel Challis
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
fauxpark
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
Christopher
0a9a69394e Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258) 2019-11-05 00:02:42 +00:00
Drashna Jaelre
31fe2e0859 [Keyboard] Reduce compiled size of Panc60 keyboard (#7260) 2019-11-04 15:53:40 -08:00
Drashna Jaelre
29630e6e49 [Core] Add short form LTO_ENABLE (#7259)
For drashna's sanity's sake
2019-11-04 15:35:47 -08:00
Drashna Jaelre
a836c85e54 Update keymap.c 2019-11-04 14:07:22 -08:00
Daniel Shields
511fa5f815 [Keymap] Add new LED/RGB key codes (#7254) 2019-11-04 13:47:52 -08:00
Gregory Gubarev
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
Jerry Cooke
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
Thomas Baart
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 46c49ae4e6.

* Updated keymaps and configs

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

This reverts commit f6a85fe1aa.

* 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
fauxpark
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
Joel Challis
a4d138645f [Keyboard] Fix v60_type_r compile failures (#7250) 2019-11-03 14:42:21 -08:00
fauxpark
363cdb5fc0 Remove duplicate pro_micro.h (#7246) 2019-11-03 22:35:43 +00:00
Thomas Baart
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
Jonathan Rascher
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
Drashna Jaelre
e9c44e396d Smallish overhaul of Auto-Shift feature (#6067)
* Fix edge case when using One Shot Layer with Auto Shift, and it not triggering the cleanup
* Remove junk code (no longer used)
* Replace `(un)register_code` calls with `tap_code` where appropriate
* Fixed up Switch check to be more readable (less verbose)
* Simplified modifier check (if it comes back non-zero, there are mods)
* Add additional function calls for autoshift settings
* Made all variables static, since there are function calls to get their status
* Fixed up documentation
* Re-add special characters that were missed
* formatting pass
2019-11-03 09:52:01 -08:00
Rys Sommefeldt
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
Xavier Hahn
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
Joel Challis
1249da4e8e Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928)
* Use task driven PWM for CTPC until ARM can provide automatic configuration

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

* First pass at backlight driver docs

* Correct driver name in docs

* Run backlight_task when using BACKLIGHT_PINS

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

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

* Add enum to demonstrate layer naming

* Semicolon
2019-11-01 19:06:03 -07:00
Jonathan Rascher
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
mechlovin
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
worthlessowl
3546932a8b [Keyboard] Owlet60 keymap removal, matrix.c and owlet60.h fix (#7235) 2019-11-01 17:19:04 -07:00
Jonathan Dayton
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
noroadsleft
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
asdftemp
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
Josh Hinnebusch
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
Josh Hinnebusch
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
michizhou
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
José Ignacio Amelivia Santiago
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
yiancar
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
fauxpark
2ce6adff2b Miscellaneous rules.mk cleanups (#7212)
* Miscellaneous rules.mk cleanups

* Put back ARM bootloader rules
2019-10-31 13:11:36 +00:00
Guy Khmelnitsky
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 d0c46e90c4.

* 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
moyi4681
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
fauxpark
74252e03cf Fix "could not find module" error message formatting (#7219) 2019-10-30 22:50:45 -07:00
Joel Challis
22812aee5c rgblight_task logic fixes (#7214) 2019-10-30 22:30:21 -07:00
XScorpion2
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
noroadsleft
e176ab11ab [Keyboard] Complete info.json for Sticc14 handwired (#7208) 2019-10-30 22:02:08 -07:00
noroadsleft
878039c59c [Keyboard] Complete info.json for Chiron handwired (#7207) 2019-10-30 22:01:23 -07:00
noroadsleft
c4730ba00f [Keyboard] Fix info.json for Aranck handwired (#7206) 2019-10-30 21:59:54 -07:00
davidwed
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
ai03
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
Rico Sta. Cruz
dfdd9e821b [Docs] Update getting_started_vagrant.md (#7203) 2019-10-30 11:53:48 -07:00
kuchosauronad0
f183af14ad [Keymap] Update keymap for kuchosauronad0 (#6902)
* Add RGB
* Add Plover layer
2019-10-29 23:59:44 -07:00
Andrew Kannan
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
kuchosauronad0
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
MechMerlin
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
Angelo Gazzola
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
fauxpark
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
Danny
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
Steve Purcell
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
Joel Challis
64b7cfe735 Refactor ps2avrgb i2c ws2812 to core (#7183)
* Refactor ps2avrgb i2c ws2812 to core

* Refactor jj40 to use ws2812 i2c driver

* Refactor ps2avrgb template to use ws2812 i2c driver

* Add ws2812 stub files

* clang-format and driver config

* Add ws2812 driver docs

* Fix default config values

* Update tmk_core/protocol/vusb/main.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-10-29 15:53:11 -07:00
Spaceman
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
Wermeille Bastien
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
Toshihiro Suzuki
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
Dominic Fleckner
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
Drashna Jaelre
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
Christoffer Holmberg
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
St. John Johnson
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
Jonathan Rascher
afc5cb7f0a Fix Lily58 build with link-time optimization (#7181) 2019-10-29 01:08:48 +00:00
Joel Challis
e48fdebe5a Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180)
* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver

* Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b
2019-10-29 01:00:03 +00:00
Chris Alves
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
J.Flanagan
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
Drashna Jaelre
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
Yan-Fa Li
a096453259 [Keyboard] Fix matrix for Tsangan (#7159)
- 1st mod after space bar was wrong position
2019-10-28 16:26:59 -07:00
Christoffer Holmberg
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
Nikita Titov
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
Xyverz
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 a892b2d9fc.

* 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
fauxpark
8ab7f1f39e Fix formatting for sendstring LUTs (#7176) 2019-10-28 15:54:05 -07:00
Yadunand Prem
917ab71c52 Clean macos install script (#7186) 2019-10-28 22:13:07 +00:00
fauxpark
6d7c6d4fd6 Cleanup rules.mk for 32U4 keyboards, R-S (#7182) 2019-10-28 19:08:00 +00:00
Joel Challis
8bc90ee20c Fix travis build failures for namecard2x4 (#7189) 2019-10-28 19:05:27 +00:00
Adam Perlman
1971f22285 Update split i2c docs for example of when pull-ups are required (#7143) 2019-10-28 18:10:25 +00:00
Arda Kılıçdağı
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
J.Flanagan
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
Yan-Fa Li
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
Jonathan Rascher
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
Yadunand Prem
d5316e9714 Update URL for 60-keyboard.hwdb (#7185) 2019-10-28 02:41:22 +00:00
Salicylic-acid3
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
fauxpark
40de65eac4 Backslash-escape pipe character in keycode lists (#7157) 2019-10-26 06:10:03 +01:00
fauxpark
5d34e70cf7 Cleanup rules.mk for 32U4 keyboards, N-Q (#7147) 2019-10-25 18:32:18 -07:00
fauxpark
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
Gouty
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
Rys Sommefeldt
50202bc222 [Keymap] Align top and bottom layers to make it easier to map between them (#7153) 2019-10-25 18:14:21 -07:00
Rys Sommefeldt
a30ccc025e [Keymap] Personal layout for the RAMA M6-A (#7152) 2019-10-25 18:07:49 -07:00
Joel Challis
d03303ab74 Revert "Initial actions/labeler config (#7091)" (#7156)
This reverts commit 32fdf4805a.
2019-10-26 00:27:17 +01:00
Michael B. Hix
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
Ethan Madden
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
Gouty
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
Daniel Shields
0f30a4d2ca Save a few bytes with build options and rgb effect removal. (#7149) 2019-10-25 19:16:46 +01:00
Joel Challis
32fdf4805a Initial actions/labeler config (#7091)
* Initial actions/labeler config

* Initial actions/labeler config - add extra from review
2019-10-25 14:34:54 +01:00
QMK Bot
581a8fa058 format code according to conventions [skip ci] 2019-10-25 06:31:02 +00:00
Álvaro A. Volpato
23048798dd [Keyboard] Add SharkPCB rev Alpha support (#7090)
* Add SharkPCB rev Alpha support

* Solve PWM pin assignment 

- Solve PWM pin configuration for the SharkPCB rev.Alpha, which backlight pin is B0

* Update shark.c copyright name

* Update shark.h copyright section

* Apply suggestions from code review

Suggestions from @zvecr and @drashna were accepted and applied for neater code. Also fixed typos and removed unused comments. See [pull request](https://github.com/qmk/qmk_firmware/pull/7090/files#diff-70c0a1f44287ae5810170b4180cdaa5d) for more information.

Co-Authored-By: Joel Challis <git@zvecr.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update PRODUCT_ID into config.h

* Update metadata info.json

Fields "keyboard_name", "keyboard_folder", "url", "maintainer" were updated
2019-10-24 23:27:43 -07:00
Theodore S Lindsey
e8453bbc12 copied atreus astar to mirrored, set PCBDOWN flag (#7137)
* copied atreus astar to mirrored, set PCBDOWN flag

* re-pointed include

* mirrored layout will always be true here
2019-10-24 22:16:24 +01:00
noroadsleft
71d64c85d6 [Keyboard] reviung34: Configurator layout fix (#7138) 2019-10-24 13:55:30 -07:00
Erkki Halinen
323635da06 [Keyboard] Add support for Sticc14 macropad (#7134)
* Push Sticc14 default keymap

* Update READMEs to conform to guidelines

* Requested changes

* Requested changes

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

* Update keyboards/handwired/sticc14/readme.md

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

* Update keyboards/handwired/sticc14/readme.md

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

* Remove useless enum and function overrides
2019-10-24 13:53:26 -07:00
fauxpark
e96cac0814 Cleanup rules.mk for 32U4 keyboards, L-M (#7120)
* Cleanup rules.mk for 32U4 keyboards, L-M

* Move some stuff to keyboard level
2019-10-24 13:50:13 -07:00
Drashna Jaelre
335dd0271e Fix Tap Dance name for consistency and to match docs (#7136) 2019-10-24 20:08:29 +01:00
Erovia
a5a31a5fc0 MILC: Use dashes instead of underscores for subcommands
The subcommand functions' name follows the Python convention of using
snake case, but looks odd on the command line.
Fix it by converting underscores to dashes, eg.: list_keyboards ->
list-keyboards.
2019-10-23 22:46:30 -07:00
J.Flanagan
4da9d2ef6f [Keyboard] Add GTM Pad macropad (#7123)
* initial commit

begin development of Grand Theft Macro Pad (2key2crawl clone)

* Minor Changes

Changes to readme.md

Changes to config.h matrix pins

Changes to gtm.h layout

Changes to rules.mk

* initial commit

begin development of Grand Theft Macro Pad (2key2crawl clone)

* Minor Changes

Changes to readme.md

Changes to config.h matrix pins

Changes to gtm.h layout

Changes to rules.mk

* Update keyboards/sck/gtm/readme.md

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

* Update keyboards/sck/gtm/readme.md

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Update keyboards/sck/gtm/rules.mk

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

* Changes to gtm.h

Changes to layout to be correct for matrix_cols and matrix_col_pins

* Minor Changes

Removed rotary encoder index in keymaps per suggestion
2019-10-23 21:36:40 -07:00
skullydazed
9160405d39 Support for the upcoming 1UP Keyboards Sweet 16 rev2 (#7125)
* Support for the upcoming 1up Keyboards Sweet 16 rev2

* Update keyboards/1upkeyboards/sweet16/rev1/readme.md

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

* Update keyboards/1upkeyboards/sweet16/rev1/readme.md

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

* Update keyboards/1upkeyboards/sweet16/rev2/promicro/readme.md

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

* Update keyboards/1upkeyboards/sweet16/rev2/proton_c/readme.md

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

* Update keyboards/1upkeyboards/sweet16/readme.md

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rev1/rev1.c

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

* Update keyboards/1upkeyboards/sweet16/rules.mk

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

* Update keyboards/1upkeyboards/sweet16/rules.mk

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

* Update keyboards/1upkeyboards/sweet16/rules.mk

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

* Update keyboards/1upkeyboards/sweet16/rules.mk

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

* Update keyboards/1upkeyboards/sweet16/rev1/rules.mk

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

* Update keyboards/1upkeyboards/sweet16/rev2/promicro/rules.mk

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

* tweak readme wording per @noroadsleft

* Change rev to V

* remove extraneous info.json files
2019-10-23 21:14:00 -07:00
vuhopkep
23f89ff7cf [Keyboard] add new keyboard hnah40rgb (#7083)
* add new keyboard hnah40rgb

* update

* Update hnah40rgb.c

* update
2019-10-23 16:38:44 -07:00
Eriq M. Adams
e264f0151d [Keyboard] Blackplum a.k.a IMKG68 - new 68% mechanical keyboard (#7122)
* Add blackplum firmware

blackplum firmware

* Delete blackplum.c

* Delete blackplum.h

* Delete config.h

* Delete info.json

* Delete rules.mk

* Delete keymap.c

* Update readme.md

* Delete readme.md

* Add Blackplum

* Add image: blackplum layout

* Update readme.md

* Update readme.md

* remove _WINLCK layer, replaced with custom_keycodes

* change #define LAYOUT_68 to #define LAYOUT_68_ansi

* change  DEBOUNCING_DELAY to DEBOUNCE, remove IS_COMMAND()

* change keyboard_name, maintainer, url, width height

* change some comments

* Update readme

* LAYOUTS = 68_ansi

* update layout_68_ansi

* Change LAYOUT_68 to LAYOUT_68_ansi

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

* Fix Bug

* remove extern keymap_config_t keymap_config;

* Update config.h

* Update config.h

* Update config.h

* Update keyboards/blackplum/rules.mk

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

* Update rules.mk

* Update rules.mk

* Update readme.md

* Update readme.md
2019-10-23 16:34:44 -07:00
skullydazed
b62ee65c6d Support for the Clueboard California macropad (#7127)
* Support for the Clueboard California macropad

* Update keyboards/clueboard/california/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-23 14:18:12 -07:00
Salicylic-acid3
68cf2725aa [Keyboard] Naked48/60 Configurator bugfix (#7131)
Support for QMK configurator of keyboard Naked48 / 60.
Related: Pull request to configurator
[Keyboard] Add keyboard Naked48 / 60 # 549
2019-10-23 10:18:59 -07:00
noroadsleft
6d95082cbf [Keyboard] 1up60rgb: fix LAYOUT_60_iso json tree (#7126)
ISO Enter was out of sequence.
2019-10-23 08:44:20 -07:00
Pentti Laitinen
6799937a3c [Keymap] Updating Nordic ergo keymap (#7107)
* Update ergodox infinity nordic_ergo keymap

- Add missing important keys to base layer.
- Move arrow keys around as the original position was not optimal.
- Fix some code styling issues.

* Fix indentation to 4 spaces

* More code style fixes

- Formated the methods in the nordic ergo keymap.

* Fix QMK code style issues

- Change layer defines to enums.
- Split enums to multi-line.
- Remove non required switch case.
2019-10-23 00:54:14 -07:00
just-another-jxliu
51bf3ba3e6 Fix held key getting stuck when NKRO is toggled (#6570)
* Fix held key getting stuck when NKRO is toggled

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

* Revert merged quantum.c
2019-10-22 13:03:39 -07:00
noroadsleft
c8fd015618 [Keyboard] Owlet60 Updates (#7103)
* Owlet60 updates

Co-Authored-By: noroadsleft <xxiinophobia@yahoo.com>

* fix url in info.json
2019-10-22 10:59:56 -07:00
Salicylic-acid3
737bca8e51 [Keyboard] Keyboard Naked60 Update (#7106)
* [Keyboard] Keyboard Naked60 Update

Support for SPLIT_KEYBOARD
Keymap updates

* Update keyboards/naked60/readme.md

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

* Update keyboards/naked60/rev1/config.h

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

* Update keyboards/naked60/rev1/rev1.h

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

* Update keyboards/naked60/rev1/rev1.h

Co-Authored-By: Joel Challis <git@zvecr.com>
2019-10-22 10:54:53 -07:00
Michael Guterl
d99f6e95e1 [Keymap] Add userspace and personal keymaps (#7093)
* Add Planck keymap and custom keycodes to userspace

* Add Preonic keymap and extract common ortho layers and keycodes

* Add Leaf60 WKL keymap

* Add M60-A keymap

* Add Levinson keymap

* Fix links in personal readmes

* Use flash target

* Remove duplicate definition

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

* Remove superfluous line endings

* Planck and preonic encoder should have the same behavior

* Use higher level API

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

* Use layouts to reduce planck/levinson duplication

* Update flash instructions for levinson
2019-10-22 10:41:14 -07:00
fauxpark
e214f2826e Add ISO layout macro for KBD67 rev2 (#7113) 2019-10-22 06:44:50 -07:00
Josh Hinnebusch
d60b193932 update VID and PID for h87a (#7100) 2019-10-22 14:39:15 +01:00
Reid Sox-Harris
454c99d128 add bdn9/eosti keymap (#7105) 2019-10-22 14:37:29 +01:00
Max Rumpf
f87908228a Remove apostrophe from various abbreviations' plural forms (#7050)
While this was historically a valid possibility, nowadays, it reads
kinda weird, and the [Oxford Dictionaries Online suggests to avoid it](https://english.stackexchange.com/a/56010).

Thus, I removed it everywhere I found it.
2019-10-22 13:47:43 +01:00
fauxpark
2ee961c9e8 Cleanup rules.mk for 32U4 keyboards, I-K (#7097)
* Cleanup rules.mk for 32U4 keyboards, I-K

* Clean up ivy rules.mk
2019-10-21 21:43:18 -07:00
Deckweiss
c44aff5f18 [Keyboard] Added layout, configured bluetooth (Hacked Motospeed handwired) (#7084)
* Added more intuitive layout with bluetooth commands
2019-10-21 21:34:43 -07:00
halvves
4b47abc737 [Keymap] add halvves let's split keymap (#7063)
* add halvves let's split keymap

* [cr] - review requests from @fauxpark

* cleanup spacing, add transparent for spaces in util layer

* [cr] - use new core funcs / @fauxpark & @drashna

* enable EE_HANDS

* [cr] - switch to definable mask for layer state (@drashna)
2019-10-21 20:38:53 -07:00
Adam Perlman
0ab8edb523 [Keymap] Ergodox EZ and dactyl-manuform keymaps for rishka (#7051)
* Setup keymaps and userspace for Rishka

* Creates a keymap for Ergodox Ez, bdn9 and Dactyl Manuform 5x6

* Update bdn9 config with suggested change

* Add pragma to other header files

* Apply suggestions from code review

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

* Updates from review from fauxpark

* Updates from review

Swap to keyboard_post_init, layer_state_t and use layer state for encoder

* Updates from review

Swap to keyboard_post_init, layer_state_t and use layer state for encoder

* Add missing change from review
2019-10-21 20:37:33 -07:00
kuchosauronad0
80ded60cad Add a short explanation to Zadig the troubleshooting section (#7110)
* Add a short explanation to the troubleshooting section

While translating I noticed that the troubleshooting section could use a
little bit more explanation. @Yanfali was so kind to chime in on this on
discord and explained that this was ment for people who accidently
forget to put their board in bootloader mode, so I added this as a
possible common mistake.

Also fixed the spelling of Msys2 to MSYS2 and Halfkay to HalfKay as
these are the official spellings they use themselves.

* Update driver_installation_zadig.md

* Update driver_installation_zadig.md

English is hard.

* Update docs/driver_installation_zadig.md

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

* Update docs/driver_installation_zadig.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-22 14:05:33 +11:00
Arda Kılıçdağı
f033d8113d [Keyboard] 40percentclub 4 pack macropad keyboard (#7088)
* 4 pack macropad layout added

* Update keyboards/40percentclub/4pack/keymaps/default/readme.md

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

* Update keyboards/40percentclub/4pack/readme.md

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

* Update keyboards/40percentclub/4pack/readme.md

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

* Update keyboards/40percentclub/4pack/readme.md

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

* Update keyboards/40percentclub/4pack/readme.md

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

* remove unnecessary comments, remove firmware impact numbers, align comments

* remove unnecessary readme paragraphs

* pinout changed with direct pins instead of matrix

* typo fixed on led method name

* leds are now handled by backlight feture, led.c removed, info.json added, flash instructions updated
2019-10-21 19:27:26 -07:00
Rys Sommefeldt
267be40793 [Keymap] Personal layout for the Wonderland (#7095) 2019-10-21 18:48:45 -07:00
fauxpark
af03c5f7fa Change V60 Polestar RGB timer to 3 (#7099) 2019-10-22 02:01:03 +01:00
noroadsleft
165020a670 Naked60 Configurator bugfix (#7108)
* remove extra commas

* fix label for comma key

* switch to debug linting (one key per line)
2019-10-22 00:34:37 +01:00
fauxpark
97b8ade1aa [Keyboard] Use GPIO macros for E6 LED in Planck and Preonic default keymaps (#7098) 2019-10-20 22:38:22 -07:00
Catriel Müller
1533483bb2 [Keymap] catrielmuller keymap for the dztech/dz65rgb (#7015)
* Catriel Müller - Dz65rgb personal keymap

* - Removed backslashes
- Changed IS_LED_ON to IS_HOST_LED_ON
- Removed empty unused hooks
2019-10-20 12:55:36 -07:00
fauxpark
3dbf08b655 Cleanup rules.mk for 32U4 keyboards, H (#7030)
* Cleanup rules.mk for 32U4 keyboards, H

* Change some boards incorrectly assumed to be halfkay
2019-10-20 12:51:37 -07:00
Sid Carter
bc073b817a [Keymap] updates to madhatter keymap - project keyboard alice pcb (#7092)
* change arrows keys around

* move arrows and layer tap

* mouse keys and other mods

* add readme and add media keys too
2019-10-20 12:26:41 -07:00
Salicylic-acid3
233a1e9bcd [Keyboard] Keyboard Naked48 Update (#7085)
* Keyboard Naked48 Update

Support for SPLIT_KEYBOARD
Readme updates
Keymap updates
Support for RGB matrix (salicylic keymap)

* Keymap Update

Change KC_NO to KC_TRANSPARENT.
Update the old part.
2019-10-20 12:03:46 -07:00
Jonathan Rascher
a41066beed [Keymap] Assorted personal keymap and layout updates (#7082)
* Enable PERMISSIVE_HOLD and TAPPING_FORCE_HOLD

* Fix indentation in userspace

* Shuffle around more Lily58 symbol keys

* Reformat KBD67 keymap and KLE images

* Fix Lily58 lower layer image

* Reformat Quefrency keymap and KLE images

* Fix KBD67 KLE images... again

* Add KLE links for Quefrency

* Reformat 60% layouts and KLE images

* Move Super key back to right half of Lily58

* Move Lily58 ins/del out of the way of numbers

* Fix bottom row of Lily58 KLE image
2019-10-20 11:41:36 -07:00
Romain Gehrig
a4c008fe90 [Keymap] Romain's Preonic layout (#7067)
* Add customized preonic layout

* Add a README detailing a bit the differences from the default preonic layout

* Apply suggestions from code review

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

* Remove unnecessary end-of-line backslashes

* Import fix for startup sound (thanks @drashna)

* Remove unnecessary layers and keycodes

* Bring back the _QWERTY layer code

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-20 11:20:01 -07:00
Reid Sox-Harris
4c90277236 [Keymap] add iris/eosti keymap (#7056) 2019-10-20 11:12:23 -07:00
Yet Another Developer
3d53ea439c [Keymap] Ergodash keymap for yet-another-developer (#7046)
* Initialize ergodash rev 1 keymap

./util/new_keymap.sh ergodash/rev1 yet-another-developer

* Add user space configurations referenced from drashna

* Start community layout for ergodash in ortho_5x14

* Remove unused layers

* Add userspace layers

* Add Userspace gitignore

Hide Secrets

* Remove userspace unused drashna features

* Scrap default keymap and follow drashna's template

* Add code referenced from kuchosauronad0

* Make sure that the author is named Developer

* Replace middle keys del and bksp with curly brace

* Reduce ONESHOT_TIMEOUT from 3sec to 2sec

* Remove adjust key AG_SWAP

* Disable UNICODEMAP_ENABLE, remove code causing build fail

* Increase TAPPING_TERM to 240

Reason:  Because Space is also LOWER, space sometimes not registering.
PS: I dont want to #define RETRO_TAPPING yet

* Update KC_MAKE to use :flash

* Remove TAP_ONCE, use tap_code

Signed-off-by: Developer <anotherdeveloper@icloud.com>

* Remove redundant code implementation of keyboard_post_init_user

https://github.com/qmk/qmk_firmware/pull/7046

users/yet-another-developer/leader.c
```
  static bool has_ran_yet;
  if (!has_ran_yet) {
    has_ran_yet = true;
    startup_user();
```
Comment for lines +11  – +14
 @drashna: Not needed anymore. You can use keyboard_post_init_user now.

Signed-off-by: Developer <anotherdeveloper@icloud.com>
2019-10-20 11:07:56 -07:00
Harry Wada
f64d9b0621 Fix detection of ModemManager (#7076) 2019-10-20 15:33:58 +01:00
Alan Berndt
8baed70ed1 Add pok3r-like keymap for dz60. (#7078)
* Add pok3r-like keymap for dz60.

* Replace KC_TRNS with underscores
2019-10-20 00:56:03 +11:00
vuhopkep
9bfacc7c76 [Keyboard] update encoder function, info.json data (#7035)
* update encoder function, info.json data

* Update rules.mk
2019-10-18 18:18:39 -07:00
tominabox1
c26faed2b6 [Keymap] Tominabox1 userspace creation (#7014)
* rebaselined the whole fork and added cool matrix animations

* Updated dfu bootloader rules, oleds working on test map

* Moving test branch into main

moving my _test branch files into the main since the repo is now in the dev branch, don't see any reason to keep separate folders.

* Update keymap.c

Adding DOT to number layer

* added LED sleeping

* working on getting matrix rgb to sleep upon usb suspend

uploading to github for qmk staff help

* Added master sleep on usb suspend

Unfortunately the sleep function does not work on the slave side so will probably revert this change later

* bringing hhkb config up to current with other tominabox1 configs

* Update config.h

since master side is the only one that sleeps, going to disable this for now.

* testing oled stuff

* Update rules.mk

* tinkering with oled still

* Finally fixed custom image with corne doug

* Adding keymap to dimple instead of screwing up the upstream references.

* Changed oled image to peepo ggers

* working on oled sleep

* Update keymap.c

* fixes oled wake/sleep issues

* Adding 🅱️ and BEPIS macros

* Update .gitignore

* Cleaning up and improving documentation

* Update keymap.c

* Adding my minivan keymap

* Fixed error on keymap

* fixed OLEDs not turning on and moved tapping term to the keymap file

* Changed tapping term from 200 to 250

* Revised Fkey layers, arrows, question mark locations

* Update keymap.c

* tweaked tapping term and types on CRKBD, revised layout on HHKB

* Update keymap.c

* general code cleanup, keymap displays

* Set up userspace for common keymap elements

* tapping term stuff for shift

* testing

* Fixed new tapdance for accessing number and fkey layers

* Update tominabox1.h

* stuff

* fixing function calls for userspace

* cleaning up crkbd config and moving stuff to userspace

* finally fixed oled lightup issues

* cleaning up a few maps and rules

* Removing permissive hold and returning spacefn to all boards.

* Settting up wrapper keymaps for Dimple, Minivan, and Corne

Wrappers

* small tweaks

* Update wrappers.h

* finishing wrappers on Minivan and Dimple

* Revised tapping term definition

Providing additional tapping term config for CRKBD only.

* Code cleanup and documentation

* Update readme.md

* Update readme.md

* Wrapers and continued code cleanup and documentation

* moved oled py scripts to user folder
* completed wrapper implementation of CRKBD
* added matrix startup mode - not working yet pending upstream changes
* removed unused code in tominabox1.c

* Fixing custom keycodes and tap dance indices

fixed custom keycodes and tap dance indices
Adding beginning of dimple RGB matrix definition
changed oled on corne to scrolling matrix thing
Added copy pasta

* Secondary layer tweaks

Swapping hands of numbers and symbols as well as tweaking tapping terms accordingly

* Update tominabox1.c

Continued refinement of tapping term to support better right hand symbol access.

* Fixes from pr 7014

Removed gitignore data from qmk master
Reverted changes to Drashna's crkbd keymap
Accepted changes to crkbd keymap
Added ignore to hhkb keymap - I think I need this because Teensy. Will revisit another time

* Removing hhkb keymap for rework

* Adding back hhkb keymap

Re-adding hhkb folder with ignores

* Reverting changes to Dimple default

totally did not intend to modify these

* Update keymap.c

Reverting changes to Drashna's corne map

* Accepting recommended changes

* Reduced tap hold caps delay
moved bootmagic enable to general usage
Revised tapping terms
Removed unused keycode defs

* bootmagic

* Update rules.mk

* Fixed permissions (support 7014) and bootmagic addition

Fixed permissions on Drashna's keymap and Dimple default keymap files.
Adding bootmagic to my crkbd config.

* Fixing permissions
2019-10-18 18:15:57 -07:00
Amber Holly
b23f6011c3 Remove build option firmware size impacts (#6947)
* Update rules.mk template to remove build option size impacts

* Add rules.mk cleaning script

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

* Remove references to feature filesize in documentation

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

This reverts commit 7cfe70976b.

* Fix regex in cleanup script and exclude keymaps/ directories

* Update quantum/template/avr/rules.mk

Fixed missing tabs/spaces.

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-18 18:14:49 -07:00
Endemoniada
1b1e0977e0 [Keymap] Mekberg kbd6x keymap (#7061)
* First draft of my layout

* Improved layout and cleanup of files

* Update keymap and add rules

* Add keymap.h with permissive_hold setting

* Rename keymap.h to correct name config.h

* Add next/prev and special lock key to Fn layer

* Use correct modifier in MY_LOCK command

* Removed unnecessary filler defines

* Add build instructions to README

* Move RGB controls to more logical up/down key positions, move next/prev controls, remove del from Fn layer

* Fix wrong placeholders and fix up formatting

* Remove unused code

* Clarify comments on custom defines

* Update keyboards/kbdfans/kbd6x/keymaps/mekberg/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-18 17:37:16 -07:00
KL1RL
d263579781 [Keymap] Initial commit of KL1RL keyboard layout (#7060)
* Inital commit

* Add changes suggest by fauxpark.  Tested for normal function
2019-10-18 17:36:22 -07:00
Yang Li
5c1b7fb502 Add python-pip as package dependency for archlinux (#7041) 2019-10-18 17:22:54 -07:00
Andy Smith
5b311965f8 [Keymap] Custom Planck layout for the Planck (#7036)
* Version 1 of keymappings

* Adding updated keymappings

* Adding hash/pound symbol to layer

* Removing broken macros

* Adding to readme. Amending value of pound sign

* Changing language in readme

* Addressing PR comments. Removing unneeded code, corrected syntax

* Removing commented out code and fixing white space issues

* Small clean up to readme
2019-10-18 17:21:40 -07:00
Drashna Jaelre
22cc56bc97 [Docs] Fix incorrect spacing on Coding Conventions page (#7058) 2019-10-18 16:59:03 -07:00
Yan-Fa Li
de5cadd636 Caps lock indicator moved from keymap (#7070)
- to keyboard so it works in configurator
2019-10-18 10:32:43 -07:00
Yan-Fa Li
f66b2b1f27 Add a via compatible keymap (#7062)
* Add a via compatible keymap

* Disable VIA on default for configurator

 - use the via keymap if you want via support

* Move wilba dep to keymap avoid breaking community

 - moves via specific includes into the _via keymap
 - fixes configurator builds
2019-10-18 07:18:40 -07:00
Joel Challis
5dc91ddc60 SPLIT - Remove NO_USB_STARTUP_CHECK requirement for usb detection (#7053)
* Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow

* Update quantum/split_common/split_util.c

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

* Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1
2019-10-17 23:37:37 +01:00
Mikkel Jeppesen
550435c1c9 [Keyboard] Move vitamins included rev1 to split_common (#7052)
* Initial work to move to split_common

* Fixed serial pin
2019-10-17 18:53:06 +01:00
Joel Challis
abfd6ed961 Move tmk_core/common/backlight to quantum/backlight (#6710)
* Move tmk_core/common/backlight to quantum/backlight

* Add guards to backlight inclusion

* Add guards to backlight inclusion

* Update backlight guards on clueboard/60

* Use full paths to avoid vpath issues
2019-10-17 17:48:58 +01:00
Drashna Jaelre
e3a21348c3 [Keymap] Drashna's Hardware Features Experimentations (#6920)
* Change RGBLight pin for Planck Light

Move it to A0, so that the SPI? pins are available for BT hackery

* Add QMK DFU bootloader info

* Add Solenoid

* Disable annoying white LED on bottom

* Enable Solenoid on Corne

* Remove bounds for animations

* Increase debounce for Ergodox EZ to reduce repeat key issues

* Set swap hands key to be a hold-tap key

This way, it's not ANNOYING and doesn't swap the hands inteniontally

* Move MT Alt in Corne keymap

* Re-Add fine tuned control of secrets

* Squash mods to single row

* Add LRA settings to haptic feedback settings for Rev6

* Fix issue with non-Planck EZ keymaps

* Add 40 Percent Nano with Analog Joystick

* Add Collide39 keymap

* Fix OLED printing to be more flavorful

* Fix up Iris GamePad and come cleanup

* Expand OLED char map further

* Add modded characters to keylogger

* Here be dragons

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

* Fix up rules for community layouts

* Some more OLED tweaks

* Add mod mask check function

* Change QMK DFU Audio pin to be correct

* Use manual STM config instead of CTPC for Collide 39
2019-10-16 13:11:22 -07:00
Jonathan Rascher
7662ee71f0 [Keymap] Various improvements to my Lily58 keymap (#7045)
* Fix off-by-one error in Lily58 function keys

* Swap number and symbol layers

* Move grave/tilde to the left of brackets/braces

* Add KLE links

* Move function keys to Raise layer

* Move symbols nearer to home row

* Add readme for Lily58 layout
2019-10-16 12:08:45 -07:00
MakotoKurauchi
881f27b461 [Keyboard] Cleanup helix rules options (#6952)
* add temporary test shell-spript

* Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization

No change in build result.

* Helix config.h use '#pragma once'

No change in build result.

* Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once'

No change in build result.

* Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h

No change in build result.

* remove keyboards/helix/{rev2|pico}/serial_config.h

No change in build result.

* 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h.

No change in build result.

* The contents of helix/rules.mk were distributed to subdirectories.

This is a preparation to create a new subdirectory for helix code using split_common.

No change in build result.

remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk.
follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk.

----
 SRC += i2c.c
 SRC += serial.c
 SRC += ssd1306.c

 CUSTOM_MATRIX = yes
---

* helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/

No change in build result.

* Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.

No change in build result.

 * add keyboards/helix/pico/local_features.mk
 * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk
 * remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk
 * remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk
 * remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk
 * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk

* Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.

No change in build result.

* add keyboards/helix/rev2/local_features.mk
* add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk
* remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk
* remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk
* remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk
* add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk

* Added helix keyboard build NEW method.

No change in build result.

 ## Helix build
 $ make helix:default            ## no oled, no backlight, no underglow
 $ make helix/rev2/back:default  ## no oled, with backlight, no underglow
 $ make helix/rev2/under:default ## no oled, no backlight, with underglow
 $ make helix/rev2/oled:default  ## with oled, no backlight, not underglow
 $ make helix/rev2/oled/back:default  ## with oled, with backlight, no underglow
 $ make helix/rev2/back/oled:default  ## with oled, with backlight, no underglow
 $ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow
 $ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow

 ## Helix pico build
 $ make helix/pico:default       ## no oled, no backlight, no underglow
 $ make helix/pico/back:default  ## no oled, with backlight, no underglow
 $ make helix/pico/under:default ## no oled, no backlight, with underglow
 $ make helix/pico/oled:default  ## with oled, no backlight, not underglow

* add temporary test shell-spript

* test end remove test script. Revert "add temporary test shell-spript"

This reverts commit 5dac20cd0f.

* test end remove test script. Revert "add temporary test shell-spript"

This reverts commit ec49f63b2d.

* Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'.

No change in build result.

* update keyboards/helix/{rev2,pico}/keymaps/default/readme.md

* rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk

* update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md

* rm keyboards/helix/pico/oled/rules.mk

* update helix's readmes. All the ':avrdude' was replaced with ':flash'.

* remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk

No change in build result.
2019-10-16 11:01:49 -07:00
Manassarn "Noom" Manoonchai
81f36ab74d [Keymap] Add narze keymap for usb-usb converter (#6881)
* Revert raise/backspace mod tap to just backspace

* Initialize usb_usb/narze

* Modify keys

* Add readme

* Support Right shift to )

* Add Dev layer

* Use Dev layer on holding z key

* Add Dev layer for Ergodox

* Update keyboards/converter/usb_usb/keymaps/narze/README.md

Fix the command & close the code block as suggested

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

* Reduce rules
2019-10-16 10:48:37 -07:00
Endemoniada
7677e8adde [Keymap] Add Endemoniada keymaps (#6875)
* Add dz60 keymap

* Add my TADA68 layout

* Fix descriptions and formatting

* Formatting fixes

* Add readme file

* Formatting

* move caps lock to correct key, add F-keys to both layers

* Add readme for dz60

* First draft of custom Let's Split layout

* Some more keys

* Finalized keymap

* Added a bunch of custom shortcuts to make layout easier to read

* Add PERMISSIVE_HOLD option to modtap behavior

* Add lock and sleep shortcuts, formatting

* Minor fixes and adjustments

* Add PERMISSIVE_HOLD option, add sleep/lock shortcuts, minor fixes

* Add sleep/lock shortcuts, minor fixes

* fixups

* Major simplification of lets_split layout into more standard raise/lower/special layers

* Remove layer songs, add to readme

* Formatting

* Switch a few keys around for reachability

* Add windows/mac specific layers

* simplify layers

* Update README

* Fix legends

* Invert numpad and put Del in upper right corner

* Disable arrow keys on Raise, add build instructions

* Move dz60 keymap to its own branch

* Remove redundant configuration

* Change volume and sleep keycodes to standard

* Removing empty rules.mk

* Changing layer defines to enum

* Adding comment to explain reason for swapping KC_TRNS and KC_NO fillers
2019-10-16 10:48:00 -07:00
hvp
162dd3fe19 [Keymap] Corne keyap with tap dance Swedish support (#6857)
* Adding profile for Corne with tap dance Swedish support.

* Remove extern keymap_config_t keymap_config as no longer needed

* Changed to use tap_code over register_code

* Removed persistent_default_layer_set

* Moved macros to hvp user space ink tap dance code

* Removed not used functions

* Moved to an ifbased include statement

* Removed not needed characters
2019-10-16 10:44:43 -07:00
nrtkbb
9b07098dbd [Keyboard] Add uzu42 keyboard (#6842)
* initial commit

* OLEDに表示するロゴをuzuのものに差し替えた

* delete undefault keymaps

* delete info.json

* delete pro_micro.h

* remove USE_Link_Time_Optimization check

* Moved constant defined for each keymap.c to rev1.h

* update layer_state_reader.c

* Rename Uzu42 to uzu42

* remove bootloader.h include

* LAYOUT_kc to LAYOUT

* delete keymap level rules.mk

* update readme.md

* remove persistent_default_layer_set function.

* try refactor to use split_common and use OLED driver

* Revert "try refactor to use split_common and use OLED driver"

This reverts commit 5a9afceacb.

* Update keyboards/uzu42/rev1/config.h

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

* Update keyboards/uzu42/rev1/rev1.h

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

* Update keyboards/uzu42/rev1/rev1.h

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

* Update keyboards/uzu42/rules.mk

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

* Remove lines already defined in QMK

* Update keyboards/uzu42/rules.mk

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

* Update keyboards/uzu42/rules.mk

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

* Update keyboards/uzu42/rules.mk

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

* replaced comment block

* Update keyboards/uzu42/config.h

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

* Revert "Revert "try refactor to use split_common and use OLED driver""

This reverts commit a7849216f4.

* fix setting for RGBLED

* The default of OLED_DRIVER_ENABLE has been changed to no.

* Delete unuse block.

* Remove unnecessary keycode definitions.

* Remove unuse custom keycode.

* Remove not needed code.

* Remove not called code.

* Remove code overwritten by the core.

* Remove LAYOUT_kc macro.

* Moved the definition of the layer block to keymap.c.

* Removed unuse variable.

* Remove code overwritten by the core too.

* incorporate layer changes

* Moved src rule to keymap from rev1.

* Removed rgb_state_reader.c from lib folder and the code move to the keymap.c

* Removed layer_state_reader.c from lib folder and the code move to the keymap.c

* Removed logo_reader.c from lib folder and the code move to the keymap.c

* Removed keylogger.c from lib folder and the code move to the keymap.c

* Moved glcdfont_uzu42.c from lib folder to the default keymaps folder.

* Removed unused files.
2019-10-16 10:42:06 -07:00
Salicylic-acid3
f360c27f93 [Keyboard] Add keyboard Naked60 (#6527)
* Add Naked60

* readme Update

* Update keyboards/naked60/rules.mk

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

* Updated keymaps

Changed the alias.

* updated rule.mk

Unnecessary part was deleted and explanation was added to the boot loader.

* Update keyboards/naked60/rules.mk

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

* Update keyboards/naked60/rules.mk

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

* Update keyboards/naked60/rev1/rev1.h

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

* Update keyboards/naked60/rev1/rev1.h

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

* Update keyboards/naked60/rev1/config.h

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

* Update keyboards/naked60/rev1/config.h

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

* Updated keymaps rules.mk.

Cleaned up declarations in rules.mk.

* Updated keymap

Changed remaining aliases.

* Update rev1.c

Cleaned up declarations in rev1.c.

* Update readme

The appearance has been adjusted.

* Update keyboards/naked60/keymaps/default/readme.md

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

* Update keyboards/naked60/keymaps/default_with_nafuda/readme.md

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

* Update keyboards/naked60/keymaps/default_with_nafuda/readme.md

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

* Update keyboards/naked60/keymaps/salicylic/readme.md

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

* Update keyboards/naked60/keymaps/salicylic/rules.mk

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

* Update keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk

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

* Update keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk

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

* Update keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk

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

* Update keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk

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

* Update keyboards/naked60/rev1/rev1.c

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

* Update keyboards/naked60/rules.mk

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

* Update keyboards/naked60/rules.mk

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

* Update keyboards/naked60/keymaps/default_with_nafuda/rules.mk

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

* Update keyboards/naked60/keymaps/salicylic/rules.mk

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

* Update keyboards/naked60/keymaps/default_with_nafuda/rules.mk

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

* Update keyboards/naked60/keymaps/default_with_setta21/rules.mk

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

* Update keyboards/naked60/keymaps/default_with_setta21/rules.mk

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

* Updated keymaps

The appearance has been adjusted.
Unnecessary rules.mk was deleted.

* Update keyboards/naked60/readme.md

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

* Update readme

Changed to markdown format.

* Update keyboards/naked60/keymaps/default/readme.md

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

* Update keyboards/naked60/keymaps/salicylic/readme.md

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

* Update keyboards/naked60/keymaps/salicylic/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-16 10:26:43 -07:00
Duncan Elliot
2fc3494fd9 [Keyboard] Update formatting of README for usb_usb (#7037)
Minor updates to make the README a little more readable.
2019-10-16 01:22:28 -07:00
fauxpark
63f4806d7a Fix bug in do_code16() (#6935)
* Fix bug in `do_code16()`

* Remove qk_ mods functions
2019-10-16 00:02:09 +01:00
Catriel Müller
4522519079 Milk 2% - Unicode Keymap Fix and Improvements (#7013)
* - Enabled Unicode Feature to fix the build
- Added TapDance Feature to improve the functionality of the Keyboard
- Added the ability to switch between the Unicodes Modes
- Added more Emojis thanks to the tap dance feature

* Fix Format
2019-10-15 23:29:33 +01:00
Drashna Jaelre
feb116c4f3 [Docs] Replace Switch Hitter link with Wayback Machine link (#7009)
* [Docs] Replace Switch Hitter link with Wayback Machine link

* Add QMK Configurator link as well

To appease yan
2019-10-15 23:21:05 +01:00
theVDude
5a3aefed8d Fix small hiccup in snake animation (#6858) 2019-10-15 23:13:13 +01:00
Deckweiss
eac6ccff98 Added uart config for using rn42 with at90usb1286 (#6582)
* Added uart config for using rn42 with at90usb1286

* Updated quantum/config_common.h

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

* Update quantum/config_common.h

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

* Update quantum/config_common.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-16 09:10:23 +11:00
Joel Challis
2ac4197b73 Add binary support to tinyprintf (#7024) 2019-10-15 13:33:06 +01:00
Joel Challis
cc5edb9eeb Port DEBUG_MATRIX_SCAN_RATE to core (#7029)
* Port DEBUG_MATRIX_SCAN_RATE to core

* Remove duplicate DEBUG_MATRIX_SCAN_RATE implementations

* Remove duplicate DEBUG_MATRIX_SCAN_RATE implementation from handwired/xealous

* Add console logic from ergodox_ez
2019-10-15 13:32:52 +01:00
Joel Challis
e1de0d74a6 Move running pytest to travis_test (#7005) 2019-10-14 17:57:53 +01:00
makenova
6560dffc05 update one shot keys link (#7020) 2019-10-14 01:26:03 +01:00
Joel Challis
e796d7b49e Update splittest/teensy_2 to use SPLIT_USB_DETECT (#7028) 2019-10-14 00:05:41 +01:00
fauxpark
2e7cd98c06 Cleanup rules.mk for 32U4 keyboards, G (#6971)
* Cleanup rules.mk for 32U4 keyboards, G

* Update keyboards/gray_studio/cod67/rules.mk
2019-10-12 23:57:57 +01:00
Joel Challis
a48468590a Remove i2c logic for STM32F103xB in favour of USE_I2CV1 (#6926)
* Remove i2c logic for STM32F103xB in favour of USE_I2CV1

* Remove i2c logic for STM32F103xB in favour of USE_I2CV1
2019-10-12 23:23:36 +01:00
Leo Batyuk
23178d73fc [Keymap] Add soundmonster's keymap for crkbd (#6964)
* Add soundmonster's layout for crkbd

* Incorporate feedback from review

* Remove unneeded base layer-related code
2019-10-11 22:08:03 -07:00
MechMerlin
bb43010170 Fix broken link to ps2avrgb flashing instructions (#7011) 2019-10-11 22:04:00 -07:00
MechMerlin
7becbfb44a [Keyboard] New Keyboard: BM43A (#6997)
* new keyboard bm43a

* Thanks to noroads for generating this with his online tool

* add QMK Configurator support thanks to noroads

* turn on bootmagic lite

* update readme

* remove unneeded comments
2019-10-11 21:44:38 -07:00
fauxpark
076d8babbb [CLI] qmk docs graceful shutdown on Ctrl+C (#6989) 2019-10-11 21:41:58 -07:00
Leivince John Marte
c54d2cbe02 [Keymap] Feature/keymap/projectkb/alice/devinceble (#6986)
* Added KBD6X Vimwarrior HHKB TOFU Personal Layout

* Added Readme.md for Vimwarrior HHKB Tofu Keymap

* Added DZ60 Vimwarrior WKL Tofu Keymap

* Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu

* Update rules.mk Added BOOTLOADER config.

* [Keymap] Added Devinceble Personal Keymap for ProjectKeyboard Alice

* Update Remove Backslashes
2019-10-11 21:38:49 -07:00
Wilba
e47ab6a575 [Keyboard] wilba.tech PCB refactoring (#6982)
* Cleanup

* Refactor VIA rules.mk

* WT mono backlight refactor, VIA support

* Added WT75-C

* Fixed compile error

* Cleanup rules.mk

* Review changes

* Review changes
2019-10-11 21:37:03 -07:00
Laurent Lao
22aa2ce6b2 [Keymap] laurentlaurent's preonic keymap (#6977)
* Removed ugfx binary because of antivirus

* Created laurent's keymap

* Made QWERTY Mac and QWERTY Windows

* Rev 1.0, added _PUNC, _NAV, _EXTRA

* REV 1.1, Dynamic macros start/stop now plays a sound, Lower acts like backspace on tap

* Formatting fixes

* Added Intellisense macro, fixed formatting

* Improved ergonomics/muscle mem on punctuation lay

* Added Raise Tap to Backspace

* Mirrored Ergodox, added One-Handed

* Added layers in README.md, added Caps lock, Scroll lock

* Moved Caps to better location

* Added ErgoDox link

* Edit Readme.md with more layer switching information

* Modified _PUNC for muscle memory

* Reverted .gitignore and .vscode settings.json to reflect master

* Improved formatting according to PR review

* QMK_KEYBOARD_H def for Intellisense fixed->rev3.h

* .gitignore diff fix

* Fixing settings.json diff

* Update settings.json

* Update keyboards/preonic/keymaps/laurentlaurent/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-11 21:35:53 -07:00
Joel Challis
76378d74f5 ARM split - detect USB to select master/slave (#6424)
* Initial split refactor to allow usb master detection

* Add split USB detect docs

* Add SPLIT_USB_DETECT demo mode limitation

* fix rebase issues

* clang-format
2019-10-11 23:25:43 -04:00
Joel Challis
64c075ed2c Fix CONVERT_TO_PROTON_C_RXLED pins (#7007) 2019-10-11 12:11:47 +01:00
Olivierko
094aa7c24b added new layout and Olivierko keymap for dz60 (#6996)
* - added new layout for dz60
- created personal keymap using new layout

* - changes based on pr feedback from @noroadsleft

* - further readme formatting

* Apply suggestions from code review

applied changes based on review feedback

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

* - readme formatting

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-11 08:52:16 +11:00
Leivince John Marte
918f13a4ac Fix/projectkb/alice/right spacebar layout size from 2.25 to 2.7… (#6984)
* Added KBD6X Vimwarrior HHKB TOFU Personal Layout

* Added Readme.md for Vimwarrior HHKB Tofu Keymap

* Added DZ60 Vimwarrior WKL Tofu Keymap

* Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu

* Update rules.mk Added BOOTLOADER config.

* [Keymap] Added devinceble keymap for TADA68

* Fix projectkb/alice Right Spacebar Size to 2.75 not a bug though but confusing

* Update Right Alt for Layout Fix
2019-10-11 08:48:03 +11:00
noroadsleft
5156a7e05c fix DZ60 info.json (#7000) 2019-10-10 07:58:38 -07:00
fauxpark
ed1bf3afa2 Prevent clang-format messing up placeholder tokens within keyboard templates (#6790)
* Use .template file extension for keyboard template files

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

* Undo file extension stuff; just ignore quantum/template dir
2019-10-10 11:48:37 +01:00
Jono Warren
528ddb7987 [Keyboard] Added new layout for DZ60 and keymap (#6854)
* Added new layout

Added my preferred layout

* Added my keymap

* Update info.json

Added LAYOUT_60_stand_stag_all

* Update README.md

Removed image from the keymap I based this layout from.

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

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

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

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

* Update keyboards/dz60/info.json

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

* Update keyboards/dz60/dz60.h

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

* Update keyboards/dz60/info.json

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

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

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

* Update keyboards/dz60/dz60.h

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

* Update rules.mk

Removed verbose rules.mk
2019-10-09 15:55:27 -07:00
Xavier Hahn
da3ff89fac [Docs] French translation - Breaking Changes section (#6966)
* Translated breaking_changes.md in French

* Translated ChangeLog/20190830.md to French

* Update docs/fr-FR/breaking_changes.md

Co-Authored-By: Max Rumpf <max.rumpf1998@gmail.com>

* Fix comments from @zekth

Co-Authored-By: Vincent LE GOFF <g_n_s@hotmail.fr>
2019-10-09 15:45:41 -07:00
Drashna Jaelre
e58343596a Keyboard/ergodox debounce (#6994)
* Set default debounce to 30

Lower debounce causes issues, and even 15 isn't lowe enough for the EZ

* Cleanup ergodox ez matrix
2019-10-09 23:23:57 +01:00
Gary Zhao
4e23c700f1 [Keymap] Adding garyjzhao's Iris keymap (#6980)
* Added Gary's user files

* Added Gary's Iris Keymap files

* Added Gary's Iris Keymap files

* updated readme

* removed comments

* Cleaned up code even more
2019-10-09 12:05:31 -07:00
MechMerlin
531ff70e0d [Keyboard] Satisfaction75 Configurator support (info.json) (#6833)
* add configurator support for rev1 s75

* add configurator support for prototype

* Update keyboards/cannonkeys/satisfaction75/prototype/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* fixup layouts

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

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

* Update keyboards/cannonkeys/satisfaction75/rev1/info.json

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-09 11:03:33 -07:00
MechMerlin
3cb216f381 [Keyboard] New Keyboard: Exent (#6985)
* initial commit

* thank you mr keebs for making this easy. Added 65_ansi macro made from mrkeebs kle2qmk tool.

* split backspace requires an additional row

* change k43 to k42

* add in split space bar support for LAYOUT_all

* add QMK Configurator support

* make default keymap more usable

* update readme

* Update keyboards/exent/info.json

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

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

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

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

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

* Update keyboards/exent/rules.mk

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-09 10:23:38 -07:00
Leivince John Marte
23cac6a606 [Keymap] Feature/keymap/tada68 (#6983)
* Added KBD6X Vimwarrior HHKB TOFU Personal Layout

* Added Readme.md for Vimwarrior HHKB Tofu Keymap

* Added DZ60 Vimwarrior WKL Tofu Keymap

* Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu

* Update rules.mk Added BOOTLOADER config.

* [Keymap] Added devinceble keymap for TADA68

* Update Reduce down rules.mk to just MOUSEKEY_ENABLE
2019-10-09 09:58:39 -07:00
noroadsleft
1f2ad80c16 Gray Studio Space65 Configurator Layout fix (#6987)
- LAYOUT_65_ansi_blocker data was actually LAYOUT's data.
- added actual LAYOUT_65_ansi_blocker data
2019-10-09 07:09:57 -07:00
noroadsleft
db3d4a92ae Kingly Keys Little Foot Configurator layout fix (#6988)
* fix Kingly Keys Little Foot info.json

Was missing a closing curly bracket.

* clean up the indenting

White-space-only change.
2019-10-09 06:48:29 -07:00
Ethan Durrant
8da25dd6e3 [Docs] removed unneeded line of code in Tap Dance documentation (#6981) 2019-10-08 22:01:56 -07:00
shu_numata
8991d9ab3a [Docs] Fix missing link in readme (#6958) 2019-10-08 21:59:11 -07:00
Max Rumpf
1c07d4e7ef [Docs] Clean up docs/newbs_flashing.md (#6973)
* [Docs] Clean up docs/newbs_flashing.md

See #6930

* Fix typo
2019-10-08 21:55:44 -07:00
Xavier Hahn
0ea4e86175 [Docs] French translation of QMK Basics (#6925)
* Adds the files that will be translated

* Start translate cli_configuration.md in French

* Translated cli.md in French

* Translated getting_started_getting_help.md in French

* /getting_started_github.md

* Translated first part of contributing.md in French

* Finish translation of contributing.md

* Translated the getting_started_introduction.md in French

* Corrected issues from @zekth review

Co-Authored-By: Vincent LE GOFF <g_n_s@hotmail.fr>
2019-10-08 13:27:45 -07:00
fauxpark
4335b97a07 Reorder Raw HID interface to match what the USB spec expects (#6801) 2019-10-08 11:47:37 -07:00
Pittyolo
89fe8d2d87 [Keymap] Adding my keymaps for Preonic and XD75 (#6874)
* Added my keymaps

* Update to readmes

* Update keyboards/preonic/keymaps/pitty/config.h

Thanks!

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

* Update keyboards/preonic/keymaps/pitty/config.h

Thanks!

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

* Update keyboards/preonic/keymaps/pitty/config.h

Thanks!

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

* Update config.h

* Update keyboards/preonic/keymaps/pitty/keymap.c

Thanks!

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

* Removed copyrighted material

* Update keyboards/xd75/keymaps/pitty/keymap.c

Thanks!

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

* Update config.h

* Update config.h

* Update config.h

* Update keymap.c

* Update keymap.c

* Update config.h

* Update keymap.c

* Update keyboards/preonic/keymaps/pitty/config.h

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

* Update keyboards/preonic/keymaps/pitty/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-08 11:26:17 -07:00
Garret G
9fe7b406cb [Keyboard] Move existing boards to Kingly_Keys and add more boards (#6879)
* try to fix and orginize to Kingly_Keys subfolder and add various keyboard support

* fixed layout nomenclature and rules.mk pref

* modified readme for smd_milk

* fixed layout name in little_foot.h

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* remove old stand-alone keyboard folders

* Fixed missing comma in littlefoot keymap

* remove OLED code in romac_plus.c

* Update rules.mk

* Update readme.md

* Apply suggestions from code review

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

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update keymap.c

* fix little_foot.h layouts, delete smd_milk readme.md

* Fix ALpha Edits

* Fix ALpha Edits p.2

* update little_foot.h

* fix little_foot.h p.2

* Update keyboards/kingly_keys/little_foot/little_foot.h

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

* Update keyboards/kingly_keys/little_foot/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c

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

* Modify config.h for cleaned up PCB.
2019-10-08 11:24:20 -07:00
dsanchezseco
19584b92c5 [Keymap] keymaps for planck and crkbd (#6895)
* using similar keymaps (with vim in mind) for planck and crkbd

* changed to rgb matrix and lower max brightness to prevent unresponsiveness

* readme and default rgb mode

* disable all the not wanted effects and activate the framebuffer ones

* changed effects

* changed custom keycodes to defines

* fixed comment
2019-10-08 11:16:38 -07:00
fauxpark
2707652c98 [Docs] CLI command to serve docs locally (#6956)
* CLI command to serve docs locally

* Document it

* Default port

* Use `with` and subclass `SimpleHTTPRequestHandler` to set working dir

* Apply suggestions from code review

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>

* Update docs/cli.md
2019-10-08 11:06:26 -07:00
Xavier Hahn
e7d95701bf [Docs] French translation of Complete Newbs Guide (#6901)
* Translated _summary.md + newbs.md

* Translated news_best_practices.md in French

* Translated newbs_building_firmware_configurator.md in French

* Translated the file newbs_building_firmware.md in French

* Translated page newbs_flashing.md in French

* Translated the page newbs_getting_started.md in French

* Translated the page newbs_learn_more_resources.md in French

* Translated the page newbs_testing_debugging.md in French

* Change translation of split from 'séparé' to 'scindé'

* Adding the lang file for gitbook and some others tranme other translation

* Correcting typos after Gimly's review

* Some others sections on the summary

* Fix first comments from @zekth

* Fix some issues from @4sStylZ

* Fix other issues from @4sStylZ

* Fix weird phrase

* Replaced all uses of  'téléverser' by 'flash'

* Replaced all planches by board

* Fix other PR comments

* Fix comment
2019-10-08 10:45:34 -07:00
yiancar
5e43f87956 [Keyboard] RGB updates on NK65 and HS60 (#6795)
* RGB update commit

* Convert caps lock indicator check to IS_LED_ON

* ISSI3733 minor change
2019-10-08 09:03:51 -07:00
lucwastiaux
d00326ecb3 [Keymap] modify ergodox_ez / dvorak_42_key layout (#6832)
* add macros for windows 10 workspace switching

* change debounce settings

* add comment

* remove debounce
2019-10-08 08:43:54 -07:00
kuchosauronad0
49fdd386b2 [Docs] Clean up docs/newbs_building_firmware.md (#6930)
* Clean up the blocks in the second section so that macOS & Windows are in the same block with the command

* As suggested by fauxpark
2019-10-07 20:08:05 -07:00
Ethan Durrant
e2ec5790b7 [Docs] updated and cleaned up documentation for Tap Dance (#6949) 2019-10-07 19:28:48 -07:00
Yan-Fa Li
8fe15fa17a [Keymap] Overly greedy community keymap build userspace (#6969)
- this fixes breakage in instant60 pcb sorry @upas
2019-10-07 19:23:59 -07:00
Drashna Jaelre
403c139b34 [Docs] Add AVR and ARM examples to GPIO Commands (#6942)
* [Docs] Add AVR and ARM examples to GPIO Commands

Add examples for reference for people not as well versed in microcontroller coding, such as myself.

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-07 19:08:14 -07:00
Lukas Werling
dc5876a8e6 [Keymap] katana60: Fix = key in default keymap (#6941)
The top-right key should be = and not the shifted pseudo-key +. This
matches the sample layout from the picture in the readme [0].

[0]: https://i.imgur.com/xVkODOu.jpg
2019-10-07 17:18:18 -07:00
Janne Peippo
93767540e1 [Keymap] Add new TADA68 keymap (#6938)
* Add new TADA68 keymap

* Remove unnecessary backlashes

* Change from MacOS specific to generic volume keycodes
2019-10-07 17:15:59 -07:00
Max Rumpf
5bb3fe7a35 Remove unanswered/unnecessary FAQ item
As discussed in #6957, closes #6957
2019-10-07 15:43:42 -07:00
fauxpark
3e22af92ee [Docs] Add an important note about modifying user code (#6959)
* Add an important note about modifying user code

* Update docs/contributing.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-07 14:50:10 -07:00
NoshBar
2c51d14223 [Keyboard] Cannon Keys Satisfaction75: Fix buffer sizes for sprintfs. (#6954)
sprintf always adds a NULL terminator at the end of the buffer it works on.
A few places made just enough space for the resulting string, but not the terminator.
So this just adds one to the buffer size to make room for it.
2019-10-07 14:35:28 -07:00
Yan-Fa Li
6bed239486 [Keymap] Community layout for hhkb (#6961) 2019-10-07 13:31:11 -07:00
Dylan Khor
c2709a7ca4 [Keymap] Clean up / adjust khord let's split keymap (#6951)
Remove unneeded lines and change right side mouse buttons on raise layer back to media control
2019-10-07 12:35:37 -07:00
Diego
26fe4e44d5 [Keymap] Fix talljoe-gherkin keymap typo (#6950) 2019-10-07 11:57:35 -07:00
Ethan Durrant
b5b057ad95 [Keymap] MF68 keymap LED pins fixed (#6946)
* fixing LED pins to accurately use the Pro Micro LEDs

* fixing trailing whitespace
2019-10-07 11:42:12 -07:00
Dan McClain
f04e58dad6 [CLI] Add qmk list_keyboards (#6927)
`list_keyboards` replicates the `make list-keyboards` by globbing for all paths
that include `rules.mk` and then removing the paths that include `keymaps`.

This basis of this cli command could be reused in the future as a util, but is
not done so here since this would be the only place that would use it currently

Resolves #6911
2019-10-07 11:32:30 -07:00
Jesper Nellemann Jakobsen
d9b056486b [Keymap] Move brightness controls one key over (#6945)
I forgot to count the extra ISO-only key next to left shift when
initially adding these brightness controls.
2019-10-07 11:17:08 -07:00
Jonas Avellana
2881f53dd4 [Keymap] updating ninjonas userspace (#6903)
* [refactor] updating ninjonas layout blocks and standardized LOWER & ADJUST

* [feat] added new macro M_TERM to open MacOS terminal app

* [feat] introducing mod-tap functionality on keymap

* [fix] fixing oled turning on when it feels like it. thanks @drashna for helping

* [feat] updating OLED to rotate logo 180 degrees

* [feat] updating keymaps to reflect VSCode frequent habits

* [refactor] converting crkbd modifier keys to layer blocks

* [fix(#6903)] converting _delay_ms to wait_ms on launching terminal macro
2019-10-07 10:42:03 -07:00
Erdem Efe Erol
d0ef139749 [Docs] Typo fix for feature_hd44780.md (#6917)
* Typo fix

Fixed a typo.

* Update feature_hd44780.md

* Update feature_hd44780.md
2019-10-06 16:39:23 -07:00
Erovia
60cd12f8a4 Dimple: Fix Caps Lock LED behaviour (#6936)
* Dimple: Fix Caps Lock LED behaviour

* Dimple: fix helper functions and cleanup unnecessary code
2019-10-07 05:15:17 +11:00
Erdem Efe Erol
c73d6f6ac8 [Docs] Removed dead link (#6922)
Removed an old link and fixed a typo
2019-10-06 07:56:35 -07:00
Janne Peippo
f73f71db9c [Keymap] Add new Cyclops keymap (#6923) 2019-10-06 07:44:02 -07:00
Daniel Klug
345d3cc046 [Keymap] dactyl_left (#6775)
* [keymap] dactyl_left

Special layout for the left side of the ergodox dactyl.

* [keymap] dactyl_left

Special layout for the left side of the ergodox dactyl.

* Updated readme.md

* Update keyboards/handwired/dactyl_left/readme.md

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

* Update keyboards/handwired/dactyl_left/readme.md

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

* Update keyboards/handwired/dactyl_left/info.json

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

* Update keyboards/handwired/dactyl_left/info.json

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

* Update keyboards/handwired/dactyl_left/info.json

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

* Addressing changes for PR

removed layers.json and 15-24 from rules.mk

* Updating keymap for better a default

Hopefully this works as a starting point
2019-10-05 23:58:23 -07:00
St. John Johnson
78f01eef2e Use keymap instead of username variable for qmk new_keymap (#6885)
Username is not defined and this causes `qmk new_keymap` to error.  This
appears to have originated from a partial update in
https://github.com/qmk/qmk_firmware/pull/6708/files#diff-d5208bcbc79aa428556a743b6ff41086.  This change completes the migration from `username` to `keymap`
2019-10-05 23:41:15 -07:00
Kaiede
f3f7f941dc [Keyboard] Whitefox Aria Layout Support (#6915)
* [Keyboard] Add Whitefox Aria Layout

* [Keyboard] Add Whitefox Aria to info.json

* [Keyboard] Apply Whitefox.h Suggestions from Review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-10-05 19:59:16 -07:00
Max Rumpf
60267fe2ca [Keyboard] Add Phoebe, a keyboard by Maxr1998 (#6870)
* Add Phoebe, a keyboard by Maxr1998

* Improve include-guard

* Remove unused functions

* Remove unused extern

* Add image

* Some more fixes
2019-10-05 16:44:22 -07:00
Josh Benavides
18a0e6fedc [Keymap] Add HHKB-based keymap for DZ60 (#6907)
* Created personal keymap for dz60 hhkb layout.

* Renamed directory joooosh to joooosh_hhkb... Removed redundant KC_TRNS alias #define... Updated to use KC_TRNS alias defined in QMK_KEYBOARD_H.
2019-10-05 16:24:31 -07:00
gtips
8cf1491d04 [Keyboard] Add keyboard Reviung34 (#6847) 2019-10-05 16:10:27 -07:00
Jonathan Rascher
c23581d985 [Keymap] Initial personal keymap for Lily58 (#6908)
* Initial Lily58 keymap

* Still not sure if these thumb key placements are optimal or not. I
might want to move space (enter) one key to the left (right),
respectively.

* Also unsure how I feel about Esc on a mod tap key with Ctrl... might
move it back to its own key and relocate the = key.

* Missing bindings for Print Screen, Scroll Lock, Pause/Break.

* Make Lily58 layout support operation without numrow

* Move some Lily58 modifiers around

* Move nav keys to more consistent locations

* Rebinding shift on Raise is stupid

* Don't stomp Ctrl on the Lower layer

* Tweak bottom row a little bit
2019-10-05 12:40:08 -07:00
Matthew Lyon
03c132b331 [Keymap] finally committing my updates (#6904) 2019-10-05 12:22:52 -07:00
Nikita Titov
3e20697a33 removed deprecated option for Travis (#6896) 2019-10-05 12:04:46 -07:00
Colai
b91874454d [Keymap] dz60 Iso de 5x1u split right shift (#6889)
* add ISO-DE layout with 5x1u and split right shift

* cleaning up

* renamed readme.md and layout. added underglow

* change layout name in info.json

* rename readme.md

* renamed layout in comment. added rgb keys to visualisation

* change Layout name in dz60.h visualization
2019-10-05 11:56:11 -07:00
Leivince John Marte
e02383fa1f [Keymap] Added KBD6X Vimwarrior HHKB TOFU Personal Keymap (#6878)
* Added KBD6X Vimwarrior HHKB TOFU Personal Layout

* Added Readme.md for Vimwarrior HHKB Tofu Keymap

* Added DZ60 Vimwarrior WKL Tofu Keymap

* Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu

* Update rules.mk Added BOOTLOADER config.
2019-10-05 11:17:36 -07:00
fauxpark
e8b65d0170 Cleanup rules.mk for 32U4 keyboards, A-F (#6804)
* Cleanup rules.mk for 32U4 keyboards, A-F

* Put back stuff in VIA keymaps
2019-10-05 11:09:35 -07:00
J.Flanagan
19b60c273a [Keyboard] Add OSA keyboard (#6849)
* initial commit

restart of osa development

* minor changes

Minor changes
mostly changing naming and comment out rgb modes

* initial commit

restart of osa development

* minor changes

Minor changes
mostly changing naming and comment out rgb modes

* more minor changes

comment out some functions
correct some spelling errors
change some of the descriptive text

* Minor Changes

Minor changers per PR requests

* Minor Changes

Minor changes per PR suggestions

* Major Changes

Per PR suggestion from noroadsleft:

- changed macro to LAYOUT_all in info.json, dualsplit/keymap.c and ocm/keymap.c, and osa.h

- added osa.h macros for other layouts per suggestion and used suggested naming

-  changed naming of layout macros to correspond to macros and naming in default/keymap.c, dualsplit/keymap.c, ocm/keymap.c, splitbs/keymap.c, and splitrs/keymap.c

- removed duplicate layers from all keymaps and edited per suggestions

- compiled each keymap to check for and correct any potential errors. all compiled with no errors

* Minor Change

- fixed imgur image link in readme.md to be correct format

* Minor Changes

changes to macro layouts in osa.h
changes to dualsplit/keymap.c - added arrows to layer 1

* Changes

- Made changes to info.json to match osa.h
- changes to osa.c enabling indicator LEDs
- changed "dualsplit" directory name to "all" to match keymap naming in osa.h, info.json, and keymap.c
- minor changes to all/keymap.c

* Update keyboards/sck/osa/rules.mk

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

* Update keyboards/sck/osa/readme.md

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

* Changes to info.json

- revert to info.json from version in b3b49c3 per requested changes
2019-10-05 10:44:55 -07:00
MechMerlin
dbce3f648b Budget96 Production PCB Fix (#6900)
* production version of the PCB has the top two right most keys swapped around. There are only 6 protos in existence and one of them is mine so we can just do this.

* update readme by adding backticks
2019-10-06 04:19:49 +11:00
Joel Challis
38aefaf78e ARM - Initial backlight support (#6487)
* Move AVR backlight to own file, add borrowed ARM implementation

* Tiny fix for backlight custom logic

* Remove duplicate board from rebase

* Fix f303 onekey example

* clang-format

* clang-format

* Remove backlight keymap debug

* Initial pass of ARM backlight docs

* Initial pass of ARM backlight docs - resolve todos

* fix rules validation logic

* Add f072 warning

* Add f072 warning

* tidy up breathing in backlight keymap

* tidy up breathing in backlight keymap

* add missing break to backlight keymap
2019-10-05 16:57:00 +01:00
MechMerlin
60b2a9a5ea [Keyboard] Preliminary Support for Duck Orion V3 (#6892)
* initial commit

* fixup init_rows and read_rows routine

* fixup matrix based on Marcus's tracing info

* add a temporary keymap

* add notes

* use a standard tkl ansi keymap

* turn on that last column

* backslash and backspace row left to fix

* reorg from backslash to pgdn

* got the matrix done but the backspace location at K4N is still suspect

* add reset info into readme

* add qmk configurator support

* add community layout support

* remove uneeded keymap readme

* add a new column just for the reset switch

* change copyright dates

* add cautionary message to readme as we don't know about the lighting condition yet

* Update keyboards/duck/orion/v3/v3.c

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

* Update keyboards/duck/orion/v3/v3.c

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

* Update keyboards/duck/orion/v3/v3.c

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

* change bootloader comments
2019-10-04 22:06:57 -07:00
hvp
537623c9db [Keymap] Added my version of the alpha28 layout. Usable. (#6862)
* Added my version of the alpha28 layout. Usable.

* Added enum. Test ok
2019-10-04 22:04:08 -07:00
MechMerlin
ec053c8283 [Keyboard] Percent Skog Lite (#6882)
* initial commit of skog_lite

* add layout macro from misterkeeb's tool

* add default keymap

* add pins used

* rgb support

* add tkl ansi community support

* update readmes

* add new layouts and configurator support
2019-10-04 22:03:10 -07:00
Louis Orleans
c5ffd182c8 [Keymap] update my keymap for Infinity Ergodox (#6864)
* 🎉 Building simple flasher

* 🎉 Flashing works

* 🎨 Cleaning up

* 🐛 Being more specific with board identity

* 🐛 Flashing correct keymap

* 🎉 Adding keymap

*  Updating keymap

* 🚨 RGB

*  Revert "🚨 RGB"

This reverts commit 9ceabfb267.

*  Improvements to flasher

*  Layout tweaks

* 💄 Messing around with LCD

* 💄 Enabling LCD backlight matching

* 🔧 Updating layout

* 🐛 Fixing console logging

* 🎨 Cleaning up indentation

* 🔧 Adding editorconfig

*  Adding game layer

* 💄 Changing numpad layout

* 🔥 redoing entire layout

It's now more similar to the Planck default layout

*  add workman and dvorak layouts

* 🐛 fix numpad

* 🐛 fix layer orders

* 🐛 fix layer toggling

* 🐛 fix tri-layer switching

* 🐛 fix LCD colors for adjustment layers

* 🔥 remove old flasher project

* 🔥 remove simple_visualizer

* 💄 update LCD colors

* 📝 fix layout comments

* 💄  swapping 2u buttons

* 🔥🔧 removing editorconfig

* 🚨 using 2 spaces

* 📝 add README

*  Revert "💄 Enabling LCD backlight matching"

This reverts commit 51577903df.

*  Revert "💄 Messing around with LCD"

This reverts commit fdd9acdae5.

* 🐛 fix thumb inconsistency in QWERTY

* 🐛 fix media keys

*  add F# shortcuts to vertical 1.5u buttons

*  hold enter for RShift

*  hold for numpad

* 🎨 remove unnecessary breaks

* 🎨 reoganizing layers

*  add Colmak layer

* 🚧🔧 add basic config

*  use more standard numpad layout

* 💄 change layer orders

*  add caps lock on adjust layer

* 🔥 disable space cadet

* 📝 update README

* 🔨 use userspace config

* 🎨 clean up a bit

* 🐛 undefine tapping toggle from base config

* 🔨 rename LED functions

* 💩 someone commited Windows line endings

*  left hand thumb is space

* ♻️ extract layers def to new file

* 🔥 remove unnecessary hooks

* 💄 set LCD text and color by layer

* 💄 update keymap

removing layer buttons that I don't really use

*  set backlight to full brightness on boot

* 🔥 remove unnecessary includes
2019-10-04 20:32:52 -07:00
Griffin J Rademacher
93bce83255 [Keymap] 🗺️ Adds massdrop/alt/favorable-mutation keymap (#6893)
Features:

* Tap space for space, hold for cmd
* Tap caps lock for esc, hold for ctrl
* Dedicated key for entering default mode of yabai window manager
* Who needs arrow keys, anyways???
* Method for clearing all stuck-down mods
2019-10-04 12:56:01 -07:00
Dimitri Krassovski
b0b433f3cf [Keyboard] Match dactyl-manufom 4x5 layout in doc to actual (#6867)
* Match doc layout to actual

Raise and Lower were swapped, and there is no "10" button :)

* Make mouse button 2 really 2, not a clone of MB1
2019-10-04 12:00:14 -07:00
vuhopkep
3e6f7bc6bf [Keyboard] Add Stella keyboard (#6848)
* Add Stella keyboard

Tenkeyless keyboard for VGS Community

* Update keymap.c

* update
2019-10-04 11:55:54 -07:00
Max Rumpf
f166a22c98 [Keyboard] Add image for Pulse 4k (#6869) 2019-10-04 11:22:30 -07:00
fauxpark
41b9be560d Wrap util.h functions in extern "C" (#6762) 2019-10-04 09:24:47 +10:00
Richard Baptist
4f01c8623f Clean up default crkbd keymap (#6887)
* Put spacing into CRKBD keymap

* Change KC_NO to XXXXXXX

This makes it easier to see at a glance that the key does nothing
2019-10-03 12:34:00 -07:00
Ayman Bagabas
9067dc817a Fix qmk doctor 'bytes-like object is required' on linux
This fixes the following issue related to encoding on linux systems. Add
`universal_newlines=True` to subprocess.

<class 'TypeError'>
☒ a bytes-like object is required, not 'str'
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/milc.py", line 564, in __call__
    return self.__call__()
  File "/usr/local/lib/python3.7/site-packages/milc.py", line 569, in __call__
    return self._entrypoint(self)
  File "$HOME/qmk_firmware/lib/python/qmk/cli/doctor.py", line 56, in doctor
    for line in mm_check.stdout.split('\n'):
TypeError: a bytes-like object is required, not 'str'
2019-10-03 10:27:20 -07:00
Silvio Gulizia
afb93b7f48 Fix quantum keymapextra italian (#6779)
* remove IT_PIPE duplicate and add IT_GRAD

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

* rename IT_GRAD to IT_DEGR

* add    missing plus_and_minus

* fix missing IT_ACUT definition

* change KC_LALT(KC_LSFT to LALT(LSFT

* Fix alignment

* remove leftover

* fix issue generated with chars while pushing

* fix typo

* fix LCBR and RCBR

* fix euro symbol

* fix RBRC

* change IT_LESS form KC_NUBS to KC_GRAVE

* add IT_TILDE and change IT_GRAV to IT_GRAVE

* add missing legends for accented vowels

* format for readability

* revert to commit befor I edit it

* initial commit

* edited to be easier to compare to _ansi.h

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

I found out there were no difference at all

* fix missing #endif

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

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

* rename file

* redefines IT_BKSL and IT_PIPE based on KC_BKSL

* add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE
2019-10-03 10:27:01 +10:00
Konstantin Đorđević
99f5d6c56d Update personal userspace and keymaps (#6876)
* Align bottom row in KBD6X keymap to match LAYOUT macro

* Remove TAP_HOLD_CAPS_DELAY override in userspace

* Change default USB polling rate to 1000 Hz

* Move media controls to nav cluster on Wasdat

* Add dz60:konstantin_b keymap
2019-10-03 09:46:27 +10:00
Erik Doffagne
de386e5972 Fixed typos in documentation (#6871)
* Fixed typos in documentation

* Update docs/arm_debugging.md

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

* Update docs/arm_debugging.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-02 16:41:32 -04:00
Richard Baptist
482ec79e59 [Keymap] Add personal CRKBD keymap (#6843)
* Add personal keymap

* Additional readme note

* Fix typo's in readme

* Additional layer key info in readme

* Update keyboards/crkbd/keymaps/rpbaptist/config.h

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

* Update keyboards/crkbd/keymaps/rpbaptist/rules.mk

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

* Update keyboards/crkbd/keymaps/rpbaptist/keymap.c

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

* Remove redundant config

* Remove disabling of NO_ACTION_MACRO and NO_ACTION_FUNCTION

* Remove layer keycode macros

* Use layer_state_t instead of uint32_t

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

* Use get_highest_layer instead of biton32

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

* OLED_ROTATION_90 instead of 180

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

* Use get_highest_layer instead of biton32

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

* Use get_highest_layer instead of biton32

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

* Revert "OLED_ROTATION_90 instead of 180"

This reverts commit f14a4353ab.

It messed up the logo on slave

* Use IS_LED_ON function to check LED status

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-10-02 09:39:43 -07:00
Anton Lindström
fa8359fa1a [Keymap] Add antonlindstrom iris keymap (#6853)
This adds a keymap for the Iris keymap for antonlindstrom. The
keymap is based on the swedish keymap and thus contains the åäö
characters.
2019-10-02 22:11:39 +10:00
worthlessowl
0c5b3826d1 [Keyboard] Add Owlet60 Keyboard to qmk_firmware/keyboards/handwired (#6803)
* first commit, skeleton code, not sure if working

* Owlet 60 working firmware, json not sure

* use json from kle to qmk converter

* deleted temporary text from owlet60.h

* owlet60 working oled and led firmware

* moved owlet60 to handwired

* updated readme.md

* Revert "owlet60 working oled and led firmware"

This reverts commit 27f9465aab.

* Revert "moved owlet60 to handwired"

This reverts commit 9b8e8344fc.

* revert changes, moved owlet60 to handwired, updated copyright blurb

* fixed readme.md

* removed duplicate items

* resolve merge artifact

* Update keyboards/handwired/owlet60/readme.md

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

* check out merge artifacts with qmk master

* Update keyboards/handwired/owlet60/matrix.c

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

* Update keyboards/handwired/owlet60/matrix.c

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

* Update keyboards/handwired/owlet60/matrix.c

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

* Update keyboards/handwired/owlet60/matrix.c

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

* removed redundant rule on oled_testing/rules.mk, refactored mux switching code on matrix.c
2019-10-01 21:26:39 -07:00
Ethan Durrant
da5b4ec733 editing fn layer and minimizing the Caps layer (#6850) 2019-10-01 12:50:54 -07:00
Jack Humbert
68072e931a Expose zh-cn docs, delete bad zh docs, add docs for adding translations (#6855)
* expose zh-cn docs, delete bad zh docs, add docs for adding translations

* Update docs/translating.md

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

* Update docs/translating.md

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

* update for python 3
2019-10-01 13:51:23 -04:00
Amber Holly
c7b28bffc1 [Keyboard] Add Wraith keyboard (#6810)
* start wraith firmware

* completed initial setup

* added amber keymap to wraith

* fixed LEDs, wrote readme files

* reverted bootloader type after troubleshooting

* decapitalised files and directory as per qmk standards

* Update Wraith keyboard folder

- Add timer keymap with documentation
- Remove boilerplate in rules.mk, ready for pull request
- Update info.json with ISO and ANSI layouts, ready for QMK Configurator

* Add Wraith image to readme.md

* Fix Wraith keyboard's QMK Configurator support

- Update info.json
- Add layout macros in wraith.h
- Update keymap.c files to use LAYOUT_all
- Fix readme formatting
2019-09-30 18:34:12 -07:00
fauxpark
c47fa31a00 Port drivers.txt changes from the Toolbox (#6786) 2019-09-30 17:45:44 -07:00
Jan Christoph Ebersbach
edf8552970 [Keyboard] Signum 3 0 enable kinetic speed (#6740)
* Enable kinetic speed

* Update keymap
2019-09-30 12:28:51 -07:00
Simon R
ab3fba2cdf [Keyboard][Fix] budget96 RGB light-switches (#6840)
Adding code to make the RGB switching work. Taken from the singa (singa.c).

Signed-off-by: Simon R <me@dieideeistgut.de>
2019-09-30 10:59:34 -07:00
kakunpc
c6c7aec85d [Keymap] update hecomi/kakunpc keymap (#6839)
* update hecomi alpha/kakunpc keymap

* remove unused define.
2019-09-30 10:57:01 -07:00
Jordan Egstad
8c1b8cf3a3 [Keymap] Adds Egstad Preonic Profile (#6837)
* setup local build config, created npm build script to speed things up

* removed some profiles and gutted readme

* began configuring default and lower layout

* lower: fixed right arrow and added music toggle

* began configuring default and lower layout

* changed startup song

* updated comment typos

* I did that thing where i basically refactored everything :)

* Converted 2U key to 1U's

* Reorganized and tidied up

* Reorganized and tidied up

* space now changes layers

* updated numbpad

* updated readme

* removed unwanted files

* addressed change requests
2019-09-30 10:55:02 -07:00
Jonas Avellana
cffe671a61 [Keymap] Updating crkbd RGB keymap implementation & ninjonas userspace updates (#6834)
* [keymap] Updating crkbd RGB implementation & ninjonas userspace updates

* [chore] adding process_record_oled method to process_records.h
2019-09-30 10:50:27 -07:00
Homerow Co
f418efcaf5 [Keymap] correct keebs keymap for wonderland (#6838) 2019-09-29 18:49:59 -07:00
fougner
714cf021a4 [Keyboard] support tkl_iso community layout (#6778)
* support tkl_iso community layout

* fix comments from review

* fix review comments

* LAYOUT is an alias for LAYOUT_all
* add keymap default_iso
* revert changes to default keymap
2019-09-29 15:33:48 -07:00
Homerow Co
5d41db6308 correct default keymap for wonderland (#6835)
tested
2019-09-28 19:10:02 -07:00
kakunpc
20a16d29fe [Keyboard] update angel17 (#6831) 2019-09-28 11:59:33 -07:00
Joel Challis
17794e0b25 ARM split - Add support for dfu-util EE_HANDS flashing (#6543)
* Initial stab at some fake dfu-util-split-left behaviour

* Apply suggestions from code review

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

* Clang format fixes

* Fake eeprom init for both left and right hand
2019-09-27 21:33:55 +01:00
Flutterlice
92cb0b6f2f [Keymap] Personal xd75 keymap "Odyssey" (#6830) 2019-09-27 06:58:05 -07:00
noroadsleft
9496d11b06 [Keyboard] cKeys theDora: Configurator fix (#6828)
Make the layout actually match the orientation.
2019-09-27 06:56:28 -07:00
Yan-Fa Li
0f7be8b458 [Keymap] Use 75_ansi and community layout for xd84 (#6821)
* Use 75_ansi and community layout for xd84

 - work around flash issues by disabling most of the animations

* Remove rules.mk
2019-09-26 10:12:49 -07:00
Zachary J. Slater
178ceba735 Minor link fix in Clueboard README (#6823)
Small change to fix the README link to go to the actual 66_hotswap instead of just the 66%.
2019-09-26 07:37:26 -07:00
Yan-Fa Li
d143ddc062 [Keymap] Port personal keymap to 60_tsangan_hhkb (#6820)
* Port personal keymap to 60_tsangan_hhkb

 - add 60_tsangan_hhkb layout to plain60
 - Fix bug in split rs in plain60
 - use community and user based layout for 60_tsangan_hhkb
   - set up audio for plain60 only

* Add LAYOUT_60_ansi_split_bs_rshift
2019-09-25 21:35:54 -07:00
noroadsleft
b3d41d9d6d [Keyboard] Reviung39: Configurator layout support (#6819) 2019-09-25 21:34:37 -07:00
Mikkel Jeppesen
e6d8a6111b [Keyboard] Added QMK-DFU config to Vitamins Included rev2 (#6818) 2019-09-25 21:34:01 -07:00
Jeong Arm
297a7fe0d1 [Keymap] Add preonic/kjwon15 layout (#6812)
* Add my custom keymap

* Remove del key on left, Add pscr

* Move Audio MOD key to pass ctrl

* Change startup song

* Enable clicky sound

* Swap alt and gui

* Fix semitones

* Add mouse layer

* Change startup song

Additionally, fixup 5 halftones

* Add ctrl key to ctrl+click

* Move media keys to restore raise number keys

* Move mouse key layer switch

* Swap media keys as normal

* Fix music map

* Move mouse speed limit to correct position

* Move prtscr

* Align keycodes

* Add ctrl/esc, swap smart space keys

* Change colemak, dvorak into custom layout

* Fix pure mode (left space)

* Fix mouse mode interrupt

* Add Middle mouse click

* Add Lefthand mouse scroll

* Temporarily disable mouse speed

* Rename custom layout to kjwon15

* Change readme

* Apply suggestions from code review

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

* Apply suggestions from code review

* Apply suggestions from code review

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

* Update from default keymap's function
2019-09-25 21:32:14 -07:00
Jonas Avellana
ff854565ce [Keymap] ninjonas keymap for crkbd & ninjonas userspace updates (#6797)
* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile

* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile

* [refactor(crkbd)] reducing file size by selecting RGB animations

* [refactor(crkbd)] added shiftit key

* [refactor(crkbd)] added shiftit key

* [chore(crkbd)] adding SLEEP_LED_ENABLE on rules.mk

* [refactor(crkbd)] added keylog & removed static rainbow RGB

* [feat(crkbd)] introduced em-dash '—' keymap

* [feat(crkbd)] added screenshot functionality

* [refactor(lily58,pinky3)] moving media keys

* [refactor(lily58)] Added emdash key

* [chore] removing NUMBERS & FUNCTIONS layers as they're useless

* [chore] removing NUMBERS & FUNCTIONS layers as they're useless

* [chore(crkbd,lily48)] Updating README.md

* [feat] added K_LAPP & K_RAPP to mimic command + tab

* [feat] added K_LAPP & K_RAPP to mimic command + tab

* [fix(#6797)] resolving changes requested by @drashna

* [fix(#6797)] first cut on using QMK OLED Driver

* [fix(#6797)] cleaning up rules.mk

* [fix(#6797)] making scrolling logo work

* [fix(#6797)] Using OLED Driver for Lily58

* [fix(#6797)] Moved OLED driver implementation to ninjonas userspace

* [fix(#6797)] Bringing back crkbd & lily58 logos

* [fix(#6797)] Turning off OLED based off @drashna's workaround in #5982

* [fix(#6797)] whoops! forgot to checkin crkbd/config.h

* [fix(#6797)] fixing issue with OLED randomly turning on

* [fix(#6797)] using default glcdfont.c for lily58 & crkbd

* [fix(#6797)] Using LINK_TIME_OPTIMIZATION_ENABLE rather than EXTRAFLAGS as per code review

* [fix(#6797)] updating M_MALL macro as per code review by @fauxpark
2019-09-25 21:28:06 -07:00
Cody Bender
2a948e7771 [Keyboard] Add Crossed Keys/Keyhive Nightmare (#6796)
* initial draft of nightmare files

* fixed pins

* fixed MT keycodes

* updated READMEs

* updated title in main readme

* updated for split space

* added OPT_TAB

* fixed layer 1 keymap

* Add DEL to keymap

* Update Bootmagic pins

* Update Keymap

* Fix missing )

* Update Up arrow on keymap

* Add hosted image for Nightmare render

* Update info.json for Nightmare layout

* Resolve suggestions from drashna

* Add split space layout in nightmare.h and info.json
2019-09-25 14:20:20 -07:00
senseored
983c93fe81 [Keymap] Added two different Swedish layouts for the Niu Mini 40% and Preonic 50%. (#6793)
* added preonic keymap senseored

* added niu_mini/tobias

* Changed readme's to explain that these are swedish layouts

* Apply suggestions from code review

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

* Update keyboards/niu_mini/keymaps/tobias/keymap.c

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

* Made changes according to drashna's suggestions

* Changed to tap_code(KC_NLCK)

* Added #define RGBLIGHT_SLEEP

* Added #define RGBLIGHT_SLEEP

* Removed include config.h
2019-09-25 13:20:33 -07:00
noroadsleft
dccafb64e6 [Keyboard] Subatomic refactor (#3194)
* Refactor: matrix

* New readme file

* Configurator support

* change info.json to debug linting

* use an enum to manage the layers

* readme cleanup

file header, docs links

* use #pragma once in keyboard header file

* use new-style OLKB layout macro naming scheme

* fix layout macro references in keymap.c

* correct Keyboard Maintainer
2019-09-25 13:17:29 -07:00
Amber Holly
475f832b0f [Keyboard] Add Efreet keyboard (#6811)
* start wraith firmware

* completed initial setup

* added amber keymap to wraith

* fixed LEDs, wrote readme files

* reverted bootloader type after troubleshooting

* decapitalised files and directory as per qmk standards

* Update Wraith keyboard folder

- Add timer keymap with documentation
- Remove boilerplate in rules.mk, ready for pull request
- Update info.json with ISO and ANSI layouts, ready for QMK Configurator

* Add Efreet keyboard

* Remove unnecessary keyboard folders

* Enable community layout support for Efreet

- Rename LAYOUT macro to LAYOUT_ortho_4x12
- Add layout macro named LAYOUT_planck_mit
- Remove unnecessary magic key command, as we are using the default
- Fix readme.md formatting for GitHub

* Fix community layout support for Efreet

- Fix 2u spacebar keycodes in LAYOUT_planck_mit to denote absence of switch
- Turn on Community Layouts in rules.mk

* Update default keymap.c to use community layout
2019-09-25 13:06:57 -07:00
noroadsleft
a76a79b827 [Keyboard] Rabbit68: Configurator layout support (#6809) 2019-09-25 13:00:27 -07:00
Manassarn "Noom" Manoonchai
f8e4f7ea80 [Keymap] Add Z-layer to narze layouts (#6806)
* Revert raise/backspace mod tap to just backspace

* Add Dev layer

* Use Dev layer on holding z key

* Add Dev layer for Ergodox
2019-09-25 12:57:49 -07:00
MechMerlin
0850a8cb63 65 ansi blocker everywhere (everywhere I can find) (#6805)
* e6.5 actually already had a 65_ansi_blocker LAYOUT macro, so just had to enable in rules.

* Add the 65_ansi_blocker LAYOUT macro and enable in rules.mk

* rename LAYOUT macro in .h and in the keymap.c as it was only a default keymap. Also enable in rules.mk

* rename but also had to define the existing LAYOUT macro as the new one to prevent breakage of existing keymaps

* add 65_ansi_blocker support for vinta

* forgot to update the info.json on these

* add new default layout 65_ansi_blocker support to alt

* add 65_ansi_blocker support

* undo changes
2019-09-25 12:55:27 -07:00
Yaotian Feng
c61d7d7cb0 [Keyboard] Added support for ErgoDox with STM32 Microcontroller (#5398)
* Began Work On STM32 Ergodox
 Changes to be committed:
	new file:   keyboards/ergodox_stm32/config.h
	new file:   keyboards/ergodox_stm32/rules.mk

* test

* Now it compile. Not linking thou

* Screw this Linker. It links now!

* Blinkly Keyboard

* bootloader test code

* Working on matrix / i2c stuff

* Progress (LED Blink)

* Progress on MCP_23017 Status Flag

* [WIP]

* update

* Works! Remeber to change back the bootloader address when the new bootloadrer is ready.

* Time to go debug the i2c

* Finally, it now works with PCB Rev 1.0.2

* updated for rev.2 pcb

* minor compilation fix

* Why when debugger is enabled then everything works.

* Remeber to call init functions.

* Update arm i2c driver to support STM32F103 series device.

* fix include once header. Replaced with #pragma once.

* complication test
2019-09-25 11:52:17 -07:00
ishtob
eac4ce972d [Keymap] update personal keymap (#6817) 2019-09-25 10:05:48 -07:00
Daniel Shields
00abe5d8ed [Keymap] Various enhancements for dshields user space and keymaps. (#6816)
- Add oneshot mod/layer unlocking
- Fix Planck rev 3 backlight breathing
- Fix Planck rev 6 build with arm gcc 9.2.0
- General code clean up
2019-09-25 09:21:07 -07:00
MechMerlin
0f9e2659c9 [Keyboard] Add additional LAYOUT macros to Noxary 260 (#6815)
* add default LAYOUT_60_ansi

* add LAYOUT_60_hhkb support

* add tsangan_hhkb support

* add ISO support and rename LAYOUT to LAYOUT_all

* formatting

* add community layouts support

* remove unneeded code

* missed a LAYOUT rename

* add link time optimization to reduce firmware size for some people's keymaps
2019-09-25 09:18:09 -07:00
Brad
acec007dfa [Keymap] add keymap broswen for kbd75 (#6814) 2019-09-25 02:01:58 -07:00
Sid Carter
6c37798aac [Keymap] New keymap for the DZ65RGB (#6792)
* new keymap for my chocolate tofu65 with dz65rgb

* consistent with a tada68 layout

* remove extra layer, add swap keycodes and mouse keycodes

* fix the tabs and spaces

* fix the left shift
2019-09-25 01:54:32 -07:00
noroadsleft
df9388fb8a Bathroom Epiphanies Pegasus Hoof: add LAYOUT_tkl_jis data to QMK Configurator (#6802)
* Bathroom Epiphanies Pegasus Hoof: add LAYOUT_tkl_jis data

* use normal English labels
2019-09-24 11:36:23 -07:00
MechMerlin
460da06ce4 [Keyboard] KBD67 Mk.II RGB info.json missing a column (#6807)
* looks like configurator layout was missing a column

* add a key count
2019-09-24 11:26:17 -07:00
MechMerlin
494fc51812 Merlin's Community Layout Updates (#6798)
* readme updates for 60_ansi and split variations

* add new community layout for mechmerlin for the new default layout 65_ansi_blocker

* change path now that kbd67 has been updated

* fix up spacing
2019-09-24 11:01:40 -07:00
Joel Challis
ad8dbd5ca5 ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)
* Add docs on bootmagic/magic keycodes for setting handedness

* Clang format fixes

* Maintain backwards compatibility

* Maintain backwards compatibility
2019-09-24 15:24:12 +01:00
fauxpark
237147ca23 Cleanup rules.mk for 32U4 keyboards, 0-9 (#6789) 2019-09-24 00:59:17 -07:00
MechMerlin
37b6a2abbd Refactor the KBD67 Mk.II RGB (#6799)
* move kbd67mkiirgb into kbd67 directory as mkiirgb

* rename files

* rename LAYOUT to LAYOUT_65_ansi_blocker

* add support for default layout

* update readme for new build target

* update parent readme with the fourth variant
2019-09-23 23:34:59 -07:00
QMK Bot
efb7f3cc3a format code according to conventions [skip ci] 2019-09-24 01:18:18 +00:00
mikethetiger
61b5d0e0c5 [Keymap] mikethetiger's milk keymap (#6611)
* Added my Preonic keymap

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Added my Preonic keymap

* Added my Preonic keymap

* mikethetigers lets slpit eh keymap

* mikethetiger's milk keymap

* Update rules.mk

* Update keyboards/thevankeyboards/minivan/keymaps/mikethetiger/keymap.c

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

* Update rules.mk

Better?
2019-09-23 18:14:55 -07:00
MechMerlin
8eb0aefb60 [Keyboard] 65_ansi_blocker support for Doro67 (#6791)
* rename LAYOUT to LAYOUT_65_blocker_ansi

* rename LAYOUT macro

* enable LAYOUT_65_blocker_ansi community layout support and remove uneeded lines of code

* rename LAYOUT to LAYOUT_65_blocker_ansi

* rename LAYOUT macro

* enable LAYOUT_65_blocker_ansi community layout support

* enable LAYOUT_65_blocker_ansi support

* fix rename mess up

* add QMK Configurator support with the new rename

* rename blocker_ansi to ansi_blocker as it rolls off the tongue easier
2019-09-23 15:56:24 -07:00
Callum Hart
ced8c554e6 [Keyboard] Fix pinout on the copenhagen clickpad (#6788) 2019-09-23 15:49:55 -07:00
MechMerlin
e41feddf57 New Default Layout: 65_blocker_ansi (#6782)
* initial commit

* rename 65_ansi to 65_blocker_ansi

* remove one key to account for blocker
2019-09-22 13:50:18 -07:00
skullydazed
d569f08771 Configuration system for CLI (#6708)
* Rework how bin/qmk handles subcommands

* qmk config wip

* Code to show all configs

* Fully working `qmk config` command

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

* Fleshed out config support, nicer subcommand support

* sync with installable cli

* pyformat

* Add a test for subcommand_modules

* Documentation for the `qmk config` command

* split config_token on space so qmk config is more predictable

* Rework how subcommands are imported

* Document `arg_only`

* Document deleting from CLI

* Document how multiple operations work

* Add cli config to the doc index

* Add tests for the cli commands

* Make running the tests more reliable

* Be more selective about building all default keymaps

* Update new-keymap to fit the new subcommand style

* Add documentation about writing CLI scripts

* Document new-keyboard

* Update docs/cli_configuration.md

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

* Update docs/cli_development.md

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

* Update docs/cli_development.md

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

* Update docs/cli_development.md

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

* Address yan's comments.

* Apply suggestions from code review

suggestions from @noahfrederick

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

* Apply suggestions from code review

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

* Remove pip3 from the test runner
2019-09-22 13:25:33 -07:00
XScorpion2
2f49cae9bc Fixing wrapping math logic for timer_expired functions (#6746) 2019-09-23 00:52:33 +10:00
Burak Can
29d7f9b163 Correct casing for DS_Store in .gitignore (#6787) 2019-09-22 21:32:52 +10:00
Francis St-Amour
e05b32d894 add python3 to shell.nix (#6774) 2019-09-21 11:59:18 -07:00
skullydazed
0e96068d23 Update the breaking changes process so we always have a future branch (#6785) 2019-09-21 11:58:06 -07:00
noroadsleft
42bf60751e [Keyboard] fix OLKB layout macro aliases (#6761) 2019-09-21 11:32:08 -07:00
MechMerlin
fd19795879 [Keyboard] Move more percent boards into the percent directory (#6781)
* move canoe into percent directory

* update readme for new make path

* move skog into percent directory

* update readme for new path and new instructions

* update readme

* fix error in naming
2019-09-21 11:27:53 -07:00
Drashna Jaelre
f069e9fc09 Generalize Tap Dance Layer functions (#6629)
* made tapdance dual_role general

* updated original dual_role functionality

* added toggling layer example

* Fix dual role and add alias

* Update docs about new layer tap dances

* Fix up based on feedback
2019-09-21 11:22:27 -07:00
Daniel Shields
63a0b1241d [Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537) 2019-09-21 11:04:27 -07:00
Benjamin
75c9747787 [Keymap] Bonta keymap for massdrop/ALT (#6391)
* Added new bonta keymap.

* Added a note.

* Made map more mac like.
2019-09-21 10:13:44 -07:00
fauxpark
2df3799e3d Add list-keymaps make target (#5563) 2019-09-21 00:00:58 -07:00
jlquinn
ea96c4b787 [Keyboard] Update Stapelberg readme.md (#5557)
Previously suggested parts are hard to find or non-existent.  Update with available part numbers.
2019-09-20 23:59:16 -07:00
Sorixelle
7f65323e10 Add support for Void Linux systems to the qmk_install.sh script (#5526)
* Add support for Void Linux systems to the qmk_install.sh script

* Fix typos + grammatical edits in comments

* Sort distributions by alphabetical order in linux_install.sh

* Revert previous commit and sort Void packages in alphabetical order

* Fix permissions on `util/linux_install.sh`
2019-09-20 23:55:51 -07:00
fauxpark
3642a82d37 Add support for 328P hardware backlight on B1/B2 (#6776) 2019-09-20 22:11:15 -07:00
coseyfannitutti
c7d0262be7 [Keyboard] Add Discipad, Update Zadig doc for USBaspLoader (#6771)
* add discipad

* Update driver_installation_zadig.md

* Update keyboards/coseyfannitutti/discipad/info.json

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

* Update keyboards/coseyfannitutti/discipad/readme.md

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

* Update rules.mk

* Update keyboards/coseyfannitutti/discipad/rules.mk

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

* Update docs/driver_installation_zadig.md

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

* Update keyboards/coseyfannitutti/discipad/discipad.c

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

* Update docs/driver_installation_zadig.md

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

* Update docs/driver_installation_zadig.md

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

* Update rules.mk

* Update discipad.c

* Update driver_installation_zadig.md

* Update config.h
2019-09-20 22:07:21 -07:00
fauxpark
de4a47f1cc Cleanup rules.mk for 32A and 328P keyboards (#6767) 2019-09-20 22:06:32 -07:00
Konstantin Đorđević
beb4a12c9d Add reset instructions for boards that use Command to the Zadig driver installation guide (#6770)
* Add reset instructions for boards that use Command to the Zadig driver installation guide

* -> → →

* Apply suggestions from code review

Replace shorthand keycode names with full names

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-09-19 17:29:23 -07:00
Brian Lou
59000f491f [Keymap] Added my personal keymaps for dz60 and TMO50. (#6772)
* Added ottodokto keymaps for dz60 and tmo50.

* moved placement of keymaps to proper directory

* fixed accidental deletion of semicolon for tmo50 map

* fix to use short form codes

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-09-19 16:38:42 -07:00
fauxpark
44c5be0a3e Cleanup rules.mk for 16U2 and 32U2 keyboards (#6768)
* Cleanup rules.mk for 16U2 and 32U2 keyboards

* Add back Tap Dance build option
2019-09-19 09:55:14 -07:00
fauxpark
f34299efd7 Cleanup rules.mk for USB64 and USB128 keyboards (#6769) 2019-09-19 09:55:03 -07:00
MechMerlin
911b8915cc DRV2605L Continuous Haptic Feedback Support (#6461)
* provide means to turn on RTP mode and set the amplitude

* new keycode HPT_CONT to turn RTP off/on

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

* support for continuous mode amplitude increase and decrease

* code cleanup

* update docs to reference new keycodes and functionality

* don't touch the keymaps

* add function prototypes

* add proper guards

* cleanup guards

* remove extra reserved
2019-09-19 09:42:33 -07:00
MechMerlin
7a5a2591eb [Keyboard] 1up60hte cleanup + bugfix (#6763)
* move caps lock led to keyboard level so even QMK Configurator users have access to it

* set bootloader correctly to atmel-dfu

* clean up extra carriage return
2019-09-18 18:42:53 -07:00
Alex Mayer
7142b60405 [Keymap] Update Planck Layer Diagram To Match Layer (#6712) 2019-09-18 18:38:56 -07:00
XScorpion2
095b88bca5 Smoother Linear Light Table (#6764) 2019-09-18 18:32:38 -07:00
XScorpion2
46c49ae4e6 Updated split encoders so indexes are based on left hand encoders first (#6382)
* Updated encoder.c so that split encoders are indexed based on left hand encoders first.
This ensures when swapping master sides that code logic based on encoder index doesn't change.

PR Review fixes

* Removed extra define
2019-09-18 17:56:11 -07:00
Andrew Kannan
e5aa28455e [Keyboard] 201909 s75 custom encoder (#6745)
* Handle custom encoder configuration

* Whitespace changes

* Undo broken stuff

* more

* Remove printfs

* fix the dumb bug
2019-09-18 17:41:46 -07:00
Adrien Tétar
6f5f943bb9 [Keyboard] Introduce AT-AT 660M (#6729)
* Introduce AT-AT 660M

* PR feedback

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

* Add dfu-util args

* Add URL
2019-09-18 11:14:49 -07:00
vuhopkep
7d8dea30a4 [Keyboard] add personal fullsize pcb hnah108 (#6759)
* add personal fullsize pcb hnah108

* Update keymap.c
2019-09-17 23:36:05 -07:00
Drashna Jaelre
37c2996137 [Keyboard] Fix compile issues for OLKB Default keymaps (#6751) 2019-09-18 09:50:04 +10:00
fauxpark
54503168c9 Update bootloader.mk (#6698) 2019-09-18 09:48:58 +10:00
fougner
23186d32a3 [Keyboard] xd87: add capslock led support (#6758) 2019-09-17 10:37:01 -07:00
noroadsleft
12cdcd5e10 [Keyboard] Freyr: Configurator bugfixes (#6756)
- rebuild LAYOUT_all tree (key count mismatch)
- correct keyboard dimensions and key positioning
- complete key object labels
- debug linting (one key object per line; changes white space only)
2019-09-17 10:36:18 -07:00
noroadsleft
86d59f1034 [Keyboard] KBD75 refactor (#6755)
* convert codebase to #pragma once

* fix file includes

- quantum.h is included at keyboard level, redundant at revision level
- keyboard-level path is accessible at revision level, remove relative pathing

* duplicate common layout macros from rev1 to rev2

Add the layout macros supported by both rev1 and rev2 to rev2.h directly, which exposes these layouts to QMK Configurator.

* enable community layout support (75_ansi, 75_iso)

* add LAYOUT_75_iso layout data

It needs its own tree because its keys are in a different order from LAYOUT_iso_1u even though the physical layout is the same.

* minimize rules.mk files (use QMK defaults)

* use atmel-dfu bootloader rule

* fix typo on rev1 info.json
2019-09-17 10:34:52 -07:00
XScorpion2
c427023b31 [Keymap][Xulkal] User code update (#6752)
* Updating rgb menu behavior

* Fixing toggle keycode to work how I want it

* Enabling auto scroll timeout
2019-09-17 10:28:02 -07:00
Jason Thigpen
2493eecc7b [Keymap] Fix e65 7u WK layout and add crd's personal keymap (#6750)
* Add e65 keymap for crd

* Fix e65 7u wk layout
2019-09-17 10:27:07 -07:00
Drew Smathers
bb3569dce3 [Keymap] idobo/drewdobo keymap v1 (#6744) 2019-09-17 10:24:15 -07:00
vuhopkep
b364a40e60 [Keyboard] Correct info.json data for vn66 (#6741)
* Correct info.json data for vn66

* update .json file data

* Update info.json
2019-09-17 10:23:13 -07:00
Ethan Durrant
d137fdea78 [Keyboard] Adding YMDK "Bface" keyboard (#6731)
* making a new board setup for ymdk bface clone

* removing extra keymaps that copied over

* documentation and edits for new ymdk_bface board

* cleaning up config and keymaps

* removed extra keymap and working on READMEs

* readme edits

* shorter aliexpress link in ymdk_bface readme

* added images to readmes and edited the keymaps

* more flashing directions

* Mac directions formatting

* editing and creating the all layout

* cleanign up ymdk_bface keymaps

* fixed typos in layout

* removed tabs

* cleaned up the LED and Backlight configuration.

* adding more to info.josn and cleaning up readme

* fixing JSON typos

* made a ymdk folder and moved the bface into it.

* fixing file names for the new folder structure
2019-09-17 10:19:16 -07:00
Noan Mousy
ab48ffd5c5 [Keyboard] Adding AEK64 keyboard (#6725)
* Adding AEK64 keyboard

* Deleting useless layout definition

* Resolving many code review issues

* Documenting my 4sStylZ keymap

* Adding default keymap

* Apply suggestions from code review

Code review corrections

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

* Update keyboards/handwired/aek64/readme.md

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

* Correcting the NKRO implementation
2019-09-17 10:17:03 -07:00
IanGC
32b2486c6b [Keymap] Plaid Keymap for Programmers (#6706)
* map programmer qwerty

* clarify and fix typo

* finishing touches

* use qmk
s templates for readme

* update copyright notice

* remove unnecessary code

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

* remove unnecessary code

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

* Update keyboards/plaid/keymaps/thehalfdeafchef/keymap.c

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

* fix documentation

* reformat code

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-09-17 10:15:07 -07:00
Wilba
55432d0d91 [Keyboard] Fixed EEPROM start address for firmware using VIA (#6757) 2019-09-17 09:59:34 -07:00
Andrew Kannan
59af2cbe64 Add Chimera65 Keyboard (#6670)
* Add chimera board

* info json start

* Update keyboards/cannonkeys/chimera65/config.h

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

* Apply suggestions from code review

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

* Update keyboards/cannonkeys/chimera65/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-09-16 19:37:51 -07:00
noroadsleft
7c1bb9decf Percent Studio Booster: Configurator fix (#6743) 2019-09-16 08:20:44 -07:00
Xerpocalypse
140c08e521 [Keymap] Added Xerpocalypse's layout (#6732)
* Added Xerpocalypse's layout

+ Number row and symbols are switched compared to default TMO50 layout
+ Right-hand spacebar acts as backspace and a hold-layer for layer 2.

* Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c

Removed unnecessary #define

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

* Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c

Changed keymap to use KC_UNDS instead of custom-defined keycode

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-09-15 21:32:34 -07:00
Michael Torres
a9c1a5a873 remove accidental characters in default preonic keymap (#6748) 2019-09-16 14:13:44 +10:00
xster
3b4b54f6ed Clarify the backlight_level API doc slightly (#6733)
* Clarify the backlight_level API doc slightly

* review
2019-09-15 19:22:02 +10:00
vuhopkep
9c280089aa add VN66 keyboard (#6722)
* add VN66 keyboard

* update

* Update readme.md

* Update readme.md

* add hnah108 personal pcb

* delete hnah108

* Update vn66.c
2019-09-15 19:13:19 +10:00
noroadsleft
38a0a6a092 [Keyboard] TheVanKeyboards Caravan: Configurator layout support (#6737) 2019-09-14 20:16:26 -07:00
GreenShadowMaker
8294a0de2c [Keymap] style cleanup of GreenShadowMaker's keymap (#6736) 2019-09-14 20:15:56 -07:00
xster
65c4b6cff1 [Keymap] Yet another xd75 keymap (#6734)
* add a keymap for xd75

* add colors, change some keys, add reactive modifier hold, key press

* add readme

* permissive hold
2019-09-14 20:14:16 -07:00
MechMerlin
9508b3f333 [Keyboard] Alps64 Refactor (#6723)
* get rid of custom matrix that is no longer being used

* remove _kc LAYOUT

* remove ifdefs and replace with pragma once

* cleanup rules and use bootmagic lite

* get rid of led.c

* Update keyboards/alps64/alps64.c

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

* remove unneeded configurations
2019-09-14 20:03:11 -07:00
Drashna Jaelre
6c871408df [Keyboard] Fix default keymaps for OLKB boards to play Startup Sound (#6721)
* Fix Planck default keymap to play sounds on rev6

The dip_switch_update callback was overriding the default startup sound.  This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate.

* Fix Preonic default keymap to play sounds on Rev 3

The dip_switch_update callback was overriding the default startup sound.  This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate.
2019-09-14 19:59:44 -07:00
Drashna Jaelre
265d8abee1 Fix enables for Haptic Feedback (#6707)
* Fix enables for Haptic Feedback

If you enabled bothe DRV2605 and SOLENOID, it would only enable one of these, not both. 

This fixes the check so that you can enable both options.

* Fix check for haptic feature
2019-09-14 19:57:07 -07:00
Fedde Schaeffer
d13e0b5cfc [Keymap] Fix Georgi's RZ key in NKRO fake-steno mode (#6701)
It was sending a comma keypress, while I believe that the targeted
stenography software (at least on systems that generally use
US-International keyboard layout) expects a single-quote/apostrophe key.
2019-09-14 19:55:23 -07:00
m47ch4n
a4581e6620 [Keymap] Added m47ch4n keymap (#6673)
* Add m47ch4n's keymap

* Modify keymap

* Format m47ch4n keymap.c using clang-format

* Modify layer updater

* Fix wrong key repeating bug

* Add readme and QMK Configurator json

* Fix layer updateter

* Add Raise layer

* Add kana keys
2019-09-14 19:53:52 -07:00
J.Flanagan
0cbe1eb433 [Keyboard] Add 2key2crawl (#6727)
* adding working 2key2crawl

Adding working 2key2crawl files
edited files in accordance with original PR comments

* Changes

Changes and updates

* Update readme.md

* Update config.h

removed IS_COMMAND block that was missed in previous commit

* Changes to vol/keymap.c

Removed unneccesary function
2019-09-14 14:03:14 -07:00
Drashna Jaelre
969dd8be56 Fix Corne keyboard matrix configuration (#6684) 2019-09-14 17:46:14 +10:00
Drashna Jaelre
1620066475 Add to VSCode's recommended extensions (#6656)
This includes a number of recommended extensions from the VS Code doc page that should make coding things a lot easier for QMK Firmware.
2019-09-13 18:18:31 -04:00
Ethan Durrant
b4161ac190 [Keymap] adding emdarcher's keymap for mf68 and tada68 (#6718)
* adding a custom mf68 keymap

* added custom tada68 keymap

* readme edit on tada68 map

* added mac fast-forward and rewind keybindings to tada68 emdarcher keymap

* tada68 keymap documentation and edits

* cleanup and edits

* typo fix in emdarcher's tada68 keymap

* cleaning up emdarcher keymap for tada68

* cleaned up emdarcher keymap for mf68
2019-09-12 15:47:30 -07:00
Papop
b9de27161a [Keymap] xunz layout for dz60rgb (#6716)
* [Update] Add xunz layout for dz60rgb

* [Update] Update layout.json and Readme.md

* [Delete] Delete unnecessary files

* [Create] Create new readme.md

* Update keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk

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

* [Update] Delete some unnecessary code in config.h

* Update keyboards/dztech/dz60rgb/keymaps/xunz/config.h

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

* Update keyboards/dztech/dz60rgb/keymaps/xunz/config.h

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

* Update keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-09-12 15:46:24 -07:00
Joel Challis
ad3e4d6c13 Tidy up backlight header use to avoid build issues (#6714) 2019-09-11 23:15:39 +01:00
zvecr
251b4fb79d Fix boards being skipped during make all 2019-09-10 21:15:48 -07:00
Francis St-Amour
68dbf92d9e remove synthing conflict file (#6717) 2019-09-11 12:51:21 +10:00
Kenny Hoang
595232ec98 Created new_keymap.py, python version of new_keymap.sh (#6066)
* Created python version of new_keymap.sh: new_keymap.py

* Updated usage message

* Updated new_keymap.py to use python3.5+ syntax & be more similar to new_keyboard.sh

* Updated complete message

* Updated usage in argparser and removed incorrect usage_message

* Reverted the fstrings back to strings that use .format() & updated docstring convention

* Added helper to recursively cd .. until at qmk_firmware root directory

* Revert "Added helper to recursively cd .. until at qmk_firmware root directory"

This reverts commit 61a0ff3b25f91901287bec8d58eb51a1f126e2ad.

* Updated new_keymap.py to use printf-style format strings

* First draft lib/python/qmk/cli/new/keymap.py with milc

* Removed shebang & syspath appending lines

* Added optional args & resolved some cr comemnts

* Added a docstring and updated strings
2019-09-10 05:14:25 -07:00
Jonathan Cameron
2e521b509c [Keyboard] Added a simple 2x5 Keypad with 4 layers (#6699)
* Added new 2x5 Keypad with 3 LEDs to indicate the selected layer.  By Jonathan Cameron.

* Minor refactor from suggestions from qmk team

* Added

* Moved to 'handwired' directory

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/handwired/2x5keypad/readme.md

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

* Switch to image offsite

* Moved image offsite

* Update keyboards/handwired/2x5keypad/keymaps/default/keymap.h

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

* Update keyboards/handwired/2x5keypad/2x5keypad.h

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

* Moved functions into .c file per suggestions

* Cosmetic

* Fixed function called, per suggestions.

* Update keyboards/handwired/2x5keypad/2x5keypad.h

Ok

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

* Moved LED functions to the top level since they can be used it various flavors

* Declare those moved LED functions!

* Update keyboards/handwired/2x5keypad/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-09-09 22:03:33 -07:00
MechMerlin
00225b77e5 [Keyboard] Waldo RGB Enable (#6711)
* enable rgb animations

* clean up code
2019-09-09 21:57:45 -07:00
Manassarn Manoonchai
9dae7f7d85 [Keymap] Update to narze keymaps (#6694)
Use Right GUI as backspace key & 1ms polling interval on narze keymaps

* Refactor & reimplement mod tap macros

* Reduce tapping term

* Update readme

* Add narze userspace

* Make use of narze userspace

* Extract Superduper mode

* Refactor Superduper mode

* (Ergodox Infinity) Prevent stuck modifiers

* Update ergodox_infinity/narze likewise

* Add warning for building Infinity with docker

* Fix include eeprom.h in superduper

* Try enabling superduper mode with combo for ergodox infinity

* Apply suggestions on #4546

* Convert to 4 spaces

* Map backlight step key

* Replace PLAY_NOTE_ARRAY

* Fix superduper toggle

* Re enable audio in planck rev4

* Use perform_space_cadet

* Remove superduper mod tap triggers

* Add readme for planck light firmware flashing command

* Remove unused layers

* Remove unused keycodes

* Add backlight toggle

* Remove unused songs & use DEFAULT_LAYER_SONGS

* Update readme

* Move includes to header file

* Set RGUI & raise as backspace & unbind actual backspace

* tmp

* Fix qwerty doc

* Use 1ms polling rate
2019-09-09 21:44:08 -07:00
Brice Figureau
a88b6db682 [Keyboard] Add the E6.5 keyboard (#6693)
The E6.5 is the new 65% keyboard made by Exclusive.
This changeset adds its PCB to QMK, including all the bottom row
variants and iso/ansi/split BS layouts.
2019-09-09 21:42:21 -07:00
MechMerlin
22a7e71fb3 [Keyboard] Add DP60 keyboard (#6679)
* add dp60 keyboard

* fixup wording in readme

* fix layout name in default keymap. I was missing an r

* Add QMK Configurator support for the additional layouts

* Update keyboards/dp60/config.h

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

* Update keyboards/dp60/config.h

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

* Update keyboards/dp60/config.h

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

* Update keyboards/dp60/config.h

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

* Update keyboards/dp60/config.h

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

* strip out the VIA enabling from default rules.mk

* add a VIA only keymap
2019-09-09 21:38:08 -07:00
Kai Eckert
88908888b8 [Keyboard] Add Rabbit68 Keyboard w/ default,kaiec keymaps. (#6676)
* Add Rabbit68 Keyboard w/ default,kaiec keymaps.

* Requested changes by @fauxpark

* Change flash command, as suggested by @drashna

* Update keyboards/rabbit/rabbit68/readme.md

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

* Add link to Github repo 

As I per suggestion changed the link above to an image, I added now the link to the project page to the Open Source text, where it actually makes the most sense.
2019-09-09 21:36:32 -07:00
MechMerlin
99e58eab0f [Keyboard] Feature/dz60rgb cleanups (#6697)
* change LAYOUT_ANSI to LAYOUT_60_ansi

* change QMK Configurator layout to LAYOUT_60_ansi as well

* add 60_ansi support so I can make my userspace =)

* update readme

* Very strange. ISO keymap is still using 60_ansi LAYOUT macro. But then again....no ISO hottswap dz60 has been released
2019-09-08 10:27:01 -07:00
vuhopkep
d2f87df7f4 [Keyboard] Add Freyr keyboard (#6664)
* Add Freyr keyboard

Add new Freyr tkl keyboard

* add comunity layout

* Update info.json

* Update readme.md

* Update info.json

* Update keymap.c
2019-09-08 08:48:54 -07:00
Callum Hart
ff118bce6a Add Copenhagen Click Pad (#6681)
* Add Copenhagen Click Pad

* Update keyboards/copenhagen_click/click_pad_v1/rules.mk

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

* Removing left over boilerplate

* Update keyboards/copenhagen_click/click_pad_v1/config.h

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

* Update keyboards/copenhagen_click/click_pad_v1/readme.md

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

* Update readme.md
2019-09-08 10:34:39 +10:00
Drashna Jaelre
02f77e7215 Actually use correct bootloader not found message (#6695) 2019-09-08 09:55:18 +10:00
Drashna Jaelre
44fd317a87 Move Bootloader not found message to global variable (#6688)
* Move Bootloader not found message to global variable

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-09-08 02:06:39 +10:00
Annihilator6000
0728c0fa4e [Keymap] UT47.2 Planck-style layout switching (#6669)
* UT47.2 keymap/updates for Planck style layout switching

* UT47.2 keymap for Planck-style layout switching / code clean up

* UT47.2 keymap for Planck-style layout switching: Qwerty, Workman, Colemak, Colemak Mod-DH, and Dvorak added / code clean up

* Change the layout info to match the keymap

* Edit readme to contain relevant info for layout switching

* Edit readme to contain relevant info for layout switching

* Edit readme to contain relevant info for layout switching

* Edit readme to contain relevant info for layout switching. Add QMK Configurator file.

* Update readme.md with make information

* Undo breaking change in config.h

* Code cleanup

* Code cleanup

* Code cleanup

* More code cleanup
2019-09-07 09:04:31 -07:00
Jonathan Rascher
d90038eb9c [Keymap] Assorted personal keymap/userspace updates (#6691)
* Turn off more unnecessary features by default

* Double TAP_CODE_DELAY due to more media key issues

Even with this change, some of the rotary encoder turns on my BDN9's
volume knob still seem to get dropped. It's possible there's something
wrong with the encoder itself. (Maybe the TAP_CODE_DELAY actually causes
QMK to miss an encoder turn? Unclear.) The other knob (backlight
brightness) works fine, FWIW....

* Restructure userspace config.h a bit

* Hack around Instant60 Via EEPROM conflict

Remove this when #6589 is fixed for Via boards.

* Add backlight breathing and (EEPROM) reset to BDN9

* Add keymap for 9-Key macropad
2019-09-07 08:58:17 -07:00
Drashna Jaelre
e88f80a891 [Keymap] Big Drashna code update (#6639)
* Add a quefrency keymap

* New Alt-ernate layouts

* Enable Per Key Tapping Term to preserve sanity

* Use underglow and mod lights for status on Corne

* Update the drashna_ms keymap for quefrency

* Disable Audio since there isn't enough space

* Update KC_MAKE to ues :flash target

* Cleanup ergodox layout

* Enable i2c support for Iris

* Add keymap support for CG_SWAP

* Enable RGB Matrix Shutdown mode

* enable heatmap

* Update gitlab CI to install python3

* Remove game macros

These are no longer needed, and haven't been used in ages

* Cleanup planck layout

* Add RGB Matrix fun and RGB cleanup

* Add keycode and config for RGB Matrix idle animations

* Clean up rgb idle animation code

* Add rgb idle keycode to keymaps

* Fix issues with rgb matrix idle animation

* Fix some handling for idle animation

* Reduce idle animation timeout to 15s to be more reasonable

* fix up rgb stuff

* Fix isses with rgb functions not being called for matrix

* Use custom EEPROM Magic Number so testing is easier

* Extend Default Layer macro to support a lot more layers

* Fix bjohnson macropad

* Adjust KC_MAKE to process mods for more consistent behavior

* Fix up rgb stuff on corne

* Corne OLED Overhaul

* Fixes a number of issues with weirdness.
* Fixes issues with keylogger (should be more reliable now)
* Modulaize the OLED render sections
* Rewrite layer display code
* Update URL for Font Editor

Due to odd issues, I ended up rewriting from scratch.  And using PROGMEM versions, since I think I was getting memory overflows.

* Update polling rate on all keebs

* Fix planck ez layout config

* Remove macros from Viterbi
2019-09-07 08:57:30 -07:00
Nshan Petrosyan
79a6c6eda5 [Keymap] Update nshanpetrosyan keymap (#6683)
* Update keymap.c

Additional functionality added to layers.

* Error fix

Fixed missing key in layer 5, fixed brightness keys with universal codes, made code more readable.

* fix missing commas

fixed missing commas on line 19 and line 23

* fix Indicator LED sticking on RGB off toggle.

fixes issue: LED indicators stay on when toggling RGB off
2019-09-07 08:25:25 -07:00
fauxpark
490a13a02e Add 328P to mcu_selection.mk (#6682) 2019-09-07 08:24:19 -07:00
fauxpark
0d94730da0 Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671) 2019-09-07 08:18:05 -07:00
fauxpark
91bd2117df Banish some more magic numbers (#6662) 2019-09-07 08:12:46 -07:00
Manassarn Manoonchai
c21281c593 [Keymap] Add narze userspace (#6652)
* Refactor & reimplement mod tap macros

* Reduce tapping term

* Update readme

* Add narze userspace

* Make use of narze userspace

* Extract Superduper mode

* Refactor Superduper mode

* (Ergodox Infinity) Prevent stuck modifiers

* Update ergodox_infinity/narze likewise

* Add warning for building Infinity with docker

* Fix include eeprom.h in superduper

* Try enabling superduper mode with combo for ergodox infinity

* Apply suggestions on #4546

* Convert to 4 spaces

* Map backlight step key

* Replace PLAY_NOTE_ARRAY

* Fix superduper toggle

* Re enable audio in planck rev4

* Use perform_space_cadet

* Remove superduper mod tap triggers

* Add readme for planck light firmware flashing command

* Remove unused layers

* Remove unused keycodes

* Add backlight toggle

* Remove unused songs & use DEFAULT_LAYER_SONGS

* Update readme

* Move includes to header file
2019-09-07 08:06:30 -07:00
skullY
6ca29f2b9b Run the python tests inside docker 2019-09-07 07:58:41 -07:00
skullY
16366dd23d add missing apostrophes 2019-09-07 07:58:41 -07:00
skullY
18690ddaea filter python from the list of things that trigger default builds 2019-09-07 07:58:41 -07:00
skullY
1013ae2d34 Add python tests to the travis check 2019-09-07 07:58:41 -07:00
skullY
deb6fa6a87 Add a command to format python code 2019-09-07 07:58:41 -07:00
skullY
533d6d6a46 Make the modem manager check more pythonic 2019-09-07 07:58:41 -07:00
skullY
c7eede2249 run yapf on the code 2019-09-07 07:58:41 -07:00
skullY
5b7a5b2a76 Setup a python test framework 2019-09-07 07:58:41 -07:00
Konstantin Đorđević
4d339b7b5d Update docker_build.sh: indentation fix, error echo function (#6659)
* Replace spaces with tab in docker_build.sh

* Use errcho instead of echo >&2
2019-09-07 18:17:54 +10:00
jotix
736bdc7e97 Jotix (#6687)
* jotix ortho_4x12

* add shifted symbols

* jotix ortho_4x12 layot
2019-09-07 18:05:14 +10:00
MechMerlin
fc5fb2fc15 CA66 R1/R2 Cleanup (#6678)
* fixup readme to adhere to QMK standards and to also have more information

* use pragma once

* strip out the custom bootmagic lite routine as it is the same as QMK's default bootmagic lite routine. Also add the caps lock led indicator

* turn on bootmagic lite

* update default keymap

* Update keyboards/playkbtw/ca66/ca66.c

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

* remove lines 4 thru 37 and add bootloader
2019-09-07 18:04:48 +10:00
Silvio Gulizia
ac8f8a8914 fix missing music mode legend (#6686) 2019-09-07 07:36:40 +10:00
fauxpark
7ffed07310 Make USB polling rate configurable with a define (#6668) 2019-09-06 07:41:24 -07:00
Mikkel Jeppesen
f8bf1d1b16 Changed to 1209 PID (#6677) 2019-09-06 14:34:37 +10:00
Danny
f0ad3fc68a [Keyboard] Add Iris Rev 4 (#6660)
* Add Iris Rev. 4

* Fix EEPROM addresses
2019-09-05 20:10:57 -07:00
fauxpark
98599173d7 Add 16U2, 16U4 and USB646 to mcu_selection.mk (#6566) 2019-09-05 14:50:43 -07:00
Xelus22
12812fa6a4 led fix (#6672) 2019-09-05 13:41:01 +10:00
Konstantin Đorđević
6d191635d0 Add personal Doro67 multi keymap, fix bug in KBD6X keymap (#6674)
* Add missing void parameter declarations to *_light functions

* Add doro67/multi:konstantin keymap

* Allow FNLK to be canceled with Esc

* Function layer → Fn layer in keymap comments
2019-09-05 13:38:54 +10:00
fauxpark
df5b2d204b [Keyboard] Missed a JTAG disable (#6667) 2019-09-03 20:26:01 -07:00
Vega Deftwing
7372ce6afd added ability to change unicode input method (#6666) 2019-09-04 09:03:16 +10:00
bwhelm
fa71c4c91e Fix battery level code in adafruit_ble.cpp (#6648)
* Fix battery level code in adafruit_ble.cpp

The code in tsk_core/protocol/lufa/adafluit_ble.cpp that polls the
battery level for the Adafruit feather BLE controller reads the
regulated voltage, not the raw voltage coming from the battery. To do
that, the Adafruit Feather docs say you should read from pin A9:
https://learn.adafruit.com/adafruit-feather-32u4-basic-proto/power-management#measuring-battery-4-9.
(See also
https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts#logic-pins-2-9.)

I'm not sure why, but analogRead(9); doesn't read the correct pin.
Checking all available analog pins experimentally, it turns out that
analogRead(7); returns the correct value. So the code above should read:

    state.vbat = analogRead(7);

* Update tmk_core/protocol/lufa/adafruit_ble.cpp

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

* Remove old comment

* Fix linking error

* Remove `#ifdef` around `#include analog.h`.

* Really fix linking error
2019-09-04 04:29:23 +10:00
Elliot Powell
e6a6b1f122 [Docs] Update i2c_driver.md (#6665)
Fix missing arg of i2c_start
2019-09-03 10:09:58 -07:00
Konstantin Đorđević
c522009816 [Keyboard] Doro67 cleanup (#6514)
Add spacing to LAYOUT macros, add layout comments, improve consistency, fix ISO layout bug

* Remove placeholder comments in regular.h and rgb.h

* Change K## to k## in multi.h and regular.h

* Add alignment whitespace in Doro67 LAYOUT macros

* Update multi default keymaps and add layout comments

* Update rgb default keymap and add layout comments

* Add RESET to Fn layer in multi default keymaps

* Replace KC_GESC with KC_ESC in rgb default keymap for consistency with other Doro keymaps

* Update regular default keymap and add layout comments

* WIP

* Replace odd F1, F2 with proper split LShift/Backspace keys in default_multi

* Minor fixes and tweaks in multi default keymaps

* Fix Enter and NUHS positions in multi LAYOUT_iso

* Return true in process_record_user in rgb default keymap

* Update Enter position in multi info.json

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

* Update labels in multi info.json to match the default keymaps
2019-09-03 09:05:29 -07:00
Danny
5c324ee104 [Keyboard] Add Tukey board (#6657) 2019-09-03 08:43:25 -07:00
Konstantin Đorđević
d633cf3ccb [Keymap] Update personal userspace and keymaps (#6654)
* Enable Fn layer tap dances only if LAYER_FN is defined

* Update KBD6X keymap spacing to match LAYOUT spacing

* Add regular FNLK to userspace, update keymap comment labels

* Rename KC_BRK → BREAK, KC_SYSR → SYSRQ in userspace

* Change mousekey positions in KBD6X

* Disable Console in KBD6X to reduce firmware size

* Return false in process_record_* only when overriding existing keys

* Fix Caps light not working after LSFT_FN

* Refactor Fn/Caps light, fix sequencing issues
2019-09-03 08:42:05 -07:00
Benjamin Grosse
55bae0a5b4 [Keymap] Satan GH60 with command prompt animation, react to keypresses (#6636)
Co-Authored-By: fauxpark <fauxpark@gmail.com>
Signed-off-by: Benjamin Große <benjamin@midokura.com>
2019-09-03 08:35:43 -07:00
Drashna Jaelre
dab4967f1b Add Dip Switch as a core feature (#6140)
* Add Dip Switches as a core feature

* Add documentation for Dip Switch feature

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

* Apply suggestions from code review

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

* Remove custom matrix line completely

Rather than just disabling it

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

* DIP changes

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

* Use better check for DIP Switch configuration

* Add to show features

* Add bitmask callback for dip switch

* Fix OLKB Boards dip switch config

* Update docs to include bitmask example

* Fix comments/documentation

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

* Fix issues with docs and use example from @tuzonghua

* Fix wording

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

* Fix example to use proper formatting

Bad, BAAAAAAD drashna!!!

* Handle dip switch initialization better
2019-09-03 08:34:31 -07:00
Drashna Jaelre
9f46606dff Update submodule check to include LUFA (#6661)
As LUFA is now a submodule, we should be checking it.
2019-09-03 17:56:02 +10:00
Jonas Avellana
f2ea65db6b [keymap] ninjonas userspace and keymaps for hotdox, lily58, & pinky3 (#6649)
* [keyboard] introducing ninjonas userspace & keymaps for hotdox, lily58, and pinky3

* [fix(#6649)] removed M_EPRM and used builtin EEP_RST keycode as-per review.

* [chore(#6649)] forgot to update keymap legend on lily58
2019-09-02 07:40:01 -07:00
Sid Carter
0e153781f0 [Keymap] Update keymap for alice and fix for ctrl and os swap (#6642)
* update map for alice and fix for via boards

* enable bootmagic
2019-09-02 07:36:00 -07:00
fauxpark
27b3f3141b Fix typo in Open Graph description for docs (#6641) 2019-09-02 07:35:02 -07:00
Louis D
d653e55461 [Keyboard] add rgb led configuration for xd87 (#6635)
* add rgb led configuration for xd87

* Add RGB underglow to a separate keymap

* rename keymap and make small review changes
2019-09-02 07:33:04 -07:00
Cory Watson
05d0e8c09e Add dfu-programmer to pacman -S (#6619)
* Add `dfu-programmer` to `pacman -S` (#6618)

`dfu-programmer` now resides at `extra/dfu-programmer` and is no longer
in the AUR

* Add `--needed` option to `pacman -S` for efficiency

* Fix

* Update util/linux_install.sh

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-09-02 07:32:14 -07:00
Alex Schroeder
19e85a503c [Keyboard] Atreus: Flip the middle two keys when PCBDOWN is set. (#6616)
Flipping the columns isn't enough for the Atreus keyboard, since these
two keys are distinguished by row on the same column electrically.
2019-09-02 07:30:35 -07:00
fauxpark
5095a999b7 Fix msys2 not installing any packages because it can't find clang (#6655) 2019-09-02 10:09:09 -04:00
Drashna Jaelre
bf558e42fd Run dos2unix on whole repo (#6644) 2019-09-01 09:09:43 -07:00
Drashna Jaelre
3fae3076ce Always run util/travis_compiled_push.sh (#6640)
Specifically, the `util/travis_compiled_push.sh` runs a number of cleanup and deployment routines. This includes `dos2unix` that fixes the line endings for sanity's sake.   However, it only runs on successful builds.  That would be fine, except some builds WILL fail (community layouts, yay), which is a problem. 

This should change the behavior to always run the post compile checks. 

However, in the long run, we should break up this script into more parts.
2019-09-01 09:09:19 -07:00
noroadsleft
4c4ee4a26b NIU Mini Settings update and Refactor (#6651)
* update codebase to four-space indent

* update codebase to use #pragma once

* refactor config.h

* change info.json to debug linting

* refactor readme

- file header
- update docs links

* minimize and lint rules.mk

* change features

- enable mousekeys and nkro

* use GPIO commands for Status LED

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

* use IS_LED_ON macro

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

* update compile/flash examples in readme

* :flash doesn't use QMK Toolbox
2019-09-01 17:54:13 +10:00
Jarred Steenvoorden
f59d076898 [Keymap] Add leaf60 and tada68 keymaps (#6645)
* Add leaf60 and tada68 keymaps

* Cleanup files for pull request

* Cleanup tada68 keymap
2019-08-31 11:20:10 -07:00
Sid Carter
d12c024dde [Keymap] Combo keymap update - For planck and dz60rgb (#6643)
* update my planck layout

* update me planck layout

* For my purple Tofu60 with dz60rgb
2019-08-31 11:14:17 -07:00
skullY
2d688ad14e readability enhancements 2019-08-31 08:50:25 -07:00
skullY
1784d1bfac Add support for passing files at the command line 2019-08-31 08:50:25 -07:00
skullY
9547774962 CLI command to format C code 2019-08-31 08:50:25 -07:00
M-AS
d076234fd1 [Keymap] Added personal keymap for DZ68RGB (#6623)
* added personal CTRL keymap

* added personal dz60rgb keymap

* enabled new rgb effect

* added space cadet shift

* media player track buttons now orange

* updated keymaps with rgb setting and visual HSV setting preview

* fixed source stuff?

* added support for underglow toggle (bugged to all hell)

* everything now behaves as expected when ti comes to RGB toggles, thank god

* removed ifdefs

* changed color of MAS_CRM

* uh, whitespace

* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB

* updated keymap to work kindof

* KEYMAP: changed list of rgb effects

* changed CTRL rgb defaults

* KEYMAP: new LED layout for ctrl

* fixed white LED position in indicator

* changed capslock tap timing

* Added new keymap - dz68rgb

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-30 17:52:35 -07:00
Mikkel Jeppesen
19a85015c2 [Keyboard] Added Vitamins Included Rev2 (#6593)
* Fixed pin for RGB

* Added support for second revision of vitamins included

* Added rev2 config and switched to #pragma once

* Switch to quantum.h pincontrol

* Fixed left-half check

* Moved revision agnostic code to main header file

* Moved common build options to main makefile

* Referred to rev2 documentation

* JTAG is dissabled in keyboard.c now

* moved EEHANDS to rev1 config

* moved rev2 to use split_common

* Updated default keymaps

* Changed handedness ifdef to allow user-overrides

* Add some space saving defines

* Changed to more sane I2C clock

* Removed rev2 check in matrix.c as rev2 uses split_common

* Removed rev2 check in rev1 only code

* Update debounce constant name

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

* Switch KEYMAP macro to LAYOUT

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

* Switch kc_keymap macro to layout_kc

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

* Switch kc_keymap macro to layout_kc

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

* Add legacy layout macro alias

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

* Update keyboards/vitamins_included/rev2/config.h

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

* Split readme into revision specific versions

* Updated src to allow LTO

* Renamed readmes to lower-case

* Switched my keyboards to FEED VID

* Fixed markdown lint errors

* fixed readme links

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

* Maintain keymap backwards compatibility

Co-Authored-By: Joel Challis <git@zvecr.com>
2019-08-30 17:52:02 -07:00
moyi4681
a2b855febb [Keyboard] add kbd67mkiirgb (#6605)
* add kbd67mkiirgb

* Update info.json

* Update readme.md

* Update rules.mk

* Update keyboards/kbdfans/kbd67mkiirgb/kbd67mkiirgb.c

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

* Update keyboards/kbdfans/kbd67mkiirgb/kbd67mkiirgb.c

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

* Delete kbd67mkiirgb.c.b

* Update keyboards/kbdfans/kbd67mkiirgb/config.h

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

* Update keyboards/kbdfans/kbd67mkiirgb/info.json

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

* Update keyboards/kbdfans/kbd67mkiirgb/keymaps/default/keymap.c

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

* Update keyboards/kbdfans/kbd67mkiirgb/keymaps/default/keymap.c

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

* Update keyboards/kbdfans/kbd67mkiirgb/kbd67mkiirgb.h

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

* Update keyboards/kbdfans/kbd67mkiirgb/info.json

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

* Update keyboards/kbdfans/kbd67mkiirgb/readme.md

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

* Update keyboards/kbdfans/kbd67mkiirgb/readme.md

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

* fix led positon
2019-08-30 17:51:05 -07:00
Alex Schroeder
bbc5156781 [Keymap] Workman layout for Atreus keyboard (#6606) 2019-08-30 17:50:11 -07:00
Spaceman
42977d25fc [Keyboard] add Pancake Keyboard (#6610)
* Create readme.md

* Add files via upload

* Create readme.md

* Add files via upload

* Create readme.md

* Add files via upload

* Create readme.md

* Add files via upload

* Update keyboards/pancake/info.json

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

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

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

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

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

* Update keyboards/pancake/readme.md

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

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

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

* Update keyboards/pancake/info.json

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

* Update keyboards/pancake/feather/rules.mk

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

* Update keyboards/pancake/promicro/rules.mk

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

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

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

* Update rules.mk

* Update rules.mk

* Update pancake.h
2019-08-30 17:49:48 -07:00
Mikkel Jeppesen
edc8283572 Removed prescaler define from avr i2c, as it was impossible to use (#6617) 2019-08-30 17:47:11 -07:00
gtips
b7ddf64b54 [Keyboard] Add keyboard Reviung39 (#6620)
* add keyboards/reviung39

* fix reviung39/keymaps/default/

* [Keymap] add keymap default_s for reviung39 type-s

* [keymap] fix default and default_s

* [keymap] remove backup directory(keyboards/reviung39/backup/)

* [keymap] Update readme.md

* [keyboards] fix keyboards/reviung39/reviung39.h, rules.mk, /keymaps/default/keymap.c

* [keymap] fix /default_s/keymap.c

* Update readme.md

* Update readme.md

* fix rules.mk

* [keymaps] fix default/keymap.c
2019-08-30 17:46:31 -07:00
Jonathan Rascher
9340b70b7e [Keyboard] Assorted personal keymap/layout updates (#6621)
* Switch Quefrency back to I2C (#6161 fixes the lag)

* Update Quefrency keymap

* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.

* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.

* Update KBD67 keymap

* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.

* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.

* Move Menu to a layer tap on the Fn key since that's a more natural
location.

* Update 60% Tsangan HHKB layout

* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.

* Update 60% ANSI split backspace/right-shift layout

* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.

* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.
2019-08-30 17:45:49 -07:00
Jonathan Rascher
733ec614d8 [Keyboard] Support flashing DZ60 with :flash command (#6624) 2019-08-30 17:44:47 -07:00
Jonathan Rascher
075495a792 [Keyboard] Support flashing Instant60 from command line (#6625) 2019-08-30 17:44:28 -07:00
Danny
feb1742061 [Keyboard] Add option to use 4x12 layout for Nyquist (#6633)
* Add option to use 4x12 layout for Nyquist

* Add 4x12 Nyquist support to configurator

* Add height to 4x12 configurator layout

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

* Remove QWERTY keycode

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-30 17:41:22 -07:00
Tobias V. Langhoff
2e9a096c46 [Keymap] Personal ISO-ish keymap for HHKB (#6632)
* Personal ISO-ish keymap for HHKB

* Fix keymap image
2019-08-30 17:40:24 -07:00
Nick Christus
06de8fd106 [Keyboard] Add Caravan keyboard (#6630)
* added caravan keyboard

* updates per PR review

* updated bootmagic setting

* updated LAYOUT

* updated imgur url
2019-08-30 17:39:35 -07:00
Drashna Jaelre
8de164e036 Fix Redefinition of OLED_TIMEOUT (#6628) 2019-08-30 16:55:47 -07:00
skullY
d217307747 consistency 2019-08-30 15:01:52 -07:00
skullY
1061c024d8 Add a note about clang-format to the changelog 2019-08-30 15:01:52 -07:00
skullY
ddb69d4d39 Merge point for 2019 Aug 30 Breaking Change 2019-08-30 15:01:52 -07:00
skullY
b624f32f94 clang-format changes 2019-08-30 15:01:52 -07:00
skullY
61af76a10d Hotfix: Reinstate the KC_DELT alias 2019-08-30 15:01:52 -07:00
skullY
39baa5e80d add lufa as a submodule 2019-08-30 15:01:52 -07:00
Drashna Jaelre
cf4575b94a Fix the LUFA lib to use a submodule instead of just files (#6245)
* Remove LUFA files

* Update descriptions for newer version of LUFA

* Create PR6245.md

* Fix CDC(Serial) type errors

* Fix missed merge conflict for AUDIO_DTYPE_CSInterface
2019-08-30 15:01:52 -07:00
Joel Challis
75ee8df19e Update Atreus to current code conventions (#5849)
* Update atreus to current code conventions - add multi revision instead of defines

* Remove config.h duplication from user keymaps

* Add breaking change log

* Add missing pragma once
2019-08-30 15:01:52 -07:00
fauxpark
3619678b10 Migrate ACTION_BACKLIGHT_* to BL_* (#6299)
* Branch point for 2019 Aug 30 Breaking Change

* LUFA USB descriptor cleanup (#4871)

* Fix indentation

* Fix braces

* Expand descriptor headers

* Align descriptor elements

* Nicer formatting

* Tidy up preprocessor statements

* Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418

* Tidy up comments

* Tweak ordering of  HID report elements (no functional changes)

* We don't need all of these newlines

* Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense

* Ask nicely

* Add some more comments

* Change indentation back to 4 spaces

* Add changelog entry

* Language Keymap extras backport from ZSA fork (#6198)

* Swedish extra keymap refactor

* Fix swedish $ sign definition (#81)

* Fix br abnt2 keymap compilation error

* Add PR changelog doc

* Update PR6198.md

* Enforce clang-format (#6293)

* Enforce clang-format on commit for core files

* forgot about tests

* Migrate ACTION_LAYER_MOMENTARYs to MO() (#5176)

* Migrate ACTION_LAYER_MOMENTARYs to MO()

* Add changelog entry

* Update docs/ChangeLog/20190830/PR5176.md

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>

* Migrate ACTION_BACKLIGHT_* to BL_*

* Add changelog

* Update docs/ChangeLog/20190830/PR6299.md

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-08-30 15:01:52 -07:00
Konstantin Đorđević
267a85c885 Remove KC_DELT alias in favor of KC_DEL (#6327)
* Remove KC_DELT alias in favor of KC_DEL

* Add changelog
2019-08-30 15:01:52 -07:00
skullY
7ff57644e1 Fix vusb compiling after clang-format 2019-08-30 15:01:52 -07:00
Drashna Jaelre
beb320a5c6 Fix Windows formatting issues
Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-08-30 15:01:52 -07:00
Drashna Jaelre
5a2a650730 Update swedish based keymaps with newer keycodes 2019-08-30 15:01:52 -07:00
skullY
691be16b23 Have clang ignore the code in bootloader_size.c 2019-08-30 15:01:52 -07:00
skullydazed
210da974a0 Add new files to the list of files that are formatted. (#6296) 2019-08-30 15:01:52 -07:00
fauxpark
554e4bf25c Migrate ACTION_LAYER_MOMENTARYs to MO() (#5176)
* Migrate ACTION_LAYER_MOMENTARYs to MO()

* Add changelog entry

* Update docs/ChangeLog/20190830/PR5176.md

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-08-30 15:01:52 -07:00
skullydazed
9e20478e6b Enforce clang-format (#6293)
* Enforce clang-format on commit for core files

* forgot about tests
2019-08-30 15:01:52 -07:00
Drashna Jaelre
51ee244906 Language Keymap extras backport from ZSA fork (#6198)
* Swedish extra keymap refactor

* Fix swedish $ sign definition (#81)

* Fix br abnt2 keymap compilation error

* Add PR changelog doc

* Update PR6198.md
2019-08-30 15:01:52 -07:00
fauxpark
ac16726895 LUFA USB descriptor cleanup (#4871)
* Fix indentation

* Fix braces

* Expand descriptor headers

* Align descriptor elements

* Nicer formatting

* Tidy up preprocessor statements

* Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418

* Tidy up comments

* Tweak ordering of  HID report elements (no functional changes)

* We don't need all of these newlines

* Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense

* Ask nicely

* Add some more comments

* Change indentation back to 4 spaces

* Add changelog entry
2019-08-30 15:01:52 -07:00
skullY
21df614a8e Branch point for 2019 Aug 30 Breaking Change 2019-08-30 15:01:52 -07:00
fauxpark
c27aa60c50 Make the CLI Ψ capital (#6637) 2019-08-30 10:23:36 -07:00
Drashna Jaelre
931e9bdbe4 Decrement EECONFIG magic number
This will manually wipe the EEPROM. This is a hacky solution for when new ranges are added or moved around. 

A better (more complicated) solution would be to zero out everything, not just known ranges.  But for now, this is a hacky solution that will work.
2019-08-27 20:32:36 -07:00
Yan-Fa Li
5ef7367e6c Wonderland: README (#6613)
* Wonderland README

breaks

* Wonderland info.json

* Update keyboards/maartenwut/wonderland/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-27 16:22:20 -07:00
Jorde Vorstenbosch
5c6c556933 [Keymap] default keymap fix for questionmark (redox, redox_w) (#6574)
* default keymap fix for questionmark

Added /? to the default position for a qwerty keyboard. Moved |\ to the left ctrl with the same behaviour as before.

* Small PR adjustments and Keypad optimization

* Update keymap.c

* Update keymap.c
2019-08-27 14:20:25 -07:00
Yan-Fa Li
d2ce12d15d pegasushoof Specify the bootloader to use :flash (#6614)
A support for newer :flash command to pegasus hoof
2019-08-26 11:08:18 -07:00
Drashna Jaelre
bc86eb2233 Fix Typo in :flash target for missing bootloader (#6615) 2019-08-26 10:16:46 -07:00
MechMerlin
f2d9f912b1 Mars80 Bug: Physical/Electrical Matrix Mismatch (#6612) 2019-08-26 13:46:35 +01:00
Gabes Mak
0b89809ac4 [Keymap] Redox_w Use layer_state_set_user instead of matrix_scan_user (#6608)
* use layer_state_set_user

* fix
2019-08-25 12:50:29 -07:00
XScorpion2
957070a6b5 Added OLED Display autoscroll during periods of OLED data inactivity (#6546)
* Added OLED Display autoscroll during periods of OLED data inactivity.

* Fixing compile errors

* Feedback from review
2019-08-25 12:37:55 -07:00
skullydazed
f22c5c17b6 Refactor qmk compile-json to qmk compile (#6592) 2019-08-25 11:58:24 -07:00
Ethan Madden
c289a4cb20 RGB Inidcator example for new van pcbs (#6544)
* RGB Inidcator example for new van pcbs

* simplify config.h

As per @drashna in CR
2019-08-25 08:43:47 -07:00
Jonathan Rascher
cbe1af47de Add new 60% Tsangan HHKB layout (#6607) 2019-08-25 08:40:32 -07:00
Yan-Fa Li
f6da00b85d [Keyboard] Maartenwut Wonderland PCB (#6492)
* Initial Commit

* ID

* Use current manu name

* Fix define DEBOUNCE

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

* Fix NUM Lock LED detection

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

* Fix CAPs LED detection

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

* Fix Scroll Lock LED detection

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

* Use correct convention for setting pins

* Move folder to maartenwut

 - enable velocikey

* Fix columns size

* Sync with homerowco

* Add Keebs keymap

* Best practices

* Latest keymap changes from homerowco
2019-08-24 23:44:20 -07:00
Yan-Fa Li
43b0309970 Add 2015 revision of Pegasus Hoof to QMK (#6595)
* Add 2015 revision of pegasus hoof to QMK

* Add different version strings

* Fix ansi tkl layout

 - temporary JIS mapping, I can't test this as I don't have the hardware

* Reverse engineer JIS layout macro for 2015 Pegasus Hoof

* Linting on 2013.h

* Add more resources to readme

* Update keyboards/bpiphany/pegasushoof/2013/config.h

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

* Update keyboards/bpiphany/pegasushoof/2015/config.h

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

* Update keyboards/bpiphany/pegasushoof/readme.md

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

* Update keyboards/bpiphany/pegasushoof/readme.md

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

* Try to use core debouncing code

* return changed

* Use helpers
2019-08-24 13:10:36 -07:00
MechMerlin
caab1d0303 [Keyboard] New Keyboard: EVE Meteor (#6565)
* initial commit

* Add the correct pins and ordering

* create an appropriate keymap macro for the board

* add an appropriate LAYOUT macro

* add a keymap that fits the LAYOUT layout macro

* add QMK Configurator support

* add missing pin D7 and LAYOUT_all

* fix my mistake when I added an extra key to the electrical matrix instead of the physical one

* add qmk configurator support for LAYOUT_all

* Update keyboards/eve/meteor/readme.md

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

* Update keyboards/eve/meteor/rules.mk

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

* use the default names so BMC still works

* remove mcu rules as per resolution of 6253
2019-08-24 09:44:04 -07:00
Jack Humbert
e243afe23e updates the coc 2019-08-24 12:43:39 -04:00
Stefano
c9c33978ce [Keymap] a keymap to "transform" a jj40 info a simil Alpha28, to enjoy its simplicity and power (#6599) 2019-08-24 09:08:54 -07:00
Danny
2c8d8be718 [Keyboard] Add JNAO keyboard (#6598)
* Add JNAO keyboard

* Use layout macro for default_4x12

* Add bakingpy keymap

* Add info.json data

* Remove bakingpy keymap from jnao, add ortho_4x12 layout fetching

* Clear up default keymaps
2019-08-24 09:06:27 -07:00
Iain King
70329b4fbb [Keymap] ISO keymap for TADA68 with programming in mind (#6597)
* Layout with better use of navigation keys

* Update keyboards/tada68/keymaps/onelivesleft/config.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-24 09:02:37 -07:00
kuchosauronad0
2ef6bbbf5f [Keymap] Update to userspace kuchosauroand0 (#6596)
* added combos

* minor adjustments, added combos

* Add second encoder, add modifiers to encoders

Added a skeleton for the possibily having a second encoder.
Added 9 modifiers for the first rotary encoder:

- None
  General navigation. Page up/down
- SHIFT
  Fast navigation. Home/end
- CTRL
  Vertical navigation. Up/down
- CTRL+SHIFT
  Horizontal navigation. Left/right
- ALT
  Audio volume control.
- GUI
  Browser navigation(windows). Forward/backward
- ALT+SHIFT
  Form navigation. Tab up/down
- ALT+CTRL
  Media control. (Play|pause)/mute
- HYPER
  Media navigation. Next/prev track

Key codes are stored in `uint16_t encoder_actions[2][9]`

* Add second encoder, add modifiers to encoders

Added a skeleton for the possibily having a second encoder.
Added 9 modifiers for the first rotary encoder:

- None
  General navigation. Page up/down
- SHIFT
  Fast navigation. Home/end
- CTRL
  Vertical navigation. Up/down
- CTRL+SHIFT
  Horizontal navigation. Left/right
- ALT
  Audio volume control.
- GUI
  Browser navigation(windows). Forward/backward
- ALT+SHIFT
  Form navigation. Tab up/down
- ALT+CTRL
  Media control. (Play|pause)/mute
- HYPER
  Media navigation. Next/prev track

Key codes are stored in `uint16_t encoder_actions[2][9]`

* Clean up; added combos

Combos:
- CV: Copy
- XC: Cut
- ZV: Paste
- QP: KC_SLEEP

* Fix LEADER_DICTIONARY to be more useful

* Add documentation

* Minor fixes

* Raise TAPPING_TERM

* testing

* Rearrange modifiers

* Fix kc being stored in uint8 instead of uint16

* Update documentation

* Clean up

* Remove excess comments

* Put encoder_actions in progmem
2019-08-24 09:01:12 -07:00
Joel Challis
51bcadf38c Add 'bootloadHID' flash target (#5587)
* Add 'bootloadHID' flash target

* Prep for flash target

* Add :flash support

* Align bootloader wait messages

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

* Update template to suggest use of :flash
2019-08-24 08:35:11 -07:00
fauxpark
fb7c65dc34 Add Zadig 101 to docs (#6585)
* Add Zadig 101 to docs

* Add USBasp bootloader name

* Add links to the page

* Note the usual VIDs and PIDs for the bootloaders

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

* Talk about keyboard-specific bootloader procedures

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

* Halfkay bootloaders are also an exception here
2019-08-23 23:38:21 -07:00
Drashna Jaelre
064d9da93e Add Soft Serial Speed to Diverge3 keyboard config for compatibility (#5076) 2019-08-23 22:23:53 +01:00
Elias
e0f91f37c4 Added 4by3 keyboard (#6547)
* Added 4by3 keyboard

* Added DEVICE_VER and DESCRIPTION

* Removed F_CPU, F_USB, ARCH, and OPT_DEFS

* Add 3 new LAYOUT macros for orientations and fixes

* Apply suggestions from code review

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

* Added comments to 4by3 and changed info.json

* Update keyboards/4by3/4by3.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-08-23 14:18:37 -07:00
Joel Challis
ae44ec9820 Align flashing behaviour of dfu-util (#6578)
* Align flashing retry logic of dfu-util

* Align bootloader wait messages

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-22 16:08:45 -07:00
Joel Challis
1c805b3d00 Relocate pca9555 driver to core (#6563)
* Move pca9555 files to central location

* Get pca9555 boards compiling

* Slight alignment of rules.mk
2019-08-22 15:27:18 +01:00
Drashna Jaelre
a20e6aa022 Reduce compile size to fix various Travis CI errors (#6426)
Due to feature creep
2019-08-22 01:59:37 -07:00
Drashna Jaelre
b5ee6c200c Fixup Bootmagic code (#6386) 2019-08-22 00:22:32 -07:00
Chris Dosé
8a2e328a33 [Keyboard] Fix RGB_TOG cycle for Massdrop CTRL default keymap (#6056)
This includes the modifier keys in "keys only" mode, bringing the keymap
closer to what the off-the-shelf firmware does.
2019-08-21 17:47:45 -07:00
madivad
129e4d1b2f [Docs] Update how_keyboards_work.md (#6528)
* Update how_keyboards_work.md

bridged the gap between scancodes and keycodes, the doc didn't make the distinction and was ambiguous.

* Update docs/how_keyboards_work.md

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

* Update docs/how_keyboards_work.md

fix typo

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-21 17:44:37 -07:00
fauxpark
fcf87370a8 [Keyboard] Update NovelPad (#6559)
* Update NovelPad

* Lowercase readme

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

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

* Remove default F_CPU, F_USB, ARCH, and OPT_DEFS - covered in mcu_selection.mk
2019-08-21 17:41:29 -07:00
kakunpc
63b96c34ce [Keyboard] new keyboard "angel17" (#6542)
* add angel17 keyboard

* fix rules.mk

* change BOOTLOADER

* set LAYOUT_numpad_5x4

* Update keyboards/angel17/rules.mk

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

* fix LAYOUTS = numpad_5x4

* update info.json
2019-08-21 17:40:37 -07:00
Drashna Jaelre
94efa18c28 [Keyboard] Updates to ZSA boards (#6513)
* Update Layer functions to use layer_state_t in ZSA Boards

* Update Music Mask for ZSA boards

Fixes an issue with the board getting stuck on Adjust layer when activating music mode

* Add Support for SMART LED Toggle to Planck EZ

* Add support for SMART LED toggle in Ergodox EZ

* Ifdef swiss cheeze for Oryx Configurator

* Documentation and updates

* Add Oryx Keymap

* Add option to configure the layers for the Layer Indicator

* Update keymap with better examples

* Make sure eeprom is initialized before reading from it

* Force flush of LED matrix when suspending board

This fixes an issue where the LEDs don't fully clear sometimes when the host system goes to sleep

* Enable RGB Sleeping by default

* Add clarification about planck ez led layer config
2019-08-21 17:19:07 -07:00
Takeshi ISHII
1c5b0cbbeb AVR GPIO macro defines more readable (#5937)
* A little easier to read the definition of the GPIO control macro for AVR.

No change in build result.

* Changed to not use GNU statement expression extension.

No change in build result.

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

No change in build result.

* fix PE6 -> E6

* remove some space

* add some comment to config_common.h

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

* Replace biton32 with get_highest_layer in docs

* Change additional layer structure code

* Fix uGFX reference issue

* Remove dynamic_keymap check

* Where did all these extra spaces come from

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

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

* Fix issues with pull request #6110

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

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

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

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

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

* Extend Magic range check to include new magic codes

* Update audio docs

* Combine 2 byte ranges into 1 word for EECONFG

Fix names for Keymap config EEPROM

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

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

* Update docs/feature_bootmagic.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-21 17:07:08 -07:00
Drashna Jaelre
6a79b05cf0 [Keyboard] Tweak RGB Matrix timing for ZSA Boards (#6422)
* Optimize RGB Matrix rendering for Ergodox EZ

* Optimize RGB Matrix rendering for Planck EZ

* Update keyboards/planck/ez/config.h

Co-Authored-By: Joel Challis <git@zvecr.com>
2019-08-20 22:39:13 -07:00
fauxpark
f2c179de58 Remove superfluous JTAG disable code (#6445)
* Remove superfluous JTAG disable code

* 32A has differently named register

* Accidentally some operators

* 32A also has different JTAG pins

* Wrap disable_jtag() in an ifndef

* Document this new define

* Rename the define, it conflicts with a LUFA thing

Also, move the ifndef wrapping to the call in keyboard_setup()
2019-08-20 22:18:52 -07:00
imchipwood
977c316eb1 [Keymap] dumbpad updates, new keymap (#6481)
* removed some debug prints

* removed unnecessary files, tweaked some things

* rotary encoder button now connected into column 0, row 3

* tweaked keymap and moved encoder control into keymap

* tweaks

* added test keymap

* updated some things to make it easier to work with QMK configurator

* updates after merging latest master in

* fixed a few things

* removed test keymap and all related #ifdefs

* changed some dumbpad default keys, added KC_LOCK

* added image to readme

* added link to PCB github repo

* moved lock key to the rotary encoder pushbutton

* making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452

* adding bootmagic lite since i'm lazy and haven't soldered on the reset button...

* renamed  to

* using 7 underscores for KC_TRNS

* adding my layout (default is for wife)

* updated my own layout, tweaked default keymap to use cleaner switch for encoder control

* removed commented out import from imchipwood keymap, removed unnecessary comment from default layout

* added LED layer control

* flash the layer indicator LEDs at startup

* change layer_state_set_user to layer_state_set_kb

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

* in layer_state_set_kb, return layer_state_set_user

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

* remove include of upper level config.h, add pragma once

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

* changing default keymap slightly, added config.h for default layout

* change _delay_ms to wait_ms

* replaced locking numlock with numlock

* Update keyboards/dumbpad/dumbpad.c

change `keyboard_pre_init_user` to `keyboard_pre_init_kb`

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

* Update keyboards/dumbpad/dumbpad.c

adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()`

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

* fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control
2019-08-20 22:08:30 -07:00
noroadsleft
367eac2229 [Keyboard] PCB Ruler updates (#6584)
* Move default keymap's rules to keyboard level

* Concatenate the two sets of rules

This sets CONSOLE_ENABLE to no, which was being set at the keymap level.

* Wrap the USB Device Description in quotes

Some preventative maintenance. The firmware for the_ruler can't be compiled without this change if `CONSOLE_ENABLE = yes` because this string has a comma, which gets picked up as two arguments by the Command code, instead of one as it should be.

* Linting

- remove firmware size impacts
- remove trailing white space
- visual alignment of rules

* Use QMK's pre-loaded default rules for atmega32u4

* Update readme

- markdown formatting
- update Hardware Availability link (Maple Computing's site has disappeared)
- update Docs links

* Update header files to use #pragma once
2019-08-20 21:57:45 -07:00
Sid Carter
5fca6c0120 [Keymap] Add velocikey, move reset and align layout (#6569) 2019-08-20 21:33:06 -07:00
mikethetiger
42f2ad96a3 [Keymap] mikethetiger's let's split eh? keymap (#6562)
* Added my Preonic keymap

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Added my Preonic keymap

* Added my Preonic keymap

* mikethetigers lets slpit eh keymap
2019-08-20 21:22:54 -07:00
Ceremony
a0f248c20e Implement NUMLOCK indicator light for XD96 (#6581) 2019-08-21 02:26:00 +01:00
fauxpark
9bb4e63a11 Remove old promicro_bootloader_jmp() declarations (#6444) 2019-08-21 02:05:08 +01:00
Drashna Jaelre
4003d077ce Add a universal flash command for cli (#6224)
* Add universal flash command

* Add bootloader info to I:C boards

* Add support for ATSAM

* Add messages for flash target

* Message cleanup

* Add USB ASP Flashing target

* Make usbasp target more universal

* Add phoney target for usbasp

* Clarify error message when bootloader isn't matched
2019-08-20 15:39:24 -07:00
Drashna Jaelre
91ee6a1dbb [Docs] Add RGB Matrix default mode define info (#6564) 2019-08-19 15:03:05 -07:00
fauxpark
92f9b6c3bd Add ATmega32U2 to mcu_selection.mk (#6561) 2019-08-17 14:29:41 -07:00
fauxpark
ddaf37ffa9 Reword a note about the MANUFACTURER and PRODUCT defines in hardware_avr.md (#6558) 2019-08-17 11:41:55 -07:00
kuchosauronad0
683605a9dc Userspace kuchosauronad0 (#6541)
* initial commit

* Update layout. Tweak rules.mk

* initial userspace configuration for kuchosauronad0

* modified userspace for kuchosauronad0

* added OSL_UNI

* clean up

* clean up

* style

* style

* added more unicode

* fixed representation

* fixed representation

* added comments

* added comments, restructure

* accidently one line

* restructure

* restructure

* added git_lazy(void)

* fixed indenting and added missing symbols

* fixed indent

* fixed indent

* update

* change tapping_term to 150

* added UNICODEMAP_ENABLE block

* replace register with tap_code where possible

* formatting

* rearrange sequences

* clean up

* clean up

* added unicode layer

* disabled tap dance

* add files for encoder

* removed unnecessary include

* removed unnecessary stuff
2019-08-17 08:19:35 -07:00
Mark Stosberg
c178bbf2e5 Illustrate the emoji layer (#6555)
Now the Emoji layer is easier to visualize.
2019-08-17 08:18:40 -07:00
fauxpark
802c575506 Remove backslashes from template keymap (#6548) 2019-08-17 00:29:00 -07:00
Dong Zhou
848f3713ad [Keymap] add niu_mini custom keymaps (#6552) 2019-08-16 17:56:15 -07:00
ridingqwerty
0c03811d6a [Keymap] add "ridingqwerty" user and keymap for atreus keyboard (#6533)
* add userspace and atreus keymap

* cleaning up notes/comments

* Update keyboards/atreus/keymaps/ridingqwerty/atreus.c

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

* Update keyboards/atreus/keymaps/ridingqwerty/atreus.c

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

* Create readme.md

* remove reference to matrix_init_kb from atreus.c

* correct atreus.c

* remove unnecessary defines

* merge register/unregister sequence into single tapcode

* move 'LAYOUT to keymap.c; remove atreus.h

* remove TAPPING_TERM from keyboard-level config.h
2019-08-16 16:54:16 -07:00
Danny
36dd261d06 Add support for different encoder pinout for right half of split keyboard (#6521)
* Add support for different encoder pinouts for split keyboard

* Update documentation for new encoder pinout feature
2019-08-16 16:46:41 -07:00
Konstantin Đorđević
61b5914a80 Fix Clueboard hotswap gen1 not compiling when LED Matrix is disabled (#6427)
* Fix Clueboard hotswap gen1 not compiling when LED Matrix is disabled

* Move keymap.json to default keymap folder

* Revert "Move keymap.json to default keymap folder"

This reverts commit 7f28df909d.
2019-08-16 16:29:29 -07:00
Joel Challis
9813a6f950 Add an alternative method for keyboard discovery to speed up build (#6073)
* Add an alternative method for keyboard discovery to speed up build

* Chain MAKEFLAGS for docker_build.sh

* Slight improvement to number of items sent to sort

* Remove debug line

* Fix line escape
2019-08-15 22:03:26 +01:00
Joel Challis
fadb69e203 Refactor of lets_split_eh to enable RGB split animations (#6411) 2019-08-15 22:01:34 +01:00
Joel Challis
ee8d9bd40a Remove duplicate test keyboards (#6539)
* Remove test keyboards now onekey and splittest have been extended

* Add f072 for testing
2019-08-15 06:57:43 -07:00
Joe Wasson
d578aaefcd [Keymap] Fix include following Wilba refactor (#6538) 2019-08-14 12:31:18 -07:00
fauxpark
75b28225db [Keymap] Cosmetic fix for default Wasdat keymaps (#6531) 2019-08-14 12:18:30 -07:00
Vince Gellár
5d23fb1e3a [Keymap] Xd75 bulbizarre keymap (#6525)
* Added Bulbizarre keymap for the XD75

* Fixed no newline at the end of file

* Update keyboards/xd75/keymaps/bulbizarre/readme.md

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

* Update led status check

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

* Remove unnecessary define

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-08-14 12:10:44 -07:00
Joel Challis
d14ef52b80 [Keymap] Update gherkin to use gpio (#6520) 2019-08-14 12:08:01 -07:00
Joel Challis
41482e02a6 [Keyboard] Align xd84 and xd96 with moon (#6465)
* Refactor xd84 to use LINK_TIME_OPTIMIZATION_ENABLE

* Refactor xd96 to use LINK_TIME_OPTIMIZATION_ENABLE

* Align xd84 and xd96 with moon

* Update keyboards/xd96/rules.mk

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

* Update keyboards/xd84/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-14 12:07:26 -07:00
Drashna Jaelre
547fbe769c Enable PWM Support for Planck EZ Indicator Lights (#6473)
* remove led layer code

* enable PWM on STM32F303

* Unusable PWM code

* Updated PWM Stuff?

* PWM Semi-working

* Both LEDs working at the same time

* Update names

* Add led level functions

* Add LED levels and persistent settings

* Revert change due to issues with timing related code

* Review feedback and minor cleanup
2019-08-13 10:28:12 -07:00
John M Daly
5004562441 [Keyboard] Add: Initial steamvan firmware code (#6501)
* Add: Initial steamvan firmware code

* Apply suggestions from code review

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

* Update: Remove old macro commands, per reviewer comments

* Apply suggestions from code review

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

* Update: Remove redundant backlight struct

* Update: Replace preprocessor defines with enum
2019-08-13 10:26:54 -07:00
Seth Barberee
0ec0d29e9f [Keymap] Adding my userspace and keymaps (#6496)
* add Userspace and keymaps

* Adding keymaps for zeal60 and iris
* Created my own tap dance that toggles RGB Mode based on whether I toggled caps lock or not

* parent 578ed42a7f
author Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500
committer Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500

move to userspace

add zeal60

* update based on review

* move userspace to github name
2019-08-13 10:25:51 -07:00
Joel Challis
d8d2a09674 Fix LT() crashing some ARM keyboards (#6529) 2019-08-13 10:23:14 -07:00
Jarred Steenvoorden
576b138c6e Add romac keymap (#6523) 2019-08-12 19:57:00 -07:00
くまお工房
38ad0d2673 Modified imcomplete keymap for kudox jis. (#6524) 2019-08-12 19:56:25 -07:00
George Petri
ed65881565 update arrows on lower layer (#6517) 2019-08-10 16:08:53 -07:00
Luciano Malavasi
b93e1309e5 [Keyboard] Add meson keyboard (#6482)
* Add meson keyboard

* Apply suggestions from code review

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

* Added soft reset and layer 3

* bootmagic light

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-09 18:38:13 -07:00
Sascha Grunert
9114d6ebe9 Update keymap (#6515)
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-08-09 17:20:43 -07:00
Florian B
c0e6734d3f [Keymap] removes gamelayer, finally got rgb working (#5817)
* removes gamelayer, finally got rgb working

* lowercasing readme

* changed to layout_ortho_4x12

* rules.mk: Removed BACKLIGHT_CUSTOM_DRIVER
2019-08-08 14:17:49 -07:00
fauxpark
406f03bb0c Mask off TD() parameter properly (#6143)
* Mask off TD() parameter properly

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

* Remove boilerplate from templates

* Relax INTERRUPT_CONTROL_ENDPOINT and PROGRAM_CMD

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-08 14:09:54 -07:00
fauxpark
2f6c068e0d Extend allowed range of tappable keycodes to include modifiers (#5809)
* Extend allowed range of tappable keycodes to include modifiers

* Get rid of the magic numbers altogether

* Remove some more magic numbers

* Extract LM() functionality from ACT_LAYER_TAP

* Use ACTION() macro everywhere
2019-08-08 13:58:05 -07:00
fauxpark
2a534e87ac Rename QK_TMK(_MAX) to QK_BASIC (#6509) 2019-08-08 13:32:30 -07:00
x1
f3e73965f0 [Keymap] Add kudox japanese keymap (#6508)
* Add a JIS keymap for kudox.

* Remove unnecessary codes.
2019-08-08 13:30:21 -07:00
Daniel Shields
b4c03070de [Keymap] Fix rgb matrix effects on dshields keymaps. (#6505) 2019-08-08 13:21:54 -07:00
fauxpark
4d72aa428f Improve backlight PWM pin support (#6202)
* Improve backlight PWM pin support

* I accidentally an equals sign

* Another typo

* Order by pin number

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

* Use else for clarity

* Minor alignment adjustments
2019-08-08 13:12:12 -07:00
Michael Clayton
57540af102 Change "yu" to "you" in combo docs (#6510) 2019-08-08 18:10:16 +01:00
MechMerlin
2c0c25d014 Move Alice to TGR Directory (#6502)
* git mv alice into the tgr directory

* update readme with new build instructions
2019-08-07 19:02:27 -07:00
noroadsleft
8479dd65d4 [Keyboard] Southpole: add Configurator layout data (#6498) 2019-08-07 19:00:45 -07:00
skullydazed
3cb28bbe42 Use the older universal_newlines name instead of text (#6506) 2019-08-07 12:00:46 -07:00
dsanchezseco
74d7d232e3 added missing comment of RGB control keys planck/rev6 (#6503) 2019-08-07 08:06:42 -07:00
Matthew Treadwell
340c3abc28 Update gaming layout (#6504) 2019-08-07 05:56:03 -07:00
Zach DeCook
009d45d4d7 MIDI: Fix basic noteon: send correct velocity (#6476) 2019-08-06 11:26:28 -07:00
fauxpark
59d3b37130 Fix qmk_install.sh on Windows dropping to command prompt (#6488) 2019-08-06 11:20:53 -07:00
jotix
a6701c28d2 [Keymap] Jotix ortho_4x12_layout (#6497)
* jotix ortho_4x12_layout

* jotix ortho_4x12_layout

* kc_caps in raise layer
2019-08-06 10:50:28 -07:00
MechMerlin
98b237a21b [Keyboard] New Keyboard: Booster (#6486)
* initial commit

* port over the kbfirmware json

* add numpad_5x4 LAYOUT support

* fix up layout macro to allow community layout support

* add a sparse readme on how to contact Percent Studio

* change .h to a .md file

* fix firmware file too large error

* Update keyboards/percent/booster/info.json

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

* Update keyboards/percent/booster/info.json

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

* Update keyboards/percent/booster/info.json

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

* Update keyboards/percent/booster/info.json

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

* Update keyboards/percent/booster/info.json

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

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

* Update keyboards/percent/booster/keymaps/default/keymap.c

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-06 10:38:28 -07:00
Jeremy Bernhardt
07bdc8f4b7 [Keyboard] Added little fixes and bootmagic for gBoard keebs (#6477)
* Added little fixes and bootmagic

* Update keyboards/gergo/keymaps/oled/rules.mk

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

* whacked out quantum_libs
2019-08-06 10:20:48 -07:00
Yoshitake Hamano
ae934c389e [Keymap] hhkb:halfqwerty_jp (#6475) 2019-08-06 10:18:44 -07:00
Branden Byers
6b27ebefc6 [Keyboard] Add cKeys' "The Dora" Board (#6469)
* Initial 4x5

* More board

* Update exboard

* Update

* Change name to thedora

* Update keyboards/ckeys/thedora/keymaps/default/keymap.c

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

* Update keyboards/ckeys/thedora/config.h

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

* Remove the slash

* Attempt at fixing moxygen line break issues

* Update keyboards/ckeys/thedora/config.h

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

* Add boilerplate

* Update keyboards/ckeys/thedora/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-06 10:17:59 -07:00
kakunpc
f54e47c79d [Keyboard] Fixed Suihankey info.json (#6466)
* fix info.json

* Update keyboards/suihankey/info.json
2019-08-06 10:17:00 -07:00
x1
9587fac72a [Keyboard] Add kudox keyboard (#6459)
* Add Kudox Keyboard profile.

* Modified info.json and image link on readme.

* Remove unnecessary codes.

* Set BootLoader caterina.

* Remove duplicated settings on rules.mk.

* Clean up config.h.

* Modified include header path.

* Modified info.json to adjust 4th row keys y position.

* Separate default keymap and my keymap.

* Modified RGB_LED_* settings on kudox/rev1/config.h.
2019-08-06 10:14:40 -07:00
x1
e5831d79c0 [Keyboard] Add kudox game keyboard (#6460)
* Add configurations for Kudox Game Keyboard rev1.

* Modified Kudox Game Keyboard readme and keymap.

* Remove unnecessary codes.

* Set BootLoader caterina.

* Remove wrong settings on rules.mk.

* Clean up config.h.

* Modified MATRIX_ROWS on kudox_game/rev1/config.h.

* Modified RGB_LED_NUM on kudox_game/rev1/config.h.
2019-08-06 09:16:55 -07:00
noroadsleft
d967d3a6b5 Correct info.json data for Hnah40 handwired (#6489) 2019-08-06 09:15:48 -07:00
coseyfannitutti
620fcf12e8 Update info.json - discipline (#6483)
* Update info.json

* Update readme.md

* Update keyboards/coseyfannitutti/discipline/info.json

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-06 08:35:29 -07:00
Sid Carter
cacfaedb81 new keymap for projectkb alice (#6491)
* new keymap for projectkb alice

* update documentation for resetting PCB

* actually need a grave key more than a tilde

* move DFU_ARGS to top level

* cleanup unused keycodes and others

* align with typical ergo layouts.  move enter and keep function layer reachable
2019-08-06 08:33:56 -07:00
Maarten Dekkers
209b6baaa8 Move maartenwut's keyboards to one folder (#6484) 2019-08-05 20:12:06 -07:00
MechMerlin
7f8922ae7b GH60 Refactor: Move Satan into GH60 directory (#6485)
* Move Satan into the GH60 directory to avoid the confusion of what PCB people have

* set bootmagic to lite

* rename gh60 file to revc
2019-08-04 23:06:33 -07:00
fauxpark
72f382fc02 Remove unused _BOOTLOADER defines 2019-08-04 20:46:57 -07:00
coseyfannitutti
430c37024e [Keyboard] add keyboard-discipline (#6464)
* add keyboard-discipline

* move discipline to /coseyfannitutti

* Update readme.md

* Update keyboards/coseyfannitutti/discipline/discipline.h

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

* Update keyboards/coseyfannitutti/discipline/discipline.h

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

* Update keyboards/coseyfannitutti/discipline/info.json

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

* Update keyboards/coseyfannitutti/discipline/keymaps/coseyfannitutti/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/info.json

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

* Update keyboards/coseyfannitutti/discipline/keymaps/67_ansi/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/keymaps/67_ansi/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/keymaps/coseyfannitutti/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/keymaps/default/keymap.c

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

* Update keyboards/coseyfannitutti/discipline/readme.md

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

* Update keyboards/coseyfannitutti/discipline/rules.mk

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

* Update readme.md

* Update keyboards/coseyfannitutti/discipline/discipline.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-08-03 21:37:26 -07:00
Garrett Singer
f644db042c [Split] Add config option for DIRECT_PINS_RIGHT (#6479)
Adds support for different direct pin mappings on the halves of a split keyboard.
2019-08-03 21:26:02 -07:00
zunger-humu
465acd4d09 [Keymap] Add some more commonly used symbols to melody96/zunger. (#6478) 2019-08-03 21:25:05 -07:00
Wilba
9ae874e0c3 [Keyboard] WT75-A & WT75-B fixes for QMK Configurator (#6472)
* Fixed QMK Configurator layout

* Added WT60-D
2019-08-03 21:11:28 -07:00
dsanchezseco
0261bf3e30 [Keymap] update to dsanchezseco keymap (#6470)
* cleanup and start sound

* clean up adjust and ptrscrn
2019-08-03 21:10:34 -07:00
tucznak
586bd92ea7 [Keymap] Fixed Tanuki RGB lighting (#6462) 2019-08-03 21:01:14 -07:00
ai03
d68d510473 Add iS0 Keypad (#6456)
* Start progress

* Build firmware

* Prepare for pullreq

* Add a keymap

* Update keyboards/illuminati/is0/rules.mk

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

* Update keyboards/illuminati/is0/info.json

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-01 10:03:07 -07:00
jotix
ac20e7e3f2 [Keymap] jotix ortho_4x12_layout (#6458)
* jotix ortho_4x12_layout

* jotix ortho_4x12_layout
2019-08-01 09:51:51 -07:00
MechMerlin
a2d61d76fa [Keyboard] New Keyboard: KBDPad MKI (#6452)
* initial commit

* define pins used and matrix size

* update readme

* delete un needed files

* make an appropriate switch matrix

* create appropriate keymap

* one little typo

* add QMK Configurator support

* Update keyboards/kbdfans/kbdpad/mk1/info.json

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-08-01 09:39:03 -07:00
Brian L
17eea779df [Keymap] Adds Keymap for Iris/blucky (#6449)
* Adds Keymap for Iris/blucky

* code review changes

* removed custom define

* removed mistyped character
2019-08-01 09:36:00 -07:00
XScorpion2
f1cebc9d9d [Keymap] Fixing Sol Rev2 default keymap OLED rotation. (#6448) 2019-08-01 09:34:51 -07:00
noroadsleft
9609ae60a6 [Keyboard] QWERTYYdox refactor (#6446)
* Delete null key

`__` key in keymap.c doesn't actually exist on the physical hardware.
Removed key from keymap.c and removed its argument from the layout macro.

* Delete unused keycode aliases

* Replace layer index definitions with an enum

* Replace redundant numpad keycodes with native aliases

* Use native layer change keycodes instead of aliases

* Visually align the keycodes

It makes the keymap pretty.

* Correct Configurator layout data

* Clean up header files

- convert to pragma once include guard
- remove redundant definitions
- remove commented code blocks

* Delete LAYOUT_kc macro

Was copied from ergotravel; not valid for this keyboard.

* Consolidate rev1 rules.mk settings to keyboard level

Previous codebase enabled Backlight at keyboard level then disabled it at revision level.

* Delete unused rules

* Consolidate config.h settings from keymap level to keyboard level

* Modernize keyboard's config.h file

Aligns the keyboard-level config.h file more closely with the current QMK template for AVR keyboards.
2019-08-01 09:33:13 -07:00
Mazin Power
2a9856dff0 [Keymap] Adds keymap for muzfuz/lunar (#6432)
* Adds keymaps for muzfuz

* Remove unused keys from adjust layer

* Bring in line with current QMK standards.

* Adds Preonic and adjusted Planck keymaps

* Make changes per review request

* Lunar config

* Formatting

* Update keyboards/ai03/lunar/keymaps/muzfuz/readme.md

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

* Remove unneeded recipe
2019-08-01 09:21:20 -07:00
Joel Challis
b567785345 [Docs] Add dfu-util and caterina udev examples (#6429) 2019-08-01 09:20:31 -07:00
Elliot Powell
9177c6fedd updates to akb/raine in ready for production units (#6457)
* Raine Update

* Update keymap and usb setting

* Update info.json

added wk support to info.json
2019-07-31 17:49:27 -07:00
Jake Grossman
13493d3a78 Removed print call to resolve #6364 (#6413)
* Change print to dprintf to avoid buffer overflow

* Add stdio header for dprintf

* Fix included headers
2019-07-31 06:11:40 -07:00
Rasmus Lindroth
2f3807682d Fix typo for building Ergodox EZ keyboards (#6453) 2019-07-31 06:08:25 -07:00
Chuck Lauer Vose
4c4850f32a Add personal 1up60HSE layout (#6451) 2019-07-31 06:07:05 -07:00
Mark Stosberg
48cc61b188 Update msiu's xd75 keymap README to be accurate (#6443) 2019-07-30 23:59:46 +01:00
Spaceman
45950bb3b6 [Keyboard] 2% Milk addition (#5796)
* Create README.md

* Update README.md

* Create info.json

* Create config.h

* Create rules.mk

* Create 2_milk.c

* Create 2_milk.h

* Create keymap.c

* Create README.md

* Create config.h

* Update info.json

* Update config.h

* Update rules.mk

* Update 2_milk.h

* Update 2_milk.c

* Delete config.h

* Update keymap.c

* Update rules.mk

* added pragma once

* Add files via upload

* Update keyboards/2_milk/rules.mk

Co-Authored-By: Rionlion100 <rionlion100@gmail.com>

* Update config.h

* changed default to OSU!

* Create README.md

* Update README.md

* Create keymap.c

* Update keymap.c

* Create README.md

* Create keymap.c

* Update keymap.c

* Update keymap.c

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* fixed pins for PCB revision

* fixed maybe

* Create README.md

* add mouse keymap

* added ExcessBread's keymap

* Update README.md

* Create keymap.c

* Create README.md

* Create keymap.c

* Update rules.mk

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Update keyboards/2_milk/config.h

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

* Update keyboards/2_milk/rules.mk

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

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Update info.json

* Add files via upload

* Update readme.md

* fix copyright

* Update 2_milk.c

* Update 2_milk.h

* Update rules.mk

* Update rules.mk

* Update config.h

* Update config.h

* Update feature_bluetooth.md

* Update feature_bluetooth.md

* Update readme.md
2019-07-30 15:24:11 -07:00
Mario Arias
a8427447bc [Keymap] ErgoDox EZ Spanish Colemak (#6258)
* keyboard

* documentation

* address PR comments #1

* address PR comments #2
2019-07-30 01:13:08 -07:00
tuesdayjohn
046fb11259 [Keymap] Added keymap folder matching username to rorschach; added readme to old keympa (#5970)
* Added keymap folder matching username; added readme to old keymap

* Update config.h
2019-07-30 00:22:44 -07:00
noroadsleft
77a1c75cf6 [Keyboard] Add AMJ66 keyboard (#5945)
* Added nearly perfect config for AMJ66, only missing top right key.

* Correct the layout macro

* Add layout mock-up to amj66.h

* Update and comment out the backlight definitions in config.h

The backlight pin was found to be D4, but there appears to be a bug in QMK that affects this keyboard.

Commenting out for now.

* Try to make a sensible default keymap

* Add testing keymap for FSund

Include the keymap that was being used for testing.

Don't forget to refactor this later into an actually useful keymap.

* Suggestions by fauxpark

- uncomment the backlight configuration
- fix the default keymap
- remove commented MCU rule
- specify the bootloader
- make mental note to not try to write code at 3:30 in the morning

* Add LAYOUT_66_ansi and LAYOUT_66_iso macros

- include QMK Configurator data
- enable Community Layout support

* Add comments about layout variants to amj66.h

* Add #define BACKLIGHT_ON_STATE 1

Partial fix for backlight breathing.

- Requires #5983 to fix fully (confirmed by FSund and fauxpark)

Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: Filip Sund <filip.sund@gmail.com>

* DEBOUNCING_DELAY -> DEBOUNCE

* Move AMJ66 files into new AMJKeyboard directory

* Correct Manufacturer in USB Device Descriptor

* Remove comment regarding source fork

* Correct the readme

* Update default keymap to match the details given in its readme

* White-space edit fsund_test keymap

Makes its formatting more consistent with other 66% keymaps. No logic changes.

* Linting info.json

Debug-style linting (one key object per line) and minor edits to key labels.

* Remove fsund_test keymap

* Add FSund as a maintainer in info.json
2019-07-30 00:21:44 -07:00
yulei
5cf7dbedd2 [Keyboard] add 60% pcb for the smk 2nd switch(with mx mount) (#5928)
* add smk60 pcb

* remove useless keymap

* Update keyboards/smk60/rules.mk

add 60_iso layout

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

* fixed 60_iso layout

* update header file macro
2019-07-30 00:19:54 -07:00
ishtob
f2e0d38f17 [Keyboard] Assign unique vendor ID and product ID for hadron (#5184)
* assigned unique vander and product ID to hadron

* fix v2 compiled firmware size issue
2019-07-29 23:58:43 -07:00
Joel Challis
c57994f09e [Keyboard] Add meishi2 Configurator support (#6442) 2019-07-29 22:54:37 -07:00
Joel Challis
43f388166f [Keyboard] Fix maypad LAYOUT_ortho_5x4 Configurator support (#6440) 2019-07-29 22:54:09 -07:00
Joel Challis
de107eb14e [Keyboard] Fix community support for hs60 (#6439) 2019-07-29 22:53:15 -07:00
Joel Challis
d5ab675251 [Keyboard] Fix configurator support for shiro (#6436) 2019-07-29 22:51:01 -07:00
Joel Challis
a699fd3d04 [Keyboard] Add configurator support for snampad (#6435) 2019-07-29 22:49:42 -07:00
Joel Challis
207ebc42a9 [Keyboard] Correct name of community layout for ortho75 (#6434) 2019-07-29 22:42:39 -07:00
kakunpc
b28f1e6a29 [Keyboard] Add suihankey_rev1 keyboard and Fix default keymap (#6419)
* move alpha

* add suihankey rev1

* fix default keymap.

* remove split

* add split keymap

* move default_split keymap

* fix rev1 config.h

* fix split

* set BOOTMAGIC_ENABLE lite

* fix enum base
2019-07-29 22:24:07 -07:00
Zachary J. Slater
c806103f41 Update YouTube URL
The link was an outdated one to https://www.youtube.com/watch?v=7RH-1pAbjvw
The correct link appears to be https://www.youtube.com/watch?v=tx54jkRC9ZY which is shortened as in the file.
2019-07-29 10:12:22 -07:00
Sid Carter
eafd38e2a1 [Keymap] Shift RGB layout keys to the right by one to be consistent with other keymap layouts (#6431)
* move rgb toggles by one key to be consistent with all other keyboard layouts I have

* also remove unnecessary audio stuff
2019-07-28 21:16:59 -07:00
MechMerlin
e5bc50c03e [Keyboard] Leaf 60: Use correct key for 60_ansi layout on backspace (#6430) 2019-07-28 19:24:23 -07:00
imchipwood
1c5079a33c [Keyboard] Add dumbpad (#6425)
* removed some debug prints

* removed unnecessary files, tweaked some things

* rotary encoder button now connected into column 0, row 3

* tweaked keymap and moved encoder control into keymap

* tweaks

* added test keymap

* updated some things to make it easier to work with QMK configurator

* updates after merging latest master in

* fixed a few things

* removed test keymap and all related #ifdefs

* changed some dumbpad default keys, added KC_LOCK

* added image to readme

* added link to PCB github repo

* moved lock key to the rotary encoder pushbutton

* making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452

* adding bootmagic lite since i'm lazy and haven't soldered on the reset button...

* renamed  to

* using 7 underscores for KC_TRNS
2019-07-28 19:03:02 -07:00
Drashna Jaelre
c9424eb8d7 [Keyboard] Fix up and clean Corne Keyboard code (#6284)
* Fix corne  communication issues with LTO

* Fix up other issues with corne code

* Fix indentation

* Clang Format rev1 file for Corne
2019-07-28 10:56:35 -07:00
Drashna Jaelre
bbdc82dd36 [Keyboard] Add RGB Matrix config info to Corne Keyboard's readme (#6231) 2019-07-28 10:27:14 -07:00
XScorpion2
ec3954577c (OLED) Added support for CR (#6399)
Currently OLED Dirver only supports LF (\n) character in a string to clear out the rest of the current line and advance to the next line for writing. This PR adds support for CR (\r) character as well to advance to the next line, however not clear out the rest of the current line. This is extremely useful when you want to display a multi-line logo using a single array without wiping out exiting lines and flagging the OLED as dirty unnecessarily.
2019-07-27 13:17:18 -07:00
Drashna Jaelre
48067c530c Add support for Choco60 (#6415) 2019-07-27 09:12:29 -07:00
Naoto Takai
57958ce88e [Keyboard] Add support for Cocoa40 (#6414) 2019-07-27 09:11:50 -07:00
noroadsleft
dd6330b07c [Keyboard] Provide QMK Configurator API data for business_card (#6412)
- alpha and beta revisions
- deleted keyboards/business_card/info.json (made redundant by revision-specific files)
2019-07-26 23:20:42 -07:00
Sid Carter
cd7bc03134 [Keymap] Personal keymap for the planck with muzak (#6402)
* personal keymap for the planck with sounds

* need that minus and underscore where I can see them

* remove unused block

* some, shall we call them, minor changes?

* I don't think this is required anymore
2019-07-26 23:18:55 -07:00
yrdns
22a8992d1b Fix RGB Matrix Cycle Left-Right Animation (#6421)
One-line fix for a typo that could break build if DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT was defined but not DISABLE_RGB_MATRIX_CYCLE_ALL
2019-07-26 23:17:51 -07:00
MechMerlin
2367e3e1fd [Keyboard] TGR Jane v2 (#6361)
* initial commit TGR Jane

* lighting support

* use the default keymap lifted from community layouts for LAYOUT_tkl_ansi

* add information regarding reset key, hardware supported, and hardware availability

* document that it supports v1.1 as well thanks to nickheller's confirmation

* update some verbage in the readme

* add QMK Configurator support

* establish switch matrix for three main layouts

* add community layout support

* readme fixes

* Update keyboards/tgr/jane/info.json

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

* Update keyboards/tgr/jane/rules.mk

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

* Update keyboards/tgr/jane/config.h

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-26 21:49:29 -07:00
fauxpark
0bd03150e5 Remove NO_BACKLIGHT_CLOCK (#6418) 2019-07-27 01:37:33 +01:00
Nick Brassel
feddc496ee [Keymap] Tzarc's Luddite keymap (#6416) 2019-07-25 23:44:51 -07:00
Naoto Takai
abb65857ff Add support for Choco60 2019-07-26 11:17:34 +09:00
Konstantin Đorđević
36d3902504 [User] Update personal userspace and keymaps, add reactive underglow (#6410)
* Update MODERN_DOLCH_RED color

* Remove unused RAL_LAL tap dance

* Disable Space Cadet on all boards

* Rework SEND_STRING_CLEAN into CLEAN_MODS, fix DST_P_R/DST_N_A

* Disable unnecessary underglow animations

* Rearrange feature flags in rules.mk files

* Change custom colors from structs to defines

* Add some explicit initializers

* Add MODERN_DOLCH_CYAN color

* Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros

* Add led_set_keymap() template function

* Change underglow color based on Caps/Fn state

* Preserve val when changing underglow colors

* Only trigger Fn light for Fn layer

* Refactor fn_light() and caps_light() slightly

* Add comments to fn_light() and caps_light()
2019-07-25 12:31:40 -07:00
kakunpc
f204ed67f2 [Keyboard] Set RGBLIGHT ENABLE for angel64 (#6405)
* set RGBLIGHT

* remove default keymap RGB enable

* set limit value

* Revert "set limit value"

This reverts commit 2374b2aa20.
2019-07-25 12:30:15 -07:00
XScorpion2
f3acaff65b [Keymap] Fix default layer display (#6398) 2019-07-25 11:57:28 -07:00
XScorpion2
20c0533c4c [User] Xulkal Keymaps Update (#6392)
* Xulkal changes

Refactor rgb & encoder menu

Hadron Keymap

Refactor oled menu

* Fixing horizontal OLED data display

* Reverting changes to take to separate prs
2019-07-25 11:56:29 -07:00
thomas-d-11
a747953dfa [Docs] Add Sections and MO(layer)/TG(layer) Example (#6308)
* Add Sections and MO(layer)/TG(layer) Example

Major changes:
1. Added sub-section headings to the portion before the examples.
2. Added a new Example 6, that allows MO(layer) and TG(layer) functionality to be embedded within tap dance functions.

Minor Changes:
1. Edited some text to better fit with new sub-headings.

* Update feature_tap_dance.md

* Update feature_tap_dance.md
2019-07-25 11:53:19 -07:00
Alex Mayer
1ab008eabd 1up60hse: Add Layer Diagrams (#6408) 2019-07-25 07:55:53 -07:00
Kosuke Adachi
0a7222b703 [Keymap] Refactor the default keymap for crkbd and add a new keymap for me (#6404)
* Remap default keys

* Remove self defined keys

* Remove unnedessary breaks

* Unable read_keylogs

* Add a keymap for foostan

* Remove unnecessary spaces

* Remove "include" that it automatically including
2019-07-24 17:57:22 -07:00
noroadsleft
4381dea621 QMK Configurator fix for ProjectKB Alice info.json (#6400)
File was referencing an incorrect layout macro name.
2019-07-23 22:31:24 -04:00
Danny
827f8ce1bc [Keyboard] Add QMK configurator JSON for Alice PCB (#6397) 2019-07-23 15:07:39 -07:00
Danny
207fde997f [Keyboard] Add ergodicity (#6396)
* Initial addition of Ergodicity

* Add QMK configurator JSON
2019-07-23 15:06:47 -07:00
Joel Challis
b1691ba696 Fix MATRIX_X_PINS_RIGHT ARM compilation (#6395) 2019-07-23 09:11:37 -04:00
Jarred Steenvoorden
7ec583e5ef [Keymap] Jarred's Plaid keymap (#6049)
* Add my plaid keymap

* Move planck / plaid keymaps to common layout folder
2019-07-23 00:07:57 -07:00
Will Sturgiss
c966da89da [Keymap] Added wsturgiss keymap for mechmini2 (#4917)
* basic layout v1.0

* changed KC_TRNS to _______

* most symbols are on double tap, except quote, that was cancer

* better formatting and set toggle for game layer

* added colors to layers to make knowing your current layer easy

* have an empty macro working

* enabled unicode

* moved stuff to my folder and removed edits from communal files

* cleanup

* removed the game layer.  Never used it

* made changes requested by drashna and vomindoraan

* got rid of some unnecessary code

* got very basic unicode on mac working

* added ctrl_esc

* more changes as requested by noroadsleft

* more leader additions, removed macros because leader stuff replaces that functionality

* removed an old macro I forgot to remove earlier

* final deletion at noroadsleft request

* changed a line to explicitly specify a purple color.
2019-07-22 23:59:12 -07:00
Drashna Jaelre
8060e52946 [Keyboard] Align Planck EZ config with ZSA/Ergodox config (#6371) 2019-07-22 23:28:25 -07:00
mechmerlin
2e8cdb126e update docs based on fireworm's comments 2019-07-22 20:55:23 -07:00
Drashna Jaelre
3261c408e4 Add support for TAP_CODE_DELAY to Hold-Tap keys (#5400)
* Add support for TAP_CODE_DELAY to Hold-Tap keys

* Better handling for tap code delay and caps version
2019-07-22 20:23:57 -07:00
Drashna Jaelre
d41961c9ed [Keymap] Drashna's Feature madness (#6128)
* Fix my Tap Dance issues after I broke them

* Cleanup and organization of userspace documentation

As well as some additional cleanup of functions due to review of documentation.

* Enable Tapdance on Glow and remove more animations

* Revert to Eager PR debouncing

* Add better check for startup animation

* Move where RGB Matrix defines are listed

* Limit RGB Matrix max val

* Update keyboard for Iris Rev 3 conflicts

* Enable encoder support on planck ez

* Remove is_master check from corne\'s OLED code

* Overhaul OLED screens for my Corne

* One last removal

* Show RGB valu On both sides

* Updates for OLED display info

* Fix compile issues for rgb config

* Disabled Space Cadet for all drashna keymaps

* Fix OLED Screen configs

* Minor OLED Tweaks

* Revert some Iris changes

* Fix song include

* Handle MAKE macro for the Corne boards better

* Add super hacky-hack for eeconfig initialization

* Add audio support for Fractal since Elite Cs support it

* Add defines for keycode steps

* Add White layout

* Update Corne RGB info

* Add fun effects to layer indication for RGB Matrix enabled boards

* Use proper define for product name detection

* Update formatting

* Use custom timeout mechanism for OLED timeout

* Fix up OLED screen HSV code for new HSV structure

* Better handle turning off RGB Matrix when sleeping

* Disable MultiSplash Animation

* Change Iris back to using serial

* Why was RGB disabled?!?!?!

* Limit val in rgb_matrix_layer_helper function

* Remove EECONFIG setting for RGB matrix
2019-07-22 20:22:33 -07:00
tucznak
840b9090a0 Adding personal keymaps (#6384)
* initial commit

* migrated the actual keymap to this keyboard

* added the actual Tanuki keymap

* Added QMK DFU bootloader support

* TuCZnak's keymaps - final

* Update keyboards/tanuki/keymaps/tucznak/config.h

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

* Update keyboards/ut472/keymaps/tucznak/config.h

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

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 16:32:47 -07:00
XScorpion2
40b0ddd425 Sol Rev 2 Keyboard (#6389)
* Basic Rev 2 implementation

* Updated LED defines and added Extra encoder support

* Fixed rgb pin assignment

* Physically accurate LED positions

* Single Color Band scrolling left to right effects

* Spirals, Pinwheels, and Documentation....Oh My!

* Spiral effect band thickness adjustments

* Fixing animation spin directions

* Full hand LED positions

* Basic Rev 2 implementation

Updated LED defines and added Extra encoder support

Fixed rgb pin assignment

Physically accurate LED positions

Full hand LED positions

Moving rev2 folder

* RGB Center Point LED position update

* Fixing led config commas

* Fixing led config commas

* fix enter key

* fix enter

* Small changes to default

* update default

* typo fix

* update default

* Fixing defines & led config, turned full hand & extra encoders into rules.mk feature

* Refactored rules.mk to have a post_rules.mk

* Forgot to offset the matrix to led map due to the edge led additions

* Updated LED flags and fixed my keymap

* Update keymap.c

include speed controls for RGB

* Fixing more rules.mk and adding keymap like encoders functionality

* Sol Rev 2 Implementation

* Minor fixes

* Keymap fixes

* Fix Colemak, add lock keys
2019-07-22 10:43:52 -07:00
Collin Diekvoss
17ff9cf554 New Keyboard: ZJ68 (#6378)
* added zj68 keyboard

* Suggested changes

* Suggested changes

* Suggested changes

* Requested changes

* Update keyboards/zj68/rules.mk

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 10:17:11 -07:00
MechMerlin
d3ebf903c9 [Keyboard] Add Unikorn 60 tsangan_hhkb layout (#6390)
* fix default keymap to not have Q in the 1 position.

* add tsangan hhkb layout

* add a tsangan default keymap

* clean up the default keymap

* add qmk configurator support for new layout
2019-07-22 02:20:20 -07:00
George Petri
f1c89280d5 [Keymap] Update keymap for keebio/quefrency 65% version (#6388)
* minor keymap changes

* minor keymap changes update readme

* update rules.mk

* add rgb

* add add arrows in hjkl

* removed backslashes

* fix missing comma

* spacing fix

* minor cleanup

* add r layer

* impl navigation layer

* moved backspace nearby

* updated readme
2019-07-22 02:14:43 -07:00
Sid Carter
4602361095 [Keymap] Switch Iris keymap from workman to colemak (#6385)
* via support and colemak layout

* figures tap and hold parts don't work vith via enabled - so those are commented out for now
2019-07-22 02:13:38 -07:00
Michael Pishchagin
28f53462d0 [Keyboard] Backport two fixes from TMK: usb-usb converter (#6383)
* usb_usb: Order of init prevents uneeded bus reset
7c228967a4 (diff-deed77fb597e3a0019ce59fc1d09e260)

* usb_usb: Fix startup block bug
c2ce617a36 (diff-deed77fb597e3a0019ce59fc1d09e260)
2019-07-22 02:07:28 -07:00
Luke Wesley-Holley
4532caf5f2 [Keyboard] KBP V60 Type R Added ISO default (#6372)
* [Layout] KBP V60 Type R ISO default

* Remove ifdef

* Apply suggestions from code review

@noroadsleft I've accepted your suggestions. Tried locally any everything works as expected.

Thanks again - this if my first keyboard and first time looking at/ using/ contributing to qmk so I appreciate the feedback 👍

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 02:06:06 -07:00
noroadsleft
e08e6c11e3 [Keyboard] Fix QMK Configurator bug with Wilba Tech Zeal60 LAYOUT_60_all (#6387)
info.json file had the wrong name for the JSON key; the macro that is normally named LAYOUT_all by convention is named LAYOUT_60_all on the Zeal60.

Bug flagged by drashna for flight505 on QMK Discord.
2019-07-22 02:03:19 -07:00
Wilba
bffbb4b42d Refactoring wilba.tech PCBs, updating Rama Works U80-A (#6272)
* Added WT65-B, WT75-B, minor fixes

* Update keyboards/wilba_tech/wt65_b/config.h

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

* Update keyboards/wilba_tech/wt65_b/readme.md

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

* Update keyboards/wilba_tech/wt75_b/config.h

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

* Change DEBOUNCING_DELAY to DEBOUNCE

* Change DEBOUNCING_DELAY to DEBOUNCE

* Move Zeal60/Zeal65 files to keyboards/wilba_tech

* Change DEBOUNCING_DELAY to DEBOUNCE

* Refactoring zeal60 code to wilba_tech

* Moved Rama Works PCBs to wilba_tech

* Rename Rama Works files

* Cleanup info.json

* Cleanup readme.md

* Cleanup USB device strings

* U80-A RGB matrix, IS31FL3731 driver changes

* Fixed #include from keyboards/zeal60
2019-07-21 07:46:22 -04:00
noroadsleft
d686c0ea43 [Keyboard] Snagpad Configurator bugfix and readme refactor (#6381)
* Update snagpad.h

White-space changes only. Making this file easier to read.

* Update info.json

Refactor:

- add labels
- debug linting (one key object per line)
- reorder keys for LAYOUT_numpad_5x4 (fixes QMK Configurator assigning keys to incorrect positions)

* Update readme.md

Refactor to conform to QMK template.

Updated link to The Board Podcast (old link was Error 404).
2019-07-20 13:49:28 -07:00
trinity1561
b3cdc7ef70 [Keyboard] Update space65.c to fix caps lock LED (#6375) 2019-07-20 13:37:42 -07:00
Sid Carter
cf2ffadbcd [Keymap] Add Colemak to existing fc660c keymap (#6374)
* consistent enums

* add colemak to another layer for fun

* update readme

* consistent enums

* add colemak to another layer for fun

* update readme
2019-07-20 13:36:14 -07:00
Joel Challis
0da743d80b [Keyboard] Refactor handwired/splittest to support multiple boards (#6373)
* Refactor splittest to support multiple dev boards

* Refactor splittest to support multiple dev boards - revert change to number of RGB led

* Refactor splittest to support multiple dev boards - update docs

* Refactor splittest to support multiple dev boards - correct docs

* Refactor splittest to support multiple dev boards - update teensy master logic
2019-07-20 13:35:30 -07:00
MechMerlin
7afae46ea6 [Keyboard] Grid 600 Type 05 "PRESS" Cover Module (#6368)
* add grid600 type 5 press cover module

* Update keyboards/grid600/press/keymaps/default/keymap.c

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

* remove unused custom keycode enum
2019-07-20 13:30:38 -07:00
jotix
c644299820 [Keyboard] leds in default keymap (#6357) 2019-07-20 13:25:20 -07:00
Konstantin Đorđević
a2e91ebec9 Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348)
* Update IS_COMMAND definition in templates to use MOD_MASK_SHIFT

* Update IS_COMMAND in docs

* Update IS_COMMAND default definition in tmk_core

* Update table in Command docs based on suggestion

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-20 13:21:40 -07:00
Danny
a40dbf94e8 Merge pull request #6264 from zvecr/split_master_check
Allow board to override split keyboard master check
2019-07-20 15:13:01 -04:00
Danny
1c0a7ad6c2 Fix Numbrero Handwired make example in readme (#6379)
Fix Numbrero Handwired make example in readme
2019-07-20 15:09:13 -04:00
noroadsleft
6b1db7da23 Fix Numbrero Handwired make example in readme 2019-07-20 11:06:18 -07:00
Drashna Jaelre
001a6c24ae [Docs] Clarify Zadig usage in FAQ Docs (#6360)
* Rewrite Zadig section to be more clear

* Wordsmithing

Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
2019-07-19 13:23:16 -07:00
noroadsleft
b1fc3f35c6 Melody96 Configurator updates and minor refactoring (#6365)
* Add Configurator layout data for LAYOUT_hotswap

* Add LAYOUT_std60_split_num0

Requested by 李小安#9728 on QMK Discord.

Standard 60% ANSI layout for the alphanumeric region, with a split-0 Numpad.

Includes a sample keymap.

* Update Docs links on readme

* Change melody96.h to use #pragma once include guard

* Change config.h to use #pragma once include guard

* Add readme for default_std60_split_num0 keymap
2019-07-19 10:39:20 -07:00
Konstantin Đorđević
e040028f1b Change xprintf() calls in rgblight.c to dprintf() (#6363) 2019-07-19 08:47:04 -07:00
fauxpark
d417b0cc7d Tidy up ALF X1.1 (#6367)
* Tidy up ALF X1.1

* Correct x positions

* 4 spaces

* Remove a stray TRNS key
2019-07-18 22:05:25 -07:00
mechmerlin
b12b26946d simple readme fix 2019-07-18 21:16:30 -07:00
trinity1561
918fb7f8da Print Screen and Pause placement swap (#5981)
* Update x11.h

The original json file that was given by the designer was incorrect.  The Print Screen and Pause button is swapped.

* Update space65.c

Fixing the Caps Lock LED.

* Revert "Update space65.c"

This reverts commit 1f5de1abae.
2019-07-18 20:04:01 -07:00
jotix
455f15528c Jotix (#6355)
* add unicode_map

* add unicode_map

* numpad change
2019-07-18 19:27:09 -07:00
Joao Maia
00c6892b3f [Keyboard] Add 6macro keyboard (#6362)
* Initial commit for 6macro firmware

* Updated layout documentation

* Removed unused commented code
2019-07-18 12:31:40 -07:00
Fred Silberberg
171f7c561b Add more layouts for the ergodash (#6336) 2019-07-18 07:45:48 -07:00
fauxpark
5b4187ad1b Correct backlight on state docs (#6358)
* Correct backlight on state docs

* Reword to make it less confusing
2019-07-18 07:45:00 -07:00
Ethan Madden
d5b01bd34b Add prime_e keymap (#6350) 2019-07-18 06:55:31 -07:00
jshuf
1650ba00f1 Allow userspace the opportunity to handle keycodes 2019-07-17 12:38:08 -07:00
dsanchezseco
f9d47ebe2f cleanup and start sound (#6353) 2019-07-17 09:24:49 -07:00
fauxpark
3895b4b868 Extend maximum number of backlight levels to 31 (#6351) 2019-07-16 21:58:29 -07:00
Daniel Schindler
a8647f0d27 Add model01 keymap. Change kinesis keeymap. 2019-07-16 15:02:48 -07:00
Konstantin Đorđević
6c7d173ad7 Remove unnecessary IS_COMMAND definitions from a couple of boards 2019-07-16 14:18:26 -07:00
Konstantin Đorđević
65906f679d Use led_set_kb instead of led_set_user in melody96.c 2019-07-16 14:13:08 -07:00
fauxpark
6af77551c6 Remove more commented out MCUs 2019-07-16 13:47:43 -07:00
Salicylic-acid3
4747d974aa [Keyboard] Add keyboard Naked48 (#6330)
* Add Naked48

*  Comment reflected
2019-07-16 09:39:39 -07:00
Drashna Jaelre
e5d2cb8f98 Fix Preprocessor check for Leader Keys 2019-07-16 09:27:33 -07:00
Drashna Jaelre
f6c7e11426 Remove the need to specify NUM_OF_ENCODERS for the Encoder feature (#6328)
* Remove the need to set NUM_OF_ENCODERS

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

* Add hack for split common support

* Remove NUM_OF_ENCODERS from keyboard config

Can be reverted, if needed
2019-07-16 01:40:54 -07:00
Sidney Bovet
97a3f806c4 [Keymap] Fix advanced keymap readme and macro function (#6342) 2019-07-16 01:37:35 -07:00
Drashna Jaelre
c44fc68297 Allow Combo feature to be enabled/disabled live (#6318)
* Add ability to enable/disable combos

* Update documentation for Combo feature

* Change keycodes for appeasement

* Simplify combo_toggle function

* Update names

* Update combo docs to use tables
2019-07-16 01:37:19 -07:00
Joel Challis
5fa0a274ea Align ARM i2c_readReg with AVR (#6314)
* Align arm i2c_readReg with avr

* Align arm i2c_readReg with avr - fix cannonkeys
2019-07-16 01:36:23 -07:00
Joel Challis
4e375aa1f5 Add ARM I2Cv1 support to i2c_master (#6262)
* Add ARM I2Cv1 support to i2c_master

* Add I2Cv1 docs
2019-07-16 01:30:53 -07:00
Drashna Jaelre
f859375284 Expand bootloader target to support most AVR boards (#6255)
* Update the :bootloader target to pass along correct hardware info

* Update make scripts to properly grab the settings (a big thanks to @yanfali)

* Remove LUFA debug warnings
2019-07-16 01:28:23 -07:00
Drashna Jaelre
f6651424a0 Make Caps Lock delay more reasonable (#6199)
* Make Caps Lock delay more reasonable

* Update documentation

* Update docs/config_options.md

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* Update docs/config_options.md

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
2019-07-16 01:21:52 -07:00
Joel Challis
29e9caa82b Configure Vagrant to use qmk_base_container (#6194)
* Initial conversion of vagrant to use qmkfm/base_container

* Fix vagrant when using docker provider

* Workaround for VirtualBox VM restarts

* Generalise Vagrant docs slightly and add FAQ
2019-07-16 01:20:34 -07:00
fauxpark
a32f7e1a25 Store backlight breathing state in EEPROM (#6105)
* Store backlight breathing state in EEPROM

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

* Error out if BACKLIGHT_LEVELS is > 15

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

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

Switched to block read & update

Update tmk_core/common/eeconfig.h

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

Fixing init compile error

Update eeconfig.c

Dead / Missing API cleanup

alignment
2019-07-16 00:40:43 -07:00
Roman Volosatovs
72df7b4c19 shell.nix: Downgrade gcc-arm-embedded (#5913)
Temporary fix for https://github.com/qmk/qmk_firmware/issues/5868
2019-07-16 00:35:15 -07:00
Drashna Jaelre
1209fb8643 Enable Mousekeys on Corne Keyboard by default (#5893)
* Enable Mousekeys on Corne Keyboard by default

For Tessachka and Configurator support

* ENable for default image too

* Remove most of rules.mk for default keymap

* make sure rgblight is enabled by default

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

* A shot at advanced C stuff for Leader Key optimization

* Revert most changes

* Change default back

* Include string.h if compiling for ARM

* Use sizeof instead of a number
2019-07-15 23:56:34 -07:00
fauxpark
ed6a872911 Add sendstring LUTs for French keymap (#5830) 2019-07-15 23:28:39 -07:00
Drashna Jaelre
311d625c56 [Docs] Add dedicated page for Split Keyboard information (#5802)
* [Docs] Add dedicated page for Split Keyboard information

* Apply suggestions from code review

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

* Fix Typos

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

* Fix some formatting issues

* Add Additional RGB info

* Fix Bulletted formatting

* Apply suggestions from code review

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

* Fix line wrapping

* Additional fixes and expansion

* Reword warning/note

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

* add i2c/serial coexistance info

* i2c markdown

* Change i2c wiring text

Co-Authored-By: drashna <drashna@live.com>
2019-07-15 23:23:32 -07:00
Drashna Jaelre
a71c461d03 Skip unsupported firmware check message in silent mode (#5765) 2019-07-15 23:21:00 -07:00
fauxpark
a5ecf14608 Sendstring LUT improvements (#5727)
* Align sendstring LUTs to 9 characters wide

* Replace 0 with XXXXXXX

* Use decimal 128 for LUT size

* Align heading comments

* Add ASCII table comments

* Add missing AltGr LUTs and adjust keycode LUTs accordingly

* Use pragma once

* Correct a couple more keycodes

* Capitalise "BÉPO"

* Also clean up the default tables

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

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

* Remove the example altogether, it's already documented
2019-07-15 23:05:07 -07:00
fauxpark
f14629ed1c Remove/migrate action_get_macro()s from default keymaps (#5625)
* Remove/migrate action_get_macro()s from default keymaps

* Leave these breaks alone
2019-07-15 23:04:02 -07:00
Aapo Saaristo
2a231457bd Add user-overridable callback for cancelling UCIS input (#5564)
* Add user-overridable callback for cancelling UCIS input

To clean up things from qk_ucis_start_user() for instance.

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

Co-Authored-By: shinmai <aapo.saaristo@gmail.com>
2019-07-15 22:53:04 -07:00
Takeshi ISHII
0f95c0865c add 'objs-size' target into tmk_core/avr.mk (#5490) 2019-07-15 22:45:31 -07:00
yiancar
3538955778 Usbasploader bootloader option addition (#6304)
* Added USBasp bootloader option for USBasploader

* author comment

* ifdef fix :)

* Add usbasp target

* Update docs/flashing.md

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

* Update docs/flashing.md

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

* Update docs/flashing.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-15 19:11:59 -07:00
skullydazed
7d557a0514 Fix compiling json files. (#6340) 2019-07-15 15:12:35 -07:00
skullydazed
a25dd58bc5 QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.

* Support for keymap.json

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

* Fix keymap generating

* Install the python deps

* Flesh out more of the python environment

* Remove defunct json2keymap

* Style everything with yapf

* Polish up python support

* Hide json keymap.c into the .build dir

* Polish up qmk-compile-json

* Make milc work with positional arguments

* Fix a couple small things

* Fix some errors and make the CLI more understandable

* Make the qmk wrapper more robust

* Add basic QMK Doctor

* Clean up docstrings and flesh them out as needed

* remove unused compile_firmware() function
2019-07-15 12:14:27 -07:00
Drashna Jaelre
7ba82cb5b7 bface refactor (#6333)
* remove custom matrix support

* remove custom i2c and led driver

* minor cleanups

* update readme
2019-07-15 10:38:26 -07:00
Sidney Bovet
a200f194d1 [Keyboard] Add support for XD004 macro keyboard (#6337)
* Add support for XD004

Also applying the following suggested edits:

Add hardware availability link in readme
Co-Authored-By: Drashna Jaelre <drashna@live.com>

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

Remove commented out MCU
Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Add more ellaborate keymap

Correcting usage of tap_code_16 for modified key, thanks to @drashna

* Add information about bootloader type

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-07-15 10:35:05 -07:00
T.Shinohara
b2fb0ceeef [Keyboard] add macro pad "Shiro" (#6338)
* add keyboard new macro pad "Kuro"

* change main readme.md

* remove not used code from default/keymap.c

* Remove unnecessary code

* Supports info.json

* removed back slash and not used functions.

* update at product link. add japanese messages.
2019-07-15 10:33:18 -07:00
Drashna Jaelre
ff0cb0cf9d Add GPL3 header to avr i2c files (#6332)
* Add GPL3 header to avr i2c files

* Add for i2c_slave as well

* Fix formatting of license header
2019-07-15 10:32:13 -07:00
kakunpc
cbcf888dc0 [Keyboard] new keyboard "angel64" (#6313)
* set template

* set Duplex Matrix

* fix layout

* set default keymap

* fix indent

* remove muhen

* Update keyboards/angel64/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-15 10:13:07 -07:00
zvecr
d8253b83e8 Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
zvecr
0a03f7cff7 Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Alex Mayer
21fc6be41b [Keymap] Fix Comment Styling (#6324) 2019-07-14 19:32:40 -07:00
Adrian L Lange
989c2094f8 [Keymap] [bface] My custom layout (#6322) 2019-07-14 19:32:08 -07:00
That-Canadian
fd48f687b1 [Keyboard] Added IVY macropad (#6211)
* Added initial files for the Adron  3-key macro pad

* Refactor of "adron_pad" to "ivy", cleaned up the readme and removed un-needed keymap as well.

* Made suggested changes to commit for PR

* Removed unneeded define block from SUBPROJECT_rev1 as it is redundant (Thanks drashna ;) )
2019-07-14 18:26:45 -07:00
mechmerlin
f8e4921491 update readme 2019-07-14 18:14:00 -07:00
mechmerlin
66b63f66a9 minor cleanups 2019-07-14 18:11:26 -07:00
mechmerlin
77a7e3c91f remove custom i2c and led driver 2019-07-14 18:11:16 -07:00
mechmerlin
b8c5efa555 remove custom matrix support 2019-07-14 18:00:09 -07:00
noroadsleft
4211252117 [Docs] Fix indented subheading on faq_debug.md (#6320) 2019-07-13 13:33:44 -07:00
William Chang
0694decfa1 [Keymap] switch backspace and backslash, updated readme (#6323) 2019-07-13 13:12:36 -07:00
Sid Carter
da1f05fbc1 [Keymap] Add workman to my iris keymap (#6319)
* add workman to my iris keymap

* updates for readme.md

* remove redundant paths

* switch up and down
2019-07-12 23:37:48 -07:00
Ryan Caltabiano
cf215487ba Switching rgb_config_t to use HSV struct 2019-07-12 07:39:35 -07:00
Cody Bender
e717dcaa09 [Keyboard] fixed pins for numpad_5x4 layout (#6311) 2019-07-12 06:17:47 -07:00
Konstantin Đorđević
38fdf7a2d2 [Keymap] Add missing tap dance action and fix RGB hues in personal keymaps (#6312)
* Add missing TD_RSF_RCT tap dance

* Use standard QMK HSV and RGB structs, fix Godspeed colors

* Move PROGMEM after the type in RGB intervals

* Add MODERN_DOLCH_RED color, use it on KBD6X

* Use 255 instead of RGBLIGHT_LIMIT_VAL in color definitions

* Remove IS_COMMAND override on Whitefox
2019-07-12 06:16:28 -07:00
Phil Schalm
663ca6ba9d Documentation: Newbs Flashing: Hightlight that sudo may be needed (#6300)
* Hightlight that sudo may be needed

Also added "dfu-programmer: no device present" in so that anyone searching for that particular error can hopefully find the page.

* Use new style of indicating a warning

* Indicate that the FAQ should be read instead of blindly using sudo
2019-07-12 05:42:21 -07:00
skullydazed
37d2f6dc2a Switch version incrementing to the command put together by @noroadsleft. (#6310)
* Switch version incrementing to the command put together by @noroadsleft.

* Update util/travis_compiled_push.sh

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-11 22:33:25 -07:00
Cody Bender
475d2c0c30 [Keyboard] Adding KeyHive Maypad (#6287)
* added files for KeyHive Maypad

* updated maypad files and moved honeycomb inside keyhive dir

* fixed file paths, incorporated changes with fauxpark's suggestions, undid honeycomb move

* updated with fixes from PR

* added new lines to end of honeycomb files to fix compiling

* Updated info.json to match the macro name from maypad.h

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

* reordered layout in info.json

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

* removed KEYMAP from maypad.h

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

* removed extraneous keymap files

* pulled qmk/master for honeycomb

* added ortho_5x4 and keymap cleanup

* matched identities in maypad.h

* added bootmagic functionality to maypad

* changed bootmagic to lite
2019-07-11 13:01:17 -07:00
omkbd
2121de9192 [Keyboard] [runner3680] Fix the number of keys (#6302)
* Fix the number of keys

* add RGBLIGHT_LIMIT_VAL

* fix RGBLED_NUM and COLS
2019-07-11 12:27:13 -07:00
fauxpark
901edea927 [Keyboard] Fix XD96 info.json (#6309)
* Fix XD96 info.json

* Comma

* Another comma

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-11 12:09:48 -07:00
fauxpark
8e348c427d Display firmware size percentage (#6307) 2019-07-11 12:05:13 -07:00
fauxpark
2bbbfc6154 [Keyboard] Update Felix keyboard (#6306) 2019-07-11 12:04:22 -07:00
fauxpark
ecf0612cc8 [Docs] Clarify the rules.mk setup for Unicode (#6286)
* Clarify the rules.mk setup for Unicode

* code point

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* Remove "your"

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* Undo a line change

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* dot the comma

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* Update docs/feature_unicode.md

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
2019-07-11 11:33:55 -07:00
yttyx
676633e1f3 [Keymap] Balance Twelve / Steno Keymap for Planck (#6283)
* New keymap. Cursor layer does not work.

* Refinements to layout over months of use.

* Changes following review.

* Changes following review.
2019-07-11 11:32:47 -07:00
Napoleon Wulkan
e6420f0bd8 [Keyboard] Add handwired Wulkan keyboard (#6282)
* added handwired keyboard wulkan

* added info.json for qmk configurator

* fixed spelling

* enum dont need to be assigned to zero

* removed cflag from readme

* updated rules.mk

* removed unneeded rows from config

* moved unicode to keymap conf

* fix adjust layer and comments for keymap
2019-07-11 11:31:36 -07:00
XScorpion2
3ee062222a Fixing effects to respect user sat and val levels (#6275) 2019-07-11 11:29:19 -07:00
Stevan Milic
3dd2905b7b Add personal KBD67 keymap (#6292)
* Add kbdfans/kbd67/hotswap:stevanmilic keymap

* Change Fn+H, Fn+L to Ctrl+Left, Ctrl+Right

* Add keymap comments
2019-07-11 07:37:16 -07:00
zjp
607f6f5c16 Fix typo in Gentoo docstring (#6303) 2019-07-10 21:22:23 -07:00
noroadsleft
ffff0f03cb Fix bug in Mechllama G35 info.json (#6294) 2019-07-10 16:25:54 -07:00
noroadsleft
721b3546f6 QMK Configurator support for NEK Type A (#6295)
* QMK Configurator support for NEK Type A

* Update labels to match default keymap
2019-07-10 16:21:38 -07:00
Drashna Jaelre
05a97482e6 [Keyboard] Enable LTO on Handwired/Promethium to reduce compiled size (#6227) 2019-07-09 12:59:05 -07:00
Konstantin Đorđević
c69060465e Fix parentheses in macros, and in general clean up quantum.h (#5021)
* Fix up GPIO macros

* Fix up send string macros

`string` arguments must not be parenthesized

* Fix up miscellaneous macros

* Make indentation uniform (4 spaces)

* Make #ifdef vs #if defined usage consistent

* Reorder standard includes

* Revert indentation changes as per review comments

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

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

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

* Fix up typo issue
2019-07-09 11:09:54 -07:00
Kaylyn Bogle
207e50c534 Add G35 keyboard (#6263) 2019-07-09 08:01:11 -07:00
Drashna Jaelre
6cccc22be9 Use QUANTUM_LIB_SRC for i2c_master.c inclusion (#5617)
Using QUANTUM_LIB_SRC prevents the warning when multiple sources add the i2c_master.c file. Boards such as the Ergodox EZ Glow see this warning every time they compile because the board uses the file in general, and because the RGB LED Matrix requires it, as well.
2019-07-09 07:57:14 -07:00
noroadsleft
3184303037 [Keyboard] Espectro: add LAYOUT_split_bs_joined_right data to QMK Configurator (#6289) 2019-07-09 07:17:37 -07:00
noroadsleft
d780c2729b [Keyboard] Omnikeyish: fix LAYOUT_101 macro (#6285)
* Fix LAYOUT_101 macro

* Add default_101 keymap to prove the LAYOUT_101 macro works
2019-07-09 07:06:30 -07:00
Konstantin Đorđević
220873dfeb [Keymap] Add personal Wasdat keymap, update other keymaps (#6290)
* Add wasdat:konstantin keymap

TODO: Move it to layouts/

* Use HHKB arrow arrangement for mouse keys on KBD6X

* Move KC_APP from Ctrl to M on all boards

* Use RCT_RSF on Melody96

* Set TAP_HOLD_CAPS_DELAY to 50 in userspace

* Use RSF_RCT instead of RCT_RSF
2019-07-09 06:52:23 -07:00
fauxpark
8b1cdd1e3d Add copyright year placeholders to new keyboard script (#6280)
* Add copyright year placeholders to new keyboard script

* More copyright header tweaks
2019-07-08 14:07:35 -07:00
Jason Krasavage
dfebfecd48 [Keymap] Added my own keymap folder (#6261)
* added iris rev 3 keymap

* stuff

* Update config.h

* Removed personal mapping folder so that I can branch it

* Added personal Iris keymap folder

* added enums, removed break after return, and removed line 3 of keymap.c

* removed process record function
2019-07-08 12:58:12 -07:00
vxid
95b2364e5a [Keymap] Add crkbd/vxid keymap (#6281) 2019-07-08 11:15:59 -07:00
XScorpion2
6e6d079dd2 Updated OLED Docs with notes about screen timeout. (#6276)
* Updated OLED Docs with notes about screen timeout.

* Update docs/feature_oled_driver.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-08 06:28:31 -07:00
Matthew Lyon
06ba968759 mattly's userspace and iris (#6279) 2019-07-08 06:27:30 -07:00
skullydazed
7579518613 Fix chibios so the dfu-suffix is only applied once. (#6270) 2019-07-07 09:08:49 -07:00
XScorpion2
d16db69367 Added mod carry over from press to release. (#5866)
Update docs/feature_space_cadet.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-07-06 21:00:05 -07:00
GreenShadowMaker
a07da6e245 keymap for idobo (#6250)
* greenshadowmaker keymap for idobo xd75 massdrop

* remove uneeded config.h

* corrected format to match convention instead of xd75 where I accidentally started from

* fixed errors and added arrows bottom right to match my other layouts

* updated readme

* right arrow fix

* Update keyboards/idobo/keymaps/greenshadowmaker/keymap.c

removing unnecessary part, copied from different keymap

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

* added suggested changes

* removed unneded elements
2019-07-06 20:56:23 -07:00
fauxpark
dd1790c1b3 Noxary 268.2 update (#6254)
* Fix Noxary 268.2 layout macros & info.json

* Update Noxary 268.2 to current QMK code style
2019-07-06 20:55:25 -07:00
Sid Carter
44f3c614c2 My personal keymap for the Iris Rev3 (#6271)
* updates to my iris keymap

* some rational updates to the keymap - let's see how this works

* updates to my iris keymap

* some rational updates to the keymap - let's see how this works

* add mouse keys and remove unused keys and some cleanup

* a little bit more cleanup

* actually enable mousekeys

* fix markdown lint complaints

* fix capitalization

* changes made per suggestions
2019-07-06 20:53:56 -07:00
Michel Gotta
853f5231d3 [Keymap] Adding new Gherkin keymap and configuration with RGB strip (#6252) 2019-07-05 23:20:17 -07:00
Drashna Jaelre
da86484027 Add makeful rules to .editorconfig
OMFG, why is it not set to tabs??
2019-07-05 11:35:55 -07:00
zvecr
05990c9bda Small fix to allow board to override split keyboard master check 2019-07-05 18:45:57 +01:00
Gam3cat
509a34fbab [Keymap] Fixing keymap DYNAMIC_MACRO_RANGE keycode enumeration (#6248) 2019-07-05 04:56:57 -07:00
MechMerlin
cbf76a1290 [Keyboard] Add TGR x SINGA Unikorn 60 (#6249)
* initial commit, copied from singa

* default 60_ansi LAYOUT implemented and tested workin

* add rgb underglow support bounded by ifdefs

* edit readme to provide information on reset procedure and on rgb underglow support

* improve the default keymap to have a second layer with function keys and even a RESET

* Add LAYOUT_all macro and discovered that split backspace uses an additional pin on the microcontroller

* fix up last line in readme

* Add QMK Configurator support
2019-07-05 04:54:59 -07:00
Kenny Hung
78b9922fc4 Fix linux_install.sh script for OpenSuse v 15.1 (#6251) 2019-07-05 04:52:54 -07:00
noroadsleft
9eb48deb44 Move ISO Enter to its proper place in LAYOUT_60_iso (#6240) 2019-07-04 11:59:02 -07:00
fauxpark
bbd3e05335 [Keyboard] update Wasdat custom matrix (#6247)
* Fix unselect_rows() for Wasdat custom matrix

* Add fix for matrix_scan() return too (#5984)
2019-07-04 09:05:21 -07:00
francislan
8fb10edf97 [Keyboard] Fix Minivan K32 and K34 inversion (#6221) 2019-07-03 13:10:53 -07:00
Takeshi ISHII
f268993760 fix unselect_rows() in quantum/matrix.c (#6243)
unselect_col() uses setPinInputHigh(), but unselect_cols() uses setPinInput().
This is not correct. unselect_cols() should also use setPinInputHigh().
2019-07-03 11:50:06 -07:00
henrikosorensen
c0c8b2e50d [Keyboard] fix info.json for omnikeyish keyboards (#6189)
* fix info.json for omnikeyish keyboards

* Omnikey 101 obviously doesn't need a focus style backslash key, it has an ansi backslash already.
2019-07-03 06:00:29 -07:00
yiancar
d32ce9c746 [Keyboard] Fixed ISO keymap for Gingham (#6242) 2019-07-03 03:43:46 -07:00
francislan
5c381b34ea [Keyboard] Update catalog link in the TheVanKeyboards/Minivan Readme. (#6236)
Previous link was broken.
2019-07-03 03:38:30 -07:00
Alex Lewis
b7cdd06820 [Keymap] Add DZ60 layout that supports a hybrid hhkb layout (#6235)
* adds support for dz60 with 2 function keys

* fix images for readme

* Update readme.md

* block comment and readme cleanup
2019-07-03 03:37:43 -07:00
noroadsleft
308275909d [Keyboard] GH60 Configurator updates and modernization (#6232)
* Convert gh60.h to #pragma once include guard

* Lint gh60.h

This commit only changes white space.

* Convert info.json to debug linting

Making this file easier to read.

* Put the label keys first for LAYOUT_60_ansi

* Complete and correct key labels in info.json

* Duplicate LAYOUT as LAYOUT_all

Doing this for backwards compatibility. Has implications for user keymaps.

* Update LAYOUT_all to make sense

The original macro LAYOUT submitted for the GH60 gets a couple of things wrong:

- K49 is placed between Space and Right Alt, when it's actually the right half of a split Backspace
- K3C is assigned before K3D, when K3C is the 1u portion of a 1.75u/1u split Right Shift, and therefore K3D is actually to the left of K3C

The LAYOUT_all macro corrects these issues, but the LAYOUT macro is unchanged, so as to not break user keymaps that depend on it.

This commit also updates the default keymap to use the LAYOUT_all macro, and makes a minor change to the base layer to be more as a user would expect for the corresponding physical layout.

* Correct the layout data for the LAYOUT macro in info.json

Gives proper Configurator rendering.

* Modernize default keymap

Update the default keymap to use more modern QMK conventions.

* Modernize the LED management code

Update the LED management functions to use the GPIO functions, and clean up the led_set_kb() function.

* Update key labels in info.json for LAYOUT_60_ansi_split_rshift

Makes them consistent with the the rest of the file.

* Update Docs links in readme file
2019-07-02 09:22:56 -07:00
francislan
adda4e137e [Keymap] Replaced xxxxxxx by XXXXXXX to fix build breakage (#6228) 2019-07-02 09:21:45 -07:00
Dan Smith
8b58c67bbb [Keymap] snowkuma Planck keymap (#6225)
* Snowkuma's planck layout.

Heavily influenced by both Planck and SDOTHUMs layouts.  I have tried to
implement a comfortable layout with a wide stagger and a minimal set of
key usage.

Still a work in progress, hope it is useful to others.

* Adds simple readme file and images of layout

* Removes unused experimental definitions

* Update readme.md

Adds images of layout to readme.

* Removes accidentally added test keymap .swn .swo .swp files

* Updates config.h replaces include guard

As suggested by @noroadsleft replaces the include guard (ifndef, define
and endif) with just `#pragma once`.

* Replaces two extra KC with inbuilt QMK equivalents

custom_keycodes.h
Replaces `___f___` with the equivalent QMK alias `_______` KC_TRNS
`___x___` with the equivalent QMK alias `XXXXXXX` KC_NO

Updates keymap.c to reflect the changes made.

* Changes keymap.c to include QMK_KEYBOARD_H

Replaces planck.h and action_layer.h includes with the single inclusion
of QMK_KEYBOARD_H which includes action_layer.h automatically.

* Update keyboards/planck/keymaps/snowkuma/keymap.c

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

* Update keymap.c

removes unused Coleman key code from enum planck_keycodes

* Update keymap.c removes COLEMAK key code logic
2019-07-02 09:20:44 -07:00
fauxpark
8f3dabbf3f [Keyboard] Remove empty led_set_kb() from crkbd/rev1 (#6230) 2019-07-01 22:53:28 -07:00
yiancar
c45b751b14 [Keyboard] Gingham (#6212)
* Initial

* Prepare for final release

* Final

* Update keyboards/gingham/matrix.c

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

* Update keyboards/gingham/rules.mk

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

* Update keyboards/gingham/rules.mk

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

* Update keyboards/gingham/config.h

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

* Update keyboards/gingham/gingham.h

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

* Update keyboards/hs60/v1/rules.mk

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

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/gingham.h

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

* Update keyboards/gingham/gingham.h

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

* Fixing copypastas

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/info.json

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

* Update keyboards/gingham/info.json

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

* More thingies
2019-07-01 13:11:38 -07:00
Biacco42
58641572cb [Keyboard] Add meishi2 keyboard (#6138)
* Add meishi2

* Fix pin assign

* Fix matrix representation macro

* Remove needless mcu conf
2019-07-01 12:48:34 -07:00
takashiski
c93954899e [Keyboard] Add Otaku split (#6207)
* init

* update

* split master left and right for qmk configurator

* add

* copy rev0 to rev1

* change rev1 file from rev0

* move rev0 keymap

* remove root keymap

* add comma

* update keymap

* add info.json

* update readme

* Update keyboards/otaku_split/rev1/rules.mk

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

* Update keyboards/otaku_split/rev0/config.h

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

* Update keyboards/otaku_split/rev0/readme.md

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

* rename .c, .h

* rename c&h files

* update rev0 readme

* copy default to sample

* remove VA_ARGS from default, rev0

* remove otaku_split.h and fixed sample keymap

* update keymaps

* update readme

* Update keyboards/otaku_split/rev1/config.h

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

* Update keyboards/otaku_split/rev0/rules.mk

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

* remove no need keycodes

* add rev0 infojson

* Update keyboards/otaku_split/rev0/config.h

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

* Update keyboards/otaku_split/rev0/readme.md

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

* Update keyboards/otaku_split/rev1/readme.md

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

* remove no user custom keycodes

* remove backslash

* remove backslash
2019-07-01 12:45:24 -07:00
Garret G
7095ae10f7 [Keyboard] add support for the RoPro Keyboard (#6210)
* add support for the RoPro Keyboard

* Update Readme.md

* update to missing keys in default keymap.c

* update default.c

* update formatting in ropro.h

* Update formatting on Readme.md

* Update rules.mk

* update to bootloader

* Create New File; config.h

added config.h file to pull request

* major transfer swap of ropro.h and config.h

* Update JSON to match Keymap

* Update New Layer Identifier

* Update Newbs Guide Info readme + Formatting

* Update Matrix Clarification

* Omit Layout for Clarity

* Changed default keymapbFile Title

default.c —> keymap.c

* Update Config.h

Add Rotary Encoder pins (this May not be correct)

* Add Rotary Encoder Build option

* Added rotary Encoder ID to keymap.c

* Update ropro.h

Added Commas at end of macro lines

* Update ropro.h

Added 1 “,”

* Update keymap.c

Omit suggested Line

* Update ropro.h

Format of “Lower”

* Apply suggestions from code review

Formatting of various suggested changes

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

* update ropro.h

fixed rotary encoder click batch

* Update keymap.c

fixed rotary encoder click batch

* update config.h

fixed rotary encoder click batch

* "Clean Up" Keymap.c

* Update config.h

focus on Rotary and RGB activation and routing

* Update ropro.h

focus on rotary click

* update rules.mk

add RGB "underglow" function

* update readme.md

formatting and picture modifications

* update config.h

re add pragma

* Update keyboards/ropro/ropro.h

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

* Update keyboards/ropro/info.json

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

* Update keyboards/ropro/readme.md

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

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

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

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

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-01 12:44:02 -07:00
tucznak
aa587a5abb [Keymap] Add personal keymaps (#6217)
* TuCZnak's NIU keymap

* TuCZnak's KBD75 layout

* TuCZnak's KBD67 layout

* Implemented suggested changes

* Implemented suggested changes, cleanup

* Implemented suggested changes, cleanup
2019-07-01 12:42:17 -07:00
Danny
2c41b69d3e [Keyboard] Fix detection of Iris rev number used to set bootloader (#6226) 2019-07-01 12:21:09 -07:00
Drashna Jaelre
7ab99528d8 [Docs] Fix SFT_T in examples in advanced features page (#6223)
[docs] fix typo
2019-07-01 01:02:42 -07:00
Drashna Jaelre
57d389823b DZ60 w/ 2.25u left shift and arrow cluster (#6215)
* PoC weeheavy_2.25_lshift

* KB_B should read KC_B

* L1 work

* add play/pause and brightness to layer 1

* update README
2019-07-01 00:57:20 -07:00
tucznak
8be3c6f058 [Keyboard] Corrected Tanuki keymap to match physical appearance (#6216) 2019-07-01 00:56:42 -07:00
Franklin Harding
64aef1f4c9 [Keyboard] Add PDXKBC badge keyboard (#6218)
* Add PDXKBC badge

* Better custom keycodes enum formatting

* Remove #MCU

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

* Proper README spacing

* Rename DEBOUNCING_DELAY to DEBOUNCE

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

* Fix keyboard maintainer github link

* Add info.json
2019-07-01 00:49:57 -07:00
shela
c1c0cf73ce fix typo 2019-07-01 15:32:59 +09:00
Oliver Ladner
c257444509 update README 2019-06-29 23:49:14 +02:00
Oliver Ladner
c87851fcd5 add play/pause and brightness to layer 1 2019-06-29 23:35:19 +02:00
Isaac Elenbaas
86e0420b42 [Keymap] New Planck 2x2U keymap (#5519)
* Initial keymapping

* Removed unneccessary config files

* Update readme.md

* Updated symbol locations, tap dance on parentheses for brackets.

* Update readme.md

* Fixed layout image inconsistencies

* More quality shift key layer control, swapped enter + shift enter

* Keyap tweaks and config cleanup

* Almost compiling, still has layout reference issues.

* Finally compiling. 2x2u layout (default, not mine) had nonexistent keys on it

* Super minor changes

* Ctrl+Bksp after first tap

* Changed bind so un/lock is explicit to work with remote un/locking

* Added keyboard passwords please don't hate me

* Changed backspace functionality and added em dash

* Changed to send_string because it's preferred for macros

* Minor fixes

* Removed global redefinition and fixed possible issue between 6KRO and NKRO

* Cleanup

* Layer names, password layer is OSL over toggle

* Hopefully now in QMK preferred format.

* Blank passwords.c

I realized with me excluding this it wouldn't compile - so adding a blank one.

* Fixed OSLs not cancelling after tapping term

* Matrix change.

KC_NO instead of repeating.

* Unneeded line.

Co-Authored-By: IsaacElenbaas <34344969+IsaacElenbaas@users.noreply.github.com>

* Fixed return statements to work with after-press functions

* External image host

* Removed image from github

* Removed unneccessary rules.mk lines and fixed tabbing

* Typos

* Fixes upon part arrival.

* Final changes and bug fixes

* Preventing KC_NO from waking monitors.

* Fix to rest of matrices

In response to https://github.com/evillemez/qmk_firmware/issues/1—the rest have the same problem.
The switch of k37 for k36 is just for consistency between that and the 2x2u.

* Workaround for #6214, minor changes, CRLF change in passwords because it won't leave my modified no matter what I do.
2019-06-29 11:31:10 -07:00
jotix
8638b78819 [Keymap] jotix ortho_4x12 layout match new keycaps (#6209)
* jotix ortho_4x12 layout match new keycaps

* Update layouts/community/ortho_4x12/jotix/keymap.c

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

* Update layouts/community/ortho_4x12/jotix/keymap.c

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

* Update layouts/community/ortho_4x12/jotix/keymap.c

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

* get off layout_kc

* update readme

* get off the numpad
2019-06-29 11:22:34 -07:00
Oliver Ladner
fb6e5fd426 L1 work 2019-06-28 22:43:33 +02:00
ai03
e4b91cffea [Keyboard] Add Quasar SSK Controller (#6201)
* Begin work

* Finalize files

* Fix readme

* Update readme.md

* Add configurator support

* Update keyboards/ai03/quasar/rules.mk

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

* Remove tailing backslashes in keymaps
2019-06-28 10:52:25 -07:00
Vega Deftwing
064bdf7b6c [Keymap] Added 'Vega' ErgoDone layout (#6196)
* Added 'Vega' ErgoDone layout

* Changed as to Fauxpark's recomendations

* removed unused custom_keycodes
2019-06-28 10:52:00 -07:00
Michael F. Lamb
b802c0c8df [Keymap] mitosis:datagrok: use non-copyrighted songs, add workman ditty (#6205) 2019-06-28 10:50:49 -07:00
fauxpark
8c1900a658 Remove one more copyrighted song (#6200) 2019-06-26 18:12:27 -07:00
Max Rumpf
49699294b6 [Keyboard] Add Pulse 4k, a macropad by Maxr1998 (#6195)
* Add Pulse 4k, a macropad by Maxr1998

* Some config tweaks

* Remove image note

* Add license headers

* Fix media keys

* Remove Play/pause again as it doesn't work on Linux
2019-06-26 13:42:14 -07:00
vuhopkep
d4ff836d64 [Keyboard] Add Hnah40 keyboard (#6183)
* Add Hnah40 keyboard

Adding new keyboard Hnah40, open source hardware

* update infor

* make code looks neater

* move to handwired board

move and update readme file

* update

* update

* update image

* change bootloader type

* last change
2019-06-26 13:41:32 -07:00
Joel Challis
2a56b61a28 [Keyboard] Refactor of onekey to support multiple development boards (#6017)
* Initial refactor of onekey to support multiple development boards

* Fixes to get teensy lc && 3.2 working

* Add pin tables

* Add caveats to Teensy boards

* Correct bootloader for Elite-C
2019-06-26 10:52:09 -07:00
kifinnsson
01fb06af6c [Keymap] kifinnsson's Colemak angle mod ansi-ish layout for the dz60 (#6191)
* [Keymap] kifinnsson's dz60 keymap

kifinnsson's custom keymap for the dz60

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

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

* Fixed readme.mk

cleaned up my readme.mk

* fixed readme.mk
2019-06-26 00:40:38 -07:00
kakunpc
be2c346edf [Keyboard] Add keyboard "suihankey" (#6184)
* new keyboard suihankey

* set split keyboard

* set default keymap

* fix keymap

* update default rules.mk

* I erased what I didn't need.

* Fix default keymap

* fix config

* add keyboard image url

* Update readme.md

* update README.md

* add info.json

* Update keyboards/suihankey/readme.md

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

* remove default RGBLIGHT on
2019-06-26 00:39:14 -07:00
Manna Harbour
4be1dfcee4 [Keymap] miryoku layout (#6171)
* First release

*  add "#pragma once" to config.h and related docs

* generate config.h with change from miryoku.org
2019-06-26 00:33:12 -07:00
Mathias Andersson
3483c51f62 [Keyboard] Modernize KMAC (#6131)
* [Keyboard] Modernize the KMAC implementation

This brings the matrix implementation more in line with the current
default matrix code.
It also simplifies the implementation quite a bit.

* [Keyboard] Add layout support to KMAC
2019-06-26 00:32:03 -07:00
Callum Oakley
8fd3f42281 [Keymap] use lowercase send_string for non-literals (#6193) 2019-06-25 10:13:00 -07:00
noroadsleft
2636464b85 [Keyboard] Cannonkeys Instant60 Configurator updates (#6186)
* Rename layout macros

The Instant60's info.json was updated in #6157. The intention seems to have been supporting Community Layouts, but that feature was not implemented. After checking that the layouts conform, rename the appropriate layout macros.

- rename LAYOUT_ansi as LAYOUT_60_ansi
- rename LAYOUT_tsangan as LAYOUT_60_tsangan_hhkb
- update `default` and `tsangan` keymaps

* Enable Community Layout support

Supported Community Layouts:

- 60_ansi (Instant60 ANSI version)
- 60_tsangan_hhkb (Instant60 Tsangan version)
2019-06-24 23:28:09 -07:00
Callum Oakley
5b776cfc2d [Keymap] the results of some experiments and radically simplify keymap.c (#6172)
* keymap simplification and fancy alt tab behaviour

* move symbols around and try ergo numbers

* mess with symbol positions

* f11 and f12 for volume control (for ease of remapping)

* slack unread navigation

* experiment with mods on home row

* mods on symbol layer

* dedicated tab left and tab right keys

* swap next and prev

* remove hold to shift on a and o

* revert to simpler keymap

* restore readme

* point to keymap image

* cmd + cmd -> cmd + ctrl

* expand readme

* slack unread channel navigation

* Update keyboards/planck/keymaps/callum/keymap.c

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

* return true from cmd handling block
2019-06-24 23:13:40 -07:00
Agent Blu, 006
48b5903677 [Keyboard] Added 3d printable, handwired numpad by tritiumfusion (#6125)
* Added tritium_numpad

Adding tritium numpad handwired 6x4 numpad design from thingiverse
user tritiumfusion.

* Updated readme with more tritiumfusion information

* Changed spacing in readme

* Changed blu keymap

* Update keyboards/handwired/tritium_numpad/config.h

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

* Update keyboards/handwired/tritium_numpad/config.h

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

* Update keyboards/handwired/tritium_numpad/config.h

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

* Update keyboards/handwired/tritium_numpad/keymaps/max/keymap.c

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

* Update keyboards/handwired/tritium_numpad/tritium_numpad.h

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

* Update keyboards/handwired/tritium_numpad/tritium_numpad.h

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

* Update keyboards/handwired/tritium_numpad/tritium_numpad.h

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

* Update keyboards/handwired/tritium_numpad/keymaps/ortho_left/keymap.c

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

* Update keyboards/handwired/tritium_numpad/keymaps/ortho_right/keymap.c

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

* Update keyboards/handwired/tritium_numpad/rules.mk

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

* Update keyboards/handwired/tritium_numpad/rules.mk

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

* Update keyboards/handwired/tritium_numpad/readme.md

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

* Removed action_function(), function_id, and MODS_CTRL_MASK

* Reformatted keymaps so that they look nicer.  Removed hackey backslashes that were there for no reason whatsoever.

* Update keyboards/handwired/tritium_numpad/readme.md

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

* Removed more backslashes

* Added bootmagic to tritium_numpad
2019-06-24 23:11:51 -07:00
Yan-Fa Li
1a2a54c326 [Keyboard] Add TA-65 PCB to QMK (#6180)
* [keyboard] TA-65 by maartenwut

 Add ta65 to QMK with 4 layouts

* Simplify config.h

* Simplify keymap

* Update bootloader

 - confirmed to be qmk-dfu by maartenwut

* Update keyboards/ta65/readme.md

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

* Review feedback

 - fauxpark recommendations
 - noroadsleft recommendations

* Repair info.json structure

JSON objects were not properly nested according to the QMK specification.

* Switch info.json to "debug linting"

So I can read the file more easily.

* Remove k2c and k31 from LAYOUT_tsangan

k2c was the Non-US Hash position, and k31 was the Non-US Backslash position, but this layout is intended for ANSI.

* Correct LAYOUT_tsangan data in info.json

* Update tsangan keymap to use updated LAYOUT_tsangan macro correctly

* Rename LAYOUT_tsangan to LAYOUT_ansi_tsangan

Increased clarity.

* Rename tsangan keymap as default_ansi_tsangan

Per QMK Keyboard Guidelines.

* Fix object ordering for ISO layouts in info.json

ISO Enter's object was out of sequence in both layouts.

* Rename ISO keymaps per QMK Keyboard Guidelines

- rename iso keymap as default_iso
- rename iso_tsangan keymap as default_iso_tsangan

* Add default_ansi keymap

For user reference.

* Enable Community Layout support

LAYOUT_ansi and LAYOUT_iso conform to the 65_ansi and 65_iso Community Layouts, respectively.

- rename LAYOUT_ansi to LAYOUT_65_ansi
- rename LAYOUT_iso to LAYOUT_65_iso
- update keymaps as appropriate
- add LAYOUTS rule to rules.mk

* Disambiguate key labels in info.json

* Remove trailing white space from info.json

* Update keyboards/ta65/keymaps/maartenwut/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-24 12:29:53 -07:00
Drashna Jaelre
0a2894fc99 [Keyboard] Fixup RGB Matrix functionality on Planck EZ (#6099)
* [Keyboard] Allow RGB Matrix to be disabled on Planck EZ that don't have LEDs

* Add function calls to enabled/disable rgb matrix on idle/wakeup
2019-06-24 09:42:56 -07:00
Drashna Jaelre
80a40807e3 [Keyboard] Add idle/wakeup function calls to Ergodox EZ (#6173) 2019-06-24 09:22:05 -07:00
Josef Adamčík
1cdaedbedf [Keymap] Katana60 custom layout by josefadamcik - MacOS/Linux+Qwerty/Colemak support (#6178) 2019-06-24 00:31:47 -07:00
Andrew Kannan
cd59fe78be [Keyboard] Add Ortho75 (#6177)
* Add Ortho75

* fix typo

* Add dfu args to rules.mk

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/info.json

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

* Update keyboards/cannonkeys/ortho75/keymaps/default/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-06-24 00:28:38 -07:00
lf
1a442f9989 [Docs] Reword confusing description of TO(layer) (#6174)
* Reword confusing description of `TO(layer)`

* Update docs/keycodes.md

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-24 00:23:27 -07:00
Andrew Kannan
3915c8eb00 [Keyboard] Add AN-C PCB (#6157)
* Add cannonkeys AN-C keyboard

* Update Instant60 readme to point to CannonKeys docs

* Ortho75

* Update keyboards/cannonkeys/an_c/an_c.h

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

* Update keyboards/cannonkeys/an_c/an_c.h

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

* Update keyboards/cannonkeys/an_c/keymaps/default/keymap.c

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

* Update keyboards/cannonkeys/an_c/keymaps/default/keymap.c

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

* Update keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c

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

* Update keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c

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

* Update keyboards/cannonkeys/an_c/rules.mk

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

* Update keyboards/cannonkeys/instant60/readme.md

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

* Update keyboards/cannonkeys/an_c/readme.md

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

* Update readme

* Update info.json

* Remove Ortho75 and put in a separate branch

* Update info.json

* remove redundant things

* Update keyboards/cannonkeys/an_c/keymaps/default/keymap.c

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

* Update keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c

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

* Update rules and info.json
2019-06-24 00:09:02 -07:00
Tyler Wince
90b10f2e7c [Keymap] add planck/tylerwince (#6169)
* tylerwince keymap added

* modifications for PR

* remove legacy import

* fix some build errors

* fix layers

* restore custom_keycodes

* remove trailing commas

* change persistent layer function

* update light noeeprom

* layer state set user

* missing trailing "

* changes to single_default_layer

* added autoshift and made a couple mods

* added planck layout

* formatting

* reset to upstream

* updated some comments

* remove EEP_RST

* Apply suggestions from code review

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-22 12:25:00 -07:00
henrikosorensen
1c75385d76 [Keyboard] Add new keyboard: Omnikeyish - A replacement PCB for the Northgate Omnikey family (#6167)
* Add omnikeyish keyboard support.

* remove out of date comment

* PCB Rev 1.1 moved Row5's pin to E6, because the teensy++ hangs an onboard LED off D6.

* Move string.h include to .c file

* Add pcb kicad link.

* Add info.json

* Move macro programming to numlock's keyposition, the most useless key on the post model M layout. Force numlock enabled on host at init time, so you're not stuck without a numpad (hopefully)

* Make the macro blink function toggle LEDs from their previous state.

* Use incorrect but code style compliant opening curly bracing style.

* Make PCB rev 1.1 the default Omnikeyish config, as the author has the only rev 1.0 boards that'll ever be.

* Fix silly spelling error in 3 defines

* First set of review changes.

* Layout macro and keymap defined using it.

* Layout macros for the northgate factory plates.

* minor rearrangements

* ALL the layouts.

* Forgot ultra-t in info.json
2019-06-22 08:36:05 -07:00
4saito5
7f23ad72c5 [Keymap] New keymap for crkbd (#6103)
* New keymap

* Update keymap
2019-06-20 13:00:39 -07:00
Max
af34c548f9 [Keyboard] fixes for issue with aanzee qmk port (#6159)
* fixed issue with LED indicators
corrected error in info.json

* fixed issue with led indictors

* added fix for key_count to info.json for westfoxtrot/aanzee

* fix to support config.qmk.fm correctly and remove unused key from matrix for westfoxtrot/aanzee

* fix for caps_lock led

* Update readme.md
2019-06-20 12:34:19 -07:00
Fredric Silberberg
b36bb58b76 Add ergodash layout, update the backlight numbers for the rgb backlight to be the actual intended colors. 2019-06-20 09:25:41 -07:00
Xelus22
e15417eca8 [Keyboard] Aeboards Ext65 - New keyboard & Aegis Update (#6127)
* aegis config update and ext65 added

* update readme's

* PID ext65 change

* fix ext65 config
2019-06-20 09:20:15 -07:00
fauxpark
317b809564 Fix breathing always on for soft PWM (#5983)
* Fix breathing always on for soft PWM

* Remove reference to hardware PWM pins in BACKLIGHT_BREATHING description

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

* Document BACKLIGHT_ON_STATE and its purpose
2019-06-19 22:33:39 -07:00
yiancar
67e0c951af [Keyboard] Added NK65 Picture in Readme as promised (#6163) 2019-06-19 22:20:59 -07:00
Michael Speiser
db0c179552 [Keymap] Added Deft layout (#6153)
* Added Deft layout

* Updated style and keymap

* Updated readme, removed files

* Updated readme and keymap

* Updated readme

* Fixed broken keymap

* Fixed a typo in keymap and readme layer images

* Fixed a typo in readme

* Embedded layout image for readme

* Embedded layout image for readme

* Embedded layout image for readme

* Fixed typos in keymap

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

* Fixed typo in keymap

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

* Fixed typo in keymap

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

* Fixed a spelling error in the readme

* Typos and formatting in readme

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-06-19 22:19:54 -07:00
Alex Mayer
9639f44f48 [Keyboard] 1up60hse: Add RGBLIGHT_SLEEP To Default Config (#6164) 2019-06-19 22:04:24 -07:00
Max Rumpf
8af3fe0c7d [Keymap] Actually swap space and left control in gaming mode (#6162) 2019-06-19 22:02:43 -07:00
Danny
810c8db770 Set default I2C clock speed to 100kHz for split_common (#6161)
* Set default I2C clock rate for split_common boards to 100kHz

Default from I2C driver is 400kHz.

* Update documentation for setting I2C clock speed
2019-06-19 22:02:20 -07:00
noroadsleft
5f0ab5a24b [Keyboard] Planck Layout Macro Refactor, Part II (#6156)
* Move layout macros to revision folders

* Update Planck EZ layout macros

Planck EZ only supports one layout (centered 2u spacebar). Deleted all the other macros.

* Flesh out QMK Configurator support

Give each Planck revision its own info.json file.

* Readme updates

- give each revision its own readme
- add the Planck EZ to the main Planck readme

* Fix layout macro for Planck EZ

Previous matrix didn't compile because the electrical matrix defined a k3b location, which was unused by the physical arguments.

Drashna was kind enough to confirm the Planck EZ's matrix for me.

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Pretend the Planck EZ supports ortho_4x12 layout

The hardware doesn't, but doing so prevents CI errors because the default keymap uses LAYOUT_planck_grid.

Going to pretend LAYOUT_ortho_4x12 is a valid layout for the Planck EZ.

* Update Planck EZ's URL in info.json

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-19 10:56:20 -07:00
Jimmy Multani
a825bbf5ea [Keyboard] Fix incorrect RGBLED_NUM value (#6148)
KBD67 Rev 2 has 20 LEDs, not 18. This was causing 2 of the underglow LEDs to remain off. This fix updates that.
2019-06-18 22:54:55 -07:00
jotix
4a43a947bd [Keymap] Update Jotix keymap (#6154)
* jotix ortho_4x12_layout

* jotix ortho_4x12_layout

* add KC_CAPS to raise
2019-06-18 22:47:54 -07:00
Ismael Venegas Castelló
628e08c606 [Keymap] Add new mod tap dances to Hacker Dvorak (#6155) 2019-06-18 22:43:06 -07:00
joelproko
2d15961855 [Keyboard] added custom keyboard (#6141)
* added keyboard_layout_jopr

* making it compile

* #pragma once instead of #ifndef and #define

* renamed and added keymap

renamed old "default" to "modded_white", added new "default" that resembles an ISO 105-key layout

* reordered keyboards/jopr/info.json to match order o layout array

* implemented most suggestions

* fixed missing ;

* fixed bootloader setting for rules.mk

* adopted standard layout matrix naming convention

* "fixed" commented-out code in keymaps

* changes to keymap layers and LEDs

Turns out adding a layer for ROYA-modified keycodes is more trouble than it's worth and works better by just defining a ROYA key.
Also, LEDs were set up incorrectly.
Lastly, implemented SysReq-Warning LED.

* moved forced NumLock code

just in case either it or the CapsLock & ScrlLock update code wouldn't both work otherwise

* rearranged media keycodes

* replaced Shifted keycodes with basic ones

* Apply suggestions from code review

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

* implemented suggestions by noroadsleft

* Apply suggestions from code review

Make ISO-Enter QMK Configurator-friendly

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

* Update readme.md

* Update keyboards/jopr/info.json

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

* moved keyboard to handwired folder

It was said that personal passion projects belong in there, even if they're not actually handwired

* Update readme.md
2019-06-18 11:34:36 -07:00
George Petri
d5f0327b97 [Keymap] Add keymap for keebio/nyquist (#6144)
* duplicate default

* delete colemak, dvorak

* cleanup

* update keymap

* disable unused rules, fix spit leds

* ascii layout keymap

* wip change rgb on layer

* change rgb on layer

* change rgb on caps lock

* add impl navigation layer

* add readme, swap gui and alt

* update readme

* Update keyboards/keebio/nyquist/keymaps/georgepetri/readme.md

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

* Update keyboards/keebio/nyquist/keymaps/georgepetri/readme.md

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

* remove backslashes, use IS_HOST_LED_ON
2019-06-18 11:01:51 -07:00
M-AS
70285f5ed9 [Keymap] Update to personal keymaps (#6142)
* added personal CTRL keymap

* added personal dz60rgb keymap

* enabled new rgb effect

* added space cadet shift

* media player track buttons now orange

* updated keymaps with rgb setting and visual HSV setting preview

* fixed source stuff?

* added support for underglow toggle (bugged to all hell)

* everything now behaves as expected when ti comes to RGB toggles, thank god

* removed ifdefs

* changed color of MAS_CRM

* uh, whitespace

* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB

* updated keymap to work kindof

* KEYMAP: changed list of rgb effects

* changed CTRL rgb defaults

* KEYMAP: new LED layout for ctrl

* fixed white LED position in indicator

* changed capslock tap timing
2019-06-17 23:37:51 -07:00
Benjamin
875ae08692 [Keymap] ortho_4x12: bredfield (#6137)
* [Layout] 4x12: bredfield

* ortho_4x12:bredfield code review tweaks
2019-06-17 19:50:31 -07:00
Scott Sheffield
7f65844f75 [Keymap] 40percent/gherkin Midi Layout (#6130)
* Add midi layout for 40percent/gherkin

* Add readme for 40percent/gherkin:midi
2019-06-17 19:40:38 -07:00
fauxpark
6bdcbfb25a Fix backlight breathing on C6 (#6102)
* Fix backlight breathing on C6

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

* Document hardware PWM on D4 for ATmega32A

* Add C6 and D4 to BACKLIGHT_PIN description
2019-06-17 19:37:17 -07:00
Sid Carter
c6850bad74 [Keymap] Layout for FC660C with additions for mouse keys and few other changes (#6139)
* new keymap for the hasu with media keys and mac layout

* switch escape and grave

* switch to the usual default

* with play and stop

* add reset on fn layer

* add mouse buttons, move reset, update copyright
2019-06-16 17:44:14 -07:00
SpacebarRacecar
83754c1146 [Keymap] Update to personal keymaps (#6136)
* changes to keymaps

* changes to userspace

* changes to userspace

* removed reference to fc660c keymap which no longer exists from userspace readme

* removed preonic keymap
2019-06-16 17:35:20 -07:00
Oliver Ladner
9058c93bc1 KB_B should read KC_B 2019-06-16 22:47:37 +02:00
Oliver Ladner
e58b82e7ca PoC weeheavy_2.25_lshift 2019-06-16 22:19:02 +02:00
Jonathan Rascher
53a81fc2f6 [Keymap] Minor userspace and Quefrency keymap fixes (#6134)
* Fix typo for RGBLIGHT config values

It doesn't make a difference right now since these are the defaults in
rgblight.h (which I'm just setting explicitly since some of the keyboard
configs change these defaults). However, I'd rather be explicit, so
fixing my typo. :)

* Remove mouse keys layer from Quefrency keymap

It's a fun idea, but I never use it in practice.
2019-06-16 00:35:46 -07:00
Rob Hilgefort
fff526cb00 [Keymap] Fix firmware errors when flashing Rev6 Planck (#6135) 2019-06-16 00:34:10 -07:00
Yusuke Nakamura
5f69ca47ff Install avrdude in Arch/Manjaro Linux (#6132)
avrdude is require package but not installed by script when
arch linux.
2019-06-15 11:32:06 -07:00
jotix
d34b71f008 [Keymap] jotix ortho_4x12_layout rethink (#6126)
* jotix ortho_4x12_layout rethink

* refactor

* readme update
2019-06-14 11:10:56 -07:00
roggan87
1cd26607bd [Keyboard] Made it possible for real to choose register on io expander for cols and rows (#6124)
* Replace deprecated EXPANDER_MASK with dynamic expander_pin_input_mask

* Made it possible to switch rows and cols registers on expander
2019-06-13 11:47:31 -07:00
Nicholas Ryan
03ce37052f [Keymap] add new planck keymap (#6122)
* add new planck keymap

* add newlines to end of files
2019-06-13 11:45:48 -07:00
kakunpc
61b884d865 [Keymap] add keymap hecomi alpha (#6115)
* add keymap hecomi alpha

* Update keyboards/hecomi/keymaps/kakunpc/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-13 11:44:44 -07:00
noroadsleft
f4840139a2 [Keyboard] Planck: Layout Macro Refactor (#4402)
* Planck: layout macro refactor

Unified layout macro names across AVR and ARM boards.

Currently certain layout macros are specific to either AVR or ARM when used in the QMK Configurator. If an AVR-specific macro is used for a Planck rev. 6, or an ARM-specific macro on a rev. 5 or earlier, the user receives a compile error.

* Update keyboards/planck/planck.h per @drashna

Changed KC_LAYOUT_ortho_4x12 alias to LAYOUT_kc_ortho_4x12.

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

* Add KC_KEYMAP alias for LAYOUT_kc macro

per @drashna
Update keyboards/planck/planck.h

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

* Fix LAYOUT_planck_1x2uC macro for Planck rev6

Thanks to drashna for testing.

* Fix inline comment regarding revisions

* Add specific info.json file for Planck rev6
2019-06-12 09:53:15 -07:00
mgalisa
29824f3cf7 [Keymap] New planck keymap (#6093)
* New keymap

* Add readme; fix lack of asterisk on raise

* Update default planck map to tap_code vs reg/unreg

* Press F to pay respects
2019-06-11 16:02:33 -07:00
brickbots
5343eaf89a [Keymap] Adding personal keymap / clarifying default keymap readme (#6119)
* Adding led support for Plaid

* Adding led support for Plaid

* Update readme.md

Fixing bad markdown

* Adding my personal keymap

* Clarifying LED instructions / formatting
2019-06-11 15:56:06 -07:00
Michael F. Lamb
e6a81133dd Add SH1106 OLED support (#5787)
* modify oled_driver to support SH1106

also:
- improve mechanism to specify which OLED IC we use
- comment calc_bounds()
- give OLED_COLUMN_OFFSET a default value
- inline comment re: OLED MEMORY_MODE and SH1106
- update docs/feature_oled_driver.h for SH1106 support and related changes
- docs: OLED: note we have tested SSD1306 on ARM boards (per @XScorpion2)
- define out MEMORY_MODE when using SH1106 OLED driver

* document that SSD1306 128x64 on AVR works

Per @XScorpion2: https://github.com/qmk/qmk_firmware/pull/5787#discussion_r291837842
2019-06-11 15:27:17 -07:00
Volodymyr Lukashevych
b92387b749 [Keymap] Add BB8520 trackpad support for CrKbd (#5925)
* Add vlukash CrKbd keymap to support trackpad adapter.

The trackpad adapter uses Elite-C board that has five extra pins.
Also SPI pins are taken for trackpad, keymap config updates column data
pins for matrix scan.

* Update vlukash keymap

* Enable pointing devide, configure mouse BTN1

* Set TAPPING_TERM to 300

* Add support for the BlackBerry 8520 trackpad

* Add vlukash keymap for master-right no-trackpad version

* Remap backspace

* Set EXTRAKEY_ENABLE = yes

* Update thumb keys mappings

* Set bootloader to atmel-dfu

* Sync keymap

* Add scrolling support

* Make debug LEDS conditional

* Add support for both flex and no-flex PCBs

* Add readme and rename root folders

* Update readme file with blog link

* Fix readme file formatting

* Remove ADJUST keycode, code cleanup.

* Add Win key to the keymap.
2019-06-11 15:18:14 -07:00
pngu
2558466d78 [Keyboard] Added idb 60 keyboard (#5994)
* Added idb 60 keyboard

* fixed info.json

* implemented revievers' suggested changes

* fixed an error

* implemented revievers' suggestions

* further cleanup

* implemented suggested changes

* fixed errors
2019-06-11 14:58:29 -07:00
Yan-Fa Li
332fc7e814 [Keymap] Tsangan bottom plain60 configuration (#6100)
* Personal keymap for plain60

* Update keymap for incorrect keys

 - update docs

* Placate the gods of Case Insensitivity
2019-06-11 14:49:50 -07:00
Drashna Jaelre
1d11c62df6 Jotix minor layout changes - readme.md fix (#6120)
* jotix layout add KC_GESC

* fix error in readme.md
2019-06-11 14:43:50 -07:00
Chris Scheib
bba5c09b23 [Docs] Update feature_rgb_matrix.md (#6117)
* Update feature_rgb_matrix.md

fix indentation on code comments

* Update feature_rgb_matrix.md

more formatting changes, missed these the first time
2019-06-11 14:42:53 -07:00
yiancar
105c90bd1c [Keyboard] Siemens Tastatur Converter (#6090)
* initial commit

* Siemens Tastatur

* Update keyboards/handwired/siemens_tastatur/keymaps/default/keymap.c

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

* beauty fixes

* More tidying up

* Update keyboards/converter/siemens_tastatur/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-11 09:14:54 -07:00
Calvin Moody
f664ed9254 [Keymap] add keymap with split spacebar, ansi, hhkb features (#6114)
* add calbatr0ss dz60 layout

* add media controls

* add media next/prev controls

* add base layer for windows and macos

* swap right ctrl and menu

* missing bracket

* update gitignore
2019-06-11 09:11:47 -07:00
brickbots
8c22d641ee [Keyboard] Adding LED support to the plaid default keycap (#6109)
* Adding led support for Plaid

* Adding led support for Plaid
2019-06-11 09:01:59 -07:00
Yan-Fa Li
d0c29f25c9 [Keyboard] Fix the layer state messages for actual values (#6116)
- display adjust when the bits are set correctly
2019-06-11 02:45:00 -07:00
shela
c3c61dc76e fix indent size 2019-06-11 01:51:40 -07:00
Christopher Jenkins
8ac9048803 [Keyboard] niu_mini uses dfu bootloader rather than the afrdude bootloader (#6092)
* niu_mini uses dfu bootloader rather than the afrdude bootloader
	modified: readme.md

* Change rules in rules.mk to reflect the bootloader change
	modified:   keyboards/niu_mini/rules.mk
2019-06-08 20:39:23 -07:00
jotix
a03ece6aff fix error in readme.md 2019-06-08 00:31:07 -03:00
XScorpion2
09968ba035 Fixing OLED Driver for 128x64 displays (#6085) 2019-06-07 17:02:05 -07:00
Jonathan Rascher
54ac80d4a5 Add 60_ansi_split_bs_rshift layout to DZ60, with a new keymap for the same (#6096)
* Add 60_ansi_split_bs_rshift layout to DZ60

I know there's already a lot of DZ60 layout macros, and #4668 suggests
they should be refactored at some point, but since this is one of the
standard layouts already in QMK that this PCB supports, I figured it was
okay to add so that DZ60 keyboards can share this layout with other
keyboards.

* New 60% ANSI split backspace/right-shift layout

I'm using this on a DZ60, but it should work fine on most 60% PCBs. It's
basically a HHKB layout with a standard ANSI bottom row (3x 1.25U mods,
6.25U spacebar, 4x 1.25U mods).
2019-06-07 17:01:13 -07:00
jotix
f6e2716dfb jotix layout add KC_GESC 2019-06-07 18:14:03 -03:00
MechMerlin
2cb32328b6 [Keyboard] New Keyboard(s): Red Scarf II+ RS68 and RS78 (#6084)
* martenwuut's original code commit

* delete random directory that is the same as the parent directory

* get this compiling

* update readmes

* add manufacturer

* fix up the keymap error and replace KC_A with KC_1

* add verc support which is basically just at trimmed down verb

* update keymap readme to specify which redscarf it is

* add parent level readme

* fix grammar

* fix up readmes and put in alternative name for PCBs

* add configurator support for the ver.c pcb

* add configurator support for Ver.B (RS78) pcb

* add iso support for Ver.C (RS68)

* change DEBOUNCING_DELAY to just DEBOUNCE

* remove K2C to fit the default layouts

* fix keymap

* fixup configurator layout with split backspace
2019-06-07 13:42:40 -07:00
jotix
2a71bc9fde [Keymap] jotix ortho_4x12 layout change (#6088) 2019-06-07 13:22:30 -07:00
Domantas Petrauskas
e86298fbe2 [Keymap] Update jj40:cockpit keymap (#6089)
* Add JJ40 Cockpit keymap

* Fix lower layer symbols

* Improve documentation JJ40 Cockpit

* Add screen backlight controls jj40:cockpit

* Update docs jj40:cockpit
2019-06-07 13:21:24 -07:00
Jonathan Rascher
c70016eee5 [Keymap] Set a short TAP_CODE_DELAY so media keys work (#6097)
A delay of 10ms seems sufficient. Otherwise, media keys tapped from the
encoder of my BDN9 macropad only seem to get picked up by the OS
(Windows 10) some of the time.
2019-06-07 12:58:23 -07:00
Pavlos Vinieratos
e495574670 use mods (#6095) 2019-06-07 06:44:46 -07:00
Drashna Jaelre
44f4338688 Fix debounce conflicts in a few boards 2019-06-06 20:03:33 -07:00
Viktor Eikman
983613c88d [Keyboard] Added DMOTE (#6087)
* Added DMOTE as a variant of the Dactyl-ManuForm, with slight changes to
  prior code organization to reflect differences.
2019-06-06 13:15:19 -07:00
TerryMathews
29c7fa6efc [Keyboard] Candybar: updated rules.mk (#6083)
* Candybar: updated rules.mk

Disabled console and command to get compiled size under flash space limitations.

* Candybar: Enable LINK_TIME_OPTIMIZATION_ENABLE
2019-06-06 13:08:27 -07:00
Stick
de29da973a [Keymap] update @nstickney's keymaps (#6076)
* [Keymap] iris@nstickney: improve RGB init

Perfecting the rgb backlight initialization with a delay for each
color; also start and stop the animation at the "default layer"
color.

* [Keymap] iris,ergodox@nstickney fix FN on SYMB

The function key was not operational on the SYMB and SYSH layers due
to other keycodes being mapped over MO() on those layers. The
offending keycodes have been moved to other keys.

* [Keymap] add @nstickney's userspace

Pulled common code out to a userspace directory for my iris and
ergodox keymaps.

* [Keymap] iris@nstickney add image to README

Added an image from keyboard-layout-editor.com to meet the README
standard.

* iris@nstickney hue values now `uint8_t` (#6050)
2019-06-06 13:00:52 -07:00
omkbd
872480dde2 [Keyboard] add runner3680 keyboards (#6069)
* add runner3680

* Remove unnecessary code
2019-06-06 12:50:00 -07:00
Drashna Jaelre
06975aa0dd Remove all Copyrighted Sounds and Songs (#5905)
* Remove all Copyrighted Sounds and Songs

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

* Add removed song list

Can be reverted if we'd rather do that

* Use newer coding conventions

* Fix typo

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

* Revert copyright date

* Update quantum/audio/song_list.h

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-06-06 12:23:46 -07:00
Drashna Jaelre
faaaa134fd Replace DEBOUNCING_DELAY (deprecated) with DEBOUNCE (#5997) 2019-06-06 12:09:56 -07:00
Jack Humbert
fe6b8edd58 use twitter card large setting for larger previews 2019-06-06 01:23:18 -04:00
Jack Humbert
834a8d1da1 add type:object to docs meta info (github uses it) 2019-06-06 01:07:54 -04:00
Jack Humbert
91b0c75045 Add meta tags for docs 2019-06-06 01:01:24 -04:00
Danny Nguyen
4f2f2271cd Change from avr-gcc@7 to @8 for Mac 2019-06-05 17:51:39 -07:00
XScorpion2
de968eb310 [Keymap] Xulkal changes (#6075) 2019-06-05 16:14:35 -07:00
Alex Mayer
b2f7915994 [Docs] Make Code Examples Consistent On Combo Page (#6078) 2019-06-05 11:18:20 -07:00
noroadsleft
a63e2abc9c [Keyboard] Fix Configurator support for Mulletpad (#6074)
- correct layout macro name
- correct JSON object ordering
2019-06-04 20:29:05 -07:00
ymzcdg
e0a0d80bd3 docs to Mandarin Chinese (#5960)
* faq_general.md to Chinese

faq_general.md to Chinese
faq finished

* custom_quantum_functions.md to Chinese

custom_quantum_functions.md to Chinese

* custom_quantum_functions.md fix 

custom_quantum_functions.md fix

* custom_quantum_functions.md fix translate 

custom_quantum_functions.md fix translate

* !ver.English! _summary.md bug fix

 _summary.md bug fix of English doc. add".md" behind "feature_combo"

* !ver.English! custom_quantum_functions.md fix#5869

custom_quantum_functions.md in English : delete redundant "is" . issue#5869

* !ver.English! how_keyboards_work.md link fix

change 
https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input
to 
https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_input
"#Hexadecimal_code_input" not exist

* !English! how_keyboards_work.md add missing "t"

Tied to a specific OS a a time (need recompilation when changing OS);
change to
Tied to a specific OS at a time (need recompilation when changing OS);

* _summary.md improve translation

_summary.md improve translation

* reference_glossary.md into Chinese

reference_glossary.md into Chinese
术语表翻译,这个术语表英文版似乎不太全,应该补充英文版,并在中文版添加其他具有中国特色的术语。
2019-06-04 11:06:17 -07:00
XScorpion2
e7711b3b66 Moving rgb typedefs into a single location (#5978)
Because someone named the define poorly

Using full relative path as handwired/promethium has a color.h file
2019-06-04 11:04:30 -07:00
Jack Humbert
661a9154ae Add missing links to features page and sidebar section (#5949)
* Add missing links to features page and sidebar section

* Fix links

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

* Additional link fixes

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

* Fix typo
2019-06-04 02:26:44 -04:00
Danny
0dc0be7302 [Keyboard] Add Levinson Rev 3 (#6064)
* Add Levinson Rev 3

* Update keyboards/keebio/levinson/rev3/config.h

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

* Update keyboards/keebio/levinson/rev3/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-03 23:26:34 -07:00
zvecr
91849853ba upgrade gcc-arm-none-eabi from the default 5.4.1 to 6.3.1 due to ARM runtime issues 2019-06-03 17:14:34 -07:00
Danny
a8958c5e53 [Keyboard] Updates to iris (#6063)
* Swap LSFT/LCTL in default Iris keymaps

* Migrate to new DEBOUNCE setting
2019-06-03 12:15:18 -07:00
Chris Dosé
7ddf3c28f4 Fixes compile errors for massdrop keyboards 2019-06-03 12:11:03 -07:00
Erovia
a678f4a206 [Keyboard] Dimple: fix unintended LED behaviour (#6046)
* Dimple: fix unintended LED behaviour

The LED was always-on if the custom keymap did not call dimple_led_off()
at least once.

* Dimple: LED code fixup
2019-06-03 12:09:46 -07:00
Peter Tillemans
32952d8624 Pti keymaps (#6025)
* created new folder to port my old layout

* removed Colemak, enabled backlight.

* fixed backlight support

* added Ctrl/Esc + Shift/Enter double function keys

* made planck compatible with Atreus board, including docs

* enable backlight control

* make planck more compatible with atreus layout

* migrate to qwerty and separate alt-space

* adding ok64 and redox layouts

* fix dot in numerical pad

* fix dot in dvorak layout

* added redox and pro micro version of snampad

* add arrows on right mod keys and map PrtScr on Fn P

* add keys to swap between mac and windows

* added escape to redox layout

* added printscreen key

* moved layout closer to what I am used to.

* swap spc and bspc, add ctrl to quot

* qwertified atreus layout

* fix for compile errors when RGB or BACKLIGHT disabled

* add customized keymap for the m65a

* Reverted unintended change in default keymap.

* Remove unused code in my keymap and modernized tap hold keys

* Update keyboards/snampad/config.h

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

* Update keyboards/snampad/rules.mk

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

* Update keyboards/snampad/rules.mk

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

* Update keyboards/snampad/snampad.h

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

* Update keyboards/snampad/config.h

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

* Update keyboards/snampad/keymaps/default/config.h

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

* Update keyboards/snampad/snampad.h

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

* Update keyboards/snampad/readme.md

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

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

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

* Update keyboards/snampad/snampad.h

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

* Update keyboards/snampad/snampad.h

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

* Update keyboards/snampad/snampad.h

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

* Update keyboards/snampad/rules.mk

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

* Update keyboards/planck/keymaps/ptillemans/keymap.c

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

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

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

* Update keyboards/snampad/snampad.h

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

* cleanup snampad layout

* Update keyboards/snampad/snampad.c

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

* further mmended cleaning

- removed obsolete Backspace handling in jc65 keymap
- improved shift detection
- modernized planck keymap
- added details to snampad readme
- other recommended refactors in snampad
2019-06-03 12:09:01 -07:00
Boy_314
28539fd67f [Keymap] Create Boy_314's Canoe layout, small update on xd75 layout (#6060)
* create canoe layout, update caps lock on xd75 layout

* added readme

* fixed copyright comments
2019-06-03 12:01:49 -07:00
Wilba
1a9173cafc [Keyboard] Added WT65-B, WT75-B, minor fixes (#5991)
* Added WT65-B, WT75-B, minor fixes

* Update keyboards/wilba_tech/wt65_b/config.h

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

* Update keyboards/wilba_tech/wt65_b/readme.md

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

* Update keyboards/wilba_tech/wt75_b/config.h

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

* Change DEBOUNCING_DELAY to DEBOUNCE

* Change DEBOUNCING_DELAY to DEBOUNCE
2019-06-03 00:46:00 -07:00
Danny Nguyen
4a8e62d30e Have hexwire Iris keymap use I2C 2019-06-02 21:23:35 -07:00
Danny Nguyen
2c8149aa55 Fix compilation error when I2C and encoder is enabled for split code 2019-06-02 21:23:35 -07:00
holtenc
5971b663cb Enable extrakey in rules (#6055)
* correct indicator light states.

function of indicator lights was inverted. these changes correct that.

* flesh out keymaps pre production

* Enable extrakey in rules
2019-06-02 14:19:31 -07:00
gorbachev
6766c5315e [Keyboard] 8 pack (#6031)
* 8-Pack Macropad

* Added MANUFACTUTER to config.h

* Fix the mirrored keymaps by creating rev1.1 and rev1.2 layouts, then using them in the keymaps

* fixes from code review comments

* Use revisions to manage the different layouts for rev1.1 and rev1.2

* Add DEFAULT_FOLDER to fix default build failures

* code review comments fixes

* code review comments fixes
2019-06-01 22:43:00 -07:00
Danny
0744af97af [Keyboard] Update Iris Rev 3 QMK-DFU settings (#6050)
* Set the correct pinout for Iris Rev 3 QMK-DFU

* Set bootloader to QMK-DFU
2019-06-01 22:36:30 -07:00
ai03
3449000f42 [Keyboard] Add support for KBDPAD MKII (#6034)
* Build some testing keymaps

* Match naming convention to 8x

* Add configurator json

* Forgot to build the readme

* Apply suggestions from code review

Co-Authored-By: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/kbdfans/kbdpad_mk2/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-01 22:02:33 -07:00
Nick Brassel
155be34a1d Parameterise STM32 I2C pin modes and timing parameters. (#5671)
I2C timing parameters were seemingly set up for an STM32F303 target MCU, at a specific clock speed. This commit allows specifying the timing parameters via config.h, allowing other STM32 MCUs to be targeted, potentially at different clock frequencies.
Alternate function modes for the I2C pins are now also configurable, allowing for remapping to other pins.
2019-06-01 16:04:09 -07:00
XScorpion2
4f788c2ae9 [Keymap] Xulkal user changes (#6044)
* Xulkal user changes

Xulkal user changes

* Reduce code duplication

* Massive user code refactor
2019-06-01 14:39:31 -07:00
John M Daly
02b3fadbac [Keyboard] Initial firmware and keymaps for the CO60 PCB (#5959)
* Add: Initial firmware and keymaps for the CO60 PCB

* Apply suggestions from code review

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

* Update: Address reviewer comments

* Apply suggestions from code review

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

* Update: Reviewer changes
2019-06-01 14:37:32 -07:00
zunger-humu
912b6a5916 [Keymap] "Cadet-style" keymap + improved LAYOUT macro for melody96 (#5985)
* [melody96] "Cadet-style" keymap for melody96; LAYOUT macro for hotswap keyboard.

* Rename macro.

* Fix layer types.
2019-06-01 14:35:52 -07:00
kakunpc
67105b2a21 [Keyboard] Add new keyboard BusinessCard (#6015)
* add Business Card

* remove helix code

* Change rgblight use noeeprom

* remove include

* Update keyboards/business_card

* Forgetting to erase
2019-06-01 14:09:42 -07:00
ai03
0874502757 [Keyboard] Add support for Soyuz numpad (#6030)
* Generate project, fill in the details

* Repair json

* Separate keymaps to numpad and all-1U

* Apply suggestions from code review

Co-Authored-By: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-06-01 13:55:37 -07:00
ai03
d9ebd5cde6 [Keyboard] Add support for KBD8X MKII (#6033)
* Begin work

* Make things a tad easier to read

* Fix spacing

* Get things compiling

* Build a variety of generic keymaps

* Correct RGB pin

* Add configurator json

* Apply suggestions from code review

Co-Authored-By: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
2019-06-01 13:45:32 -07:00
zvecr
c393d3afde Add additional pins for Teensy 3.x and LC 2019-06-01 13:33:11 -07:00
Austin Hill
8eb5022af5 [Keymap] fixed location of del on fn layer (#6040) 2019-06-01 13:30:23 -07:00
jotix
016a258301 [Keymap] add 2 custom leds to handwired/jotanck (#6042)
* add JOTANCK_LED1&2

* set BACKLIGHT_ENABLE = no

* add 2 custom leds

* swap custom led pins 1&2

* readme update

* update default keymap
2019-06-01 13:26:46 -07:00
jotix
9f5733b595 [Keymap] jotix's ortho4x12 layout (#6045)
* jotix ortho 4x12 layout tweaking

* tapping toggle -> 2

* leds on/of on layer states

* add JOTANCK_LED1&2

* set custom leds on layers

* bug fix

* bug fix

* rearrange layers

* leds on layers bug fixed

* leds working
2019-06-01 13:22:41 -07:00
Elliot Powell
d3317a8a66 [Docs] Update getting_started_introduction.md (#6037)
* Update getting_started_introduction.md

* Update docs/getting_started_introduction.md

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

* Update docs/getting_started_introduction.md

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

* Update docs/getting_started_introduction.md

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

* Update docs/getting_started_introduction.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-31 14:44:27 -07:00
zvecr
f9c0936cea Initial attempt to fix docker creating files as root 2019-05-31 14:39:43 -07:00
zvecr
dabd73b769 [Keyboard] Remove relative location of i2c master/slave as it causes the build to write to a folder outside of qmk_firmware (#6039) 2019-05-31 13:54:08 -07:00
noroadsleft
2a1f6389c2 [Keyboard] YMD96 refactor (#5472)
* Remove JJ50 data from YMD96

JJ50 was actually added as its own keyboard when this was added in #2546. It should have been taken out then, but wasn't.

* Update ymd96.h

- use #pragma once include guard
- remove redundant file includes

* Update LAYOUT_iso macro to K<row><col> notation

* Update LAYOUT_custom macro to K<row><col> notation

* Update LAYOUT_default macro to K<row><col> notation

* Refactor default keymap

* Rename readme file to lowercase

* Rename layers enum and default layer

- renamed layers enum to layer_names
  - proposed by fauxpark in Issue 5977, and I like the idea
    - https://github.com/qmk/qmk_firmware/issues/5977#issuecomment-495924338
- renamed the base layer to _DEFAULT
  - I think it looks nicer.
2019-05-31 11:57:07 -07:00
Elliot Powell
9cc5841a91 Update reference_configurator_support.md
We no longer auto generate bootloader into info.json through the website therefore this can be removed
2019-05-31 11:54:01 -07:00
zvecr
ba6b3fc1b5 Use qmk docker image for travis CI builds 2019-05-31 11:04:16 -07:00
Alex Speller
6693d16362 [Keyboard] Remove file with same name and different case (#6028) 2019-05-30 19:54:40 -07:00
yiancar
6241cf977e [Keyboard] Fix json for NK65 (#6026) 2019-05-30 17:50:09 -07:00
Austin Hill
b877596096 [Keymap] added hhkb layout for tada68 (#6027) 2019-05-30 17:49:27 -07:00
Jason Dunsmore
3fd34daf14 [Keymap] Added keymap for user jasondunsmore (#6023) 2019-05-30 17:13:29 -07:00
Peter Tillemans
88966767ee [Keyboard] Fix jc65 when RGB or BACKLIGHT disabled (#6022) 2019-05-30 17:11:55 -07:00
Elliot Powell
3ef425423a Update feature_encoders.md
Fix missing closing comment after second encoder
2019-05-30 17:00:21 -07:00
zvecr
2f7a57a6de Copy avr teensy flash logic to arm (#6016) 2019-05-30 16:53:49 -07:00
MechMerlin
786ee9c7be [Keyboard] E6V2 R2 BMC PCB (#6009)
* initial commit

* remove mentions of oe and replace with le

* add new layout macros with the spacebar change

* add rgb underglow support

* Update keyboards/exclusive/e6v2/le_bmc/rules.mk

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

* Update keyboards/exclusive/e6v2/le_bmc/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-29 11:16:13 -07:00
Kimat Boven
4d97f35230 Add belgian layout for sendstring (#6008)
* belgian layout had no sendstring definition

* backtick was not defined for belgian sendstring

* slash definition was wrong for belgian sendstring

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

* use BE_ keys whenever we can

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

* ^ can be sent as a normal key (not a dead key) with altgr+para
2019-05-29 11:10:30 -07:00
itsdrdick
2ca840d0b8 [Keyboard] Added XW60 PCB (#6011)
* Added XW60 PCB

* Update keyboards/xw60/config.h

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

* Update keyboards/xw60/rules.mk

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

* Update keyboards/xw60/rules.mk

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

* Update keyboards/xw60/xw60.h

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

* Update keyboards/xw60/xw60.h

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

* Update keyboards/xw60/xw60.h

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

* Update rules.mk

* Removed redundant line

* Update keyboards/xw60/config.h

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

* Update keyboards/xw60/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-29 11:01:14 -07:00
Jeremy Bernhardt
a1a7a84831 [Keymap] Georgi flippydippy layout (#6005)
* keymap(gergo): colemak

* added flipped numbers

* Updated as per Drash
2019-05-29 10:57:38 -07:00
fauxpark
d16056e60a Fix TO() and DF() calling layer_state_set_[kb,user] twice (#6003) 2019-05-29 07:45:28 -07:00
Fred Silberberg
287767bba1 Update 333fred keymaps and add new iris map. (#6010)
* Update 333fred keymaps and add new iris map.

* Fix iris key
2019-05-29 07:44:43 -07:00
M-AS
38d3b7aa45 [Keyboard] Changed LED positions for Massdrop CTRL and DZ60RGB (#5801)
* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB

* changed CTRL corner LEDs + centered horizontally

* whoops - changed CTRL's underglow LEDs back to the underglow flag

* whitespace

* I changed the right file this time

* Fixed DZ60RGB left shift out of position
2019-05-28 20:57:09 -07:00
Elliot Powell
bd1cfcd593 [Keyboard] Add support for AKB boards (#5996)
* Move boards to akb folder

* Updates for PR

* fix for PR

* Fix info.json
2019-05-28 20:15:38 -07:00
noroadsleft
03bc8e71e6 Duck Octagon V1 Configurator cleanup (#5957)
* Expand info.json formatting to one line per key

This is a white-space-only change. Make it easier for me to read the file.

* Make sure every key object has a label

Going to be using them shortly.

* Insert key identifiers from v1.h into info.json labels

Shows where each key is located in the switch matrix.

* Move K5O to its correct location on the top row

* Adjust white space in v1.h

At this point, the macros for LAYOUT and LAYOUT_75_ansi are 100% identical, except for their names.

* Redefine LAYOUT_75_ansi as an alias of LAYOUT

No need for two code blocks with the same data.

* Correct visual positioning in info.json

- move Pause 1u to the right
- move K5O to the top row, between Print Screen and Pause
- move Enter key 1u to the left and 1u wider (1.25u to 2.25u)

* Delete key identifiers from info.json labels

Don't need them anymore now that we know where everything is.

I'm calling K5O as ScrLk so it has a label, even though that's not actually what it is.

Also gave the Spacebar a label because I prefer when all the keys have labels.

* Enable 75_ansi Community Layout support

* Reassign layout macro as LAYOUT_75_ansi and delete macro alias

Configure the codebase so LAYOUT_75_ansi is the only layout macro available.

* Add key_count key to info.json data
2019-05-28 15:47:59 -07:00
Ryan Caltabiano
6d6646de04 Fixing matrix_scan so it properly returns changed status 2019-05-28 14:09:47 -07:00
Mikkel Jeppesen
70a7b84dab Clean up duped filenames om qmk.fm (#5822)
Removes all binaries that don't correspond to an entry in the .keyboards file
2019-05-28 11:38:47 -07:00
Elliot Powell
a31c2ac03e [Keyboard] Merge Commissions to repo (#5995)
* Moved commisions to one folder

* Update keyboards/ep/comsn/hs68/config.h

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

* Resolve merge issues

* Fix comiplation issues
2019-05-28 11:35:19 -07:00
moyi4681
4d46489a2a [Keyboard] add geekboards 8key macro-pad tester (#5940)
* add geekboards 8key macro-pad tester

* Update readme.md

* Update keyboards/geekboards/tester/rules.mk

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

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

* Update keymap.c

* Update keyboards/geekboards/tester/readme.md

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

* Update keyboards/geekboards/tester/readme.md

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

* Update keyboards/geekboards/tester/readme.md

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

* Update keyboards/geekboards/tester/readme.md

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

* Update keyboards/geekboards/tester/readme.md

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

* Update readme.md

* Update tester.c

* Update keyboards/geekboards/tester/config.h

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

* Update keyboards/geekboards/tester/rules.mk

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

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

* Update keyboards/geekboards/tester/keymaps/default/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-05-28 11:20:39 -07:00
Klemen Košir
ff6a57c3c3 [Kenyboard] Add ansi_split_space_rshift layout to DZ60 (#6004)
* [DZ60] Add ansi_split_space_rshift layout

* [DZ60] Add kream keymap

* Revert spacebar sizes
2019-05-28 11:05:07 -07:00
Mathias Andersson
7a7e3848c7 [Keyboard] Add keyboard Moon (#5976) 2019-05-28 10:57:17 -07:00
noroadsleft
b0532c433e Waldo LAYOUT_60_hhkb bugfix (#6000)
* Fix typo in LAYOUT_60_hhkb macro

Reported by Sushiimi
- https://github.com/qmk/qmk_configurator/issues/376

* Unify white space

Tabs and spaces were being mixed for indenting.

No logic change.
2019-05-28 06:52:31 -07:00
Tyler Wince
5aa4420f59 [Keymap] Add lets_split keymap (#5992)
* tylerwince keymap added

* modifications for PR

* remove legacy import

* fix some build errors

* fix layers

* restore custom_keycodes

* remove trailing commas

* change persistent layer function

* update light noeeprom

* layer state set user

* missing trailing "

* changes to single_default_layer
2019-05-27 20:28:37 -07:00
M-AS
a23c3396a9 [Keymap] Updated personal keymaps (#5993)
* added personal CTRL keymap

* added personal dz60rgb keymap

* enabled new rgb effect

* added space cadet shift

* media player track buttons now orange

* updated keymaps with rgb setting and visual HSV setting preview

* fixed source stuff?

* added support for underglow toggle (bugged to all hell)

* everything now behaves as expected when ti comes to RGB toggles, thank god

* removed ifdefs

* changed color of MAS_CRM

* uh, whitespace

* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB

* updated keymap to work kindof

* KEYMAP: changed list of rgb effects

* changed CTRL rgb defaults

* KEYMAP: new LED layout for ctrl
2019-05-27 16:58:45 -07:00
Gaëtan Ark
6c7c178cd2 [Keymap] Added french Bépo support on Ergo42 keeb (#5986)
* Added french Bépo support on Ergo42 keeb

* Fixed some typos

* Removed a unused include
2019-05-26 20:36:24 -07:00
Kyle Terry
df73a81db8 [Keyboard] adds spacetime keyboard (#5969)
* adds spacetime keyboard

* removes custom tap and mod functions

this commit replaces tap_key, control_key and shift_key with built-in
tap_code16.

* changes thumb layer and makes left palm key ralt
2019-05-26 13:05:42 -07:00
jotix
2f961265a1 [Keymap] jotix ortho_4x12 layout change (#5979)
* jotix ortho_4x12 layout change

* simplifying things

* simplifying things
2019-05-26 10:47:54 -07:00
chax
0d12627f0b Add Solus support to linux_install.sh script
added update-repo command before install command
2019-05-26 10:11:38 -07:00
chax
7fbb253f88 Add Solus support to linux_install.sh script 2019-05-26 10:11:38 -07:00
fauxpark
fe8c2209ca Document MT keycode in keycodes.md 2019-05-25 09:10:52 -07:00
Maarten Dekkers
1a55d84224 Add support for LSJ Ares (#5588)
* Add support for LSJ Ares

Thanks to the other ports which have made this port possible.

* Update Ares code per request

* More changes to Ares

* Update Ares rules.mk

Co-Authored-By: Maartenwut <maartenwut@gmail.com>

* Remove escaping backslashes from Ares default keymap
2019-05-24 18:33:37 -07:00
Doug Raffle
1da8ad8668 Added media keys to 1up60rgb:raffle (#5973) 2019-05-24 15:06:37 -07:00
Mark
4f1537b879 [Keyboard] Fix formatting on keyboard to micro connection table (#5968)
* Fix formatting on keyboard to micro connection table

* Add whitespace to make more readable
2019-05-24 14:18:57 -07:00
AbstractKB
a1e2d51712 [Keyboard] Added Abstract Ellipse Rev1 (#5939)
* mostly done with first version of Ellipse Rev1 software

* mostly done, error with backlight breathing

* more testing and changing default keymaps

* ready for first release attempt

* fix newline in readme

* fix copyright and extraneous declarations and symbols

* remove more excess backslashes

* fixed more formatting
2019-05-24 14:10:40 -07:00
Danny
362bfc5b15 Fix cypher iso (#5971)
* Reformat JSON to look less like AIDS

* Fix location of ISO Enter
2019-05-24 12:14:14 -07:00
Drashna Jaelre
83afae31ed Fix up Debouncing in AVR Templates (#5964) 2019-05-23 17:42:06 -07:00
tuesdayjohn
a37e44b2d7 Added keymap folder matching username; added readme to previous keymap (#5961)
* Added keymap folder matching username; added readme into previous keymap

* Update keymap.c
2019-05-23 17:41:25 -07:00
Erovia
f7caca51f6 Add support for Dimple (#5963)
Add support for Dimple, a 40% custom keyboard designed and produced by LazyDesigners.
2019-05-23 17:26:15 -07:00
Tobias V. Langhoff
701a1d9435 Fix layout comment (#5967)
Swap the "Cmd" and "Alt" keys in the comment to reflect the actual layout.

Also change "Cmd" to "Win" for consistency with the default keymap.
2019-05-23 17:12:16 -07:00
Drashna Jaelre
36f427f40c Fix typo 2019-05-23 10:29:18 -07:00
Jarrett Drouillard
03e53dc8a2 [Keymap] changes to my userspace and preonic keymap ( spring 2019 ) (#5881)
* feat-user-kuatsure: abstract symbol row out

* feat-user-kuatsure: abstract grouped bracket, brace, paren out

* fix-preonic-kuatsure: remove eol as requested by @drashna

* feat-user-kuatsure: add KC_MAKE and KC_FLSH

thanks to @drashna for the help

* chore-preonic-kuatsure: remove auto shift

* chore-user-kuatsure: move leader seq's to macro syntax

* feat-user-kuatsure: add `KC_VRSN` key

plus use it preonic keymap

* chore-user-kuatsure: namespace keyboard macros `KB`

* chore-preonic-kuatsure: move some keyboardy keys around

* chore-preonic-kuatsure: remove parens, brackets, braces from lower

* chore-user-kuatsure: move tmux window shifts to dbl press leaders

* feat-user-kuatsure: add a computer lock leader seq

* fix-preonic-kuatsure: go back to lower brackets

* chore-preonic-kuatsure: clear out raise

* feat-various-kuatsure: add meh + tab mod tap

* chore-preonic-kuatsure: `raise` eats `game_mod` layer

* fix-preonic-kuatsure: reverse pg up and pg down

* chore-user-kuatsure: add double tap to turn off music

* chore-user-kuatsure: move like seqs together

* chore-preonic-kuatsure: add a few more items to the num pad on raise

* feat-user-kuatsure: re-enable td for <> keys

* chore-user-kuatsure: give a little more grace period for leader

* fix-user-kuatsure: give lock leader a gui buffer

no timer or anything, but alfred doesn't boot up as quickly as I would like sometimes

gui doesn't do anything but gives a little bit of a time bump

* fix-user-kuatsure: changes from @drashna review
2019-05-22 21:40:16 -07:00
tuesdayjohn
73715bacc2 [Keymap] Added personal keymap in Kinesis matching username; updated old readme.md (#5955)
* Added 'tuesdayjohn' folder; updated old readme.md

* Update keymap.c

* Update readme.md

* Update keymap.c
2019-05-22 21:13:55 -07:00
Jonathan Rascher
fcb5653411 [Keymap] Switch Quefrency keymap from I2C back to serial; factor common configs into userspace (#5951)
* Switch Quefrency from flaky I2C back to serial

* Lower mouse wheel speed on Quefrency slightly

* Migrate common settings to userspace

* Enable Bootmagic Lite for consistent reset to bootloader.

* Turn off some undesired features across all keyboards.

* Remove EEPROM reset keybinding from all keyboards since Bootmagic Lite
also does an EEPROM reset.

* Set backlight and underglow increments consistently across all
keyboards since lots of them like to override the deafults.

* Set mouse keys consistently across all keyboards.

* Update function layer keymap images
2019-05-22 21:08:48 -07:00
Ben
d31c54c8af [Keyboard] Add info.json to O4L5x12 (#5950)
* [Keyboard] Add info.json to O4L5x12

* Apply suggestions from code review

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

* Better formatting

* Add key_count to all layouts
2019-05-22 21:06:55 -07:00
Drashna Jaelre
c97315dc5a Additional link fixes
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-22 21:00:20 -07:00
Drashna Jaelre
dcb274b286 Fix links
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-22 20:55:52 -07:00
ymzcdg
894010786c translate docs into Mandarin Chinese (#5890)
* translate docs into Mandarin Chinese

translate
faq_debug.md
into Chinese

* translate faq_build.md into Chinese

translate faq_build.md into Chinese

* faq_keymap.md to zh-cn

faq_keymap.md to zh-cn
2019-05-22 14:33:10 -07:00
Drashna Jaelre
eb756916c2 [Keyboard] Fix 9key macropad keymap (#5942)
Fails to compile on the configurator because tapdance is enabled for the entire keyboard
2019-05-21 13:40:50 -07:00
Drashna Jaelre
02787ac07f Add missing links to features page and sidebar section 2019-05-21 13:15:59 -07:00
Jesper Nellemann Jakobsen
fc3965ef70 [Keymap] Update Mouse key settings (#5946)
Set shorter `MOUSEKEY_INTERVAL` and `MOUSEKEY_TIME_TO_MAX`.
Move mouse scroll buttons around and update comment to reflect change.
2019-05-21 11:03:57 -07:00
dsanchezseco
fdd8c5c50c [Keymap] dsanchezseco for planck (#5944)
* added user keymap

* updated keymap

* updated keymap

* swapped positions of alt and altGr
2019-05-21 11:01:29 -07:00
noroadsleft
419f2c3f40 [Keyboard] QMK Configurator support for Diverge TM 2(#5943) 2019-05-21 11:00:32 -07:00
stanrc85
a0d5f0722f [Keymap] Romac added and tweaks to existing keymaps (#5941)
* Initial keymap for Romac

* Formatting changes

* keymap tweaks

* Add new cycle layer key

* add cycle layer code

* initial upload

* keymap updates

* keymap updates

* keymap updates for new layer names

* new enum layers

* case added for 4th layer

* removed extra space for formatting
2019-05-21 10:59:07 -07:00
Michael Pio
68501261c3 [Keyboard] Add Ixora keypad (#5931)
* added ixora files

* upload ixora

* update readme

* Update keyboards/peiorisboards/ixora/ixora.h

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

* Update keyboards/peiorisboards/ixora/ixora.h

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

* Update keyboards/peiorisboards/ixora/ixora.h

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

* Update keyboards/peiorisboards/ixora/keymaps/default/keymap.c

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

* Update keyboards/peiorisboards/ixora/keymaps/default/keymap.c

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

* Update keyboards/peiorisboards/ixora/keymaps/wntrmln/keymap.c

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

* Update keyboards/peiorisboards/ixora/keymaps/wntrmln/keymap.c

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

* update files according to suggestions

* removed unused code
2019-05-21 10:49:33 -07:00
Anthony Leung
0aece4ddab add dz60rgb-ansi layout to configurator (#5938)
* add dz60rgb-ansi layout to configurator

* fix mekanist's dz60rgb keymap
2019-05-21 06:03:37 -07:00
MechMerlin
d93c53fc62 [Keyboard] fix hhkb bottom layer (#5926) 2019-05-20 15:52:06 -07:00
Jesper Nellemann Jakobsen
5904933a3f [Keymap] bingocaller's DZ60 MacOS keymap (#5914)
* Added customisations and README

* Tweak keymap: word traversal/deletion

* Add w and b word traversal/deletion keycodes.
* Add fine volume control key codes, but don't use them, because they
  conflict with other key codes. `A` somehow got remapped to fine
  volume up.

* Set mousekey delay to zero

* Use SAFE_RANGE for key codes.

* Update keymap and README

Add new mouse-specific layer 3, activated by pressing and holding space.
Add brightness controls to layer 4 (previously, layer 3).
Update README:
  * New keyboard-layout mockup image.
  * Add actual link to kbdfans.cn.
  * Update layer descriptions.

* Fix indentation in keymap.c

* Use _______ over KC_TRNS to increase readability

* Custom keys: use #define over process_record_user

* Use enum for naming layers

* Rename README.md -> readme.md
2019-05-20 15:46:24 -07:00
Kenneth Aloysius
57f5cd3ca7 [Keyboard] YD60MQ support (#5911)
* Keep ASCII art consistent with keymap

* Possible fix for xyverz ortho keymap: define RGBLED_NUM

* Update DZ60 keymap; TODO store old keymap under different directory?

* Change RGUI to RALT because 7u spacebar is too long

* Save old bottom row keymap

* Update Iris keymap: replace backslash with grv

* Add ortho_4x12 layout

* Added Delete key to Iris keymap

* Move delete key

* Oh look a new keyboard

* ortho4x12: get an adjust layer back

* Remove jj40 keymap, add custom power draw #define

* Set WhiteFox to advertise only 100mA of power draw

* Update WhiteFox keymap

* Update WF keymap (2)

* Remove lets_split keymap, update community krusli keymap

* Add #define for BACKLIGHT_LEVELS (unused)

* Update Whitefox keymap

* Add YD60 from auto-generated kbfirmware files

* Bring files up to speed with new standards

* Fix: KEYMAP -> LAYOUT

* Fix keymap differences (DZ60 -> YD60)

* Update keymap

* Update README

* Fix RShift position

* Specify that the port is for the YD60MQ variant

* Update keyboards/iris/keymaps/krusli/keymap.c

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

* Fix Iris and Let's Split keymaps

* Remove unused keymap file

* Use #include QMK_KEYBOARD_H

* Add atmel-dfu selection to yd60

* Rename dir to YD60MQ, update definitions

* Use new convenience macros/functions for led_set_user

* Use #pragma once

* Change all ?= to = in rules.mk

* Use pragma once for yd60mq.h

* Take out DZ60 and Iris changes

* Remove now-removed Iris folder

* Revert adding ortho_4x12

* Revert on xyverz ortho_4x12 keymap

* Undo deleting JJ40 keymap files

* Don't revert beyond upstream jj40 state

* Extra files from earlier commit is to be deleted

* Remove WhiteFox keymap not in upstream yet

* Re-add my Let's Split keymap

* Revert keymap changes

* Cleanup: indentation

* Update keyboards/yd60mq/rules.mk

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

* Update keyboards/yd60mq/rules.mk

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

* Cleanup & move kb backlighting code to yd60mq.c

* Update README, rename to lowercase

* Update README: rename to lowercase

* Update README with links and picture of PCB

* Remove PREVENT_STUCK_MODIFIERS

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-05-20 15:43:29 -07:00
noroadsleft
843c67d805 Plain60: Configurator layout extension (#5929)
* Add LAYOUT_60_ansi

* Add LAYOUT_60_iso

* Add LAYOUT_60_ansi_split_bs_rshift

* Add LAYOUT_60_iso_split_bs_rshift

* Enable Community Layout support

Added:

- 60_ansi
- 60_ansi_split_bs_rshift
- 60_iso

* Add LAYOUT_60_hhkb and enable its community layout support
2019-05-20 15:19:31 -07:00
Danny
566b8c57b1 [Keyboard] Fix pinout of Levinson Rev 1 scrap sale boards to use non-jumpered pinout (#5935) 2019-05-20 10:16:40 -07:00
jotix
cd826e39d2 vim style cursor keys (#5932) 2019-05-20 08:22:20 -07:00
Jonathan Rascher
228e7145c0 Remove spurious backslashes from my keymaps (#5927)
Suggested in #5924.
2019-05-19 17:14:28 -07:00
Jonathan Rascher
1435a2ca61 Update my Quefrency/KBD67 keymaps, adding BDN9 macropad keymap as well (#5924)
* Set Quefrency bootloader correctly for Elite-C

* Update Quefrency layout to be more like HHKB

* Update KBD67 layout to be more like HHKB

* Add keymap for BDN9 macropad
2019-05-19 16:11:18 -07:00
Ryan Caltabiano
c9a7161d93 Reduce rgb matrix firmware size 2019-05-19 15:23:01 -07:00
crilith
e7af23788f [Keymap] Update keymap.c (#5923)
Corrected formatting and added shortcuts.

Removed invalid #define
2019-05-19 12:12:34 -07:00
Andrew Kannan
e8372692c5 [Keyboard] Instant60 VIA Support (#5909)
* VIA Support for Instant60

* Backlighting updates

* Update default keymap

* Add Standard layout default VIA supported layout

* Clean up some backslashes

* Add info.json

* Update info json metadata

* add info.json for practice65

* Update keyboards/cannonkeys/instant60/info.json

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

* Update keyboards/cannonkeys/practice65/info.json

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

* Update keyboards/cannonkeys/instant60/keymaps/via/keymap.c

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

* Update keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c

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

* Remove unused enum
2019-05-19 10:03:06 -07:00
marksard
b479eff940 [Keymap] Add keymap csprt (#5918)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add center sprit keymap for nomu30
2019-05-19 10:02:13 -07:00
Drashna Jaelre
6b8be98555 [Keymap] Drashna Corne Keyboard updates (#5903)
* Re-enable Audio

And there was much rejoicingmake keebio/iris/rev2:drashna AUDIO_ENABLE=yes!

* Re-add debounce to ergodox EZ

* Fix rgb matrix helper function

* Make sure that RGM Matrix is checked properly

* Fix merge commit?

* Disable more RGB matrix modes

* Increase Debounce for Ergodox EZ

The performance improvements have made it necessary, actually

* Consolidate RGB Matrix layer indication function

And changes to iris

* Fix lighting issue for gamepad

* Update Corne Keyboard configuration

* Update Corne Keyboard layout

* Update KC_MAKE macro to better handle crkbd split

* Tweaks to Corne Keyboard Layout

* Enable RGB Matrix Sleep

* Update my code to use layer_state_t typedef
2019-05-19 10:01:16 -07:00
marksard
2a8fd58232 [Keymap] Add keymap nomu30 likejijs (#5917)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Add like_jis keymap for nomu30
2019-05-19 10:00:53 -07:00
MechMerlin
2ce3c5548a [Keyboard] E6V2 BMC OE (#5908)
* rename bmc due to confusion as the bmc from r2 is different

* update readme

* Update keyboards/exclusive/e6v2/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-19 09:51:56 -07:00
MechMerlin
d67eb20aed [Keyboard] Pearl Refactors (#5907)
* use pragma once

* remove custom matrix

* remove custom i2c code in favor of QMK's i2c_master

* rename to all lower case readme

* update readme

* turn off bootmagic as it doesn't work anyway

* Update keyboards/pearl/readme.md

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-19 09:50:57 -07:00
jotix
11c7cd47ae [Keymap] jotix ortho_4x12_layout tweakings (#5904)
* jotix ortho_4x12_layout tweakings

* jotix ortho_4x12_layout tweakings
2019-05-19 09:49:23 -07:00
fauxpark
e0ecc53f4e Make DEBUG keycode disable as well as enable (#5898)
* Make DEBUG keycode disable as well as enable

* print() can always be used regardless of debug_enable state
2019-05-19 09:46:41 -07:00
marksard
26203401a1 [Keyboard] Add keyboard treadstone32 (#5888)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Added Treadstone32 keyboard.

* Fixed some code

* Fixed some codes

* Fixed config.h

* modified review point

* Fixed redundant include
2019-05-19 09:43:58 -07:00
coseyfannitutti
5e7b929717 [Keyboard] Add mullet and mulletpad keyboards (#5878)
* Added mullet and mulletpad keyboards

* Added mullet and mulletpad keyboards

* Update keyboards/coseyfannitutti/mullet/mullet.h

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

* Update keyboards/coseyfannitutti/mullet/mullet.h

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

* Update keyboards/coseyfannitutti/mullet/mullet.h

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.h

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.h

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.h

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

* Update keyboards/coseyfannitutti/mullet/config.h

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

* Update keyboards/coseyfannitutti/mullet/keymaps/alternate/keymap.c

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

* Update keyboards/coseyfannitutti/mullet/keymaps/default/keymap.c

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

* Update keyboards/coseyfannitutti/mullet/mullet.c

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

* removed unnecessary slashes from keymaps

* Update keyboards/coseyfannitutti/mullet/mullet.h

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

* Update keyboards/coseyfannitutti/mullet/readme.md

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

* Update keyboards/coseyfannitutti/mullet/readme.md

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

* Update keyboards/coseyfannitutti/mullet/readme.md

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

* Update keyboards/coseyfannitutti/mullet/rules.mk

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

* Update keyboards/coseyfannitutti/mulletpad/config.h

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

* Update config.h

* Update keyboards/coseyfannitutti/mulletpad/keymaps/default/keymap.c

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.c

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.h

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* update config.h

* Update keyboards/coseyfannitutti/mullet/rules.mk

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

* Update keyboards/coseyfannitutti/mulletpad/rules.mk

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

* Update keyboards/coseyfannitutti/mulletpad/mulletpad.h

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

* Update keyboards/coseyfannitutti/mulletpad/rules.mk

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

* Update keyboards/coseyfannitutti/mulletpad/keymaps/default/keymap.c

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

* update info.json

* Update readme.md

update readme.me

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/readme.md

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

* Update keyboards/coseyfannitutti/mulletpad/info.json

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-19 09:43:10 -07:00
XScorpion2
56930a0174 [Keyboard] Update LED positions to be more physically accurate for Sol rev1 (#5921) 2019-05-19 09:39:30 -07:00
Ryan Caltabiano
5c7b37bbbd Added custom center point to rgb matrix 2019-05-19 09:38:38 -07:00
XScorpion2
270b39b2eb Spirals, Pinwheels, and Documentation....Oh My! RGB Matrix Effects (#5877)
* Spirals, Pinwheels, and Documentation....Oh My!

* Spiral effect band thickness adjustments

* Fixing animation spin directions
2019-05-19 09:19:46 -07:00
XScorpion2
a0d6c5a113 [Keymap] Update Xulkal user code (#5920) 2019-05-19 09:15:50 -07:00
XScorpion2
f11fde9bf5 Fixing hsv_to_rgb where s = 0 and v < 255 (#5915)
* Fixing hsv to rgb where s is 0 and v is < 255

* Update color.c
2019-05-19 09:11:08 -07:00
XScorpion2
0099bbf9a6 Single Color Band scrolling left to right effects (#5867) 2019-05-19 09:09:06 -07:00
Ryan Caltabiano
ba26736d7e Fix bit count calculation for iterating layers 2019-05-18 13:47:34 -07:00
Drashna Jaelre
89e9785d7a Update my code to use layer_state_t typedef 2019-05-17 15:21:45 -07:00
Drashna Jaelre
356521864e Enable RGB Matrix Sleep 2019-05-17 15:02:21 -07:00
Drashna Jaelre
ebfc39cc50 Tweaks to Corne Keyboard Layout 2019-05-17 15:02:20 -07:00
Drashna Jaelre
bcfc24fd13 Update KC_MAKE macro to better handle crkbd split 2019-05-17 15:02:20 -07:00
Drashna Jaelre
05e2baaa49 Update Corne Keyboard layout 2019-05-17 15:02:20 -07:00
Drashna Jaelre
ed08787aaa Update Corne Keyboard configuration 2019-05-17 15:02:19 -07:00
Drashna Jaelre
2a6cb04876 Fix lighting issue for gamepad 2019-05-17 15:02:19 -07:00
Drashna Jaelre
6689f900fc Consolidate RGB Matrix layer indication function
And changes to iris
2019-05-17 15:02:19 -07:00
Drashna Jaelre
f520316124 Increase Debounce for Ergodox EZ
The performance improvements have made it necessary, actually
2019-05-17 15:02:19 -07:00
Drashna Jaelre
667b927004 Disable more RGB matrix modes 2019-05-17 15:02:18 -07:00
Drashna Jaelre
db7c3b9220 Fix merge commit? 2019-05-17 15:02:18 -07:00
Drashna Jaelre
6af0c1e129 Make sure that RGM Matrix is checked properly 2019-05-17 15:02:18 -07:00
Drashna Jaelre
42a6bd2fd4 Fix rgb matrix helper function 2019-05-17 15:02:17 -07:00
Drashna Jaelre
ed6d5d5b7b Re-add debounce to ergodox EZ 2019-05-17 15:02:17 -07:00
Drashna Jaelre
f06910f5bf Re-enable Audio
And there was much rejoicingmake keebio/iris/rev2:drashna AUDIO_ENABLE=yes!
2019-05-17 15:02:17 -07:00
Josh
d85110b6ec Adds a configurable initial delay to the audio clicky feature (#4286)
* Adding an AUDIO_CLICKY_DELAY_DURATION configurable value to the AUDIO_CLICKY feature.

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

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

* Removed accidental xeal60 commit

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

* Add additional typedefs

* Add checks for setting layer state

* Update tmk_core/common/action_layer.h

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

* Revert commit.
2019-05-17 13:47:50 -07:00
Jeremy Bernhardt
90a45aac6e [Keyboard] Butterstick fix (#5900)
* Working on chording

* Working on chording

* Got layouts in order

* Initial Georgi support

* forgot to add keymaps

* Updated readme

* Update keyboards/georgi/keymaps/template/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/keymaps/template/keymap.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Disabled features, updated info

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Fixed info.json

* Split the number button and fixed gaming mode.

* started work on history feature

* Working history/multikeyfuckery

* type

* inital code reduction refactor

* Got multikey patched up, optimizing for size

* Forgot to remove stuff

* fixed key repeat

* Key repeat added.

* Symshift locking

* Midchord Sym shenanigans.

* Added only QWERTY mode

* Split out header

* Added stickybits, minimal layour

* Fixing user layout

* Whitespace fixing

* Fixing Version name

* Starting work on BS

* Fixing default layout and rules

* Updated Butter fw

* Copy-paste rebase

* more fixing from merge. Fuck

* Forgot to roll version

* Added revisions as per @mechmerlin

* Somehow forgot backspace

* Forgot Backspace?
2019-05-17 13:07:37 -07:00
Jeremy Bernhardt
d0c9ad6433 [Keyboard] Georgi improvements (#5899)
* Georgi improvements

* The writing was in the -Wall
2019-05-17 13:02:22 -07:00
Chris Broekema
7a0174f871 [Keyboard] keypad enter should not be remapped in Model M default keymap (#5897) 2019-05-17 12:58:28 -07:00
kingwangwong
b34d2c73fa [Keymap] Adding my keymap for the minivan/kumo (#5896)
* adding my keymap for the KUMO

* edited the readme file

* edited some more files

* edited some more files

* edited files from feedback

* edited one more files from feedback

* edited rules
2019-05-17 12:57:10 -07:00
MechMerlin
8be32e98d8 [Keyboard] New Keyboard: Mars 8.0 TKL (#5894)
* fix the things the stupid script broke

* create an appropriate LAYOUT macro using LAYOUT_tkl_ansi

* create an appropriate keymap stolen from the phantom default keymap

* add correct pins used and rgb led numbers

* change vendor and device name

* add QMK Configurator support

* fix up RGB underglow

* update readme

* introduce new layout macro tkl_iso

* add QMK Configurator support for new layout macro

* enable backlight and add community layout support
2019-05-17 12:54:10 -07:00
marksard
49464be645 [Keymap] Add keymap for minivan (#5887)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization

* Added like_jis keymap for minivan/KUMO keyboard.

* Fixed comments

* Fixed review
2019-05-17 12:40:02 -07:00
mogira
9c7818582d Fix the modifier of font variable in ssd1306.c (#5880) 2019-05-17 12:37:12 -07:00
Drashna Jaelre
48b01446ba Make delay for Capslock in Hold-Tap functions configurable (#5497)
* Increase delay for Hold-Tap register for CAPSLOCK

Because it seems that the 80ms delay wasn't too much

* Screw it, make the caps delay a define and make it configurable
2019-05-16 10:28:06 -07:00
Jan Christoph Ebersbach
5a8e387b77 [Keymap] Signum 3.0 Swap positions (#5892) 2019-05-16 09:40:00 -07:00
ENDO Katsuhiro
63ddad86a9 Add a new keyboard Halberd (#5874)
* Add a new keyboard Halberd.

* Update default keymap and add new keymap.

* Use pragma once.

* Comment out IS_COMMAND macro.

* Remove unnecessary backslashes.

* Remove dead code.

* Change layer defines to enum.

* Remove DISABLE_JTAG definition.

* Change BOOTMAGIC_ENABLE to "lite".

* Remove unnecessary line.

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-05-16 09:39:06 -07:00
Pavlos Vinieratos
1a28906a3d [Keymap] Pvinis/update for iris (#5889)
* add default functions

* some indenting

* add ctl and alt

* maybe?
2019-05-16 09:38:28 -07:00
MechMerlin
a8af694d26 [Keyboard] Leaf60 hotswap and universal pcb (#5882)
* initial commit

* copy paste with some fixes the code from fox lab leaf60 repo

* add 60_ansi and 60_hhkb and community layout support

* add QMK Configurator support

* turn bootmagic to lite and turn on rgb and backlights

* disable some features so firmware isn't too big

* initial commit for hotswap leaf60

* add hotswap support

* edits for consistency

* add a generic leaf60 readme

* turn off console and command to save firmware space

* not enabling sleep led enable

* not enabling sleep led enable

* had one extra key in 60_hhkb

* get rid of limit val define

* Update keyboards/foxlab/leaf60/hotswap/readme.md

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

* Update keyboards/foxlab/leaf60/hotswap/rules.mk

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

* Update keyboards/foxlab/leaf60/universal/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-05-16 08:52:38 -07:00
Pavlos Vinieratos
b541369c45 [Docs] Fix typo in Userspace doc (#5871)
* typo

* Update docs/feature_userspace.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-05-16 08:21:51 -07:00
zvecr
fc06975fa3 Add Configurator support for ai03/orbit (#5863)
* Add Configurator support for ai03/orbit

* Add Configurator support for ai03/orbit - align with documented KLE
2019-05-16 05:54:43 -07:00
zvecr
6764bb0157 Align Configurator support for ai03/lunar (#5864) 2019-05-16 05:53:48 -07:00
Takeshi ISHII
670a9b7f83 Add effect range to rgblight.c (#5856)
* add rgblight_set_effect_range()

* implement effect range

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

* update docs/feature_rgblight.md

* fix RGBLIGHT_RAINBOW_SWIRL_RANGE default value

* add example code about Utility Functions

* add example code about direct operation functions

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

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

* add temporary test code for rgblight_set_effect_range

* fix rgblight_effect_knight() bug

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

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

* Minor fix for compatibility

* Make everything pretty

* Update keyboards/nk65/config.h

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

* Update keyboards/nk65/readme.md

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

* Chmod Dummy

* Update getting_started_introduction.md

* Revert "Update getting_started_introduction.md"

This reverts commit daf446acf7.
2019-05-15 21:09:36 -07:00
Erez Zukerman
8680c50d07 Removes Erez personally from QMK (#5883) 2019-05-15 19:53:45 -04:00
zvecr
8bcefc92d0 Port 40percentclub nein (#5876) 2019-05-15 12:57:35 -07:00
ENDO Katsuhiro
547eb55553 Add a new keybord Scythe (#5873)
* Add a new keyboard Scythe.

* Update info.json.

* Use pragma once.

* Comment out IS_COMMAND macro.

* Remove DISABLE_JTAG definition.

* Remove unnecessary backslashes.

* Change layer defines to enum.

* Remove dead code.

* Fix typo(RGBLIGHT_SPLIT).

* Change BOOTMAGIC_ENABLE to "lite".

* Remove unnecessary keys.

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

* Fix width.

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

* Fix hight.

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-15 08:52:30 -07:00
Nicholas Shaff
7209266ea1 [Keyboard] Added capslock LED support to the Doro67 Multi PCB. (#5875) 2019-05-14 19:31:36 -07:00
Ben
4ed474b66a [Keyboard] Add Keycapsss O4L 5x12 keyboard (#5859)
* [Keyboard] Add Keycapsss O4L 5x12 keyboard

* Fix layout error in rules.mk

* Update keyboards/keycapsss/o4l_5x12/readme.md

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

* Update keyboards/keycapsss/o4l_5x12/readme.md

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

* Update keyboards/keycapsss/o4l_5x12/readme.md

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

* Update keyboards/keycapsss/o4l_5x12/readme.md

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

* Update keyboards/keycapsss/o4l_5x12/readme.md

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

* Update keyboards/keycapsss/o4l_5x12/config.h

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

* Remove trailing backslashes

* Add additional infos to the readme

* Remove remaining backslashes

* Change 2x2y layout to my needs

* Update keyboards/keycapsss/o4l_5x12/o4l_5x12.h

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

* Update keyboards/keycapsss/o4l_5x12/o4l_5x12.h

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

* Update keyboards/keycapsss/o4l_5x12/o4l_5x12.h

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

* Update keymaps to use new layout names

* Update keyboards/keycapsss/o4l_5x12/rules.mk

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-05-14 17:00:31 -07:00
XScorpion2
3220b24819 Update Zen rev2 info.json file with option positions (#5872) 2019-05-14 15:25:26 -07:00
Markus Dieckmann
fd0ba01d68 [Keymap] Correction for DE_Simple keymap readme (#5870)
Replaced erroneous second QWERTZ keymap with diagramm for 'Lower'
layer.
2019-05-14 12:27:49 -07:00
Morton Jonuschat
7c0f2ae6d1 [Keymap] Neo2 for ErgoDox on MacOS US QWERTY / ABC Extended keymap (#5862)
This is a Neo2 inspired layout that is meant to be fully usable on
MacOS when used with the default US QWERTY/ABC Extended keymap.

Neo2 layers 1-4 have been almost fully implemented in hardware.
Layers 5 and 6 (greek and mathematical symbols) have been left
out for now as most of them aren't available on the default
keymaps.

Layer toggling for layer 3 on the right hand side utilizes a
tap-toggle approach that is a combination of MO & LT macros.
This is required to allow sending Y when tapped, @ when tapped
while the SHIFT modifier is active and support momentarily
toggling the layer while the key is held.
2019-05-14 12:12:29 -07:00
zvecr
93a97ec6e5 Fix arch installs as 8.1 is unavailable and #5456 has been merged (#5857) 2019-05-14 12:05:09 -07:00
Pavlos Vinieratos
b68d8fe82e [Keymap] Pvinis master (#5843)
* trying to make my global keymap

* refactoring the old keymap using userspace

* getting there

* move readme and remove community layout

* use pragma once instead of ifndefs

* just make iris work

* iris decent

* better naming

* add some modifiers on the home row

* use symbol and sysctl layers

* fix up

* a bit faster

* add < and > on symbol layer

* apparently im not using z all that much..

* okok

* fix up stuff

* led init is back

* bring back led indicators

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

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

* not needed

* not needed

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

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

* lower case

* drashna suggestion :)

* move files to correct place

* fix missing command
2019-05-14 12:02:22 -07:00
XScorpion2
4cdb86c730 [Keyboard] Create RGBKB Folder (#5858)
* Move Sol, Zen, & Zygomorph keyboards to RGBKB folder

* Updated default keymaps

* Fixing more areas due too folder moves

* Fixing Zen layer numbers

* Fixing zygomorph layer comments

* Fixing Colmak comments

* Fixing Sol Colmak readme

* Macro alignment

* Zen rev2 configuration json

* Fixing sol ifdef

* Fixing Sol info.json
2019-05-14 11:58:56 -07:00
roguepullrequest
e8b27a965d Roguepullrequest mousepad (#5860)
* First publish of roguepullreqest programmer dvorak planck layout

* Removed junk line

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Removed layer songs

Removed layer songs for cleanliness. Will use them later.

* Update keyboards/planck/keymaps/roguepullrequest/readme.md

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Made basic LSHIFT framework but is not working. Listed other tapdances.

* Got LSHIFT to work

* Added working RSHIFT

* Added working TD_S

* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.

* Cleaned up layout.

* Reenabled audio space is not needed right now.

* Added tap dances and layout image

* Started dactylmanuform layout

* Revert "Started dactylmanuform layout"

This reverts commit 5ef48e4a23.

* Started mousepad version of BDN9...wont compile for some reason.

* Fixed BDN9 mousepad layout

* Added readme.md to mousepad bdn9 layout.

* Updated readme.md for mousepad bdn9 layout. 

Fixed the tables to finally work.

* Unslashed the mousepad keymap for the BDN9
2019-05-13 08:00:20 -07:00
XScorpion2
9b46fabe08 Xulkal Keymap Changes (#5861) 2019-05-13 07:58:15 -07:00
fauxpark
8e3cbe030c Add Wasdat controller (#5855)
* Add Wasdat controller

* Add reset instructions

* Clarify ANSI & ISO support
2019-05-12 11:22:16 -07:00
zvecr
7e1d28673f [Keyboard] Fix file encoding and add readme (#5853) 2019-05-12 00:01:00 -07:00
Croktopus
94f104cb6c [Keyboard] Added hand wired keyboard "Daishi" (#5712)
* added daishi

* edits made based on feedback

* Update keyboards/handwired/daishi/readme.md

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

* Update keyboards/handwired/daishi/keymaps/default/readme.md

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

* Update keyboards/handwired/daishi/keymaps/default/readme.md

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

* made more changes based on feedback

* Update keyboards/handwired/daishi/keymaps/default/readme.md

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

* updated usb device info

* fixed layouts

* fixed LEDs and keymaps
2019-05-11 23:59:52 -07:00
takashiski
0db65190c2 [Keyboard] Enable RGBLED_SPLIT on hecomi/alpha (#5836)
* remove not need file

* set RGBLIGHT_SPLIT

* set RGBLIGHT by layer

* exchange LED color on layer

* Update keyboards/hecomi/alpha/rules.mk

I misunderstand RGBLIGHT_SPLIT

Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-05-11 23:20:45 -07:00
zvecr
2b78840ef7 [Keyboard] Fix dz60 LAYOUT_60_iso_split_space_bs_rshift api errors (#5852)
* Fix LAYOUT_60_iso_split_space_bs_rshift to match comments and Configurator

* Fix LAYOUT_60_iso_split_space_bs_rshift to match comments and Configurator
2019-05-11 23:15:17 -07:00
zvecr
b32ad8b90c [Keyboard] Convert Staryu to use DIRECT_PINS and BACKLIGHT_PINS (#5848)
* Convert to use DIRECT_PINS and BACKLIGHT_PINS

* Convert to use DIRECT_PINS and BACKLIGHT_PINS - remove old comment
2019-05-11 22:57:51 -07:00
MechMerlin
831d765b52 [Keyboard] clarify readme for the growing number of kbd67 revisions (#5844)
* clarify readme for the growing number of kbd67 revisions

* some pr comment nits
2019-05-11 22:56:00 -07:00
XScorpion2
8d46bb9cab [Keyboard] Adding RGBKB Zygomorph Keyboard (#5841)
* Initial Zygomorph 5x6 code

Split is not working yet

* layout changes

implement 4 row config option (not done yet), remove layout comments in layout.c

* Zygomorph layouts for 5x12, 5x6, 4x12, and 4x6

Also, info.json *should* be nearly usable
 for the configurator

* temporary fix for pin D5 being broken

* show D5 issue comment

* add build notes

* Pin B7 broken in split why?

* remove fix

* Fix some pin assignments

* begin to fix keymap

* Create new 5x6 layout

* update key positions

* Initial Zygomorph 5x6 code

Split is not working yet

* layout changes

implement 4 row config option (not done yet), remove layout comments in layout.c

* Zygomorph layouts for 5x12, 5x6, 4x12, and 4x6

Also, info.json *should* be nearly usable
 for the configurator

* temporary fix for pin D5 being broken

* show D5 issue comment

* add build notes

* Pin B7 broken in split why?

* remove fix

* Fix some pin assignments

* begin to fix keymap

* Create new 5x6 layout

* Rough first pass at split common conversion.
Keymap cleanup to cover just the basics.
Broke OLED code out into separate example.

* Fix readme

* Removal of old encoder / oled driver, fix for layout macros

* small update

* xulkal zygomorph keymaps

* Removed the LED_MIRRORED option as leds are always mirrored on Zygomorph

* Xulkal keymaps update

* split rgb light support

* fix line endings

* Apply suggestions from code review

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

* More layout and compile fixes from pr review

* Cleaning up rules.mk files

* Apply suggestions from code review

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

* Updating defaults

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-05-11 22:42:57 -07:00
XScorpion2
c6184d2e7e Added check for event pressed to clear space cadet (#5839)
* Added check for pressed to clear space cadet

* Found some docs to update

* Update docs/quantum_keycodes.md

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

* Changes from PR
2019-05-11 22:20:14 -07:00
noroadsleft
ec302295b6 [Keyboard] Z-150 Blackheart refactor (#5823)
* Fix white space on z150_blackheart.h

* Update z150_blackheart.h to use #pragma once include guard

* Update z150_blackheart.h to use QMK-preferred K<row><col> notation

* Add QMK Configurator support

* Refactor the keymaps

- refactor the keymaps into separate files for each layout macro
- give credit where credit is due
- white space update (four-space indent)

* Make Hardware Availability link in readme a rich text link

* Convert LED indicators to GPIO commands

* Elevate Indicator LED set-up and toggling to keyboard level
2019-05-11 22:16:07 -07:00
Mike Roberts
f542c0589b NEK Type A (#5175)
* project creation and config.h import

* fix name

* cleanup

* layout for left

* working left with feather pins

* full keymap

* ?

* let's do this

* non working twimaster version

* it fucking works!

* bluetooth!

* cleanup

* use auto output for ADAFRUIT_BLE

* remove auto from custom matrix

* better ble auto

* fix f1

* revert

* fix ble

* update readme

* Update readme.md

* Update readme.md
2019-05-11 18:12:06 -07:00
zvecr
d53cbd2dc6 Update run command now that the install script is unattended, fix mount point for Debian (#5847) 2019-05-11 17:55:12 -07:00
stanrc85
5c4707eafc [Keymap] Minor keymap updates (#5850)
* Move layer toggle key for one handed operation

* Add print screen keycode

* Cleaning up some tab/space formatting
2019-05-11 17:51:37 -07:00
XScorpion2
819364ea23 Fix for Solid Reactive mode bug (#5846)
derp, forgot to remove the pragma once
2019-05-11 12:31:31 -07:00
William Chang
b9c38cfec8 Add vim arrow keybindings to layer 1, update readme. (#5842) 2019-05-11 10:14:42 -07:00
Paul J. Miller
d591ab6263 feat: add kbd67v2 support (#5777)
* feat: add kbd67v2 support

* update cr

* Update keyboards/kbdfans/kbd67/rev2/config.h

Co-Authored-By: Vorror <paul@dgtlrepublic.com>

* Update keyboards/kbdfans/kbd67/rev2/config.h

Co-Authored-By: Vorror <paul@dgtlrepublic.com>

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

Co-Authored-By: Vorror <paul@dgtlrepublic.com>

* Update keyboards/kbdfans/kbd67/rev2/rules.mk

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

* Update keyboards/kbdfans/kbd67/rev2/readme.md

Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
2019-05-11 09:24:49 -07:00
ymzcdg
7871a465d3 translate docs into Mandarin Chinese (#5807)
* translate newbs.md into Madarin Chinese

translate newbs.md into Madarin Chinese

* translate docs into Mandarin Chinese

translate getting_started_github.md into Mandarin Chinese

* translate getting_started_getting_help.md into Mandarin Chinese

translate getting_started_getting_help.md into Mandarin Chinese

* contributing.md to Chinese

Personify QMK as a girl named Q酱 . It can make more developer read this document and contribute QMK.

* getting_started_introduction.md to Chinese

getting_started_introduction.md to Chinese

* faq.md to Chinese

faq.md to Chinese

* crlf2lf getting_started_introduction.md

ending line fix getting_started_introduction.md

* crlf2lf contributing.md

crlf2lf contributing.md
2019-05-11 09:22:16 -07:00
XScorpion2
fd23a0e909 RGB Matrix Effects: Cycle Out to In & Cycle Out to In Dual (#5812) 2019-05-10 19:56:16 -07:00
XScorpion2
62ba66d618 Cleanup/rgb matrix (#5811)
* clean up rgb matrix extern usage

Moved rgb matrix boiler plate into macros

Rebased onto typing heatmap pr

* Fixing the reversed frame buffer access in digital rain

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

* Apply suggestions from code review

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

* Adding parenthesizes to DRIVER_LED_TOTAL where necessary

* Updated docs

* added notes about parentheses
2019-05-10 16:55:02 -07:00
Yan-Fa Li
febaf9dec4 [Docs] RGB Animation documentation on reducing memory footprint (#5813)
* Improve Animation docs with example

 - example to reduce flash footprint of animations using RGBLIGHT_EFFECT_ defines

* Re-order the effects list

* Update docs/feature_rgblight.md

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

* Update docs/feature_rgblight.md

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

* Update docs/feature_rgblight.md

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

* Introduce line breaks

* Add title for animation speed section

* Organize Animation Defines Into Groups

* Use the RGB EFFECT recommended by mtei in docs

 - has the most modes, and STATIC_LIGHT can't really be disabled.

* Use more accurate titles for effects and animation

 - accidentally put a toggle in settings
2019-05-10 09:50:52 -07:00
Andrew Kannan
6464dfc91d [Keyboard] Satisfaction75 i2c fix and VIA layout (#5798) 2019-05-09 22:53:36 -07:00
Torben Hoffmann
d3f3da5112 Norman layout for the minidox keyboard (#5747)
* Norman layout with Lower and Raise layers working

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

* Use #pragma once in header file

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

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

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

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

* Update quantum/keymap_extras/sendstring_norman.h

Co-Authored-By: lehoff <torben.lehoff@gmail.com>
2019-05-09 22:12:11 -07:00
William Chang
7dcf9237d5 [Keymap] Updated keymap and readme (#5834)
* Initial commit

* Modified keymap and updated readme.

* fixed numbering in readme

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Made requested changes in PR.

* Rename README.md to readme.md

* swapped media control keys

* updated right alt key to apply shift key for emacs

* updated R_Alt to remove shift

* Updated readme
2019-05-09 21:41:26 -07:00
moyi4681
bce391a663 [Keyboard] DZTECH: CODE CLEANUP (#5828)
* Delete board.c

* Delete board.h

* Delete board.mk

* Delete bootloader_defs.h

* Delete chconf.h

* Delete halconf.h

* Delete mcuconf.h

* Update rules.mk

* Update config.h

* Update config.h

* Update config.h

* Update config.h

* Update config.h

* Update rules.mk

* Delete bootloader_defs.h

* Delete halconf.h

* Delete chconf.h

* Delete mcuconf.h

* Update rules.mk

* Update config.h

* Update dz40rgb.c

* Update dz65rgb.c
2019-05-09 18:48:07 -07:00
Konstantin Đorđević
2835a70749 [Keymap] Fix RGB_MATRIX_ENABLE check in users/konstantin/rules.mk (#5832) 2019-05-09 11:05:33 -07:00
Hannes Egler
94c4b6bd74 fixed matrix (#5831) 2019-05-09 09:57:56 -07:00
Danu Widatama
f5b9690ec7 Add no_caps_lock layout for Satan GH60 (#5829) 2019-05-09 06:35:47 -07:00
Tobias V. Langhoff
16f367348a [Docs] Fix Space Cadet link (#5825)
Fix broken Space Cadet link in Features list
2019-05-08 21:45:00 -07:00
Jan Christoph Ebersbach
aa65cd7a90 [Keymap] Signum3.0 Generate printable keymap (#5818)
* Externalize generation of visual text keymap

* Generate keymap in Asciidoc format for further processing

* Remove artifacts from a2x call
2019-05-08 11:04:32 -07:00
Jan Christoph Ebersbach
86532fa8d3 [Keymap] Signum 3.0, fix, move and change keys (#5820) 2019-05-08 11:03:53 -07:00
MechMerlin
0f0062b492 [Keyboard] Noxary 220 (#5816)
* initial commit and script error fixes

* add matrix and pin definitions along with LAYOUT macro

* add an appropriate keymap

* add num lock led support

* turn on bootmagic lite along with backlight led support

* add QMK Configurator support
2019-05-07 22:15:01 -07:00
MechMerlin
9d5b4ec975 [Keyboard] Add Noxary 260 (#5815)
* initial commit

* fix script issues

* define pins used and electrical matrix size and an appropriate LAYOUT macro

* add an appropriate keymap

* turn on bootmagic lite and backlight support

* Add QMK Configurator support

* add caps lock led support

* update readme with group buy links
2019-05-07 21:40:45 -07:00
MechMerlin
e52930df24 [Keyboard] Add Noxary 280 (#5814)
* initial commit

* fixup script issues

* define pins used and create an appropriate LAYOUT macro

* create an appropriate keymap

* turn on backlight and bootmagic lite

* add QMK Configurator support

* fixup readme

* remove doubly defined KC_TRNS from keymap

* add support for Caps lock and Scroll lock LEDs
2019-05-07 21:39:31 -07:00
XScorpion2
60eae7335b RGB Matrix Typing Heatmap (#5786)
* RGB Matrix Typing Heatmap Effect

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

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

* New struct should not be const

* Updated docs

* Changing define ___ for no led to NO_LED

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

also updated the corosponding code for serial transport to stop peeking
directly at 'internal' backlight_config structure.
2019-05-07 10:45:10 -07:00
Olivier Poitrey
2d5c16dfd4 [Keymap] crkbd/keymaps/rs: add rs keymap to corne keyboard and adapt others (#5181)
Update all my keymaps to work with 40 keys. Refactor code using
Userspace.
2019-05-07 10:43:08 -07:00
kaylanm
3b13259942 Add remaining RGB light components. (#5785) 2019-05-07 06:36:40 -07:00
Chuck Lauer Vose
97b8567a1f Adding bdn9 keymap examples for company event (#5800)
* Adding bdn9 keymap examples for company event

* Simplify some code w/ tap_code16 [pr feedback]

- Also remove backslashes
- Remove xxx and ___ layer definitions
- Properly name enums
- Add newline after slack reaction
2019-05-06 22:36:21 -07:00
Drashna Jaelre
f3d5b1091d [Keymap] RGB Changes for Drashna Keyboards (#5803)
* Disable a bunch of reactive modes

* Enable rgb matrix for Corne Keyboard

* Convert CRKBD to rgb matrix

* Add Gergo keyboard layout

* Make Diablo 3 tap dance better

* Add basic support for Planck EZ

* Fix RGB Matrix stuff

* Fix keycodes for Planck EZ

* Update CRKBD OLED stuff

* Fix typo for sleep on ergodox glow

* Improve my gergo layout

* Scrolling OLED key logger!

* Change gergo layout

* Hnadle unicode keycodes if unicode is disabled

* Disable COMMAND/CONSOLE for gergo

* Fix right side control

* Re-enable LTO for all platforms

Since I got updated arm gcc binaries that no longer error out on lto

* Update formatting to match newer community standards

Poor 2 space

* Re-alight startup animation to use new HUE range

* Streamline gitlab ci scripts

* Disabled Space Cadet

* Add support for breathing table

* Enable new LTO Option

And clean up defines that will now be repeatitive

* Remove vscode settings

* Additional formatting cleanup of config.h files
2019-05-06 22:34:09 -07:00
Brendan Wrafter
7a751f1141 Add Boardwalk keymap (#5806)
* Add Boardwalk keyboard layout

* Remove backslashes
2019-05-06 22:33:41 -07:00
XScorpion2
e83e316555 [Keyboard] Enable RGBLIGHT_ANIMATIONS by default on the Zen rev2 (#5805)
* Enable RGBLIGHT_ANIMATIONS by default on the Zen rev2

* Also fixing OLED as it is upside down
2019-05-06 15:29:13 -07:00
XScorpion2
e01b2d518a [Keyboard] Sol keyboard conversion to split common (#5773)
* Split common conversion

* Updated serial and encoder pins

* Fixing default folder until r2

* Fixing oled driver on slave split common

* Fixing keymap compile errors

* Fixing oled inactivity timer on slave split common

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

* Update keyboards/sol/config.h

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

* Remove TAPPING_FORCE_HOLD
2019-05-06 15:06:43 -07:00
skullydazed
99500243e1 Make python a required build dependency (#5784)
* Make python a required build dependency

* Add missing color

* fixup sabayon linux per @BlitzKraft
2019-05-06 10:56:34 -07:00
Konstantin Đorđević
cb1935aaff [Keymap] Update personal userspace and keymaps (now with 4 spaces!) (#5774)
* Add FnLk to Melody96 bottom row

* Update conditional in userspace makefile

Thanks @drashna

* Add F keys to Melody96 Fn layer

* Add FN_ESC alias to userspace

* Update KBD6X keymap

* Fix RGB_MATRIX_ENABLE constant name in #if

* Remove trailing \ from LAYOUT macro calls

* Set RGB mode on EEPROM reset in KBD6X

* Swap right and middle mouse buttons in KBD6X

* Rearrange RGB controls in KBD6X

* Update keycode aliases, replace CLEAR with DEL_NXT in KBD6X

Add Clear to KBD6X as RCtrl+`

* Convert code to 4 space indents

* Tweak RCTRL layer functionality

* Replace NUMPAD custom keycode with layer state logic

* Update RGB_MATRIX_ENABLE check

Co-Authored-By: vomindoraan <vomindoraan@gmail.com>
2019-05-06 08:41:45 -07:00
Drashna Jaelre
8a9c90ad78 Re-fix Mousekey Movements (#5740)
* Re-fix Mousekey Movements

After the new movement model was instroduced, it broke diagonal momement, again.  Reapplying fix from #3147 to both old and new acceleration method.

* Make diagonal mouse report checks more readable

Co-Authored-By: drashna <drashna@live.com>
2019-05-06 08:35:01 -07:00
keyhive
fbc40032e7 [Keyboard] add ut47.2 (#5788)
* adding ut47.2

adding ut47.2

* Update keyboards/ut472/ut472.c

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/rules.mk

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/ut472.c

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/rules.mk

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* changed shift enter special keys to KC_SFTENT

changed shift enter special keys to KC_SFTENT

* Update keyboards/ut472/ut472.h

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/ut472.h

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/ut472.h

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/readme.md

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* Update keyboards/ut472/readme.md

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* updated for sourcing

updated for sourcing

* Update keyboards/ut472/readme.md

Co-Authored-By: keyhive <42986966+keyhive@users.noreply.github.com>

* changed flash to make

changed flash to make
2019-05-05 22:01:43 -07:00
M-AS
e96d196dc9 [Keymap] MatthewRobo Massdrop CTRL/DZ60RGB Keymaps (#5799)
* added personal CTRL keymap

* added personal dz60rgb keymap

* enabled new rgb effect

* added space cadet shift

* media player track buttons now orange

* updated keymaps with rgb setting and visual HSV setting preview

* fixed source stuff?

* added support for underglow toggle (bugged to all hell)

* everything now behaves as expected when ti comes to RGB toggles, thank god

* removed ifdefs

* changed color of MAS_CRM

* uh, whitespace
2019-05-05 21:54:41 -07:00
Andrew Kannan
c2f9e018ab [Keyboard] Add ProjectKeyboard Alice PCB to QMK (#5581)
* Update instant60 for tsangan version

* Add project alice keyboard

* remove

* Remove commented out code

* Update readme

* Add newline

* Update keyboards/projectkb/alice/readme.md

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

* Update keyboards/projectkb/alice/halconf.h

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

* Update keyboards/projectkb/alice/halconf.h

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

* Fix ifdef and use helper macros

* Add reset keycode

* udpate keymap

* Add RGB Keycodes

* Styling things

* remove unused enum

* fix
2019-05-05 21:08:12 -07:00
Andrew Kannan
af22609ba5 [Keyboard] Practice65 Keyboard (#5795)
* Save p65 changes

* Save p65 changes

* Add reset

* update num leds
2019-05-05 16:58:08 -07:00
XScorpion2
e290dc5ad8 Space Cadet: Reducing unnecessary reported keypresses (#5781)
* Reducing unnecessary reported keypresses and minor docs / variable name changes

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-05-05 16:27:02 -07:00
Martinffx
e14732be9f Add my layout for the KBD67, update readme for default layout to (#5779)
display layout.
2019-05-05 16:25:29 -07:00
omkbd
eb9ea84927 [Keybooard] Update of Ergodash Keyboard (#5772)
* Simpler coding

use SPLIT_KEYBOARD
delete rev1 (rev2→rev1)  because rev1is not sold

* delete USE_I2C = no

* Update readme.md
2019-05-05 16:19:07 -07:00
Max
63d53b0f28 config.qmk.fm support fix for westfoxtrot/aanzee (#5794)
* fixed issue with LED indicators
corrected error in info.json

* fixed issue with led indictors

* added fix for key_count to info.json for westfoxtrot/aanzee

* fix to support config.qmk.fm correctly and remove unused key from matrix for westfoxtrot/aanzee
2019-05-05 14:37:54 -07:00
kwerdenker
0213867dea Fix wrong key assigning in keymap for ISO layout (#5790) 2019-05-05 09:31:51 -07:00
Ryan Caltabiano
3a7c65b424 fix line endings 2019-05-04 10:17:46 -07:00
jotix
9f2fc1179a [Keymap] add unicode to jotix's ortho_4x12_layout (#5775)
* add unicode to jotix's ortho_4x12_layout

* suggested change #define UNICODE_SELECTED_MODES UC_LNX
2019-05-04 09:57:41 -07:00
Jez Cope
9d97e47df4 [Docs] Update Super ALT↯TAB to remove use of unregister_code16 (#5766)
The code as originally listed didn't work for me, but replacing `unregister_code16(LALT(KC_TAB));` with `unregister_code(KC_LALT);` fixes the problem and causes the macro to work as intended.

Thanks to folks on Discord for helping me figure this out.
2019-05-04 09:46:44 -07:00
Robin Hallabro-Kokko
e73587cfd0 docker_build.sh: Docker requires access to hosts devices (#5063)
* docker_build.sh: Docker requires access to hosts devices

This also runs the container interactively which allows the user to
interupt the build with Ctrl-C.

* docker_build.sh: Mount /dev via $usb_args instead
2019-05-03 17:41:39 -07:00
MechMerlin
997bafc8ec [Keyboard] Refactor S60x (#5596)
* remove files that contributed to default hex file creation

* fix up rgb pcb rules and config that previously depended on rules and config in a parent directory

* use #pragma once

* turn on backlight breathing and use #pragma once

* fix config.h and rules.mk to not depend on the parent directory

* use #pragma once

* removed keyboard info.jsons in favor of a shared one

* add in hhkb layout and shared info.json file

* fixup readme file

* remove cruft

* use bootmagic lite over yes

* fix config path and use pragma once

* commit PR fixes

* update manufacturer

* set bootloader correctly
2019-05-03 17:28:03 -07:00
MechMerlin
4c14b5832a Fix up ps2avrgb templates (#5606)
* fix up ps2avrgb templates

* set backlight enable to no as per review comments

* add back no_uart
2019-05-03 17:26:29 -07:00
Oliver Granlund
b9f060c98c [Keymap] DZ60 keymap and layout (#5474)
* init

* function layout planning

* nordic keymap v1.0

* Added latest satan layouts, updated readmes

* Cleaning code

* Renamed ISO -> iso

* Updated keymap to work better with Swedish layout

* merge conflict

* Added dz60 layout

* pr issues fixes

* removed weirdly positioned files

* code cleanup, added dz60 layout json data

* Added dz60 layout readme

* Renamed layout

* removed vscode file

* Update keyboards/dz60/dz60.h

Co-Authored-By: OlliGranlund <OlliGranlund@users.noreply.github.com>
2019-05-03 17:25:24 -07:00
zvecr
da995d2aea [Docs] Add examples to debugging docs (#5555)
* Add examples to debugging docs

* Add examples to debugging docs - review comments

* Update matrix keypress example to use uprintf
2019-05-03 17:24:07 -07:00
Konstantin Đorđević
bdc8d89e6b New keycode macro (XP) for shifted character pairs using UNICODEMAP + bug fixes and improvements (#4803)
* Expose unicode_saved_mods

* Add UNICODEMAP shift pair functionality and XS keycode

* Add XS to keycode reference documentation

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

* Add XS to Unicode feature docs

* Clean up process_unicode* headers

* Extract unicode_map index calculation into function

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

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

* Replace unicodemap_input_error() with more generic unicode_input_cancel()

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

* UNICODE_OSX_KEY → UNICODE_KEY_OSX, UNICODE_WINC_KEY → UNICODE_KEY_WINC

* Make keycode range checks more robust

* Fix keycode range checks for different input modes

* Add UNICODE_KEY_LNX, update docs

* QK_UNICODEMAP_SHIFT → QK_UNICODEMAP_PAIR

* XS → XP, update docs

* Tweak Unicode docs

* Use recently added MOD_MASK_SHIFT and IS_HOST_LED_ON helpers

* Update Unicode table in docs/keycodes.md

* Update Unicode docs per review comments

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

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

* Expand descriptions in XP docs

* Update keycode table and cycling docs

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

* Blindly flash DFU SUFFIX ARGS for now

* Fix commented out check

* Fix DFU Suffix Argument check

Thank you jack!

* Update Travis CI Scripts to include dfu-util

So we can get dfu-suffix as well

* Manually add dfu-suffix package

* Use external repo for newer version of dfu-util

One that includes dfu-suffix

* Update .travis.yml

* Silence unnecessary output from dfu-suffix
2019-05-03 08:24:22 -07:00
Takeshi ISHII
29f68459a0 Fix LIB_SRC insert position (#5731)
The insertion point for `$(patsubst %.c,%.clib,$(LIB_SRC))` must be after all normal `SRC += ..` . I modified it to be so.

Because LIB_SRC and SRC are assumed to be used in pairs. Similarly, QUANTUM_LIB_SRC and QUANTUM_SRC are assumed to be used in pairs.
2019-05-03 06:20:23 -07:00
moyi4681
6a59198a42 add dz65rgb (#5756)
* add dz68rgb

* Update dz68rgb.c

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Rename keyboards/dztech/dz68rgb/rules.mk to keyboards/dztech/dz65rgb/rules.mk

* Update and rename keyboards/dztech/dz68rgb/config.h to keyboards/dztech/dz65rgb/config.h

* Update and rename keyboards/dztech/dz68rgb/dz68rgb.c to keyboards/dztech/dz65rgb/dz65rgb.c

* Rename keyboards/dztech/dz68rgb/dz68rgb.h to keyboards/dztech/dz65rgb/dz65rgb.h

* Update and rename keyboards/dztech/dz68rgb/info.json to keyboards/dztech/dz65rgb/info.json

* Update readme.md

* Rename keyboards/dztech/dz68rgb/readme.md to keyboards/dztech/dz65rgb/readme.md

* Rename keyboards/dztech/dz68rgb/keymaps/default/keymap.c to keyboards/dztech/dz65rgb/keymaps/default/keymap.c

* Update dz65rgb.c

* Update readme.md

* Update keyboards/dztech/dz65rgb/keymaps/default/keymap.c

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz65rgb/keymaps/default/keymap.c

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>
2019-05-03 06:19:33 -07:00
ymzcdg
36bed36cd6 getting_started_introduction.md ->zh-cn (#5767)
translate getting_started_introduction.md into Mandarin Chinese
2019-05-03 06:18:20 -07:00
ymzcdg
db440f3e75 translate the first unit(newbs) (#5753)
translate
newbs_getting_started.md
newbs_building_firmware.md
newbs_flashing.md
newbs_testing_debugging.md
newbs_best_practices.md
newbs_learn_more_resources.md
into Mandarin Chinese
2019-05-02 22:21:06 -07:00
Drashna Jaelre
7e655a207e Add option to enable LTO easily (#5674)
* Add option to enable LTO easily and disable features that cause compiling errors with LTO

* Add documentation about LTO option

* Add to show_options
2019-05-02 08:03:42 -07:00
Teng
55d37d9fbc add a new keymap of DZ60 for MacOS (#5760)
* add a new keymap of DZ60 for MacOS

* dz60:macos_64
    1. remove useless bright keys code, change to KC_PAUSE
    2. add a documentation link in the readme
2019-05-02 08:02:34 -07:00
Drashna Jaelre
27b0f8923e Change VPATH path addition order (#5754)
Specifically, to fix some edge cases, and keep the handling consistent, the userspace folder should not actually be added at the end.  Ideally, it should be added after the keymap paths, but before the keyboard's path.

This issue was discovered in #5484, and the fix created by mtei.
2019-05-02 08:01:58 -07:00
Takeshi ISHII
3da8d46a07 If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() (#5484)
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin()

* Change rgblight breathing table size to be easily selectable.

add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-05-02 07:59:29 -07:00
yynmt
4db31fb374 Add new keyboard KagaMidget (#5755)
* Add KagaMidget keyboard

* Update readme.md
2019-05-02 07:55:55 -07:00
Takeshi ISHII
3956b7c685 add '#define USE_SERIAL' to keyboards/mint60/config.h (#5758)
If there is no '#define USE_SERIAL', qmk configurator will give an error, so add '#define USE_SERIAL' to `mint60/config.h`。
2019-05-02 07:37:37 -07:00
Naoto Takai
de5c8d86b4 Add support for Nomu30 (#5759) 2019-05-02 07:33:04 -07:00
zvecr
7e68faa336 [Keyboard] Plaid - Add compatibility for LAYOUTS = planck_mit planck_grid (#5591)
* Add compatibility for LAYOUTS = planck_mit planck_grid

* Add compatibility for LAYOUTS = ortho_4x12

* Remove planck_grid community support from Plaid
2019-05-01 21:50:16 -07:00
wanleg
588b2329cb Wanleg tuneup / additions (#5752)
* change split keyboard tapping term in userspace

* fix 5x15 layout numpad movement

* minor changes for Nori setup

* edit based on 40percentclub refactor change

* fix gherkin due to refactor

* kbd6x wanleg keymap

* kbd6x edits

* kbd6x tweak

* fn / backlight layer

* fix jj40 rgb hex issue

* wanleg gherkin lighting

* 4x12 layout cleanup

* move kbd6x to new kbdfans directory

* minor edit related to new kbdfans directory

* mac layout for kbd6x

* gherkin flip option

* tweak tapping term on lets_split

* edit for keebio board coalescing

* update user readme with git hints

* wanleg miniaxe keymap

* testing Permissive Hold instead of Mod Tap Interrupt

* wiring names

* kbd6x keymap

* change default backlight behaviour on kbd6x

* userspace underglow

* userspace underglow

* underglow tweaks

* user readme update

* more layer underglow tweaks

* fix userspace for non-underglow-enabled boards

* readme edits

* readme edits

* readme edits

* readme edits

* Update readme.md

* Update readme.md

* readme edits

* readme edits

* update keymap picture
2019-05-01 20:29:00 -07:00
roguepullrequest
6fa88d981c Roguepullrequest planck layout update (#5751)
* First publish of roguepullreqest programmer dvorak planck layout

* Removed junk line

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Removed layer songs

Removed layer songs for cleanliness. Will use them later.

* Update keyboards/planck/keymaps/roguepullrequest/readme.md

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Made basic LSHIFT framework but is not working. Listed other tapdances.

* Got LSHIFT to work

* Added working RSHIFT

* Added working TD_S

* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.

* Cleaned up layout.

* Reenabled audio space is not needed right now.

* Added tap dances and layout image

* Started dactylmanuform layout

* Revert "Started dactylmanuform layout"

This reverts commit 5ef48e4a23.
2019-05-01 20:27:54 -07:00
XScorpion2
12a07dae33 Adjusted the linear led table and hsv_to_rgb to better handle 255 hue (#5739)
* Adjusted the linear led table and hsv_to_rgb to better handle 255 hue

* small math adjustments to better handle specific uint8_t rounding and overflows
2019-05-01 18:59:01 -07:00
XScorpion2
3235c8527d Simple fix for selecting which tracked key press to work off of for simple reactive effects (#5745) 2019-05-01 11:36:50 -07:00
XScorpion2
22ba36a4d8 rgblight 255 hue (#5547) 2019-05-01 08:02:02 -07:00
XScorpion2
50bc2dbe77 Fixing incorrect usage of RGBLED_NUM in ws2812 driver when used with RGB Matrix (#5744) 2019-05-01 05:48:33 -07:00
Josh Hinnebusch
61ce41ae13 [Keyboard] Update hineybush keyboard projects (#5554)
* Add H87a keymap and info

* Create readme.md

* Add h87a .json for kbfirmware.com use

* Update readme.md

* Update readme.md

* Update h87a files

* Delete Makefile

* Update readme.md

* Delete desktop.ini

* update files to match new QMK framework

* Update files to match new QMK structure

* Update files to match new QMK structure

* add layout name information

* Add info.json

* update keymap to support layout_all

* update keymap to support layout_all

* update rules.mk to fix filesize

* Update readme.md

* Update config.h

* Update readme.md

* Update config.h

* Update config.h

Add "define CONFIG_H and include "config_common.h" back to file

* update config.h to include RGB turnoff when PC goes to sleep

* update info.json

* update info.json

* Update readme.md

Add project link

* Update readme.md

* refactor hineybush projects into single folder. update hineyg80 to modern code

* updated layout file to reflect new keymap changes

* actually updated all layout names this time, verified make

* Update keyboards/hineybush/h87a/h87a.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/default/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* edit based on PR edit requests

* update hiney80 files to avoid confusion

* update hineyg80.h to reflect matrix

* Update keyboards/hineybush/hineyg80/info.json

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/info.json

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/info.json

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/info.json

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/default/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/keymaps/wkl/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/default/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/default/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/keymaps/default/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/readme.md

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* update hineyg80 config.h

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/h87a/keymaps/wkl/keymap.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/hineyg80.c

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>

* Update keyboards/hineybush/hineyg80/config.h

Co-Authored-By: hineybush <josh@hinnebus.ch>
2019-04-30 22:35:49 -07:00
fauxpark
e4b5c44262 [Docs] Use HTTPS for qmk.fm link (#5506)
* Use HTTPS for qmk.fm link

* Fix the rest of the HTTP links
2019-04-30 21:54:52 -07:00
Jan Christoph Ebersbach
074be4fe5e [Keyboard] Signum3.0 generate json keymap (#5688)
* Remove dependency on sortedcontainers

* Sort dictionary on output

* Externalize writing of keymap.c into function

- serialize layers into one flat list

* Add encoding

* Generate JSON keymap in addition to keymap.c

* Replace XXXXXX with KC_NO
2019-04-30 21:53:29 -07:00
mikethetiger
670ff2d19f [Keymap] Made adjustment to my Preonic keymap (#5733)
* Added my Preonic keymap

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Update keyboards/preonic/keymaps/mikethetiger/keymap.c

Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com>

* Added my Preonic keymap

* Added my Preonic keymap
2019-04-30 21:35:21 -07:00
XScorpion2
e95283b545 [Keymap] Xulkal keymap tweeks (#5746)
* Minor keymap tweeks and more oled data

* Update keymap.c
2019-04-30 20:55:01 -07:00
Benjamin
8725197ad6 [Keyboard] Adds support for BM16S keyboard (#5659)
* Added support for BM16S keyboard.

* Update keyboards/bm16s/bm16s.h

Co-Authored-By: bontakun <ben@bontakun.net>

* Update keyboards/bm16s/bm16s.h

Co-Authored-By: bontakun <ben@bontakun.net>

* Cleaned up a bunch of unneeded stuff.

* Made layout name match.

* Changed rules file to have correct bootloader and indention. Updated readme to reflect availability on krepublic. Updated keymap to have more obvious RGB controls.

* Removed unnecessary file.

* Fixed grammar in readme.

Co-Authored-By: bontakun <ben@bontakun.net>

* Migrated to autogenerated layout config, without issue.

* Renamed LAYOUT to match community standards.
2019-04-30 19:29:51 -07:00
Ryan Caltabiano
d67b99ff3c Added OLED Driver to the summary 2019-04-30 18:04:11 -07:00
Daniel Peregolise
7c2a7ab817 [Keyboard] doro67 readme clarification (#5736)
* readme clarification

* Apply suggestions from code review

verbiage updates

Co-Authored-By: dperegolise <danielperegolise@gmail.com>

* mechmerlin suggested verbiage
2019-04-30 12:11:57 -07:00
Drashna Jaelre
5b9667a4bf Ignore VSCode ipsh folder (#5741) 2019-04-30 09:18:11 -07:00
Jeremy Bernhardt
0cde880747 🐮🥛 Butterstick Support 🥛🐮 (#5742)
* Working on chording

* Working on chording

* Got layouts in order

* Initial Georgi support

* forgot to add keymaps

* Updated readme

* Update keyboards/georgi/keymaps/template/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/keymaps/template/keymap.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Disabled features, updated info

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Fixed info.json

* Split the number button and fixed gaming mode.

* started work on history feature

* Working history/multikeyfuckery

* type

* inital code reduction refactor

* Got multikey patched up, optimizing for size

* Forgot to remove stuff

* fixed key repeat

* Key repeat added.

* Symshift locking

* Midchord Sym shenanigans.

* Added only QWERTY mode

* Split out header

* Added stickybits, minimal layour

* Fixing user layout

* Whitespace fixing

* Fixing Version name

* Starting work on BS

* Fixing default layout and rules

* Updated Butter fw

* Copy-paste rebase

* more fixing from merge. Fuck

* Forgot to roll version

* Added revisions as per @mechmerlin
2019-04-30 08:28:01 -07:00
motform
b09dc19d32 [Keymap] Add motform planck keymap (swedish colemak) (#5734)
* [Keymap] Add motform planck keymap (swedish colemak)

* Add readme and remove unused enums (thanks @drasha!)
2019-04-30 08:25:31 -07:00
XScorpion2
bb208f3e3b Implement kb function for rgb matrix to led lookup (#5738) 2019-04-30 07:55:53 -07:00
Jan Christoph Ebersbach
483ad4e3e0 [Keyboard] Signum 3.0 Fix key order in layout (#5687)
* Fix key order in layout

* Reduce keyboard dimensions

* Reduce space around keys
2019-04-29 22:06:23 -07:00
Jan Christoph Ebersbach
4c2453aa1b [Keyboard] Signum3.0 remove sortedcontainers (#5679)
* Remove dependency on sortedcontainers

* Sort dictionary on output
2019-04-29 21:35:34 -07:00
XScorpion2
c745d9b82e Simple extended space cadet (#5277)
* Simplifying and Extending Space Cadet to work on Ctrl and Alt keys

* PR Review feedback

* Reverting back to keycodes
2019-04-29 20:21:46 -07:00
XScorpion2
7d4ae3e66e Removed forced in lining for lib8tion functions (#5670) 2019-04-29 17:45:42 -07:00
Alec Geatches
75d72c221d Change lib8tion library to be usable in user keymaps (#5598)
* Move lib8tion header-defined constant into implementation file, add to build

* Move b_m16_interleave initializtion to lib8tion.c, change build to include lib8tion.c in QUANTUM_LIB_SRC

* Remove left-over whitespace

* Move lib8tion include by RGB_MATRIX_ENABLE code in makefile

* Revert build changes and change lib8tion b_m16_interleave constant to static
2019-04-29 17:44:36 -07:00
Jeremy Bernhardt
507805cd10 [Keyboard] Fixing drag-and-drop (#5728)
* Fixing drag-and-drop

* Forgot to rtfm and do a full build. Added colemak

* What
2019-04-29 17:29:00 -07:00
David Dai
e77e46f4bf [Keyboard] Adding ortho_4x12 & planck_mit layouts for KBD4X (#5729)
* Adding ortho_4x12 & planck_mit layouts for KBD4X.

* Adding LAYOUT_kc_ortho_4x12 macro to KBD4x.

* Turn off console for KBD4X so firmware size falls within limit.
2019-04-29 17:27:49 -07:00
noroadsleft
1f0a2d5550 [Keyboard] Minor fixes for Baguette (#5737)
* Fix Baguette ISO layout in QMK Configurator

Corrected the position of the ISO Enter key.

* Fix readme markdown

Was missing a line break.
2019-04-29 17:23:01 -07:00
XScorpion2
a7113c8ed0 Updated rgb_led struct field modifier to flags (#5619)
Updated effects to test led flags
Updated massdrop to use new flags field for led toggle
2019-04-29 15:18:50 -07:00
Daniel Prilik
1d784f0f95 RGB Matrix: Custom effects on a kb/user level (#5338)
* Revamped custom effects approach

See docs for example usage

* push-up RGB Matrix default mode

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

* update docs
2019-04-29 14:48:41 -07:00
noroadsleft
e337bb82a3 Fix Planck and Preonic builds (#5658)
* Planck: Copy contents of Planck rules.mk to each revision

* Planck: Delete Planck rules.mk

* Planck: Concatenate duplicate rules

Concatenate rules that are set and then overridden into one setting.

* Preonic: Copy contents of Preonic rules.mk to each revision

* Preonic: Delete Preonic rules.mk

* Preonic: Concatenate duplicate rules

Concatenate rules that are set and then overridden into one setting.

* Planck: Delete non-specific Bootloader settings from revs. 1 and 2

Deleted BOOTLOADER setting code block, as the checks were only valid for revs. 3-5 and the Planck Light.

Neither Planck rev1 or rev2 set the bootloader via rules.mk, so there's no setting of BOOTLOADER in their rules.mk files.

* Preonic: Fix BOOTLOADER settings code blocks

* Preonic: delete extra blank lines from rules.mk files

* Preonic: delete AVR-type hardware config blocks from rev3

* Update Planck and Preonic readme files

- update Hardware Supported
- update/add Install Examples
- update Docs paragraph

* Enable Bootmagic Lite where it is disabled

Enabled Bootmagic Lite for:

- Planck Light
- Planck revs. 1-5
- Preonic revs. 1 and 2

* Remove `planck_grid` from LAYOUTS rule for all Planck revisions

Community has landed on `ortho_4x12`, which is already set; `planck_grid` is redundant.
2019-04-29 11:04:56 -07:00
loChris
6806398246 [Keymap] dz60 keymap w/ hhkb-esque default layer (#5708)
* hello world

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

Co-Authored-By: loChris <44450518+loChris@users.noreply.github.com>
2019-04-29 09:34:43 -07:00
Priyadi Iman Nurcahyo
36e950a13f [Keymap] Added compatibility for Planck rev6 (#5706)
* Update code for compatibility with latest QMK

* Added compatibility with Planck rev6

* use wait_ms instead of _delay_ms

* removed unnecessary rules

* disable audio on rev4 only
2019-04-29 09:33:13 -07:00
Andrew Kannan
b23c3b0fd6 [Keyboard] Satisfaction75 i2c fix and VIA layout (#5726) 2019-04-27 20:35:31 -07:00
fauxpark
53c51f1d16 A better new_project.sh (#5191)
* A better new_project.sh

* Fix docstrings

* Use single quotes for anything not shown to user

* Missed this docstring

* Simplify get_git_username()

Thanks @vomindoraan

* chmod +x

* Add docstring for print_error()

* Break up git username call into multiple lines

* Use with statement here

* Conform to PEP 8 even more

* Turn it back into a shell script

* chmod +x again

* Update docs to reflect new keyboard generator usage

* Tweak wording slightly

* Trim trailing whitespace

* Don't actually need to escape the newlines here

* As I suspected, you can pass shift a number

* Prepend ./ to match the other code block

* Minor syntax tweaks

* The username token has changed

* Replace name in the readme too

* Make some reasonable assumptions about the presence of Git
2019-04-27 16:42:16 -07:00
fauxpark
c3be0520c4 Fix sendstring "#" producing "£" instead (#5724) 2019-04-27 11:04:28 -07:00
Wilba
0250cad420 [Keyboard] Added WT69-A PCB (#5721)
* Added WT69-A

* Tweaked some things before PR

* Update keyboards/wilba_tech/wt69_a/info.json

Co-Authored-By: Wilba6582 <Jason.S.Williams@gmail.com>

* Update keyboards/wilba_tech/wt69_a/readme.md

Co-Authored-By: Wilba6582 <Jason.S.Williams@gmail.com>

* Update keyboards/wilba_tech/wt69_a/wt69_a.h

Co-Authored-By: Wilba6582 <Jason.S.Williams@gmail.com>

* Update keyboards/wilba_tech/wt69_a/readme.md

Co-Authored-By: Wilba6582 <Jason.S.Williams@gmail.com>

* PR fixes

* Fixed readme.md

* Fixed keymaps
2019-04-27 11:03:36 -07:00
Jonathan Rascher
27cff473e0 [Keymap] Fix typo and function layer image for Quefrency (#5719) 2019-04-27 11:01:39 -07:00
Jonathan Rascher
e2d141582c [Keymap] Initial keyboard layout for KBD67 (#5720) 2019-04-26 23:55:58 -07:00
Jonathan Rascher
777e8be80a [Keymap] New keymap for Quefrency 65% with split backspace, RGB, media keys, mouse keys (#5717)
* Add initial keyboard layout for Quefrency

* Add RGB config and keybindings for Quefrency

* Move Quefrency wheel keys to more convenient place

* Actually switch from serial to I2C

Commit 64708c6 updated the comment, not the #define. D'oh!
2019-04-26 20:48:26 -07:00
Drashna Jaelre
8faee5c9f6 [Keyboard] Update Gergo to use newer Ergodox Matrix code (#5703)
* [Keyboard] Update Gergo to use newer Ergodox Matrix code

And update layout macros to be correct

* Almost forgot the json file

* Remove board specific defines for i2c timeout
2019-04-26 17:24:00 -07:00
MechMerlin
ffd10d4116 [Keyboard] Eagle/Viper V2 Cleanups (#5709)
* cleanup matrix of unused row and column, and add more documentation

* update matrix notes

* update readmes

* update readmes

* fix comments E2 to E3
2019-04-26 11:21:40 -07:00
Drashna Jaelre
90cd383d46 Fix wakeup function on ChibiOS (#5707)
Somebody was a very, very bad boy, and did a poor job of copy-pasting
2019-04-26 11:03:51 -07:00
jotix
6caaf69357 jotix ortho_4x12 keymap tweakings (#5715) 2019-04-26 11:02:19 -07:00
noroadsleft
f0599542ea QMK Configurator support for the emptystring studio NQG (#5711)
* NQG Configurator support

* Fix line break in readme file
2019-04-26 06:55:27 -07:00
moyi4681
5c302fad21 Update rules.mk (#5710) 2019-04-26 06:54:44 -07:00
kit-bto
4322c71771 [Keyboard] Add a new keyboard ADKB96 (#5685)
* New Keyboard ADKB96 http://bit-trade-one.co.jp/selfmadekb/adkb96/

* New Keyboard ADKB96 http://bit-trade-one.co.jp/selfmadekb/adkb96/

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Rename Readme.md to readme.md

* Update keyboards/adkb96/adkb96.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update readme.md

* Update readme.md

* Update keyboards/adkb96/adkb96.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/adkb96.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keymap.c

* Update keyboards/adkb96/rev1/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rev1/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update config.h

* Update keyboards/adkb96/rev1/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rev1/rev1.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rev1/rev1.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rev1/rev1.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update rules.mk

* Delete rules.mk

* Update rules.mk

* Update keyboards/adkb96/rules.mk

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rules.mk

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rev1/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update config.h

* Update rules.mk

* Update config.h

* Delete i2c.c

* Delete i2c.h

* Delete matrix.c

* Delete serial.c

* Delete serial.h

* Delete split_util.c

* Delete split_util.h

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update rev1.c

* Update keyboards/adkb96/rev1/config.h

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update keyboards/adkb96/rules.mk

Co-Authored-By: kit-bto <42862131+kit-bto@users.noreply.github.com>

* Update rev1.h
2019-04-25 23:11:21 -07:00
skullY
9c98fef4f6 test commit 2019-04-25 10:29:12 -07:00
mtei
9f8c8c53a5 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to rgblight_update_dword() 2019-04-24 12:52:15 -07:00
mtei
5312131d35 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to eeconfig_update_rgblight_default() 2019-04-24 12:52:15 -07:00
zvecr
e6f4173aec Refactor cospad to current standards and enable support for backlight keycodes (#5582) 2019-04-24 11:13:07 -07:00
Callum Oakley
eda924d7dc [Keymap] update (mouse emulation, rev 6 compatibility) (#5696)
* mess with mouse emulation some more

* reverse scrolling

* mouse speed 20

* ndash and £ on symbol layer

* rev6 compatibility
2019-04-23 19:31:42 -07:00
Bob
dafdb5f9ae [Keyboard] fix project zen rev1 bootloader declaration (#5695) 2019-04-23 19:29:54 -07:00
Rockman18
479baf98e0 [FIX] Misspelled RGB_YELLOW (#5692) 2019-04-23 19:27:29 -07:00
Jan Christoph Ebersbach
978074e417 [Keymap] Fix broken Shift-Insert binding (#5689) 2019-04-23 19:26:49 -07:00
MechMerlin
703699b81f [Keyboard] forgot to omit k05 from the electrical matrix in hhkb layout (#5684) 2019-04-23 19:11:18 -07:00
Florian Didron
d4a5402aeb [Keyboard] Fix red an green leds location (#5698) 2019-04-23 19:10:28 -07:00
ymzcdg
7ae2ded590 Translate docs into Chinese (#5693)
* Docs translate

Translate some docs to  Standard Chinese for Chinese Developers.

* fix translate

fix translate
2019-04-23 12:37:20 -07:00
MechMerlin
d48a5b29d7 [Keymap] Fix my userspace RGB bug (#5686)
* fix bug that enabled RGBLIGHT_ENABLE on all my boards regardless if it was supported or not

* update changelog with new changes for 0.2.2
2019-04-22 21:52:05 -07:00
ishtob
ce8fb1eab9 Boston meetup 2019 (#5611)
* Add boston_meetup folder for community meetup macropads

* Modify OLED indicators to match macropad

* PR cleanup

* Spelling fix

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

* convert custom matrix to standard matrix defines

* refactor layer define with enum

* Remove un-used files

* remove "\" in keymap
2019-04-22 20:26:51 -07:00
Drashna Jaelre
a2cec0594b [Keymap] Update to Drashna Keymaps (#5594)
* Start to standardize macro timer

* Update Fractal layout

Specifically, limit the RGB Lighting, since it's too many for the power, and only have the KITT annimation on the front

* Update Iris keymap to use I2C for transport

* Remove TAP_CODE_DELAY from keyboard in favor of global setting

* Remove Woodpad

Since it\'s no longer in my possession

* Only enable LTO on AVR boards

* Run matrix_scans while doing startup light

* Run matrix_scan to get split keyboard code synced properly

* Fix rgb mode

* Remove custom debouncing settings

* Make RGB Light Startup Animation optional

* Fix opt def

* Remove extra tap code delay value

* Fix references to keebio boards

* Add support for LP Iris keyboard

* Add backlight code

* Make startup animation optional

* Update gitlab ci script

* Remove port declaration

* Revert avrgcc changes to gitlab ci file

* Don't re-set mods

* Remove MACRO_TIMER define

* Add custom name for crkbd

* Add name for Prime M pad

* Add names for ortho 4x12 boards

* Add some additional handling for rgb init

* Change thumb clusters on ergodox

* Switch Orthodox to I2C

* Fix Space in ergodox keymap

* Use OSL for ergodox layout

* Ugh, can't find a good layout

* Fix typo

* Fix up animation startup

* Cries in AVR

* Fix makefiles for ergodox ez boards

* Add support for "secret songs" in my userspace

* Reset debounce to 5ms for Ergodox EZ

* Fix gitlab CI yaml file

* More crying in AVR

* Cannot use rgb light and rgb matrix at the same time due to the WS2812 rgb matrix PR until the "Coexistance" PR is merged

* Update ODox for split common and i2c

* Add split config

* Impement Split code

* Add support for xscorpion OLED code

* Add OLED display config

* Fix OLED screen font

* Get OLED set up in vertical mode

* Remove old OLED code

* add per key support for crkbd

* Fix split changes

* RGB Tweeaks

* More OLED tweaks

* Fix rotation stuff

* Fix more OLED stuff

* Remove custom Debounce from Ergodox layout since it's no longer needed
2019-04-22 11:55:55 -07:00
Takeshi ISHII
6d73fe1277 fix LIB_SRC and QUANTUM_LIB_SRC for ARM (#5623)
* fix LIB_SRC and QUANTUM_LIB_SRC for ARM(chibios)

* remove ARFLAGS

* tmk_core/arm_atsam.mk:AR: remove 'rcs'
2019-04-22 11:20:13 -07:00
M-AS
bb52119a6d RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) (#5602)
* added 3 new RGB_Matrix effects

* made cross effect behavior smoother

* removed dead code

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

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

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

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

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

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

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

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2019-04-22 08:34:13 -07:00
Harshit Goel
c28a432112 added info.json for ymd96 (#4982)
* added info.json for ymd96

* fix layout for keymap_custom macrom, correct info.json for default layout

* add info layout for iso

* add info layout for iso

* align layout name, added maintainer username

* layout case fix

* layout case fix

* fix overlapping keys

* match layouts to keymaps.
2019-04-22 08:28:17 -07:00
Erovia
066818f5f9 Define RGB colors (#5300)
* Define RGB colors

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

* Add new color definitions support for RGB Matrix

* Add/clarify info about new color definitions in Docs

* Add deprecation warning banner to rgblight_list.h
2019-04-22 08:26:41 -07:00
Drashna Jaelre
c7583d181a Update handwired/frenchdev keyboard (#5443) 2019-04-22 08:25:21 -07:00
Jason Koh
76e78e8ca1 Atreus rules.mk and readme (#5678)
* Update rules and readme to reflect new make usage.

* Minor edit.

* Minor edit.
2019-04-22 08:15:56 -07:00
XScorpion2
4ecaa25f3e forgot to update the define usage when 90 degree rotation was moved to a runtime switch (#5676) 2019-04-22 08:14:57 -07:00
MechMerlin
81d8e6ef3e [Keyboard] Doro67 RGB PCB (#5677)
* initial commit

* get rid of some of the vanilla code

* set up matrix and pins

* Create LAYOUT macro and an appropriate keymap

* support for caps lock LED

* add some documentation to the doro67 parent readme

* align the language used in the several readme files

* initial commit

* get rid of some of the vanilla code

* set up matrix and pins

* Create LAYOUT macro and an appropriate keymap

* support for caps lock LED

* add some documentation to the doro67 parent readme

* align the language used in the several readme files

* Use RGB Matrix and fix enter key bug

* fix formatting

* remove merge conflict artifacts

* make a more useful default keymap

* add configurator support for the RGB pcb

* fix rgb matrix based on new info. Multipler should be reversed

* forgot to actually set the pin output for caps lock led

* fix offset keys in layer 1 keymap

* code cleanup

* use macros for the rgb_led calculations struct

* set RGB led num to 67 as I mistakenly counted the caps lock led

* cleanup config.h file

* add RGB note in readme

* get consistent naming in config file

* fix some inconsistencies

* readjust matrix and get rid of macros based on drashna's suggestions
2019-04-21 19:59:39 -07:00
George Petri
98f7af6d3b [Keymap] Add keymap for keebio/quefrency 65% version (#5666)
* add keymap

* fix readme title

* renamed README.md to lowercase, fix typo

* renamed README.md to lowercase, for real

* add double spaces for github

* lowercase name in readme

* rename directory to lowercase
2019-04-21 09:43:23 -07:00
moyi4681
50e0bdab00 [Keyboard] dz60rgb: update default keymap (#5661)
* Update keymap.c

* Update config.h

* Update dz60rgb.c

* Update keymap.c
2019-04-21 09:33:36 -07:00
Rys Sommefeldt
e2843c25ce [Keymap] Shuffle FL1 some more to match keycap legends (#5673) 2019-04-21 09:15:19 -07:00
XScorpion2
b27ddf1edb [Keyboard] Updated rules.mk for Sol to use the correct feature flag (#5672) 2019-04-21 09:13:44 -07:00
XScorpion2
829ccd3491 RGB Matrix docs update from mechmerlin discussion (#5667)
* RGB Matrix docs update from mechmerlin discussion

* alignment

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-04-20 18:21:22 -07:00
William Chang
ff9cd1dd0c Added keymap/userspace for dz60 build 4 with readme (#5668)
* Initial commit

* Modified keymap and updated readme.

* fixed numbering in readme

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Made requested changes in PR.

* Rename README.md to readme.md
2019-04-20 17:38:33 -07:00
Ryan Caltabiano
d3268280ef Removed / replaced questionable logos and added licenses file for safe logos 2019-04-20 08:05:10 -07:00
Ryan Caltabiano
33e27b2a83 Fixing readme from feedback 2019-04-20 08:05:10 -07:00
Ryan Caltabiano
dd3a813f87 Reducing size of data send in one frame & update Zen rev2 oled usage 2019-04-20 08:05:10 -07:00
Ryan Caltabiano
0a645225b9 OLED Driver Feature 2019-04-20 08:05:10 -07:00
zvecr
b5cb5ec6dd Fix koyu readme encoding (#5655) 2019-04-20 08:02:59 -07:00
Jan Christoph Ebersbach
a1f2514051 [Keyboard] Layout and configuration updates for Signum 3.0 (#5652)
* Make Signum 3.0 compatible with default ortho_4x12 layout

* Disable unicode map by default

* Add missing backspace key

* Add missing delete key

* Fix broken gui right command

* Move MO5 to a different key an add Esc to L4

* Move MO5 to a different key

* Add Del and Bspace to layer 4
2019-04-19 23:37:19 -07:00
Rys Sommefeldt
ed74bd95f6 [Keymap] Make the layout friendlier for use with the iPad (#5654)
* Make the layout more similar to Apple keyboards to make it friendlier for using with an iPad

* Fix config.h pragma, plus second layer mistakes
2019-04-19 23:35:46 -07:00
zvecr
edcedd53d1 [Keyboard] Add LAYOUT macro and Configurator config (#5656) 2019-04-19 23:34:13 -07:00
Len Trigg
8170be5b10 [Keyboard] crkbd: compile time hand-dependent rgb_matrix LED declarations (#5657)
Set RGB_MATRIX_SPLIT_RIGHT=yes when flashing the right hand side of the
keyboard.
2019-04-19 23:33:07 -07:00
Markus Weimar
4856552f8b Update mouse keys docs (#5653) 2019-04-19 23:18:06 -07:00
Takeshi ISHII
7e67bd791b Change split_common to use RGBLIGHT_SPLIT (#5509)
* add I2C_slave_buffer_t to quantum/split_common/transport.c

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

* add temporary pdhelix(Patched Helix) code

* temporary cherry-pick from #5020

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

* add post_config.h support to build_keyboard.mk

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

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

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

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

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

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

* test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix

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

This reverts commit 80118a6bbd.

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

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

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

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

This reverts commit d35069f68b.

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

This reverts commit aebddfc1a8.

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

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

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

This reverts commit 647c0a9755.

* update docs/config_options.md

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

No change in build result.

* temporary cherry-pick from #5020

* fix build fail keebio/iris/rev3:default

* fix build fail lets_split_eh/eh:default

* Revert "temporary cherry-pick from #5020"

This reverts commit be48ca1b45.

* temporary cherry-pick from #5020 (0.6.336)

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

This reverts commit 978d26a8b3.

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

* add rgblight_update_hook()

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

* add more hook point

* add TODO comment

* temporary Revert "add TODO comment"

This reverts commit df6165aac9.

* temporary Revert "add more hook point"

This reverts commit 64592b06f3.

* temporary Revert "add rgblight_update_hook()"

This reverts commit 432b74c912.

* add rgblight_update_hook()

* add more hook point

* add TODO comment

* implement rgblight_update_hook()

* remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX

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

* shrink rgblight_config_t

* implement rgblight_update_sync()

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

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

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

* update rgblight.c

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

* fix build break rgblight_update_sync() when all animation off

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

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

* add mode_base_table[] to quantum/rgblight.c

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

* quantum/rgblkght.c animation timer integration

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

* fix mode_base_table[] and snake effect

* fix build break keyboards/mxss.

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

* rgblight.c: fix animation sync

* quantum/rgblight.c: fix snake effect sync

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

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

* quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION

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

* fix RGBLIGHT_SPLIT_ANIMATION check position

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

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

* Changed to rgblight_sethsv_eeprom_helper() for easier reading.

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

* remove temporary code in Helix keyboard 'five_rows' keymap

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

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

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

* Change rgblight_update_sync() to use write_to_eeprom.

* remove TODO comment from quantum/rgblight.h

* Revert "fix build break keyboards/mxss."

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

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

This reverts commit b61004e63e.

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

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

* add temporary pdhelix(Patched Helix) code

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

* Finish testing rgblight.c with helix keyboard.

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

This reverts commit 0bf81a4723.

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

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

This reverts commit 71db3e24ee.

* remove temporary pdhelix(Patched Helix) code

This reverts commit 5287e51a39.

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

* add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init()

* Changed to restart animation only when changing mode.

When changing hue, sat and val, the animation is not restarted and continues.
2019-04-19 15:05:51 -07:00
Drashna Jaelre
dd64a4e738 Init RGB Matrix EEPROM
I'm not sure how to check if it's the same as RGBLIGHT's EEPROM, but if you don't init it, it **will not** work properly until it is initialized.
2019-04-19 14:58:08 -07:00
mechmerlin
1ef01ba4c6 add -yq flags to actually make it noninteractive 2019-04-19 14:46:19 -07:00
Danny Nguyen
746058306b Make sure NOBITS is set on reset_key
Patch from https://github.com/qmk/qmk_firmware/issues/3657#issuecomment-415147411

Long story short, in avr-gcc pre-8.2, reset_key was assigned to a memory area that was in a normal range, but when 8.2 came out, that memory got moved to an out of range area, causing errors like 0x800293 out of range. Apparently, this was fixed up in avr-gcc, but we haven't seen a release with the fix yet (we expected it in 8.3, but that didn't happen for some reason).

What this commit does is move the reset_key back to the original memory location it was in before.
2019-04-19 14:44:16 -07:00
zvecr
50fce7f255 Travis CI - skip unit tests for documentation changes (#5267)
* Add script to skip tests on non master branches with only docs changes

* Review comments - Use 'grep -c' instead of 'wc -l'
2019-04-19 13:20:02 -07:00
Mike Roberts
b60413af60 Use auto output for Adafruit BLE (#4131)
* use auto for adafruit ble

* spacing

* switch ifdef name
2019-04-19 13:07:35 -07:00
Jack Humbert
55ace26a5d Remove default folders for the Planck & Preonic (#3497)
* remove planck default folder

* Update rules.mk
2019-04-19 13:05:31 -07:00
Jeff Hastings
5539d7affb [Keyboard] Update 1upkeyboards/super16 with code from vendor (#5645)
* readme formatting

* cleanup rules.mk

* update config.h

* add numpad layout

* Update default keymap

* cleanup rules

* disable console and commands to fit the bootloader

* cleanup whitespace

* revert readme changes

* revert changes to config.h

* remove unused keycodes

* add LAYOUTS to rules.mk

* remove redundant config setting

Co-Authored-By: jeffmhastings <jeffmhastings@gmail.com>
2019-04-19 10:43:15 -07:00
Salt-Peanuts
7fa854729c [Keymap] Added personal keymap to BFO-9000; cleaned up personal files in Kinesis and Rorschach (#5638)
* Added personal keymap to BFO-9000; cleaned up personal Kinesis and Rorschach files

Added personal keymap to BFO-9000; cleaned up personal Kinesis and Rorschach files

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md
2019-04-19 09:23:11 -07:00
Markus Weimar
5ed7d9c9ca Update XD75 keymap by markus (#5651) 2019-04-19 07:27:23 -07:00
Markus Weimar
e3a940026e Improve mouse keys docs and constant speed mode 2019-04-18 23:31:17 -07:00
XScorpion2
74af596d8a [Keyboard] niu_mini reduce firmware size (#5648)
* Reducing firmware size by removing audio for keymaps that are not using it.

* Update rules.mk
2019-04-18 21:58:38 -07:00
shela
8aee82e8b4 [Keymap] Fix compilation error of feature #4301 (#5649) 2019-04-18 17:41:01 -07:00
QMK Bot
dd290085c9 convert to unix line-endings [skip ci] 2019-04-18 23:23:52 +00:00
skullydazed
068571b9fe Update our style guide (#5500)
* Update our style guide

* Clarify muiltple condition ifs

* update the ifdef section
2019-04-18 15:59:51 -07:00
Alex Ong
7a1086e405 [core] Fix for eager_pr #5643
Added extra transfer_matrix_values() call whenever counters don't need updating
2019-04-18 15:45:36 -07:00
YouCanFly
9e3b38425f [Keyboard] Update Tetris (#5513)
* Update Tetris

Add a fake row to config the encoder's keycode easily.

* Delete rules.mk

* Update keyboards/tetris/readme.md

Co-Authored-By: YCF <65446+YCF@users.noreply.github.com>

* Update config.h

add #define RGBLIGHT_SLEEP
2019-04-18 15:37:26 -07:00
Drashna Jaelre
a58c66df88 Reduce CRKBD firmware size by reducing layer numbers (#5471)
* Reduce CRKBD firmware size by reducing layer numbers

* Update layer output code based on mtei's suggestion/code

* Fix spacing

* Revert "Update layer output code based on mtei's suggestion/code"

This reverts commit 036d347db3.

Unfortunately, because this is NOT in the keymap itself, the layer macros aren't accessible and will error on commit

* Add comment for future person
2019-04-18 14:02:32 -07:00
Øyvind Wilhelmsen
162a1d39b6 Update readme.md (#5647) 2019-04-18 13:27:05 -07:00
patrickmt
3542f594d9 Fix wake from suspend LED functionality
When waking from suspend, only enable the LED drivers if they were not previously set to disabled by the user. This functionality was removed by the recent updates to adapt Massdrop keyboards to QMK RGB Matrix. Affects Massdrop CTRL and ALT keyboards compiled using Massdrop Configurator mode.
2019-04-18 11:55:45 -07:00
Erez Zukerman
0511b522e0 Merge pull request #5642 from fdidron/f/change-ergodoxez-debounce
Change Ergodox EZ default debounce
2019-04-17 21:53:07 -04:00
Florian Didron
34239edcb0 Set default debounce to 5 2019-04-18 10:49:13 +09:00
roguepullrequest
8bdbac14a3 [Keymap] Roguepullrequest Planck layout update (#5640)
* First publish of roguepullreqest programmer dvorak planck layout

* Removed junk line

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Removed layer songs

Removed layer songs for cleanliness. Will use them later.

* Update keyboards/planck/keymaps/roguepullrequest/readme.md

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Made basic LSHIFT framework but is not working. Listed other tapdances.

* Got LSHIFT to work

* Added working RSHIFT

* Added working TD_S

* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.

* Cleaned up layout.

* Reenabled audio space is not needed right now.
2019-04-17 18:39:50 -07:00
kingwangwong
01f4b67ef0 [keymap] adding kingwangwong's keymaps (#5626)
* Add files via upload

* kingwangwong

* kingwangwong

* revisions and adding atom40

* revisions for 5626

* revisions for 5626

* revisions for 5626.

* revisions for 5626, re added safe range

* revisions for 5626, added qmkkeyboard

* revisions for 5626, quefrency
2019-04-17 13:26:20 -07:00
Øyvind Wilhelmsen
f05927a2f0 [Keymap] Update to oeywil's keymap (#5614)
* Switched to grid, added leader key and space cadet shift

* renamed layer, removed sound

* fixed comment

* added comment

* Added tap dance

* Added comments

* removed useless sound

* removed useless comments

* removed useless cases

* changed to register_code16 function

* renamed variables

* fixed typo

* fixed indentation
2019-04-17 11:07:19 -07:00
Teodor Tomic
4cd3afc7e9 [keymap] TADA68 KBP-V60-like keymap (#5637)
* [keymap] Added TADA68 KBParadise V60 like keymap

* Remove extra define
2019-04-17 06:37:40 -07:00
Ryan Caltabiano
86855f4417 Xulkal Keymaps 2019-04-16 18:30:54 -07:00
marcoSchr
416eb1dee7 [Keyboard] Fix macro keycode for alpha keyboard (#5633) 2019-04-16 15:57:24 -07:00
ishtob
0a6beab224 [Keyboard] Hadron keymap and config updates (#5632)
* update hadron keymaps, code cleanup

* keymap update

* refactor custom matrix to use quantum matrix defines

* fix wrong pin for matrix
2019-04-16 14:49:24 -07:00
marcoSchr
93b7fccad6 [Keymap] Use Right Alt/Ctrl on right side of OK60 (#5630)
* Use Right Alt/Ctrl on right side of OK60

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

Co-Authored-By: marcoSchr <49691247+marcoSchr@users.noreply.github.com>
2019-04-16 10:39:57 -07:00
Rob Rogers
565a7812ab [Keyboard] Crkbd RGB Matrix config with WS2812 (#5627) 2019-04-16 10:29:48 -07:00
Iason Dimitrakopoulos
838d09b0a9 [Keymap] Bugfixes on tapdance logic and small changes in layout (#5622)
* Add layer switcher functionality

* Fixes in left/right bracket functions and other small fixes

* used better KCs
2019-04-16 10:28:29 -07:00
Alex Ong
d0fb7005d5 Eager pk/pr optimization (#5621)
* Optimizations to eager_pk

* eager_pr also uses changed boolean now.
2019-04-15 12:58:03 -07:00
XScorpion2
ffc82ebdb2 [Keyboard] Zen keyboard update for Rev2 (#5522)
* Updated Zen keyboard for rev2 support

* Fixing r1 compile errors

* PR feedback and changes for Proton-C compile errors
2019-04-14 21:29:50 -07:00
iw0rm3r
4974683040 [Keyboard] IBM Model M (ANSI/ISO) Teensy 2.0++ conversion (#5560)
* Added initial modelm101 config

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

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/modelm101/keymaps/iw0rm3r/keymap.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/modelm101/readme.md

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Added wiring notes to clarify use of the config

* Small fix

* Small fix

* Moved modelm101 to converter directory

* Added info.json file for QMK configurator

* Corrected path

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/readme.md

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Update keyboards/converter/modelm101/modelm101.c

Co-Authored-By: iw0rm3r <49209191+iw0rm3r@users.noreply.github.com>

* Replaced DDR and PORT with QMK functions
2019-04-14 20:58:56 -07:00
XScorpion2
5fcd744ddb Features/ws2812 matrix driver (#5418)
* WS2812 driver implementation for RGB Matrix

* Added driver configuration docs
2019-04-14 17:50:35 -07:00
roguepullrequest
d7ba190cd9 [Keymap] First publish of roguepullreqest programmer dvorak planck layout (#5612)
* First publish of roguepullreqest programmer dvorak planck layout

* Removed junk line

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Update keyboards/planck/keymaps/roguepullrequest/keymap.c

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>

* Removed layer songs

Removed layer songs for cleanliness. Will use them later.

* Update keyboards/planck/keymaps/roguepullrequest/readme.md

Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
2019-04-14 11:35:21 -07:00
Drashna Jaelre
66dbcccb48 Fix incorrect keyboard dimensions in Configurator API data (#5615)
* Fix Ergodone keyboard dimensions in info.json

* Fix handwired/prime_exl keyboard dimensions in info.json

* Fix KBDfans KBD4x keyboard dimensions in info.json

* Fix handwired/not_so_minidox keyboard dimensions in info.json

* Fix Canoe keyboard dimensions in info.json

* Fix Clueboard Cluecard keyboard dimensions in info.json

* Fix Corne (crkbd) keyboard dimensions in info.json

* Fix Gergo keyboard dimensions in info.json

* Fix handwired/frenchdev keyboard dimensions in info.json

* Fix handwired/ortho5x13 keyboard dimensions in info.json

* Fix handwired/promethium keyboard dimensions in info.json

* Fix Speedo keyboard dimensions in info.json

* Fix XD87 keyboard dimensions in info.json

* Fix Ergodox EZ keyboard dimensions in info.json

* Fix Ergodox Infinity keyboard dimensions in info.json

* Fix Keeb.io Iris keyboard dimensions in info.json

* Fix Orthodox keyboard dimensions in info.json (all revisions)

* Fix Qwertyydox keyboard dimensions in info.json

* Fix handwired/tradestation keyboard dimensions in info.json
2019-04-14 11:33:52 -07:00
roguepullrequest
e7e13ebdd7 [Docs] Adding Alt↯Tab example macro (#5616) 2019-04-14 11:32:11 -07:00
Bob
02b74d521b fix combo enabling logic (#5610) 2019-04-14 11:02:41 -07:00
Jeremy Bernhardt
61a7aebd16 [Keyboard] Georgi FW updates (#5609)
* Working on chording

* Working on chording

* Got layouts in order

* Initial Georgi support

* forgot to add keymaps

* Updated readme

* Update keyboards/georgi/keymaps/template/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/keymaps/template/keymap.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Disabled features, updated info

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Fixed info.json

* Split the number button and fixed gaming mode.

* started work on history feature

* Working history/multikeyfuckery

* type

* inital code reduction refactor

* Got multikey patched up, optimizing for size

* Forgot to remove stuff

* fixed key repeat

* Key repeat added.

* Symshift locking

* Midchord Sym shenanigans.

* Added only QWERTY mode

* Split out header

* Added stickybits, minimal layour

* Fixing user layout

* Whitespace fixing

* Fixing Version name
2019-04-14 11:01:52 -07:00
noroadsleft
de161493c7 Fix handwired/tradestation keyboard dimensions in info.json 2019-04-13 12:06:15 -07:00
noroadsleft
58a04162a8 Fix Qwertyydox keyboard dimensions in info.json 2019-04-13 01:27:44 -07:00
noroadsleft
424c359109 Fix Orthodox keyboard dimensions in info.json (all revisions) 2019-04-13 01:27:43 -07:00
noroadsleft
165b1683c1 Fix Keeb.io Iris keyboard dimensions in info.json 2019-04-13 01:27:43 -07:00
noroadsleft
69f757c3a2 Fix Ergodox Infinity keyboard dimensions in info.json 2019-04-13 01:27:42 -07:00
noroadsleft
8f3063402d Fix Ergodox EZ keyboard dimensions in info.json 2019-04-13 01:27:42 -07:00
noroadsleft
8af1d3ad86 Fix XD87 keyboard dimensions in info.json 2019-04-13 01:27:41 -07:00
noroadsleft
8c87274e83 Fix Speedo keyboard dimensions in info.json 2019-04-13 01:27:41 -07:00
noroadsleft
eab6546fda Fix handwired/promethium keyboard dimensions in info.json 2019-04-13 01:27:40 -07:00
noroadsleft
2485f73f06 Fix handwired/ortho5x13 keyboard dimensions in info.json 2019-04-13 01:27:40 -07:00
noroadsleft
814118175b Fix handwired/frenchdev keyboard dimensions in info.json 2019-04-13 01:27:39 -07:00
noroadsleft
de6b568177 Fix Gergo keyboard dimensions in info.json 2019-04-13 01:27:39 -07:00
noroadsleft
a20e59ac75 Fix Corne (crkbd) keyboard dimensions in info.json 2019-04-13 01:27:38 -07:00
noroadsleft
7870000d89 Fix Clueboard Cluecard keyboard dimensions in info.json 2019-04-13 01:27:37 -07:00
noroadsleft
f19d138206 Fix Canoe keyboard dimensions in info.json 2019-04-13 01:27:37 -07:00
noroadsleft
a206f3b739 Fix handwired/not_so_minidox keyboard dimensions in info.json 2019-04-13 01:27:36 -07:00
noroadsleft
75535cdfa3 Fix KBDfans KBD4x keyboard dimensions in info.json 2019-04-13 01:27:36 -07:00
noroadsleft
1529f0b2d7 Fix handwired/prime_exl keyboard dimensions in info.json 2019-04-13 01:27:35 -07:00
noroadsleft
b090fe15d7 Fix Ergodone keyboard dimensions in info.json 2019-04-13 01:26:23 -07:00
Drashna Jaelre
a6857d18e1 Change table names 2019-04-12 14:07:05 -07:00
Drashna Jaelre
1d7a06a0a2 Cleanup code 2019-04-12 14:07:05 -07:00
Drashna Jaelre
e88530af79 Make send_char multilined for readaability
So future us' will thaank us
2019-04-12 14:07:05 -07:00
Drashna Jaelre
7148c0b10c Clean up some of the code 2019-04-12 14:07:05 -07:00
Drashna Jaelre
a2090d5e86 Add AltGr/RALT support to Send String 2019-04-12 14:07:05 -07:00
zvecr
6832a067ef Add vendor and product arguments to atmega32a_program.py - fix hex print 2019-04-12 14:04:40 -07:00
zvecr
0e88d756f9 Add vendor and product arguments to atmega32a_program.py 2019-04-12 14:04:40 -07:00
Drashna Jaelre
a9a5fd754e Max out range for max compatibility 2019-04-12 13:55:59 -07:00
Drashna Jaelre
c27d96b4c1 Fix ATSAM's USB HID descriptor to support higher heycodes
Assuming I understand this correctly, this should set the max scancode to E7 (RGUI), which is the last listed code in the main list (everything else use for internal QMK/TMK stuff).
2019-04-12 13:55:59 -07:00
zvecr
0ee4206bd0 Fix build detection of keymap and board changes 2019-04-12 13:53:17 -07:00
zvecr
e93465ffdb Apply MAKEFLAGS to speed up CI 2019-04-12 13:38:59 -07:00
holtenc
dc267f96c7 Flesh out keymaps and some tweaks to indicators (#5608)
* correct indicator light states.

function of indicator lights was inverted. these changes correct that.

* flesh out keymaps pre production
2019-04-12 09:23:04 -07:00
mechmerlin
2a55368a59 add in the missing #defines 2019-04-11 18:49:28 -07:00
noroadsleft
2df82514ab Update ps2avrgb readme template (#5584)
- fix markdown formatting on macOS instructions (close code block)
- update package install commands
  - set python3
  - use pip3 to install pyusb
  - fix typo (extra backtick on bootloadhid package install line)
- update Keyboard Maintainer line (now unified with AVR template)
2019-04-11 15:39:40 -07:00
kaylanm
c78bc6a2fe Use DIRECT_PINS for BDN9 (#5603) 2019-04-11 12:24:29 -07:00
zvecr
0137b02319 Port DIRECT_PINS from split_common/matrix.c to matrix.c (#5091)
* Port DIRECT_PINS from split_common/matrix.c to matrix.c

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

* Refactor nano to use DIRECT_PINS

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

* Add DIRECT_PINS documentation

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

* Add DIRECT_PINS documentation - review comments
2019-04-11 11:51:55 -07:00
さくらんぼ
dc570b0b38 Keyboard: Add yosino58 Keyboard (#5465)
* Keyboard: Add yosino58 Keyboard

* Keyboard: Add yosino58 Keyboard
2019-04-11 09:07:39 -07:00
MechMerlin
fa514e63aa fix offset in matrix (#5600) 2019-04-10 21:19:27 -07:00
Noah Frederick
606b1fe82f Remove caveat about combos with shared keys (#5601)
Combos with shared keys are supported as of https://github.com/qmk/qmk_firmware/pull/2561. Therefore, this caveat no longer applies.
2019-04-10 18:36:05 -07:00
Konstantin Đorđević
4882f7f16d Revert "Update build instructions and docker file to download submodules" (#5533)
* Revert "Update build instructions and Dockerfile to download submodules"

This reverts commit 93210547bd.

* Update build tools docs based on feedback

* Fix bad link in build tools docs
2019-04-10 14:15:51 -07:00
zvecr
45620fd289 Remove ps2avrGB since its a hangover from the keyboards/winkeyless refactor (#5592) 2019-04-09 16:39:06 -07:00
Alex Ong
3761c28bf9 ergodox_ez: fixed bug where debounce() was called without calculating changed (#5589) 2019-04-08 21:52:38 -07:00
Jack Humbert
fa4052c26e Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes (#5532)
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance

* Updating effect function api for future extensions

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

* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain

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

* fix bug in quantum/rgb_matrix_drivers.c

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

* update command setting to the correct default

* correct rgb config

* remove commented-out lines

* update docs for the 3737

* Update docs/feature_rgb_matrix.md

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

* Add backlight pwm bodge till #4324 lands

* Disable bootmagic lite as it seems to not work on atmega32a/bootloadHID
2019-04-08 11:35:47 -07:00
MechMerlin
15d7c5f0bd [Keyboard] Bootmagic does not actually work on BMC boards, removing from panc60 (#5573)
* remove unneeded uart setting

* use pragma once everywhere

* remove custom matrix support

* fixup readme

* set bootmagic to lite

* remove dependency on custom i2c code

* use the right header files and function calls

* remove bootmagic support as it doesn't work on bmc boards

* readme merge artifacts removal
2019-04-08 11:03:53 -07:00
MechMerlin
3e26886700 [Keyboard] Refactor Singa (#5579)
* pragma once it all

* put amnesia's name everywhere

* fixup readme

* remove custom matrix

* remove unneccessary configs

* disable bootmagic

* remove custom i2c in favor of i2c_master

* fix rgb led num

* add in rgb underglow support
2019-04-08 10:55:36 -07:00
Takeshi ISHII
0456bd668d [Docs] update feature_rgblight.md: add some figures (#5578)
* Added diagrams to illustrate the RGBLIGHT_LED_MAP macro and the `rgblight_set_clipping_range()` function.

* change fig size

* change fig size

* update figs
2019-04-08 10:55:00 -07:00
zvecr
91b18e263f [Keyboard] Refactor jj40 to current standards (#5574)
* Refactor jj40 in line with current ps2avrgb template

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

* Add backlight pwm bodge till #4324 lands

* Increase planck keymap compatibility
2019-04-08 10:53:15 -07:00
MechMerlin
9b393700d2 [Keyboard] Waldo 60 PCB Refactor (#5583)
* use pragma once

* modified readme with maintainer info

* remove rev1 for the time being

* QMK Configurator support for 60_ansi and 60_ansi_split_bs_rshift

* add hhkb layout and QMK Configurator support

* fix compile issue due to missing DEVICE_VER

* use a saner and less complicated default layout

* remove unused file

* fix up LAYOUT_all and formatting along with QKM Configurator support

* turn on bootmagic lite as the hardware reset switch isn't in a standard position

* remove default folder
2019-04-07 23:32:01 -07:00
That-Canadian
f44483f6aa Adding the Waldo PCB (PCB for the Holz keyboard) (#4817)
* Added Waldo keyboard base files and default keymap

* Updated Waldo files and added keymap for split shift and split backspace

* Updated meta-data for the Waldo board

* Apply suggestions from code review

Committing suggestions for real this time.

Co-Authored-By: That-Canadian <Poole.Chris.11@gmail.com>

* Made suggested changes that were not explicitly made.
2019-04-07 21:05:32 -07:00
fauxpark
95ebe90185 [Keymap] Change SFT_ESC keycode in default Satan keymap to KC_GESC (#5482) 2019-04-07 19:32:12 -07:00
Jan Christoph Ebersbach
eef00e4da1 [Keyboard] Add Signum 3.0 for the elite-c (#5478)
* Add keyboard Signum 3.0 for the elite-c

* Update readme.md

* Remove unused macros

* Use bootmagic lite instead of full

* Add warning to keymap.c that it's auto-generate

* Add description for customizing keyboard layouts

* Make generate_km.py executable

* Make right shift available in numpad layer

* Update keyboards/signum/3_0/elitec/readme.md

Co-Authored-By: jceb <jceb@e-jc.de>

* Update keyboards/signum/3_0/elitec/readme.md

Co-Authored-By: jceb <jceb@e-jc.de>

* Fix typo in symbol name
2019-04-07 19:20:09 -07:00
Drashna Jaelre
908966bdf3 Fixed tap/down/up handling in dynamic keymap macros (#5363)
* Fixed tap/down/up handling in dynamic keymap macros

* Added SS_TAP_CODE, SS_DOWN_CODE, SS_UP_CODE
2019-04-07 19:19:00 -07:00
Andrew Kannan
6a4c54870c [Keyboard] Instant60 Tsangan (#5580)
* Update instant60 for tsangan version

* Add extra init hook

* Remove hacky first init thing
2019-04-07 18:32:16 -07:00
fauxpark
8dd0ff6c7a Remove keyboard description from Adafruit BLE device name 2019-04-07 16:05:30 -07:00
Konstantin Đorđević
9a701632c4 [Keyboard] Remove unnecessary IS_COMMAND definition in treadstone48 (#5566) 2019-04-07 07:40:09 -07:00
MechMerlin
b262f20ad4 [Keyboard] Refactor HB85 to get rid of custom i2c code (#5570)
* remove dependency on custom i2c code

* missed a pragma once

* fix readme install instructions

* config.h cleanup

* make the bootmagic key not the same bmc reset key

* disable bootmagic functionality as it doesn't seem to work on atmega32a bmc boards
2019-04-07 07:34:31 -07:00
MechMerlin
a8e3462b4b [Keyboard] Refactor budget96 to remove custom i2c code in favor of QMK i2c_master (#5571)
* remove custom i2c code in favor of QMK i2c_master

* fix readme

* disable bootmagic as it doesn't work on bmc boards
2019-04-07 07:34:01 -07:00
Drashna Jaelre
b8f7834051 Refactor E6V2 BMC PCB to get rid of custom i2c code in favor of QMK i2c_master (#5572)
* remove custom i2c code in favor of QMK i2c_master

* clean up config file

* fix pyusb install instructions

* fix naming in usbconfig.h

* disable bootmagic as it does not work for bmc boards
2019-04-07 07:33:10 -07:00
noroadsleft
18a9f7999e [Keymap] Updates to noroadsleft keymap for KC60 (2019-04-07) (#5576)
* Update macros and keycode handling

- Update NUBS_Z macro so it repeats when held down
- Number row now uses numpad keycodes if Right Alt is being held
- coding conventions and formatting update
  - switched to four-space indent
  - reformatted a block comment

* Update readme files
2019-04-07 07:32:06 -07:00
MechMerlin
0231caa25a [Keyboard] Refactor FaceW for new BMC changes (#5575)
* use #pragma once for guards

* update readme and fix pyusb install instructions

* replace custom i2c code with QMK i2c_master

* remove unneeded code from config.h

* fix keyboard name

* remove custom matrix and i2c driver

* turn off bootmagic, turn on leds

* remove keymap in favor of userspace/community layouts keymap

* remove custom matrix

* update readme
2019-04-07 07:30:40 -07:00
mechmerlin
1b9f82c844 disable bootmagic as it does not work for bmc boards 2019-04-06 19:24:41 -07:00
mechmerlin
0baa1e2b2f fix naming in usbconfig.h 2019-04-06 18:33:32 -07:00
mechmerlin
8173db634d fix pyusb install instructions 2019-04-06 18:31:36 -07:00
mechmerlin
f6c305ba52 clean up config file 2019-04-06 18:31:00 -07:00
mechmerlin
44435d7444 remove custom i2c code in favor of QMK i2c_master 2019-04-06 18:30:15 -07:00
MechMerlin
5c1ef2bddc [Keyboard] Panc60 Refactor (#5559)
* remove unneeded uart setting

* use pragma once everywhere

* remove custom matrix support

* fixup readme

* set bootmagic to lite

* remove dependency on custom i2c code

* use the right header files and function calls
2019-04-06 18:08:57 -07:00
MechMerlin
410984486b i2c_init update to work with atmega32a boards (#5562)
* On i2c_init, enable two wire interface, twi interrupt, and slave
address ACK along with pull up resistors.

* thanks to some testing by drashna, we know that setting TWI doesn't work for all boards. Putting the new code into an ifdef block
2019-04-06 17:30:48 -07:00
Lenbok
2ffa4798a4 Fix bugs that cause compile failures when enabling only some animations. 2019-04-06 10:59:25 -07:00
Drashna Jaelre
cb33643f02 Remove user keymap changes 2019-04-05 14:58:42 -07:00
Drashna Jaelre
c9a2d9d1aa Additional cleanup of orthodox files and keymaps 2019-04-05 14:58:42 -07:00
Drashna Jaelre
a615a2ae93 Convert Orthodox to Split Common code 2019-04-05 14:58:42 -07:00
Bernard
ced2bbdac8 Add a new keyboard: NQG (#5558)
* Add new keyboard: NQG

* Delete .gitignore

.gitignore removed

Originally used to ignore .DS_Store files from being committed.

* Changed Maintainer information

Maintainer link now points to a github account.
2019-04-05 12:53:07 -07:00
Drashna Jaelre
5701b75e3c Custom Tapping Term per key (#5009)
* Add customizable tapping terms

* Add Documentation

* Fix function

* Fixes

* It's not a pointer

* Add debugging output

* Update documentation to be at least vaguely accurate

* Use `get_tapping_term(tapping_key.event)` instead

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

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

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

* Use variable tapping term value rather than define

* Silly drashna - tapping_key.event, not event

* add get_event_keycode() function

* Fix typo

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

* Remove post_process_record_quantum since it's the wrong PR

* Update quantum/quantum.c

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

* Better handle ifdef statement for permissive hold

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

* Update quantum.c comments based on feedback

* Clean up get_tapping_term function

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

* Add ability to run functionality on and off

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

* Default to an 8x11 matrix in the ps2avrgb template
2019-04-05 09:20:43 -07:00
Alex Ong
dad66cad40 [Keyboard] Simplified handwired/xealous since most of the features are in core now. (#5556) 2019-04-04 21:44:33 -07:00
MechMerlin
7e5c107d43 [Keyboard] Move scrabblepad into donutcables directory (#5553)
* move scrabblepad into donutcables directory

* use pragma once

* update scrabblepad readme
2019-04-04 15:16:59 -07:00
stanrc85
60668ef39d [Keymap] Additional RGB options set (#5551)
* Add new RGB backlight options to config

* Add new RGB options
2019-04-04 14:41:55 -07:00
MechMerlin
f698f1e3f4 [Keyboard] Add Budget96 by Donut Cables (#5550)
* initial commit of budget96

* non logic changes

* add my name to readme

* update matrix.c

* make the matrix representation of the layout macro

* fix up LAYOUT macro

* add missing character

* initial keymap commit

* put KC_NO where they belong

* basic keymap

* fix matrix row and col definition

* The diagram I was sent and the pins used I was sent were in opposite order from each other. This should fix the issues

* update the readme

* change up manufacturer for budget96

* update copyright date

* fix up the switch matrix and provide a keymap

* forgot the keymap

* other matrix fixes

* missing a few keys in the switch matrix

* messed up the row tracing

* tweak keymap a bit

* use a lower case k

* fix spacing for markdown rendering

* put in the reset key documentation

* clean up the file a little

* use LAYOUT_96_ansi

* add a second layer for lighting controls

* add in lighting support

* add QMK Configurator support

* use pragma once

* remove un needed matrix.c

* convert to GPIO methods

* turn on rgblight_enable and get rid of custom matrix

* set bootloadhid_bootloader to 1

* set bootmagic to lite and set it to k50

* add reset information to readme

* use i2c_master instead of custom i2c

* restore the custom i2c code

* introduce reset key and eep_rst in function layer 1

* fix up pip3 install commands

* fix up device and manufacturer names

* remove un needed comments

* add an ALL layout macro along with QMK Configurator support

* move budget96 into donutcables directory since he actually has different boards

* add a short donut cables blurb taken from his website

* update readme for make instructions to point to the new path

* Update keyboards/donutcables/budget96/config.h

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

* Update keyboards/donutcables/budget96/readme.md

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

* Update keyboards/donutcables/budget96/info.json

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

* turn on backlight

* Update keyboards/donutcables/budget96/readme.md

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

* remove extra UART and BOOTLOADER settings that are not needed
2019-04-04 14:25:35 -07:00
Wilba
852d125413 [Keyboard] Added configurable defaults for RGB backlight parameters. (#5549)
* Added configurable defaults for RGB backlight indicators.

* Added more configurable defaults
2019-04-04 07:10:07 -07:00
Deckweiss
3c7cb5cf5d Added Hacked Motospeed keyboard (#5534)
* Added first configuration for handwired hacked motosped keyboard

* Added first keymap

* Fixed h file key layout

* Swapped Y and Z in default keymap

* Added name, email and description

* Moved hacked motospeed keyboard to handwired

* Changed make command in readme

* Formatted readme to be displayed properly with markdown

* Formatted keymap and layout to better reflect the physical keyboard

* Fixed info.json

* Update keyboards/handwired/hacked_motospeed/info.json

Co-Authored-By: Deckweiss <Deckweiss75@gmail.com>

* Removed .directory from .gitignore

Co-Authored-By: Deckweiss <Deckweiss75@gmail.com>

* Minor changes and cleanup

* Update keyboards/handwired/hacked_motospeed/hacked_motospeed.h

Added back newline needed for properly parsing

Co-Authored-By: Deckweiss <Deckweiss75@gmail.com>
2019-04-04 06:05:06 -07:00
stanrc85
76d982feba [Keymap] New HS60/v2 HHKB keymap for goatmaster (#5545)
* Adding new keymap folder for goadmaster

* add switch break

* zeal60 rgb backlight files

* modified for red caps lock key

* Remove return statement

* Files removed

* Add new RGB options

* Back to original file
2019-04-03 22:57:41 -07:00
marksard
debd902a3d [Keyboard] add treeadstone48 (#5405)
* Keyboard: add treeadstone48

* rename layout defines

* Use of pragma once

* move common include code

* fixed info.json

* change keymap layout from kc to normal

* fix alpha revision keymap

* fixed info.json

* remove USE_Link_Time_Optimization
2019-04-03 22:56:22 -07:00
Nicholas Shaff
4f4fad8373 [Keyboard] Doro67 Multi PCB port (#5539)
* Initial portover of the doro68.json with corrected column pins.

* Initial setup of LAYOUT_ansi and it's use in the default keymap.

* Added F keys to default kemap on layer 1.

* Added split space (and everything else) layout and a base keymap to be updated.

* Renamed split_space to multi.

* Changed product_id for doro.

* Created a basic doro LAYOUT_iso and default keymap.

* Copied over basic layout and keymap.

* Added readme.md for doro67 multi.

* Removed basic keyboad layout and keymap because it's a separate PCB.

* Added backlight controls to the various keymaps.

* Added explicit backlight pin define.

* Increased number of backlight levels for flexibility.

* Removed unnecessary line slashes and unified keymcaps.

* Corrected ISO layout and switched position with multi.

* Added keymap readme.md files.

* Corrected ISO keymap.

* Added Layouts to info.json for toolbox.

* Re-added slashes as they were necessary here...

* Corrected info.json/keymap discreptancies.

* Updated copyright messages (and fixed small readme error).

* Added missing line break spaces in readme.md

Co-Authored-By: ShadeDream <nick@shadedream.com>

* Keymap alignments on default_multi readme.md

Co-Authored-By: ShadeDream <nick@shadedream.com>

* Keymap alignments on default_multi readme.md

Co-Authored-By: ShadeDream <nick@shadedream.com>

* Keymap alignments on default_multi readme.md

Co-Authored-By: ShadeDream <nick@shadedream.com>

* Small alignment adjustment on the default keymap readme.md

Co-Authored-By: ShadeDream <nick@shadedream.com>
2019-04-03 22:54:30 -07:00
MechMerlin
b463415d84 [Keyboard] V60 Type R - Turn on leds for Configurator + Refactor (#5546)
* use pragma once where applicable

* remove ?

* update default keymap readme

* remove un need include

* update readme with newbs guide

* set underglow and backlight to be on by default, and explicitly set them to no for the default keymap to handle the non Polestar case.

* put mine and benlyall's name in the code

* update readme
2019-04-03 18:35:53 -07:00
Daniel Prilik
763b26cdb9 RGB Matrix support for Massdrop CTRL/ALT (#5328)
* port Massdrop CTRL/ALT to use RGB Matrix

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

* Massdrop lighting support working

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

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

* Updates for PR5328

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

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

* Fixing handwired/xealous/rev1 compile error

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

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

* Added documentation for eager_pr

* Ported ergodox_ez to eager_pr debouncing.

* Removed check for changes in matrix_scan.

* Added further clarification in docs.

* Accidental merge with ergodox_ez

* Small cleanup in eager_pr

* Forgot to debounce_init - this would probably cause seg-faults.
2019-04-03 14:45:55 -07:00
Drashna Jaelre
e1e08a494b Merge pull request #5536 from stanrc85/feature/updates
[Keymap] Config tweaks and adding zeal60 RGB files to userspace
2019-04-03 10:25:09 -07:00
Wilba6582
eb0bbe997b Added configurable defaults for RGB backlight indicators. 2019-04-03 10:24:40 -07:00
MechMerlin
cb2f2fd258 [Keyboard] Small Refactor of Duck boards (#5521)
* first [ass at pulling out common duck library functions

* use new library in jetfire

* use new library in duck lightsaver

* use new library in octagon v2

* put Device into the library

* refactor send_value

* refactor send_value and send_color

* use pragma once

* use pragma once

* use pragma once

* use pragma once

* rename backlight_led to indicator_leds to match with other duck boards

* rename enum

* make #define names consistent

* rename ducklib to duck_led

* update rules.mk ?= to =

* put rgb in the correct order

* add debounce debugging printouts

* turn on bootmagic lite and set it to the top left most key commonly programmed as Escape

* add reset key documentation

* fix that typo

* Update keyboards/duck/duck_led/duck_led.c

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

* include the correct library
2019-04-03 10:17:25 -07:00
MechMerlin
caefb1c61e [Keyboard] Quantrik Kyuu 65% Board (#5541)
* initial commit

* get rid of some of the vanilla cookie cutter code

* Put in the matrix size and the pins

* add LAYOUT macro and a suitable keymap

* Add QMK Configurator support

* set bootmagic to lite

* put a RESET key into the default keymap

* edit kyuu readme file for description and quantrik.com link

* Update keyboards/quantrik/kyuu/config.h

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

* fix captilization of keyboard name

* fix keymap wrapping issue and add MO key

* preserve RESET key location

* use one of the macros
2019-04-03 09:47:55 -07:00
stanrc85
0e10a66c05 Call default zeal60 rgb file 2019-04-03 09:21:04 -04:00
stanrc85
67793b3912 remove call to custom rgb file 2019-04-03 09:19:22 -04:00
stanrc85
1a625ae2c0 Removed duplicated zeal60 files 2019-04-03 09:18:00 -04:00
moyi4681
6c86577237 [Keyboard] fix dz60rgb response speed (#5540) 2019-04-02 20:41:00 -07:00
stanrc85
ca19cd8bb8 remove uneeded returns floating around 2019-04-02 20:33:17 -04:00
XScorpion2
c98247e3dd RGB Matrix Overhaul (#5372)
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance

* Updating effect function api for future extensions

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

* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain
2019-04-02 17:24:14 -07:00
stanrc85
3cfa24c684 Adding zeal60 rgb files with modifications 2019-04-02 19:57:22 -04:00
stanrc85
387ede9e6b Tweaking tapping_term value 2019-04-02 19:56:28 -04:00
stanrc85
813d79bac6 Use modified rgb_backlight.c file 2019-04-02 19:56:11 -04:00
Jack
68d8bb2b3f [Keyboard] Add handwired keyboard "Tennie" (#5507)
* Add tennie

* Jacobs Functions

* Switch back to normal layout

* Remove define from old template

* Fix broken keymaps

* Correct style errors, add bootlite

* Update readmes. Rename test keymap

* Missed comma

* Switch rgb from init to post init
2019-04-02 16:13:08 -07:00
DDRnJn
61b2f2b16e Added some new songs (#5525)
Added Fantasie Impromptu and Nocturne Op. 9 No. 1 in B flat minor by Chopin
Added Isabella's Lullaby from The Promised Neverland
Added Renai Circulation and Platinum Disco from Monogatari
Added Terra's theme from Final Fantasy 6
2019-04-02 11:51:28 -07:00
David Rambo
b23752c840 [Keymap] Minor update to my XD75 keymap (#5531)
* Updated iris, planck, and xd75 keymaps

* Added brightness down and up to commented layout of Symbol layer.

* updated config files for planck and iris

* removed unnecessary include lines from iris and planck config files

* updated XD75's PC layer and its NAVPC toggle layer

* fixed typo in alias declaration for C_BSPS

* changed alias names for BSPC toggle keys
2019-04-02 11:50:22 -07:00
stanrc85
e6b3bef077 Adjusting tapping term 2019-04-02 12:25:36 -04:00
Nicolas CARPi
448d3ad8de [Keymap] Add alternate bépo layout for Ergodox EZ (#5524)
The other bépo layouts were a bit too complex/weird or without LED code
and hard to transition to for new users. This config is a good base for
bépo users.
2019-04-01 21:18:06 -07:00
AbstractKB
8b8d69f0df [Keymap] Updated my personal keymaps for the bfo9000 and jj50 (#5508)
* Updated my personal keymaps for the bfo9000 and jj50

* fixed best practices mistakes
2019-04-01 20:58:47 -07:00
Garret G
fbee737ff3 [Keyboard] add support for romac macropad (#5530)
* add support for romac macropad

* Update info.json

fixed total key_count

* Update keymap.c

* Update keymap.c

* Update README.md

* Update config.h

* Update romac.h

* Update romac.h

* Update romac.h

* Update rules.mk

* Update config.h

* Update README.md

* Update romac.h

* Update README.md

* Update README.md

* Update README.md

* Update config.h

* Update config.h

* Update config.h

* Update info.json

* Update info.json

* Update info.json

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update README.md

* Update README.md

* Update README.md

* Update config.h

* Rename README.md to readme.md

* Update rules.mk

* Update config.h

* Delete .gitattributes

* Update romac.h

* Update config.h

* Update config.h

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update readme.md

* Update readme.md

* Update readme.md

* Update info.json

* Update config.h

* Update config.h

* Update config.h

* Update readme.md
2019-04-01 20:31:38 -07:00
zvecr
40c6269f9f Fix typo in keyboard_post_init_user example, remove EPRM from Persistent Configuration (EEPROM) (#5528) 2019-04-01 11:32:39 -07:00
Alex Mayer
58b065cfda 1UP Keyboards: Use Right Variant Of Keys On Right Side Of Board (#5529) 2019-04-01 09:02:30 -07:00
yfuku
3654d0f080 [Keyboard] add claw44 keyboard (#5511)
* add claw44 keyboard

* Update keyboards/claw44/lib/layer_state_reader.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/lib/layer_state_reader.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/lib/layer_state_reader.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/lib/layer_state_reader.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/readme.md

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Remove unnecessary code because of default value

* Move layer definition

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

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/keymaps/yfuku/keymap.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/readme.md

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* default keymap. LAYOUT_kc -> LAYOUT macro

* Move rules.mk from keymaps to keyboard level.

* add Hardware Supported, Hardware Availability

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

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Update keyboards/claw44/keymaps/yfuku/keymap.c

Co-Authored-By: yfuku <30647434+yfuku@users.noreply.github.com>

* Remove depreciated function
2019-03-30 12:16:18 -07:00
David Rambo
4f7dd9edf8 [Keymap] Updated my iris, planck, and xd75 keymaps (#5515)
* Updated iris, planck, and xd75 keymaps

* Added brightness down and up to commented layout of Symbol layer.

* updated config files for planck and iris

* removed unnecessary include lines from iris and planck config files
2019-03-30 11:05:31 -07:00
Mikhail Goncharov
93210547bd Update build instructions and Dockerfile to download submodules 2019-03-30 10:48:09 -07:00
Wilba
b846c25a56 [Keyboard] Added RAMA KOYU (#5512)
* Initial commit of RAMA KOYU

* Changed default layout

* removed IS_COMMAND()
2019-03-29 22:13:28 -07:00
Wilba6582
d15bb05c93 Added SS_TAP_CODE, SS_DOWN_CODE, SS_UP_CODE 2019-03-30 14:24:13 +11:00
jotix
3f9d20032a [Keyboard] Update jot50 readme.md (#5510) 2019-03-29 11:21:19 -07:00
Jeremy Bernhardt
8fa9f67256 [Keyboard] ErgoTaco Support (#5504)
* ErgoTaco support

* Update keyboards/ergotaco/ergotaco.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/ergotaco/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/ergotaco/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/ergotaco/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* juggling rules.mk

* Update keyboards/ergotaco/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* updating IS_COMMAND

* learning2english


Meme-tastic --Drashna
2019-03-29 10:39:28 -07:00
Brian Choromanski
3f4d706c98 Fixing dead links (#5503)
* Fixed typo of 'confid.h' to 'config.h'

* Fixed broken links in docs

* Fixed a lot of dead links

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

* Placed knops links back in

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

* Https doesn't work on knops.io

* tv44:budi now compiles

* s60_x:amnesia0287 now compiles

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

* Disabled rgb on ergodone and infinity

* Enabled tap dance so it compiles

* Added return statement so it compiles

* If compiling on light disable extra functionality

* Properly redefined variable so it compiles

* Remove remaining dead links
2019-03-29 06:20:25 -07:00
tomholford
4fa7c9f1d0 [Keymap] addition: macro for "screenshot region to clipboard" in macOS (#5505)
* Create custom Planck Light keycap

See README for details

* Link to WhatPulse in README

* More remapping, and add RGB LED effects

* Remove dead code, address PR feedback from @drashna

* Add macro for “screenshot region to clipboard” hotkey for macOS

Also remove unused layer / key logic

* Remove extraneous comment

* Incorporate PR feedback from @drashna.

Update README with new mapping.
2019-03-28 15:31:39 -07:00
MechMerlin
6f6ab261e6 [Keyboard] revert back to the old custom i2c code for bmc (#5501) 2019-03-28 12:52:57 -07:00
stanrc85
2352afb383 [Keymap] Add custom macro to launch RDP (#5502)
* Add keycodes for new macros to keymaps

* add macros for commonly used shortcuts

* FIx macro code and add comments

* Replaced with build in QMK keycodes

* Removed macros that duplicated QMK keycodes
2019-03-28 11:46:34 -07:00
Drashna Jaelre
188a1e66ff Update KBD67 readme so that it mentions the KBD65 PCB (#5143)
* The code in this directory supports the KBD65

* Update readme.md

* Update readme.md

* Clear up the confusion between the kbd67/kbd65 naming.

* Update keyboards/kbdfans/kbd67/readme.md

Co-Authored-By: Hackerpilot <briancschott@gmail.com>
2019-03-27 22:13:29 -07:00
MechMerlin
04684a94ef [Keyboard] E6V2 Bootmapper Client QMK port (#5495)
* initial commit of e6v2 bmc files

* update readme with bmc template and reset key location

* fix up the switch matrix

* add usbconfig.h file

* add i2c files

* cleanup config.h

* cleanup rules.mk and remove non atmega32a architecture code

* add an appropriate keymap for testing

* update readme with warning not to flash this hex file onto atmega32u4 e6v2

* get rgb lights working

* add QMK Configurator support for 60_ansi layout

* add hhkb support layout

* add additional layouts such as tsangan and all and included QMK Configurator support for them

* add bootmagic lite, and have it be set to Esc or the key located at k50

* update readme

* fixup spacing for LAYOUT_all electrical matrix

* add some pragma once magic

* use i2c_master instead of custom i2c.c

* remove the custom i2c.c

* restore a more valid default keymap

* add eep_rst to keymap
2019-03-27 22:12:17 -07:00
kwerdenker
67ca9e0c85 [Keymap] Add kwer keymap and RGB mod description to cypher (#5479)
* Add kwer keymap and RGB mod description to cypher

* Add custom led_set_user to keymap

* Remove unneccessary include path from keyboards/westfoxtrot/cypher/keymaps/kwer/keymap.c

Co-Authored-By: kwerdenker <sebastian.spindler@gmail.com>
2019-03-27 10:39:23 -07:00
dsanchezseco
c98380e0dd [Keymap] added user keymap (#5499) 2019-03-27 10:15:40 -07:00
Takeshi ISHII
b9f6ff05d0 build size-check enhancement (#5485)
* build size-check enhancement

Changed to display a warning when the free size of compilation result is less than 512 bytes.

* update message.mk

* add SIZE_MARGIN variable, change default margin 512 to 1024

for Example.
```
$ make SIZE_MARGIN=2048 crkbd:all
$ make crkbd:all ## mergin is 1024
```

* Update message.mk

change message to ‘approaching the maximum’

Co-Authored-By: mtei <2170248+mtei@users.noreply.github.com>
2019-03-27 08:51:56 -07:00
Danny
6f124b7909 [Keyboard] Add Collide39 keyboard (#5486)
* Add Collide39 keyboard

* Remove unneeded lines
2019-03-27 08:50:28 -07:00
Rob Rogers
2519de92b5 [Docs] Add udev rule for Input Club bootloaders (#5494)
* Add udev rule for Input Club bootloaders

* match style with file name above udev rule
2019-03-27 08:42:03 -07:00
martinmksiu
795c2c27b9 [Keymap] adding keymaps (#3583)
* add key map

* QWERTY with 40% layers

* updated line 21

updated line 21 from "#include "xd75.h" to "#include QMK_KEYBOARD_H" as requested

* upload contra folders

* Update .directory

* Update config.h

* Update config.h

* Update keymap.c

* Update config.h

* Update rules.mk

* Update keyboards/contra/keymaps/martin_bac/config.h

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

* Update keyboards/xd75/keymaps/martin_cennum/config.h

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

* Delete .directory

* upload

* Delete rules.mk

* Update keyboards/contra/keymaps/msiu/config.h

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

* Update keyboards/katana60/keymaps/msiu/config.h

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

* Update keyboards/katana60/keymaps/msiu/config.h

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

* Update keyboards/katana60/keymaps/msiu/config.h

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

* Update keyboards/katana60/keymaps/msiu/config.h

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

* Delete nano.save

* Delete rules.mk

* Update keymap.c

* Update keymap.c

* Update config.h

* Update keyboards/lets_split_eh/keymaps/msiu/keymap.c

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

* Update keyboards/lets_split_eh/keymaps/msiu/keymap.c

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

* Update keymap.c

* Update keyboards/planck/keymaps/msiu/config.h

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

* Apply suggestions from code review

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

* Update keymap.c

* Update readme.md

* Update keymap.c
2019-03-26 20:22:56 -07:00
Jon Arintok
346cbd8816 Add 3 speed mousekey movement option (#2246)
This allows for constant, non-accelerated mouse movement, while retaining the original functionality. Configurable by a define.
2019-03-26 19:34:33 -07:00
Fabien Culpo
509668ca7c [Keymap] add redox/rev1:fculpo keymap (#5491) 2019-03-26 18:41:37 -07:00
Danny
d8371b3380 [Keymap] Update iris default (#5489)
* Update Iris default to include KC_GRV on base layer and match Configurator default

* Update default config
2019-03-26 18:40:01 -07:00
zvecr
9ef21d2e1c Refactor staryu to current standards and enable support for backlight keycodes (#5487) 2019-03-26 18:39:09 -07:00
Ryan Caltabiano
a0270b55e1 Fixing Ergodox_EZ rgb_led initialization 2019-03-26 16:34:02 -07:00
DDRnJn
b90df560f8 Added songs from Nier and Nier Automata
Added song of the ancients and kaine salvation fron Nier
Added Amusement park, Copied city, Vague Hope cold rain and weight of the world from Nier Automata
2019-03-24 17:13:07 -07:00
fauxpark
3510d8dc8d Document an annoyance with Grave Escape and macOS Terminal (#5483) 2019-03-24 17:11:26 -07:00
Max
f1d921bee6 Bugfix for recently integrated cypher keyboard (#5481)
* fixed issue with LED indicators
corrected error in info.json

* fixed issue with led indictors
2019-03-24 14:00:48 -07:00
Takeshi ISHII
bfc16765f4 add keyboards/mxss/rgblight.h from e661f1559:quantum/rgblight.h (#5461)
This PR is cherry-pick from 90b9a1aa7d in PR #5020.

@MxBlu copied quantum/rgblight.c to keyboards/mxss/rgblight.c on July 8, 2018. At that time, I think it would be better to copy quantum/rgblight.h at the same time.
Because if someone makes a change to `quantum/rgblight.[ch]` that is incompatible with the past, it may cause problems with the compilation of keyboards/mxss.
(Like when I changed the prototype of the `rgblight_effect_XXX()` functions of rgblight.c in PR #5020.)
2019-03-23 22:23:50 -07:00
Rob Hilgefort
74e05f3451 [Keymap] Planck Keymap :: rjhiglefort (#5059)
* copy default over as starting point

* Getting rid of dvorak and colemak for now, added a couple changes to the
keymap

* removed refs to bad layers, formatting comments

* First version of my ergodox ported layout!

* Symbols layer, media layer, updated comments

* Hyper as a single key

* Fix stuck hyper key when switching layers

* Tweak some annoying things about the layout.

- move raise left and promote alt
- remove swap keys on the last layer
- reorganize media keys so they're easier to reach and more intuitive
- fix some comment template things

* Add readme for rjhilgefort planck layout

* readme tweak

* PR feedback changes
2019-03-23 17:22:40 -07:00
Danny
f077204fae Add support for RGB LEDs wired directly to each half's controller (#5392)
* Add support for wiring RGB LEDs for both halves directly to their respective controllers

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

* Add split RGB LED support for serial

* Update config/rules for bakingpy layout

* Un-nest ifdefs for hand detection

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

* Reuse existing LED pointer instead of creating new one
2019-03-23 17:20:14 -07:00
Max
23086808a7 [Keyboard] added cypher keyboard support (#5466)
* added the cypher qmk configuration

* Update keyboards/westfoxtrot/cypher/cypher.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/cypher.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/cypher.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/cypher.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/info.json

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/info.json

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/keymaps/default-iso/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/readme.md

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cypher/readme.md

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* made modifications as per requests

* removed endif from cypher.h
2019-03-23 11:13:59 -07:00
tomholford
3529384c12 [Keymap] Add custom Planck Light keymap (#5464)
* Create custom Planck Light keycap

See README for details

* Link to WhatPulse in README

* More remapping, and add RGB LED effects

* Remove dead code, address PR feedback from drashna
2019-03-22 21:26:32 -07:00
stanrc85
3a7816843c [Keymap] New tap dance code added to userspace and keymaps (#5468)
* Adding new tap dance key

* Adding new tap dance code

* add code for copy/paste to tap dance

* testing tap dance enums

* New tap dance keycodes

* Fix enums
2019-03-22 20:50:56 -07:00
wanleg
1dda671e4a ISP Flashing Guide - atmega32a info (#4993)
* update isp flashing page

* update isp flashing page
2019-03-22 18:26:21 -07:00
moonfall
f8d5b9f204 [Keymap] iris: moonfall: Initial checking of layout. (#5462)
Layout is similar to Kinesis/Ergodox.
2019-03-21 20:14:40 -07:00
noroadsleft
dfe02441bb handwired/magicforce61 Refactor (#5459)
* handwired/magicforce61: refactor

Renamed layout macro KEYMAP to LAYOUT.

Keymap now uses #include QMK_KEYBOARD_H.

Refactored the default keymap to use non-auto-prepended keycodes per QMK standard.

Deleted deprecated action_get_macro block (was unused).

* handwired/magicforce61: Configurator support

* handwired/magicforce61: readme cleanup

Restructured the readme to be more similar to current QMK template.

* handwired/magicforce61: replace missing image in readme

Replaced the missing wiring image (error 404) with a table.

* handwired/magicforce61: rename readme to lowercase

* Convert config.h to #pragma once include guard
2019-03-21 06:06:27 -07:00
KOBAYASHI Daisuke
6e4edbd157 Keymap: Add Koba's keymap for KBD67. (#5460) 2019-03-21 06:05:50 -07:00
noroadsleft
7e37daab6e Update keyboards/kbdfans/kbd67/readme.md
Co-Authored-By: Hackerpilot <briancschott@gmail.com>
2019-03-20 17:09:00 -07:00
Takeshi ISHII
f7fd7f67bd rgblight.c: add remap feature (#5243)
* rgblight.c: add RGBLIGHT_LED_MAP support

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

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

This reverts commit e7488d6f73.

* update docs/feature_rgblight.md

* led_map[] move to PROGMEM
2019-03-20 16:55:24 -07:00
Felipe Coury
d5fd8c4f1c Uses K(row)(col) standard for TGR Alice matrix (#5457) 2019-03-20 15:48:44 -07:00
noroadsleft
0786f227d8 [Keyboard] Refactor MF68 default keymap to use LAYOUT_68_ansi macro (#5455) 2019-03-20 13:26:50 -07:00
MechMerlin
995b31a565 [Keyboard] HB85 Refactor/Layout Addition (#5451)
* introduce stt layout with K(row)(col)

* set bootmagic to lite

* Rename the original LAYOUT to LAYOUT_all
Introduce the STT layout

In additional the whole matrix was changed to support the K(row)(col) notation.

* rename LAYOUT to LAYOUT_all

* add QMK Configurator support

* stt keymap based on mrpetrov's default configuration on the hb85 he lent me

* update readme

* introduce basic and aop layouts along with QMK Configurator support for them

* add a new line

* add EEP_RST to layer 1 as it is needed to get rgb underglow to work

* add documentation on how to reset the eeprom on the board

* put contributors names where appropriate
2019-03-20 10:39:57 -07:00
jotix
066465fa6f [Keymap] jotix layouts adjustments (#5453) 2019-03-20 10:38:39 -07:00
James Churchill
cd696ed3d1 Fix i2c splits with >8 columns (#5454) 2019-03-20 07:43:36 -07:00
fauxpark
ab29481391 Fix link to Caterina bootloader hex files (#5452) 2019-03-20 07:43:20 -07:00
Jason Won
6eb5a25a6a [Keyboard] add quantum matrix calls to zen matrix calls (#5450) 2019-03-19 19:51:08 -07:00
jotix
8b859872da [Keymap] Jotix (#5448)
* jotix layout adjustments

* jotix layout readme
2019-03-19 19:46:54 -07:00
stanrc85
6e7eff47b3 [Keymap] Keymap and readme updates (#5449)
* Remove tap dance code from keymap.c

* Add tap dance code to userspace files

* Readme updates

* Update keymap images
2019-03-19 19:45:33 -07:00
Boy_314
4b4eba997f [Keymap] Boy_314's Halfnhalf layout update (#5441)
* added Boy_.314's layout for halfnhalf keyboard

* reset rules.mk to default

* update keymap with qwerty layout, and enable tap dancing

* fixed formatting in layout visualization

* added rules.mk to custom layout

* added mod tap for ctrl/capslock

* fixed typo in config.h, remove excess in rules.mk, revert half_n_half rules.mk

* added Boy_.314's layout for halfnhalf keyboard

* reset rules.mk to default

* update keymap with qwerty layout, and enable tap dancing

* fixed typo in config.h, remove excess in rules.mk, revert half_n_half rules.mk

* added macros to raise layer

* fixed mismatched layout/comments

* fixed layout switching
2019-03-19 14:34:18 -07:00
Konstantin Đorđević
6a4884e3bd [Keyboard] Remove unnecessary IS_COMMAND definitions from a couple of boards (#5269)
* Remove unnecessary IS_COMMAND definition from clueboard/66_hotswap/gen1

* Remove old-style IS_COMMAND definition comment from dozen0

* Use get_mods() instead of keyboard_report->mods in georgi
2019-03-19 14:33:44 -07:00
Drashna Jaelre
0072fdd799 Cleanup Default Keymaps (#5442)
* Cleanup Default Keymaps to conform to QMK Firmware standards

* Minor fixes

* Revert some changes
2019-03-19 12:57:40 -07:00
Drashna Jaelre
29bfd634e1 Fix dk60 compiler issue on newer compiler versions (#5444) 2019-03-19 07:37:22 -07:00
Rob Rogers
afdc67184d correct typo in eeprom split target for dfu (#5445) 2019-03-18 23:25:34 -07:00
Drashna Jaelre
161d469f2c [Docs] Recursively clone qmk_firmware repo (#5378)
* Recursively clone qmk_firmware repo

Specifically, so that it grabs the submodules, since ARM keyboards are becoming more common, and we are seeing more issues about chibiOS not being downloaded (in the error log, rather than by question)

* Wrap in shell
2019-03-18 14:22:33 -07:00
Drashna Jaelre
c534a4c775 [Docs] Smallish overhaul of the docs (#5281)
* Fix up Common functions doc

* Add to extra commands to flashing doc

* Rearrange and touch up Macros

* Expand Newbs Flashing guide

* Update process_record documentation

* Add git to best practices name in sidebar

* Expand FAQ for build/flashing

* Add deprecated info to functions

* Update docs/feature_macros.md

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

* Update docs/feature_macros.md

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

* Update docs/flashing.md

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

* Update docs/flashing.md

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

* Update docs/keymap.md

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

* Update docs/newbs_flashing.md

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

* Update docs/newbs_flashing.md

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

* Update docs/custom_quantum_functions.md

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

* Update docs/faq_build.md

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

* Update docs/feature_macros.md

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

* Update docs/keymap.md

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

* Fix up Common functions doc

* Make pre-init example accurate

* Update docs/custom_quantum_functions.md

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

* Zadig Driver catchall

* Spelling Depriciated

* Completely remove fn_actions section
2019-03-18 14:22:02 -07:00
Drashna Jaelre
28e182bc8a [Keyboard] Reduce compile size of the Lily58 Keyboard (#5412) 2019-03-18 14:21:10 -07:00
Drashna Jaelre
4f0dc945c3 [Docs] Add music_map to audio documentation (#5419)
* [Docs] Add music_map to audio documentation

* Add link to planck as example
2019-03-18 14:20:30 -07:00
Luciano Malavasi
618718e042 [Keymap] PyroL's TMO50 layout update (#5435)
* keymap + alpha

* some fixes

* keymap + alpha

* some fixes

* drashna changes

* linked main Alpha repo in keyboards/alpha readme

* missed a spot

* there's another function called FUNC lol

* keymap + alpha

* some fixes

* keymap + alpha

* drashna changes

* Fixed include

* Revert "Fixed include"

This reverts commit ea92f261f8.

* messed up my git, fixed include

* starting work on TMO50 layout

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

Co-Authored-By: PyrooL <lm11887@gmail.com>

* Updated PyroL's TMO50 keymap

* Added task manager/Ctrl Alt Del that i stole from the eco keymap

* Clean up task manager and ctrl alt del macros

Co-Authored-By: PyrooL <lm11887@gmail.com>
2019-03-18 11:54:59 -07:00
Riley Weber
d63f954b25 [Keymap] Add vim-style keymap for lets split (#5399)
* initial commit

* initial commit

* fixed indents

* spelling, capitalization, and order.

* added dota mode keymap, removed old comments

* fixed default keymap always having tilde, instead of grave accent and tilde. Improved dota keymap.

* lower does not change backspace to delete anymore

* corrected pgup/pgdown

* changed period on lower from numpad dot to regular dot

* added colemak and dvorak

* made colemak/dvorak border keys consistent with querty

* updated to match current practices, added custom metakeys for dvorak and colemak

* added disclaimer about audio

* renamed to lowercase

* replaced include guards with #pragma once

Co-Authored-By: rileyweber13 <rileyw13@protonmail.com>

* removed unncessary include

Co-Authored-By: rileyweber13 <rileyw13@protonmail.com>

* removed defines included in core

Co-Authored-By: rileyweber13 <rileyw13@protonmail.com>

* replace defines with an enum, switched from custom function to set_single_persistent_default_layer

* removed ifndef/include/endif left over from previous build system

* removed unnecessary ifdef block

* updated soungs to work with set_single_persistent_default_layer
2019-03-18 11:51:24 -07:00
Andrew Kannan
99a8628383 [Keyboard] CannonKeys Instant60 Keyboard (#5433)
* Instant 60

* Instant60 changes again

* turn off LSE and features

* Working RGB underglow 🎉

* Add missing files

* Update keymap to have reset

* Backlighting on

* Backlight code for instant60

* Move 072 files to common folder and use it in Instant60

* Updates

* Update keyboards/cannonkeys/instant60/rules.mk

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>
2019-03-18 11:12:09 -07:00
lucwastiaux
3a2eb68e9e [Keymap] add android studio keyboard shortcuts to dvorak 42 key atreus / ergodox layouts (#5423)
* add SCREEN_NAV layer for copy/pasting within screen

* working readreg/paste macros

* working read reg / paste macros

* write log and tran patterns, and expand

* add ls -la shortcut, add tab on combined layer

* put delete word on the right pinky key on shell_nav layer

* add TAB on the right side, add reset key

* added Cloud9 macros

* add cloud9 shortcuts to atreus layout

* added BROWSER_CONTROL layer

* finalized browser control layer

* adding comment

* add browser control layer to atreus

* add flashing command line

* remove the tab on combined layer

* remove the tomouse

* remove mouse layer, change log/tran expand patterns, cleanups

* add dumptlog macro

* add "delete to home" shortcut

* fix conflict

* remove unneeded mouse layer

* add meh shortcuts on the browser_control layer

* add/modify some macros

* explain the various layers

* putty paste is right mouse button

* add android studio shortcuts

* allow switching between base and alternate base layouts

* replace cloud9 shortcuts with android studio

* more android studio shortcuts

* add two meh shortcuts on keynav layer

* additional android studio shortcut

* added defines for android studio
2019-03-18 11:10:18 -07:00
FiNeXdesign
473dedb309 [Keymap] Updated layout after some months of testing. (#5427)
* Updated layout after some months of testing.

The current setup looks quite better than the initial one. It's not
perfect but it allows me to work quite well.

The only big problem is the Alt modifiers on the home row which
sometimes break the typing if keys are pressed too fast. I'm also not
satisfied by the TAB key position on the thumb cluster.

Main improvements since previous push:
- Shift layouts on both halves
- Moved around symbols
- Improved number/fn keys
- Reorganized thumbs

* Used enum as suggested by @drashna :-)
2019-03-18 11:09:37 -07:00
Adam Newbold
83937573d1 [Keyboard] Corrected layout for top row keys (#5429)
* Corrected column count and adjusted layouts to include missing key

The original version reflected 14 columns and omitted KC_GRV, the 15th key on the top row. This revision adds support for the 15h key, and also updates the default (Tsangan) layout to include the HHKB layer keys.

* Reverted config.h to version in master branch

* Moved K413 to the correct location

* Added info.json

* Update keyboards/1upkeyboards/1up60hte/1up60hte.h

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/1upkeyboards/1up60hte/info.json

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c

Co-Authored-By: newbold <adam@neatnik.net>
2019-03-18 11:06:31 -07:00
jotix
bd61b5b0ed [Keyboard] Add Jot50 handwired board (#5431) 2019-03-18 10:56:12 -07:00
jotix
68d4f78b25 [Keyboard] layout fixed in jotanck.h (#5432) 2019-03-18 10:53:47 -07:00
holtenc
a6c9e53510 [Keyboard] correct indicator light states (#5434)
function of indicator lights was inverted. these changes correct that.
2019-03-18 10:42:26 -07:00
layne001365
3e7a2c49a6 [Keyboard] Fix matrix positions for HotDox (#5437)
* Add HotDox

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

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

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* * Update

  - keyboards/hotdox/config.h
  - keyboards/hotdox/hotdox.h
  - keyboards/hotdox/info.json
  - keyboards/hotdox/left.h
  - keyboards/hotdox/left.c
  - keyboards/hotdox/rules.mk

* Replace EPRM with EPRM

  - keyboards/hotdox/keymaps/default/keymap.c
  - keyboards/hotdox/keymaps/eozaki/keymap.c
  - keyboards/hotdox/keymaps/kloki/keymap.c

* Remove keymaps readme.md
* Remove twimaster.h/ twimaster.c

* * Update
  - remove FORCE_NKRO from keyboards/hotdox/config.h
  - keyboards/hotdox/hotdox.c
  - keyboards/hotdox/hotdox.h
  - keyboards/hotdox/keymaps/default/keymap.c
  - keyboards/hotdox/left.c
  - keyboards/hotdox/readme.md
  - keyboards/hotdox/rules.mk

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

Co-Authored-By: layne001365 <layne.guan@gmail.com>

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

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/hotdox.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* [Keymaps] reverse the K5C<->K5A, L53<->L51, R55<->R53 position.
2019-03-18 10:33:57 -07:00
Alexander Kagno
d7b381128e [Keymap] Arkag Userspace Update (#5438)
* fresh commit for a new fork for PR to upstream/master

* gaming mode added, lighting changes for other modes

* rules.mk fixed...

* fixed collision issue with aesthetic and shifty modes

* fixed collision issue with aesthetic and shifty modes

* troubleshooting game mode failing

* moved game tapdance key to default layer, fixed issue
2019-03-18 10:31:09 -07:00
M-AS
221ac2eabb New RGB Matrix effect: Single color reactive (#5330)
* Adds new RGB Matrix effect: rgb_matrix_config'd reactive LEDs

* [Docs] Adds disable for new effect

* [Docs] Added new effect to list of effects
2019-03-17 10:38:51 -07:00
zvecr
d8df01ca5e Align docker and vagrant base images (#4905)
* Align docker and vagrant base images - update box to debian 9.6

* Align docker and vagrant base images - lock docker image to debian 9

* Align docker and vagrant base images - update vagrant docker to debian 9
2019-03-17 10:36:59 -07:00
cubimon
f9f0a31904 Unicode fix for new wincompose version (#5082)
* unicode fix for new wincompose version

* move wincompose case to linux

* Change unicode input end to enter
2019-03-17 10:35:14 -07:00
Samuel Jahnke
c74b11a959 [Keymap] Improvements to Samuel's literate keymap (#5428)
* added my own keymap

* changed thing

* updated keymap Samuel

* updated laypout for better one handed use

* updated stuff I want

* happy with my lagout

* formatting

* Added new literate config

* made everything nice

* cleaned

* fixed spelling and two small bugs in macros

* Made press and lift function for modifiers

* made taps occur on press instead of release

* added oneshot keys and chars cant be negative!

* removed debug message

* Added command and qwerty layers

* fixed bug with oneshot layer

* same bug, different key
2019-03-17 10:22:35 -07:00
DDRnJn
fcc9b4b8e7 Added 4 new songs to song_list.h
Added Liebesleid by Kriesler (or Rachmaninoff), Michishirube from Violet Evergarden, Melodies of Life from Final Fantasy 9 and Eyes on Me from Final Fantasy 8
2019-03-17 10:17:12 -07:00
jotix
5047503230 [Keymap] Jotix (#5424)
* ortho_4x12 jotix2 layout

* ortho_4x12 jotix2 layout
2019-03-17 10:16:08 -07:00
Nik Richers
c62f6b0825 [Keymap] Add a tweaked Redox keymap (#5422)
* Add nrichers keymap

* Additional keymap tweaks, add readme info

* Improve descriptions for changes from default keymap

* Add image of keymap, update .gitignore to

* Add image link

Adds an image of the modified keymap.

* Improve legibility of keymap changes with colour coding

* Tinker with color codes in Markdown

* Experiment with colour codes

* Tinker more with colour codes

* Figured out the easiest way to include colour coding

* Undo earlier .gitignore change
2019-03-17 10:13:45 -07:00
noroadsleft
e30c993d75 [Keyboard] XD75 refactor (#5420)
* Refactor layout macro names

Update the names of the layout macros to reflect QMK's desired usage.

- KEYMAP renamed to LAYOUT
  - colinta keymap updated accordingly
- KC_KEYMAP renamed to LAYOUT_kc
  - mtdjr keymap updated accordingly

* Update xd75.h to use #pragma once include guard

* Update keymaps to use QMK_KEYBOARD_H

* Refactor default keymap

- updated to use layout macro
- remove deprecated action_get_macro function
- add functions from QMK keymap.c template
  - process_record_user
  - matrix_init_user
  - matrix_scan_user
  - led_set_user

* Update supporting files

- updated config.h files to use #pragma once include guard
- remove errant QUANTUM_DIR code block

* Rename readme files to fully lowercase filenames

* Restructure keyboard readme

Updated the readme to better align with the current QMK template.

* Bugfixes to supporting files
2019-03-17 10:04:50 -07:00
Drashna Jaelre
e9ace14878 [Docs] Add VSCode guide to docs (#5124)
* Add VSCode guide to docs

* Fix settings menu enumeration

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

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

* Update docs/other_vscode.md

Co-Authored-By: drashna <drashna@live.com>
2019-03-15 14:34:58 -07:00
Danny
22e499efdb [Keyboard] Add handwired split tester (#5413)
* Add handwired split tester

* Update keyboards/handwired/splittest/readme.md

Co-Authored-By: nooges <nooges@users.noreply.github.com>

* Update keyboards/handwired/splittest/readme.md

Co-Authored-By: nooges <nooges@users.noreply.github.com>
2019-03-15 14:28:38 -07:00
Danny
3c257c1c6e Add avrdude split EE_HANDS flash commands (#5414)
* Add EEPROM avrdude flashing commands for setting handedness

* Update docs with info on flashing EEPROM handedness files with commands
2019-03-15 14:05:50 -07:00
Len Trigg
9c4424ae2c rgblight split transfer non-eeprom config (#5396)
* Make rgblight_update_dword not update eeprom (we already have
eeconfig_update_rgblight for that).

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

* prev_level and prev_rgb only store successfully transmitted values
2019-03-15 13:46:49 -07:00
GreenShadowMaker
fabdb3c4e8 [Keymap] Keymap for Idobo (#5402)
* greenshadowmaker keymap for idobo xd75 massdrop

* remove uneeded config.h

* corrected format to match convention instead of xd75 where I accidentally started from
2019-03-15 11:01:50 -07:00
Drashna Jaelre
493fbb3dc1 [Keymap] Update to drashna keymaps: Conform to QMK Standards Edition (#5377)
* Use correct functions for dip switch code

* Some planck cleanup

* Hopefully fix RGB Sleeping with RGB Matrix

* Add rgbmatrix extern

* Add numpad 5x6 layout

* RGB Tweaks

* Add RGB startup animation

* Minor RGB Fixes

* Turn off RBG on planck

* Enable separate storage of EEPROM

* Update Macro pad

* Add BJohnson Keymap and minor darshna tweaks

* Clean up rgb and other code for new numpad

* Remove clicky hachy thing

* Update my code to use built in MOD_MASK defines

* Fix up modifier calls

* Tweak to KC_MAKE

* Tweak to KC_MAKE

* Add Semi-colon to numpad

* Preprocess out rgb matrix stuff if not enabled

* Formatting of KC_MAKE

* Add stuff for matrix and light rgb coexistance

* Fix bad spelling

* Change where layer indication shows based on rgblight status

* Force set mods in KC_MAKE

* Optimize CRKBD
2019-03-15 08:57:44 -07:00
zvecr
e0a03bfa6c Fix return value of i2c_readReg and i2c_receive (#5410) 2019-03-15 08:55:07 -07:00
GreenShadowMaker
b85e2eef9a [Keymap] Greenshadowmaker keymap for ergodash (#5403)
* My Inital Keymap, adjusted for not removing outer keys, and using large inner key

* First working version of keymap

* RGB investigate

* Updated Keymap, added keyboard-layout-editor.com json file

* minor fix

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/config.h

Ah!  Thanks fort the clarification, it was a blind copy/paste

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/config.h

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/config.h

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/config.h

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/rules.mk

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/keymap.c

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/keymap.c

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/keymap.c

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* Update keyboards/ergodash/rev2/keymaps/greenshadowmaker/keymap.c

Co-Authored-By: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com>

* removed persistent_default_layer_set and the QWERTY section as suggested
2019-03-14 23:13:24 -07:00
Boy_314
41584c3384 [Keymap] Added Boy_314's layout for half n half keyboard (#5373)
* added Boy_.314's layout for halfnhalf keyboard

* reset rules.mk to default

* update keymap with qwerty layout, and enable tap dancing

* fixed formatting in layout visualization

* added rules.mk to custom layout

* added mod tap for ctrl/capslock

* fixed typo in config.h, remove excess in rules.mk, revert half_n_half rules.mk
2019-03-14 21:09:35 -07:00
zvecr
205ffc277c Align use of atmega32a program script (#5259)
* Remove duplicate 'program' files and refactor to use atmega32a_program.py

* Update readme references from 'program' to 'atmega32a_program.py'
2019-03-14 15:55:08 -07:00
ginjake
c025d813ba [Keyboard] new keyboard lovelive9 (#5266)
* new keyboard lovelive9

* Update keyboards/lovelive9/config.h

thank you

Co-Authored-By: ginjake <hsginjake123@gmail.com>

* Apply suggestions from code review

Co-Authored-By: ginjake <hsginjake123@gmail.com>

* fix review

* fix readme

* move handwired

* Update keyboards/handwired/lovelive9/keymaps/default/keymap.c

thanks

Co-Authored-By: ginjake <hsginjake123@gmail.com>

* Apply suggestions from code review

commit suggestion

Co-Authored-By: ginjake <hsginjake123@gmail.com>

* fix spell miss

* fix review

* fix col and row

* fix layout define
2019-03-14 15:54:16 -07:00
zvecr
577e99f195 [Keyboard] Inital port of xd96 (#5401)
* Initial import of xd96 based on xd84 code

* Configure xd96 port expander mapping

* Fix xd96 led count

* Fix xd96 port expander reading

* Fix xd96 port expander reading

* Fix xd96 LAYOUT matrix mapping

* Add additional links for xd96 Hardware Availability

* Correct Configurator config

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

* Readme review comments

Co-Authored-By: zvecr <git@zvecr.com>
2019-03-14 14:22:50 -07:00
Brendan Wrafter
c02c7b7517 Fix ascii art (#5407) 2019-03-14 14:18:11 -07:00
Jeremy Bernhardt
980a41e904 [Keyboard] Georgi Support (#5384)
* Working on chording

* Working on chording

* Got layouts in order

* Initial Georgi support

* forgot to add keymaps

* Updated readme

* Update keyboards/georgi/keymaps/template/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/georgi.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/rules.mk

Co-Authored-By: germ <jeremythegeek@gmail.com>

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

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/keymaps/template/keymap.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/matrix.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Disabled features, updated info

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/georgi/config.h

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Fixed info.json
2019-03-14 13:59:34 -07:00
Alexander Kagno
2558372b3f fresh commit for a new fork for PR to upstream/master (#5406) 2019-03-14 12:04:59 -07:00
walkerstop
c3b4f65c64 Added info.json for mt980 keyboard and fixes to walker keymap (#5391)
* Added info.json and minor fixes to walker keymap

* Fix url

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Update keyboards/mt980/info.json

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

* Fix user calling keymap functions

* cancel oneshot layer on KC_TRNS

* Fix to oneshot layer handling

* Fix oneshot handling of reset

* Move bootmagic key to Esc where it normally resides

* Remove deprecated function

* Treat shift-numlock as shift-insert in Walker layer
2019-03-14 08:21:41 -07:00
Erovia
f9c5b80aed Add support for THE60 (#5385) 2019-03-13 16:26:25 -07:00
Michael Dye
30db1b18e5 Added 1up60rgb keymap: mdyevimnav (#5386)
Added keymap for 60% board 1up60rgb. The map provides VIM-style navigation on a
second layer (L1) with HOME, PGDN, PGUP, and END keys on that same layer one
row below the home row. The layout is used by https://github.com/michaeldye.
2019-03-13 16:23:49 -07:00
Drashna Jaelre
4a908288f1 Fix i2c calls for HotDox keyboard (#5387) 2019-03-13 14:08:21 -07:00
Michael F. Lamb
f34244a871 Sleep until USB port becomes writable before running avrdude (#5393)
* sleep until usb port becomes writable before running avrdude

* only wait for a writable USB port when not on MSYS

using MINGW or MSYS: sleep for one second, as before.

otherwise: wait for the port to become writable.

* typo

* typo
2019-03-13 14:00:09 -07:00
Christian Westerlund
5a12b054ae [Keymap] Some more improvements to keymap, currency symbols.. (#5395)
acute accent and pipe character also
2019-03-13 11:54:34 -07:00
Jarred Steenvoorden
7e306f9c98 [Keymap] Add atreus, ergotravel and org60 keymaps (#5381)
* Add atreus, ergotravel and org60 keymaps

* Cleanup my keymap config files
2019-03-13 11:22:06 -07:00
Iason Dimitrakopoulos
2902035dcc archetype keymap for jj50 (#5397)
* archetype keymap for jj50 keyboard

* archetype keymap for jj50 keyboard

* PR fixes proposed by mechmerlin
2019-03-13 08:06:09 -07:00
walkerstop
73c4c9f9e8 Wheat Field Peripherals mt980 (FC980M Layout) PCB Support (#5374)
* mt980 keyboard support

* Update manufacturer name

* Correct indicator LEDs, add walker keymap

* Added readme.md

* Update keyboards/mt980/mt980.c

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

* Treat number pad + and enter as pgup and pgdn when number lock is off

* Update keyboards/mt980/mt980.c

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

* Update keyboards/mt980/mt980.c

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

* Update keyboards/mt980/readme.md

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

* Update keyboards/mt980/readme.md

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

* Update keyboards/mt980/readme.md

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

* Update keyboards/mt980/rules.mk

Co-Authored-By: walkerstop <walkerstop@gmail.com>
2019-03-12 15:23:09 -07:00
yiancar
131b647a96 Minor readme fix (#5389) 2019-03-12 15:15:32 -07:00
Takuya Urakawa
2f3dbb1253 Add new keyboard Plaid and ATMEGA328p support (#5379)
* add plaid

* Change usb vid/pid to free id from vusb
Trivial fix for vusb core

* update readme

* update info.json default keymap

* fix typo

* Replace copyright
2019-03-12 11:48:17 -07:00
James Churchill
37932c293c Next set of split_common changes (#4974)
* Update split_common to use standard i2c drivers

* Eliminate RGB_DIRTY/BACKLIT_DIRTY

* Fix avr i2c_master error handling

* Fix i2c_slave addressing

* Remove unneeded timeout on i2c_stop()

* Fix RGB I2C transfers

* Remove incorrect comment
2019-03-12 10:23:28 -07:00
Naoki Katahira
25bb059e4e [Keyboard] Lily58 Add info.json file (#5354)
* Add info.json file

* fix info.json

* fix2 info.json

* Update keyboards/lily58/rev1/info.json

Co-Authored-By: kata0510 <kata0510.com@gmail.com>

* Update2 keyboards/lily58/rev1/info.json

Co-Authored-By: kata0510 <kata0510.com@gmail.com>
2019-03-12 10:20:07 -07:00
zvecr
9e49f19a1a KPrepublic bm16a port (#5383)
* Initial bm16a port

* Initial bm16a port - fix readme formatting
2019-03-12 07:38:05 -07:00
moyi4681
fe642a84fc Fix speed issues with RGB Matrix in the DZ60RGB (#5380)
* Fix speed issues with RGB Matrix in the DZ60RGB

* keep boards in sync
2019-03-12 07:25:39 -07:00
Callum Oakley
395a7793d1 Keymap update (#5382)
* home and end on fn layer (for forward and back with left hand)

* space movement shortcuts

* mouse layer
2019-03-12 07:21:51 -07:00
Andrew Kannan
e046872a80 [Keyboard] Satisfaction75 Protoype/Rev1 split, and new VIA features (#5303)
* Add satisfaction75 revision 1

* Update manufacturer

* Add tester layout and update rev1 comments

* Add ifdef guards for OLED for tester

* Add oled disabling rules

* Update to save backlight settings and setup for VIA custom config

* Add new VIA values to satisfaction75

* Safety guard in clock set mode

* Fix mistaken doc edit

* Address PR comments

* bring the default back to pass travis CI

* Address further PR comments
2019-03-11 20:47:50 -07:00
jotix
fd43259cbd [Keyboard] Update rules.mk (#5370)
MOUSEKEY_ENABLED = yes
by default
2019-03-11 16:53:25 -07:00
zvecr
99654c6e4f [Keyboard] Fix diode and split keyboard configuration for 40percentclub/half_n_half (#5371) 2019-03-11 16:52:04 -07:00
Christian Westerlund
8ff4b4dba4 [Keymap] Small improvements to this keymap (#5343)
* Small fixes, added tilde, print screen and switched alt keys

* Comments

* ..

* Removed fn_actions block
2019-03-11 14:02:31 -07:00
DDRnJn
fe89aef774 Add 3 new songs and add new note type (#5351)
* Added 3 new songs and added new note type to musical_notes.h

Added Megalovania from Undertale, Kataware Doki from Kimi no Na Wa and La Campanella by Lizst to song_list.h
Added the breve (double whole note) and dotted breve note types to musical_notes.h. I included this because the default tempo is quite high, so I thought a note with higher
duration was needed

* Fixed indentation for new notes in musical_notes.h

Changed tabs to spaces in indentation
2019-03-11 13:53:22 -07:00
FateEverywhere
e88a75904b [Keyboard] Add Stand Aside keyboard (#5360)
* 412_64 move to handwired

412_64 and its second printing, Mark Zero Stand Aside, are now obsolesced by new hardware. As only two units exist in the wild not owned by me, I'm moving the definition to handwired.

* Mark 3 Stand Aside ready for production.

Uploading firmware, compiled and tested, for Mark 3 Stand Aside. The hardware's ready, now the software is too.

* Whoops.

Should've branched before pushing Stand Aside. Sorry 'bout that.

* Revert "Whoops."

This reverts commit d222046cfe.

* Revert "Mark 3 Stand Aside ready for production."

This reverts commit c790899af7.

* Mark 3 Stand Aside ready.

Initial commit for Mark 3 Stand Aside, ready for production.

* Update keyboards/standaside/rules.mk

noroadsleft suggested removal of a line, 'LAYOUTS = ortho_4x16'. I agree.

Co-Authored-By: FateEverywhere <41215461+FateEverywhere@users.noreply.github.com>

* Cleanup for pull request.

Making changes requested by Drashna, as they're all good, and I know way less about the standards than they do.

* Initial cleanup completion.

Missed a few lines in standaside.c, they're cleaned up now.
2019-03-11 13:49:23 -07:00
yiancar
863d54d2fc [Keyboard] Mechboards Micropad (#5368) 2019-03-11 13:46:55 -07:00
layne001365
2a2f41c6de [Keyboard] Add HotDox keyboard (#5365)
* Add HotDox

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/keymaps/default/keymap.c

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* * Update

  - keyboards/hotdox/config.h
  - keyboards/hotdox/hotdox.h
  - keyboards/hotdox/info.json
  - keyboards/hotdox/left.h
  - keyboards/hotdox/left.c
  - keyboards/hotdox/rules.mk

* Replace EPRM with EPRM

  - keyboards/hotdox/keymaps/default/keymap.c
  - keyboards/hotdox/keymaps/eozaki/keymap.c
  - keyboards/hotdox/keymaps/kloki/keymap.c

* Remove keymaps readme.md
* Remove twimaster.h/ twimaster.c

* * Update
  - remove FORCE_NKRO from keyboards/hotdox/config.h
  - keyboards/hotdox/hotdox.c
  - keyboards/hotdox/hotdox.h
  - keyboards/hotdox/keymaps/default/keymap.c
  - keyboards/hotdox/left.c
  - keyboards/hotdox/readme.md
  - keyboards/hotdox/rules.mk

* Update keyboards/hotdox/keymaps/default/keymap.c

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/keymaps/default/keymap.c

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/hotdox.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/rules.mk

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>

* Update keyboards/hotdox/config.h

Co-Authored-By: layne001365 <layne.guan@gmail.com>
2019-03-11 12:41:16 -07:00
trinity1561
bf1e51ec22 [Keyboard] Update info.json to include macro layout (#5364)
* Update info.json

Adding layout for the macro version.

* Update info.json

Changed the macro layout to match exactly like the non-macro version (split backspace and bottow row match)
2019-03-11 11:35:59 -07:00
Jarred Steenvoorden
d2311afb66 Add crkbd keymap (#5366) 2019-03-11 07:15:08 -07:00
zk-phi
5e093ad224 [Keyboard] Add keyboard hifumi (#5341)
* Add keyboard hifumi

* Update keyboards/hifumi/Readme.md

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Update keyboards/hifumi/Readme.md

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Update keyboards/hifumi/Readme.md

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Update keyboards/hifumi/keymaps/default/keymap.c

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Update keyboards/hifumi/keymaps/test/keymap.c

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Update keyboards/hifumi/Readme.md

Co-Authored-By: zk-phi <zk-phi@users.noreply.github.com>

* Add DIODE_DIRECTION

* Rename readme.md
2019-03-10 21:49:08 -07:00
noroadsleft
0f67232035 QMK Configurator bugfix for KBDfans KBD19x (#5362)
Configurator was assigning keys in the wrong order around the arrow keys and numpad.

Rebuilt the layout contents from scratch.
2019-03-10 20:21:59 -07:00
Eric
61accb8794 [Keymap] Underglow support for Launchpad (#5340)
* added my launchpad

* updated keymap with legends and fixed layout errors

* Added default keymap with added layer for RGB controls and included the necessary config code

* fixed layer orders

* removed my personal keymap to clean PR

* missed an underscore

* updated readme

* removed more unnecessary code

* moved RGB code to its own config phone

* moved underglow info to its own readme

* removed redundant code from default_rgb config.h file, included QMK KEYBOARD H in place of initial defines in keymap.c

* reverted launchpad config

* removing the = because I can't figure out why its there

* Revert "removing the = because I can't figure out why its there"

This reverts commit e3b5e6d568.

* reverted rev1/config.h

* reverted all files I should not have touched

* removing redundant code in rules.mk

* readibility improvements to keymap
2019-03-10 20:11:45 -07:00
Joel Yauk
eb48e5ebdb [Keyboard] Add ISO backslash key position to facew matrix and keymap files (#5190)
* Add ISO backslash key position to matrix and keymap files

* Use KC_NO instead of KC_BSLS for unused position in custom keymap

* Add new key position to json layout file used by online configurator
2019-03-10 20:09:56 -07:00
ai03
9bea41c9b2 [Keyboard] Add Orbit keyboard (#5306)
* Get things working except indicators

* Attempt to get things working

* hmm

* Compiles but doesn't run

* Make data transfer work

* Get all indicators working

* Remove old transport

* Prepare for pullreq

* Revert keymap from testing to production

* Final error checking for pull request

* Remove autogenerated is_command from config.h

* Rewrite pin toggles using qmk functions
2019-03-10 19:57:36 -07:00
Wilba6582
92c19dae8c Fixed tap/down/up handling in dynamic keymap macros 2019-03-11 12:41:50 +11:00
the-frey
ad12acd3c0 Add personal keymap for crkbd (#5208)
* Add a crkbd layout with nkro on by default, and an emacs-friendly layout for clojure

* Added readme and image

* Add changes as requested on PR
2019-03-10 10:17:43 -07:00
moyi4681
c8ad13d0f9 fix dz60rgb config.qmk.fm non-combile (#5356)
* Update config.h

* Update config.h

* Update config.h

* Delete config.h

* Update config.h

* Update config.h

* Update config.h

* Delete config.h
2019-03-10 10:15:53 -07:00
FateEverywhere
2b1b5fed2a 412_64 move to handwired (#5359)
* 412_64 move to handwired

412_64 and its second printing, Mark Zero Stand Aside, are now obsolesced by new hardware. As only two units exist in the wild not owned by me, I'm moving the definition to handwired.

* Mark 3 Stand Aside ready for production.

Uploading firmware, compiled and tested, for Mark 3 Stand Aside. The hardware's ready, now the software is too.

* Whoops.

Should've branched before pushing Stand Aside. Sorry 'bout that.

* Revert "Whoops."

This reverts commit d222046cfe.

* Revert "Mark 3 Stand Aside ready for production."

This reverts commit c790899af7.
2019-03-10 10:04:10 -07:00
Jarred Steenvoorden
ff95c60e46 Keymap / userspace update (#5358)
* Update userspace with common config.h

* Add my dz60, satan and xd75 keyboard keymaps

* Fixing executable bits changed during last upstream merge

* Cleanup unnecessary files and defines

* Remove unnecessary defines from userspace config

* Add underglow controls to dz60 function layer

* Fixing merge conflicts

* Fixing exectable bits changed during merge

* Userspace update
2019-03-10 10:00:55 -07:00
epaew
9d915ed051 Update edvorak keymap simplify (#5350)
* Update edvorakjp layouts

* swap master hand

* update tapping_term
2019-03-09 08:22:21 -08:00
Vyolle
cd9e15036e Swapped Gui keys and Shift Keys. I think it's more ergonomic in this configuration. (#5347) 2019-03-08 14:37:40 -08:00
enkore
fef206f661 getting_started_build_tools: dfu-{util,programmer} now available from arch repo
See https://www.archlinux.org/packages/extra/x86_64/dfu-programmer/
2019-03-08 10:18:21 -08:00
Blaž Hrastnik
7b768be784 Shallow clone submodules. (#5279)
There's no need to fetch the entire submodule history if we only need the latest revision. Speeds up the download a fair bit.
2019-03-08 07:58:40 -08:00
Drashna Jaelre
3d446c6050 [Docs] Update the KC_MAKE example in Userspace docs (#5337)
This includes a much more feature rich version of the code, as well as updating for changes that have occurred in QMK Firmware
2019-03-08 07:56:08 -08:00
linyaofred
fc87d9b0d5 fix wrong key order in qmk configurator. (#5342) 2019-03-08 07:50:46 -08:00
MechMerlin
98b68bec53 [Keyboard] New Keyboard: MK60 (#5327)
* intial commit

* fix up some of the cookie cutter code

* define pins used and size of switch matrix

* enable lighting settings and bootmagic lite

* create the appropriate LAYOUT macro

* remove a comma for compilation errors

* provide a suitable keymap

* disable console and command due to firmware being too large

* add Caps Lock LED support

* Add QMK Configurator support

* fix markdown rendering

* fix mechmerlin to mechkeys
2019-03-07 17:58:49 -08:00
stanrc85
4a597e031f [Keymap] Smarter KC_MAKE code and removed duplicate MOD_MASK entries (#5331)
* Change to predefined MOD_MASK codes

* Remove duplicate predefined codes

* Better reset keybaord logic

* Cleaned up code as requested
2019-03-07 17:13:02 -08:00
MechMerlin
81fae5c306 Add in mekanist's keymap. Thanks to MatthewRobo for assisting in creating some of his features (#5335) 2019-03-07 17:06:04 -08:00
Dusty Pomerleau
234c117613 Keymap update: Use register_code16() and its variants in lieu of separate mod registration (#5333)
* use `register_code16` and relatives for tapdance code

* rename tapdance keys to more closely mirror the `KC` names in QMK

* additional naming change to match QMK style
2019-03-07 17:03:29 -08:00
Dusty Pomerleau
6d4f6f3f49 [Docs] Add Tap Dance example to the docs (#5326)
* add a tapdance example for creating advanced mod-tap and layer-tap keys

* add optional curly braces to match QMK conventions

* change example to use `register_code16()` and tapdance keycodes more closely matching QMK variants
2019-03-07 12:30:02 -08:00
Felipe Coury
ba11a1c807 [Keyboard] Adds Gray Studio HB85 Initial Support (#5311)
* Gray Studio HB85 Initial Support

* Fixed README image

* Updated README

* Disabled Bootmagic and Console for HB85

* Fixed Numpad 4 matrix place

* Fixes board crashing with RGB enabled

* Moved HB85 files to gray_studio folder

* Uses old i2c library since this version makes RGB underglow work

* Improved default keymap with underglow control layer

* Removes obsolete program and uses generic script instead

As per zvecr feedback

* Uses GPIO Functions to initialise and set RGB underglow PINS
2019-03-06 12:49:16 -08:00
stanrc85
33e9f1c75a [Keymap] Add KC_MAKE keycode to my userspace and keymaps (#5324)
* Add keycode for KC_MAKE

* Add KC_MAKE keycode

* Add stanrc85.c file with KC_MAKE

* Remove unused include

* Improved KC_MAKE stolen from Drashna

* Define mod mask for new KC_MAKE code

* RESET board to flash after compiling

* Remove send_string

* RESET fixed in KC_MAKE
2019-03-06 12:20:51 -08:00
noroadsleft
be8257f0a7 [Keyboard] handwired/trackpoint: refactor and readme cleanup (#5325)
* handwired/trackpoint: refactor

- layout macro KEYMAP renamed to LAYOUT
- keymap now uses #include QMK_KEYBOARD_H

* handwired/trackpoint: readme cleanup

- fix wiring layout image URL
- update readme structure

* handwired/trackpoint: rename readme to lowercase

* handwired/trackpoint: update header files to use #pragma once
2019-03-06 11:51:41 -08:00
jotix
da2eedc0c2 [Keyboard] re-arrange the pinout for backlight support (#5321) 2019-03-05 15:59:11 -08:00
Dusty Pomerleau
3aa4d55bee [Keymap] update: simplify tapdance code for Minidox/keymaps/dustypomerleau (#5315)
* add dusty keymap

* change keymap folder to match my github username

* initial keymap completed in comments only

* layout without NAV completed in comments only

* disable Command to prevent interference with Space Cadet keys

* switch _ and \ in the symbol layer

* Layers complete through _NAV

* add thumb keys to _NAV

* complete _NUM

* all layouts complete; still needs `process_user_record()`

* completed first draft of keymap; still needs config.h to match

* corrected keycodes for Mac macro-volume keys

* fix Mac mute keycode

* add missing Mac keycodes for previous and next track

* placeholder for qwerty layout, not yet completed;

remove unnecessary breaks;

add todos

* eliminate Preonic branch before switching to Minidox branch:

• delete dustypomerleau Preonic keymap folder

• complete keymap.c (QWERTY layer, vanilla numbers layer)

TODO:
• add preferences to config.h
• complete the README

* edit commented keymap diagrams for clarity in dual function keys

* define initial config.h and add rules.mk for mouse key support

* fix redundant line after implementation of tap_code()

* fixed key_timer declaration, added README and rules

* formatting of keymap

* add CTPC to config

* cycle thumb keys to favor center position

* modify config.h for temporary Pro Micro compatibility

* remove superfluous call to use serial; homebrewed mod tap keys are still broken with OSL

* merge _SYS and _MEDIA on new Z_SYS key

* ALT_OP example of new MT macro complete

* initial narze-inspired MT fixes in PRU

* add (currently superfluous) custom keycode for the _SYS layer

* rudimentary `OSL` symbol macros that immediately register the mod and fail to reset the oneshot layer, but do output the proper keys—fix both of these things

* remove permissive hold to improve tapping performance

* remove calls to `clear_oneshot_layer_state()`, as they have no effect inside `process_record_user()`. Tapdance appears to be the way forward.

* final commit before tapdance code; correct layout in comments

* initial tapdance code for shifted mod taps

* add numeric and ergo NUM layers and pinky shifts for keycuts

* add TD() wrappers to tapdance codes and clean up commented layout guides

* add faux return to cur_dance to allow compilation - TODO: research what the default clause should be in cur_dance

* update commented schematics for better readability

* add backspace and delete to lockable layers, Z_SYS -> SYS_Z for consistency, fix schematic errors

* add `DOUBLE_SINGLE_TAP` to tapdance cases to allow doubling of the single tap character without waiting tapping term

* remove reduced oneshot tapping toggles

* update README

* newline tweak :)

* Update keyboards/minidox/keymaps/dustypomerleau/keymap.c

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* remove `PREVENT_STUCK_MODIFIERS`, as this is default behavior

* enable extrakey in rules to enable media keys

* enable extrakeys for media key compatibility on macOS

* add dash and slash to _NUM layers

* change to universal volume keycodes

* revert micro volume adjustments to macOS-specific codes due to lack of functionality (macro volume adjustments are still universal)

* fix image of _SYS layer in comments

* more diagram fixes in comments

* fix typo

* simplify tapdance code

* match _NUM_N to _NUM_E

* move slash to allow better use of comma in number layers

* match layer and keycode enums to the docs

* correct qwerty numlock to match numeric numlock layer
2019-03-05 15:46:05 -08:00
Drashna Jaelre
edef1f9396 Update personal userspace and keymaps + improve custom functionality (#5289)
* Change how desktop commands work

* Add DST_MOD_MASK as a config option

* DST_RMV → DST_REM

* Add melody96:konstantin keymap

* Update custom SEND_STRING

* Move feature flags from userspace into keyboard rules

* Use "Vo-", "Vo+" instead of "VoD", "VoU" in keymap comments

* Add RGB controls and numpad Unicode to Melody96 keymap

* Add RGB_SET keycode to Melody96 and RGB files to userspace

* Generate UNICODE and UNICODEMAP constants using macros

* Avoid collisions with X_* send string constants

* Use two spaces before inline comments

* Add _keymap versions of other custom Quantum functions

Not added: eeconfig_update_keymap, eeconfig_read_keymap

* Switch to UNICODEMAP in keyboard rules

* Make toggle_numpad a nested function in process_record_user

* Set Melody96 underglow color to Godspeed blue on EEPROM reset

* Remove most _keymap and _user definitions in userspace

Some keyboards misuse _user functions by defining them in the base files
instead of the corresponding _kb functions (especially led_set_user and
matrix_init_user). Until this is fixed (#5148), I've removed definitions
in my userspace that could cause linking collisions.

* Update GODSPEED_BLUE values and RGB mode keys

* Add GODSPEED_YELLOW color

* Set preferred intervals for rgblight effects

* Update tap dance function names

* Replace td_lshift_fn with generic td_mod_layer, add TD_RCTL_FN

Move TD_FN_RCTL after TD_RCTL_FN

* Replace td_fn_rctrl with generic td_layer_mod

* Add blank lines, prefer explicit initialization

* ACTION_TAP_DANCE_DOUBLE_MODS → ACTION_TAP_DANCE_DOUBLE_MOD

* Update Godspeed colors

* Add media controls to Melody96 keymap

* Add SysRq, Break combos and other keys to Melody96 keymap
2019-03-05 15:07:13 -08:00
vxid
2e8e465423 [Keymap] Add vxid planck layout (#5271) 2019-03-05 15:05:32 -08:00
Marco Monaco
73d8593352 increase size of note counter variable to avoid overflow 2019-03-05 15:03:24 -08:00
Christopher Browne
dbfbe0d7f0 Adopted LAYOUT, added some keys (#5320)
* Add HOME/END keys as upper/lower on arrow-up/down

* Reduce .hex file size by turning off unneeded options

* Put digit keypad onto left hand upon RAISE; this will sometimes be preferable to double-hits of right hand

* Latest super latest version merge

* cbbrowne keymap for XD75re

* starting notes on XD75re keymap plans

* First draft of bottom row of QWERTY

* Switch my special bottom line over to QCENT

* Dunno

* Filling in wanted keys, bit by bit...

* Add copyright, extra macro

* Clean up comments, remove some experimental code I didn't like

* TODO plans for xd75re

* clean up keyboard layout

* QCENT2 is my new experiment for the main keyboard...

* Add a few more main layer keys, and modify LOWER to shift things outwards to conform with main layer

* Clean up RAISE layer to conform with main layer, remove QCENT layer as QCENT2 is the new thing

* More xd75 changes, now that I actually have it in hand

* shift keymap around, as original attempt was a bit too aggressive in keeping to the edges

* more revs to XD75

* Dropping parts of the centre keypad in favor of Keys I Really Need

* Improve documentation to conform with how builds are done now

* Improve documentation to conform with how builds are done now

* Add cbbrowne rules file as alternative to having the rules in Makefile

* Makefile not needed anymore for individual keymap

* Some revs to my keymapping

* Add {}

* Add PGUP/PGDN

* Shifted some middle-range keys around

* Needed Tilde, Backquote, and to shift RESET onto FUNCTION layer

* Wanted ~

* cbbrowne hasn't anything to do with hadron keymaps

* trim unneeded bits

* I prefer OrgMode for my notes

* Have a right-alt

* Layer keys make LED colors change

* Add sample user rules for cbbrowne

* Add source of xd75 rules

* Individualized xd75 rules

* Adopt LAYOUT to genericize the layout as an ortholinear 5x15 keyboard
2019-03-05 12:22:51 -08:00
Mitchel van Eijgen
8c2a23dee1 Add more "decent" text editors (#5308)
I'm a web designer and know there are several "decent" code editors out there, but I would figure not everyone into keyboards is, so I found Sublime text a bit of a hard sell for someone who just need to manipulate some text files. VS Code or Atom would b a much better suit for them instead of dropping $80 on a "decent" text editor.
2019-03-05 07:31:54 -08:00
Eduardo Lourenço Pinto Neto
69d6298f6b Add DZ60 Tsangan Layout + Fn layer (#5319)
* Fix Mac mute keycode

* Add DZ60 Tsangan layout with Fn layer

* Add new line at end of the file
2019-03-05 07:28:35 -08:00
lf
4c62c7bd6e [Docs] Fix function signature (layer_state_set_*) (#5313)
`void uint32_t` is not a return type.
2019-03-04 22:08:09 -08:00
noroadsleft
a8a9a2066e Correct keyboard and layout dimensions for 40percent.club Foobar (#5310) 2019-03-04 20:19:05 -08:00
noroadsleft
a903893883 Dactyl Manuform 5x6, 5x7, and 6x6: QMK Configurator fixes and partial code clean-up (#5307)
* Tidy up 5x6.h

- replaced tabs with spaces (QMK convention)
- aligned layout macro visually

* Fix Configurator support for Dactyl Manuform 5x6

- layout macro had the wrong name in info.json

* Tidy up 5x7.h

- replaced tabs with spaces (QMK convention)
- aligned layout macro visually

* Fix Configurator support for Dactyl Manuform 5x7

- corrected keyboard height
- layout macro had the wrong name in info.json

* Tidy up 6x6.h

- replaced tabs with spaces (QMK convention)
- aligned layout macro visually

* Fix Configurator support for Dactyl Manuform 6x6

- layout macro had the wrong name in info.json
2019-03-04 10:09:37 -08:00
yiancar
3e8ee96b2c Fixed default to dissable VIA (#5309)
This should have gone into previous PR but I am dumb
2019-03-04 08:34:08 -08:00
James Churchill
c7c4937eef Clean up debounce a bit (#5255) 2019-03-04 07:44:46 -08:00
zvecr
cdfcbfc92d Fix aanzee Configurator config file (#5286) 2019-03-04 06:29:29 -08:00
yiancar
7bfe0879bf Separate keymaps to VIA enabled/dissabled. (#5302)
* Separate keymaps to VIA enabled/dissabled.

- Default rules.mk has been changed to disable via.
- VIA keymaps have been added for default keymaps.

* Update naming
2019-03-04 06:28:33 -08:00
stanrc85
043ef40b92 [Keymap] Add RGB config and controls to userspace (#5299)
* Add INSERT and EEP_RST to HS60 keymap

* Add INSERT to keymap

* Layer based RGB colors

* Move RGB code to layer_rgb.c

* New file with layer based RGB colors

* Use RGB code if RGBLIGHT is enabled

* Set RGB options in config.h

* Remove rgb enable from init user
2019-03-03 15:31:12 -08:00
Drashna Jaelre
3305df8e79 Add LED Matrix to Features list for easy reference (#5280) 2019-03-03 15:29:29 -08:00
leico
a2a2ba0eec [Keymap] layout/community/ortho4x12/symbolic update (#5274)
* change readme.md

* diy LayerTap function

* fixed forgot update_tri_layer
correspound permissive hold

* update README

* change No_event of general shift

* update symbolic layout

* merge symbolic_general_shift to symbolic layout

* update README.md

* following code style

* delete excess codes, change codes that don't follows the code style
2019-03-03 10:49:27 -08:00
Ray Cielencki
9b0a548687 [Keyboard] matrix_init_user shouldn't call itself (#5298) 2019-03-03 10:38:12 -08:00
omkbd
be497126e8 [Keymap] Update keymap.c (#5290) 2019-03-03 10:36:40 -08:00
yttyx
3380694740 Update Atreus layout to match the Niu layout. Fix Niu comment typo. (#5297) 2019-03-03 10:34:41 -08:00
KOBAYASHI Daisuke
f9f04ff2a4 [Keymap] Fix comment in the KBD67 default keymap. (#5296) 2019-03-03 10:33:52 -08:00
takashiski
98b87e6357 [Keyboard] update Hecomi/alpha's info.json (#5295)
* remove offset

* update layout(I missed)

* formatted
2019-03-03 10:33:19 -08:00
Adam Newbold
b5d85ddc90 [Keyboard] Adding Numeric Keypad //e converter (#5294)
* Adding Numeric Keypad //e to conversions

* Update keyboards/converter/numeric_keypad_IIe/config.h

//e -> IIe

Co-Authored-By: newbold <adam@neatnik.net>

* Update keyboards/converter/numeric_keypad_IIe/config.h

//e -> IIe and wrapped description in quotes for comma inclusion

Co-Authored-By: newbold <adam@neatnik.net>

* Updating info.json for Configurator

* Corrected legend

* Update keyboards/converter/numeric_keypad_IIe/info.json

Corrected layout

Co-Authored-By: newbold <adam@neatnik.net>
2019-03-03 10:29:27 -08:00
Ray Cielencki
6aba3ce9d2 [Keyboard] Add support for matrix_scan_user to usb-usb converter (#5291)
* [Keyboard] Add support for matrix_scan_user to usb-usb converter

* update to matrix_scan_quantum

* also add init calls
2019-03-03 10:25:08 -08:00
noroadsleft
79e0964d21 handwired/terminus_mini: refactor, Configurator support, and readme cleanup (#5292)
* handwired/terminus_mini: refactor

- white space changes in terminus_mini.h (alignment)
- keymap now uses #include QMK_KEYBOARD_H
- refactored TMK macros into QMK process_record_user
- refactored TMK layer functions into QMK keycodes
- removed redundant keycode definitions

* handwired/terminus_mini: Configurator support

* handwired/terminus_mini: readme cleanup

- completed keyboard description
- removed Hardware Availability line (it was blank)
- updated Docs links
2019-03-02 17:08:42 -08:00
Konstantin Đorđević
be1d5c6609 Add SysRq, Break combos and other keys to Melody96 keymap 2019-03-02 16:04:37 +01:00
Konstantin Đorđević
51182a4f03 Add media controls to Melody96 keymap 2019-03-02 15:16:01 +01:00
Konstantin Đorđević
f9c070e1a4 Update Godspeed colors 2019-03-02 15:16:00 +01:00
Konstantin Đorđević
9baee84b36 ACTION_TAP_DANCE_DOUBLE_MODS → ACTION_TAP_DANCE_DOUBLE_MOD 2019-03-02 15:16:00 +01:00
Konstantin Đorđević
6a088f7ff6 Add blank lines, prefer explicit initialization 2019-03-02 15:15:59 +01:00
Konstantin Đorđević
14908f86fb Replace td_fn_rctrl with generic td_layer_mod 2019-03-02 15:15:59 +01:00
Konstantin Đorđević
b05a4b1a4b Replace td_lshift_fn with generic td_mod_layer, add TD_RCTL_FN
Move TD_FN_RCTL after TD_RCTL_FN
2019-03-02 15:15:59 +01:00
Konstantin Đorđević
1b3b9414b7 Update tap dance function names 2019-03-02 15:15:58 +01:00
Konstantin Đorđević
45dddfa6c2 Set preferred intervals for rgblight effects 2019-03-02 15:15:58 +01:00
Konstantin Đorđević
fbe2eba472 Add GODSPEED_YELLOW color 2019-03-02 15:15:58 +01:00
Konstantin Đorđević
de2e03650b Update GODSPEED_BLUE values and RGB mode keys 2019-03-02 15:15:58 +01:00
Konstantin Đorđević
8e0dfdfb53 Set Melody96 underglow color to Godspeed blue on EEPROM reset 2019-03-02 15:15:57 +01:00
Konstantin Đorđević
f09a237a07 Remove most _keymap and _user definitions in userspace
Some keyboards misuse _user functions by defining them in the base files
instead of the corresponding _kb functions (especially led_set_user and
matrix_init_user). Until this is fixed (#5148), I've removed definitions
in my userspace that could cause linking collisions.
2019-03-02 15:15:57 +01:00
Konstantin Đorđević
784e2af062 Make toggle_numpad a nested function in process_record_user 2019-03-02 15:15:57 +01:00
Konstantin Đorđević
be65a0cc79 Add _keymap versions of other custom Quantum functions
Not added: eeconfig_update_keymap, eeconfig_read_keymap
2019-03-02 15:15:56 +01:00
Konstantin Đorđević
bd43df53bd Use two spaces before inline comments 2019-03-02 15:15:56 +01:00
Konstantin Đorđević
5a41c06cd7 Switch to UNICODEMAP in keyboard rules 2019-03-02 15:15:56 +01:00
Konstantin Đorđević
7b11d740ea Avoid collisions with X_* send string constants 2019-03-02 15:15:55 +01:00
Konstantin Đorđević
ddb0f39ebf Generate UNICODE and UNICODEMAP constants using macros 2019-03-02 15:15:55 +01:00
Konstantin Đorđević
2f07627a5d Add RGB_SET keycode to Melody96 and RGB files to userspace 2019-03-02 15:15:55 +01:00
Konstantin Đorđević
d163b22dfb Add RGB controls and numpad Unicode to Melody96 keymap 2019-03-02 15:15:54 +01:00
Konstantin Đorđević
ea23035c53 Use "Vo-", "Vo+" instead of "VoD", "VoU" in keymap comments 2019-03-02 15:15:54 +01:00
Konstantin Đorđević
ef189da243 Move feature flags from userspace into keyboard rules 2019-03-02 15:15:53 +01:00
Konstantin Đorđević
db1ace5426 Add melody96:konstantin keymap 2019-03-02 15:15:53 +01:00
Konstantin Đorđević
012c5ef9bd Update custom SEND_STRING 2019-03-02 15:15:53 +01:00
Konstantin Đorđević
f2543c3b9b DST_RMV → DST_REM 2019-03-02 15:15:52 +01:00
Konstantin Đorđević
6695c874fb Add DST_MOD_MASK as a config option 2019-03-02 15:15:52 +01:00
Konstantin Đorđević
6f386ca6ae Change how desktop commands work 2019-03-02 15:15:51 +01:00
holtenc
6e48ea082d [Keyboard] Initial commit for Prime_E w/ VIA config support (#5285)
* Initial Prime_E commit

* Via support for Prime_EXL

* Backlight testing

* update libs

* Clean up and addition of VIA compatibility.

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/primekb/prime_e/keymaps/default/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/primekb/prime_e/keymaps/default/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/primekb/prime_e/keymaps/default/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/handwired/prime_exl/keymaps/via/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* Update keyboards/primekb/prime_e/keymaps/default/keymap.c

Co-Authored-By: holtenc <holtenc@gmail.com>

* removed IS_COMMAND from config.h. updated GPIO commands

* clean up libs
2019-03-01 21:14:24 -08:00
moyi4681
681db534f3 [Keyboard] add dz60rgb ansi and hhkb support; add dz40rgb (#5231)
* add dz60rgb keyboard

* add info.json

* Update config.h

* Update rules.mk

* Update dz60rgb.h

* Update dz60rgb.c

* Update keymap.c

* Update dz60rgb.h

* Create readme.md

* Update readme.md

* Update keymap.c

* Update dz60rgb.h

* Update info.json

* Update info.json

* Update dz60rgb.c

add dz60rgb ansi, iso and hhkb support

* Update dz60rgb.h

add dz60rgb ansi, iso and hhkb support

* Add files via upload

* Add files via upload

* Delete config.h

* Delete keymap.c

* add ansi,iso and hhkb layout

* add dz60rgb ansi,iso and hhkb layout

* Update keyboards/dztech/dz40rgb/dz40rgb.c

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz60rgb/keymaps/hhkb/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz60rgb/keymaps/hhkb_iso/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz60rgb/keymaps/iso/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz40rgb/rules.mk

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz60rgb/keymaps/ansi/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz60rgb/keymaps/default/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update keyboards/dztech/dz40rgb/keymaps/default/config.h

Co-Authored-By: moyi4681 <moyi4681@users.noreply.github.com>

* Update dz40rgb.c
2019-03-01 19:40:08 -08:00
zvecr
d8ccabeeef [Keyboard] Convert mf68_ble to keymap (#5287)
* Initial refactor of handwired bluetooth mod to keymap

* Initial refactor of handwired bluetooth mod to keymap - strip out unnecessary duplicate config, update readme

* Initial refactor of handwired bluetooth mod to keymap - reduce firmware size

* Initial refactor of handwired bluetooth mod to keymap - update readme image
2019-03-01 19:33:05 -08:00
stanrc85
d5f01ad2f9 [Keymap] Added INSERT to my keymaps (#5284)
* Add INSERT and EEP_RST to HS60 keymap

* Add INSERT to keymap
2019-03-01 11:09:49 -08:00
Andy
f4a2e58182 HS60 v2: Instructions how to reset and flash (#5241)
* HS60 v2: Instructions how to reset and flash

* HS60v2 README using place holder for keymap
2019-03-01 09:12:20 -08:00
unausgeschlafen
7abf507cb6 [Keymap] unausgeschlafen quefrency keymap (#5273)
* unausgeschlafen quefrency keymap

* added build & flash instructions

* review by drashna
2019-03-01 08:45:42 -08:00
MechMerlin
5c491da0e7 [Keymap] Fix rgblight_enable ifdefs (#5283) 2019-03-01 08:33:29 -08:00
Dan
41d8be7e75 [Keymap] DCompact Layout Updates pt. 3 (#5209)
* Fix whitespace and Markdown errors

* Add DCompact layout implementation for Levinson keyboard

* Rename README.md to readme.md

* Rename README.md to readme.md

* Rename README.md to readme.md

* Update keyboards/keebio/levinson/keymaps/dcompact/keymap.c

Co-Authored-By: loksonarius <loksonarius@users.noreply.github.com>

* Update keyboards/keebio/levinson/keymaps/dcompact/keymap.c

Co-Authored-By: loksonarius <loksonarius@users.noreply.github.com>
2019-03-01 08:28:46 -08:00
yynmt
a1de199aa9 [Keyboard] Add Dozen0 (#5272)
* Add Dozen0 macropad

* Fix readme image

* Add info.json

* Fix keymap f12

* Fix copyright and replace include guards

* remove IS_COMMAND at config.h
2019-02-28 20:12:56 -08:00
Dusty Pomerleau
f6a0ee85fd [Keymap] update: add extrakey support for macOS media keys (#5263)
* add dusty keymap

* change keymap folder to match my github username

* initial keymap completed in comments only

* layout without NAV completed in comments only

* disable Command to prevent interference with Space Cadet keys

* switch _ and \ in the symbol layer

* Layers complete through _NAV

* add thumb keys to _NAV

* complete _NUM

* all layouts complete; still needs `process_user_record()`

* completed first draft of keymap; still needs config.h to match

* corrected keycodes for Mac macro-volume keys

* fix Mac mute keycode

* add missing Mac keycodes for previous and next track

* placeholder for qwerty layout, not yet completed;

remove unnecessary breaks;

add todos

* eliminate Preonic branch before switching to Minidox branch:

• delete dustypomerleau Preonic keymap folder

• complete keymap.c (QWERTY layer, vanilla numbers layer)

TODO:
• add preferences to config.h
• complete the README

* edit commented keymap diagrams for clarity in dual function keys

* define initial config.h and add rules.mk for mouse key support

* fix redundant line after implementation of tap_code()

* fixed key_timer declaration, added README and rules

* formatting of keymap

* add CTPC to config

* cycle thumb keys to favor center position

* modify config.h for temporary Pro Micro compatibility

* remove superfluous call to use serial; homebrewed mod tap keys are still broken with OSL

* merge _SYS and _MEDIA on new Z_SYS key

* ALT_OP example of new MT macro complete

* initial narze-inspired MT fixes in PRU

* add (currently superfluous) custom keycode for the _SYS layer

* rudimentary `OSL` symbol macros that immediately register the mod and fail to reset the oneshot layer, but do output the proper keys—fix both of these things

* remove permissive hold to improve tapping performance

* remove calls to `clear_oneshot_layer_state()`, as they have no effect inside `process_record_user()`. Tapdance appears to be the way forward.

* final commit before tapdance code; correct layout in comments

* initial tapdance code for shifted mod taps

* add numeric and ergo NUM layers and pinky shifts for keycuts

* add TD() wrappers to tapdance codes and clean up commented layout guides

* add faux return to cur_dance to allow compilation - TODO: research what the default clause should be in cur_dance

* update commented schematics for better readability

* add backspace and delete to lockable layers, Z_SYS -> SYS_Z for consistency, fix schematic errors

* add `DOUBLE_SINGLE_TAP` to tapdance cases to allow doubling of the single tap character without waiting tapping term

* remove reduced oneshot tapping toggles

* update README

* newline tweak :)

* Update keyboards/minidox/keymaps/dustypomerleau/keymap.c

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* remove `PREVENT_STUCK_MODIFIERS`, as this is default behavior

* enable extrakey in rules to enable media keys

* enable extrakeys for media key compatibility on macOS

* add dash and slash to _NUM layers

* change to universal volume keycodes

* revert micro volume adjustments to macOS-specific codes due to lack of functionality (macro volume adjustments are still universal)
2019-02-28 15:27:34 -08:00
Luciano Malavasi
beb292e7f0 [Keymap] My TMO50 layout (#5116)
* keymap + alpha

* some fixes

* keymap + alpha

* some fixes

* drashna changes

* linked main Alpha repo in keyboards/alpha readme

* missed a spot

* there's another function called FUNC lol

* keymap + alpha

* some fixes

* keymap + alpha

* drashna changes

* Fixed include

* Revert "Fixed include"

This reverts commit ea92f261f8.

* messed up my git, fixed include

* starting work on TMO50 layout

* Update keyboards/tmo50/keymaps/default/keymap.c

Co-Authored-By: PyrooL <lm11887@gmail.com>
2019-02-28 13:02:16 -08:00
avatak
8dd1dab7cb Added two songs to song_list.h (FF Prelude and To Boldly Go) (#5252)
Adds FF_Prelude (from most Final Fantasy games) and TO_BOLDLY_GO (a melody from the main themes of Star Trek TNG and the original series)
2019-02-28 12:35:42 -08:00
Tobias Schulte
7470317d95 [Keymap] use steno mode from base (#5220) 2019-02-28 12:33:02 -08:00
Graham P Heath
9b82a9295f [Docs] Add note about using Unicode Hex Input (#5248)
* Add note about using Unicode Hex Input

* Update docs

* remove extra return, oops
2019-02-28 12:15:38 -08:00
fauxpark
220551ed5f [Keyboard] GH60 Satan improvements (#5264)
* GH60 Satan improvements

* Link no worky

* Accidentally a h

* Use MOD_MASK_SHIFT from core

* Remove nonexistent layouts from here
2019-02-28 12:06:26 -08:00
stanrc85
32b63d676f [Keymap] Cleaning up my config and userspace files (#5265)
* Removed since options are in userspace

* Removed RGB option that was breaking one of my builds

* Remove unused options

* Removed options present in userspace, add board specific options here

* Removed code also present in userspace

* Turns out those lines were needed, added them back

* Testing changes

* Added code to ensure board read as ANSI instead of default ISO for HS60

* Setting \ key to "MOD" instead of "ALPHA" for lighting
2019-02-28 12:02:22 -08:00
MechMerlin
a872faa53e [Keymap] Userspace Keymap Updates (#5215)
* enable velocikey for my userspace and explicitly for my 75% layout

* add guards to only turn on RGB stuff if the RGB pin is actually defined

* update 60_ansi keymap

* update the 60_ansi_split_bs_rshift keymap

* update 66_ansi keymap

* update docs

* Update layouts/community/60_ansi/mechmerlin-ansi/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/60_ansi_split_bs_rshift/mechmerlin-split/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/60_ansi_split_bs_rshift/mechmerlin-split/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/66_ansi/mechmerlin/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/60_ansi_split_bs_rshift/mechmerlin-split/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/60_ansi/mechmerlin-ansi/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update layouts/community/60_ansi/mechmerlin-ansi/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* remove my attempt to find a good way to detect this

* move audio clicky into user space and do feature setting per keyboard

* fixup 66_ansi keymap

* update changelog

* update readme
2019-02-28 11:37:34 -08:00
Juno Nguyen
3ac3bb9b5e [Keymap] Added personal keymaps for Planck, Preonic, Vitamins Included by Juno (#5169)
* Added personal keymaps for Planck, Preonic, Vitamins Included by Juno

* Removing redundancies as suggested

* More removals that were missed out in the previous commits

* Updated Preonic to use new layout

* More redundancies missed out

* Updated more optimal code for FN layer LED indicator.

* Further codes clean up.
2019-02-28 11:12:32 -08:00
Christoffer Holmberg
95d2a11c44 Update Nyquist layout (#5270)
* Add Home,End,Insert,Del to Arrow layer

* Add Back & Forward to Arrow layer

* fix typo
2019-02-28 06:11:52 -08:00
zvecr
a120a000d4 Add Configurator support and readme for boardwalk (#5261)
* Add configurator support and readme for boardwalk

* Readme review comments
2019-02-27 07:20:45 -08:00
zvecr
a0c36ed253 [Keyboard] Add configurator support for 40percentclub/half_n_half (#5260) 2019-02-26 13:49:05 -08:00
Jeri Mason
dcf4877fac Bucktooth 2.0 key layout for Preonic (#5258)
Updated layout slightly for better compatibility with sculpted
(row-specific) profile keysets.

Fix build error on rev 3 toolchain; click waits don't seem to be
necessary anymore.
2019-02-26 13:17:28 -08:00
mcmadhatter
659e5d6316 [Keymap] Hs60 win osx dual (#5249)
* Added a dual windows/osx layout

Default layer is normal ISO for windows. Second layout is Windows ISO layout but for OSX, but with the keys corrected so you will get the correct shifted and alt'd keys on OSX (keyboard keys match OSX keys without having to change your keyboard type in system preferences).  Layer three is configuration and other functions, and layer four is where the shifting magic happens.  Also tab and caps lock have been swapped around.

* made sure bootmagic is in a seperate rules.mk

made sure bootmagic is in a seperate rules.mk

* commiting the keymap rules.mk

commiting the keymap rules.mk
2019-02-26 13:05:18 -08:00
Mikkel Jeppesen
168b0cf64d Added a numpad keymap for the vitamins included keyboard (#5247)
* Fixed pin for RGB

* Added numpad keymap for vitamins included

* Implemented changes
2019-02-26 13:04:28 -08:00
stanrc85
bcaf66bd32 [Keymap] Converted stanrc85 community layout to userspace (#5244)
* Convert community layout to userspace for future use

* Big readme update

* Move layer toggle to CAPS

* Readme updates

* Deleted since unused

* Removed call to unused .c file
2019-02-26 13:01:46 -08:00
jotix
11bdf28001 LAYOUT_ortho_4x4 (#5257) 2019-02-26 08:12:56 -08:00
fauxpark
0d936b2fe6 Ask for your name when generating a new keyboard (#5214)
* Ask for your name when generating a new keyboard

* Update docs

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-02-26 07:59:34 -08:00
Stick
7ba2bc765b [Keymap] nstickney's layout for iris (#5045) 2019-02-25 22:26:39 -08:00
VM
80ddb34415 [Keymap] adding my Levinson keymap (#5177)
* [keymap] adding my Levinson keymap

pretty self explanatory, added the readme, just in case

tested it just now, seems to work fine for my needs

* Update keymap.c

removing the deprecated persistent layer function as Drashna kindly reminded me

* Apply suggestions from code review

incorporated the suggestions, and thanks again for taking care of me with my silly changes :)

Co-Authored-By: OMGVee <mateescu.victor@gmail.com>

* Fix up audio calls
2019-02-25 21:30:26 -08:00
stanrc85
7a89b39aad [Keymap] HS60 v2 keymap updates (#5250)
* Add backlight controls

* Add backlight controls and remove RGB underglow

* Make HS60 board specific changes to readme

* Remove BL_TOGG as it isn't use on this board
2019-02-25 18:16:20 -08:00
Nick Christus
5838c458d7 [Keyboard] Added Boardwalk keyboard (#5195)
* initial commit

* removed key for fn layer

* added missing row, misc cleanup

* added nchristus keymap, more misc cleanup

* Updating ergo60.h, rules

* Adding McAllaster keymap

* added a bunch of keymaps

* added LED code

* added userspace

* ls vitamins keymap

* added Boardwalk keyboard

* boardwalk: removed unrelated files

* boardwalk: undoing tkc1800 change

* boardwalk: undoing tkc1800 change

* nchristus keymap cleanup

* boardwalk: updates per PR feedback

* boardwalk: updated bootloader

* boardwalk: additional updates from PR review
2019-02-25 17:24:11 -08:00
yttyx
f019cd12a5 [Keymap] Balance Twelve-based layout for Niu Mini (#5228)
* Balance Twelve-based layout for Niu Mini.

* niu - Changes following review.

* niu - Changes following review.
2019-02-25 17:09:42 -08:00
zvecr
36fce12d08 [Keyboard] Initial refactor of maxipad to conform to current standards (#5233) 2019-02-25 17:07:58 -08:00
noroadsleft
303859ea28 handwired/magicforce68: refactor, Configurator support, and readme cleanup (#5234)
* handwired/magicforce68: refactor

- layout macro KEYMAP renamed to LAYOUT
- keymap now uses #include QMK_KEYBOARD_H
- keymap now uses non-auto-prepended keycodes per QMK standard.
- deleted deprecated and unused action_get_macro block from default
keymap.

* handwired/magicforce68: Configurator support

* handwired/magicforce68: readme cleanup

- updated to current QMK template
- rename file to lowercase
- fix make commands
- Add Docs links
2019-02-25 17:05:22 -08:00
Andy
65db404260 [Keymap] HS60 v2 ISO layout andys8 (#5235) 2019-02-25 17:04:15 -08:00
MechMerlin
d7e3d718d0 Some minor refactoring of boards in 1upkeyboards directory (#5236)
* use #pragma once

* get rid of code for unused indicators

* pragma once and other small fixes for consistency

* use #pragma once

* pragma once and other small fixes for consistency

* add a short blurb to the readme

* turn on compiler optimization flags

* remove the compiler optimization

* remove compiler optimization for super16
2019-02-25 17:03:36 -08:00
Danny Nguyen
da5e904306 Fix pinout for Quefrency left half w/macros 2019-02-25 17:00:26 -08:00
MechMerlin
7276cc24d0 [Keyboard] KBDFans Minor Fixes (#5238)
* pragma once and turn on bootmagic lite

* pragma once changes and turning on bootmagic lite

* switch to using pragma once

* switch to using #pragma once

* switch to using #pramga once
2019-02-25 16:59:40 -08:00
takashiski
2c1963d583 [Keyboard] Hecomi conf (#5246)
* add info.json

* update readme

* remove info.json from no rule.mk folder
2019-02-25 16:51:09 -08:00
stanrc85
c4451f4505 Corrected HS60 v2 keyboard name in info.json (#5242)
* Corrected keyboard name in info.json

* Updated maintainer to yiancar
2019-02-25 08:02:40 -08:00
Adam Price
79acf1e660 atreus default keymap pagedown didn't match comment instructions (#5245) 2019-02-25 08:01:50 -08:00
Hackerpilot
c1cb95d953 Clear up the confusion between the kbd67/kbd65 naming. 2019-02-24 20:00:26 -08:00
Brian Schott
d093678458 Update readme.md 2019-02-24 19:49:48 -08:00
Brian Schott
2fe21c67c5 Update readme.md 2019-02-24 19:49:48 -08:00
Brian Schott
1c2b3143d0 The code in this directory supports the KBD65 2019-02-24 19:49:48 -08:00
Konstantin Đorđević
d5dcf54e23 Fix indentation in quantum_keycodes.h (#5221) 2019-02-24 15:21:09 -08:00
stanrc85
c8de0f78bf [Keymap] Initial upload of stanrc85 HS60 v2 layout and config (#5217) 2019-02-24 15:14:55 -08:00
Fred Silberberg
6f30a6b407 [Keymap] Added a key to handle copy/paste in and out of a terminal (#5205) 2019-02-24 14:57:16 -08:00
Tobias Schulte
a69e4406d4 Fix Tx Bolt ghosting second character on key press (#5229)
* convert tabs to spaces

* fix #4578: don't call gemini protocol code when in bolt mode

Add missing break; statements in switch. The missing break resulted in
a fall through and an additional processing of the gemini code.
2019-02-23 19:32:48 -08:00
skullydazed
0f62383be5 Clueboard 66% Hotswap Support (#5204)
* Initial Clueboard 66% arm support

* Fix LAYOUT_66_ansi

* wip

* Bring this branch up to date with led_matrix

* Get Clueboard 66% hotswap working with led_matrix

* stm32 cleanup

* Fix compiling for clueboard 66% hotswap prototype

* Reduce the size of the prototype firmware
2019-02-23 17:25:25 -08:00
SpacebarRacecar
539a6fc825 removed old keymaps (#5227) 2019-02-23 17:22:55 -08:00
KOBAYASHI Daisuke
58d035dccc Keymap: Update Koba's keymap for Ergo42. (#5223) 2019-02-23 17:22:20 -08:00
Campbell Barton
791cdd6e31 Update readme.md (#5230)
Correct comment.
2019-02-23 17:21:01 -08:00
mechmerlin
db26d0fbd8 edit the readme to mention the NYM96 since it's the same PCB and is currently on sale at Massdrop 2019-02-22 17:05:32 -08:00
jotix
24a8bc3fd0 Jotix keymaps (#5203)
* jotix 4x12 keymap

* readme corrections

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x4 keymap

* jotix ortho 4x4 keymap

* jotix keymaps
2019-02-22 08:47:42 -08:00
TerryMathews
50139d9c59 Candybar: remove mousekeys as default (#5210)
Binaries compiled at config.qmk.fm are oversized for the MCU. Adjusting
default options to compensate.
2019-02-22 08:46:05 -08:00
jotix
c3cf9c0cef Jotpad16 (#5212)
* jotix 4x12 keymap

* readme corrections

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* jotix ortho 4x12 keymap

* add jotpad keyboard

* add jotpad keyboard

* backlight pin for arduino pro micro

* readme correction

* readme correction

* jotpad16

* Update keyboards/handwired/jotpad16/jotpad16.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/handwired/jotpad16/keymaps/default/keymap.c

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/handwired/jotpad16/readme.md

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>
2019-02-22 08:08:25 -08:00
Takeshi ISHII
e3621c162c fix rgblight_effect_breathing interval time (#5213) 2019-02-22 08:07:31 -08:00
noroadsleft
384fef72d3 Replace instances of KEYMAP with LAYOUT
Many instances in the QMK Docs referenced KEYMAP macros, which is outdated terminology.

Replaced most instances of KEYMAP with LAYOUT, to reflect the desired usage.
2019-02-21 23:19:26 -08:00
SpacebarRacecar
8a2346eda1 [Keymap] Added preonic and mechmini 2 keymaps (#5202)
* added mechmini2 keymap

* added preonic keymap

* changed readme

* correction to mechmini 2 readme

* changes to preonic keymap
2019-02-21 09:39:04 -08:00
noroadsleft
9c73a4a5c6 Grammar cleanup of Flashing Your Keyboard Newbs Guide (#5201)
Fixed references to a "built" (sic) command, and an incorrect word.
2019-02-21 09:24:59 -08:00
jotix
0c607f8bf7 [Keyboard] add jotanck keyboard (#5192)
* add jotanck keyboard

* Update keyboards/jotanck/config.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/config.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/config.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/config.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/jotanck.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/jotanck.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* Update keyboards/jotanck/jotanck.h

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* requested changes

* Update keyboards/handwired/jotanck/readme.md

Co-Authored-By: jotix <47826561+jotix@users.noreply.github.com>

* add backlight support

* add default keymap image to readme

* add default keymap image to readme
2019-02-21 09:08:28 -08:00
Chris Lewis
c1c5922aae Velocikey: Match RGB animation speed to typing speed (#3754)
* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Experimental LED support (untested)

* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Added documentation

* Renamed feature to velocikey

* Reverted readme to original state

* Correct the readme title

* Updated feature name in the docs

* Update EECONFIG name

* Add compile-time toggles for velocikey

* Update feature documentation

* Revert "Merge branch 'led-support' into master"

This reverts commit e123ff5feb, reversing
changes made to df111a55b9.

* Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE

* Rename decay_task function to decelerate

* Apply suggestions from code review

Co-Authored-By: chrislewisdev <chris@chrislewisdev.com>

* Re-order eeconfig definitions

* Apply coding conventions

* Apply #ifdef check in lufa.c

* Refactored interval time checks into one functionc

* Small rename

* Fix unused function error for layouts not using all rgb effects

* Only update EEPROM if Velocikey is enabled

* Incorporate code review feedback

* Small adjustment to top-end decay rate

* Add Velocikey documentation to table of contents

* Bring tetris:default keymap size down by disabling audio
2019-02-21 07:22:46 -08:00
Johannes Jansson
9f1d781fcb Updated hand wiring docs (#5198)
* renamed KEYMAP to LAYOUT in hand wiring docs

* added two additional guides for hand wiring
2019-02-20 17:27:27 -08:00
Chris Lewis
de0fb39403 Reduce tetris firmware size by disabling default audio (#5197) 2019-02-20 14:46:30 -08:00
Hannes Hornwall
657b44cb7c Make escape work after changing the backlight settings on the HS60 V2 (#5193) 2019-02-20 12:48:46 -08:00
noroadsleft
eb7a821c5b Markdown cleanup on Config Options doc
Descriptions for B5_AUDIO, B6_AUDIO, and B7_AUDIO under Hardware Options were partially italicized when parsed by Docsify, though rendered as intended by GitHub.
2019-02-20 12:06:15 -08:00
tw1t611
b6e1e6aeeb [Keymap] Add kinesis layout. (#5183)
* Add kinesis layout.

* Remove unneeded code.
2019-02-20 08:33:53 -08:00
MechMerlin
67495ae24a [Keyboard] Alf X1.1 QMK Support (#5189)
* initial commit

* get rid of vanilla cookie cutter code  and replace with  more correct info

* edit config file for pins and switch matrix size

* turn on bootmagic lite, and backlight/rgb settings

* copy pasta switch matrix from noroads tool

* create an appropriate keymap (copy pasta)

* disable some features to decrease firmware file size

* add qmk configurator support

* add in support for caps lock, scroll lock, and num lock leds
2019-02-19 20:57:15 -08:00
Ben
8ae83b490e [Docs] Fix typo in RGB Matrix Driver configuration (#5182)
* Fix #3797 firmware not compiling

If DRIVER_COUNT 1 firmware will not compile.

* Fix typo
2019-02-19 20:49:22 -08:00
mechmerlin
ffb75b720f move sixshooter into bpiphany directory and edit readme 2019-02-19 20:48:35 -08:00
mechmerlin
33f1259f89 get doro67 led working 2019-02-19 18:48:30 -08:00
zvecr
9a64c6b82e [Keyboard] XD84 fixes for caps lock led, backlight and firmware size (#5178)
* Enable backlight

* Enable Link Time Optimization

* Enable caps lock led
2019-02-18 16:48:52 -08:00
Takeshi ISHII
030faf951c Fix quantum/split_common/matrix.c: select_col()/select_row() (#5174)
* add temporary pdhelix(Patched Helix) code

* add test code into  quantum/split_common/matrix.c

* add test code into keyboards/handwired/pdhelix/

* Revert "add test code into keyboards/handwired/pdhelix/"

This reverts commit 9ed98f0797ddd962c99756689fc4ecb4cd067d3d.

* Revert "add test code into  quantum/split_common/matrix.c"

This reverts commit 1876d3ed69f6c213153a9f6476192be839f16c1f.

* Revert "add temporary pdhelix(Patched Helix) code"

This reverts commit 41ac92b814e3f894eaf85bc3e5bb945895342fa8.

* fix quantum/split_common/matrix.c: select_col()/select_row()
2019-02-18 13:55:20 -08:00
Drashna Jaelre
100697ebab Stop all notes on startup, if there is no song and audio is disabled to prevent continouse tone (#5173) 2019-02-18 12:32:38 -08:00
Jumail Mundekkat
149015e799 Fixed grep issue in bootloader build target (#3848)
* Changed use of '\s' in grep to '[ \t]' for portability

* Pushed DFU Keyboard.h into a shell script

* Fixed execution permissions on make_dfu_header,sh
2019-02-18 10:00:33 -08:00
upinthecloudz
0cee0764fd Fix Espectro Mac keymap and add new layout option (#4923)
* Fix Espectro Mac keymap and add new layout option

* Fix keymap

* Fix keymap
2019-02-18 09:59:08 -08:00
Drashna Jaelre
feee01192e Fix Audio Clicky by adding missing punctuation (#5171) 2019-02-18 09:53:38 -08:00
zvecr
1a6a2a7b75 Relocate usb_detach to utils (#5121)
* Relocate usb_detach to utils

* Relocate usb_detach to utils - fix up files after move
2019-02-18 09:03:44 -08:00
fauxpark
545f95c8f4 Migrate ACTION_LAYER_TAP_TOGGLEs to TT() 2019-02-18 08:52:51 -08:00
Yan-Fa Li
efef54032b [Docs] Add section about EEPROM on ARM (#5070)
* [Docs] Add section about EEPROM on ARM

* Add Preonic firmware

* Update docs/faq_build.md

add hyperlink

Co-Authored-By: yanfali <yanfali@gmail.com>
2019-02-18 08:50:22 -08:00
zvecr
fc06986989 Remove CUSTOM_MATRIX option from diode direction (#5090)
* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION

* Remove '#define DIODE_DIRECTION CUSTOM_MATRIX'

* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION documentation
2019-02-18 08:49:51 -08:00
zwnk
7639edb0ae [Keyboard] handwired dactyl with 2 pro micros added (#5113)
* handwired dactyl with 2 pro micros added

* dactyl_promicro README updated

* dactyl_promicro default layout fixed

* requested changes

* dactyl_promicro README updated

* qmk toolbox link fixed

* layout reflects phys. keys positions
2019-02-18 08:49:11 -08:00
Rys Sommefeldt
0e68b6c1a9 Add UK variant of the SEND_STRING() LUTs 2019-02-18 08:47:31 -08:00
Drashna Jaelre
3d4aabf251 Update Helix 'led_test' keymap (#5168)
Change to use keyboard_post_init_user() hook (#3113)
2019-02-18 08:36:41 -08:00
MechMerlin
66a86bc50c [Keymap] update keymap and readme for my 75% layout (#5166) 2019-02-18 08:36:12 -08:00
MechMerlin
f0edc993b7 [Keyboard] Winkeyless Directory (#5163)
* introduce wkl directory and readme

* move bface into winkeyless directory and edit readme for new make instructions

* move bmini into the winkeyless directory and edit readme

* move bmini ex into winkeyless directory

* edit readme some more

* add newbs guide to readmes

* fix path to bface

* temporarily turn off community layout support until we refactor this taking out all the custom ps2avrgb stuff
2019-02-18 08:35:34 -08:00
zvecr
593d08d6ae [Keyboard] Add LAYOUT_75_iso community layout support (#5161)
* Add LAYOUT_75_iso community layout support

* Add LAYOUT_75_iso community layout support - review comments
2019-02-18 08:33:10 -08:00
mtei
2cd2078b9d Update Helix 'led_test' keymap
Change to use keyboard_post_init_user() hook (#3113)
2019-02-18 19:01:37 +09:00
Konstantin Đorđević
5cb713148d Change Command keycode defaults to match corresponding Bootmagic codes (#5078)
* Change Command keycode defaults to match corresponding Bootmagic codes

* Make alternate magic key keycodes consistent

* Reflect changes from previous commit in tmk_core/common/command.c

* Remove unnecessary MAGIC_KEY_* definitions from keymaps compatible with these changes

* Swap E and BSPACE for MAGIC_KEY_EEPROM

* Add MAGIC_KEY_EEPROM_CLEAR instead of MAGIC_KEY_EEPROM_ALT

* Remove BOOTMAGIC_ENABLE checks around EECONFIG stuff

* Update Command descriptions
2019-02-17 22:23:32 -08:00
Konstantin Đorđević
4e2369693f Move RGBLIGHT_LIMIT_VAL definition from rgblight.c to rgblight.h (#5167) 2019-02-17 19:05:12 -08:00
zvecr
657d055934 Inital port of xd84 (#5164)
* Inital port of xd84

* Inital port of xd84 - review comments
2019-02-17 17:47:01 -08:00
Olivia Briggs
278a6c74f3 Add Olivia's TMO50 layout 2019-02-17 11:33:10 -08:00
James Churchill
dc5933aff7 Add clang-format section to contributing.md 2019-02-17 08:59:19 -08:00
James Churchill
ae9439a3f9 Add .clang-format file 2019-02-17 08:59:19 -08:00
rfvizarra
4eb7248401 [Keymap] rfvizarra's custom PK60 layout (#5156)
* rfvizarra's custom PK60 layout

* Update keyboards/playkbtw/pk60/keymaps/rfvizarra/keymap.c

Co-Authored-By: rfvizarra <rfvizarra@gmail.com>

* Update keyboards/playkbtw/pk60/keymaps/rfvizarra/readme.md

Co-Authored-By: rfvizarra <rfvizarra@gmail.com>
2019-02-17 08:44:27 -08:00
QMK Bot
7cbfd8d4a1 convert to unix line-endings [skip ci] 2019-02-17 15:42:49 +00:00
fauxpark
3b2a484a5b Remove redundant KC_TRNS and KC_NO fillers in remaining keymaps (#5154) 2019-02-17 07:38:46 -08:00
Thomas Spurden
8911870b45 Add isolike iris layout (#5157)
Keeps it simple and most keys in a similar position (at least relative
to other keys) to a standard ISO layout.
2019-02-17 07:36:50 -08:00
takashiski
feabafd1f4 define new keyboard "Hecomi" (#5147)
* update pinout for matrix

* first commit

* include split_common.h

* change split_common.h to split_util.h

* update config.h

* update keymap & config

* update

* remove K70, add K77

* fixed test keymap

* add Layer

* define to HHKB pro 2 based keymap

* change authoer name

* define LAYOUT and LAYOUT_KC

* replace from LAYOUT_KC to LAYOUT

* change name hecomi_alpha to hecomi/alpha

* fixed hecomi_alpha to hecomi/alpha

* remove unnecessary files

* update readme

* add DEFAULT_FOLDER

* remove hecomi_alpha because change name to hecomi

* remove bad LAYOUT macro

* remove IS_COMMAND macro

* remove unnecessary RGB options

* Update keyboards/hecomi/hecomi.h

Co-Authored-By: takashiski <takashiskibb@gmail.com>

* Update keyboards/hecomi/hecomi.h

Co-Authored-By: takashiski <takashiskibb@gmail.com>

* Update keyboards/hecomi/alpha/rules.mk

Co-Authored-By: takashiski <takashiskibb@gmail.com>

* Update keyboards/hecomi/alpha/rules.mk

Co-Authored-By: takashiski <takashiskibb@gmail.com>

* Update keyboards/hecomi/hecomi.h

Co-Authored-By: takashiski <takashiskibb@gmail.com>

* remove endif

* update rule.mk with suggestions
2019-02-16 21:44:08 -08:00
QMK Bot
39b5958ae8 convert to unix line-endings [skip ci] 2019-02-17 05:38:26 +00:00
fauxpark
e2d3c92199 Remove redundant KC_TRNS and KC_NO fillers in default keymaps (#5152) 2019-02-16 21:36:02 -08:00
zvecr
338ca3569a Add docs on using keyboard_post_init_user to enable debug modes 2019-02-16 21:20:18 -08:00
ishtob
2cee371bf1 Haptic feedback generalized - DRV2605 and solenoids (#4939)
* initial work to add eeprom to haptic feedback and decouple the feedback process from keyboards

* Haptic feedback enhancements: on/off toggle working, feedback order working
todo:
-work on modes switching
-get modes switching to save to eeprom

* haptic enhancement - eeprom and modes added

* Added set and get functions for haptic feedback

* initial implementation of solenoids under haptic feedback

* changed eeprom to 32 bits to reserve blocks for future features

* start documentation of haptic feedback

* change keycode per comment from reviewers

* typo fixes

* added eeprom for solenoid configs

* added solenoid and docs

* Add/fix default parameters configs, improve docs

* more doc cleanup

* add in solenoid buzz toggle, clean up doc

* some fixes for error in compiling solenoid

* fix a chibios specific i2c read function and added one for AVR controllers in DRV2605L.c

* fixes for avr side issues

* update keymap

* fix keymap compile error

* fix bugs found during solenoid testing

* set pin that is not powered during bootloader

* added warning about certain pins on the MCU may trip solenoid during DFU/bootloader
2019-02-16 18:39:30 -08:00
Rodrigo Feijao
a7a647b7f6 Add support to XD60 Rev3 (#4938)
* Add preliminary support to XD60 Rev3 PCB (Supports the 12 underglow LEDs, but split spacebar still not wired/implemented).

* * xd60_rev3 folder removed
* xd60 rev2 and rev3 added
* ifndef replaced with pragma once at rev3 config.h

* Readme updated

* new updated statement at keyboards/xd60/readme.md

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* Update keyboards/xd60/readme.md

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* Update keyboards/xd60/readme.md

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* Update keyboards/xd60/readme.md

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* Update keyboards/xd60/readme.md

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* * XXXXX removed and replaced with 7X
* removed unecessary declarations

* Update keyboards/xd60/keymaps/styr/keymap.c

Co-Authored-By: rodrigofeijao <hello@rodrigofeijao.com>

* action_layer.h include removed

* * action_get_macro removed
* IS_COMMAND() removed
* BOOTLOADER defined
2019-02-16 18:34:07 -08:00
Drashna Jaelre
16226274c9 Add numpad_5x6 layout support for Prime M keyboard (#5149)
* Add numpad_5x6 layout support for Prime M keyboard

* fix default layout
2019-02-16 18:30:14 -08:00
Drashna Jaelre
cbb7e91851 Update Drashna user space code to support keyboard_init functions (#5138)
* Update code to support keyboard_init functions

* Get Minor tweaks
2019-02-16 18:28:04 -08:00
VM
c8577a9a73 [omgvee:keymap] minor changes and fw size optimizations (#5150)
- flags for the linker
 - added INSERT key as I kinda use it for work fairly often
 - turned on more things in rules.mk since I recovered space via linker
flags and whatnot
2019-02-16 18:21:01 -08:00
Øyvind Wilhelmsen
f2d597d1d3 Planck Keymap for oeywil (#5145)
* adding my keymap

* fixed includes

* removed comments

* removed keymap_config_t
2019-02-16 08:11:56 -08:00
fauxpark
bbd4b5eb88 Remove redundant KC_TRNS and KC_NO fillers in layouts (#5142) 2019-02-16 08:11:15 -08:00
Rys Sommefeldt
3309e91e0b [Keymap] Add new layout for wilba_text WT8-A (#5141) 2019-02-15 16:59:03 -08:00
fauxpark
e04e55c872 Remove redundant KC_TRNS and KC_NO fillers in userspace (#5140) 2019-02-15 16:18:13 -08:00
Rys Sommefeldt
83de3dff01 [keymap] Add new keymap for TADA68 (#5120)
* Add new layout for TADA68

* Remove unnecessary KC_TRNS defines from tada68/mattgemmell and tada68/rys
2019-02-15 14:40:56 -08:00
Mikkel Jeppesen
6f50c7eba1 Added APA102 support (#4940)
* Fixed pin for RGB

* Re-did apa102 stuff

* changed to use pincontrol functions

* Removed a newline?

* Changed to comply with project style
2019-02-15 11:32:31 -08:00
Daniel H Klein
2ba54690e6 Fix height in info.json for Unigo66 (#5137)
* UniGo66 keyboard added

* UniGo66 keyboard added

* case correction of unigo66 files

* create sirius folder

* Update keyboards/sirius/unigo66/rules.mk

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/default/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* debugging

* correct keymap to layout

* readme

* remove common config

* suggested changes to config.h

* default keymap cleanup

* bug fixes

* fixed height in info.json
2019-02-15 11:25:02 -08:00
Jayesh Vora
222380c636 Fix documentation about one shot tap toggle
Based on conversation with Drashna on Discord, we know that if ONE_SHOT_TAP_TOGGLE is 5, then tapping a one shot mod key 5 times holds the one shot key permanently, but to come out of this, you need to press the same key only once.
2019-02-15 09:02:06 -08:00
Eduardo Lourenço Pinto Neto
9b3f397ab2 Update README.md (#5135)
Update to new structure
2019-02-15 08:58:38 -08:00
Eduardo Lourenço Pinto Neto
ecdf14bb62 Update keymap.c (#5136)
Fix minor bug on toggle layer code from Mac to Windows layer.
2019-02-15 08:23:44 -08:00
Erovia
642f6cf14f Add support for using ranges for RGB (#4981)
* Add support for using ranges for RGB

This patch adds support for controlling continuous ranges of RGB LEDs.
Helper functions for split boards are also available.

* RGB Range: Use hardware-platform agnostic wait
2019-02-15 06:52:04 -08:00
Yan-Fa Li
f3bdd436a3 Update KC_GESC documentation (#5053)
* Update KC_GESC documentation

 - document caveats on OSX and expected behavior with KC_GESC and GUI
 - clarify documentation slightly
 - give examples of expected output in actual use

* Update OSX -> macOS

* Captilization

* remove simply
2019-02-15 06:50:28 -08:00
Samuel Jahnke
d04485e32c Add samuel's literate keymap file for planck (#4998)
* added my own keymap

* changed thing

* updated keymap Samuel

* updated laypout for better one handed use

* updated stuff I want

* happy with my lagout

* formatting

* Added new literate config

* made everything nice

* cleaned

* fixed spelling and two small bugs in macros

* Made press and lift function for modifiers
2019-02-15 06:49:02 -08:00
zvecr
f61c99fdda Remove duplication of ssh keys and fix usage on PR builds (#5013) 2019-02-15 06:47:47 -08:00
Konstantin Đorđević
cd369b7107 docker_build.sh: Run container in interactive mode (#5088)
* docker_build.sh: Run container in interactive mode

* Add message about QMK Toolbox

* Update Docker docs
2019-02-15 06:46:42 -08:00
Drashna Jaelre
cc146e32dc Improve RGB Light code (#4326)
* Improve RGB Light code

* Add is_rgblight_initialized as an externed value in rgblight.h

* Use remander of hue
2019-02-15 06:37:44 -08:00
Shihpin Tseng
68fad7b777 Enable custom chibios sub-platform 2019-02-14 21:06:26 -08:00
fauxpark
7c2bee8b88 Swap KBD75 caps lock LED pin levels (#5132) 2019-02-14 21:01:40 -08:00
Ben
1e1b55fbdf Improve Encoder documentation (#5130) 2019-02-14 21:00:57 -08:00
Konstantin Đorđević
d7754a19b9 Remove problematic unicode_map stub definition in process_unicodemap.c (#5110)
* Remove problematic unicode_map stub definition in process_unicodemap.c

* Add unicode_map declaration to process_unicodemap.h

* Disable UNICODEMAP on converter boards that don't use it
2019-02-14 20:55:31 -08:00
fauxpark
3a3de84e40 Tweak issue templates (capitalisation mostly) (#5133)
* Tweak issue templates (capitalisation mostly)

* Consistent headings
2019-02-14 20:44:27 -08:00
Drashna Jaelre
c22f3ba3a2 Debounce refactor / API (#3720)
* Added xeal60 via clone of lets split

* Delete removed other keymaps

* Basic keymap (no FN). Compiles.

* Removed NP_STAR and NP_SLSH.

* Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.

* Changed order of rules in TMK. Documented feature.

* Fixed missing whitespace in debounce documentation

Table wasn't working due to missing newline.

* Added bold in a few areas.

* DO NOT USE - Removed debounce from TMK.

* Remove accidental xeal60 commit

* DO NOT USE - debounce successfully compiled.

* DO NOT USE Revert back to original API to support split_keyboards.

* Working eager_pk

* Whitespace cleanup.

* Restored debounce.h since there wasnt any real change.

* Moved debouncing_time variable  to inside #if debounce

* Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used.

* Removed #include "matrix.h" from debounce.h

* Bug fix - was using MATRIX_ROWS instead of num_rows

* Fixed compilation error with debounce_sym_g

* Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE

* Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2.

* Fix compile error in debounce_eager_pk

* Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk
2019-02-14 20:36:20 -08:00
Drashna Jaelre
cc5c6b449a Add kb and user level keyboard initialization functions (#3113)
* Add suspend functions

* Disable RGB code if it's disabled

* Add keyboard_init functions

* Change where references so it will compile

* Wrong command chained in wake up kb function

* Fix non-feature file changes

* Add documentation

* Re-add matrix init docs

* add rgblight code to example

* Remove suspend code

* Clean up docs

* Fix docs

* Fix suspend code

* more doc fixes

* change function to startup_* rather than keyboard_init_

* fix spelling error

* fix up docs to finish removing keyboard_init

* Use Pre and Post init functions

* Update Documenation

* Remove changes to my keymap and userspace code

* Cleanup

* Revert changes to extra files

* Forgot a semicolon

* Make sure all protocols call keyboard_setup

* Cleanup functions

* Unset startup_user

* Remove changes from division keyboard

* Readd startup_user function

* Remove all to startup_user

* Update docs/custom_quantum_functions.md

Co-Authored-By: drashna <drashna@live.com>

* Update docs/custom_quantum_functions.md

Co-Authored-By: drashna <drashna@live.com>

* Add suggestion line

* Rebase fixes

* Update documentation to be more useful/accurate

* Cleanup of documentation

* Fix spacing inconsistency

* Revert unexpected change to keymap
2019-02-14 20:18:54 -08:00
zvecr
40e67a3074 Add a mechanism for force building a particular community layout (#5027)
* Add a mechanism for force building a particular community layout

* Add docs for FORCE_LAYOUT argument

* Update output name when FORCE_LAYOUT is enabled
2019-02-14 20:14:26 -08:00
Drashna Jaelre
85022f8bb5 Fix ARM Audio issues and its EEPROM persistence (#4936)
* Don't click if turning audio off

On ARM, playing the click when turning off audio causes the audio get stuck and continually play the tone

* Fix Audio EEPROM support for ARM

* Update touched files to conform to QMK Coding Conventions

* Add better check for ARM EEPROM support
2019-02-14 20:12:37 -08:00
fauxpark
9e4ac6cf29 Migrate fn_actions for default keymaps (#4935)
* Migrate fn_actions for default keymaps

* Rename the Grave/Escape Shift masks

* No need for shift_esc_shift_mask

* Change breaks to return false

* Right align pointers

* Add default case

* Separate cases with empty lines
2019-02-14 20:07:13 -08:00
Takeshi ISHII
d5bc7fc157 Add makefile target 'show_build_options' and 'show_all_features' (#5048)
* Add makefile target 'show_build_options' and 'show_all_features'

Example:
```
$ make  planck:default:show_all_features
QMK Firmware 0.6.266
Making planck/rev5 with keymap default and target show_all_features

 PLATFORM = AVR
 FIRMWARE_FORMAT = hex

Build Options:
  BOOTMAGIC_ENABLE = no
  MOUSEKEY_ENABLE = no
  EXTRAKEY_ENABLE = yes
  CONSOLE_ENABLE = yes
  COMMAND_ENABLE = no
  SLEEP_LED_ENABLE = no
  NKRO_ENABLE = yes
  BACKLIGHT_ENABLE = no
  RGBLIGHT_ENABLE = no
  MIDI_ENABLE = no
  UNICODE_ENABLE = no
  BLUETOOTH_ENABLE = no
  AUDIO_ENABLE = yes
  FAUXCLICKY_ENABLE =
  HD44780_ENABLE =

Other Features:
  API_SYSEX_ENABLE = no
  RGB_MATRIX_ENABLE = no
```

* remove duplicate 'SPLIT_KEYBOARD'

* add .PHONY, change 'echo' -> '@echo'

* update show_options.mk: useing variable BUILD_OPTION_NAMES, HARDWARE_OPTION_NAMES and OTHER_OPTION_NAMES

* update show_options.mk: add KEYBOARD,KEYMAP

* update show_options.mk: add sorting

* update show_options.mk: add show_full_features, add $(origin XXX)

* update show_options.mk: Macro names was collected from keyboards/.

* update show_options.mk: add some Macro Names
2019-02-14 17:52:58 -08:00
Drashna Jaelre
a08be85780 Add pin initializiation for KBD75 (#5129)
So that the LED indicator actually works
2019-02-14 13:28:14 -08:00
Danilo Vulicevic
1e6797b4e7 [Keymap] Add my personal userspace and update my keymaps (#5128)
* Add billypython userspace and dz60 keymap

* Disable Bootmagic in dz60:billypython keymap

* Update whitefox:billypython keymap with userspace changes

Also remove numpad layer
2019-02-14 12:09:27 -08:00
noroadsleft
ce465c084b Updates to noroadsleft keymap for KC60 (#5127)
* NUBS_Z: initial version

Create a keycode that is normally Z, but KC_NUBS when tapped while Alt is being held.

This removes the possibility of using an Alt+Z shortcut.

* NUBS_Z: modification

Modify NUBS_Z macro to only use alternate operation if Right Alt is being held, rather than responding to either Alt key.

Also add QMK version keycode to System layer, Equals key.

* Remove unneeded breaks from process_record_user

* Macro refactoring

- removed G_RST and G_C10R macros
- updated G_BRCH macro
  - outputs `master` if used while Shift is held down; or my git alias for the current branch otherwise
- updated G_FTCH macro
  - outputs `git pull upstream ` if used with Shift; `git fetch upstream ` otherwise
- swapped `modifiers` variable for `get_mods()` function directly for checking modifier state
- swapped keymap-level modifier mask macros for QMK-core mod mask macros (thanks vomindoraan #4337)
- renamed MODS_RALT_MASK to MOD_MASK_RALT (more consistent with the above change)

* Update readme files
2019-02-14 07:07:32 -08:00
Drashna Jaelre
54f18ce0f7 [Keymap] Update to Drashna keymaps and Userspace (#5122)
* Proper rules include

* Minor tweaks

* Minor tweaks

* Add Desitny 2 Swapped layout support

* Add keycode to keylogger

* Convert my viterbi keymaps

* Fix Orthodox keyboard

* Add more default layers

* Make default layer keycodes more optimized

* Update gitlab CI yaml file

* Rev6 Cleanup

* Fix KC_MAKE macro

* Update GitLab CI yaml file

* More GitLab CI changes

* One final GitLab CI change

* Optimize KC_MAKE

* Reformatting of config

* Feature creeeeeeep

* Planck Rev6 updates
2019-02-13 21:11:56 -08:00
stanrc85
9841c64de9 Fix ESC on Default ANSI layer (#5125) 2019-02-13 21:08:22 -08:00
MechMerlin
6471273149 [Keyboard] KBD19x Bootmagic Enable (lite) and other fixes (#5126)
* set bootmagic from no to lite and put in a note in the readme

* use pragma once

* discovered a compile error when testing with default keymap. The inlined led functions need to be externed in the .c file

* might as well turn on mouse keys as well
2019-02-13 19:49:04 -08:00
Frederick Hirsch
31b75c75fd [Keymap] Add fsck keymaps for eco, planck and preonic (#5106)
* Add the fsck keymaps for eco, planck and preonic

* Review changes for fsck layout
2019-02-13 17:51:16 -08:00
Daniel H Klein
8cd6cfcb77 [Keyboard] Unigo66 beta pcb added, bug fixes for flashing (#5108)
* UniGo66 keyboard added

* UniGo66 keyboard added

* case correction of unigo66 files

* create sirius folder

* Update keyboards/sirius/unigo66/rules.mk

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/default/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* debugging

* correct keymap to layout

* readme

* remove common config

* suggested changes to config.h

* default keymap cleanup

* bug fixes

* beta user pcb added, flashing fixed

* syntax fix

* updated info.json

* fix spelling

* fix readme
2019-02-13 11:03:10 -08:00
buhearns
918a52da61 [Keymap] Adding buhearns keymap (#5105)
* [Keymap] Adding buhearns keymap

* Removing deprecated function

with fauxpark's help

* Update readme.md

* Switching to UNICODE_ENABLE

with drashna's help

* Update rules.mk

* Update config.h

* Update config.h

Tidying up

* Update keymap.c

Tidying up

* Update readme.md

Tidying up

* Update rules.mk

Tidying up

* Removing GESC and adding TILD
2019-02-13 09:16:04 -08:00
MechMerlin
9a05c5d787 [Keyboard] New Keyboard: Doro67 Regular PCB (#5115)
* initial commit with edits to vanilla code

* Add QMK Configurator support

* add an appropriately generated keymap

* pins, matrices, and features added in

* moved it all to a regular directory. It's called regular as that's what it's called in the group buy. In the future we will have other directories for the other PCBs that are delivered to customers.

* forgot caps lock led support

* Update keyboards/doro67/regular/keymaps/default/config.h

Use the NAME

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update keyboards/doro67/regular/readme.md

Be more explicit

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>
2019-02-13 08:59:38 -08:00
Andrew Kannan
6b4549da8c Add Satisfaction75 to QMK, Enable EEPROM on stm32f072 (#5094)
* Add stm32f072 base ck4x4 to handwired

* add prints

* Save these tries

* Save changes again

* Working hadron oled

* OLEd working but ws2812b still iffy:

* save another try

* Encoder feature + OLED

* RTC code

* Implement clock setting mode

* Whitespace

* Encoder hooked up to working LED PWM code

* Add missing files

* eeprom changes

* Save changes

* Move i2c master

* Move satisfaction75 under cannonkeys

* Set proper default folder

* Revert some core changes

* Undo paved iris changes

* Reorganize code for maintainability and prep for new features

* Add starting code for clock OLED mode

* Clock set mode finished

* Add custom encoder modes

* Actually add VIA keymap

* Gate to only 072

* fix gate for only 072

* Update header guards and includes

* Update i2c selection strategy

* Update board.c to handle software reset to DFU
2019-02-13 08:03:26 -08:00
Drashna Jaelre
824aa06c3c Fix travis_compiled_push.sh script issue (#5114)
* Fix travis_compiled_push.sh script issue

* fix typo

* properly fix push script
2019-02-12 21:01:58 -08:00
Wilba
9cb4c5c092 [Keyboard] Added aeboards/aegis (#5099)
* Added aeboards/aegis

* PR changes
2019-02-12 17:05:34 -08:00
zvecr
6fcc6538c7 [Keyboard] Refactor jj4x4 to enable ortho_4x4 LAYOUT (#5112)
* Correct configurator info.json

* Refactor to support ortho_4x4

* Refactor to support ortho_4x4 - remove commented out code
2019-02-12 17:04:47 -08:00
Danny
b2ee290c9f [Keyboard] Move Keebio boards to own folder (#5109)
* Move boards into keebio folder

* Rename keymap

* Update BDN9 files

* Update BFO-9000 files

* Update Chocopad files

* Update Dilly files

* Update Fourier files, collapse rev1 into main

* Update Iris files

* Update Laplace files

* Update Levinson files, fix buswerks keymap

* Update Nyquist files

* Fix keymap issues

* Update Quefrency files

* Update Rorschach files

* Update TF68 files

* Update Viterbi files

* Update Viterbi files

* Update Wavelet files

* Reformat default layout

* Fix up default folder for Iris

* Remove already defined aliases
2019-02-12 16:57:24 -08:00
kwerdenker
994852712d [Keymap] Plain60 rgb (#5104)
* Fix compile error if not used with VIA

* Add keymap with support for RGB

* Integrate changes from PR code review
2019-02-12 16:48:05 -08:00
Dusty Pomerleau
15297bcfce [Keymap] Add Minidox keymap by dustypomerleau (#5101)
* add dusty keymap

* change keymap folder to match my github username

* initial keymap completed in comments only

* layout without NAV completed in comments only

* disable Command to prevent interference with Space Cadet keys

* switch _ and \ in the symbol layer

* Layers complete through _NAV

* add thumb keys to _NAV

* complete _NUM

* all layouts complete; still needs `process_user_record()`

* completed first draft of keymap; still needs config.h to match

* corrected keycodes for Mac macro-volume keys

* fix Mac mute keycode

* add missing Mac keycodes for previous and next track

* placeholder for qwerty layout, not yet completed;

remove unnecessary breaks;

add todos

* eliminate Preonic branch before switching to Minidox branch:

• delete dustypomerleau Preonic keymap folder

• complete keymap.c (QWERTY layer, vanilla numbers layer)

TODO:
• add preferences to config.h
• complete the README

* edit commented keymap diagrams for clarity in dual function keys

* define initial config.h and add rules.mk for mouse key support

* fix redundant line after implementation of tap_code()

* fixed key_timer declaration, added README and rules

* formatting of keymap

* add CTPC to config

* cycle thumb keys to favor center position

* modify config.h for temporary Pro Micro compatibility

* remove superfluous call to use serial; homebrewed mod tap keys are still broken with OSL

* merge _SYS and _MEDIA on new Z_SYS key

* ALT_OP example of new MT macro complete

* initial narze-inspired MT fixes in PRU

* add (currently superfluous) custom keycode for the _SYS layer

* rudimentary `OSL` symbol macros that immediately register the mod and fail to reset the oneshot layer, but do output the proper keys—fix both of these things

* remove permissive hold to improve tapping performance

* remove calls to `clear_oneshot_layer_state()`, as they have no effect inside `process_record_user()`. Tapdance appears to be the way forward.

* final commit before tapdance code; correct layout in comments

* initial tapdance code for shifted mod taps

* add numeric and ergo NUM layers and pinky shifts for keycuts

* add TD() wrappers to tapdance codes and clean up commented layout guides

* add faux return to cur_dance to allow compilation - TODO: research what the default clause should be in cur_dance

* update commented schematics for better readability

* add backspace and delete to lockable layers, Z_SYS -> SYS_Z for consistency, fix schematic errors

* add `DOUBLE_SINGLE_TAP` to tapdance cases to allow doubling of the single tap character without waiting tapping term

* remove reduced oneshot tapping toggles

* update README

* newline tweak :)

* Update keyboards/minidox/keymaps/dustypomerleau/keymap.c

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* Update keyboards/minidox/keymaps/dustypomerleau/config.h

Co-Authored-By: dustypomerleau <dustypomerleau@users.noreply.github.com>

* remove `PREVENT_STUCK_MODIFIERS`, as this is default behavior
2019-02-12 16:46:40 -08:00
Drashna Jaelre
d3f7910e68 Remove AUTOGEN and fix Travis Compiled Push scripts (#5077)
* Grab HEX and BIN files from autogen

And push them to qmk.fm/compiled

* Make autogen copy extension agnostic

This way, when travis cl scrpit looks for hex files, it will actually grab bin files, and not hex files for ARM boards

* Handle the AUTOGEN in :bin target to properly handle edge cases

Both the TADA68 and ATSAM boards generate the hex file and then convert it to a bin file. The changes I made does not handle this well, at all.  This removes the hex and replaces it with a bin, if a bin is normally generated.

* Revert hex target to original copy command

* Check hex and bin separately in compile push script

Since I don't know how to script this, well

* Simplify push to compiled folder

* Further simplify compiled push script

* Move AUTOGEN parsing to a more sane location to prevent tech debt

Thanks to skully!

* Remove AUTOGEN completely, as it's not needed

This has the benefit of making everything super simple, since we can pull every hex and bin from the root of the qmk_firmware folder, and move that to th compiled folder.  This also removes old and unneeded code, and removes some tech debt that has been accrued, without adding more, in theory.
2019-02-12 16:46:04 -08:00
Wilba
c5e10b7203 Added WT75-A, refactor wilba.tech PCBs (#5100)
* Added WT75-A, added "via" keymaps to wilba.tech

* Missed file last commit
2019-02-12 12:59:56 -08:00
MechMerlin
516f516062 [Keyboard] Space65: RGB Animations on by default (#5097) 2019-02-11 18:29:57 -08:00
Mike Bell
0b3b80afc1 Add digital layout for KBD75 (#5095)
* Initial commit of digital kbd75 layout

* Add readme

* Update readme

* Update readme with suggestions
2019-02-11 06:29:11 -08:00
skullY
c5221fa1cb fix the led_matrix.h naming conflict 2019-02-10 15:37:12 -08:00
skullY
5fc2421811 Put back an accidentally stripped copyright 2019-02-10 15:37:12 -08:00
skullY
1a680c1d6a cleanup 2019-02-10 15:37:12 -08:00
skullY
84879f28a3 fix compiling for backlight without led matrix 2019-02-10 15:37:12 -08:00
skullY
c080a3e7c4 cleanup 2019-02-10 15:37:12 -08:00
skullY
32116f1a45 Move the 1 second delay to led_matrix_init 2019-02-10 15:37:12 -08:00
skullY
24df54b807 Add documentation for led matrix 2019-02-10 15:37:12 -08:00
skullY
cc738e32dd Force backlight on when led matrix is enabled 2019-02-10 15:37:12 -08:00
skullY
6b74dd6de5 led_matrix works now 2019-02-10 15:37:12 -08:00
skullY
bf2670601d compiles, but long delay on startup and problems 2019-02-10 15:37:12 -08:00
skullY
159191a874 revert accidental rgb_matrix.h changes 2019-02-10 15:37:12 -08:00
skullY
fd698c43d7 The beginning of a simple led matrix driver for is31fl3731 2019-02-10 15:37:12 -08:00
mikethetiger
aeafcc9fd3 [Keymap] Added my THE50 Keymap (#5093)
* adding my planck keymap

* adding my planck keymap

* added my espectro keymap

* the50 keymap
2019-02-10 12:52:03 -08:00
GreenShadowMaker
65d3afc915 [Keyboard] Update ergodash readme.md (#5092)
Clarification of Keys to Keymap note added
2019-02-10 12:50:55 -08:00
TerryMathews
6ba39689d3 [Keyboard] Initial support for TKC M0LLY (#5087)
* Initial support for TKC M0LLY

* Remove depreciated Magic Keys define

* Update keyboards/m0lly/README.md

Co-Authored-By: TerryMathews <terry@terrymathews.net>

* Update keyboards/m0lly/README.md

Co-Authored-By: TerryMathews <terry@terrymathews.net>

* Update keyboards/m0lly/info.json

Co-Authored-By: TerryMathews <terry@terrymathews.net>

* Update keyboards/m0lly/info.json

Co-Authored-By: TerryMathews <terry@terrymathews.net>

* Update keyboards/m0lly/m0lly.h

Co-Authored-By: TerryMathews <terry@terrymathews.net>

* Suggested review changes
2019-02-10 12:44:39 -08:00
takashiski
6848002601 [Keyboard] Namecard rev2 (#5080)
* add revision

* change to row2col

* remove old config.h

* remove rule.mk from namecard2x4/
2019-02-10 12:40:31 -08:00
Joshua Bragge
e251850cd8 added missing ; on example (#5089) 2019-02-09 09:18:08 -08:00
Braydon Bubnick
932d96ad56 [Keyboard] 1up60hte Readme update (#5075)
* Tweaks to default 1up60hte layout + support for HHKB style layout

* Added changes to layouts

* Fix config.h

* Fixed errant KC_NO in layout

* Added readme to keyboard... Will update with images/store link when avail.

* Update to use LAYOUT_60_hhkb default layout

* md formatting fix

* Update keyboards/1upkeyboards/1up60hte/readme.md

Co-Authored-By: bubnick <bubnick@users.noreply.github.com>

* Update keyboards/1upkeyboards/1up60hte/readme.md

Co-Authored-By: bubnick <bubnick@users.noreply.github.com>

* Added layout to rules.mk, fixed layout to be compatble with community HHKB keymaps

* Added image, updated store page to readme
2019-02-08 15:37:23 -08:00
Danny
f4f75acbd6 [Keyboard] Update default keymap, change RGB LEDs to 4 for Rev. 1.1 (#5086) 2019-02-08 15:35:49 -08:00
Danny
aea45c5483 [Keymap] Add HHKB JP keymap for bakingpy (#5084) 2019-02-08 15:34:44 -08:00
Danny
6fa0c48563 Convert Viterbi to use split_common, add rev2 (#5085)
* Convert Viterbi to use split_common, add rev2

* Update keyboards/viterbi/rev2/config.h

Co-Authored-By: nooges <nooges@users.noreply.github.com>

* Update keyboards/viterbi/rev2/config.h

Co-Authored-By: nooges <nooges@users.noreply.github.com>
2019-02-08 15:33:27 -08:00
skullY
bcb1815420 Add label to the info.json reference 2019-02-08 15:13:20 -08:00
skullY
83f74dd94c fix the case for some elements 2019-02-08 15:13:20 -08:00
noroadsleft
c6183ab4fc Update docs/reference_info_json.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
skullY
aeee735f35 Clarify LAYOUT vs LAYOUT_all 2019-02-08 15:13:20 -08:00
skullY
330e2e6af5 Address comments in #4832. Move info.json reference to its own file. 2019-02-08 15:13:20 -08:00
Konstantin Đorđević
24b7d058e2 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
a45b625b62 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
a5f1581316 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
5fdb398e0a Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
bd9be8af4a Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
59bf9127f2 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
b577b3b461 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
a47860e7e3 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
096b480e3d Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
9f2f9b5333 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević
7e44618325 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
fauxpark
81a5e4d718 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
skullY
154e1d99c3 tweak the keyboard guidelines 2019-02-08 15:13:20 -08:00
skullY
c3e0ef4d8a Update the keyboard guidelines 2019-02-08 15:13:20 -08:00
Danny
941f8678a4 Add support for Quefrency left half with 2x5 macro section (#5051) 2019-02-08 13:20:38 -08:00
Edmund Miller
be3a59d0ff [Keymap] Add Emiller Personal planck layout (#4249)
* Add emiller

* Add Num Layer

* Update QWERTY

* Update Raise and Lower

* Add right shift to match ergodox

* Update keyboards/planck/keymaps/emiller/config.h

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Update keyboards/planck/keymaps/emiller/config.h

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Update keyboards/planck/keymaps/emiller/config.h

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Update keyboards/planck/keymaps/emiller/keymap.c

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Update keyboards/planck/keymaps/emiller/keymap.c

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Update keyboards/planck/keymaps/emiller/config.h

Co-Authored-By: Emiller88 <edmund.a.miller@gmail.com>

* Add revisions

Co-authored-by: drashna <drashna@live.com>
2019-02-07 15:32:39 -08:00
Pierre Constantineau
6be078445c Merge ErgoTravel default keymap to match Group Buy orders (#5071) 2019-02-07 15:30:40 -08:00
Daniel H Klein
76da6ec061 [Keyboard] Unigo66 fixes and improvements (#5060)
* UniGo66 keyboard added

* UniGo66 keyboard added

* case correction of unigo66 files

* create sirius folder

* Update keyboards/sirius/unigo66/rules.mk

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/default/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* debugging

* correct keymap to layout

* readme

* remove common config

* suggested changes to config.h

* updates and fixes
2019-02-07 15:24:34 -08:00
Brice Figureau
6affec582b Regroup all Exclusive keyboard in one directory
To reduce clutter in the `keyboards/` directory, this patch moves all
keyboards definitions for Exclusive boards to its own subdirectory.
2019-02-07 15:22:55 -08:00
Erez Zukerman
c789577675 Adds a period to the docs.
Yes, really. Revolutionary, I know!
2019-02-07 13:30:17 -08:00
Yan-Fa Li
3a513fc3a3 [Docs] Bootmagic Lite Caveat (#5069)
Document that using bootmagic lite resets the eeprom every time.
2019-02-06 16:43:47 -08:00
stanrc85
f1c7718463 [Keymap] stanrc85 Keymap updates (#5066)
* Rename aliases to better reflect keycodes used

* Update readme to reflect changes in keymap

* Disabled more unused options to reduce memory usage

* Remove backlight keycodes and move RGB keycodes

* Update to reflect changes in keymap

* Disable backlight option

* Spacing
2019-02-06 14:58:00 -08:00
Robin Hallabro-Kokko
4397b17ca0 faq_build.md: Add section about serial devices on Linux 2019-02-06 14:56:40 -08:00
Chuck Lauer Vose
a3104a7110 [Keyboard] Initial commit of Laptreus Keyboard (#4967)
* Add userspace files for vosechu

* Code review corrections

* Few more code review corrections

* Initial add of Laptreus code

* Initial add of Laptreus code

* Adding last punctuation to default

* Add some debug suggestions to the debug readme

* Fixes for PR feedback

* Fixing capitalization of readme files

* update auto detect connection logic
2019-02-06 14:41:17 -08:00
Drashna Jaelre
35f6919673 Fix Bootmgic Mod Handling for LM keycodes (#4740) 2019-02-06 12:43:25 -08:00
MechMerlin
afa4763ef5 [Keyboard] Update the Scarlet Bandana (#5058)
* remove unneeded file

* make an appropriate readme

* amend the LAYOUT macro to adhere to new QMK standards and create an appropriate keymap

* add QMK Configurator support

* a bunch of changes lol

* delete unneeded routines

* update date to modern times

* remove a useless prototype

* add in drashna's suggestions on PR
2019-02-06 12:41:14 -08:00
adiron
80e733798a Fixed default Preonic keymap's encoder hadnling (#5067)
The function had the wrong name & arguments. This commit fixes this.
This in turn should also close issue #4997
2019-02-06 11:35:45 -08:00
Konstantin Đorđević
f1be0236b6 Remove unnecessary IS_COMMAND definitions from recently added keyboards (#5065) 2019-02-06 11:28:47 -08:00
Jeremy Bernhardt
045400ab28 Update gergo.h
Did a big brane move and mixed those up. Been using this keyboard for weeks and never noticed.
2019-02-05 22:16:41 -08:00
Rys Sommefeldt
9986c3d0b7 Add another secure string emitter to the keymap (#5057)
* Add another secure string emitter to the keymap

* Delete BACKLIGHT_ENABLE since it's default

Co-Authored-By: rys <rys@pixeltards.com>
2019-02-05 15:58:01 -08:00
Cole Markham
0affcc8bc3 Add Scarlet Bandana Version IV mark.2 (#3397)
* Add scarlet bandana

* updates for scarlet bandana
2019-02-05 14:56:17 -08:00
Anthony
5c7a31eae2 Improvements to Space Cadet Shift (#3856)
* Improvement of Space Cadet Shift by preventing to automatically apply a modifier on the key and allow to override the default modifier. Closes qmk/qmk_firmware#3815

* Improve the use of the DISABLE_SPACE_CADET_MODIFIER flag to avoid unregistering KC_LSFT when equals to LSPO_MOD

* change #if to if statement
2019-02-05 10:36:26 -08:00
Thomas Baart
47051f506f Add One Shot Key callbacks (#4697)
* Added callbacks to one shot modifier changes

* Altered signature of callback functions

* Reordered the callback methods, shortened brief documentation

* Added One Shot Modifier callback documentation

* First attempt at unit tests

* Revert "First attempt at unit tests"

This reverts commit 5ec21a7822.

* Simplified oneshot function implementations

* Made clear_oneshot_locked_mods to be conform action_util.h, adhering to the (void) signature

* Made used datatypes for oneshot mods consistently unsigned integers

* Corrected callback to call clear callback when clear_oneshot_locked_mods is invoked

* Simplified oneshot equals statements

* Corrected return type and signature of get and set oneshot locked mods

* Consolidated one shot callbacks, added initial layer callback version

* Fixed non-updating one shot layer variable after timeout or other clear, added code comments

* Added better one shot key docs
2019-02-05 10:19:56 -08:00
sprayed
7df9e584fa [Keyboard] Add support for jj4x4 numpad/macropad by Kprepublic (#5016)
* added keyboard jj4x4, a shorter version of the jj40

* removed useless file

* edited jj4x4 readme.md

* optimized array size in jj4x4 config.h, removed reference to jj40 layouts from rules.mk

* removed custom matrix for this ps2avrgb board, refactored column and row pins
2019-02-05 10:01:35 -08:00
Carlos
d4e1e712f6 dd Honeycomb macropad (#5000)
* Add Honeycome macropad

* Replace pragma, update info

* Update code based on review
2019-02-05 09:59:10 -08:00
fauxpark
612dc232d7 Add distclean target instead 2019-02-05 09:49:24 -08:00
fauxpark
6172273c86 These targets should be .PHONY 2019-02-05 09:49:24 -08:00
fauxpark
cb1aeb4254 make clean should remove .bin and .hex too 2019-02-05 09:49:24 -08:00
MechMerlin
b973258123 [Keyboard] TMO50 Off By 1 Column Bug (#5055)
* fix a bug in which the physical matrix did not match the physical layout. Top row was missing 1 key and bottom row had 1 extra key

* amend keymap to account for the new physical matrix

* 6.25u space bar is actually supported, so add a new layout that supports this

* fix keymap readme to no longer need the cautionary warning
2019-02-05 09:38:32 -08:00
Biacco42
b89cab87ce Add "meishi" keyboard (#5054)
* Add meishi keyboard project

* Update readme

* Fix copyrights

* Fix copyright year

* Replace include guard with pragma once

* Replace KEYMAP with LAYOUT
2019-02-05 08:20:47 -08:00
Nicholas Shaff
9b232a7f88 Keyboards: Move the other Sentraq keyboards into the sentraq vendor directory (#5052)
* Moving sentraq keyboards to sentraq subdirectory.

* Updating readme markdown to correct make commands.

* Updating s60_x references to point to the new vendor subdirectory.

* Fixed stripped spaces in markdown.

* Updated help information in s60_x readme and linked to additional documentation.
2019-02-05 06:36:49 -08:00
Brice Figureau
3352677820 Make QMK Configurator work with e7-v1 (#5007)
* Make QMK Configurator work with e7-v1

This adds the missing info.json file for the e7-v1 keyboard which I
forgot to add to the original PR.
This allows to see the correct layout in QMK Configurator.

* Fix the ISO layout

The ISO layout has one extra key (hash/tilde) on row 3 right before
the enter key.

The e7-v1 PCB has this key wired at the same switch as the ANSI
backslash (since this switch is not used in ISO).
2019-02-04 15:31:59 -08:00
Josh Forisha
ab579650b6 Fix XD87 ANSI layout values (#5031)
The tkl_ansi layout had an incorrect value for the grave/tilde key, and
number row keys were misnumbered. This fix removes the typo and adds the
missing K1C key.
2019-02-04 15:29:44 -08:00
Konstantin Đorđević
e4ff07aff0 Fix mixed tabs/spaces and typos in keyboards/converter makefiles (#5041)
* Fix mixed tabs and spaces in adb_usb and m0110_usb makefiles

* Fix typos in converter build options

* Tweak ordering and spacing in converter makefiles
2019-02-04 15:10:11 -08:00
MechMerlin
80d427a203 [Keyboard] New Macropad: 1upkeyboards super16 (#5039)
* initial commit

* Do a nice write up for readme

* establish switch matrix and physical layout

* Put in the pins that are used

* QMK configurator support and keymap

* set bootloader to caterina because pro micro boohoo

* add ortho_4x4 support for user spaces

* got the columns reversed lol
2019-02-04 15:08:37 -08:00
Flugschwein
e9c3e04146 Fix QWERTZ <> QWERTY issue in sendstring_german.h
Small mistake that caused sendstring commands to exchange y with z.
2019-02-04 15:07:16 -08:00
Braydon Bubnick
e14df8678d 1up60hte hhkb layout support (#5050)
* Tweaks to default 1up60hte layout + support for HHKB style layout

* Added changes to layouts

* Fix config.h

* Fixed errant KC_NO in layout

* Added readme to keyboard... Will update with images/store link when avail.

* Update to use LAYOUT_60_hhkb default layout

* md formatting fix

* Update keyboards/1upkeyboards/1up60hte/readme.md

Co-Authored-By: bubnick <bubnick@users.noreply.github.com>

* Update keyboards/1upkeyboards/1up60hte/readme.md

Co-Authored-By: bubnick <bubnick@users.noreply.github.com>

* Added layout to rules.mk, fixed layout to be compatble with community HHKB keymaps
2019-02-04 14:57:45 -08:00
Emīls Delle
ff893bf17c Tmo50 indicators (#5044)
* Create ISO HHKB keymapping for GH60

* Add media controls to Fn layer

* Use M(x) instead of F(x), add Copyright text

* Add README for additional information about TMO50 features/quirks

* Add indicator LED code

* Move indicator code to tmo50.c
2019-02-04 14:12:23 -08:00
MechMerlin
b49dbf9b19 [Keyboard] Create KBDFans directory (#5025)
* move over kbd19x into the kbdfans directory

* move over kbd4x into the kbdfans directory

* move kbd66 into the kbdfans directory

* move the kbd6x into the kbdfans directory

* move kbd8x into the kbdfans directory

* move kbd75 into the kbdfans directory

* move kbd67 into kbdfans directory

* add a fairly sparse readme for kbdfans directory

* update make instructions for keyboards and add the Complete Newbs Guide to readmes that was missing it

* get kbd75 compiling again

* remove repetitive #defines of KC_NO and KC_TRNS when QMK_KEYBOARD_H is already included in KBD75

* add links to kbdfans readme

* fix some readme formatting

* there is no reason to have two different keymaps with such a small difference, condensing to one

* turning on backlights by default

* enable backlight by default for kbd66

* noticed that the kbd75 had caps lock led code in every keymap. Moved it out to the keyboard.c so everyone can partake.

* Update keyboards/kbdfans/kbd66/readme.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* update readme link ordering
2019-02-04 10:29:04 -08:00
Nicholas Shaff
d26e73756f Fixed the key_count attribute name and numpad_5x4 layout in the info.json. (#5049) 2019-02-04 06:15:32 -08:00
Nicholas Shaff
b6fbcd9d62 New Keyboard: Sentraq Number Pad RGB DIY Kit (#5047)
* Added QMK Config for Sentraq Number Pad keyboard.

* Sentraq Number Pad documentation cleanup.

* mend

* Added json for configurator.

* Small documentation tweaks.

* Updated the layouts to use the default layouts that match.

* Uncommended user level functions in keymap, left custom keycode/macro code commented but documented why.

* Switched to #pragma once from #ifndef structure in header file.

* Moved Sentraq number pad to sentraq creator directory.

* Renamed sentraq_number_pad to number_pad now that it's nested in the sentraq directory.

* Updated references inside the files for the keyboard rename and nesting.
2019-02-03 19:40:42 -08:00
GreenShadowMaker
c4ce613bff ergodash Keyboard readme documentation (#5046)
* Update readme.md

Added reminder/example on how to install

* Update readme.md

Added note about rev2 and PCB versions

* Update readme.md

format
2019-02-03 16:59:39 -08:00
Peter Roe
e9c9c3a4fa [Keyboard] ADB converter lock LED fix (#5035)
* Enabled ADB lock LEDs

* Updated converter/adb_usb/README.md

Fixed a typo in the readme title. Added the lock LED fix to the changelog.
2019-02-02 12:43:58 -08:00
stanrc85
4e2007b855 [Keymap] Added , to fix errors (#5034)
* Added , to fix errors

* Added aliases to clean up keymaps

* Additional formatting changes
2019-02-02 12:21:32 -08:00
stanrc85
34a11d7bac Stanrc85 layout update/cleanup (#5029)
* Remove unused options

* COMMAND disabled since it is unused

* COMMAND shortcut removed

* Fix some spacing for better readability.
2019-02-01 18:49:37 -08:00
Fang
fd9967dd8e Add hand-swap config to Gergo layout (#5033) 2019-02-01 18:48:40 -08:00
Mazin Power
0bbf655d14 [Keymap] Adds Preonic keymap for muzfuz. Small Planck addition. (#5019)
* Adds keymaps for muzfuz

* Remove unused keys from adjust layer

* Bring in line with current QMK standards.

* Adds Preonic and adjusted Planck keymaps

* Make changes per review request
2019-02-01 12:44:57 -08:00
fauxpark
d8e9a0f7a3 Change return type of layer_switch_get_layer() to uint8_t (#5011)
* Change return type of layer_switch_get_layer() to uint8_t

* Keep loop index signed so we don't wrap around
2019-01-31 16:40:12 -08:00
MechMerlin
8c5c1fd7fe Space65 Updates (#5008)
* update reset sequence info

* fix my rgb underglow led number flub

* add a more sensible keymap

* add caps lock led support

* remove unused #define

* swap the spacebar sizes around to match the space65

* use vomindoraan's suggestion in PR to use IS_LED_ON
2019-01-31 16:37:13 -08:00
Braydon Bubnick
aa6cc28d43 [Keyboard] Add 1upkeyboards 1up80hte (Tsangan style PCB) (#4988)
* Support for 1upkeyboards Tsangan style PCB

* Suggested changes to config.h, keymap.c, rules.mk, 1up60hte.h, 1up60hte.c

* Update keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c

Fix for misnamed const

Co-Authored-By: bubnick <bubnick@users.noreply.github.com>
2019-01-31 16:31:22 -08:00
moyi4681
4d88c716b4 Update info.json (#5015) 2019-01-31 11:36:59 -08:00
Felipe Coury
e2411b0d4c Fixed TGR Alice pinout and number of LEDs (#5018) 2019-01-31 07:42:12 -08:00
Fredric Silberberg
87cbb1c552 Generalized nyquist layout for 5x12 boards. Removed duplicate readme.md that was cased the same and caused issues. 2019-01-30 23:13:50 -08:00
zvecr
9f63cd0d1d Remove duplicate make invocations 2019-01-30 21:42:23 -05:00
zvecr
4082d880bc Fix file size check for parallel make (#5012) 2019-01-30 18:20:13 -08:00
Boy_314
8f6285d3b3 [Keyboard] 40percent.club's Half 'n' half keyboard port (#5005)
* fixed arrow keys and left control

* added right shift

* latest version

* reverted arrow keys

* edited readme

* added osu layer

* updated osu layout

* updated osu layout

* added full arrow keys to osu layout

* in case i mess up creating macros

* added the best meme key in the world

* added plover steno layer

* updated boy314 layout

* removed unused layers

* added boy314 xd75 layout, inspired by preonic layout

* added boy314 xd75 layout, inspired by preonic layout

* version 2 of boy314's xd75 layout

* added readme notes

* updated readme for boy314 xd75 layout

* qwerty support, brackets on bottom row, caps lock underglow

* fixed readme/

* small changes to allow merging

* minor changes to format

* fixed up default readme

* added numpad and tweaked bottom row

* updated xd75 and preonic rev3 keymaps

* added initial half n half files

* fixed .h file

* updated names

* fixed layout in halfnhalf.h

* fixed manu name, changed bootloader in rules.mk

* removed redundancies in preonic and xd75 layouts

* readme updated
2019-01-30 18:14:27 -08:00
Tuan Anh Tran
6debadb101 update canoe/readme (#5014)
fix command, pyusb is installed with pip, not brew. remove extra ` in command
2019-01-30 18:12:43 -08:00
Rockman18
c2080d3b0a [Keyboard][S65-X] BACKLIGHT_CAPS_LOCK (#4770)
Replace buggy Caps Lock indicator implementation with new
BACKLIGHT_CAPS_LOCK_INDICATOR feature.
2019-01-30 15:42:30 -08:00
Othi
1d49f76f15 space65-5001 init, small corrections to the total number of leds (#5006) 2019-01-30 13:01:18 -08:00
moyi4681
19c504662e [Keyboard] add dz60rgb keyboard (#4992)
* add dz60rgb keyboard

* add info.json

* Update config.h

* Update rules.mk

* Update dz60rgb.h

* Update dz60rgb.c

* Update keymap.c

* Update dz60rgb.h

* Create readme.md

* Update readme.md

* Update keymap.c

* Update dz60rgb.h

* Update info.json
2019-01-30 12:18:35 -08:00
wanleg
58f3ce5254 [Keyboard] Jj40 doc (#4914)
* Update README.md

* Update README.md

* Update README.md

* Update README.md
2019-01-30 11:03:04 -08:00
Mattia Dal Ben
6a63b67cde [Keyboard] Redox Wireless configurator bugfix (#4961)
* Fixed wrong build instruction

* Updated info.json file
2019-01-30 11:02:05 -08:00
Max
71164eee6a added aanzee pcb support (#4962)
* added aanzee pcb support

* Update keyboards/westfoxtrot/aanzee/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/iso-default/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/config.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/aanzee.h

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/aanzee/keymaps/iso-default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* refactored keymaps

* fixed typo
2019-01-30 10:51:32 -08:00
Spaceman
d7ebdfb490 Sweet16 Keymap by Spaceman added (#5003)
* Create keymap.c

* Update keymap.c

* Changed a few things

* Update keymap.c

* fixed something i broke
2019-01-30 09:10:31 -08:00
MechMerlin
4c155559d5 [Keyboard] Gray Studio Directory (#5002)
* move cod67 into the gray_studio directory

* modify readmes
2019-01-30 09:09:27 -08:00
Konstantin Đorđević
fb49a882b1 Fix link and name spelling in Space65's readme (#5004) 2019-01-30 09:08:30 -08:00
Logan Bussell
d192fd00cd [Keymap] Updates to ortho_4x12/buswerks keymap (#4996)
* Added buswerks keymap

* cleaned up comments on buswerks keymap

* Added buswerks keymap readme.md

* Fixed spelling in buswerks readme.md

* Removed unnecessary includes, changed process_record_user to now use set_single_persistent_default_layer(), removed deprecated functions, and moved the audio ifdef block to config.h

* Changed buswerks ortho_4x12 layout to accommodate 'MIT' layout

* Updated README.md to reflect layout changes

* update buswerks keymap

* add buswerks tragicforce68 keymap

* add rotary encoder support

* update readme

* fix image link in readme

* fix KC_NO shorthand
2019-01-30 08:56:25 -08:00
MechMerlin
3d338f2555 [Keyboard] Gray Studio Space 65 Support (#5001)
* initial commit

* get rid of vanilla code, and fix formatting

* write up a nice looking readme

* add in pins and enable features

* define keymap and switch/physical matrix

* add QMK Configurator support

* switch to bootmagic lite to decrease file size
2019-01-29 21:23:03 -08:00
Andrew Kannan
7186d1581a Moving cannonkeys boards to one place, eeprom fix (#4999)
* Move boards to cannonkeys and share resources

* Share common files between cannonkey boards

* Fix ortho60 keymap

* update LED numbers

* Add RGB keys to Ortho60 and Ortho48

* Add Backlight control to default layout Ortho60 and 48

* Remove unnecessary ws2812.c SRC from rules.mk
2019-01-29 20:04:20 -08:00
QMK Bot
74fcfd5335 convert to unix line-endings [skip ci] 2019-01-29 23:31:46 +00:00
Geoff Lane
d0a7e96d1e S60x Make Default standard layout and have separate Mac OS one (#4964)
* Make Default standard layout

Move Mac OS layout to a separate layout. Basically Mac has the Alt and GUI keys swapped

* Fix typos

* Use Bootmagic keys instead of separate MacOS keymap
2019-01-29 15:28:37 -08:00
Daniel H Klein
f0e0a67ea5 [Keyboard] Bug Fix To Unigo66 (#4995)
* UniGo66 keyboard added

* UniGo66 keyboard added

* case correction of unigo66 files

* create sirius folder

* Update keyboards/sirius/unigo66/rules.mk

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/default/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* debugging

* correct keymap to layout

* readme

* remove common config

* suggested changes to config.h

* default keymap cleanup

* bug fixes
2019-01-29 09:52:20 -08:00
MechMerlin
efe360464d Contribute the MechMerlin QMK Configurator docs (#4986)
* first pass at configurator docs

* edit existing docs to make reference to QMK Configurator

* contribute my own newb guide to QMK officially from https://github.com/mechmerlin/qmk_setup/blob/master/qmk_configurator.md

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Big red box!

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Big red box

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>
2019-01-28 17:31:33 -08:00
Konstantin Đorđević
c30155343f Remove #define IS_COMMAND line in keyboards/handwired/xealousbrown/config.h 2019-01-28 17:18:26 -08:00
patrickmt
60ae309ced arm_atsam ADC0 factory calibration correction
Factory calibration data was not being loaded properly for ADC0, which affects the accuracy of 5V readings.
2019-01-28 17:16:33 -08:00
Emīls Delle
9e784841c0 [Keyboard] Additional info about TMO50 (#4980)
* Create ISO HHKB keymapping for GH60

* Add media controls to Fn layer

* Use M(x) instead of F(x), add Copyright text

* Add README for additional information about TMO50 features/quirks
2019-01-28 17:10:43 -08:00
noroadsleft
02180c87f2 handwired/space_oddity: refactor, Configurator support and readme cleanup (#4977)
* handwired/space_oddity: refactor

- config.h: updated to use #pragma once include guard
- rules.mk: replace `?=` with `=`
- space_oddity.h:
  - updated to use #pragma once include guard
  - layout macro KEYMAP renamed to LAYOUT
- default keymap:
  - updated to use #include QMK_KEYBOARD_H
  - replace references to Planck keycodes
  - replace fn_actions-powered layer switch keycode
  - rebuild keymap block comments
  - keymap layers now use short-form keycodes
  - refactor action_get_macro keycodes into process_record_user

* handwired/space_oddity: Configurator support

* handwired/space_oddity: readme cleanup

- update readme to better conform with QMK template
- fixed the make command.
2019-01-28 17:09:58 -08:00
Brice Figureau
03d9e3fe79 [Keyboard] E7-V1 keyboard support (#4965)
* Add the e7-v1 keyboard

The e7-v1 is a 75% keyboard made by Exclusive based on an Atmega32u4
pub with RGB lights on top and backlighting.

This PR add supports for the regular ANSI layout and ANSI split
backspace layout. No ISO yet :(

* My e7-v1 keymap

Difference from base layout:
 * split backspace
 * Home & End on last keys of row 0 instead of Insert/Del
 * Fn is on the End key when hold
 * supports both a windows/linux keymap and osx keymap
 * layer change is reflected in the rgb leds of the logo
2019-01-28 17:05:43 -08:00
Rockman18
df251d7a13 Backlight - New option : BACKLIGHT_CAPS_LOCK (#4769)
* [BACKLIGHT_CAPS_LOCK_INDICATOR] Use backlight toggling as Caps Lock LED

I've implemented this feature because S65-X doesn't have LED indicators
and the existing led_set_kb(usb_led) function try to use backlight as
indicator but that creates an inconsistency with backlight_config state.

- define `BACKLIGHT_CAPS_LOCK_INDICATOR` to enable Caps Lock indicator
  using backlight (for keyboards without dedicated LED)

- Don't turn off LED indicators when suspend because backlight is
  already turned off. Else led_set(0) will turn back on backlight.

- Documentation has been updated

* [BACKLIGHT_CAPS_LOCK_INDICATOR] Turn off all LED indicators except Caps Lock if BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Rename BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Use new IS_LED_ON method
2019-01-28 16:57:56 -08:00
Andrew Kannan
0f507f0169 Practice60 RGB and PWM Backlight (#4929)
* Update Practice60 to enable RGB via SPI DMA and use PWM backlight breathing

* Correct stm32f103c8t6 flash size in eeprom definition

* Remove unused files and improve ifdef checks

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* Update quantum/rgblight.c

Co-Authored-By: awkannan <andrew.kannan@klaviyo.com>

* EEPROM implementation fix and updated p60 code

* Update define

* Remove dead code

* Update keymap to remove test key

* Update keymap again
2019-01-28 16:40:02 -08:00
noroadsleft
d9120412d3 Fix layouts for S7 Elephant in info.json (#4989)
The following layouts were being rendered with 6.75u Spacebars instead of 7u:

- LAYOUT_ansi_blocker_7u
- LAYOUT_ansi_blocker_7u_small_lshift
- LAYOUT_ansi_blocker_7u_small_bspc
- LAYOUT_ansi_blocker_7u_small_lshift_small_bspc
- LAYOUT_iso_blocker_7u

This commit corrects this issue.

Flagged by yanfali on QMK Discord.
2019-01-28 15:24:34 -08:00
mtei
12a2572295 Prevent wasteful writing to eeprom. 2019-01-28 14:57:41 -08:00
ai03
5672dc8030 Add Lunar Keyboard (#4976)
* Generate project

* Adjust files

* Get things working

* Update readme

* Add VIA configurator compatibility

* Grammar

* Update keymap

* Split lunar info default and VIA keymaps

* Copyrights

* VIA tuneup

* A few missed copyrights

* Remove unnecessary junk

* Remove unnecessary bits, fix readme
2019-01-28 12:34:42 -08:00
noroadsleft
693e1afa59 BDN9 Configurator support (#4978) 2019-01-28 08:28:47 -08:00
noroadsleft
ad6a7e9cec Alice: refactor and Configurator bugfix (#4979)
- layout macro and keymap layers refactored to more closely resemble physical keyboard layout
- added layout mockup to alice.h
- correct info.json data (was missing a key)
2019-01-28 06:40:13 -08:00
Drashna Jaelre
af04936e1f Add default layout for e6_rgb (#4973) 2019-01-27 21:05:26 -08:00
f00_B34rd
e0e8097162 [Keyboard] Add Southpole keyboard (#4946)
* Added southpole keyboard

added southpole keyboard folder and files including keymaps folder. Keymaps have errors and will not compile yet

* Add files via upload

added manufacturer and product name and description

* Update config.h

* Add files via upload

changed formating added layer

* cleaned up files, fixed foobeard keymap, and added maker info

* fixed keymap files

* Update keyboards/southpole/keymaps/foobeard/keymap.c

Co-Authored-By: ericduns <ericduns@gmail.com>

* Update keyboards/southpole/keymaps/default/keymap.c

Co-Authored-By: ericduns <ericduns@gmail.com>

* made changes fixing outdated lines and added readme.md

* made requested changes for pr to all files

* removed vs code and added new line to southpole.h
2019-01-27 18:05:11 -08:00
VM
5eba88809e [Keymap] some mods to my (omgvee) Helidox keymap (#4972)
* moved some stuff around on my iris layout, but don't expect a lot of changes in the future

* good working setup

* [keymap] some mods to my (omgvee) Helidox keymap
2019-01-27 17:46:06 -08:00
Maxr1998
795f743c04 [Keymap] Support FX keys on Maxr1998's Contra
Using update_tri_layer() and more manual layer switching,
also rename some layers & keycodes
2019-01-27 17:44:54 -08:00
CodingDog
17d3750f13 [Keymap] updated zlant default keymap with diagram (#4954)
* updated zlant keymap with diagram

* made edites to last post

* noticed slight error in default keymap due to my own mistake. fixed to be the same as default

* fixed spacing in second base layer second row from left
2019-01-27 17:35:23 -08:00
VM
0ea336c03d [Keymap] small update to my (omgvee) IRIS keymap (#4969)
* moved some stuff around on my iris layout, but don't expect a lot of changes in the future

* good working setup
2019-01-27 17:34:41 -08:00
Alex Ong
0d76319370 [Keyboard] Added xealousbrown keyboard (#4945)
* Added xealousbrown keyboard.

* Changed to pragma once in config.h

* Update keyboards/handwired/xealousbrown/rules.mk

Added bootloader.

Co-Authored-By: alex-ong <the.onga@gmail.com>

* Update keyboards/handwired/xealousbrown/config.h

Commented out IS_COMMAND() since it is already default value.

Co-Authored-By: alex-ong <the.onga@gmail.com>
2019-01-27 17:05:34 -08:00
yulei
996ada1ba2 [Keyboard] add rgb pcb for e6 keyboard (#4928)
* add e6_rgb

* update according to the reviewer

* fixed readme.md

* rename 60_split_bs_shift to 60_ansi_split_bs_shift
2019-01-27 16:57:50 -08:00
Konstantin Đorđević
6ba0b818e9 [Keymap] Update personal userspace and keymaps (#4963)
* Remove duplicated or unnecessary definitions in config.h and rules.mk

* Use IS_HOST_LED_ON() macro

* Add mouse acceleration to kbd6x:konstantin keymap

* Clear and restore mods when sending macros

* Make SEND_STRING_CLEAN a config option

* Add NO_ACTION_ONESHOT to userspace config
2019-01-27 08:46:54 -08:00
stanrc85
5c1d4baec4 [Keymap] Layout added for stanrc85 (#4944)
* Add files via upload

* Changed _____ to _______ as requested to meet QMK standards.

* Added readme.md

* Removed "PERMISSIVE_HOLD" as it is no longer used.

* Additional code changes made per request

* Added # to first line and removed redundant line.

* Modified Copyright information

* Added space after # for proper formatting

* Formatting changes and additional details
2019-01-27 08:45:30 -08:00
James Churchill
6d2071ad6e Fix 1<col instead of 1<<col typo in matrix_is_on() 2019-01-27 08:37:26 -08:00
Konstantin Đorđević
4d9b11af14 Fix Command feature: use get_mods() instead of keyboard_report->mods (#4955)
* Remove unnecessary IS_COMMAND definition in clueboard/66/rev4

* Replace keyboard_report->mods with get_mods() in IS_COMMAND definitions

* Update docs to use get_mods() instead of keyboard_report->mods

* Replace keyboard_report->mods with get_mods() in tmk_core/protocol/usb_hid/test

For some reason, this occurrence used KB_LSHIFT and KB_RSHIFT, which don't exist

* Replace keyboard_report->mods with get_mods() in Massdrop keyboards (as per @patrickmt)
2019-01-27 00:28:40 -08:00
Max Rumpf
53d86b2c57 [Keymap] Small improvements to Maxr1998's Contra keymap (#4952)
Add backslash, disable Super key in "Gaming" mode
2019-01-27 00:23:58 -08:00
MechMerlin
287f6766b6 [Keymap] Minor updates to my dz60 keymap (#4943) 2019-01-27 00:15:32 -08:00
Daniel H Klein
9ae800fab3 [Keyboard] UniGo66 keyboard added (#4913)
* UniGo66 keyboard added

* UniGo66 keyboard added

* case correction of unigo66 files

* create sirius folder

* Update keyboards/sirius/unigo66/rules.mk

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/default/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h

Co-Authored-By: danielhklein <danielklein@utexas.edu>

* debugging

* correct keymap to layout

* readme

* remove common config

* suggested changes to config.h

* default keymap cleanup
2019-01-27 00:12:05 -08:00
Drashna Jaelre
5d26ebcbaa [Keymap] Move Iris via support to Via keymap (#4893)
* Move Iris via support to Via keymap

And move it out of the main keyboard files

* Actually add via keymap folder

Because using git when you're tired is apparently a very bad idea, and you do stupid things like not running git add

* Clean up config.h file for iris via keymap
2019-01-27 00:09:03 -08:00
Drashna Jaelre
b05c0e46c6 Adds a default value for IS_COMMAND for COMMAND feature (#4301)
* Add default value for IS_COMMAND for COMMAND feature

* Cleanup and consistency

* Update Templates to reflect change

* Fix IS_COMMAND in template

* Fix IS_COMMAND define

* Use consistent IS_COMMAND block in templates

* Remove unnecessary `#undef IS_COMMAND` directives

* Fix compile issue on orthodox

* Reomve IS_COMMAND option for newer boards

* Remove all existing definitions of IS_COMMAND if they use default LSHIFT and RSHIFT setting

* Remove a couple of additional IS_COMMAND defines

* Remove remaining redundant IS_COMMAND definitions

* Remove #undef IS_COMMAND from orthodox:drashna and whitefox:konstantin

* Remove multiple empty lines in modified config.h files

* Update additional boards

* Reomve IS_COMMAND from newer boards

* Update Alice keyboard

* Remove IS_COMMAND from additional boards

Jan 24th edition
2019-01-26 15:49:45 -08:00
alex-ong
7d8c629939 Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk 2019-01-27 07:23:15 +11:00
seebs
478538e0d9 [Keyboard] drop unused i2c files (#4948)
The Ergodox EZ used to use twimaster.c/i2cmaster.h, but now uses
a standard centralized AVR i2c driver. Drop the now-unused files.
2019-01-26 11:17:16 -08:00
Danny
438386401f [Keymap] Add Maxim keymap for Fourier (#4534)
* Add maxim keymap

* Add QMK DFU configuration to Fourier

* Update config.h

* Update keymap.c

* Update config.h
2019-01-26 08:58:02 -08:00
Jack Humbert
8da9d3330e use built-in arm stuff 2019-01-26 11:36:35 -05:00
Chuck Lauer Vose
0772b4932c [Keymap] Add userspace files for vosechu (#4912)
* Add userspace files for vosechu

* Code review corrections

* Few more code review corrections
2019-01-26 07:55:42 -08:00
alex-ong
562c0d702a Fix compile error in debounce_eager_pk 2019-01-27 00:10:14 +11:00
alex-ong
503e02db79 Merge branch 'debounce_refactor' of https://github.com/alex-ong/qmk_firmware into debounce_refactor 2019-01-26 23:21:27 +11:00
alex-ong
10cc423515 Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2. 2019-01-26 23:18:24 +11:00
Alex Ong
d30d5eeb27 Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE 2019-01-26 23:01:07 +11:00
Alex Ong
039dde3a51 Fixed compilation error with debounce_sym_g 2019-01-26 22:57:39 +11:00
Alex Ong
7cb8d3c7a7 Bug fix - was using MATRIX_ROWS instead of num_rows 2019-01-26 22:45:25 +11:00
Alex Ong
b5b119544a Removed #include "matrix.h" from debounce.h 2019-01-26 22:44:33 +11:00
alex-ong
cce8dfab39 Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used. 2019-01-26 20:37:47 +11:00
alex-ong
14ed96aa06 Moved debouncing_time variable to inside #if debounce 2019-01-26 18:26:49 +11:00
alex-ong
5b7fc758d7 Restored debounce.h since there wasnt any real change. 2019-01-26 17:46:27 +11:00
alex-ong
574fc6444b Whitespace cleanup. 2019-01-26 17:38:52 +11:00
alex-ong
4d8733591f Working eager_pk 2019-01-26 17:29:02 +11:00
alex-ong
123608fb31 DO NOT USE Revert back to original API to support split_keyboards. 2019-01-26 17:10:27 +11:00
alex-ong
d0b691df0e DO NOT USE - debounce successfully compiled. 2019-01-26 17:03:46 +11:00
alex-ong
3949ab322d Remove accidental xeal60 commit 2019-01-26 16:59:02 +11:00
alex-ong
39ca330f10 DO NOT USE - Removed debounce from TMK. 2019-01-26 16:56:01 +11:00
Alex Ong
c9ba618654 DO NOT USE Merge branch 'master' into debounce_refactor
Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce.
# Conflicts:
#	quantum/matrix.c
2019-01-26 12:13:19 +11:00
Drashna Jaelre
7aba1fd176 Fix RGBLIGHT_SLEEP function (#4865)
* Only re-enable RGBLIGHT if it was on when going to sleep

* Reformat file to follow QMK Standards

* Fix check, since this is a loop, whoops

Much thanks to @Rockman18 for catching this and posting the additional code!
2019-01-25 17:11:49 -08:00
Drashna Jaelre
569ed9db9d Revert Commit 1d3b9eea94 (#4942)
Was not supposed to merge 4763 yet

This reverts commit 1d3b9eea94.
2019-01-25 17:11:19 -08:00
Alex Ong
d977daa8dc Merge branch 'master' of https://github.com/qmk/qmk_firmware 2019-01-26 11:36:28 +11:00
Drashna Jaelre
0306e487e2 Circular animation (#4796)
* Add ability to animate arm_atsam led matrix from the center of a circle

* Make arm_atsam led matrix circular animation circular rather than obloid

* Fix indentation in tmk_core led_matrix.c
2019-01-25 16:04:21 -08:00
walkerstop
1d3b9eea94 [Keyboard] Support for Wheat Field Peripherals blocked 65% PCB (#4763)
* Basic Fanoe support (no LED yet)

* Enable RGB lights

* Backlighting support

* Change to reflect Wheat Field brand of Fanoe PCB

* Hot swap variant

* Fix review comment issues

* Fix review issues

* Corrected rules.mk

* Change naming to avoid using possibly copyrighted names

* Added info.json

* Corrected manufacturer name in info.json

* Keymap updates

* Add layout for use with ws2812b and such

* Fixes based on code review
2019-01-25 15:57:15 -08:00
mtei
2e8b32b9b5 move #include "rgb.h" from quantum.h to quantum.c
I think `quantum.h` should contain only API declarations that `quantum.c` provides externally. `rgb.h` contains function weak definitions. This should not be in `quantum.h`.
2019-01-25 13:38:12 -08:00
fauxpark
79b58937f4 Add C(), A() and G() to match already existing S() (#4673) 2019-01-25 13:12:48 -08:00
Konstantin Đorđević
2f009d7461 Add MOD_MASK_* macros to core code (#4337)
* Add MOD_MASK_* macros to core code

* MOD_MASK_ALL → MOD_MASK_CSAG
2019-01-25 13:02:38 -08:00
Olivier Poitrey
e611433cb5 rs: code friendly keymap for preonic, iris and my preonic clone (#4303)
I worked on those keymap to simplify the use of 60% keyboards for
coders. Instead of trying to mimic planck, this keymap remove
raise/lower layer complexity and keep some important sign keys for coder
in the upper right side pretty much the same way as they are on a full
keyboard.

A karabiner configuration is also provided to mimic most of the keymap
features on the macbook internal keyboard for when you are forced to use
it.
2019-01-25 12:57:10 -08:00
Drashna Jaelre
3542e573c8 Fix process_combo which assign -1 to uint16_t (#3697) 2019-01-25 12:11:38 -08:00
Shihpin Tseng
b416113616 Fix oneshot_time wrong type (#3696)
* Fix oneshot_time wrong type

* Fix oneshot_time_layer wrong type
2019-01-25 12:09:53 -08:00
MakotoKurauchi
3c0c432836 Fix problem that MAGIC_SWAP_ALT_GUI will not be effective when OSM(mod) is used 2019-01-25 12:05:17 -08:00
Dave Brown
b4ae07cbb1 Adding documentation for the LM layer modifier. (#3617)
* Adding documentation for the LM layer modifier.

This will hopefully clear up some of the confusion around adding this layer modifier.  I struggled with this a bit as well at first.

* Removing duplicate table.

* Changed section title to `Changing Layers`

* Retain name
2019-01-25 12:00:04 -08:00
lambda_sakura
8e47f64888 Add support for RETRO_TAPPING to LT(layer, kc) 2019-01-25 11:27:14 -08:00
zunger-humu
0ba9620d65 [Keymap] New kbd67/hotswap keymap for writing both code and math (#4933)
* Custom keymap.

* Fix magic layer, enable Unicode.

* Update README.

* Make Unicode config change keymap-local.

* Move magic to AltGr, simplifying layout.

* Changes per Drashna.

* Fix magic+esc = backtick!

* Change reset implementation per Drashna's suggestion.

* Add a few more symbols so long as the commit is open - √ℜℂℤ⊙ℚℕ and the like.

* Typo fix.

* Slight simplification, drop an extra variable.
2019-01-25 09:46:49 -08:00
skullY
4d8eefc694 Add support for Clueboard 66% rev4 2019-01-24 16:54:01 -08:00
Balz Guenat
5dcb1114d7 Fix a typo in link to the Pro Micro ISP firmware 2019-01-24 16:13:18 -08:00
zvecr
af3956d8ba [Keyboard] Remove hadron ver0 as it is no longer required (#4921) 2019-01-24 11:12:50 -08:00
fauxpark
b5feae07c2 Remove unused fn_actions[] and action_function() in default keymaps (#4829) 2019-01-24 07:38:44 -08:00
MechMerlin
5d1ea88bf7 [Keyboard] KBD67: enable bootmagic lite by default (#4931)
* enable bootmagic lite by default

* add a second layer with a reset key
2019-01-23 21:06:55 -08:00
shovelpaw
ba70ab1748 [Keymap] Adding keymap for Nyquist (#4918)
* Added busby222 config

* Fixed bug with leftover colemak and dvorak layouts

* Fixing dumb mistake

* Minor tweaks to layout. Need to use at work tomorrow to make more adjustments

* Added mouse controls for raised layer

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update config.h

Added mouse specific settings for smoother mouse movement (default is sort of hard to use)

* config.h cleanup

* Lowering max mouse speed (personal preference)

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update config.h

* Update rules.mk

* Added MIDI layer

* Switched the Adjust layer to an MO call

* Update keymap.c

* Fixing bugs related to midi layer

* Changed "Caps Lock" ctrl to RCTRL for use in VirtualBox

* Added shovelpaw keyamp

* Removed deprecated QUANTUM_DIR code block

* Switched midi layer to be only active when held

* Addressing requested changes

* Removed unnecessary include statement
2019-01-23 21:05:21 -08:00
MechMerlin
465559e166 Optimize/Update the new_project script (#4920)
* use pragma once in our templates

* template.h is present in both avr/ps2avrgb options so we moved it to base. In addition we now use pragma once
2019-01-23 21:04:04 -08:00
zvecr
cf596a0371 Remove lfkeyboards parent rules.mk as its only required for mini1800 2019-01-23 18:28:56 -08:00
Danny
87ab49e403 [Keyboard] Add BDN9 (#4919) 2019-01-23 17:58:04 -08:00
MechMerlin
fafb33d9dd [Keyboard] Add KBD67 Hotswap Support (#4916)
* initial commit

* move the original kbd67 stuff into its own directory, rev1

* get rid of vanilla cookie cutter code

* put in the switch matrix pins, backlight pin, and rgb underglow pin. Number of underglow LEDs is questionable.

* switch matrix created for hotswap

* create a basic keymap for testing

* make info.json for QMK Configurator support

* rename kbd67 due to compile error

* kbd67 generic readme file

* fix make instructions for the new rev1

* comment out unneeded rgb light #defines

* Update keyboards/kbd67/readme.md

Add an extra space for proper markdown rendering

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update keyboards/kbd67/hotswap/hotswap.h

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update keyboards/kbd67/hotswap/keymaps/default/keymap.c

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* use pragma once

* proper format of MechMerlin
2019-01-23 17:37:24 -08:00
skullY
f940b6c5fa Fixup the clueboard 66 info.json 2019-01-23 17:19:41 -08:00
skullydazed
d1f735b6d2 Clueboard refresh (#4902)
* Cluecard: refactor

- renamed layout macro KEYMAP to LAYOUT
- reformatted layout macro to more closely resemble physical device layout
- keymaps now use #include QMK_KEYBOARD_H
- config.h files updated to use #pragma once method
- deleted outdated QUANTUM_DIR code blocks from rules.mk files
- white space changes on rules.mk files (alignment/readability)

* Cluecard: Configurator support

* Cluecard: readme update

- added image
- updated Docs links

* Clueboard 66% HotSwap: corrected matrix and Configurator data

- removed k31 and k84 from LAYOUT
  - both appear to be unsupported for this PCB according to images on clueboard.co
  - updated block comment mock-ups to match changes
- rebuilt info.json file
- delete removed keys from default keymap.c

* Clueboard 66% HotSwap: readme update

- fix make example
- updated Docs links

* Clueboard 66% HotSwap: 66_ansi keymap update

Updated to use #include QMK_KEYBOARD_H

* Clueboard 60% refactor

- renamed layout macro KEYMAP to LAYOUT_all
- renamed layout macro KEYMAP_AEK to LAYOUT_aek
- removed redundant KC_TRNS definitions from keymaps
- all keymaps now use #include QMK_KEYBOARD_H

* Clueboard 17%: refactor

* Clueboard 17%: Configurator support

* Clueboard 17%: update Docs links in readme

* Cleanup the 2x1800 files

* Update Clueboard 60% to standard matrix

* Update the clueboard default keymaps

* Refresh and update clueboard 17

* Add the 66% hotswap to Clueboard's readme

* Clarify the 66% hotswap's readme

* change the image to imgur

* Update the clueboard 66 to follow modern standards

* update clueboard 66_hotswap to follow modern practices

* Move the logo to imgur

* update clueboard/card to follow modern practices

* remove clueboard/66 as a valid make target

* Address comments in #4902

* fix user keymaps after the changes
2019-01-23 09:25:32 -08:00
noroadsleft
9667c10477 Give the keymap folder the proper name
It was named default_60_iso for some reason. *shrug*
2019-01-22 22:59:48 -08:00
noroadsleft
2dd031d4f0 Fix layouts/default/66_iso keymap
Keymap had a comma after the last keycode.

Aligned for readability.
2019-01-22 22:59:48 -08:00
Nikolaus Wittenstein
6b1009b7a8 [Keyboard] Add DataHand keyboard support (#4847) 2019-01-22 15:17:41 -08:00
Rys Sommefeldt
2a33d2c424 [Keymap] Add a compile-time provided macro and assign to _FL (#4908)
* Update make command with correct variant

* Add a custom keycode for a compile-time defined macro and add to _FL
2019-01-22 12:39:53 -08:00
Felipe Coury
5be7d09b36 Added info.json for TGR Alice 2019-01-22 12:36:51 -08:00
fauxpark
ae79b60e6b Always read two bytes from the endpoint if we have two bytes to read
When this if statement is false, it will cause the report ID to be read as the LED state.
We already know there are two bytes in the endpoint, which is a reasonably good indicator that it contains a report ID, so we should always read both.
2019-01-22 09:30:01 -08:00
James Churchill
8cf7265f8f Rename i2c_slave functions so it can coexist with i2c_master (#4875)
Also merges tx/rx buffers, as only one is necessary.
2019-01-22 08:57:13 -08:00
Rys Sommefeldt
127ec5f1e3 Fix for ISO layout in tada68:rys (#4906) 2019-01-21 14:52:39 -08:00
Felipe Coury
2cc674c24d [Keyboard] Added TGR Alice keyboard support (#4896)
* Added TGR Alice keyboard support

This keyboard uses ps2avrGB firmware, so I used the same matrix
Bootmapper Client was using and was able to flash it appropriately.

* Refactor alice to use QMK core

* Fixed markdown line breaks on TGR Alice readme
2019-01-21 11:44:41 -08:00
noroadsleft
4822ad6be1 handwired/retro_refit: refactor, Configurator support and readme update (#4899)
* handwired/retro_refit: refactor

- retro_refit.h
  - updated to use #pragma once include guard
  - refactored layout macro to not auto-prepend KC_ to keycodes
  - renamed to LAYOUT (from KEYMAP)
  - aligned for readability
- default keymap.c
  - now uses #include QMK_KEYBOARD_H
  - removed unused fn_actions and action_get_macro blocks

* handwired/retro_refit: Configurator support

* handwired/retro_refit: readme update

Updated readme to format of current QMK template.
2019-01-21 11:22:21 -08:00
zvecr
37b042a594 Initial fixes for vagrant (#4900) 2019-01-21 10:24:43 -08:00
Konstantin Đorđević
0f8431a57f Tidy up IS_{,HOST_}LED_{ON,OFF} macros (#4894)
* Tidy up IS_{,HOST_}LED_{ON,OFF} macros

* Tweak LED control docs
2019-01-20 20:16:36 -08:00
Emīls Delle
58993d3cde [Keyboard] Tmo50 initial commit (#4891)
* Create ISO HHKB keymapping for GH60

* Add media controls to Fn layer

* Use M(x) instead of F(x), add Copyright text

* Create initial firmware for TMO50

* Correct year and author

* Fix repos README

* Remove unnecessary code

* Change include guard in tmo50.h
2019-01-20 20:15:46 -08:00
MechMerlin
b0d308eea1 Update Templates (stop living in the past, its 2019) (#4897) 2019-01-20 18:41:57 -08:00
noroadsleft
17fbfcb898 Plain60 Configurator support and cleanup (#4888)
* Plain60: remove redundant include guard from plain60.h

Superseded by #pragma once.

* Plain60: add Docs links to readme file

* Plain60: Configurator support
2019-01-20 18:19:10 -08:00
Jason Thigpen
a0d5e270eb Add crd's do60 (#4889) 2019-01-20 11:01:44 -08:00
Wilba
6393135afa Added VIA Configurator support to Snagpad (#4890) 2019-01-20 11:01:12 -08:00
Daniel Schäfer
8df044b868 schaeferdev layout for hhkb implementing movement layer (VIM style + Mouse) (#4883)
* new hhkb keymap implementing movement layer + comfort features

* Apply suggestions from code review

Co-Authored-By: schaefer-dev <schaefer.dev@gmail.com>

* removed deprecated function action_get_macro and mousewheel configs that are no longer used
2019-01-19 17:34:29 -08:00
noroadsleft
c6fd44cf26 handwired/reddot refactor, Configurator support and readme update (#4886)
* handwired/reddot: refactor

- reddot.h
  - updated to use #pragma once include guard
  - renamed layout macro KEYMAP to LAYOUT
  - refactored arguments to more closely resemble physical layout
  - aligned for readability
- keymaps/default/keymap.c
  - now uses #include QMK_KEYBOARD_H
  - updated include path for keymap_french.h
  - refactored to use short keycodes
  - aligned for readability

* handwired/reddot: Configurator support

* handwired/reddot: readme update

- update readme to current QMK template
- add KLE permalink to my best guess at the layout
2019-01-19 16:53:41 -08:00
Maarten Dekkers
09ee7da6de Add Plain60 support (#4887)
* Add Plain60 support

* Delete info.json

* Remove definition of KC_TRNS in keymap

* Add spaces for proper markdown to readme.md
2019-01-19 14:29:15 -08:00
Stefan Peterson
9d2b10d077 [Keyboard] Enable RGB Underglow for Idobo Boards (#4885)
* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update rules.mk
2019-01-19 11:30:11 -08:00
MechMerlin
215375f37c [Keyboard] DC60 layout_all not really layout_all (#4884)
* add k3c and change layout to LAYOUT_all

* fix up info.json for the new layout

* forgot to add k3c into the physical layout matrix

* fix keymaps
2019-01-19 10:54:25 -08:00
TerryMathews
59c846975d [Keyboard] TKC Candybar: Correct info.json (#4882)
Inadvertently left a key position out of info.json, keeping it from
rendering properly.
2019-01-19 09:04:46 -08:00
TerryMathews
ebec12fbe8 [Keyboard] Initial support for TKC Candybar (#4881)
* Initial support for TKC Candybar

* Correct FN layer issue

Both shift keys were overloaded. Moved Caps Lock to FN + C.

* Update keyboard description in config.h.

* Info.json

* Update project information

* Update keyboards/candybar/readme.md

Co-Authored-By: TerryMathews <terry@terrymathews.net>
2019-01-18 22:19:14 -08:00
noroadsleft
c4680a6460 handwired/qc60: refactor, Configurator update, and readme update (#4878)
* handwired/qc60: refactor and Configurator update

- correct layout macro name (LAYOUT_ANSI_DEFAULT to LAYOUT_ansi_default)
- add layout data for remaining layout macros
- correct ISO layout macros (neither had a split left Shift)
- refactor LAYOUT_iso_alt (place KC_NUHS key on home row; consistent with LAYOUT_iso_default)
- proto.h refactored to use #pragma once include guard

* handwired/qc60: keymap refactor

- delete redundant KC_TRNS and KC_NO aliases

* handwired/qc60: readme update

- update header (made consistent with QMK template)
- update Docs links (Newbs Guide; grammar)
2019-01-18 21:43:24 -08:00
noroadsleft
76afdd097a [Keyboard] handwired/ortho60 Configurator update, readme update, and rules tidy (#4877)
* handwired/ortho60: Configurator update

- correct labels for Up and Right keys
- add layout data for LAYOUT_1x2uC

* handwired/ortho60: readme update

- update readme file to use QMK template

* handwired/ortho60: deleted DEFAULT_FOLDER rule

Not needed as the keyboard currently has no revisions.
2019-01-18 10:46:16 -08:00
Drashna Jaelre
52f1206712 Fix Encoder documentation (#4861) 2019-01-18 07:33:43 -08:00
noroadsleft
12406c646f TKC1800 refactor and Configurator visual fixes (#4870)
* TKC1800: refactor

- tkc1800.h
  - updated to use #pragma once
  - visual alignment
- update config.h files to use #pragma once
- update all keymaps to use #include QMK_KEYBOARD_H
- delete redundant mod mask, KC_TRNS, and KC_NO definitions
- reformat keymap layers for readability
- add block comment for Function layer in default keymap
- delete commented action_get_macro code blocks (deprecated function)
- update files to better conform with QMK coding conventions
- update smt keymap to use set_single_persistent_default_layer (instead of persistent_default_layer_set)
- replace instances of `?=` with `=` in rules.mk

* TKC1800: Configurator visual fixes

- correct key sizes and positioning
- reformat file so each physical key object has its own line for readability
- update and add `label` keys for readability

* TKC1800: readme update

- fix image gallery link
- update Hardware Supported and Hardware Availability lines
- update make example (add :default suffix)
- update QMK Docs links (Newbs Guide; grammar)

* Add missing semicolons to smt keymap
2019-01-18 07:32:21 -08:00
Takeshi ISHII
e2f7c3d5a5 Fixed the build break of helix/rev1:OLED_sample caused by PR #4462. (#4874) 2019-01-18 07:31:35 -08:00
Kenny Hung
fa583e9c60 Add cursor keys to top layer (#4876) 2019-01-18 07:30:41 -08:00
WillyPillow
81c1bad7c0 [Keyboard] Fix bootloader size for v60_type_r (#4873) 2019-01-17 22:46:11 -08:00
Junya Ogura
1d0bc5b7ba Flip definitions of macOS brightness alias
Before:
KC_BRMU - Brightness Down
KC_BRMD - Brightness Up

After:
KC_BRMU - Brightness Up
KC_BRMD - Brightness Down
2019-01-17 22:24:20 -08:00
noroadsleft
3c26f07f5a Grammatical fixes for GPIO Control doc (#4869)
* Grammatical fixes for GPIO Control doc

I found the Advanced Settings section to be poorly written.

* Commit suggestions from fauxpark

* Change first instance of "microcontroller" to match suggestion
2019-01-17 22:13:09 -08:00
noroadsleft
0ebec1e411 handwired/ortho5x13: layout macro refactor
Discovered the LAYOUT_compact macro didn't compile in QMK Configurator. Realized the reason for that was that it automatically prepends `KC_` to every keycode received.

Renamed the macro to LAYOUT_kc so Configurator will ignore it.

Also changed the file to use the #pragma once include guard because I was in here anyway.
2019-01-17 22:10:54 -08:00
fauxpark
ba05f9667b Add new brightness aliases to keycodes_basic.md 2019-01-17 18:35:45 -08:00
MechMerlin
ade6f8e71a [Keyboard] update VENDOR_ID, PRODUCT_ID, and DEVICE_VER for Duck boards (#4612)
* change VENDOR_ID, PRODUCT_ID, and DEVICE_VER as step one in getting VIA support

* fix v1 product id

* VIA doesn't use the version, so we need to encode it into PRODUCT_ID
2019-01-17 18:19:09 -08:00
Jordi Pakey-Rodriguez
db8d68acdc Add Planck rev1 and rev2, clean up rev3-5 config.h 2019-01-17 18:16:33 -08:00
Mislav Čakarić
cd819a7f7e Allows Terminal to use ModTap/LayerTap keys (#4586)
* fixes #4583

* #4583 - terminal also handles layer tap now
2019-01-17 17:51:04 -08:00
DidierLoiseau
94ba2e5a9f Defined IS_(HOST_)LED_ON/OFF() and improved LED documentation (#4853)
* Defined IS_(HOST_)LED_ON/OFF() and improved LED documentation

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>

* Integrated @drashna and @fauxpark's PR comments

- changed all plurals of "LED" to "LEDs" in the file
- rewording of the note about host_keyboard_leds() vs. led_set_user()

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>
2019-01-17 17:28:33 -08:00
Jeremy Bernhardt
77399bfe51 MacOS Brightness Alias (#4836)
* Added aliases for OSX brightness

* Updated docs for alises

* Moved aliases, added docs to Brightness section

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keycode.h

* Update keycode.h

* Update keycodes.md

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-17 17:23:01 -08:00
Valen Cheung
d53432393b [Keymap] added custom led effect keymap.c (#4856) 2019-01-17 16:57:31 -08:00
James Churchill
28929ad017 Simplify split_common Code significantly (#4772)
* Eliminate separate slave loop

Both master and slave run the standard keyboard_task main loop now.

* Refactor i2c/serial specific code

Simplify some of the preprocessor mess by using common function names.

* Fix missing #endif

* Move direct pin mapping support from miniaxe to split_common

For boards with more pins than sense--sorry, switches.

* Reordering and reformatting only

* Don't run matrix_scan_quantum on slave side

* Clean up the offset/slaveOffset calculations

* Cut undebounced matrix size in half

* Refactor debouncing

* Minor fixups

* Split split_common transport and debounce code into their own files

Can now be replaced with custom versions per keyboard using
CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes

* Refactor debounce for non-split keyboards too

* Update handwired/xealous to build using new split_common

* Fix debounce breaking basic test

* Dodgy method to allow a split kb to only include one of i2c/serial

SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only
that driver code in the binary.

SPLIT_TRANSPORT = custom (or anything else) will include neither, the
keyboard must supply it's own code

if SPLIT_TRANSPORT is not defined then the original behaviour (include
both avr i2c and serial code) is maintained.

This could be better but it would require explicitly updating all the
existing split keyboards.

* Enable LTO to get lets_split/sockets under the line

* Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE

* Remove avr-specific sei() from split matrix_setup

Not needed now that slave doesn't have a separate main loop.
Both sides (on avr) call sei() in lufa's main() after exiting
keyboard_setup().

* Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT.

* Add comments and fix formatting.
2019-01-17 10:08:14 -08:00
Drashna Jaelre
5fcca9a226 Add documentation and fix formating (#4860) 2019-01-17 09:04:35 -08:00
bendk
f97894d8db [Keymap] Adding bdk keymap for ergobox_ez (#4850)
* Adding bdk keymap

* Updating keymap after review from drashna
2019-01-16 23:16:18 -08:00
noroadsleft
e48cb34de6 40percent.club Luddite: Configurator update (#4859)
- corrected value for keyboard_name
- reformatted file
2019-01-16 12:15:21 -08:00
Nikolaus Wittenstein
2fd86f4252 Add some function comments in action_layer.c (#4858) 2019-01-16 10:57:48 -08:00
noroadsleft
6630e4bb41 Crawlpad refactor (#4854)
* Crawlpad: delete kbfirmware JSON file

* Crawlpad: refactor

- config.h and crawlpad.h updated to use #pragma once method
- layout macro renamed from KEYMAP to LAYOUT_ortho_4x4
- default keymap now uses #include QMK_KEYBOARD_H
- deleted deprecated action_get_macro function
- cleanup rules.mk file
- add LAYOUTS = ortho_4x4 to rules.mk

* Crawlpad: Configurator support

* Crawlpad: readme update

- update image link to direct link
- fully update Docs link line
- delete reference to deleted kbfirmware JSON file
2019-01-16 09:08:12 -08:00
Branden Byers
57fbf072f1 [Keyboard] Add cKeys Handwire 101 Keyboard (#4848)
* Update general README

* Add handwire_101

* Update keyboards/ckeys/handwire_101/keymaps/default/keymap.c

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Use Pragma once

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/config.h

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/config.h

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/handwire_101.h

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/handwire_101.h

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/keymaps/default/keymap.c

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/keymaps/default/keymap.c

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/keymaps/default/keymap.c

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Update keyboards/ckeys/handwire_101/keymaps/default/keymap.c

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Change KEYMAP to LAYOUT and remove endif

* Apply suggestions from code review

Co-Authored-By: brandenbyers <branden@brandenbyers.com>

* Move layers to enum and remove KC_TRNS
2019-01-15 14:06:35 -08:00
Danny
c768ffeb33 [Keyboard] Iris via support, Rev 3 updates (#4849)
* Add encoder support

* Add VIA support to Iris Rev. 3

* Update pinout and disable mouse keys to free up space

* Rollout VIA support to all Iris revisions

* Update default keymap

* Update vendor ID
2019-01-15 14:04:56 -08:00
Tomek Wójcik
2dcce4c351 [Keyboard] Add bthlabs/geekpad (#4840)
* Hello, GeekPad!

* Fixed formatting in `README.md`.
2019-01-15 07:49:34 -08:00
Aaron Wood
bc63da4fbf [Keymap] Added resfury keymap (#4827)
Colemak base with Qwerty/Dvorak support
2019-01-15 07:45:49 -08:00
Jeremy Bernhardt
5287b94e6f Pointed LM Docs at expected keycodes (#4835)
* Pointed LM Docs at expected keycodes

* Update docs/feature_advanced_keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-14 09:10:57 -08:00
Konstantin Đorđević
9105bf2434 Add personal userspace, update keymaps (#4845)
* Add kbd6x:konstantin keymap

* Prevent tap dance from sending LShift as a weak mod in KBD6X

* Move config.h and rules.mk definitions into userspace

* Add UC_WIN to UNICODE_SELECTED_MODES

* Temporarily use Bootmagic until Command is fixed

* Move common behavior from keyboards into userspace

* Update kbd6x:konstantin keymap and userspace

* Make a RCTRL layer in kbd6x:konstantin

* Make KC_ESC turn off layers

* KC_ESC turns L_FN off only if it was locked on

* Add missing record->event.pressed checks

* Move numpad toggling logic into function

* Disable Bootmagic, enable KEYBOARD_SHARED_EP with Command
2019-01-14 09:09:47 -08:00
Erovia
ee96b7a89d [Keyboard] Add support for THE50 (#4844)
* Add support for THE50

A 50% custom keyboard designed and produced by LazyDesigners

* THE50 code-improvement

Implement the changes suggested by noroadsleft.
2019-01-14 00:49:00 -08:00
mtei
929065b1a9 Change handling of CUSTOM_MATRIX in common_features.mk slightly. 2019-01-13 11:04:40 -08:00
Jeremy Bernhardt
c8cbee5d71 Modified URLs to point to new locations 2019-01-13 09:11:18 -08:00
Christoffer Holmberg
9bd4b932d0 [Keymap] Nyquist layout adapted from eorgodox_ez:skug (#4830)
* Nyquist layout adapted from my eorgodox layout

* Some layout tuning & cleanup

* Removed deprecated defines

* Added pgup + pgdown
2019-01-13 09:02:57 -08:00
Mazin Power
a9982e3b6b [Keymap] Adds keymaps for muzfuz DZ60, Planck, Clueboard66 (#4825)
* Adds keymaps for muzfuz

* Remove unused keys from adjust layer

* Bring in line with current QMK standards.
2019-01-13 09:01:20 -08:00
Jeremy Bernhardt
246c3e4ef4 Changed rest note (#4837)
* Changed rest term

* Update quantum/audio/musical_notes.h

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-13 08:50:23 -08:00
tw1t611
caf0c8e164 [Keymap] Add tw1t611 german keyboard layout for minidox. (#4679)
Apply core functions.

Change layout.
2019-01-12 21:40:12 -08:00
Jason Pepas
9ef46494b2 [Keyboard] hexon38 and Dual-role key implementation (#4709)
* initial dual-role key implementation for hexon38

* PR feedback, adding README

* Moving to handwired subdir

* Additional PR feedback
2019-01-12 21:30:19 -08:00
VM
baaa138e90 [Keymap] my keymap for the crkbd and update my iris keymap readme (#4788)
* adding my keymap primarily to iris

* adding my crkbd keymap and update my iris keymap readme with an extra pic

* incorporting @drashna's suggestions
2019-01-12 21:09:04 -08:00
SpacebarRacecar
4cde82ef57 [Keymap] Update to personal keymaps and userspace (#4831)
* changed ortho keymaps and userspace

* changed prime_o keymap

* changed userspace

* optimized keymaps and userspace

* removed permissive hold as it doesn't seem to do anything

* defined TAPPING_TERM in userspace config.h
2019-01-12 09:32:50 -08:00
noroadsleft
87b277c21a [Keyboard] Fix layout macro name for Gergo info.json (#4828)
Layout macro name in info.json was named LAYOUT instead of LAYOUT_GERGO as it is in gergo.h.
2019-01-12 00:06:41 -08:00
fauxpark
3ea7c2a434 Remove empty action_function() 2019-01-11 18:32:43 -08:00
fauxpark
67adc29aa3 Remove empty fn_actions[] 2019-01-11 18:32:43 -08:00
Jeremy Bernhardt
d8eace35eb [Keyboard] Adding support for Gergo (#4792)
* Commited into clean repo

* Gergo initial release

* Cleaning up

* Cleaning up

* Update readme.md

* Updated image, fixed MD formatting, added clairity

* Moved keymap to keyboard subdir, modified rules.mk

* Cleaned header guards

* Cleaned header guards. Read the rest of the PR comments

* Update keyboards/gergo/keymaps/default/keymap.c

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keyboards/gergo/readme.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Moved makefiles to keymap mod-area-thingy-with-overrides

* Update rules.mk

Slow the roll on the defaults while I wait for merge

* Update rules.mk

* Cleaning cleaning cleaning

* More housekeeping. Keeping optdefs

* moved keyboard specfic conf to config.h. Can we merge yet?

* added info.json
2019-01-11 17:44:06 -08:00
Leszek111
52ccd8d89f [Keymap] Adds layout for Ergodox, colemak_code_friendly (#4819)
* Adds layout for Ergodox, colemak_code_friendly

* code cleanup

* code cleanup

* code cleanup
2019-01-11 17:39:24 -08:00
Spaceman
cad0e3b90c [Keymap] added new planck keymap /sebas (#4821)
* Create readme.md

* Add files via upload

* Add files via upload

* Update readme.md

* Add files via upload

* Update keymap.c

* Delete temp.c

* updated per request

removed 41-69 and changed keymap to layout

* Update keymap.c

* Added Guide

* Update keymap.c

* Update readme.md

* Create readme.md

* Add files via upload

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c
2019-01-11 17:30:54 -08:00
gorbachev
81ad6cac7e [Keymap] Sweet16 as a switch tester (#4822)
* Sweet16 as a switch tester

* pragma once

* QMK_KEYBOARD_H instead of sweet16.h
2019-01-11 17:27:15 -08:00
James Churchill
9c136e1168 Improved fix for __always_inline redefinition bug
Instead of changing based on the version of GCC, check for the presence of the macro instead.
2019-01-11 17:25:57 -08:00
fauxpark
2c4109394f Fix Caps Lock LEDs once and for all (#4824)
* Check the size of the SET_REPORT packet

If we have two bytes, that probably means the first is a report ID. The 6KRO interface may or may not have one, but the NKRO interface always does, so we need to check this regardless of whether KEYBOARD_SHARED_EP is defined.

* Fix indentation
2019-01-11 17:22:05 -08:00
MechMerlin
d9c5e5870e [Keyboard] Turn on KBD67 Lighting by default (#4826)
* remove broken link

* enable lighting for QMK Configurator folk
2019-01-11 17:11:48 -08:00
MechMerlin
07c6c4acb9 [Keymap] Alps64 Keymap + Readme Updates (#4807)
* update readme to adhere to modern QMK standards

* add in my keymap as I keep losing the darn hex file

* no need for KC_FNX

* update readme
2019-01-10 11:35:58 -08:00
orbitingorca
3ac6989cc1 Documentation clarification (#3611)
* Documentation fix

* Further clarification
2019-01-10 08:30:30 -08:00
Guilherme Lima
aad4319b40 docs: Add Manjaro/Arch dependencies on getting started page (#2701)
* Update getting_started_build_tools.md

* Update getting_started_build_tools.md
2019-01-10 08:28:52 -08:00
Jack Humbert
d28684da90 Adds support for JacoBurge's TouchPad (#4186)
* add touchpad

* progress

* working with leds and vibrations

* adds readme

* Update keyboards/touchpad/readme.md

Co-Authored-By: jackhumbert <jack.humb@gmail.com>

* updates
2019-01-10 08:26:40 -08:00
Jack Humbert
3cf179be61 Adds Proton C Conversion (#4661)
* adds proton c base

* fixes custom matrix include

* adds readme.md

* initial proton coversion, no pin mapping

* start of mcu selection

* add pin mapping and sweet16 test

* add at90 to list

* disable backlight, fix d7

* update flag names

* doc updates

* proton c update for mcu selection
2019-01-10 08:22:57 -08:00
reasonsandreasons
ebbc372f72 Added my Prime_O Layout (#4811)
* initial prime_o commit

* Cleaned up comments, other things.

* Update bakingpy 4x12 keymap and add test mode for debugging/development (#4810)

* Keymap: ave-63's iris layout (#4812)

* Updated keymap to use standard seven-underscore KC_TRNS notation

* initial prime_o commit

* Cleaned up comments, other things.

* Updated keymap to use standard seven-underscore KC_TRNS notation
2019-01-10 08:21:21 -08:00
ave-63
9c2d776123 Keymap: ave-63's iris layout (#4812) 2019-01-09 14:16:36 -08:00
Danny
808ff7275e Update bakingpy 4x12 keymap and add test mode for debugging/development (#4810) 2019-01-09 12:23:41 -08:00
Eduardo Lourenço Pinto Neto
722cee3362 Fix Mac mute keycode (#4809) 2019-01-09 09:23:09 -08:00
Eduardo Lourenço Pinto Neto
dc6b6c29ba Add KBD75 keymap (#4808)
* Add KBD75 keymap

* Fix README

* Fix README images
2019-01-09 07:52:11 -08:00
Danny Nguyen
84c2418817 Fix pinout of split hand and LED, remove flip half option 2019-01-08 17:02:51 -08:00
fauxpark
3bd30085d8 Tidy up Mod-Tap shortcuts (#4806) 2019-01-08 16:22:09 -08:00
Konstantin Đorđević
64c957d907 Add missing parentheses to some important macros (#4775)
* Add missing parentheses to quantum_keycodes macros

* Add missing parentheses to progmem macros
2019-01-08 15:08:17 -08:00
noroadsleft
9eb7b7919f Keyboard: Downbubble refactor and Configurator fix (#4798)
* Downbubble: Configurator fix

Fix the visual key alignment and some typos.

* Downbubble: refactor

Rename layout macros:

- LAYOUT_downbubble_standard to LAYOUT_standard
- LAYOUT_downbubble_splitbackspace to LAYOUT_split_bs
- LAYOUT_downbubble_splitrightshift to LAYOUT_split_rshift
- LAYOUT_downbubble_splitnumpad to LAYOUT_split_numpad
- LAYOUT_downbubble_spliteverything to LAYOUT_all
2019-01-07 23:16:50 -08:00
Vasken Dermardiros
103d904fab Alternate keymap for Alpha keyboard, enjoy! (#4797)
* Create README.md

* Add files via upload

* Update README.md
2019-01-07 13:06:34 -08:00
Elvis Pfützenreuter
c5707708ed Keymap: Added Model F-inspired layout for YMD[K]96 (#4777) 2019-01-07 13:00:15 -08:00
Konstantin Đorđević
cd9262d7b2 Improve consistency in UNICODEMAP code and docs, update docs/understanding_qmk (#4774)
* Remove unused UNICODE(n) macro, update docs

* Add note about max length of unicode_map to docs

* QK_UNICODE_MAP → QK_UNICODEMAP

* Refactor process_unicode_map

* process_unicode_map → process_unicodemap

This is done for consistency: UNICODEMAP is the method (hence UNICODEMAP_ENABLE, process_unicodemap), whereas unicode_map is the mapping table itself.

* Update references and ordering in docs/understanding_qmk

* Add additional note to docs/understanding_qmk

* &unicode_map[index] → unicode_map + index

This avoids the issue of the compiler sometimes complaining about the array index being out of range

* Update docs/getting_started_make_guide

* Update method sections in docs/feature_unicode
2019-01-07 12:56:57 -08:00
patrickmt
6e984a8b5e Update to arm_atsam wait and timer routines
Microsecond (us) delays are now handled by a busy wait loop according to MCU frequency. This replaces the system counter method which had an overhead of around 12us.
TC5 device and supporting routines removed as it was the old us delay counter.
wait_ms is now properly a macro to CLK_delay_ms.
wait_us is now properly a macro to CLK_delay_us.
Removed CLK_get_us as it has no use.
All calls to CLK_get_ms() have been replaced by timer_read64() with corrected typing.
All calls to CLK_delay_ms() have been replaced by wait_ms().
All calls to CLK_delay_us() have been replaced by wait_us() and timings verified or updated as needed after review on scope.
Corrected typing of variables using 64bit ms timer readings if needed.
2019-01-07 12:44:55 -08:00
Ian O'Dea
6ca52c9d57 Fix indentation in tmk_core led_matrix.c 2019-01-07 10:22:47 -06:00
Ian O'Dea
9f3afae5d1 Make arm_atsam led matrix circular animation circular rather than obloid 2019-01-07 10:20:15 -06:00
Ian O'Dea
d55dc9b816 Add ability to animate arm_atsam led matrix from the center of a circle 2019-01-07 09:36:28 -06:00
flehrad
2898699804 Add Downbubble to Handwired repository (#4794)
* add snagpad

* Update keyboards/snagpad/kb.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename kb.c to snagpad.c

* Update and rename kb.h to snagpad.h

* Update snagpad.h

* Update keymap.c

* Update config.h

* Update config.h

* Update rules.mk

* Update README.md

* Add files via upload

* Update info.json

* Update keymap.c

* Update snagpad.h

* Delete snagpad_numpad.json

* Delete snagpad_ortho.json

* Update README.md

* Update keyboards/snagpad/info.json

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* add tradestation

* --all

* Did something weird messing with git -_- hopefully fixed

* Update keyboards/tradestation/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update snagpad.h

* Update rules.mk

* Update keymap.c

* fixed merge conflict, updated to LAYOUT_numpad_5x4

* relocated to handwire, updated naming, added layouts to rules.mk

* Update keyboards/handwired/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename LICENSE to license

* Rename README.md to readme.md

* Rename LICENSE to license

* Rename README.md to readme.md

* Update info.json

* Update keymap.c

* Update info.json

* Adding Numbrero QMK to Handwire Repository

* Update config.h

* Update readme.md

* Update keyboards/handwired/numbrero/numbrero.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keymap.c

* Update keyboards/handwired/numbrero/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Add handwired/downbubble keyboard to QMK Repository

* Update readme.md

* Create license

* Update keyboards/handwired/downbubble/readme.md

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/handwired/downbubble/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* fixed .h with noroadsleft's gist
2019-01-07 07:29:37 -08:00
yiancar
2bfac351ed Final HS60v2 changes. (#4790)
* initial commit, this now mostly works

- RGB controls work
- Dynamic keymap still broken due to eeprom
- Via works

* STM32 eeprom update

- Update EEPROM emulation library to handle 8bit data like AVR.
- This library also allows for multiple page pairs resulting in greater EEPROM size flexibility

* hs60 changes

* HS60 hhkb added

* Update keyboards/hs60/v2/config.h

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>
2019-01-06 17:22:19 -08:00
noroadsleft
2c0bc5ed6b Keyboard: Fractal layout macro and readme cleanup (#4789)
* Fractal: layout macro cleanup

Removed KEYMAP alias for LAYOUT_preonic_mit. Alias was unused, and the terminology usage is deprecated.

* Fractal: readme cleanup

Updated the line containing the documentation links in the readme.

* Fractal: disable preonic_mit community layout

QMK doesn't have a preonic_mit community layout at this time.

Disables preonic_mit as an option for community layout. Can be re-enabled when the layout is added.
2019-01-06 11:05:24 -08:00
mikethetiger
4aaa4b3428 Keymap: added my espectro keymap (#4791)
* adding my planck keymap

* adding my planck keymap

* added my espectro keymap
2019-01-06 10:36:24 -08:00
noroadsleft
90046af17f Keyboard: Numbrero: Configurator fix and code tidy (#4787)
* Numbrero: fix Configurator mismatch

Key object order in info.json didn't match the layout macro, leading to keys being assigned out-of-sequence.

* Numbrero: tidy

- white space changes in numbrero.h (alignment/readability/QMK conventions)
- minor changes to readme.md (grammar, mostly)
2019-01-05 15:34:38 -08:00
noroadsleft
27b512d9f5 Keyboard: Tradestation code tidy and readme refactor (#4784)
* Tradestation: tidy code

- correct JSON syntax on info.json
- visual key alignment on info.json
- white space changes on rules.mk and tradestation.h (readability/QMK conventions)

* Tradestation: readme refactor

Modify readme.md to more closely match QMK template.

* Tradestation: readme update

Update The Board podcast link for libsyn.
2019-01-05 15:34:19 -08:00
MechMerlin
9153ff59d4 Keyboard: update readme with ps2avr flashing instructions (#4776) 2019-01-05 10:04:45 -08:00
Masayuki Sunahara
ac7a9e3c66 add Pinky keyboard (#4748)
add Pinky (https://github.com/tamanishi/Pinky3) keyboard
2019-01-05 09:35:48 -08:00
Naoki Katahira
ea47be936b Keyboard: Lily58 update serial.c and add OLED (#4715)
* update serial.c and add OLED

* update readme

* keymap fix

* keymap fix2
2019-01-05 09:30:48 -08:00
mikethetiger
5b5f452bf9 adding my planck keymap (#4782)
* adding my planck keymap

* adding my planck keymap
2019-01-05 08:56:00 -08:00
Konstantin Đorđević
be666b2d8a Add underscores to names of brightness control constants in report.h (#4764) 2019-01-05 08:31:24 -08:00
noroadsleft
d6cc90d027 S65-X and S65-Plus updates and refactoring (#4780)
* S65-X: remove S65-Plus support

The original QMK codebase for the Sentraq S65-X actually supported both the S65-X and the S65-Plus. In the interim, the S65-Plus has been broken off into its own directory.

This commit removes support for the S65-Plus from the `keyboards/s65_x/` directory, as that code has been superseded by the code in the S65-Plus directory (`keyboards/s65_plus/`).

- deleted S65-Plus layout macros from s65_x.h and info.json
- deleted s65plus keymap directory
- removed references to the unused column pins
- removed the two unused columns for the switch matrices
- renamed switch K300 in LAYOUT_ansi to K301 (reflects matrix position)
- renamed switch K214 in LAYOUT_iso to K114 (reflects matrix position)

* S65-X: keymap refactor

- all keymaps now use #include QMK_KEYBOARD_H
- default and iso keymaps refactored for readability
- deleted redundant KC_TRNS and KC_NO keycode definitions from smt keymap

* S65-X: readme update

- updated Hardware Availability link
- updated Docs links

* S65-Plus: add LAYOUT_iso data

Adds LAYOUT_iso macro to s65_plus.h and info.json, and an ISO layout version of the default keymap.

* S65-Plus: refactor default keymap

- refactor for alignment/readability
- removed fn_actions code block
- add empty process_record_user block

* S65-Plus: readme update

- Hardware Availability link is now a hyperlink
- updated Docs links

* S65-X: enable 65_ansi and 65_iso community layouts

Thi commit allows the Sentraq S65-X to use the 65_ansi and 65_iso community layouts.

- LAYOUT_ansi renamed to LAYOUT_65_ansi
- LAYOUT_iso renamed to LAYOUT_65_iso
- added LAYOUTS rule to rules.mk
2019-01-04 21:47:13 -08:00
flehrad
3527efcbd2 Adding keyboards/handwire/numbrero (#4773)
* add snagpad

* Update keyboards/snagpad/kb.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename kb.c to snagpad.c

* Update and rename kb.h to snagpad.h

* Update snagpad.h

* Update keymap.c

* Update config.h

* Update config.h

* Update rules.mk

* Update README.md

* Add files via upload

* Update info.json

* Update keymap.c

* Update snagpad.h

* Delete snagpad_numpad.json

* Delete snagpad_ortho.json

* Update README.md

* Update keyboards/snagpad/info.json

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* add tradestation

* --all

* Did something weird messing with git -_- hopefully fixed

* Update keyboards/tradestation/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update snagpad.h

* Update rules.mk

* Update keymap.c

* fixed merge conflict, updated to LAYOUT_numpad_5x4

* relocated to handwire, updated naming, added layouts to rules.mk

* Update keyboards/handwired/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename LICENSE to license

* Rename README.md to readme.md

* Rename LICENSE to license

* Rename README.md to readme.md

* Update info.json

* Update keymap.c

* Update info.json

* Adding Numbrero QMK to Handwire Repository

* Update config.h

* Update readme.md

* Update keyboards/handwired/numbrero/numbrero.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keymap.c

* Update keyboards/handwired/numbrero/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>
2019-01-04 21:38:22 -08:00
Jordi Pakey-Rodriguez
3e45bc775e Add novelpad 0xdec keymap (#4779) 2019-01-04 15:28:01 -08:00
noroadsleft
aff5c49ee9 Layouts: add 65_iso (#4778) 2019-01-04 15:27:21 -08:00
noroadsleft
7f4f0f7685 Remove deprecated QUANTUM_DIR code blocks from makefiles (#4754)
* Remove QUANTUM_DIR code blocks from keyboard rules

This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect entire keyboards.

* remove QUANTUM_DIR code blocks from rules for default keymaps

This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect default keymaps.

* remove QUANTUM_DIR code blocks from rules for user keymaps

This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect "user" keymaps. (It's actually any keymap
that isn't named `default`.)

* remove QUANTUM_DIR code blocks from rules for community layouts

This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files for community layouts.

* remove QUANTUM_DIR code blocks from rules for userspaces

This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files for userspaces.
2019-01-04 07:25:48 -08:00
noroadsleft
b1ed855871 Dichotomy: fix info.json mismatch (#4771)
The info.json file was missing the two keys that correspond to the
rotary encoders.
2019-01-04 07:24:45 -08:00
Alex Ong
2bb2977c13 Merge branch 'master' into debounce_refactor
# Conflicts:
#	tmk_core/common/keyboard.c
2019-01-04 19:43:45 +11:00
Alex Ong
47c91fc7f7 Merge branch 'master' of https://github.com/qmk/qmk_firmware 2019-01-04 19:39:14 +11:00
James Churchill
563ce3f225 Add explicit eeprom include in split_common
Fixes builds that set EE_HANDS.
2019-01-03 20:00:27 -08:00
James Churchill
38e01a7480 Convert split_common to use generic GPIO api 2019-01-03 20:00:27 -08:00
noroadsleft
54b572159f Preonic rev. 3: fix info.json file
File was saved with an invalid JSON structure.
2019-01-03 21:52:35 -05:00
noroadsleft
6f80217958 Snagpad: fix Configurator mismatch (#4767)
Key objects for the LAYOUT_numpad_5x4 macro were out-of-order in
info.json.

Also white space changes because I'm that guy.
2019-01-03 16:33:32 -08:00
Konstantin Đorđević
e76bf17d36 Remove redundant, language-specific aliases for KC_ALGR (#4720)
* Use standard KC_ALGR, remove language-specific redefinitions

* Use ALGR instead of ALTGR in BÉPO and Canadian multilingual keymaps

* Remove BE_LALT, BE_LGUI aliases
2019-01-03 08:13:55 -08:00
Gam3cat
6cb2d7ba6d Keymap updates (#4706)
* adding my keymap

* update keymap

* adding gamecat keymap for jc65 keyboard

* updating jc65-gamecat keymap

* updating jc65-gamecat keymap

* updating jc65-gamecat keymap

* updating jc65-gamecat keymap

* M10a keymap and M65a updates

* keymap updates

* keymap updates

* M10a/M65a keymap updates

* M10a/M65a keymap updates

* Delete test.txt

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65/M10 keymap updates

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65/M10 keymap update

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65 keymap update

* M65 keymap update

* Set theme jekyll-theme-cayman

* Set theme jekyll-theme-slate

* M65 keymap update

* M10a/M65a keymap updates

* M10a keymap update

* M65a keymap update

* M65a keymap update

* M65a keymap update

* M65a readme update

* M65a/M10a updates

* M65a readme updates

* M65a/M10a updates

* M65A update

* M65A update

* M65A update

* M65A update

* M65A/M10A keymap update

* M10A keymap update

* Set theme jekyll-theme-tactile

* M10A keymap update

* M65A keymap.c update

* M65 keymap added LED backlight toggle, inc/dec to adjust layer.

* M65 keymap/readme updates.

* M65 keymap fix

* M65 keymap update

* remove theme

* fix comments/readme

* update keymap

* LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure.

* LED backlight update, guess based on reading atmega32u4 documentation for DDRB/PORTB regs, believe DDRB should only be written to once not every time CAPS is hit, but really not too sure.

* M65 keymap update

* Updated M65, M10, and gonNerd keymaps.

* update

* del

* keymap updates M65, M10, gonnerd

* update keymaps

* adding back readme that somehow got removed.

* updated keymap

* update keymap

* add back readme

* Added h87a keymap, updated m10a/jc65/gonnerd

* Update h87a keymap

* Updates after feedback

* Updates after feedback

* Updates after feedback

* Updates after feedback
2019-01-03 08:12:58 -08:00
flehrad
526bc4c7cc Keyboard: add snagpad and trainstation keyboards (#4755)
* add snagpad

* Update keyboards/snagpad/kb.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename kb.c to snagpad.c

* Update and rename kb.h to snagpad.h

* Update snagpad.h

* Update keymap.c

* Update config.h

* Update config.h

* Update rules.mk

* Update README.md

* Add files via upload

* Update info.json

* Update keymap.c

* Update snagpad.h

* Delete snagpad_numpad.json

* Delete snagpad_ortho.json

* Update README.md

* Update keyboards/snagpad/info.json

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* add tradestation

* --all

* Did something weird messing with git -_- hopefully fixed

* Update keyboards/tradestation/keymaps/default/keymap.c

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/config.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update snagpad.h

* Update rules.mk

* Update keymap.c

* fixed merge conflict, updated to LAYOUT_numpad_5x4

* relocated to handwire, updated naming, added layouts to rules.mk

* Update keyboards/handwired/tradestation/rules.mk

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Update keyboards/snagpad/snagpad.h

Co-Authored-By: flehrad <20124416+flehrad@users.noreply.github.com>

* Rename LICENSE to license

* Rename README.md to readme.md

* Rename LICENSE to license

* Rename README.md to readme.md

* Update info.json

* Update keymap.c

* Update info.json
2019-01-03 08:05:33 -08:00
ishtob
484c85bd0d Adding default settings for ERM motors for Hadron v3 haptic feedback (#4761)
* adding default settings to support 3v ERM vibration motors

* set default settings of haptic motor for LV061228B-L64-A 2v LRA

* update ishtob keymap and fix config settings
2019-01-02 13:30:59 -08:00
Jacob Jerrell
a7b1b146d1 Keymap: Bocaj Layout and Userspace Refactor (#4753)
* Bocaj Layout Revamp

* Pull in Upstream (#1)

* Various tweaks for some Input:Club build processes

* change KEYMAP to LAYOUT for all new keyboards made using this script

* Add support for rev3 of the Atom47 (#2672)

* Added support for rev3 of the Atom47

* Updated Atom47 readme's

* Fix redefine error on rev2 and add maartenwut's keymap

* Fix redefine error on LEdiodes keymap

* Add Nyquist keymap (#2692)

* nyquist

* danielhklein nyquist setup

* shift left controls

* remove readme

* cleanup before pr

* ready for pr

* Adds Phantom TKL support (#2696)

* Add an info.json to phantom keyboard

* Add layouts

 - KEYMAP_WINKEYLESS
 - KEYMAP_7BIT
 - KEYMAP_ISO
 - KEYMAP_ISO_WINKEYLESS

* Add key_counts

* Add 2 missing F-Row keys

* Add TKC1800 info.json

Created an info.json for the tkc1800.

* Clueboard 60 info.json

 - adds
   - LAYOUT_60_ansi
   - LAYOUT_60_iso
   - KEYMAP_AEK
   - KEYMAP
   - LAYOUT_60_ansi_split_bs_rshift

* Add the Speedo keyboard

* Fix KC60 info.json file (#2707)

* change KEYMAP to LAYOUT in all the KC60 files

* Redo the info.json file

* Small fixes to TKC1800

 - adjust F-row to use 0.25 spacing
 - split left shift
 - add key_count

* Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708)

* change diverge 3 KC_KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for handwired arrow pad

* change M10A to LAYOUT for m10-a

* Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68

* change KC_KEYMAP to LAYOUT for nano

* Refactor to LAYOUT

* refactor to LAYOUT-ansi and LAYOUT_iso for s65

* LAYOUT conversions for lfkkeyboards

* missed a few renames

* mini1800 for lfkeyobards support of LAYOUT

* Improve state/chord handling and clean up namespace

Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.

Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)

A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.

Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.

The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.

There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.

* Pull information from config.h and rules.mk (#2711)

* Pull information from config.h and rules.mk

* Readd the kbd75 maintainer

* Remove obsolete info.json entries (#2712)

* Clean up some long-standing errors when populating the API (#2715)

* More Configurator Warning Fixes (#2716)

* mf68_ble did not have the correct .c and .h files

* Fix JC65 KEYMAP to LAYOUT

* Change KEYMAP to LAYOUT for s60_x

* Convert KEYMAP to LAYOUT for lets_split boards

* Convert KEYMAP to LAYOUT

* more fixes to keymap for iris

* convert KEYMAP to LAYOUT for levinson keyboard

* change losinggeneration's KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for nyquist

* convert KEYMAP to LAYOUT

* convert KEYMAP to LAYOUT for viterbi

* convert KEYMAP to LAYOUT

* convert KEYMAP and its subsidiries to the LAYOUT standard

* convert KEYMAP and its subsidiries to the new LAYOUT standard

* Normacos keymap for let's split keyboard (#2691)

* Cheers let's split keymap

* fixed typo on norman layer of cheers keymap for let's split

* fixed right handed mappings for home row

* cheers keymap for let's split redefinition

* updated Cheers keymap for let's split

* cheers keymap for let's split updated with some terminal macros

* renamed cheers let's split keymap to a more appropriate normacos

* updated normacos keymap doc / removed non functional keys

* reset let's split rules to default values

* added more spotlight search macros

* normalized keymap comments

* Moved numpad on lower layer

* hhkb jp personal keymap (#2698)

* Add JJ40 Cockpit personal keymap (#2713)

* Add JJ40 Cockpit keymap

* Fix lower layer symbols

* Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718)

* add readme to ktype keyboard

* add readme to m10a

* add readme to mini1800

* add readme to parent directory

* Revert "Pull in Upstream (#1)"

This reverts commit eeba0cec17.

* Updates to Bocaj Files

- Gave up on Tap Dance for ' -> '
+ Added another 'Secret'
+ Add ' -> ' to the Swap Hands key
+ Add Swap Hands to the ' -> ' key
+ Made Hand Swapping a momentary toggle
- Removed Auto Shift
+ Added Layer Toggle to KC_QUOTE for the _TOOLS layer
- Disabled Tap Dance

* Merge remote-tracking branch 'upstream/master'

* Updates to Bocaj

Added Game Layers, Removed Unused Macros

* Removed 'secrets.h'

* Updates to Bocaj

Remove 'secrets'.
Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues

* Total revisioning of keymap and layout structure

* Missed readme.md file

* Bocaj - Permissive Hold setting enabled

* Switching from ErgoDox EZ centric configuration to the layout/user approach

* Bocaj - Create Userspace and Ergodox layout

* Update settings.json

* Pushing local updates

* Reverting .vscode/settings.json

* Adds pretty_osx and _win wrappers

* Utilize Windows and Mac Wrappers

* Update layouts/community/ergodox/bocaj/keymap.c

* Updates to Bocaj keymap.c

- Extended pretty_osx and pretty_win wrappers to allow modification of the bottom rows and thumb clusters.
- Fixed already wrapped layouts to align with the change
- Wrapped _NUMS and _CLICKY layers with the _osx wrapper because I main with a Mac

* Updates to Bocaj

Small documentation updates, added KC_MAKE from Drashna's layout, added KC_LOCK back to the diablo layer.

* Add LShift to _Adjust layer

* Minor changes to bocaj

Put wrappers in userspace and added RESET keycode to the Adjust layer

* Updates to Bocaj config & keymap; Fixed problem with process_leader.c

- Made lots of changes to the bocaj layout and userspace
- Pulled in latest upstream/master
- Attempted to compile with latest and found an unneccessary `break` in process_leader.c

* Bocaj - Updates to Layout and Userspace

* Adjust LEADER_TIMEOUT to 350
* Put KC_GRAVE on _ADJUST layer
* Eliminate _LOWER layer and associated definitions
* Adjusted layer indicating LEDs to match changes
* Fixed Diablo leader sequence
* Added build info leader sequence
* Got rid of obsoleted IGNORE_MOD_TAP_INTERRUPT/PERMISSIVE_HOLD/PREVENT_STUCK_MODIFIERS (may add STRICT_LAYER_RELEASE in the future)

* Remove type_traits

Not sure what in my VSCode config always brings this one in

* refactor stage 1

* Bocaj Refactor Phase II

* Made LED_2 brighter if both CTRL & GUI are being held
* Enabled unicode because I got it to work in Mac OS
* Finalized Build Info leader combination after testing in Mac OS
* Not sure why KC_D3_1 was set to ASDF if !TAP_DANCE_ENABLE. So I changed that back
* Experienced issues with `EXTRAFLAGS += -flto` using Docker in MacOS. Not sure what it does, but I don't seem to be missing anything
* Wrote obligatory readme.md files and mentioned Drashna too many times... I don't think I can actually take credit for much of anything here.

* Updates to Bocaj

Made LED changes, added LM_DFLT which is similar to the grave macro, enabled retro tapping, working on a unicode idea -- currently fails to build.

* Bocaj Refactor Phase 3 Part 2

- Continuation of implementing unicode switching based on default layer
- Slight adjustments to _DIABLO and base wrapper because LM_DFLT macro didn't function as I'd hoped

* Slight adjustment to KC_MAKE
2019-01-02 09:23:42 -08:00
Frank Tackitt
7b5fa4b13e Keymap: Add userspace for @kageurufu (#4752)
* Add userspace for @kageurufu

* Remove custom keycodes for layer keys

Add some common defaults for my rules.mk
2019-01-02 09:16:55 -08:00
lbibass
c71c078dff Added brightness controls and Media controls to my keymap. (#4760)
* Added my Mechmini2 layout to qmk.

* Added more info to the readme.

* Made changes.

* Update keyboards/mechmini/v2/keymaps/lbibass_625_space/keymap.c

Co-Authored-By: lbibass <ewdries02@gmail.com>

* Update keyboards/mechmini/v2/keymaps/lbibass_split_space/keymap.c

Co-Authored-By: lbibass <ewdries02@gmail.com>

* Added brightness and volume controls to MechMini 625 layout.
2019-01-02 08:42:03 -08:00
Frank Tackitt
134a69f4ad Keyboard: Enable defaults for Sol (#4751)
The enables RGB, Mousekeys, and Extrakeys for users of config.qmk.fm
2018-12-31 14:55:48 -08:00
Drashna Jaelre
40383089d0 Keymap: Update for Drashna code - Proton C Prep Edition (#4708)
* Make CRKBD keylogger output actually show tap keys

* check MT/LT for twinkling

* Add ortho 5x12 support for fractal keyboard

* Use newer interface for setting pins/ports

* Remove custom unicode methods

* Reomve unicode input info

* Odd rules issue

* Redefine REST note to be more pleasing

* Properly disable PM LEDs with GPIO commands

* Update gitlab CI yaml file

* Remove extra mod tap check

* Remove initial state on ergodox glow

* Rev6 Cleanup

* Fix KC_MAKE macro

* Update GitLab CI yaml file

* More GitLab CI changes

* One final GitLab CI change

* Remove unneeded unicode support

* Optimize KC_MAKE
2018-12-31 14:29:56 -08:00
Drashna Jaelre
7f0def77a2 Move Split Common VPATH addition (#4716)
Specifically, only add the split_common folder to COMMON_VPATH if the feature is eanbled, to prevent issues with compilation
2018-12-31 08:45:44 -08:00
David Dai
b7688590b8 Change rgblight_get_mode & rgb_matrix_get_mode's return type to uint8_t. (#4747)
* Change rgblight_get_mode's return type to uint8_t.

Since rgblight_get_mode() is just returning rgblight_config_t.mode,
it should match rgblight_config_t.mode's type: uint8_t.

* Update rgb_matrix_get_mode to return uint8_t.
2018-12-31 08:42:58 -08:00
takashiski
0c0e208a36 define brainfuck keymap (#4742)
* define brainfuck keymap

* Update keyboards/namecard2x4/keymaps/brainfuck/readme.md

Co-Authored-By: takashiski <takashiskibb@gmail.com>
2018-12-30 14:53:09 -08:00
Giuseppe Rota
3ddec14eb8 Register the interrupting keycode in the tap dance state struct 2018-12-30 08:35:12 -08:00
satt99
46b4b4407f Comet46 add support for OLED (#4745)
* Add OLED support for Comet46

* fix length of char "name" of keylogger.c

* update ssd1306

* fix rules.mk

* update led-receiver keymap

* Update OLED related code

* add mod_state_reader & modify led_state_reader

* Update OLED related files

* Update kemaps

* Update readme

* change default-oled-display to default

* Add OSM compatibility to mod_state_reader

* Code formatting

* Use PROGMEM to store code_to_name

* Clean up satt keymap

* Rename default-led keymap to defult-rgbled
2018-12-30 08:34:06 -08:00
Matthew Lyon
c2390bf321 Keymap: mattly: more tweaks (#4746) 2018-12-30 07:54:10 -08:00
wanleg
c043edd138 Keymap: Wanleg 5x5 Keymap changes (#4738)
* config fixes (including for issue #3678)

* put back audio

* jj40 backlighting setup

* jj40 backlighting setup

* rules.mk fix

* jj40 backlighting settings

* iris setup

* iris setup

* iris setup

* iris setup

* iris setup - onehand

* remove commented-out section

* edits due to #4403

* xd75 testing

* fix 5x15 layout issues with 5x5 bluetooth & xd75

* commenting out unused placeholders

* change iris to more wanleg-like 4x12 layout

* formatting changes

* onehand layout cleanup/fix

* revert temp change

* create centre numpad option

* 1st working version

* change keypad numbers to regular numbers - doesn't work otherwise

* adding comparison files, no change to core

* fixed 5x5 with cleave

* fixed 5x5 with cleave

* switch mouse scroll buttons

* clean up left/right/centre pad placement in 5x15 layouts

* minor comment change

* Update layouts/community/ortho_5x15/wanleg/keymap.c

Co-Authored-By: wanleg <32079073+wanleg@users.noreply.github.com>

* Update layouts/community/ortho_5x15/wanleg/keymap.c

Co-Authored-By: wanleg <32079073+wanleg@users.noreply.github.com>

* Update layouts/community/ortho_5x15/wanleg/keymap.c

Co-Authored-By: wanleg <32079073+wanleg@users.noreply.github.com>

* revert to original
2018-12-30 07:53:02 -08:00
ginjake
cc7bf108a9 Keymap: add ginjake keymap for the zinc keyboard (#4741)
* サンシャインぴっかぴかモード実装

* サンシャインぴっかぴかモード
2018-12-29 08:19:34 -08:00
Giuseppe Rota
bb1b441325 Fix leader processing 2018-12-29 08:17:43 -08:00
Menchen
e2f60eba2f Fix capkey led for dz60. 2018-12-28 23:29:58 -08:00
Stephen Gelman
8443481aea Fix apparent typo in WhiteFox LED config
It seems the led_mask is set incorrectly on the WhiteFox meaning that
the LED at C9-1 (the space bar) doesn't get lit.  I can't see any reason
for this to be intentional so I am pretty sure it's a typo.  At the very
least it fixes the space bar LED for me.
2018-12-28 22:55:59 -08:00
Jason Thigpen
d9abb833e5 Add my zeal60 keymap (#4732)
* Add my zeal60 keymap

* Temporarily remove failing community layout from zeal60 make rules

* Revert "Temporarily remove failing community layout from zeal60 make rules"

This reverts commit ffd0018fb1.
2018-12-28 22:27:35 -08:00
Max
2c6c483096 refactored cyclops keyboard project (#4734)
* refactored cyclops keyboard project

Moved the files into a subfolder to allow consistency in preparation for additional commits to come in the future.

made some small adjustments to the configuration and keymap

* Update keyboards/westfoxtrot/cyclops/keymaps/default/keymap.c

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cyclops/readme.md

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cyclops/readme.md

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>

* Update keyboards/westfoxtrot/cyclops/readme.md

Co-Authored-By: westfoxtrot <17062872+westfoxtrot@users.noreply.github.com>
2018-12-28 15:07:47 -08:00
Drashna Jaelre
6b46c06018 Fix Split Common Split_util.c typo 2018-12-28 14:52:58 -08:00
Danny
c0859ac096 Update split keyboard docs (#4735)
* Remove unused I2C_MASTER_RIGHT setting

* Update documentation about split keyboard options
2018-12-28 13:02:53 -08:00
Konstantin Đorđević
93b004c943 Keep pressed keys on layer state change (fixes #2053, #2279) (#3905)
* Keep pressed keys on layer state change

* Add doc comment for clear_keyboard_but_mods_and_keys

* Keep pressed keys only if PREVENT_STUCK_MODIFIERS is on

* Check STRICT_LAYER_RELEASE instead of PREVENT_STUCK_MODIFIERS
2018-12-28 11:07:56 -08:00
Kyle Brown
fbcbf44926 Update feature_advanced_keycodes.md (#3672)
* Update feature_advanced_keycodes.md

Probably a better way to word it, but I've solved this issue on reddit several times, had to solve this for friends, ect. It's something worth being in the docs as it's a common issue, and not always intuitive. I have offered this change as I was told by several people "It was never mentioned in the docs".

* Update feature_advanced_keycodes.md

Clear up what was meant to be said.
2018-12-28 10:31:15 -08:00
Jumail Mundekkat
3744a2b641 Added Skog TKL support (#4727)
* Added Skog TKL support

* Updated manufacturer/product name
2018-12-27 08:40:33 -08:00
noroadsleft
cfba216541 S65-Plus: fix layout macro name in info.json (#4728) 2018-12-27 08:37:29 -08:00
Konstantin Đorđević
0c1256e60a Read user input properly in linux_install.sh for Gentoo (#4395)
* Change spaces to tabs on two lines

The rest of the file uses tabs

* Read user input in a non-terrible, non-hacky way

* Remove unnecessary tee call

* read -p is not POSIX

* Add missing $ to echo GENTOO_WARNING

* Replace non-POSIX echo -n with printf

* Use cd ... || exit 1 in case git clone fails

* Add missing sudo

Thanks @snortwolf

* Undo replacing tee with >>
2018-12-26 08:01:26 -08:00
noroadsleft
b7d2a9f980 S65-Plus: refactor and Configurator support (#4725)
- s65_plus.h updated to #pragma once method
- added info.json file
2018-12-26 07:55:42 -08:00
Yan-Fa Li
ee1be3e5b5 Improve diagnostics for build hashes 2018-12-25 17:09:48 -08:00
noroadsleft
8e0444618f XMMX refactor, Configurator support and readme update (#4722)
* XMMX: matrix and keymap refactor

- xmmx.h updated to use #pragma once
- renamed LAYOUT_ansi_wk macro to LAYOUT_tkl_ansi
- renamed LAYOUT_ansi_wkl macro to LAYOUT_tkl_ansi_wkl
- renamed LAYOUT_iso_wk macro to LAYOUT_tkl_iso
- renamed LAYOUT_iso_wkl macro to LAYOUT_tkl_iso_wkl

* XMMX: Configurator support

* XMMX: readme update
2018-12-25 11:24:47 -08:00
TerryMathews
de78d9e1ff Chibios_test/stm32_f072_onekey: Add support for reset to bootloader (#4238)
* Add support for reset to bootloader

Chibios_test/STM32_F072_ONEKEY wouldn't reset to bootloader on a
compatible Discovery board because the Chibios library board file was
lacking the __early_init(void) function necessary to read the magic key.
Borrowed code from Clueboard 60, tested working.

* Remove board.chcfg
2018-12-25 10:42:48 -08:00
Jason Thigpen
08e9fc142c Add tsangan layout to dz60 with a "sane" default keymap (#4717) 2018-12-24 14:49:03 -08:00
noroadsleft
41dee98ec4 Redox: Configurator bugfix (#4721) 2018-12-24 14:27:35 -08:00
Takeshi ISHII
72d4e4bfd7 Replace serial.c of quantum/split_common/ (#4669)
* Add provisional Helix implementation to test the quantum/split_common.

* copy keyboards/helix/serial.[ch] to quantum/split_common/

* Make serial.c a pure driver.

Remove buffer name and buffer size from serial.c. They should be placed in the caller(matrix.c, split_utils.c).

* remove quantum/split_common/serial_backward_compatibility.h

* Changed array serial_master_buffer to structure serial_m2s_buffer.

* Changed array serial_slave_buffer to structure serial_s2m_buffer.

* Change keyboards/miniaxe/matrix.c

I also made changes to quantum/split_comon/matrix.c to keyboards/miniaxe/matrix.c.

Note: I contacted @ka2hiro, creator of miniaxe, and I got permission to change keyboards/miniaxe/matrix.c.

* update history comment in quantum/split_common/serial.c

* Revert "Add provisional Helix implementation to test the quantum/split_common."

This reverts commit 168c82ef82.

* fix keyboards/miniaxe/matrix.c, quantum/split_common/matrix.c

avr-gcc 4.9.[23] report error.
avr-gcc 5.4.0, avr-gcc 7.3.0 pass.
It is funny.

* update comment quantum/split_common/serial.c

* Reserve RGBLIGHT_SPLIT macro in quantum/split_common
2018-12-24 11:14:57 -08:00
noroadsleft
2149f3b588 Toad Configurator support and readme update (#4718)
* Toad: Configurator support

* Toad: update Docs links in readme
2018-12-24 09:19:18 -08:00
ishtob
33483b440c Keymap: fix userspace compile error with planck grid (#4719) 2018-12-24 09:06:33 -08:00
Othi
fc921a9c54 First PR for KBD6x HHKB layout keymap (#4704)
* initial commit for Othi's HHKB layout keymap,
covering multiple modifiers hold and vim-like support and german characters. If there's
any suggestion i can be reached via mnpqraven on github or Othi#6661 on
discord

* added readme.md. TODO: update readme.md

* changed to default quantum keycode for `KC_TRNS`,
removed `PREVENT_STUCK_MODIFIERS`,
fixed tap dance using one shots
TODO: unicode implementation at https://docs.qmk.fm/#/feature_unicode

* keymap documentaion(readme) added

* unicode init
TODO: figure out what made the compose sequence not running

* update unicode and readme
2018-12-24 09:06:12 -08:00
Adam Lee
7e56c4bcb1 [Miuni32] Update the # of LEDs to match the final version of PCB (#4714)
* [Miuni32] Update the # of LEDs to match the final version of PCB

* [Miuni32] Update link to website
2018-12-23 08:39:30 -08:00
noroadsleft
2c3706611f Noxary x268: refactor and Configurator bugfix (#4713)
- renamed layout macro LAYOUT_65_ansi to LAYOUT
- rebuilt info.json to match LAYOUT macro
2018-12-23 08:36:01 -08:00
Michishige Kaito
5e52eda0ca shell.nix: Packages relocated in upstream cleanup 2018-12-22 15:09:58 -08:00
noroadsleft
7bbd299fba JD40 refactor and readme update (#4710)
* JD40: default keymap refactor

- Removed redundant action_layer.h include
- Refactored to use LAYOUT macro (from LAYOUT_kc)
- Refactored to use QMK-native keycodes
- Removed superseded TMK code blocks

* JD40: readme cleanup

Fixed and updated the links in the readme file
2018-12-22 08:23:04 -08:00
noroadsleft
ea1fe35ae7 Keyboard: Infinity60 refactor, Configurator support and readme update (#4707)
* Infinity60: refactor

- infinity60.h / keymap.c
  - renamed layout macro to LAYOUT_60_ansi_split_bs_rshift; removed layout macro alias
  - updated to #pragma once
  - keymaps now use #include QMK_KEYBOARD_H
  - keymaps/jpetermans/config.h updated to #pragma once
  - keymaps/jpetermans/rules.mk deleted (complete contents were deprecated make instructions)

* Infinity 60%: Configurator support

* Infinity60: readme update

Updated the Docs links.

* Infinity60: bugfix depariel keymap

Had a typo.

* Infinity60: edit matrix.c

per @drashna

- https://github.com/qmk/qmk_firmware/pull/4707#issuecomment-449540676
2018-12-21 19:39:48 -08:00
Michael Pio
4d98c69e02 Update Vinta (#4705)
* add support for configurator

* add more layouts

* fix default keymap
2018-12-21 18:39:25 -08:00
Jason Thigpen
ff8b1b9c69 Add crd's XD60 ANSI keymap (#4702) 2018-12-21 17:39:10 -08:00
Jeremy Herve
af84f0ff86 Keymap: Redox / jeherve: updates (#4694)
* Start using send_unicode_hex_string for shrug

See https://docs.qmk.fm/#/feature_unicode?id=send_unicode_hex_string

* Make sure one can come back to main layer after tapping to NAV

* Add 4 new keys to symbol layer

~, `, =, +, are now more accesssible. No need to reach out far from home row anymore

* Add two new macro keys

I did not have much use for the Expose key and the right Command key, so opted to replace those with 2 Macros:

- One to invoke Alfred: https://www.alfredapp.com/ => Opt + Space
- One to invoke 1password: https://1password.com/ => Cmd + Opt + \

* Update readme to mention changes in new version

* Remove unneeded short definition

* Shorter name for our custom key

See https://github.com/qmk/qmk_firmware/pull/4694#discussion_r243341864

* Make macros one-liners

See https://github.com/qmk/qmk_firmware/pull/4694#discussion_r243341487

* Switch to using eeconfig_init_user to set Unicode mode

See https://github.com/qmk/qmk_firmware/pull/4694#issuecomment-449151724
2018-12-21 10:00:45 -08:00
Sascha Grunert
f0863286cc Update keymap for planck/rev6 (#4701)
* Update keymap.c

* Update rules and keymap

* Update keymap rules
2018-12-21 08:33:36 -08:00
noroadsleft
b21c592f1e handwired/not_so_minidox: Configurator support (#4699) 2018-12-21 08:03:34 -08:00
Gergely Peidl
ca35647535 Feature Unicode example code fixed. 2018-12-21 07:21:41 -08:00
Drashna Jaelre
afd5cda4a0 Fix up process_leader to be a bit more optimized (#4662)
* Fix up process_leader to be a bit more optimized

* Process dual function keys better

* Make leader start a callable function

* Fix per key timer call location

* Add escape if already leading

* Return false for KC_LEAD

* Add documentation
2018-12-20 16:54:06 -08:00
Takeshi ISHII
30c3f3b2bd Keymap: Add Helix/pico keymap 'mtei' (#4696)
* add pico keymap 'mtei'

* num layer key change
2018-12-20 09:50:51 -08:00
Drashna Jaelre
6395853148 Docs: Add additional clarification to Leader Key documention (#4660)
* Add clarification for Leader Timeout

* Add additional documentatin to config_options.md

* Add leader_start() and leader_end() documentation

* Add Examples

* Clarify timout

* Remove customization

* Improve docs based on feedback

* Better clarification of features

* Fix example

* Spelling/grammar issue

* Spelling and clarification
2018-12-20 08:58:12 -08:00
Emily Soldal
1586548b4f Enable RGB animations in Atom47 2018-12-20 08:55:32 -08:00
MakotoKurauchi
29830f306f Keyboard: Pr/helixpico add layout kc (#4686)
* add some comment about Helix customize and auto-setup RGBLIGHT_LIMIT_VAL

* add define USB_MAX_POWER_CONSUMPTION

* Helix keyboard OLED, RGBLIGHT enable/disable control integrate into rules.mk

rules.mk: add 4 Variables for compile control.

   # Helix keyboard customize
   # you can edit follows 4 Variables
   #  jp: 以下の4つの変数を必要に応じて編集します。
   OLED_ENABLE = no            # OLED_ENABLE
   LED_BACK_ENABLE = no        # LED backlight (Enable WS2812 RGB underlight.)
   LED_UNDERGLOW_ENABLE = no   # LED underglow (Enable WS2812 RGB underlight.)
   LED_ANIMATIONS = yes        # LED animations

config.h: auto set RGBLED_NUM by HELIX_ROWS and rules.mk's define

* HELIX_ROWS define move from config.h to rules.mk

* add readme.md

* rename readme.md to readme_jp.md

* add readme.md and modify readme_jp.md

* change helix/ssd1306.c for select glcdfont.c position

* add variable LOCAL_GLCDFONT into each keymaps rules.mk

* Add iPhone/iPad LED support to Helix default keymap

* renumber _ADJUST for shrink program size

* Fix Helix i2c wrong bit rate

* add helix serial debug code

* serial debug macro move from config.h to serial.h

* helix serial.c debugging...

* refine debug macros

* add some comments

* add SELECT_SERIAL_SPEED

* add comments

* debugging sync_send/sync_recv

* add very high speed

* fix sync_send/sync_recv

* fix com. start and switch send/recv

* debug mode off

* remove debug codes

* temporary change, compiling C, C++ and ASM without -g

* helix config.h refine

* Revert "temporary change, compiling C, C++ and ASM without -g"

This reverts commit e9730cbbfd.

* add change_reciver2sender()/change_sender2reciver()

This is a change to improve readability.

* txled, rxled off in matrix_init()

* add serial_send_packet() / serial_recive_packet()

This is a change to reduce object size.

* add serial_low() at ISR() top

* add __attribute__((always_inline)) to some functions

* modify serial_send_packet()/serial_recive_packet()

A little, object size reduction.
A little, speedup.

* add debug code to helix/serial.c

* Adjust sampling timing of serial signal being received

* add split_scomm.c/split_scomm.h and change serial.c/serial.h

serial.c was divided into 2 layers, split_scom.c and serial.c.
The upper layer split_scomm.c is called from matrix.c.
The lower layer serial.c accesses the hardware.

* add split_scomm.c/split_scomm.h into helix/rev1

* reduce object size helix/rev2/matrix.c

* remove checksum check, add parity check

* force occur parity error for test

* parity test ok. remove test code

* change some comment & add skip code when buffer_size == 0

* serial.c: multiple types of transaction support

Add 4 bits transaction-type field at packet top.
Select Transaction Descriptor Table entry by transaction-type.

* helix serial master-slave transaction optimize

Using multi-type transaction feature of serial.c, communication contents between master slaves were optimized.

* add debug code for retry

* add comment into each config.h

* fix ISR status drop

* add a debug macro 'debug_retry_chg()'

* reduce led_test size

* remove debug code from helix/serial.c and etc.

* helix:five_rows change TAPPING_TERM value 140

* Improved compatibility with let's split of serial.c. Finish helix/serial.c improvement.

- The difference with the original let's split's serial.c
  - It's high-speed about 4 times.
  - Stable bi-directional data transfer. (Helix need master to slave transfer)
  - serial.h was divided 2 files, serial_config.h and sereial.h
  - With multiple types of transaction support, communication contents can be optimized. (NEW flexible API)

- USE OLD Simple APIs (compatible with let's split serial.c)
  - files :
    - serial_config.h -- hardware configuration (need include by config.h)
    - serial.c/serial.h -- serial communication

- USE NEW flexible APIs. (Support multi-type transaction function.)
  serial.c was divided into 2 layers, split_scom.c and serial.c.
  The upper layer split_scomm.c is called from matrix.c.
  The lower layer serial.c accesses the hardware.
  - files
    - split_scomm.c -- communication buffer is defined in here. call by matrix.c.
    - split_scomm.h -- buffer size is defined in here. include by matrix.c, split_util.c
    - serial_config.h -- hardware configuration (need include by config.h)
      To use the NEW API, specify #define SERIAL_USE_MULTI_TRANSACTION
    - serial.c/serial.h -- serial communication lower layer

- NEW APIs for serial.c / serial.h (The lower layer)
  // Soft Serial Transaction Descriptor
  typedef struct _SSTD_t  {
      uint8_t *status;
      uint8_t initiator2target_buffer_size;
      uint8_t *initiator2target_buffer;
      uint8_t target2initiator_buffer_size;
      uint8_t *target2initiator_buffer;
  } SSTD_t;

  // initiator is transaction start side
  void soft_serial_initiator_init(SSTD_t *sstd_table);
  // target is interrupt accept side
  void soft_serial_target_init(SSTD_t *sstd_table);
  int soft_serial_transaction(int sstd_index);
  int soft_serial_get_and_clean_target_status(int sstd_index);

- NEW APIs for split_scomm.c / split_scomm.h (The upper layer)
   move from old serial.c the following buffer and functions
     serial_slave_buffer[]
     serial_master_buffer[]
     void serial_master_init(void)
     void serial_slave_init(void)
     int serial_update_buffers(void)
   define SERIAL_xxxxx_BUFFER_LENGTH move from serial_config.h to split_scomm.h

* fix comment typo

* Fix the value of helix:five_rows variable HELIX_ROWS to 5.

* led_test rules.mk some change

* Separate common parts of helix/rev2/keymaps/*/rules.mk into helix/rev2/keymaps_common.mk

* helix/rev2/keymaps/edvorakjp/rules.mk use helix/rev2/keymaps_common.mk

* Separate common parts of helix/pico/keymaps/*/rules.mk into helix/pico/keymaps_common.mk

* Helix each keymap's using rgblight mode symbol instead magic number

No change in build result.

* Helix pico keymaps: make rgblight modes selectable.

No change in build result.

* Helix rev2 keymaps: make rgblight modes selectable.

No change in build result.

* fixed Helix froggy/keymap.c: invalid rgblight mode value 0 to 1 (=RGBLIGHT_MODE_STATIC_LIGHT)

* Deselect RGB_TEST and ALTERNATING in Helix rev2,pico keymaps config.h.

* Merge branch 'master' of https://github.com/qmk/qmk_firmware

* revert 955dcbc

* delete keymaps_common.mk

* add LAYOUT_kc() to keyboards/helix/pico/pico.h
2018-12-20 08:55:03 -08:00
noroadsleft
af55ef8418 GSKT-00 Configurator update
- add JSON data for LAYOUT_all layout
- fix ISO Enter on LAYOUT_60_iso_tsangan layout
2018-12-20 08:52:54 -08:00
Kevin Hogeland
374ed67e87 Add PROGMEM keyword to Clueboard keymaps 2018-12-20 08:44:42 -08:00
Skyler Lewis
f3cbb7bd6e update the alairock keymap for dichotomy (#4687)
Just a couple placement updates to my layout on the dichotomy keyboard.
2018-12-19 16:54:19 -08:00
Ismael Venegas Castelló
5eb8f3f6b5 Keymap: Refactor Hacker Dvorak (#4688)
Programmer Dvorak based layout for the Ergodox EZ.
2018-12-19 16:49:56 -08:00
yiancar
b13162f7fd Also fix use of weak stm32 internal pullup 2018-12-19 11:52:05 -08:00
yiancar
df33618b26 Minor STM32 i2c driver cleanup 2018-12-19 11:52:05 -08:00
Drashna Jaelre
fdeec29636 Overhaul Unicode Common functionality (#4325)
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* remove merge artifacts

* Unicode common cleanup (#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf251.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
2018-12-19 08:39:24 -08:00
Danny Nguyen
40bf3a2ce9 Make readPin output a 0 or 1 when using AVR to match ChibiOS's version of readPin 2018-12-19 08:37:44 -08:00
Drashna Jaelre
3054c7bda0 Fix fc980c.h update (#4682) 2018-12-19 08:23:28 -08:00
noroadsleft
584a7a0395 Keyboard: Espectro refactor and Configurator support (#4666)
* Espectro: layout macro refactor

- updated to #pragma once method
- restructure LAYOUT_all data as block comment
  - Configurator was reading the LAYOUT_all macro even though it was commented out.
- updated all keyswitch arguments to use K<ROW><COLUMN> notation
- add LAYOUT_iso macro
- add info.json file for Configurator support

* Espectro: keymap refactor

- deleted unused MODS_CTRL_MASK definitions
- iso keymap refactored to use LAYOUT_iso macro
- default and iso keymaps refactored for readability
2018-12-18 09:16:06 -08:00
noroadsleft
8181c8dc97 FC980C: refactor and Configurator update
- fc980c.h
  - updated to #pragma once method
  - layout macro visual alignment
- info.json
  - fixed JSON ordering (keys were being assigned out-of-order)
- default keymap
  - visual alignment
  - deleted unused fn_actions block
2018-12-18 09:15:28 -08:00
Yan-Fa Li
06f1901783 Keymap: A Planck style keymap with iris flair (#4677)
* A Planck style keymap with iris flair

 - Re-arrange layers to be more planck like.
 - move backspace to right thumb
 - replace backspace with minus, more useful for coding
 - replace center keys with brackets
 - MT(MOD_LCTRL and ESCAPE)
 - Use QMK-DFU for bootloader
   - add a soft reset to keymap

* Feedback from reviewers

 - remove redundant define (noroadsleft)
 - remove unused layer switch case (drashna)
2018-12-18 09:14:56 -08:00
Matthew Lyon
e59f331268 Keymap: @mattly's planck layout (#4678) 2018-12-18 08:37:03 -08:00
Takeshi ISHII
9eedaa8802 Keymap: Changed to use LAYOUT_kc() macro instead of LAYOUT() macro for easy maintenance. (#4676) 2018-12-18 08:29:20 -08:00
Wilba
eeda99bf2e Keyboard: Initial commit of WT8-A implementation (#4674) 2018-12-18 08:28:31 -08:00
Andrew Kannan
20e134e681 Keyboard: Adding ortho60 to handwired (#4672)
* Adding ortho60 to handwired

* update to use LAYOUT_ortho_5x12

* Address PR comments about layout macros

* Add default layout to info.json for configurator

* Hack to xyverz layout until RGB branch is merged

* Fix undef RGBDIPIN in xyverz 12x5 layout

* Revert change to xvyerz's layout

* Fix typo

* Fix order

* Revert xyverz rules.mk
2018-12-18 08:26:43 -08:00
noroadsleft
398204b2a0 EKeyboard: ErgoInu Configurator fix (#4665)
* ErgoInu: Configurator update, part 1

Give each key its own line to make the file easier to debug.

* ErgoInu: Configurator update, part 2

- converted all JSON variables to lowercase (this was the bugfix)
- converted Tabs to Spaces

* ErgoInu: Configurator update, part 3

- break key data into chunks

* ErgoInu: Configurator update, part 4

Rebuilt the layout tree into a new file, taking the Y values from the original data. Copied relevant data from original file into the new file, and then overwrote the original file.
2018-12-16 00:40:46 -08:00
noroadsleft
5ec327ad99 Cospad Configurator and readme update (#4663)
* Cospad: Configurator update

- added LAYOUT_gamepad_6x4 data
  - renders as 4 rows by 6 columns visually
- fixed LAYOUT_numpad_6x4 data
  - JSON objects were in the wrong order

* Cospad: readme update

- markdown formatting fixes
- made Hardware Availability address a hyperlink
- updated Docs links
2018-12-15 13:39:34 -08:00
noroadsleft
6172e55489 Ergo42: Configurator patch (#4664)
Wasn't rendering in Configurator as intended. Updated JSON data to use alias name instead of macro name.
2018-12-15 13:39:05 -08:00
Alexander Kagno
3ec4a00bfc Per Key Leader Timing Option (#4026)
* leader changes to enable per key timing option

* Changes requested to docs for @drashna

* Changes requested by @drashna
2018-12-15 07:29:24 -08:00
noroadsleft
72bd17f290 converter/xt_usb: Configurator support (#4657) 2018-12-15 07:25:29 -08:00
noroadsleft
11439c4326 Configurator support for Sun Type 3 and Type 5 USB converters (#4656)
* Sun Type 3 USB converter: Configurator support

* Sun Type 5 USB converter: Configurator support
2018-12-15 07:25:11 -08:00
noroadsleft
ff5fcedb10 converter/palm_usb/stowaway: Configurator support (#4655) 2018-12-14 22:58:57 -08:00
noroadsleft
2527fe879f converter/ibm_5291: Configurator support and readme cleanup (#4654)
* converter/ibm_5291: Configurator support

- added layout data to info.json file
- corrected keyboard_folder value

* converter/ibm_5291: readme cleanup

- Fixed "image" url (target of link was a web page; changed markdown formatting to text link)
- Sentence capitalization fixes
- markdown formatting fixes for readability
2018-12-14 22:58:30 -08:00
noroadsleft
45591ee443 Keyboard: Chimera Ortho refactor (#4652)
* Layout macro refactor

- Renamed KC_KEYMAP to LAYOUT_kc
- Renamed KEYMAP to LAYOUT
- moved LAYOUT above LAYOUT_kc (Hoping this encourages users to use LAYOUT.)
- updated layout macro name in info.json
- white space changes for readability

* Keymap refactor: default

Default keymap now uses `#include QMK_KEYBOARD_H` and LAYOUT macro (from KC_KEYMAP/LAYOUT_kc). Keymap was also refactored to use process_record_user function instead of deprecated action_get_macro from TMK.

Also moved LONGPRESS_DELAY and LAYER_TOGGLE_DELAY definitions to config.h.

* Keymap refactor: dcompact

- Changed chimera_ortho.h include for QMK_KEYBOARD_H
- Updated layout name on keymap layers

* Coding conventions fix in default keymap

* Keymap refactor: gordon

- Changed chimera_ortho.h include for QMK_KEYBOARD_H
- Removed redundant includes of action_layer.h and process_tap_dance.h (superseded by QMK_KEYBOARD_H)
- Removed redundant definitions for KC_NO and KC_TRNS
- Updated layout name on keymap layers
2018-12-14 21:36:03 -08:00
Takeshi ISHII
8f790948e5 Refactor quantum/split_common/i2c.c, quantum/split_common/serial.c (#4522)
* add temporary compile test shell script

* Extended support of SKIP_VERSION to make invariant compile results during testing.

* build_keyboard.mk, tmk_core/rules.mk: add LIB_SRC, QUANTUM_LIB_SRC support

Support compiled object enclosed in library.

e.g.
```
LIB_SRC += xxxx.c
xxxx.c --> xxxx.o ---> xxxx.a
```

* remove 'ifdef/ifndef USE_I2C' from quantum/split_common/{i2c|serial}.c

* add SKIP_DEBUG_INFO into tmk_core/rules.mk

When SKIP_DEBUG_INFO=yes is specified, do not use the -g option at compile time.

* tmk_core/rules.mk: Library object need -fno-lto

* add SKIP_DEBUG_INFO=yes

* remove temporary compile test shell script

* add '#define SOFT_SERIAL_PIN D0' to keyboards/lets_split/rev?/config.h

* quantum/split_common/serial.c: Changed not to use USE_I2C.
2018-12-14 21:31:56 -08:00
noroadsleft
a49d98e665 Comet46: Configurator support 2018-12-14 20:04:08 -08:00
Drashna Jaelre
4f1f52b53b Add left/right EEPROM flashing for DFU (#4560) 2018-12-14 18:39:54 -08:00
Fred Silberberg
91a4a63ac7 Fix keymap build to send over remote desktop correctly. (#4651) 2018-12-14 18:39:16 -08:00
noroadsleft
039434caf9 Keyboard: Bpiphany Pegasus Hoof Refactor, Configurator support (#4649)
* Pegasus Hoof: layout macro refactor

- Renamed KEYMAP to LAYOUT
- Added LAYOUT_tkl_ansi macro
- white space changes (changed tabs for 2 spaces)

* Pegasus Hoof: keymap refactor

- updated layout macro names
- changed to #include QMK_KEYBOARD_H
- removed redundant KC_TRNS definitions
- white space changes (changed tabs to spaces)
- removed deprecated build script instructions from rules.mk files
- updated config.h to #pragma once

* Pegasus Hoof: Configurator support

* Pegasus Hoof: readme cleanup

- Reformat header and description paragraph
- Fix Hardware Availability link (was 404)
- renamed filename to lowercase

* Pegasus Hoof: add LAYOUTS = tkl_ansi to rules.mk

* Pegasus Hoof: fix LAYOUT_tkl_jis macro
2018-12-14 16:38:46 -08:00
zvecr
bb5262de07 Keyboard: Refactor fourier to use split common code (#4582)
* Refactor fourier to use split common code

* Refactor fourier to use split common code - fix handedness when not using EE_HANDS or MASTER_LEFT

* add SOFT_SERIAL_PIN config
2018-12-14 14:25:32 -08:00
zvecr
cb149650ef Keyboard: Lets split eh default keymap - Fixes for superseded default layer functionality (#4581)
* Fixes for superseded default layer functionality

* Fixes for superseded default layer functionality
2018-12-14 13:29:30 -08:00
noroadsleft
4446f86bfd Keyboard: Bpiphany Frosty Flake Refactor, Configurator support and readme cleanup (#4648)
* Frosty Flake: layout macro refactor

- frosty_flake.h updated to use #pragma once
- KEYMAP renamed to LAYOUT
- KEYMAP_TKL renamed to LAYOUT_tkl

* Frosty Flake: keymap refactor

- config.h files updated to #pragma once
- deleted deprecated build script rules from rules.mk
- keymap.c files:
  - #include QMK_KEYBOARD_H
  - updated layout macro name
  - white space changes for readability

* Frosty Flake: Configurator support

* Frosty Flake: readme cleanup

- Fixed Hardware Availability link (old link was 404)
- tiny grammar fix (colon missing on compile-and-flash instructions)
2018-12-14 13:01:04 -08:00
zvecr
306f23dc51 Document the correct path to the split keyboard EEPROM files (#4585)
* Document the correct path to the split keyboard EEPROM files

* Document the correct path to the split keyboard EEPROM files
2018-12-14 12:49:33 -08:00
patrickmt
118d5cc03f Fix macro redefinition for GNUC compilers > 6
GNUC compilers greater than version 6 already have the macro __always_inline defined. This fix checks GNUC version before defining the macro itself.
2018-12-14 12:47:17 -08:00
noroadsleft
8f02375cc6 Keyboard: B.mini EX refactor and Configurator support (#4647)
* B.mini EX: refactor

- add LAYOUT_ansi and LAYOUT_iso macros
- add ansi and iso keymaps with readme files

* B.mini EX: Configurator support
2018-12-14 11:37:26 -08:00
Takeshi ISHII
155e9310ff Make quantum/split_common/serial.[ch] configurable (#4419)
* add temporary compile test shell script

* add 'CONFIG_H += serial_backward_compatibility.h' into common_features.mk:SPLIT_KEYBOARD block

* add quantum/split_common/serial_backward_compatibility.h

SERIAL_PIN_PORT and other PIN define move to serial_backward_compatibility.h
SERIAL_BACKLIT_START move to split_util.h

* quantum/split_common/serial.c change to helix-serial.c style serial configuration

* add temporary file quantum/split_common/split-keyboards-list.txt

* add '#define SOFT_SERIAL_PIN D0' to keyboards/6lit/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/divergetm2/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/ergotravel/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/foobar/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/dactyl_manuform/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/qc60/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/handwired/xealous/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/iris/rev*/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/lets_split_eh/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/levinson/rev*/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/miniaxe/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/nyquist/rev?/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/quefrency/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/qwertyydox/config.h,keyboards/qwertyydox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/redox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/rorschach/rev1/config.h

* remove '#define SOFT_SERIAL_PIN D0' from quantum/split_common/serial_backward_compatibility.h

* remove temporary file quantum/split_common/split-keyboards-list.txt

* remove temporary compile test shell script

* Revert "remove temporary compile test shell script"

This reverts commit 15b0021b40.

* update quantum/split_common/compile_split_test.sh for new keyboard test

* add '#define SOFT_SERIAL_PIN D0' to keyboards/diverge3/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/40percentclub/25/config.h

* remove temporary compile test shell script

* update docs/config_options.md, quantum/template/avr/config.h

* fix quantum/template/avr/config.h

* fix typo  docs/config_options.md
2018-12-14 11:00:10 -08:00
Drashna Jaelre
9739d6ba0a Docs: Clarify audio keycodes (#4620)
* Clarify audio keycodes

* Spelling errors

Co-Authored-By: drashna <drashna@live.com>

* Spacing in md

Co-Authored-By: drashna <drashna@live.com>

* Fix midi link too

* Wordsmithing
2018-12-14 10:43:24 -08:00
Drashna Jaelre
161ffa0af6 Add some optimization to the Tetris keyboard (#4645) 2018-12-14 10:42:30 -08:00
Drashna Jaelre
02d44beb44 Fix up tap_code functionality (#4609)
* Add delay in Tap Code to avoid issues

I think a few people have reporting issues with it working properly, and it may be a timing issue.  The 'register_code' uses this sort of delay in some of the functions, and
this is probably why.

Adding the 100ms delay should hopefully fix any issues with it.

* Make tap_code delay configurable

* Update documentation

* Bring tap_code16 inline with changes

* Fix type for tap_code16

Bad copy-paste job

* Just use the value check for the define

* Clarify timing in docs

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 09:01:58 -08:00
Drashna Jaelre
80dfd34fe4 Add additional resource links (#4594)
* Add additional resource links

And fix a typo or two

* Update docs/newbs.md

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 07:52:11 -08:00
Drashna Jaelre
8c3054777a Docs: Remove duplicate layer block in keycodes.md (#4621)
* Docs: Remove duplicate layer block in keycodes.md

Reorder and add OSL

* remove glitch

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 07:51:17 -08:00
Drashna Jaelre
6c6bbff600 Enhance documentation for Tap-Hold functions (#4628) 2018-12-14 07:37:27 -08:00
Drashna Jaelre
641bbeb41a Remove userspace info from Quad-Function Tap Dance example (#4631) 2018-12-14 07:36:38 -08:00
noroadsleft
60f9abca12 handwired/CMD60 Refactor, Configurator support and readme update (#4632)
* handwired/CMD60: refactor

- renamed layout macro KEYMAP to LAYOUT
- removed K2C, K3B and K3C locations (indications are these locations were unused in hardware)
- keymap
  - now uses #include QMK_KEYBOARD_H
  - converted keycodes to short format
  - deleted TMK fn_actions and action_get_macro blocks
  - white space changes (readability/alignment)

* handwired/CMD60: Configurator support

* handwired/CMD60: readme update

- updated to conform to current QMK template
- added image and build gallery links

* handwired/cmd60: rename all files and folders to lowercase
2018-12-14 07:33:00 -08:00
noroadsleft
25892301d4 Keymap: handwired/108key_trackpoint Configurator support and readme update (#4633)
* handwired/108key_trackpoint: Configurator support

* handwired/108key_trackpoint: readme update

- fix typo in make command
- rename file to lowercase
2018-12-14 07:32:12 -08:00
Daniel Shields
1ae07f657a Keymap: Disable audio for planck/dshields/rev6 and enable retro tapping. (#4643) 2018-12-14 07:27:54 -08:00
Drashna Jaelre
dd03ac3893 Merge pull request #4642 from noroadsleft/cf/at101_blackheart
AT101 Blackheart Configurator support and readme update
2018-12-14 07:26:33 -08:00
noroadsleft
e83c62a002 Baguette: Configurator update
The layout was right, but offset on both axes.
2018-12-14 07:25:56 -08:00
noroadsleft
48933811c5 AT101 Blackheart: readme update
- added image
- updated Docs links
2018-12-13 23:36:58 -08:00
noroadsleft
119b02c540 AT101 Blackheart: Configurator support 2018-12-13 23:33:29 -08:00
noroadsleft
388de9bc07 Keyboardio Model 01: Configurator support 2018-12-13 22:54:56 -08:00
Fredric Silberberg
89b80b79d5 Add big switch layout 2018-12-13 18:30:15 -08:00
Fredric Silberberg
9e6ee47779 Added noeeprom versions of set hue, sat, val, and step 2018-12-13 18:30:15 -08:00
Fredric Silberberg
e8f730595c Dactyl_manuform map and updates to my ergodox layout for moving to a
different location.
2018-12-13 10:24:20 -08:00
Wilba6582
cc45f62d75 Added Dynamic Keymaps to M10-B 2018-12-13 08:18:49 -08:00
noroadsleft
24b17c9619 Keyboard: handwired/maartenwut readme cleanup and Configurator support (#4624)
* handwired/maartenwut: readme cleanup

- Fixed typo (Maarten's last name was misspelled)
- Updated Docs links

* handwired/maartenwut: Configurator support
2018-12-12 17:56:29 -08:00
noroadsleft
ca39fa8222 Keyboard: handwired/kbod Refactor, Configurator support and readme update (#4623)
* handwired/kbod: refactor

- layout macro KEYMAP renamed to LAYOUT

* handwired/kbod: update config.h files to #pragma once

* handwired/kbod: Configurator support

* handwired/kbod: readme update

- updated reademe to current template
- added image
2018-12-12 16:46:13 -08:00
ishtob
2cef75cbb3 Keymap: update ishtobs hadron keymap (#4613)
* adding ishtob's keymap to hadron ver3

* update ishtob keymap

* ishtob hadron keymap update 2

* Delete readme (Case Conflict).md

* Delete readme (Case Conflict).md

* add missing FN layer to ishtob hadron keymap

* removed unused toggle keycode
2018-12-12 15:20:30 -08:00
noroadsleft
4e78d28b4b Zlant: Configurator rendering bugfix (#4622)
Configurator's API uses the available alias name, instead of the direct matrix name.
2018-12-12 15:08:33 -08:00
noroadsleft
f6c0d999b9 Puck Refactor, Configurator support and readme cleanup (#4615)
* Puck: layout macro refactor

Reformat layout macro to resemble physical keyboard layout.

* Puck: Configurator support

* Puck: readme cleanup

Markdown formatting corrections.
2018-12-12 12:46:56 -08:00
noroadsleft
baf69ee89d S7 Elephant Configurator fixes (#4614)
* S7 Elephant: Configurator bugfix, part 1

Reformatted the JSON so each key is on its own line:

This makes the keys easier to rearrange.

* S7 Elephant: Configurator bugfix, part 2

Deleted the extra key from LAYOUT_iso_1u:

JSON contents stated this layout used a split Backspace, but the matrix is configured and intended to have a 2u Backspace.

Extended the Backspace to 2u width and deleted the extra key. (This fixes the error that broke LAYOUT_iso_1u's rendering in the Configurator.)

* S7 Elephant: Configurator bugfix, part 3

Fix ISO layouts:

Noticed JSON object for Enter on ISO layouts was immediately after Right Bracket. Inspection of s7_elephant.h revealed the expected and appropriate location to be after ISO Hash.

Moved Enter key to the proper location on all ISO layouts.
2018-12-12 12:46:12 -08:00
Konstantin Đorđević
28fbf84cc5 Add standard definitions for ALGR and KC_ALGR (#4389)
* Add standard ALGR defition, remove (re)definitions from language files

* Use ALGR(kc) consistently in ALTGR(kc) aliases

* Non-Nordic keymaps should not use NO_ALGR

* Add standard KC_ALGR definition

* Update docs with ALGR and KC_ALGR

* Update SS_ALGR and ALGR_T aliases
2018-12-12 10:17:19 -08:00
noroadsleft
8b6cdd1788 handwired/numpad20 Refactor and Configurator support (#4589)
* handwired/numpad20: refactor

- layout macro no longer auto-prepends keycodes with KC_
  - keymaps for this keyboard will now compile in QMK Configurator
- keymap now uses #include QMK_KEYBOARD_H
- deleted unused fn_actions code block

* handwired/numpad20: Configurator support
2018-12-11 20:49:44 -08:00
noroadsleft
d46d304395 Preonic Configurator update (#4598)
* Preonic: refactor layout macros

Unify layout macro names across AVR and ARM.

- all layouts and matrices have moved/duplicated to their appropriate revisions
  - preonic.h now includes the appropriate header file from the selected revision
  - revision header files only contain layouts appropriate for that revision
    - Previously, all layouts were available in source for all revisions.
- removed KEYMAP layout macro alias (was unused)
- macros LAYOUT_preonic_1x2uC and LAYOUT_preonic_grid for AVR and ARM revisions
  - LAYOUT_preonic_grid has alias LAYOUT_ortho_5x12 for all revisions
- deleted LAYOUT_ortho_4x12 alias (not appropriate for this keyboard)
- ARM-based revisions have 1x2uR, 1x2uL and 2x2u matrices

* Preonic: updated revision headers to #pragma once

* Preonic: update Configurator files

Updated the Configurator files to reflect the previous changes in this branch.

- Preonic revs. 1 and 2 will use keyboards/preonic/info.json
- Preonic rev. 3 will use keyboards/preonic/rev3/info.json
  - This file will override keyboards/preonic/info.json when preonic/rev3 is selected in the Configurator.
2018-12-11 18:58:10 -05:00
Twopidee
b11c332477 Keymap: Added Drewsky DZ60 keymap (#4607)
* Added Drewsky's DZ60 Keymap

* Update keyboards/dz60/keymaps/drewsky/keymap.c

Co-Authored-By: Twopidee <42394451+Twopidee@users.noreply.github.com>
2018-12-11 14:24:17 -08:00
Skyler Lewis
200ee8e797 Keymap: Dichotomy keymap by alairock (#4608)
* dichotemy layout for alairock

* dichotemy layout for alairock

* complete overhaul

* fix suggestions
2018-12-11 12:43:56 -08:00
noroadsleft
7c63c0a950 handwired/practice60: Configurator Support and refactor (#4603)
* handwired/practice60: Configurator Support

* handwired/practice60: refactor

- layout macro rows did not have an equal number of arguments in all rows of the matrix
- white space changes for readability/alignment
2018-12-11 09:47:06 -08:00
noroadsleft
a5a46f3d36 handwired/pteron: Configurator support 2018-12-11 09:46:39 -08:00
Drashna Jaelre
fb900e2ad1 Fix macro docs to be consistent with keyboard template (#4600) 2018-12-11 09:11:35 -08:00
Wilba
930e1dfc4c Changing Zeal60/Zeal65 VID/PID to be unique (#4605) 2018-12-11 07:31:13 -08:00
Drashna Jaelre
cce19d265d Reduce compile size of KBD6x (#4599)
Disable some functionality so that it will compile under size in the QMK Configurator
2018-12-11 07:29:17 -08:00
noroadsleft
a003be1e9c handwired/pilcrow Refactor, Configurator support and readme update (#4602)
* handwired/pilcrow: refactor

- layout macro renamed from KEYMAP to LAYOUT
- keymap now uses #include QMK_KEYBOARD_H
- layers reformatted for readability
- removed unused and deprecated fn_actions and action_get_macro blocks
- keymap config.h
  - updated to use #pragma once
  - removed redundant config.h include

* handwired/pilcrow: Configurator support

* handwired/pilcrow: readme update

Updated readme.md file to use modern template formatting.
2018-12-11 00:19:55 -08:00
Peter K. Cawley
3bef186ea6 adjust install_avr function to use unzip for broader compatibility (#4596)
On a laptop with god knows what mandatory security software (Cylance?), running up-to-date Windows 10 with msys2 mingw-64, attempting to install the AVR toolkit results in the following error:

```
1 [main] 7z (13316) C:\msys32\usr\lib\p7zip\7z.exe: *** fatal error - cygheap base mismatch detected - 0x612A5410/0x2375410.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
```

This appears to be related in some way, based on my research, to ASLR functionality in security software. Since I'm unable to override whatever is enforcing ASLR on my system, after trying several other approaches (removing other copies of msys-2.0.dll, which is what this is apparently actually referencing, rebasing that file in Windows to address 0x61000000, a few other things) I simply edited the installation shell script to use `unzip` instead of 7zip; `unzip`'s binary does not provoke a mismatch error and the installation proceeds as it should.

I'm not aware of the reason why some parts of the install script use `unzip` (e.g. `install_arm`) and others use 7zip, but it seems that for broader compatibility and sparing users on locked down machines the 120 minutes or so of futzing this took me to fix, it might be better to just use `unzip` in all cases.

Note: There is another function that uses 7zip, `extract_flip`. The line is `7z -oflip x FlipInstaller.exe`. I'm not sure what this is doing, or whether it's possible to do it with `unzip`, but it produces the same error. I haven't attempted to fix that in this PR, but it might be good to fix it for the same reason.
2018-12-10 16:15:15 -08:00
Drashna Jaelre
e5380795b9 Fix the LFKeyboards so they work with the QMK Configurator (#4591)
* Make layer_info weak so it works with QMK Configurator

* Fix lfk87 compile issue

* Add fixes for lfkpad
2018-12-10 11:38:57 -08:00
patrickmt
4a5e68f4f2 Bringing Massdrop keyboard hardware configuration to keyboard level (#4593)
MCU Pins for debugging, LED, boot tracing, and shift registers are now configurable at keyboard level.
Macros led_* replaced by DBG_LED_*
Macros m15_* replaced by DBG_1_*
Macros m27_* replaced by DBG_2_*
Macros m28_* replaced by DBG_3_*
For CTRL and ALT keyboards, debug boot tracing pin default now set to pad M27 instead of M28 since although M28 is not being used, it is technically a signal for USB port detection.
m15_print(...) renamed to dbg_print(...) to get away from hard coded port names.
dbg_print function now follows similar pattern to debug led output.
2018-12-10 11:28:06 -08:00
Michael
e99615b2ac Keyboard: Added RGB toggle and cycle to default KDB6x mapping. (#4592)
* Added RGB toggle and cycle to default mapping. This is present on layouts on 'http://qmkeyboard.cn/' but not here.

* Added addition keycodes for hue/sat/val.
2018-12-10 10:49:19 -08:00
noroadsleft
090c30212e handwired/onekey Refactor and readme update (#4590)
* handwired/onekey: refactor

- keyboard now uses a layout macro
- keymap now uses #include QMK_KEYBOARD_H

* handwired/onekey: readme update

Updated Docs links.
2018-12-10 09:22:50 -08:00
noroadsleft
753f57ee00 handwired/nicekey Refactor and readme cleanup (#4588)
* handwired/nicekey: refactor

Now uses a layout macro.

* handwired/nicekey: readme cleanup

- linked maintainer's GitHub account
- updated Docs links
2018-12-09 21:43:24 -08:00
Vyolle
fd3b0787ed Fixed lack of semi colon. (#4587) 2018-12-09 17:52:00 -08:00
Ben
16302be5ad docs typo (#4584) 2018-12-09 14:26:09 -08:00
MakotoKurauchi
b8db0b26b1 Keymap: Fixed a problem with underglow with froggy keymap (#4580) 2018-12-09 08:42:28 -08:00
zer09
614b3a0f7c Keymap: Keymap update (#4579)
* Add YREG keycode

* Add GM layer

* Set tapping term to 105

* update tapping term
2018-12-09 08:28:46 -08:00
marksard
11eaccdbce Keymap: Modified like-jis keymap for crkbd (#4577) 2018-12-08 09:43:57 -08:00
Konstantin Đorđević
13ad650136 Add a better Docker build script + update Dockerfile (#4222)
* Add a Docker build script

* Add usage and error messages

* Add -r to reads

Thanks mechmerlin

* Add keyboard:keymap form, improve script

* Add target argument, change usage forms in script

* Add check for more than 3 args in keyboard:keymap:target form

* Change Docker base image to debian, use community repo

This matches what qmk_compiler uses (https://github.com/qmk/qmk_compiler/blob/master/Dockerfile#L1).

I've removed the maintainer as we now have a community build on Docker Hub (https://hub.docker.com/r/qmkfm/qmk_firmware). This Dockerfile will also be maintained by the community.

* Change build command format to keyboard:keymap

* Call make directly in container run command

* Simplify script, remove 3-arg form

* Add COPY to Dockerfile so images are usable in and of themselves

Also change WORKDIR from /qmk to /qmk_firmware

* Add USB pass-through for Linux and docker-machine hosts

* Read directly into variables instead of array

* Alphabetically sort dependencies in Dockerfile

* Set executable bit on util/docker_build.sh

* Update Docker docs

* Add warning about Docker on Windows

* Expand comment in docs

* Check docker-machine exit code instead of string

* Only match --help with whole arguments

* Make script POSIX-compliant

* Convert script indentation to tabs
2018-12-08 09:42:46 -08:00
Drashna Jaelre
2ad2b73d68 Add support for PR and Issue templates to QMK_firmware GitHub (#4494)
* Add support document

* Add Bug Report

* Add GitHub Pull Request Template

* Feature request issue template

* Touch up feature request template

* Add 'other issues' template

* move support doc

* Minor tweaks

* More minor tweaks

* Spleeling fix

Co-Authored-By: drashna <drashna@live.com>

* CapiTALization fIXes

Co-Authored-By: drashna <drashna@live.com>

* Use new issue URL

Co-Authored-By: drashna <drashna@live.com>

* Add blanck issue template

* Update the PR template

* Formatting and additional changes

* Update docs/support.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-07 16:51:27 -08:00
Vyolle
3e698a54ea Removed mousekeys. Added Levinson Steno keymap. (#4574)
* Changed location of mouse 3, and arrow keys

* Removed MouseKeys. Added Levinson Layout
2018-12-07 16:50:43 -08:00
ajp10304
6d78d45ca1 AJP10304 Planck layout, add LAYOUT_planck_grid (#4575) 2018-12-07 16:49:33 -08:00
noroadsleft
c9159effc0 handwired/MS_sculpt_mobile Refactor, Configurator and cleanup (#4576)
* handwired/MS_sculpt_mobile: refactor

- layout macro KEYMAP renamed to LAYOUT
- layout macro MATRIX_TESTING_KEYMAP renamed to MATRIX_TESTING_LAYOUT

* handwired/MS_sculpt_mobile: Configurator support

* handwired/MS_sculpt_mobile: readme cleanup

* handwired/MS_sculpt_mobile: rename folder

Renamed the directory to fully lowercase.

* handwired/MS_sculpt_mobile: rename keyboard files

Renamed the keyboard core files to fully lowercase.

* handwired/ms_sculpt_mobile: keymap readme cleanup

Capitalization fixes because I'm that guy.

* handwired/ms_sculpt_mobile: keymap config.h fixes

Keymap config.h files updated to use #pragma once

* handwired/ms_sculpt_mobile: updated paths

Fixing path references due to rename.
2018-12-07 16:48:03 -08:00
Nico Hormazábal
7749f4590f Keymap: Updated keymap with better F positioning (#4463)
* added own keymap for planck

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* Update Readme.md

* dynamic macros

* Update Readme.md

* moved the reset button

* Update readme for volume explanation

* Format

* Update Readme.md

* Update Readme.md

* added safe double shift

* changed the modified shift to regular shift, for allowing shift + F keys

* moved power stuff to the function layer

* del button on raise

* Update Readme.md

* updated F keys

* Update Readme.md

* Update Readme.md

* moved F keys

* fixed conflicts

* missed something

* moved F11 and F12

* Update layout in the image

* Update keyboards/planck/keymaps/dr_notsokind/keymap.c

Co-Authored-By: pnikosis <pnikosis@gmail.com>

* Apply suggestions from code review

Co-Authored-By: pnikosis <pnikosis@gmail.com>
2018-12-07 14:00:26 -08:00
noroadsleft
5b7260fc53 Keyboard: handwired/minorca Refactor, Configurator support and readme cleanup (#4571)
* handwired/minorca: refactor

- Refactored keymaps to use a layout macro, which was added to minorca.h.
- keymaps now use QMK_KEYBOARD_H include
- removed redundant KC_TRNS and KC_NO definitions
- rgb keymap refactor to use QMK core layer switching and Mod-Tap keycodes

* handwired/minorca: Configurator support

* handwired/minorca: readme cleanup

Restructure readme file to current QMK template.
2018-12-07 13:46:23 -08:00
ishtob
afb4a43677 Keymap: adding ishtob's keymap to hadron ver3 (#4570) 2018-12-07 13:37:28 -08:00
Sebastian Spieß
ca9262ca3d Add levinson keymap for user 'drogglbecher' (#4566)
* Add levinson layout for drogglbecher

* Add tab to layer 0

* Change OS key to ALT

* Remove unnecessary KC_TRNS define

Co-Authored-By: Drogglbecher <code@sebastian-spiess.de>
2018-12-07 08:36:51 -08:00
Alex Mayer
0f2108c905 1up60hse: Make Keymap Rows Match Keyboard Row Layout (#4564)
Remove unused process_record_user function
2018-12-07 07:56:38 -08:00
Jason Thigpen
45dca4bc40 crd alps64 updates (#4565)
* Update alps64 aek layout to work

I tried using the layout provided with my alp64 board in AEK
configuration, but keys weren't mapping correctly until I made this fix.

* Update crd's alps64 aek keymp to match other boards

(inspired by mechmerlin)

* Fix minor whitespace issue
2018-12-07 07:52:31 -08:00
milestogo
3f96ba0113 Keyboard: Palm serial keyboard USB converter (#4485)
* Initial palm_usb support

* removing left over sun .c file

* fixing licenses

* actually adding updated files

* fixing build error

* more include cleanup
2018-12-06 17:13:15 -08:00
noroadsleft
2fb14845d5 handwired/gamenum Refactor, Configurator support and readme cleanup (#4563)
* handwired/gamenum: refactor

- layout macro KEYMAP renamed to LAYOUT
  - white space changes for alignment
- default keymap
  - now uses #include QMK_KEYBOARD_H
  - updated layout macro names
  - white space changes (for readability)

* handwired/gamenum: Configurator support

* handwired/gamenum: readme cleanup

- renamed file to lowercase
- updated to match current QMK template more closely
- edits to reflect the other changes in this PR
2018-12-06 15:19:40 -08:00
Ian O'Dea
21bc230dfd Vertical animation support for arm_atsam led_matrix (#4538)
* Add initial support for vertically-oriented animations

* DRY up vertical animation support

* Fix animation code for arm_atsam led_matrix to work in all directions

* Adjust py calculation to base off bottom rather than top
2018-12-06 08:58:58 -08:00
fauxpark
42c9fd2625 Delete docs/keycode.txt (#4505) 2018-12-06 08:31:17 -08:00
Drashna Jaelre
4e5f921496 Allow HS60 to use Community Layouts (#3862)
* Add layout support to HS60

* Update Readme for HS60

* Remove defective code

* Clean up readme

* Fix typo
2018-12-06 07:40:19 -08:00
noroadsleft
dee2faf387 handwired/frenchdev Refactor, Configurator support and readme cleanup (#4561)
* handwired/frenchdev: refactor

- layout macro KEYMAP renamed to LAYOUT
- default keymap
  - now uses #include QMK_KEYBOARD_H
  - updated layout macro names

* handwired/frenchdev: Configurator support

* handwired/frenchdev: readme cleanup

Capitalization and markdown formatting fixes.
2018-12-06 07:29:42 -08:00
noroadsleft
a5b43b35fe Sol rev1 Configurator support (#4562)
Adds Configurator support for the Sol rev. 1 by RGBKB.

Notes:

The Sol keyboard supports split thumb keys like the Ergodox - any of the 2u thumb keys can be split into two 1u keys. The matrix here is configured for fully 1u keys on the thumbs.

The Sol also supports installing a rotary encoder on each half. The key matrix given includes the encoders' functions, which are shown in the Configurator as two 1u keys side by side below each half's main key block. The left key of the two (for each side) represents that half's rotary encoder's counter-clockwise function, and the right key is that encoder's clockwise function.
2018-12-06 07:27:04 -08:00
Snipeye
57678238a9 Keyboard: Fixing spelling, updating code, finalizing keymap for Dichotomy (#4539)
* Fixing spelling, updating code, finalizing keymap for Dichotomy

* Fixing requested changes in PR

* Further PR-requested changes for convention

* Making macros functionable, removing unecessary defs

* Fixing keymap to properly use previously-changed macros
2018-12-05 18:31:21 -08:00
noroadsleft
8ad561c8f0 Keyboard: handwired/fivethirteen Refactor, Configurator support, and readme cleanup (#4559)
* handwired/fivethirteen: refactor

- Layout macro KEYMAP renamed to LAYOUT
- Default keymap
  - now uses #include QMK_KEYBOARD_H
  - Removed redundant KC_TRNS definition
  - Removed deprecated fn_actions and action_get_macro functions.

* handwired/fivethirteen: Configurator support

* handwired/fivethirteen: readme cleanup

Restructured readme file to be closer to current QMK template.

Couldn't find a photo of an assembled fivethirteen, so deleted the
reference to the photograph.

Renamed to readme.md
2018-12-05 16:55:35 -08:00
noroadsleft
58670ef4b7 Keyboard: Configurator support for handwired/dactyl_manuform (#4558)
* handwired/dactyl_manuform/4x5: Configurator support

* handwired/dactyl_manuform/4x6: Configurator support

* handwired/dactyl_manuform/5x6: Configurator support

* handwired/dactyl_manuform/5x7: Configurator support

* handwired/dactyl_manuform/6x6: Configurator support
2018-12-05 15:27:55 -08:00
Ivan Choi
fd0f78254d Keymap: Updated files to work with Planck Rev. 6 (#4552)
* Update to work with Planck Rev. 6

Still something that needs to be worked with under keymap.c

Qwerty layer tap-toggle function seems to be a little laggy? Not instantaneous

* Changes

Deleted some unneeded lines

* deleting unneeded lines
2018-12-05 15:20:39 -08:00
jtcarrasco
04de0533b8 Keymap: Jtcarrasco (#4513)
* my XD75 builds for idobo and XD75

these are my xd75 layouts for the 2 versions of the board

* clearing of free space

spring cleaning

* additional cleaning

more spring cleaning

* removed lighting commands

don't need lighting on the idobo board so removal of such commands to keep the sizing down

* update for readme.md

* Update config.h

* commiting with keymap erros on idobo for review

* syntax fix for idobo and xd75 revok75, addition of del key switch on fn layer

* config edit to config user and keymap QMK_KEYBOARD_H

* update to vol controls for both idobo and xd75 for revok75 keymap

* filename changes
2018-12-05 15:13:31 -08:00
zvecr
368de26996 Keyboard: Initial i75 port (#4553)
* Initial i75 port - currently supporting promicro and teensy2

* Initial i75 port - review fixes
2018-12-05 13:56:43 -08:00
zvecr
161afe2e54 Keyboard: Fixes for superseded audio and default layer functionality (#4557) 2018-12-05 13:12:07 -08:00
Vyolle
ff3369ac5d Changed location of mouse 3, and arrow keys (#4556) 2018-12-05 12:13:52 -08:00
Drashna Jaelre
59b2be6200 Re-order feature list in sidebar (#4555)
Specifically, moved the shifted keycodes to the top of the 'Feature' list, so it's more visible.  This way, all of the keycodes are at the top of the list, rather than having the shifted keys at the bottom, so they should be easier to find since they're all in one place.
2018-12-05 10:28:06 -08:00
zvecr
b3d6426aa9 Keyboard: Refactor lets split to use split common code (#4536)
* Refactor lets split to use split common code

* Refactor lets split to use split common code

* Build fixes for OLED_sample keymap

* Build fixes for OLED_sample keymap - attempt to reduce firmware size
2018-12-05 09:51:35 -08:00
Nicholas Shaff
d0da43fbdc Keyboard: Updated sixshooter keyboard to move LED macros into the default keymap. (#4428) 2018-12-05 09:35:26 -08:00
Jarrett Drouillard
7d4955b2c4 Keymap: Preonic kuatsure updates 2018-Nov (#4500)
* preonic-kuatsure: ctrl / esc in one key + hello ` again

* preonic-kuatsure: remove esc on lower

* preonic-kuatsure: programmy macros

* user-kuatsure: turn off console all the time

* preonic-kuatsure: auto shift, but only for numbers

* preonic-kuatsure: remove programmery macros

* preonic-kuatsure: move braces, parens, etc over to raise

backwards compat

move &*() on lower

* preonic-kuatsure: stop with the full rep of game layer
2018-12-05 09:08:05 -08:00
Jason Thigpen
d115abfd8d Keyboard: Add dz60 tsangan hhkb (#4529)
* Add tsangan bottom row hhkb layout for dz60

* Add crd's tsangan hhkb layout for dz60

* Resort to native key aliases when they exist

* Update crd's dz60 ansi keymap to match updates for hhkb fn layer

* Add tsangan hhkb layout to dz60 info.json for KLE

* Fix JSON nesting in dz60 layouts block

* Minor adjustments to crd layouts to make them more consistent

* Update layout naming to 60_tsangan_hhkb
2018-12-05 09:02:26 -08:00
fauxpark
d6b7ca04f2 Only try to read the report ID from SetReport when the keyboard is part of the shared EP
Fixes #4471
Fixes #4517
2018-12-05 08:50:29 -08:00
wanleg
0677e64655 Keymap: Wanleg layout updates (#4550)
* config fixes (including for issue #3678)

* put back audio

* jj40 backlighting setup

* jj40 backlighting setup

* rules.mk fix

* jj40 backlighting settings

* iris setup

* iris setup

* iris setup

* iris setup

* iris setup - onehand

* remove commented-out section

* edits due to #4403

* xd75 testing

* fix 5x15 layout issues with 5x5 bluetooth & xd75

* commenting out unused placeholders

* change iris to more wanleg-like 4x12 layout

* formatting changes

* onehand layout cleanup/fix

* revert temp change
2018-12-05 08:42:50 -08:00
zvecr
20130e010b Keyboard: Initial nori port (#4542)
* Initial nori port

* ortho_4x4 layout and RGB fixes

* Review fixes for superseded audio and default layer functionality
2018-12-05 08:36:31 -08:00
Vyolle
86a7687a87 Major revisions, focused on streamlining and useability (#4554) 2018-12-05 08:19:14 -08:00
Ismael Venegas Castelló
538874f90f Keymap: Hacker Dvorak (#4514)
* Hacker Dvorak

Programmer Dvorak based layout for the Ergodox EZ.

* Address drashna comments.

* Fix RGB and drop OSL for MO.

* Add gulp file to automate development.

* Fix gulpfile.

* Caps, num and scroll lock indicators.

* Fix scroll lock.
2018-12-05 08:12:35 -08:00
Legonut
8a330b33ff Keyboard: Add new keyboard "Sol" from RGBKB (#4497)
* Add final RGBKB Sol firmware

* Apply suggestions from code review

Apply most of the changes noroadsleft has suggested

Co-Authored-By: Legonut <legonut3@gmail.com>

* Cleanup readme

* Cleanup keymaps per @noroadslefts suggestions

* Remove eeproms, use set_single_persistent_default_layer

* Suggestions from @noroadsleft and @drashna

some small cleanup

* Change RGB_SMOD to RGB_RMOD

* fix RGB_SMOD

* Apply suggestions from code review

Remove redundant lines

Co-Authored-By: Legonut <legonut3@gmail.com>
2018-12-04 18:15:52 -08:00
Drashna Jaelre
6d0dc910d9 Rework drashna userspace to be more modular (#4544)
* Break up files to make more readable

* Add comments to ortho 4x12 layout rules.mk

* Small tweaks

* Update GitLab CI scripts

* Make ortho boards smaller
2018-12-04 13:27:41 -08:00
Yan-Fa Li
106de349fb Invalid JSON (#4547) 2018-12-04 10:09:39 -08:00
Alex Mayer
59dc31a737 Keymap: Ergodox EZ: Clean Up Keymap Array Alignment (#4545)
Remove layer name comments, they are above the visual layout
Remove comments explaining things that are documented in qmk docs
2018-12-04 09:25:27 -08:00
ishtob
4099536c0e adding Hadron v3 keyboard, QWIIC devices support, haptic feedback support (#4462)
* add initial support for hadron ver3

* add initial support for hadron ver3

* pull qwiic support for micro_led to be modified for use in hadron's 64x24 ssd1306 oled display

* initial work on OLED using qwiic driver

* early work to get 128x32 oled working by redefining qwiic micro oled parameters. Currently working, but would affect qwiic's micro oled functionality

* moved oled defines to config.h and added ifndef to micro_oled driver

* WORKING :D - note, still work in progress to get the start location correct on the 128x32 display.

* added equation to automatically calculate display offset based on screen width

* adding time-out timer to oled display

* changed read lock staus via read_led_state

* lock indications fixes

* Added scroll lock indication to oled

* add support for DRV2605 haptic driver

* Improve readabiity of DRV2605 driver.
-added typedef for waveform library
-added unions for registers

* Update keyboards/hadron/ver2/keymaps/default/config.h

Co-Authored-By: ishtob <ishtob@gmail.com>

* Update keyboards/hadron/ver2/keymaps/default/config.h

Co-Authored-By: ishtob <ishtob@gmail.com>

* Update keyboards/hadron/ver2/keymaps/default/config.h

Co-Authored-By: ishtob <ishtob@gmail.com>

* Update keyboards/hadron/ver2/keymaps/default/config.h

Co-Authored-By: ishtob <ishtob@gmail.com>

* Fixes for PR

* PR fixes

* fix old persistent layer function to use new set_single_persistent_default_layer

* fix issues with changing makefile defines that broken per-key haptic pulse

* Comment fixes

* Add definable parameter and auto-calibration based on motor choice
2018-12-04 08:04:57 -08:00
VM
4bb28d2df0 Keymap: adding my keymap primarily to iris (#4541) 2018-12-03 21:10:28 -08:00
Luciano Malavasi
ac4fd5e99e Keymap: Fixed include statement in my Let's Split keymap. (#4543)
* keymap + alpha

* some fixes

* keymap + alpha

* some fixes

* drashna changes

* linked main Alpha repo in keyboards/alpha readme

* missed a spot

* there's another function called FUNC lol

* keymap + alpha

* some fixes

* keymap + alpha

* drashna changes

* Fixed include

* Revert "Fixed include"

This reverts commit ea92f261f8.

* messed up my git, fixed include
2018-12-03 20:45:41 -08:00
Drashna Jaelre
3a0f3a5bd0 Make ARM Audio max volume configurable (#4540)
* Make ARM Audio max volume configurable

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-03 16:42:57 -08:00
Drashna Jaelre
da1afe152a Fix up RGB Matrix code (#4503)
* Fix up RGB Matrix code

* Convert RGBLIGHT functions to rgbmatrix ones, and add defines
2018-12-03 10:27:15 -08:00
epaew
fe982caf5d Add edvorakjp kepmap for crkbd (#4537)
* edvorakjp layout for crkbd

* bugfix of edvorakjp

QMK cannot send keycode that doesn't exists on new layer.
2018-12-03 08:00:00 -08:00
Jack Humbert
5d47231f2a Add sidebar for ZH (#4533)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph

* add fallback langurages

* Create LANGS.md

* Rename docs/zh-cn/README.md to docs/zh/README.md

* Update LANGS.md

* Update index.html

* Delete README.md

* add sidebar for zh
2018-12-02 15:35:53 -05:00
Jack Humbert
d5a06aec83 Second try at configuring i18n for docsify and gitbook (#4531)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph

* add fallback langurages

* Create LANGS.md

* Rename docs/zh-cn/README.md to docs/zh/README.md

* Update LANGS.md

* Update index.html
2018-12-02 15:12:54 -05:00
noroadsleft
dbc7761688 Keyboard: handwired/atreus50 Refactor, Configurator support, and readme cleanup (#4530)
* handwired/atreus50: refactor

- layout macro renames:
  - KEYMAP is now LAYOUT
  - COMPACT_KEYMAP is now LAYOUT_kc
- keymap updates:
  - both keymaps now use #include QMK_KEYBOARD_H
  - removed redundant KC_TRNS and KC_NO definitions
  - default keymap now uses LAYOUT macro instead of LAYOUT_kc

* handwired/atreus50: readme cleanup

Reformatted the readme to be more closely aligned to current QMK
template, and fixed some typos/grammar.

* handwired/atreus50: Configurator support
2018-12-01 23:22:40 -08:00
MechMerlin
0db6bb10e0 Keyboard: Enable Lights by Default for Kira 75 (#4527)
* enable rgb underglow and backlights by default for use with QMK Configurator

* disable mousekeys
2018-12-01 17:28:35 -08:00
MechMerlin
1fd4546fff Keyboard: Add HHKB layout support to the DO60 (#4526)
* add 60_hhkb support

* add qmk configurator support for the new 60_hhkb layout

* allow community layout support for the 60_hhkb

* fixup readme to adhere to new QMK standards
2018-12-01 17:19:33 -08:00
noroadsleft
064d9e2175 handwired/promethium Refactor and Configurator support (#4524)
* handwired/promethium: refactor

- config.h files
  - updated to use #pragma once
  - removed redundant config.h includes
- layout macro moved from config.h to promethium.h
- layout macro renamed from KEYMAP_CUSTOM to LAYOUT

* handwired/promethium: Configurator support
2018-12-01 16:29:16 -08:00
noroadsleft
a90331aec2 handwired/ortho5x13 default keymap refactor, Configurator support, and readme update (#4525)
* handwired/ortho5x13: default keymap refactor

- keymap now uses LAYOUT macro
- keymap now uses #include QMK_KEYBOARD_H
- removed redundant KC_TRNS and KC_NO definitions

* handwired/ortho5x13: Configurator support

* handwired/ortho5x13: fix Docs links in readme
2018-12-01 16:28:32 -08:00
Erovia
0b0c98929b Add support for S7 Elephant (#4511)
* Add support for S7 Elephant

A high-end 70% custom keyboard designed and produced by jacky from Geekhack.

* Polish S7 Elephant code

Implement drashna's suggestions:

- specify bootloader
- remove unnecessary defines
- use led_set_user() for LED logic

* Correct info.json and s7_elephant.h

Correct info.json and s7_elepant.h to follow QMK convention and fix a
missing curly bracket.
2018-12-01 08:57:30 -08:00
Drashna Jaelre
75a51659ab Add tap_random_base64 and software timer info to Useful Functions doc (#4360)
* Update docs

* Add security caveat

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Update docs/ref_functions.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-01 08:21:06 -08:00
Jason Thigpen
5803012eda Add a layout to support tsangan bottom row with split bs and rshift (#4521)
* Add a layout to support tsangan bottom row with split bs and rshift

* Move the new layout to defaults

* Rename layout to be more accurately representative

* Rename files to match renamed layout def
2018-12-01 08:17:50 -08:00
Alex Mayer
8c033497c6 Planck: Align Keycode Columns (#4523)
Remove Extra Newlines
2018-11-30 14:51:45 -08:00
Wilba
d7f1e072a8 Added macros to Dynamic Keymaps, Zeal60 RGB backlight improvements (#4520)
* Refactored M6-B to use Zeal60 RGB backlight code

* Fixed M6-B LED co-ordinates

* Minor changes to RGB config for Zeal65

* Added dynamic keymaps to WT80-A, WT60-A, WT-80A, U80-A

* Macro implementation

* Implemented macros, API protocol version 8, RGB backlight fixes

* Improved radial effects for M6-B

* Fixed undefined references when building an RGB keyboard after M6-A
2018-11-30 08:43:34 -08:00
Jack Humbert
b10aad45b6 Test out i18n of the docs (#4519)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph
2018-11-30 00:14:55 -05:00
MechMerlin
81ce35c10a New Keyboard: Cyclops (#4512)
* initial commit

* add correct atmega32u4 pins used

* add a basic layout

* add simple keymap

* update readme

* Add QMK Configurator support

* add whitespace for formatting
2018-11-29 07:57:06 -08:00
Paul Massendari
fbf59ba2e5 Typo fix (#4515) 2018-11-29 07:33:45 -08:00
GO
87e6d01374 Keyboard: add newgame (#4466)
* Add files via upload

* Add files via upload

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/newgame40.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/keymaps/default/keymap.c

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/config.h

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/rules.mk

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/rules.mk

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Add readme (newgame40)

* Update keyboards/newgame40/readme.md

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keyboards/newgame40/readme.md

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Update keymap.c

* Update keyboards/newgame40/rules.mk

Co-Authored-By: GoTakigawa <44800276+GoTakigawa@users.noreply.github.com>

* Add files via upload

* remove community/ortho_4x10
2018-11-28 09:20:46 -08:00
noroadsleft
fff6f22cf6 Keyboard: handwired/bluepill Configurator support and readme cleanup (#4509)
* handwired/bluepill/bluepill70: Configurator support

* handwired/bluepill: readme cleanup

Formatting fixes to make the file easier to read.
2018-11-28 08:51:16 -08:00
Giuseppe Rota
8b85ec2a98 Add Extrakey support for Brightness up/down (#4477) 2018-11-28 08:19:07 -08:00
Alex Ong
a55c838961 Added bold in a few areas. 2018-08-29 10:49:53 +10:00
Alex Ong
e8e6268765 Fixed missing whitespace in debounce documentation
Table wasn't working due to missing newline.
2018-08-29 10:48:11 +10:00
Alex Ong
4db27a2c76 Changed order of rules in TMK. Documented feature. 2018-08-29 10:45:53 +10:00
Alex Ong
3cf7f7322c Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes. 2018-08-29 10:19:36 +10:00
Shihpin Tseng
1950a145c7 Fix process_combo which assign -1 to uint16_t 2018-08-20 02:29:08 +08:00
Alex Ong
ac9b88e8cc Removed NP_STAR and NP_SLSH. 2018-08-12 21:39:55 +10:00
Alex Ong
714e0da960 Basic keymap (no FN). Compiles. 2018-08-12 21:27:51 +10:00
Alex Ong
c796944354 Delete removed other keymaps 2018-08-12 18:25:50 +10:00
alex-ong
2758158a4b Added xeal60 via clone of lets split 2018-08-12 17:23:58 +10:00
11711 changed files with 462316 additions and 548906 deletions

26
.clang-format Normal file
View File

@@ -0,0 +1,26 @@
---
BasedOnStyle: Google
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AlignOperands: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'false'
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: 'false'
BinPackArguments: 'true'
BinPackParameters: 'true'
ColumnLimit: '1000'
IndentCaseLabels: 'true'
IndentPPDirectives: AfterHash
IndentWidth: '4'
MaxEmptyLinesToKeep: '1'
PointerAlignment: Right
SortIncludes: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: 'false'
TabWidth: '4'
UseTab: Never
...

View File

@@ -5,7 +5,7 @@ root = true
[*]
indent_style = space
indent_size = 2
indent_size = 4
# We recommend you to keep these unchanged
charset = utf-8
@@ -16,12 +16,18 @@ insert_final_newline = true
trim_trailing_whitespace = false
indent_size = 4
[{qmk,*.py}]
charset = utf-8
max_line_length = 200
# Make these match what we have in .gitattributes
[*.mk]
end_of_line = lf
indent_style = tab
[Makefile]
end_of_line = lf
indent_style = tab
[*.sh]
end_of_line = lf

11
.github/ISSUE_TEMPLATE/blank.md vendored Normal file
View File

@@ -0,0 +1,11 @@
---
name: Blank issue
about: If you're 100% sure that you don't need one of the other issue templates, use
this one instead.
title: ''
labels: help wanted, question
assignees: ''
---

37
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: bug, help wanted, discussion
assignees: ''
---
<!-- Provide a general summary of the bug in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
## Describe the Bug
<!-- A clear and concise description of what the bug is. -->
## System Information
- Keyboard:
- Revision (if applicable):
- Operating system:
- AVR GCC version:
<!-- Run `avr-gcc --version` to find this out. -->
- ARM GCC version:
<!-- Run `arm-none-eabi-gcc --version` to find this out. -->
- QMK Firmware version:
<!-- Run `git describe --abbrev=0 --tags` to find this out. -->
- Any keyboard related software installed?
- [ ] AutoHotKey
- [ ] Karabiner
- [ ] Other:
## Additional Context
<!-- Add any other relevant information about the problem here. -->

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: QMK Discord
url: https://discord.gg/Uq7gcHh
about: Ask questions, discuss issues and features. Chill.
- name: OLKB Subreddit
url: https://www.reddit.com/r/olkb
about: All things OLKB and QMK.

View File

@@ -0,0 +1,24 @@
---
name: Feature request
about: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: enhancement, help wanted, discussion
assignees: ''
---
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
## Feature Request Type
- [ ] Core functionality
- [ ] Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
- [ ] Alteration (enhancement/optimization) of existing feature(s)
- [ ] New behavior
## Description
<!-- A few sentences describing what it is that you'd like to see in QMK. Additional information (such as links to spec sheets, licensing info, other related issues or PRs, etc) would be helpful. -->

14
.github/ISSUE_TEMPLATE/other_issues.md vendored Normal file
View File

@@ -0,0 +1,14 @@
---
name: Other issues
about: Anything else that doesn't fall into the above categories.
title: ''
labels: help wanted, question, discussion
assignees: ''
---
<!--- Provide a general summary of the changes you want in the title above. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
<!-- Please check https://docs.qmk.fm/#/support for additional resources first. If that doesn't answer your question, choose the bug report template instead, as that may be more appropriate. -->

34
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,34 @@
<!--- Provide a general summary of your changes in the title above. -->
<!--- This template is entirely optional and can be removed, but is here to help both you and us. -->
<!--- Anything on lines wrapped in comments like these will not show up in the final text. -->
## Description
<!--- Describe your changes in detail here. -->
## Types of Changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply. -->
- [ ] Core
- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement/optimization
- [ ] Keyboard (addition or update)
- [ ] Keymap/layout/userspace (addition or update)
- [ ] Documentation
## Issues Fixed or Closed by This PR
*
## Checklist
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the [**CONTRIBUTING** document](https://docs.qmk.fm/#/contributing).
- [ ] I have added tests to cover my changes.
- [ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

9
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.history/
.dep
*.o
*.bin
@@ -24,7 +25,7 @@ quantum/version.h
CMakeLists.txt
cmake-build-debug
doxygen/
.DS_STORE
.DS_Store
/util/wsl_downloaded
/util/win_downloaded
/keyboards/*/Makefile
@@ -53,13 +54,14 @@ util/Win_Check_Output.txt
.vscode/tasks.json
.vscode/last.sql
.vscode/temp.sql
.vscode/ipch/
.stfolder
.tags
# ignore image files
*.png
*.jpg
*.gif
*.jpg
# Do not ignore MiniDox left/right hand eeprom files
!keyboards/minidox/*.eep
@@ -68,3 +70,6 @@ util/Win_Check_Output.txt
secrets.tar
id_rsa_*
/.vs
# python things
__pycache__

3
.gitmodules vendored
View File

@@ -11,3 +11,6 @@
[submodule "lib/googletest"]
path = lib/googletest
url = https://github.com/google/googletest
[submodule "lib/lufa"]
path = lib/lufa
url = https://github.com/qmk/lufa

View File

@@ -1,6 +1,5 @@
os: linux
dist: trusty
sudo: required
group: edge
language: c
branches:
@@ -10,30 +9,25 @@ branches:
env:
global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
before_install:
- wget http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz || wget http://qmk.fm/avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
- MAKEFLAGS="-j3 --output-sync"
services:
- docker
install:
- tar -zxf avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz
- export PATH="$PATH:$TRAVIS_BUILD_DIR/avr8-gnu-toolchain-linux_x86_64/bin"
- npm install -g moxygen
before_script:
- avr-gcc --version
script:
- make test:all AUTOGEN=false
- bash util/travis_build.sh
- bash util/travis_docs.sh
- 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
addons:
apt:
packages:
- dfu-programmer
- pandoc
- gcc-arm-none-eabi
- binutils-arm-none-eabi
- libnewlib-arm-none-eabi
- diffutils
- dos2unix
- doxygen
after_success:
after_script:
bash util/travis_compiled_push.sh
notifications:
webhooks:

View File

@@ -1,6 +1,11 @@
// Suggested extensions
{
"recommendations": [
"EditorConfig.EditorConfig"
"EditorConfig.EditorConfig",
"xaver.clang-format",
"ms-vscode.cpptools",
"bierner.github-markdown-preview",
"donjayamanne.git-extension-pack",
"CoenraadS.bracket-pair-colorizer-2"
]
}

12
.vscode/settings.json vendored
View File

@@ -8,10 +8,12 @@
"**/*.hex": true
},
"files.associations": {
"*.h": "c",
"*.c": "c",
"*.cpp": "cpp",
"*.hpp": "cpp",
"xstddef": "c"
"*.h": "c",
"*.c": "c",
"*.cpp": "cpp",
"*.hpp": "cpp",
"xstddef": "c",
"type_traits": "c",
"utility": "c"
}
}

View File

@@ -8,8 +8,17 @@ Our users, contributors, and collaborators are expected to treat each other with
* The use of sexualized language or imagery
* Unwelcome advances, sexual or otherwise
* Deliberate intimidation, stalking, or following
* Insults or derogatory comments, or personal or political attacks
* Publishing others private information without explicit permission
* Sustained disruption of talks or other events
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Advocating for, or encouraging, any of the above behaviour
If someone is violating this Code of Conduct you may email hello@qmk.fm to bring your concern to the Members. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
# Reporting
If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated.
QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that.
Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly.

View File

@@ -1,28 +1,7 @@
FROM debian:jessie
MAINTAINER Erik Dasque <erik@frenchguys.com>
FROM qmkfm/base_container
RUN apt-get update && apt-get install --no-install-recommends -y build-essential \
gcc \
unzip \
wget \
zip \
gcc-avr \
binutils-avr \
avr-libc \
dfu-programmer \
dfu-util \
gcc-arm-none-eabi \
binutils-arm-none-eabi \
libnewlib-arm-none-eabi \
git \
software-properties-common \
avrdude \
&& rm -rf /var/lib/apt/lists/*
VOLUME /qmk_firmware
WORKDIR /qmk_firmware
COPY . .
ENV keyboard=ergodox
ENV subproject=ez
ENV keymap=default
VOLUME /qmk
WORKDIR /qmk
CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap}
CMD make all:default

View File

@@ -20,7 +20,10 @@ endif
override SILENT := false
ifndef SUB_IS_SILENT
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
ifndef SKIP_GIT
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
endif
ifneq ($(QMK_VERSION),)
$(info QMK Firmware $(QMK_VERSION))
endif
@@ -94,6 +97,7 @@ $(eval $(call NEXT_PATH_ELEMENT))
# endif
define GET_KEYBOARDS
ifndef ALT_GET_KEYBOARDS
All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/rules.mk))
@@ -105,6 +109,9 @@ define GET_KEYBOARDS
KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk))
KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK)))
else
KEYBOARDS := $(shell find keyboards/ -type f -iname "rules.mk" | grep -v keymaps | sed 's!keyboards/\(.*\)/rules.mk!\1!' | sort | uniq)
endif
endef
$(eval $(call GET_KEYBOARDS))
@@ -112,23 +119,29 @@ $(eval $(call GET_KEYBOARDS))
# Only consider folders with makefiles, to prevent errors in case there are extra folders
#KEYBOARDS += $(patsubst $(ROOD_DIR)/keyboards/%/rules.mk,%,$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk))
.PHONY: list-keyboards
list-keyboards:
echo $(KEYBOARDS)
exit 0
define PRINT_KEYBOARD
$(info $(PRINTING_KEYBOARD))
endef
.PHONY: generate-keyboards-file
generate-keyboards-file:
$(foreach PRINTING_KEYBOARD,$(KEYBOARDS),$(eval $(call PRINT_KEYBOARD)))
exit 0
.PHONY: clean
clean:
echo -n 'Deleting .build ... '
echo -n 'Deleting .build/ ... '
rm -rf $(BUILD_DIR)
echo 'done'
exit 0
echo 'done.'
.PHONY: distclean
distclean: clean
echo -n 'Deleting *.bin and *.hex ... '
rm -f *.bin *.hex
echo 'done.'
#Compatibility with the old make variables, anything you specify directly on the command line
# always overrides the detected folders
@@ -358,6 +371,9 @@ define PARSE_KEYBOARD
# The same if all was specified
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
$$(eval $$(call PARSE_ALL_KEYMAPS))
# List all keymaps for the given keyboard
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,list-keymaps),true)
$$(eval $$(call LIST_ALL_KEYMAPS))
# Try to match the specified keyamp with the list of known keymaps
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
@@ -394,6 +410,16 @@ endef
# endif
# endef
# Prints a list of all known keymaps for the given keyboard
define LIST_ALL_KEYMAPS
COMMAND_true_LIST_KEYMAPS := \
printf "$$(KEYMAPS)\n";
COMMAND_false_LIST_KEYMAPS := \
printf "$$(MSG_AVAILABLE_KEYMAPS)\n"; \
printf "$$(KEYMAPS)\n";
COMMANDS += LIST_KEYMAPS
endef
# $1 Keymap
# This is the meat of compiling a keyboard, when entering this, everything is known
# keyboard, subproject, and keymap
@@ -528,11 +554,14 @@ endef
%:
# Check if we have the CMP tool installed
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that python3 is installed. This check can be removed after python is used in more places.
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 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --init lib/ugfx; 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 \
@@ -548,9 +577,10 @@ endif
# it has to be there to allow parallel execution of the submake
# This always tries to compile everything, even if error occurs in the middle
# But we return the error code at the end, to trigger travis failures
$(foreach COMMAND,$(COMMANDS),$(RUN_COMMAND))
# The sort at this point is to remove duplicates
$(foreach COMMAND,$(sort $(COMMANDS)),$(RUN_COMMAND))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
$(foreach TEST,$(TESTS),$(RUN_TEST))
$(foreach TEST,$(sort $(TESTS)),$(RUN_TEST))
if [ -f $(ERROR_FILE) ]; then printf "$(MSG_ERRORS)" & exit 1; fi;
# These no longer work because of the colon system
@@ -576,6 +606,7 @@ lib/%:
git submodule sync $?
git submodule update --init $?
.PHONY: git-submodule
git-submodule:
git submodule sync --recursive
git submodule update --init --recursive --progress

58
Vagrantfile vendored
View File

@@ -2,8 +2,13 @@
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# VMware/Virtualbox 64 bit
config.vm.box = "phusion/ubuntu-14.04-amd64"
# define a name instead of just 'default'
config.vm.define "qmk_firmware"
# VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit
config.vm.box = "generic/debian9"
config.vm.synced_folder '.', '/vagrant'
# This section allows you to customize the Virtualbox VM
# settings, ie showing the GUI or upping the memory
@@ -15,13 +20,16 @@ Vagrant.configure(2) do |config|
# your Teensy via the VM rather than your host OS
#vb.customize ['modifyvm', :id, '--usb', 'on']
#vb.customize ['usbfilter', 'add', '0',
# '--target', :id,
# '--name', 'teensy',
# '--vendorid', '0x16c0',
# '--productid','0x0478'
# ]
# '--target', :id,
# '--name', 'teensy',
# '--vendorid', '0x16c0',
# '--productid','0x0478'
# ]
# Customize the amount of memory on the VM:
vb.memory = "512"
# Uncomment the below lines if you have time sync
# issues with make and incremental builds
#vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ]
end
# This section allows you to customize the VMware VM
@@ -44,31 +52,41 @@ Vagrant.configure(2) do |config|
end
# Docker provider pulls from hub.docker.com respecting docker.image if
# config.vm.box is nil. Note that this bind-mounts from the current dir to
# config.vm.box is nil. In this case, we adhoc build util/vagrant/Dockerfile.
# Note that this bind-mounts from the current dir to
# /vagrant in the guest, so unless your UID is 1000 to match vagrant in the
# image, you'll need to: chmod -R a+rw .
config.vm.provider "docker" do |docker, override|
override.vm.box = nil
docker.image = "jesselang/debian-vagrant:jessie"
docker.build_dir = "util/vagrant"
docker.has_ssh = true
end
# This script ensures the required packages for AVR programming are installed
# It also ensures the system always gets the latest updates when powered on
# If this causes issues you can run a 'vagrant destroy' and then
# add a # before ,args: and run 'vagrant up' to get a working
# non-updated box and then attempt to troubleshoot or open a Github issue
# Unless we are running the docker container directly
# 1. run container detached on vm
# 2. attach on 'vagrant ssh'
["virtualbox", "vmware_workstation", "vmware_fusion"].each do |type|
config.vm.provider type do |virt, override|
override.vm.provision "docker" do |d|
d.run "qmkfm/base_container",
cmd: "tail -f /dev/null",
args: "--privileged -v /dev:/dev -v '/vagrant:/vagrant'"
end
config.vm.provision "shell", run: "always", path: "./util/qmk_install.sh", args: "-update"
override.vm.provision "shell", inline: <<-SHELL
echo 'docker restart qmkfm-base_container && exec docker exec -it qmkfm-base_container /bin/bash -l' >> ~vagrant/.bashrc
SHELL
end
end
config.vm.post_up_message = <<-EOT
Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
located at /vagrant
To compile the .hex files use make command inside this directory.
Log into the environment using 'vagrant ssh'. QMK directory synchronized with
host is located at /vagrant
To compile the .hex files use make command inside this directory, e.g.
cd /vagrant
make <keyboard>:default
QMK's make format recently changed to use folder locations and colons:
make project_folder:keymap[:target]
Examples:
make planck/rev4:default:dfu
make planck:default

83
bin/qmk Executable file
View File

@@ -0,0 +1,83 @@
#!/usr/bin/env python3
"""CLI wrapper for running QMK commands.
"""
import os
import subprocess
import sys
from importlib.util import find_spec
from time import strftime
# Add the QMK python libs to our path
script_dir = os.path.dirname(os.path.realpath(__file__))
qmk_dir = os.path.abspath(os.path.join(script_dir, '..'))
python_lib_dir = os.path.abspath(os.path.join(qmk_dir, 'lib', 'python'))
sys.path.append(python_lib_dir)
# Make sure our modules have been setup
with open(os.path.join(qmk_dir, 'requirements.txt'), 'r') as fd:
for line in fd.readlines():
line = line.strip().replace('<', '=').replace('>', '=')
if line[0] == '#':
continue
if '#' in line:
line = line.split('#')[0]
module = line.split('=')[0] if '=' in line else line
if not find_spec(module):
print('Could not find module %s!' % module)
print('Please run `pip3 install -r requirements.txt` to install the python dependencies.')
exit(255)
# Figure out our version
# TODO(skullydazed/anyone): Find a method that doesn't involve git. This is slow in docker and on windows.
command = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags']
result = subprocess.run(command, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if result.returncode == 0:
os.environ['QMK_VERSION'] = result.stdout.strip()
else:
os.environ['QMK_VERSION'] = 'nogit-' + strftime('%Y-%m-%d-%H:%M:%S') + '-dirty'
# Setup the CLI
import milc
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@milc.cli.entrypoint('QMK Helper Script')
def qmk_main(cli):
"""The function that gets run when no subcommand is provided.
"""
cli.print_help()
def main():
"""Setup our environment and then call the CLI entrypoint.
"""
# Change to the root of our checkout
os.environ['ORIG_CWD'] = os.getcwd()
os.chdir(qmk_dir)
# Import the subcommands
import qmk.cli
# Execute
return_code = milc.cli()
if return_code is False:
exit(1)
elif return_code is not True and isinstance(return_code, int):
if return_code < 0 or return_code > 255:
milc.cli.log.error('Invalid return_code: %d', return_code)
exit(255)
exit(return_code)
exit(0)
if __name__ == '__main__':
main()

View File

@@ -19,12 +19,14 @@
#
# Sets the bootloader defined in the keyboard's/keymap's rules.mk
# Current options:
# atmel-dfu
# lufa-dfu
# qmk-dfu
# halfkay
# caterina
# bootloadHID
#
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P)
#
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list
@@ -32,40 +34,40 @@
ifeq ($(strip $(BOOTLOADER)), atmel-dfu)
OPT_DEFS += -DBOOTLOADER_ATMEL_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 4096
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 8192
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 4096
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 8192
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
OPT_DEFS += -DBOOTLOADER_QMK_DFU
OPT_DEFS += -DBOOTLOADER_DFU
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 4096
ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 8192
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 512
BOOTLOADER_SIZE = 512
endif
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 1024
BOOTLOADER_SIZE = 1024
endif
endif
ifeq ($(strip $(BOOTLOADER)), caterina)
@@ -76,6 +78,10 @@ ifeq ($(strip $(BOOTLOADER)), bootloadHID)
OPT_DEFS += -DBOOTLOADER_BOOTLOADHID
BOOTLOADER_SIZE = 4096
endif
ifeq ($(strip $(BOOTLOADER)), USBasp)
OPT_DEFS += -DBOOTLOADER_USBASP
BOOTLOADER_SIZE = 4096
endif
ifdef BOOTLOADER_SIZE
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))

27
build_json.mk Normal file
View File

@@ -0,0 +1,27 @@
# Look for a json keymap file
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","")
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
endif
# Generate the keymap.c
ifneq ("$(KEYMAP_JSON)","")
_ = $(shell test -e $(KEYMAP_C) || bin/qmk json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C))
endif

View File

@@ -16,6 +16,7 @@ include common.mk
KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE)
STM32_PATH := quantum/stm32
# Force expansion
TARGET := $(TARGET)
@@ -34,6 +35,10 @@ $(error MASTER does not have a valid value(left/right))
endif
endif
ifdef SKIP_VERSION
OPT_DEFS += -DSKIP_VERSION
endif
# Determine which subfolders exist.
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
@@ -68,6 +73,7 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/)","")
KEYBOARD_PATHS += $(KEYBOARD_PATH_1)
endif
# Pull in rules.mk files from all our subfolders
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
include $(KEYBOARD_PATH_5)/rules.mk
@@ -85,6 +91,69 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
include $(KEYBOARD_PATH_1)/rules.mk
endif
MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
# Check for keymap.json first, so we can regenerate keymap.c
include build_json.mk
ifeq ("$(wildcard $(KEYMAP_PATH))", "")
# Look through the possible keymap folders until we find a matching keymap.c
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_5)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_4)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_3)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_2)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_1)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
else ifneq ($(LAYOUTS),)
# If we haven't found a keymap yet fall back to community layouts
include build_layout.mk
else
$(error Could not find keymap)
# this state should never be reached
endif
endif
ifeq ($(strip $(CTPC)), yes)
CONVERT_TO_PROTON_C=yes
endif
ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes)
TARGET := $(TARGET)_proton_c
include $(STM32_PATH)/proton_c.mk
OPT_DEFS += -DCONVERT_TO_PROTON_C
endif
ifneq ($(FORCE_LAYOUT),)
TARGET := $(TARGET)_$(FORCE_LAYOUT)
endif
include quantum/mcu_selection.mk
ifdef MCU_FAMILY
OPT_DEFS += -DQMK_STM32
KEYBOARD_PATHS += $(STM32_PATH)
endif
# Find all the C source files to be compiled in subfolders.
KEYBOARD_SRC :=
@@ -218,44 +287,28 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_1)/config.h)","")
CONFIG_H += $(KEYBOARD_PATH_1)/config.h
endif
POST_CONFIG_H :=
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_1)/post_config.h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_2)/post_config.h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_3)/post_config.h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_4)/post_config.h
endif
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
endif
# Save the defines and includes here, so we don't include any keymap specific ones
PROJECT_DEFS := $(OPT_DEFS)
PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
PROJECT_CONFIG := $(CONFIG_H)
MAIN_KEYMAP_PATH_1 := $(KEYBOARD_PATH_1)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_2 := $(KEYBOARD_PATH_2)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_3 := $(KEYBOARD_PATH_3)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_5)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_5)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_4)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_4)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_3)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_3)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_2)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_2)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2)
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.c)","")
-include $(MAIN_KEYMAP_PATH_1)/rules.mk
KEYMAP_C := $(MAIN_KEYMAP_PATH_1)/keymap.c
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1)
else ifneq ($(LAYOUTS),)
include build_layout.mk
else
$(error Could not find keymap)
# this state should never be reached
endif
# Userspace setup and definitions
ifeq ("$(USER_NAME)","")
USER_NAME := $(KEYMAP)
@@ -267,7 +320,6 @@ ifneq ("$(wildcard $(USER_PATH)/config.h)","")
CONFIG_H += $(USER_PATH)/config.h
endif
# Object files directory
# To put object files in current directory, use a dot (.), do NOT make
# this an empty or blank macro!
@@ -277,7 +329,7 @@ ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
CONFIG_H += $(KEYMAP_PATH)/config.h
endif
# # project specific files
# project specific files
SRC += $(KEYBOARD_SRC) \
$(KEYMAP_C) \
$(QUANTUM_SRC)
@@ -287,15 +339,17 @@ SRC += $(KEYBOARD_SRC) \
# Search Path
VPATH += $(KEYMAP_PATH)
VPATH += $(USER_PATH)
VPATH += $(KEYBOARD_PATHS)
VPATH += $(COMMON_VPATH)
VPATH += $(USER_PATH)
include common_features.mk
include $(TMK_PATH)/protocol.mk
include $(TMK_PATH)/common.mk
include bootloader.mk
SRC += $(patsubst %.c,%.clib,$(LIB_SRC))
SRC += $(patsubst %.c,%.clib,$(QUANTUM_LIB_SRC))
SRC += $(TMK_COMMON_SRC)
OPT_DEFS += $(TMK_COMMON_DEFS)
EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)
@@ -324,6 +378,7 @@ ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
include $(VISUALIZER_PATH)/visualizer.mk
endif
CONFIG_H += $(POST_CONFIG_H)
ALL_CONFIGS := $(PROJECT_CONFIG) $(CONFIG_H)
OUTPUTS := $(KEYMAP_OUTPUT) $(KEYBOARD_OUTPUT)
@@ -342,5 +397,8 @@ $(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
# Default target.
all: build check-size
build: elf cpfirmware
check-size: build
objs-size: build
include show_options.mk
include $(TMK_PATH)/rules.mk

View File

@@ -15,4 +15,13 @@ define SEARCH_LAYOUTS
$$(foreach LAYOUTS_REPO,$$(LAYOUTS_REPOS),$$(eval $$(call SEARCH_LAYOUTS_REPO)))
endef
ifneq ($(FORCE_LAYOUT),)
ifneq (,$(findstring $(FORCE_LAYOUT),$(LAYOUTS)))
$(info Forcing layout: $(FORCE_LAYOUT))
LAYOUTS := $(FORCE_LAYOUT)
else
$(error Forced layout does not exist)
endif
endif
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))

View File

@@ -21,5 +21,4 @@ COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras
COMMON_VPATH += $(QUANTUM_PATH)/audio
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
COMMON_VPATH += $(QUANTUM_PATH)/api
COMMON_VPATH += $(QUANTUM_PATH)/split_common
COMMON_VPATH += $(DRIVER_PATH)

View File

@@ -103,19 +103,41 @@ ifeq ($(strip $(UNICODE_COMMON)), yes)
endif
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight.c
CIE1931_CURVE = yes
LED_BREATHING_TABLE = yes
ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
else
SRC += ws2812.c
WS2812_DRIVER_REQUIRED = yes
endif
endif
VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 IS31FL3737 WS2812 custom
LED_MATRIX_ENABLE ?= no
ifneq ($(strip $(LED_MATRIX_ENABLE)), no)
ifeq ($(filter $(LED_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
$(error LED_MATRIX_ENABLE="$(LED_MATRIX_ENABLE)" is not a valid matrix type)
else
OPT_DEFS += -DLED_MATRIX_ENABLE -DBACKLIGHT_ENABLE -DBACKLIGHT_CUSTOM_DRIVER
SRC += $(QUANTUM_DIR)/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c
endif
endif
ifeq ($(strip $(LED_MATRIX_ENABLE)), IS31FL3731)
OPT_DEFS += -DIS31FL3731
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
RGB_MATRIX_ENABLE ?= no
VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 custom
ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
ifeq ($(filter $(RGB_MATRIX_ENABLE),$(VALID_MATRIX_TYPES)),)
$(error RGB_MATRIX_ENABLE="$(RGB_MATRIX_ENABLE)" is not a valid matrix type)
@@ -132,17 +154,37 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3731)
OPT_DEFS += -DIS31FL3731
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3731.c
SRC += i2c_master.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3733)
OPT_DEFS += -DIS31FL3733
OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3733.c
SRC += i2c_master.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3737)
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3737.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812)
OPT_DEFS += -DWS2812
WS2812_DRIVER_REQUIRED = yes
endif
ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
endif
ifeq ($(strip $(RGB_MATRIX_CUSTOM_USER)), yes)
OPT_DEFS += -DRGB_MATRIX_CUSTOM_USER
endif
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
@@ -187,12 +229,59 @@ ifeq ($(strip $(LCD_ENABLE)), yes)
CIE1931_CURVE = yes
endif
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
# backward compat
ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
BACKLIGHT_ENABLE = custom
endif
VALID_BACKLIGHT_TYPES := yes software custom
BACKLIGHT_ENABLE ?= no
ifneq ($(strip $(BACKLIGHT_ENABLE)), no)
ifeq ($(filter $(BACKLIGHT_ENABLE),$(VALID_BACKLIGHT_TYPES)),)
$(error BACKLIGHT_ENABLE="$(BACKLIGHT_ENABLE)" is not a valid backlight type)
endif
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
CIE1931_CURVE = yes
endif
ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
COMMON_VPATH += $(QUANTUM_DIR)/backlight
SRC += $(QUANTUM_DIR)/backlight/backlight.c
OPT_DEFS += -DBACKLIGHT_ENABLE
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 ($(strip $(WS2812_DRIVER)), bitbang)
SRC += ws2812.c
else
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
endif
# add extra deps
ifeq ($(strip $(WS2812_DRIVER)), i2c)
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
@@ -225,11 +314,34 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes)
OPT_DEFS += -DENCODER_ENABLE
endif
HAPTIC_ENABLE ?= no
ifneq ($(strip $(HAPTIC_ENABLE)),no)
COMMON_VPATH += $(DRIVER_PATH)/haptic
SRC += haptic.c
OPT_DEFS += -DHAPTIC_ENABLE
endif
ifneq ($(filter DRV2605L, $(HAPTIC_ENABLE)), )
SRC += DRV2605L.c
QUANTUM_LIB_SRC += i2c_master.c
OPT_DEFS += -DDRV2605L
endif
ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), )
SRC += solenoid.c
OPT_DEFS += -DSOLENOID_ENABLE
endif
ifeq ($(strip $(HD44780_ENABLE)), yes)
SRC += drivers/avr/hd44780.c
OPT_DEFS += -DHD44780_ENABLE
endif
ifeq ($(strip $(VELOCIKEY_ENABLE)), yes)
OPT_DEFS += -DVELOCIKEY_ENABLE
SRC += $(QUANTUM_DIR)/velocikey.c
endif
ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
OPT_DEFS += -DDYNAMIC_KEYMAP_ENABLE
SRC += $(QUANTUM_DIR)/dynamic_keymap.c
@@ -240,11 +352,14 @@ ifeq ($(strip $(LEADER_ENABLE)), yes)
OPT_DEFS += -DLEADER_ENABLE
endif
include $(DRIVER_PATH)/qwiic/qwiic.mk
QUANTUM_SRC:= \
$(QUANTUM_DIR)/quantum.c \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c
# Include the standard or split matrix code if needed
ifneq ($(strip $(CUSTOM_MATRIX)), yes)
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c
@@ -253,10 +368,51 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes)
endif
endif
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
OPT_DEFS += -DSPLIT_KEYBOARD
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_flags.c \
$(QUANTUM_DIR)/split_common/split_util.c \
$(QUANTUM_DIR)/split_common/i2c.c \
$(QUANTUM_DIR)/split_common/serial.c
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
DEBOUNCE_TYPE?= sym_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h
OPT_DEFS += -DSPLIT_KEYBOARD
# Include files used by all split keyboards
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c
# Determine which (if any) transport files are required
ifneq ($(strip $(SPLIT_TRANSPORT)), custom)
QUANTUM_SRC += $(QUANTUM_DIR)/split_common/transport.c
# Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called.
# Unused functions are pruned away, which is why we can add multiple drivers here without bloat.
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/serial.c \
i2c_master.c \
i2c_slave.c
endif
COMMON_VPATH += $(QUANTUM_PATH)/split_common
endif
ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes)
OPT_DEFS += -DOLED_DRIVER_ENABLE
COMMON_VPATH += $(DRIVER_PATH)/oled
QUANTUM_LIB_SRC += i2c_master.c
SRC += oled_driver.c
endif
SPACE_CADET_ENABLE ?= yes
ifeq ($(strip $(SPACE_CADET_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_space_cadet.c
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

@@ -0,0 +1,53 @@
# QMK Breaking Change - 2019 Aug 30
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
This document marks the inaugural Breaking Change merge. A list of changes follows.
## Core code formatting with clang-format
* All core files (`drivers/`, `quantum/`, `tests/`, and `tmk_core/`) have been formatted with clang-format
* A travis process to reformat PR's on merge has been instituted
* You can use the new CLI command `qmk cformat` to format before submitting your PR if you wish.
## LUFA USB descriptor cleanup
* Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand
* More information: see https://github.com/qmk/qmk_firmware/pull/4871
* No behaviour changes anticipated and no keymaps modified
## Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
## Update Atreus to current code conventions
* Duplicate include guards have bypassed the expected header processing behavior
* All keymaps affected are recommended to remove duplication of `<keyboard>/config.h` to `<keyboard>/keymaps/<user>/config.h` and only provide overrides at the keymap level
## Backport changes to keymap language files from ZSA fork
* Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`)
* Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general.
* Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`.
## Update repo to use LUFA as a git submodule
* `/lib/LUFA` removed from the repo
* LUFA set as a submodule, pointing to qmk/lufa
* This should allow more flexibility with LUFA, and allow us to keep the sub-module up to date, a lot more easily. It was ~2 years out of date with no easy path to fix that. This prevents that from being an issue in the future
## Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys
* If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
## Remove `KC_DELT` alias in favor of `KC_DEL`
* `KC_DELT` was a redundant, undocumented alias for `KC_DELETE`
* It has been removed and all its uses replaced with the more common `KC_DEL` alias
* Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result

8
docs/_langs.md Normal file
View File

@@ -0,0 +1,8 @@
- Translations
- [:uk: English](/)
- [:cn: 中文](/zh-cn/)
- [:es: Español](/es/)
- [:fr: Français](/fr-fr/)
- [:he: עברית](/he-il/)
- [:ru: Русский](/ru-ru/)
- [:ja: 日本語](/ja/)

View File

@@ -1,99 +0,0 @@
* [Complete Newbs Guide](newbs.md)
* [Getting Started](newbs_getting_started.md)
* [Building Your First Firmware](newbs_building_firmware.md)
* [Flashing Firmware](newbs_flashing.md)
* [Testing and Debugging](newbs_testing_debugging.md)
* [Best Practices](newbs_best_practices.md)
* [Learning Resources](newbs_learn_more_resources.md)
* [QMK Basics](README.md)
* [QMK Introduction](getting_started_introduction.md)
* [Contributing to QMK](contributing.md)
* [How to Use Github](getting_started_github.md)
* [Getting Help](getting_started_getting_help.md)
* [FAQ](faq.md)
* [General FAQ](faq_general.md)
* [Build/Compile QMK](faq_build.md)
* [Debugging/Troubleshooting QMK](faq_debug.md)
* [Keymap](faq_keymap.md)
* Detailed Guides
* [Install Build Tools](getting_started_build_tools.md)
* [Vagrant Guide](getting_started_vagrant.md)
* [Build/Compile Instructions](getting_started_make_guide.md)
* [Flashing Firmware](flashing.md)
* [Customizing Functionality](custom_quantum_functions.md)
* [Keymap Overview](keymap.md)
* [Hardware](hardware.md)
* [AVR Processors](hardware_avr.md)
* [Drivers](hardware_drivers.md)
* Reference
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* [Config Options](config_options.md)
* [Keycodes](keycodes.md)
* [Documentation Best Practices](documentation_best_practices.md)
* [Documentation Templates](documentation_templates.md)
* [Glossary](reference_glossary.md)
* [Unit Testing](unit_testing.md)
* [Useful Functions](ref_functions.md)
* [Configurator Support](reference_configurator_support.md)
* [Features](features.md)
* [Basic Keycodes](keycodes_basic.md)
* [Quantum Keycodes](quantum_keycodes.md)
* [Advanced Keycodes](feature_advanced_keycodes.md)
* [Audio](feature_audio.md)
* [Auto Shift](feature_auto_shift.md)
* [Backlight](feature_backlight.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic](feature_bootmagic.md)
* [Combos](feature_combo)
* [Command](feature_command.md)
* [Dynamic Macros](feature_dynamic_macros.md)
* [Encoders](feature_encoders.md)
* [Grave Escape](feature_grave_esc.md)
* [Key Lock](feature_key_lock.md)
* [Layouts](feature_layouts.md)
* [Leader Key](feature_leader_key.md)
* [Macros](feature_macros.md)
* [Mouse Keys](feature_mouse_keys.md)
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
* [Pointing Device](feature_pointing_device.md)
* [PS/2 Mouse](feature_ps2_mouse.md)
* [RGB Lighting](feature_rgblight.md)
* [RGB Matrix](feature_rgb_matrix.md)
* [Space Cadet Shift](feature_space_cadet_shift.md)
* [Space Cadet Shift Enter](feature_space_cadet_shift_enter.md)
* [Stenography](feature_stenography.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
* [Terminal](feature_terminal.md)
* [Thermal Printer](feature_thermal_printer.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
* [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
* For Makers and Modders
* [Hand Wiring Guide](hand_wire.md)
* [ISP Flashing Guide](isp_flashing_guide.md)
* [ARM Debugging Guide](arm_debugging.md)
* [I2C Driver](i2c_driver.md)
* For a Deeper Understanding
* [How Keyboards Work](how_keyboards_work.md)
* [Understanding QMK](understanding_qmk.md)
* Other Topics
* [Using Eclipse with QMK](eclipse.md)
* QMK Internals (In Progress)
* [Defines](internals_defines.md)
* [Input Callback Reg](internals_input_callback_reg.md)
* [Midi Device](internals_midi_device.md)
* [Midi Device Setup Process](internals_midi_device_setup_process.md)
* [Midi Util](internals_midi_util.md)
* [Send Functions](internals_send_functions.md)
* [Sysex Tools](internals_sysex_tools.md)

View File

@@ -3,20 +3,26 @@
* [Building Your First Firmware](newbs_building_firmware.md)
* [Flashing Firmware](newbs_flashing.md)
* [Testing and Debugging](newbs_testing_debugging.md)
* [Best Practices](newbs_best_practices.md)
* [Git Best Practices](newbs_best_practices.md)
* [Learning Resources](newbs_learn_more_resources.md)
* [QMK Basics](README.md)
* [QMK Introduction](getting_started_introduction.md)
* [QMK CLI](cli.md)
* [QMK CLI Config](cli_configuration.md)
* [Contributing to QMK](contributing.md)
* [How to Use Github](getting_started_github.md)
* [Getting Help](getting_started_getting_help.md)
* [Breaking Changes](breaking_changes.md)
* [2019 Aug 30](ChangeLog/20190830.md)
* [FAQ](faq.md)
* [General FAQ](faq_general.md)
* [Build/Compile QMK](faq_build.md)
* [Debugging/Troubleshooting QMK](faq_debug.md)
* [Keymap](faq_keymap.md)
* [Driver Installation with Zadig](driver_installation_zadig.md)
* Detailed Guides
* [Install Build Tools](getting_started_build_tools.md)
@@ -27,6 +33,7 @@
* [Keymap Overview](keymap.md)
* [Hardware](hardware.md)
* [Compatible Microcontrollers](compatible_microcontrollers.md)
* [AVR Processors](hardware_avr.md)
* [Drivers](hardware_drivers.md)
@@ -34,15 +41,20 @@
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* [Config Options](config_options.md)
* [Keycodes](keycodes.md)
* [Coding Conventions - C](coding_conventions_c.md)
* [Coding Conventions - Python](coding_conventions_python.md)
* [Documentation Best Practices](documentation_best_practices.md)
* [Documentation Templates](documentation_templates.md)
* [Glossary](reference_glossary.md)
* [Unit Testing](unit_testing.md)
* [Useful Functions](ref_functions.md)
* [Configurator Support](reference_configurator_support.md)
* [info.json Format](reference_info_json.md)
* [Python CLI Development](cli_development.md)
* [Features](features.md)
* [Basic Keycodes](keycodes_basic.md)
* [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
* [Quantum Keycodes](quantum_keycodes.md)
* [Advanced Keycodes](feature_advanced_keycodes.md)
* [Audio](feature_audio.md)
@@ -50,23 +62,29 @@
* [Backlight](feature_backlight.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic](feature_bootmagic.md)
* [Combos](feature_combo)
* [Combos](feature_combo.md)
* [Command](feature_command.md)
* [Debounce API](feature_debounce_type.md)
* [DIP Switch](feature_dip_switch.md)
* [Dynamic Macros](feature_dynamic_macros.md)
* [Encoders](feature_encoders.md)
* [Grave Escape](feature_grave_esc.md)
* [Haptic Feedback](feature_haptic_feedback.md)
* [HD44780 LCD Controller](feature_hd44780.md)
* [Key Lock](feature_key_lock.md)
* [Layouts](feature_layouts.md)
* [Leader Key](feature_leader_key.md)
* [LED Matrix](feature_led_matrix.md)
* [Macros](feature_macros.md)
* [Mouse Keys](feature_mouse_keys.md)
* [OLED Driver](feature_oled_driver.md)
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
* [Pointing Device](feature_pointing_device.md)
* [PS/2 Mouse](feature_ps2_mouse.md)
* [RGB Lighting](feature_rgblight.md)
* [RGB Matrix](feature_rgb_matrix.md)
* [Space Cadet Shift](feature_space_cadet_shift.md)
* [Space Cadet Shift Enter](feature_space_cadet_shift_enter.md)
* [Space Cadet](feature_space_cadet.md)
* [Split Keyboard](feature_split_keyboard.md)
* [Stenography](feature_stenography.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
@@ -74,20 +92,26 @@
* [Thermal Printer](feature_thermal_printer.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
* [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
* [Velocikey](feature_velocikey.md)
* For Makers and Modders
* [Hand Wiring Guide](hand_wire.md)
* [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)
* For a Deeper Understanding
* [How Keyboards Work](how_keyboards_work.md)
* [Understanding QMK](understanding_qmk.md)
* Other Topics
* [Using Eclipse with QMK](eclipse.md)
* [Using Eclipse with QMK](other_eclipse.md)
* [Using VSCode with QMK](other_vscode.md)
* [Support](support.md)
* [How to add translations](translating.md)
* QMK Internals (In Progress)
* [Defines](internals_defines.md)

View File

@@ -6,15 +6,15 @@ This guide is catered towards advance users and assumes you can compile an ARM c
## Installing the software
The main objective here is to get the MCU Eclipse IDE correcly installed on our machine. The necesarry instructions are derived from [this](https://gnu-mcu-eclipse.github.io/install/) install guide.
The main objective here is to get the MCU Eclipse IDE correctly installed on our machine. The necessary instructions are derived from [this](https://gnu-mcu-eclipse.github.io/install/) install guide.
### The xPack Manager
This tool is a software package manager and it is used to help us get the necesarry depencencies.
This tool is a software package manager and it is used to help us get the necessary dependencies.
XPM runs using Node.js so grab that form [here](https://nodejs.org/en/). After installation, open a terminal and type `npm -v`. A reply with the version number means that the instalation was successful.
XPM runs using Node.js so grab that from [here](https://nodejs.org/en/). After installation, open a terminal and type `npm -v`. A reply with the version number means that the installation was successful.
XPM instalation instructions can be found [here](https://www.npmjs.com/package/xpm) and are OS specific. Entering `xpm --version` to your terminal should return the software version.
XPM installation instructions can be found [here](https://www.npmjs.com/package/xpm) and are OS specific. Entering `xpm --version` to your terminal should return the software version.
### The ARM Toolchain
@@ -26,10 +26,10 @@ If you are using windows you need to install this!
`xpm install --global @gnu-mcu-eclipse/windows-build-tools`
### Programer/Debugger Drivers
### Programmer/Debugger Drivers
Now its the time to install your programer's drivers. This tutorial was made using an ST-Link v2 which you can get from almost anywhere.
If you have an ST-Link the drivers can be found [here](https://www.st.com/en/development-tools/stsw-link009.html) otherwise consult the manufuturer of your tool.
Now it's time to install your programmer's drivers. This tutorial was made using an ST-Link v2 which you can get from almost anywhere.
If you have an ST-Link the drivers can be found [here](https://www.st.com/en/development-tools/stsw-link009.html) otherwise consult the manufacturer of your tool.
### OpenOCD
@@ -84,4 +84,4 @@ Reset your keyboard.
Press the bug icon and if all goes well you should soon find yourself in the debug perspective. Here the program counter will pause at the beginning of the main function and way for you to press Play. Most of the features of all debuggers work on ARM MCUs but for exact details google is your friend!
Happy debugging!
Happy debugging!

107
docs/breaking_changes.md Normal file
View File

@@ -0,0 +1,107 @@
# Breaking Changes
This document describes QMK's Breaking Change process. A Breaking Change is any change which modifies how QMK behaves in a way that in incompatible or potentially dangerous. We limit these changes so that users can have confidence that updating their QMK tree will not break their keymaps.
The breaking change period is when we will merge PR's that change QMK in dangerous or unexpected ways. There is a built-in period of testing so we are confident that any problems caused are rare or unable to be predicted.
## What has been included in past Breaking Changes?
* [2019 Aug 30](ChangeLog/20190830.md)
## When is the next Breaking Change?
The next Breaking Change is scheduled for Nov 29.
### Important Dates
* [x] 2019 Sep 21 - `future` is created. It will be rebased weekly.
* [ ] 2019 Nov 01 - `future` closed to new PR's.
* [ ] 2019 Nov 01 - Call for testers.
* [ ] 2019 Nov 27 - `master` is locked, no PR's merged.
* [ ] 2019 Nov 29 - Merge `future` to `master`.
* [ ] 2019 Nov 30 - `master` is unlocked. PR's can be merged again.
## What changes will be included?
To see a list of breaking change candidates you can look at the [`breaking_change` label](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). New changes might be added between now and when `future` is closed, and a PR with that label applied is not guaranteed to be merged.
If you want your breaking change to be included in this round you need to create a PR with the `breaking_change` label and have it accepted before `future` closes. After `future` closes no new breaking changes will be accepted.
Criteria for acceptance:
* PR is complete and ready to merge
* PR has a ChangeLog
# Checklists
This section documents various processes we use when running the Breaking Changes process.
## Rebase `future` from `master`
This is run every Friday while `future` is open.
Process:
```
cd qmk_firmware
git checkout master
git pull --ff-only
git checkout future
git rebase master
git push --force
```
## Creating the `future` branch
This happens immediately after the previous `future` branch is merged.
* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git checkout -b future`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push origin future`
* [ ] `git push --tags`
## 4 Weeks Before Merge
* `future` is now closed to new PR's, only fixes for current PR's may be merged
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## 1 Week Before Merge
* Announce that master will be closed from <2 Days Before> to <Day of Merge>
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## 2 Days Before Merge
* Announce that master is closed for 2 days
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## Day Of Merge
* `qmk_firmware` git commands
* [ ] `git checkout future`
* [ ] `git pull --ff-only`
* [ ] `git rebase origin/master`
* [ ] Edit `readme.md`
* [ ] Remove the notes about `future`
* [ ] Roll up the ChangeLog into one file.
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
* [ ] `git push origin future`
* Github Actions
* [ ] Create a PR for `future`
* [ ] Make sure travis comes back clean
* [ ] Merge `future` PR

176
docs/cli.md Normal file
View File

@@ -0,0 +1,176 @@
# QMK CLI
This page describes how to setup and use the QMK CLI.
# Overview
The QMK CLI makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.
* [Global CLI](#global-cli)
* [Local CLI](#local-cli)
* [CLI Commands](#cli-commands)
# Requirements
The CLI requires Python 3.5 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt).
# Global CLI
QMK provides an installable CLI that can be used to setup your QMK build environment, work with QMK, and which makes working with multiple copies of `qmk_firmware` easier. We recommend installing and updating this periodically.
## Install Using Homebrew (macOS, some Linux)
If you have installed [Homebrew](https://brew.sh) you can tap and install QMK:
```
brew tap qmk/qmk
brew install qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
## Install Using easy_install or pip
If your system is not listed above you can install QMK manually. First ensure that you have python 3.5 (or later) installed and have installed pip. Then install QMK with this command:
```
pip3 install qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
## Packaging For Other Operating Systems
We are looking for people to create and maintain a `qmk` package for more operating systems. If you would like to create a package for your OS please follow these guidelines:
* Follow best practices for your OS when they conflict with these guidelines
* Document why in a comment when you do deviate
* Install using a virtualenv
* Instruct the user to set the environment variable `QMK_HOME` to have the firmware source checked out somewhere other than `~/qmk_firmware`.
# Local CLI
If you do not want to use the global CLI there is a local CLI bundled with `qmk_firmware`. You can find it in `qmk_firmware/bin/qmk`. You can run the `qmk` command from any directory and it will always operate on that copy of `qmk_firmware`.
**Example**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Local CLI Limitations
There are some limitations to the local CLI compared to the global CLI:
* The local CLI does not support `qmk setup` or `qmk clone`
* The local CLI always operates on the same `qmk_firmware` tree, even if you have multiple repositories cloned.
* The local CLI does not run in a virtualenv, so it's possible that dependencies will conflict
# 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.
**Usage for Configurator Exports**:
```
qmk compile <configuratorExport.json>
```
**Usage for Keymaps**:
```
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk config`
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
**Usage**:
```
qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
```
## `qmk docs`
This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936.
**Usage**:
```
qmk docs [-p PORT]
```
## `qmk doctor`
This command examines your environment and alerts you to potential build or flash problems.
**Usage**:
```
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`
**Usage**:
```
qmk list-keyboards
```
## `qmk new-keymap`
This command creates a new keymap based on a keyboard's existing default keymap.
**Usage**:
```
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk pyformat`
This command formats python code in `qmk_firmware`.
**Usage**:
```
qmk pyformat
```
## `qmk pytest`
This command runs the python test suite. If you make changes to python code you should ensure this runs successfully.
**Usage**:
```
qmk pytest
```

121
docs/cli_configuration.md Normal file
View File

@@ -0,0 +1,121 @@
# QMK CLI Configuration
This document explains how `qmk config` works.
# Introduction
Configuration for QMK CLI is a key/value system. Each key consists of a subcommand and an argument name separated by a period. This allows for a straightforward and direct translation between config keys and the arguments they set.
## Simple Example
As an example let's look at the command `qmk compile --keyboard clueboard/66/rev4 --keymap default`.
There are two command line arguments that could be read from configuration instead:
* `compile.keyboard`
* `compile.keymap`
Let's set these now:
```
$ qmk config compile.keyboard=clueboard/66/rev4 compile.keymap=default
compile.keyboard: None -> clueboard/66/rev4
compile.keymap: None -> default
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
Now I can run `qmk compile` without specifying my keyboard and keymap each time.
## Setting User Defaults
Sometimes you want to share a setting between multiple commands. For example, multiple commands take the argument `--keyboard`. Rather than setting this value for every command you can set a user value which will be used by any command that takes that argument.
Example:
```
$ qmk config user.keyboard=clueboard/66/rev4 user.keymap=default
user.keyboard: None -> clueboard/66/rev4
user.keymap: None -> default
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
# CLI Documentation (`qmk config`)
The `qmk config` command is used to interact with the underlying configuration. When run with no argument it shows the current configuration. When arguments are supplied they are assumed to be configuration tokens, which are strings containing no spaces with the following form:
<subcommand|general|default>[.<key>][=<value>]
## Setting Configuration Values
You can set configuration values by putting an equal sign (=) into your config key. The key must always be the full `<section>.<key>` form.
Example:
```
$ qmk config default.keymap=default
default.keymap: None -> default
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
## Reading Configuration Values
You can read configuration values for the entire configuration, a single key, or for an entire section. You can also specify multiple keys to display more than one value.
### Entire Configuration Example
qmk config
### Whole Section Example
qmk config compile
### Single Key Example
qmk config compile.keyboard
### Multiple Keys Example
qmk config user compile.keyboard compile.keymap
## Deleting Configuration Values
You can delete a configuration value by setting it to the special string `None`.
Example:
```
$ qmk config default.keymap=None
default.keymap: default -> None
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
## Multiple Operations
You can combine multiple read and write operations into a single command. They will be executed and displayed in order:
```
$ qmk config compile default.keymap=default compile.keymap=None
compile.keymap=skully
compile.keyboard=clueboard/66_hotswap/gen1
default.keymap: None -> default
compile.keymap: skully -> None
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
# User Configuration Options
| Key | Default Value | Description |
|-----|---------------|-------------|
| user.keyboard | None | The keyboard path (Example: `clueboard/66/rev4`) |
| user.keymap | None | The keymap name (Example: `default`) |
| user.name | None | The user's github username. |
# All Configuration Options
| Key | Default Value | Description |
|-----|---------------|-------------|
| compile.keyboard | None | The keyboard path (Example: `clueboard/66/rev4`) |
| compile.keymap | None | The keymap name (Example: `default`) |
| hello.name | None | The name to greet when run. |
| new_keyboard.keyboard | None | The keyboard path (Example: `clueboard/66/rev4`) |
| new_keyboard.keymap | None | The keymap name (Example: `default`) |

175
docs/cli_development.md Normal file
View File

@@ -0,0 +1,175 @@
# QMK CLI Development
This document has useful information for developers wishing to write new `qmk` subcommands.
# Overview
The QMK CLI operates using the subcommand pattern made famous by git. The main `qmk` script is simply there to setup the environment and pick the correct entrypoint to run. Each subcommand is a self-contained module with an entrypoint (decorated by `@cli.subcommand()`) that performs some action and returns a shell returncode, or None.
# Subcommands
[MILC](https://github.com/clueboard/milc) is the CLI framework `qmk` uses to handle argument parsing, configuration, logging, and many other features. It lets you focus on writing your tool without wasting your time writing glue code.
Subcommands in the local CLI are always found in `qmk_firmware/lib/python/qmk/cli`.
Let's start by looking at an example subcommand. This is `lib/python/qmk/cli/hello.py`:
```python
"""QMK Python Hello World
This is an example QMK CLI script.
"""
from milc import cli
@cli.argument('-n', '--name', default='World', help='Name to greet.')
@cli.subcommand('QMK Hello World.')
def hello(cli):
"""Log a friendly greeting.
"""
cli.log.info('Hello, %s!', cli.config.hello.name)
```
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
# User Interaction
MILC and the QMK CLI have several nice tools for interacting with the user. Using these standard tools will allow you to colorize your text for easier interactions, and allow the user to control when and how that information is displayed and stored.
## Printing Text
There are two main methods for outputting text in a subcommand- `cli.log` and `cli.echo()`. They operate in similar ways but you should prefer to use `cli.log.info()` for most general purpose printing.
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
You should never use the format operator (`%`) directly, always pass values as arguments.
### Logging (`cli.log`)
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.
| Function | Emoji |
|----------|-------|
| cli.log.critical | `{bg_red}{fg_white}¬_¬{style_reset_all}` |
| cli.log.error | `{fg_red}☒{style_reset_all}` |
| cli.log.warning | `{fg_yellow}⚠{style_reset_all}` |
| cli.log.info | `{fg_blue}Ψ{style_reset_all}` |
| cli.log.debug | `{fg_cyan}☐{style_reset_all}` |
| cli.log.notset | `{style_reset_all}¯\\_(o_o)_/¯` |
### Printing (`cli.echo`)
Sometimes you simply need to print text outside of the log system. This is appropriate if you are outputting fixed data or writing out something that should never be logged. Most of the time you should prefer `cli.log.info()` over `cli.echo`.
### Colorizing Text
You can colorize the output of your text by including color tokens within text. Use color to highlight, not to convey information. Remember that the user can disable color, and your subcommand should still be usable if they do.
You should generally avoid setting the background color, unless it's integral to what you are doing. Remember that users have a lot of preferences when it comes to their terminal color, so you should pick colors that work well against both black and white backgrounds.
Colors prefixed with 'fg' will affect the foreground (text) color. Colors prefixed with 'bg' will affect the background color.
| Color | Background | Extended Background | Foreground | Extended Foreground|
|-------|------------|---------------------|------------|--------------------|
| Black | {bg_black} | {bg_lightblack_ex} | {fg_black} | {fg_lightblack_ex} |
| Blue | {bg_blue} | {bg_lightblue_ex} | {fg_blue} | {fg_lightblue_ex} |
| Cyan | {bg_cyan} | {bg_lightcyan_ex} | {fg_cyan} | {fg_lightcyan_ex} |
| Green | {bg_green} | {bg_lightgreen_ex} | {fg_green} | {fg_lightgreen_ex} |
| Magenta | {bg_magenta} | {bg_lightmagenta_ex} | {fg_magenta} | {fg_lightmagenta_ex} |
| Red | {bg_red} | {bg_lightred_ex} | {fg_red} | {fg_lightred_ex} |
| White | {bg_white} | {bg_lightwhite_ex} | {fg_white} | {fg_lightwhite_ex} |
| Yellow | {bg_yellow} | {bg_lightyellow_ex} | {fg_yellow} | {fg_lightyellow_ex} |
There are also control sequences that can be used to change the behavior of
ANSI output:
| Control Sequences | Description |
|-------------------|-------------|
| {style_bright} | Make the text brighter |
| {style_dim} | Make the text dimmer |
| {style_normal} | Make the text normal (neither `{style_bright}` nor `{style_dim}`) |
| {style_reset_all} | Reset all text attributes to default. (This is automatically added to the end of every string.) |
| {bg_reset} | Reset the background color to the user's default |
| {fg_reset} | Reset the foreground color to the user's default |
# Arguments and Configuration
QMK handles the details of argument parsing and configuration for you. When you add a new argument it is automatically incorporated into the config tree based on your subcommand's name and the long name of the argument. You can access this configuration in `cli.config`, using either attribute-style access (`cli.config.<subcommand>.<argument>`) or dictionary-style access (`cli.config['<subcommand>']['<argument>']`).
Under the hood QMK uses [ConfigParser](https://docs.python.org/3/library/configparser.html) to store configurations. This gives us an easy and straightforward way to represent the configuration in a human-editable way. We have wrapped access to this configuration to provide some nicities that ConfigParser does not normally have.
## Reading Configuration Values
You can interact with `cli.config` in all the ways you'd normally expect. For example the `qmk compile` command gets the keyboard name from `cli.config.compile.keyboard`. It does not need to know whether that value came from the command line, an environment variable, or the configuration file.
Iteration is also supported:
```
for section in cli.config:
for key in cli.config[section]:
cli.log.info('%s.%s: %s', section, key, cli.config[section][key])
```
## Setting Configuration Values
You can set configuration values in the usual ways.
Dictionary style:
```
cli.config['<section>']['<key>'] = <value>
```
Attribute style:
```
cli.config.<section>.<key> = <value>
```
## Deleting Configuration Values
You can delete configuration values in the usual ways.
Dictionary style:
```
del(cli.config['<section>']['<key>'])
```
Attribute style:
```
del(cli.config.<section>.<key>)
```
## Writing The Configuration File
The configuration is not written out when it is changed. Most commands do not need to do this. We prefer to have the user change their configuration deliberitely using `qmk config`.
You can use `cli.save_config()` to write out the configuration.
## Excluding Arguments From Configuration
Some arguments should not be propagated to the configuration file. These can be excluded by adding `arg_only=True` when creating the argument.
Example:
```
@cli.argument('-o', '--output', arg_only=True, help='File to write to')
@cli.argument('filename', arg_only=True, help='Configurator JSON file')
@cli.subcommand('Create a keymap.c from a QMK Configurator export.')
def json_keymap(cli):
pass
```
You will only be able to access these arguments using `cli.args`. For example:
```
cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.output)
```

View File

@@ -0,0 +1,58 @@
# Coding Conventions (C)
Most of our style is pretty easy to pick up on, but right now it's not entirely consistent. You should match the style of the code surrounding your change, but if that code is inconsistent or unclear use the following guidelines:
* We indent using four (4) spaces (soft tabs)
* We use a modified One True Brace Style
* Opening Brace: At the end of the same line as the statement that opens the block
* Closing Brace: Lined up with the first character of the statement that opens the block
* Else If: Place the closing brace at the beginning of the line and the next opening brace at the end of the same line.
* Optional Braces: Always include optional braces.
* Good: if (condition) { return false; }
* Bad: if (condition) return false;
* We encourage use of C style comments: `/* */`
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* We use `#pragma once` at the start of header files rather than old-style include guards (`#ifndef THIS_FILE_H`, `#define THIS_FILE_H`, ..., `#endif`)
* We accept both forms of preprocessor if's: `#ifdef DEFINED` and `#if defined(DEFINED)`
* If you are not sure which to prefer use the `#if defined(DEFINED)` form.
* Do not change existing code from one style to the other, except when moving to a multiple condition `#if`.
* Do not put whitespace between `#` and `if`.
* When deciding how (or if) to indent directives keep these points in mind:
* Readability is more important than consistency.
* Follow the file's existing style. If the file is mixed follow the style that makes sense for the section you are modifying.
* When choosing to indent you can follow the indention level of the surrounding C code, or preprocessor directives can have their own indent level. Choose the style that best communicates the intent of your code.
Here is an example for easy reference:
```c
/* Enums for foo */
enum foo_state {
FOO_BAR,
FOO_BAZ,
};
/* Returns a value */
int foo(void) {
if (some_condition) {
return FOO_BAR;
} else {
return -1;
}
}
```
# Auto-formatting with clang-format
[Clang-format](https://clang.llvm.org/docs/ClangFormat.html) is part of LLVM and can automatically format your code for you, because ain't nobody got time to do it manually. We supply a configuration file for it that applies most of the coding conventions listed above. It will only change whitespace and newlines, so you will still have to remember to include optional braces yourself.
Use the [full LLVM installer](http://llvm.org/builds/) to get clang-format on Windows, or use `sudo apt install clang-format` on Ubuntu.
If you run it from the command-line, pass `-style=file` as an option and it will automatically find the .clang-format configuration file in the QMK root directory.
If you use VSCode, the standard C/C++ plugin supports clang-format, alternatively there is a [separate extension](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat) for it.
Some things (like LAYOUT macros) are destroyed by clang-format, so either don't run it on those files, or wrap the sensitive code in `// clang-format off` and `// clang-format on`.

View File

@@ -0,0 +1,314 @@
# Coding Conventions (Python)
Most of our style follows PEP8 with some local modifications to make things less nit-picky.
* We target Python 3.5 for compatability with all supported platforms.
* We indent using four (4) spaces (soft tabs)
* We encourage liberal use of comments
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* We require useful docstrings for all functions.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* Some of our practices conflict with the wider python community to make our codebase more approachable to non-pythonistas.
# YAPF
You can use [yapf](https://github.com/google/yapf) to style your code. We provide a config in [setup.cfg](setup.cfg).
# Imports
We don't have a hard and fast rule for when to use `import ...` vs `from ... import ...`. Understandability and maintainability is our ultimate goal.
Generally we prefer to import specific function and class names from a module to keep code shorter and easier to understand. Sometimes this results in a name that is ambiguous, and in such cases we prefer to import the module instead. You should avoid using the "as" keyword when importing, unless you are importing a compatability module.
Imports should be one line per module. We group import statements together using the standard python rules- system, 3rd party, local.
Do not use `from foo import *`. Supply a list of objects you want to import instead, or import the whole module.
## Import Examples
Good:
```
from qmk import effects
effects.echo()
```
Bad:
```
from qmk.effects import echo
echo() # It's unclear where echo comes from
```
Good:
```
from qmk.keymap import compile_firmware
compile_firmware()
```
OK, but the above is better:
```
import qmk.keymap
qmk.keymap.compile_firmware()
```
# Statements
One statement per line.
Even when allowed (EG `if foo: bar`) we do not combine 2 statements onto a single line.
# Naming
`module_name`, `package_name`, `ClassName`, `method_name`, `ExceptionName`, `function_name`, `GLOBAL_CONSTANT_NAME`, `global_var_name`, `instance_var_name`, `function_parameter_name`, `local_var_name`.
Function names, variable names, and filenames should be descriptive; eschew abbreviation. In particular, do not use abbreviations that are ambiguous or unfamiliar to readers outside your project, and do not abbreviate by deleting letters within a word.
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)
# Docstrings
To maintain consistency with our docstrings we've set out the following guidelines.
* Use markdown formatting
* Always use triple-dquote docstrings with at least one linebreak: `"""\n"""`
* First line is a short (< 70 char) description of what the function does
* If you need more in your docstring leave a blank line between the description and the rest.
* Start indented lines at the same indent level as the opening triple-dquote
* Document all function arguments using the format described below
* If present, Args:, Returns:, and Raises: should be the last three things in the docstring, separated by a blank line each.
## Simple docstring example
```
def my_awesome_function():
"""Return the number of seconds since 1970 Jan 1 00:00 UTC.
"""
return int(time.time())
```
## Complex docstring example
```
def my_awesome_function():
"""Return the number of seconds since 1970 Jan 1 00:00 UTC.
This function always returns an integer number of seconds.
"""
return int(time.time())
```
## Function arguments docstring example
```
def my_awesome_function(start=None, offset=0):
"""Return the number of seconds since 1970 Jan 1 00:00 UTC.
This function always returns an integer number of seconds.
Args:
start
The time to start at instead of 1970 Jan 1 00:00 UTC
offset
Return an answer that has this number of seconds subtracted first
Returns:
An integer describing a number of seconds.
Raises:
ValueError
When `start` or `offset` are not positive numbers
"""
if start < 0 or offset < 0:
raise ValueError('start and offset must be positive numbers.')
if not start:
start = time.time()
return int(start - offset)
```
# Exceptions
Exceptions are used to handle exceptional situations. They should not be used for flow control. This is a break from the python norm of "ask for forgiveness." If you are catching an exception it should be to handle a situation that is unusual.
If you use a catch-all exception for any reason you must log the exception and stacktrace using cli.log.
Make your try/except blocks as short as possible. If you need a lot of try statements you may need to restructure your code.
# Tuples
When defining one-item tuples always include a trailing comma so that it is obvious you are using a tuple. Do not rely on implicit one-item tuple unpacking. Better still use a list which is unambiguous.
This is particularly important when using the printf-style format strings that are commonly used.
# Lists and Dictionaries
We have configured YAPF to differentiate between sequence styles with a trailing comma. When a trailing comma is omitted YAPF will format the sequence as a single line. When a trailing comma is included YAPF will format the sequence with one item per line.
You should generally prefer to keep short definition on a single line. Break out to multiple lines sooner rather than later to aid readability and maintainability.
# Parentheses
Avoid excessive parentheses, but do use parentheses to make code easier to understand. Do not use them in return statements unless you are explicitly returning a tuple, or it is part of a math expression.
# Format Strings
We generally prefer printf-style format strings. Example:
```
name = 'World'
print('Hello, %s!' % (name,))
```
This style is used by the logging module, which we make use of extensively, and we have adopted it in other places for consistency. It is also more familiar to C programmers, who are a big part of our casual audience.
Our included CLI module has support for using these without using the percent (%) operator. Look at `cli.echo()` and the various `cli.log` functions (EG, `cli.log.info()`) for more details.
# Comprehensions & Generator Expressions
We encourage the liberal use of comprehensions and generators, but do not let them get too complex. If you need complexity fall back to a for loop that is easier to understand.
# Lambdas
OK to use but probably should be avoided. With comprehensions and generators the need for lambdas is not as strong as it once was.
# Conditional Expressions
OK in variable assignment, but otherwise should be avoided.
Conditional expressions are if statements that are in line with code. For example:
```
x = 1 if cond else 2
```
It's generally not a good idea to use these as function arguments, sequence items, etc. It's too easy to overlook.
# Default Argument Values
Encouraged, but values must be immutable objects.
When specifying default values in argument lists always be careful to specify objects that can't be modified in place. If you use a mutable object the changes you make will persist between calls, which is usually not what you want. Even if that is what you intend to do it is confusing for others and will hinder understanding.
Bad:
```
def my_func(foo={}):
pass
```
Good:
```
def my_func(foo=None):
if not foo:
foo = {}
```
# Properties
Always use properties instead of getter and setter functions.
```
class Foo(object):
def __init__(self):
self._bar = None
@property
def bar(self):
return self._bar
@bar.setter
def bar(self, bar):
self._bar = bar
```
# True/False Evaluations
You should generally prefer the implicit True/False evaluation in if statements, rather than checking equivalency.
Bad:
```
if foo == True:
pass
if bar == False:
pass
```
Good:
```
if foo:
pass
if not bar:
pass
```
# Decorators
Use when appropriate. Try to avoid too much magic unless it helps with understanding.
# Threading and Multiprocessing
Should be avoided. If you need this you will have to make a strong case before we merge your code.
# Power Features
Python is an extremely flexible language and gives you many fancy features such as custom metaclasses, access to bytecode, on-the-fly compilation, dynamic inheritance, object reparenting, import hacks, reflection, modification of system internals, etc.
Don't use these.
Performance is not a critical concern for us, and code understandability is. We want our codebase to be approachable by someone who only has a day or two to play with it. These features generally come with a cost to easy understanding, and we would prefer to have code that can be readily understood over faster or more compact code.
Note that some standard library modules use these techniques and it is ok to make use of those modules. But please keep readability and understandability in mind when using them.
# Type Annotated Code
For now we are not using any type annotation system, and would prefer that code remain unannotated. We may revisit this in the future.
# Function length
Prefer small and focused functions.
We recognize that long functions are sometimes appropriate, so no hard limit is placed on function length. If a function exceeds about 40 lines, think about whether it can be broken up without harming the structure of the program.
Even if your long function works perfectly now, someone modifying it in a few months may add new behavior. This could result in bugs that are hard to find. Keeping your functions short and simple makes it easier for other people to read and modify your code.
You could find long and complicated functions when working with some code. Do not be intimidated by modifying existing code: if working with such a function proves to be difficult, you find that errors are hard to debug, or you want to use a piece of it in several different contexts, consider breaking up the function into smaller and more manageable pieces.
# FIXMEs
It is OK to leave FIXMEs in code. Why? Encouraging people to at least document parts of code that need to be thought out more (or that are confusing) is better than leaving this code undocumented.
All FIXMEs should be formatted like:
```
FIXME(username): Revisit this code when the frob feature is done.
```
...where username is your GitHub username.
# Unit Tests
These are good. We should have some one day.

View File

@@ -1,25 +1,36 @@
# Atmel AVR
# Compatible Microcontrollers
QMK should run on any Atmel AVR processor with enough Flash. It has been tested on the following:
QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB or more, though it will *just* squeeze into 16kB with most features disabled.
* ATmega32U4 ([PJRC Teensy 2.0](http://www.pjrc.com/teensy/))
* AT90USB1286 ([PJRC Teensy++ 2.0](http://www.pjrc.com/teensy/))
* AT90USB1287 ([Atmel USBKEY](http://www.atmel.com/tools/AT90USBKEY.aspx))
* ATmega168P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega328P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega32U2
* AT90USB1286, 646, 647 should work
* AT90USB162 testing...
## Atmel AVR
NOTE: To enable full features of firmware you'll need 32KB flash size.
The following use [LUFA](https://www.fourwalledcubicle.com/LUFA.php) as the USB stack:
Please add any tested microcontrollers to this list.
* [ATmega16U2](https://www.microchip.com/wwwproducts/en/ATmega16U2) / [ATmega32U2](https://www.microchip.com/wwwproducts/en/ATmega32U2)
* [ATmega16U4](https://www.microchip.com/wwwproducts/en/ATmega16U4) / [ATmega32U4](https://www.microchip.com/wwwproducts/en/ATmega32U4)
* [AT90USB64](https://www.microchip.com/wwwproducts/en/AT90USB646) / [AT90USB128](https://www.microchip.com/wwwproducts/en/AT90USB1286)
# ARM
Certain MCUs which do not have native USB will use [V-USB](https://www.obdev.at/products/vusb/index.html) instead:
You can also use any ARM processor that [ChibiOS](http://www.chibios.org) supports. The following processors have been tested:
* [ATmega32A](https://www.microchip.com/wwwproducts/en/ATmega32A)
* [ATmega328P](https://www.microchip.com/wwwproducts/en/ATmega328P)
* [Kinetis MKL26Z64](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/l-series-ultra-low-power-m0-plus/kinetis-kl2x-48-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX256](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/k-series-performance-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72)
## ARM
You can also use any ARM chip with USB that [ChibiOS](http://www.chibios.org) supports. Most have plenty of flash. Known to work are:
### STMicroelectronics (STM32)
* [STM32F0x2](https://www.st.com/en/microcontrollers-microprocessors/stm32f0x2.html)
* [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html)
* [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html)
### NXP (Kinetis)
* [MKL26Z64](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/kl-series-cortex-m0-plus/kinetis-kl2x-72-96-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
* [MK20DX128](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-50-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-based-on-arm-cortex-m4-core:K20_50)
* [MK20DX256](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/k-series-cortex-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72)
## Atmel ATSAM
There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop).

View File

@@ -59,6 +59,8 @@ This is a C header file that is one of the first things included, and will persi
* define is matrix has ghost (unlikely)
* `#define DIODE_DIRECTION COL2ROW`
* COL2ROW or ROW2COL - how your matrix is configured. COL2ROW means the black mark on your diode is facing to the rows, and between the switch and the rows.
* `#define DIRECT_PINS { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`
* pins mapped to rows and columns, from left to right. Defines a matrix where each switch is connected to a separate pin and ground.
* `#define AUDIO_VOICES`
* turns on the alternate audio voices (to cycle through)
* `#define C4_AUDIO`
@@ -68,31 +70,33 @@ This is a C header file that is one of the first things included, and will persi
* `#define C6_AUDIO`
* enables audio on pin C6
* `#define B5_AUDIO`
* enables audio on pin B5 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
* enables audio on pin B5 (duophony is enables if one of B[5-7]\_AUDIO is enabled along with one of C[4-6]\_AUDIO)
* `#define B6_AUDIO`
* enables audio on pin B6 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
* enables audio on pin B6 (duophony is enables if one of B[5-7]\_AUDIO is enabled along with one of C[4-6]\_AUDIO)
* `#define B7_AUDIO`
* enables audio on pin B7 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
* enables audio on pin B7 (duophony is enables if one of B[5-7]\_AUDIO is enabled along with one of C[4-6]\_AUDIO)
* `#define BACKLIGHT_PIN B7`
* pin of the backlight - B5, B6, B7 use PWM, others use softPWM
* pin of the backlight
* `#define BACKLIGHT_LEVELS 3`
* number of levels your backlight will have (maximum 15 excluding off)
* `#define BACKLIGHT_BREATHING`
* enables backlight breathing (only works with backlight pins B5, B6 and B7)
* enables backlight breathing
* `#define BREATHING_PERIOD 6`
* the length of one backlight "breath" in seconds
* `#define DEBOUNCING_DELAY 5`
* `#define DEBOUNCE 5`
* the delay when reading the value of the pin (5 is default)
* `#define LOCKING_SUPPORT_ENABLE`
* mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
* `#define LOCKING_RESYNC_ENABLE`
* tries to keep switch state consistent with keyboard LED state
* `#define IS_COMMAND() ( keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) )`
* `#define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)`
* key combination that allows the use of magic commands (useful for debugging)
* `#define USB_MAX_POWER_CONSUMPTION`
* `#define USB_MAX_POWER_CONSUMPTION 500`
* sets the maximum power (in mA) over USB for the device (default: 500)
* `#define SCL_CLOCK 100000L`
* sets the SCL_CLOCK speed for split keyboards. The default is `100000L` but some boards can be set to `400000L`.
* `#define USB_POLLING_INTERVAL_MS 10`
* sets the USB polling rate in milliseconds for the keyboard, mouse, and shared (NKRO/media keys) interfaces
* `#define F_SCL 100000L`
* sets the I2C clock rate speed for keyboards using I2C. The default is `400000L`, except for keyboards using `split_common`, where the default is `100000L`.
## Features That Can Be Disabled
@@ -109,9 +113,9 @@ If you define these options you will disable the associated feature, which can s
* `#define NO_ACTION_ONESHOT`
* disable one-shot modifiers
* `#define NO_ACTION_MACRO`
* disable all macro handling
* disable old style macro handling: MACRO() & action_get_macro
* `#define NO_ACTION_FUNCTION`
* disable the action function (deprecated)
* disable calling of action_function() from the fn_actions array (deprecated)
## Features That Can Be Enabled
@@ -126,6 +130,8 @@ If you define these options you will enable the associated feature, which may in
* `#define TAPPING_TERM 200`
* how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
* `#define TAPPING_TERM_PER_KEY`
* enables handling for per key `TAPPING_TERM` settings
* `#define RETRO_TAPPING`
* tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
* See [Retro Tapping](feature_advanced_keycodes.md#retro-tapping) for details
@@ -143,6 +149,11 @@ If you define these options you will enable the associated feature, which may in
* Breaks any Tap Toggle functionality (`TT` or the One Shot Tap Toggle)
* `#define LEADER_TIMEOUT 300`
* how long before the leader key times out
* If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the `LEADER_PER_KEY_TIMING` option, which resets the timeout after each key is tapped.
* `#define LEADER_PER_KEY_TIMING`
* sets the timer for leader key chords to run on each key press rather than overall
* `#define LEADER_KEY_STRICT_KEY_PROCESSING`
* Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify `MT(MOD_CTL, KC_A)` if you want to use `KC_A`.
* `#define ONESHOT_TIMEOUT 300`
* how long before oneshot times out
* `#define ONESHOT_TAP_TOGGLE 2`
@@ -160,23 +171,33 @@ If you define these options you will enable the associated feature, which may in
* Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature.
* `#define COMBO_TERM 200`
* how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined.
* `#define TAP_CODE_DELAY 100`
* Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
* `#define TAP_HOLD_CAPS_DELAY 80`
* Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
## RGB Light Configuration
* `#define RGB_DI_PIN D7`
* pin the DI on the ws2812 is hooked-up to
* pin the DI on the WS2812 is hooked-up to
* `#define RGBLIGHT_ANIMATIONS`
* run RGB animations
* `#define RGBLED_NUM 15`
* `#define RGBLED_NUM 12`
* number of LEDs
* `#define RGBLIGHT_SPLIT`
* Needed if both halves of the board have RGB LEDs wired directly to the RGB output pin on the controllers instead of passing the output of the left half to the input of the right half
* `#define RGBLED_SPLIT { 6, 6 }`
* number of LEDs connected that are directly wired to `RGB_DI_PIN` on each half of a split keyboard
* First value indicates number of LEDs for left half, second value is for the right half
* When RGBLED_SPLIT is defined, RGBLIGHT_SPLIT is implicitly defined.
* `#define RGBLIGHT_HUE_STEP 12`
* units to step when in/decreasing hue
* `#define RGBLIGHT_SAT_STEP 25`
* units to step when in/decreasing saturation
* `#define RGBLIGHT_VAL_STEP 12`
* units to step when in/decreasing value (brightness)
* `#define RGBW_BB_TWI`
* bit-bangs TWI to EZ RGBW LEDs (only required for Ergodox EZ)
* `#define RGBW`
* Enables RGBW LED support
## Mouse Key Options
@@ -190,12 +211,70 @@ If you define these options you will enable the associated feature, which may in
Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk
* `SPLIT_TRANSPORT = custom`
* Allows replacing the standard split communication routines with a custom one. ARM based split keyboards must use this at present.
### Setting Handedness
One thing to remember, the side that the USB port is plugged into is always the master half. The side not plugged into USB is the slave.
There are a few different ways to set handedness for split keyboards (listed in order of precedence):
1. Set `SPLIT_HAND_PIN`: Reads a pin to determine handedness. If pin is high, it's the left side, if low, the half is determined to be the right side
2. Set `EE_HANDS` and flash `eeprom-lefthand.eep`/`eeprom-righthand.eep` to each half
* For boards with DFU bootloader you can use `:dfu-split-left`/`:dfu-split-right` to flash these EEPROM files
* For boards with Caterina bootloader (like stock Pro Micros), use `:avrdude-split-left`/`:avrdude-split-right`
* For boards with ARM DFU bootloader (like Proton C), use `:dfu-util-split-left`/`:dfu-util-split-right`
3. Set `MASTER_RIGHT`: Half that is plugged into the USB port is determined to be the master and right half (inverse of the default)
4. Default: The side that is plugged into the USB port is the master half and is assumed to be the left half. The slave side is the right half
#### Defines for handedness
* `#define SPLIT_HAND_PIN B7`
* For using high/low pin to determine handedness, low = right hand, high = left hand. Replace 'B7' with the pin you are using. This is optional and you can still use the EEHANDS method or MASTER_LEFT / MASTER_RIGHT defines like the stock Let's Split uses.
* For using high/low pin to determine handedness, low = right hand, high = left hand. Replace `B7` with the pin you are using. This is optional, and if you leave `SPLIT_HAND_PIN` undefined, then you can still use the EE_HANDS method or MASTER_LEFT / MASTER_RIGHT defines like the stock Let's Split uses.
* `#define EE_HANDS` (only works if `SPLIT_HAND_PIN` is not defined)
* Reads the handedness value stored in the EEPROM after `eeprom-lefthand.eep`/`eeprom-righthand.eep` has been flashed to their respective halves.
* `#define MASTER_RIGHT`
* Master half is defined to be the right half.
### Other Options
* `#define USE_I2C`
* For using I2C instead of Serial (defaults to serial)
* `#define SOFT_SERIAL_PIN D0`
* When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`.
* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }`
* `#define MATRIX_COL_PINS_RIGHT { <col pins> }`
* If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns.
* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`
* If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.
* `#define RGBLED_SPLIT { 6, 6 }`
* See [RGB Light Configuration](#rgb-light-configuration)
* `#define SELECT_SOFT_SERIAL_SPEED <speed>` (default speed is 1)
* Sets the protocol speed when using serial communication
* Speeds:
* 0: about 189kbps (Experimental only)
* 1: about 137kbps (default)
* 2: about 75kbps
* 3: about 39kbps
* 4: about 26kbps
* 5: about 20kbps
* `#define SPLIT_USB_DETECT`
* Detect (with timeout) USB connection when delegating master/slave
* Default behavior for ARM
* Required for AVR Teensy
* `#define SPLIT_USB_TIMEOUT 2500`
* Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT`
# The `rules.mk` File
This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features.
@@ -224,19 +303,20 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
* `halfkay`
* `caterina`
* `bootloadHID`
* `USBasp`
## Feature Options
Use these to enable or disable building certain features. The more you have enabled the bigger your firmware will be, and you run the risk of building a firmware too large for your MCU.
* `BOOTMAGIC_ENABLE`
* Virtual DIP switch configuration(+1000)
* Virtual DIP switch configuration
* `MOUSEKEY_ENABLE`
* Mouse keys(+4700)
* Mouse keys
* `EXTRAKEY_ENABLE`
* Audio control and System control(+450)
* Audio control and System control
* `CONSOLE_ENABLE`
* Console for debug(+400)
* Console for debug
* `COMMAND_ENABLE`
* Commands for debug and configuration
* `COMBO_ENABLE`
@@ -247,6 +327,8 @@ Use these to enable or disable building certain features. The more you have enab
* Enable the audio subsystem.
* `RGBLIGHT_ENABLE`
* Enable keyboard underlight functionality
* `LEADER_ENABLE`
* Enable leader key chording
* `MIDI_ENABLE`
* MIDI controls
* `UNICODE_ENABLE`
@@ -257,10 +339,17 @@ Use these to enable or disable building certain features. The more you have enab
* Current options are AdafruitEzKey, AdafruitBLE, RN42
* `SPLIT_KEYBOARD`
* Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common
* `CUSTOM_MATRIX`
* Allows replacing the standard matrix scanning routine with a custom one.
* `DEBOUNCE_TYPE`
* Allows replacing the standard key debouncing routine with an alternative or custom one.
* `WAIT_FOR_USB`
* Forces the keyboard to wait for a USB connection to be established before it starts up
* `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 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

View File

@@ -54,52 +54,20 @@ Never made an open source contribution before? Wondering how contributions work
# Coding Conventions
Most of our style is pretty easy to pick up on, but right now it's not entirely consistent. You should match the style of the code surrounding your change, but if that code is inconsistent or unclear use the following guidelines:
Most of our style is pretty easy to pick up on. If you are familiar with either C or Python you should not have too much trouble with our local styles.
* We indent using two spaces (soft tabs)
* We use a modified One True Brace Style
* Opening Brace: At the end of the same line as the statement that opens the block
* Closing Brace: Lined up with the first character of the statement that opens the block
* Else If: Place the closing brace at the beginning of the line and the next opening brace at the end of the same line.
* Optional Braces: Always include optional braces.
* Good: if (condition) { return false; }
* Bad: if (condition) return false;
* We encourage use of C style comments: `/* */`
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* We use `#pragma once` at the start of header files rather than old-style include guards (`#ifndef THIS_FILE_H`, `#define THIS_FILE_H`, ..., `#endif`)
Here is an example for easy reference:
```c
/* Enums for foo */
enum foo_state {
FOO_BAR,
FOO_BAZ,
};
/* Returns a value */
int foo(void) {
if (some_condition) {
return FOO_BAR;
} else {
return -1;
}
}
```
* [Coding Conventions - C](coding_conventions_c.md)
* [Coding Conventions - Python](coding_conventions_python.md)
# General Guidelines
We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making.
* Separate PR's into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature.
* Separate PRs into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure your code change actually compiles.
* Keymaps: Make sure that `make keyboard:your_new_keymap` does not return an error
* Keyboards: Make sure that `make keyboard:all` does not return any errors
* Keymaps: Make sure that `make keyboard:your_new_keymap` does not return any errors.
* Keyboards: Make sure that `make keyboard:all` does not return any errors.
* Core: Make sure that `make all` does not return any errors.
* Make sure commit messages are understandable on their own. You should put a short description (no more than 70 characters) on the first line, the second line should be empty, and on the 3rd and later lines you should describe your commit in detail, if required. Example:
@@ -111,12 +79,28 @@ The kerpleplork was intermittently failing with error code 23. The root cause wa
Limited experimentation on the devices I have available shows that 7 is high enough to avoid confusing the kerpleplork, but I'd like to get some feedback from people with ARM devices to be sure.
```
!> **IMPORTANT:** If you would like to contribute a bugfix or improvement to user code, such as non-default keymaps, userspace and layouts, be sure to tag the original submitter of the code in your PR. Many users, regardless of skill level with Git and GitHub, may be confused or frustrated at their code being modified without their knowledge.
## Documentation
Documentation is one of the easiest ways to get started contributing to QMK. Finding places where the documentation is wrong or incomplete and fixing those is easy! We also very badly need someone to edit our documentation, so if you have editing skills but aren't sure where or how to jump in please [reach out for help](#where-can-i-go-for-help)!
You'll find all our documentation in the `qmk_firmware/docs` directory, or if you'd rather use a web based workflow you can click "Suggest An Edit" at the top of each page on http://docs.qmk.fm/.
When providing code examples in your documentation, try to observe naming conventions used elsewhere in the docs. For example, standardizing enums as `my_layers` or `my_keycodes` for consistency:
```c
enum my_layers {
_FIRST_LAYER,
_SECOND_LAYER
};
enum my_keycodes {
FIRST_LAYER = SAFE_RANGE,
SECOND_LAYER
};
```
## Keymaps
Most first-time QMK contributors start with their personal keymaps. We try to keep keymap standards pretty casual (keymaps, after all, reflect the personality of their creators) but we do ask that you follow these guidelines to make it easier for others to discover and learn from your keymap.
@@ -125,7 +109,7 @@ Most first-time QMK contributors start with their personal keymaps. We try to ke
* All Keymap PR's are squashed, so if you care about how your commits are squashed you should do it yourself
* Do not lump features in with keymap PR's. Submit the feature first and then a second PR for the keymap.
* Do not include `Makefile`s in your keymap folder (they're no longer used)
* Update copyrights in file headers (look for `REPLACE_WITH_YOUR_NAME `)
* Update copyrights in file headers (look for `%YOUR_NAME%`)
## Keyboards
@@ -138,7 +122,7 @@ We also ask that you follow these guidelines:
* Do not lump core features in with new keyboards. Submit the feature first and then submit a separate PR for the keyboard.
* Name `.c`/`.h` file after the immediate parent folder, eg `/keyboards/<kb1>/<kb2>/<kb2>.[ch]`
* Do not include `Makefile`s in your keyboard folder (they're no longer used)
* Update copyrights in file headers (look for `REPLACE_WITH_YOUR_NAME `)
* Update copyrights in file headers (look for `%YOUR_NAME%`)
## Quantum/TMK Core

View File

@@ -90,77 +90,203 @@ keyrecord_t record {
# LED Control
This allows you to control the 5 LED's defined as part of the USB Keyboard spec. It will be called when the state of one of those 5 LEDs changes.
QMK provides methods to read 5 of the LEDs defined in the HID spec:
* `USB_LED_NUM_LOCK`
* `USB_LED_CAPS_LOCK`
* `USB_LED_SCROLL_LOCK`
* `USB_LED_COMPOSE`
* `USB_LED_KANA`
* Num Lock
* Caps Lock
* Scroll Lock
* Compose
* Kana
### Example `led_set_user()` Implementation
There are two ways to get the lock LED state:
* by implementing `bool led_update_kb(led_t led_state)` or `_user(led_t led_state)`; or
* by calling `led_t host_keyboard_led_state()`
!> `host_keyboard_led_state()` may already reflect a new value before `led_update_user()` is called.
Two more deprecated functions exist that provide the LED state as a `uint8_t`:
* `uint8_t led_set_kb(uint8_t usb_led)` and `_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
## `led_update_user()`
This function will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter.
You must return either `true` or `false` from this function, depending on whether you want to override the keyboard-level implementation.
?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead.
### Example `led_update_kb()` Implementation
```c
void led_set_user(uint8_t usb_led) {
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
PORTB |= (1<<0);
} else {
PORTB &= ~(1<<0);
}
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
PORTB |= (1<<1);
} else {
PORTB &= ~(1<<1);
}
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
PORTB |= (1<<2);
} else {
PORTB &= ~(1<<2);
}
if (usb_led & (1<<USB_LED_COMPOSE)) {
PORTB |= (1<<3);
} else {
PORTB &= ~(1<<3);
}
if (usb_led & (1<<USB_LED_KANA)) {
PORTB |= (1<<4);
} else {
PORTB &= ~(1<<4);
bool led_update_kb(led_t led_state) {
if(led_update_user(led_state)) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
return true;
}
}
```
### `led_set_*` Function Documentation
* Keyboard/Revision: `void led_set_kb(uint8_t usb_led)`
* Keymap: `void led_set_user(uint8_t usb_led)`
# Matrix Initialization Code
Before a keyboard can be used the hardware must be initialized. QMK handles initialization of the keyboard matrix itself, but if you have other hardware like LED's or i&#xb2;c controllers you will need to set up that hardware before it can be used.
### Example `matrix_init_user()` Implementation
This example, at the keyboard level, sets up B1, B2, and B3 as LED pins.
### Example `led_update_user()` Implementation
```c
void matrix_init_user(void) {
// Call the keymap level matrix init.
bool led_update_user(led_t led_state) {
if (led_state.num_lock) {
writePinLow(B0);
} else {
writePinHigh(B0);
}
if (led_state.caps_lock) {
writePinLow(B1);
} else {
writePinHigh(B1);
}
if (led_state.scroll_lock) {
writePinLow(B2);
} else {
writePinHigh(B2);
}
if (led_state.compose) {
writePinLow(B3);
} else {
writePinHigh(B3);
}
if (led_state.kana) {
writePinLow(B4);
} else {
writePinHigh(B4);
}
return true;
}
```
### `led_update_*` Function Documentation
* Keyboard/Revision: `bool led_update_kb(led_t led_state)`
* Keymap: `bool led_update_user(led_t led_state)`
## `host_keyboard_led_state()`
Call this function to get the last received LED state as a `led_t`. This is useful for reading the LED state outside `led_update_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code).
## Setting Physical LED State
Some keyboard implementations provide convenience methods for setting the state of the physical LEDs.
### Ergodox Boards
The Ergodox implementations provide `ergodox_right_led_1`/`2`/`3_on`/`off()` to turn individual LEDs on or off, as well as `ergodox_right_led_on`/`off(uint8_t led)` to turn them on or off by their index.
In addition, it is possible to specify the brightness level of all LEDs with `ergodox_led_all_set(uint8_t n)`; of individual LEDs with `ergodox_right_led_1`/`2`/`3_set(uint8_t n)`; or by index with `ergodox_right_led_set(uint8_t led, uint8_t n)`.
Ergodox boards also define `LED_BRIGHTNESS_LO` for the lowest brightness and `LED_BRIGHTNESS_HI` for the highest brightness (which is the default).
# Keyboard Initialization Code
There are several steps in the keyboard initialization process. Depending on what you want to do, it will influence which function you should use.
These are the three main initialization functions, listed in the order that they're called.
* `keyboard_pre_init_*` - Happens before most anything is started. Good for hardware setup that you want running very early.
* `matrix_init_*` - Happens midway through the firmware's startup process. Hardware is initialized, but features may not be yet.
* `keyboard_post_init_*` - Happens at the end of the firmware's startup process. This is where you'd want to put "customization" code, for the most part.
!> For most people, the `keyboard_post_init_user` function is what you want to call. For instance, this is where you want to set up things for RGB Underglow.
## Keyboard Pre Initialization code
This runs very early during startup, even before the USB has been started.
Shortly after this, the matrix is initialized.
For most users, this shouldn't be used, as it's primarily for hardware oriented initialization.
However, if you have hardware stuff that you need initialized, this is the best place for it (such as initializing LED pins).
### Example `keyboard_pre_init_user()` Implementation
This example, at the keyboard level, sets up B0, B1, B2, B3, and B4 as LED pins.
```c
void keyboard_pre_init_user(void) {
// Call the keyboard pre init code.
// Set our LED pins as output
DDRB |= (1<<1);
DDRB |= (1<<2);
DDRB |= (1<<3);
setPinOutput(B0);
setPinOutput(B1);
setPinOutput(B2);
setPinOutput(B3);
setPinOutput(B4);
}
```
### `keyboard_pre_init_*` Function Documentation
* Keyboard/Revision: `void keyboard_pre_init_kb(void)`
* Keymap: `void keyboard_pre_init_user(void)`
## Matrix Initialization Code
This is called when the matrix is initialized, and after some of the hardware has been set up, but before many of the features have been initialized.
This is useful for setting up stuff that you may need elsewhere, but isn't hardware related nor is dependant on where it's started.
### `matrix_init_*` Function Documentation
* Keyboard/Revision: `void matrix_init_kb(void)`
* Keymap: `void matrix_init_user(void)`
## Keyboard Post Initialization code
This is ran as the very last task in the keyboard initialization process. This is useful if you want to make changes to certain features, as they should be initialized by this point.
### Example `keyboard_post_init_user()` Implementation
This example, running after everything else has initialized, sets up the rgb underglow configuration.
```c
void keyboard_post_init_user(void) {
// Call the post init code.
rgblight_enable_noeeprom(); // enables Rgb, without saving settings
rgblight_sethsv_noeeprom(180, 255, 255); // sets the color to teal/cyan without saving
rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving
}
```
### `keyboard_post_init_*` Function Documentation
* Keyboard/Revision: `void keyboard_post_init_kb(void)`
* Keymap: `void keyboard_post_init_user(void)`
# Matrix Scanning Code
Whenever possible you should customize your keyboard by using `process_record_*()` and hooking into events that way, to ensure that your code does not have a negative performance impact on your keyboard. However, in rare cases it is necessary to hook into the matrix scanning. Be extremely careful with the performance of code in these functions, as it will be called at least 10 times per second.
@@ -176,34 +302,30 @@ This example has been deliberately omitted. You should understand enough about Q
This function gets called at every matrix scan, which is basically as often as the MCU can handle. Be careful what you put here, as it will get run a lot.
You should use this function if you need custom matrix scanning code. It can also be used for custom status output (such as LED's or a display) or other functionality that you want to trigger regularly even when the user isn't typing.
You should use this function if you need custom matrix scanning code. It can also be used for custom status output (such as LEDs or a display) or other functionality that you want to trigger regularly even when the user isn't typing.
# Keyboard Idling/Wake Code
If the board supports it, it can be "idled", by stopping a number of functions. A good example of this is RGB lights or backlights. This can save on power consumption, or may be better behavior for your keyboard.
This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_init_*`, which are called when the system is board is idled and when it wakes up, respectively.
This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_init_*`, which are called when the system board is idled and when it wakes up, respectively.
### Example suspend_power_down_user() and suspend_wakeup_init_user() Implementation
This example, at the keyboard level, sets up B1, B2, and B3 as LED pins.
```c
void suspend_power_down_user(void)
{
void suspend_power_down_user(void) {
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_user(void)
{
void suspend_wakeup_init_user(void) {
rgb_matrix_set_suspend_state(false);
}
```
### `keyboard_init_*` Function Documentation
### Keyboard suspend/wake Function Documentation
* Keyboard/Revision: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
* Keymap: `void suspend_power_down_kb(void)` and `void suspend_wakeup_init_user(void)`
@@ -217,8 +339,8 @@ This runs code every time that the layers get changed. This can be useful for l
This example shows how to set the [RGB Underglow](feature_rgblight.md) lights based on the layer, using the Planck as an example
```c
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _RAISE:
rgblight_setrgb (0x00, 0x00, 0xFF);
break;
@@ -240,8 +362,9 @@ uint32_t layer_state_set_user(uint32_t state) {
```
### `layer_state_set_*` Function Documentation
* Keyboard/Revision: `void uint32_t layer_state_set_kb(uint32_t state)`
* Keymap: `uint32_t layer_state_set_user(uint32_t state)`
* Keyboard/Revision: `layer_state_t layer_state_set_kb(layer_state_t state)`
* Keymap: `layer_state_t layer_state_set_user(layer_state_t state)`
The `state` is the bitmask of the active layers, as explained in the [Keymap Overview](keymap.md#keymap-layer-status)
@@ -256,13 +379,13 @@ Keep in mind that EEPROM has a limited number of writes. While this is very high
* If you don't understand the example, then you may want to avoid using this feature, as it is rather complicated.
### Example Implementation
### Example Implementation
This is an example of how to add settings, and read and write it. We're using the user keymap for the example here. This is a complex function, and has a lot going on. In fact, it uses a lot of the above functions to work!
In your keymap.c file, add this to the top:
```
```c
typedef union {
uint32_t raw;
struct {
@@ -275,11 +398,11 @@ user_config_t user_config;
This sets up a 32 bit structure that we can store settings with in memory, and write to the EEPROM. Using this removes the need to define variables, since they're defined in this structure. Remember that `bool` (boolean) values use 1 bit, `uint8_t` uses 8 bits, `uint16_t` uses up 16 bits. You can mix and match, but changing the order can cause issues, as it will change the values that are read and written.
We're using `rgb_layer_change`, for the `layer_state_set_*` function, and use `matrix_init_user` and `process_record_user` to configure everything.
We're using `rgb_layer_change`, for the `layer_state_set_*` function, and use `keyboard_post_init_user` and `process_record_user` to configure everything.
Now, using the `matrix_init_user` code above, you want to add `eeconfig_read_user()` to it, to populate the structure you've just created. And you can then immediately use this structure to control functionality in your keymap. And It should look like:
```
void matrix_init_user(void) {
Now, using the `keyboard_post_init_user` code above, you want to add `eeconfig_read_user()` to it, to populate the structure you've just created. And you can then immediately use this structure to control functionality in your keymap. And It should look like:
```c
void keyboard_post_init_user(void) {
// Call the keymap level matrix init.
// Read the user config from EEPROM
@@ -295,9 +418,9 @@ void matrix_init_user(void) {
```
The above function will use the EEPROM config immediately after reading it, to set the default layer's RGB color. The "raw" value of it is converted in a usable structure based on the "union" that you created above.
```
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
```c
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _RAISE:
if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); }
break;
@@ -317,8 +440,8 @@ uint32_t layer_state_set_user(uint32_t state) {
return state;
}
```
This will cause the RGB underglow to be changed ONLY if the value was enabled. Now to configure this value, create a new keycode for `process_record_user` called `RGB_LYR` and `EPRM`. Additionally, we want to make sure that if you use the normal RGB codes, that it turns off Using the example above, make it look this:
```
This will cause the RGB underglow to be changed ONLY if the value was enabled. Now to configure this value, create a new keycode for `process_record_user` called `RGB_LYR`. Additionally, we want to make sure that if you use the normal RGB codes, that it turns off Using the example above, make it look this:
```c
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
@@ -335,11 +458,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
PLAY_NOTE_ARRAY(tone_qwerty);
}
return true; // Let QMK send the enter press/release events
case EPRM:
if (record->event.pressed) {
eeconfig_init(); // resets the EEPROM to default
}
return false;
case RGB_LYR: // This allows me to use underglow as layer indication, or as normal
if (record->event.pressed) {
user_config.rgb_layer_change ^= 1; // Toggles the status
@@ -362,10 +480,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
```
And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. For example, if you want to set rgb layer indication by default, and save the default valued.
And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EEP_RST` keycode or [Bootmagic](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
```
```c
void eeconfig_init_user(void) { // EEPROM is getting reset!
user_config.raw = 0;
user_config.rgb_layer_change = true; // We want this enabled by default
eeconfig_update_user(user_config.raw); // Write default value to EEPROM now
@@ -384,3 +503,31 @@ And you're done. The RGB layer indication will only work if you want it to. And
* Keymap: `void eeconfig_init_user(void)`, `uint32_t eeconfig_read_user(void)` and `void eeconfig_update_user(uint32_t val)`
The `val` is the value of the data that you want to write to EEPROM. And the `eeconfig_read_*` function return a 32 bit (DWORD) value from the EEPROM.
# Custom Tapping Term
By default, the tapping term is defined globally, and is not configurable by key. For most users, this is perfectly fine. But in come cases, dual function keys would be greatly improved by different timeouts than `LT` keys, or because some keys may be easier to hold than others. Instead of using custom key codes for each, this allows for per key configurable `TAPPING_TERM`.
To enable this functionality, you need to add `#define TAPPING_TERM_PER_KEY` to your `config.h`, first.
## Example `get_tapping_term` Implementation
To change the `TAPPING TERM` based on the keycode, you'd want to add something like the following to your `keymap.c` file:
```c
uint16_t get_tapping_term(uint16_t keycode) {
switch (keycode) {
case SFT_T(KC_SPC):
return TAPPING_TERM + 1250;
case LT(1, KC_GRV):
return 130;
default:
return TAPPING_TERM;
}
}
```
### `get_tapping_term` Function Documentation
Unlike many of the other functions here, there isn't a need (or even reason) to have a quantum or keyboard level function. Only a user level function is useful here, so no need to mark it as such.

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
```

View File

@@ -0,0 +1,48 @@
# Bootloader Driver Installation with Zadig
QMK presents itself to the host as a regular HID keyboard device, and as such requires no special drivers. However, in order to flash your keyboard on Windows, the bootloader device that appears when you reset the board often *does*.
There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the HalfKay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver.
We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with MSYS2 or WSL, the `qmk_install.sh` script will have asked if you want it to install the drivers for you.
## Installation
Put your keyboard into bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure.
To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button.
Alternatively, hold `BOOT` while inserting the USB cable.
Zadig will automatically detect the bootloader device. You may sometimes need to check **Options → List All Devices**.
- For keyboards with Atmel AVR MCUs, the bootloader will be named something similar to `ATm32U4DFU`, and have a Vendor ID of `03EB`.
- USBasp bootloaders will appear as `USBasp`, with a VID/PID of `16C0:05DC`.
- AVR keyboards flashed with the QMK-DFU bootloader will be named `<keyboard name> Bootloader` and will also have the VID `03EB`.
- For most ARM keyboards, it will be called `STM32 BOOTLOADER`, and have a VID/PID of `0483:DF11`.
!> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case!
If the arrow appears green, select the driver, and click **Install Driver**. The `libusb-win32` driver will usually work for AVR, and `WinUSB` for ARM, but if you still cannot flash the board, try installing a different driver from the list. For flashing a USBaspLoader device via command line with msys2, the `libusbk` driver is recommended, otherwise `libusb-win32` will work fine if you are using QMK Toolbox for flashing.
![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png)
Finally, unplug and replug the keyboard to make sure the new driver has been loaded. If you are using the QMK Toolbox to flash, exit and restart it too, as it can sometimes fail to recognize the driver change.
## Recovering from Installation to Wrong Device
If you find that you can no longer type with the keyboard, you may have accidentally replaced the driver for the keyboard itself instead of for the bootloader. This can happen when the keyboard is not in the bootloader mode. You can easily confirm this in Zadig - a healthy keyboard has the `HidUsb` driver installed on all of its interfaces:
![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png)
Open the Device Manager and look for a device that looks like your keyboard.
![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/L3wvX8f.png)
Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first.
![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png)
Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again!
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver.

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
View File

@@ -0,0 +1,351 @@
# Flasheando tu teclado
Ahora que has construido tu fichero de firmware personalizado querrás flashear tu teclado.
## Flasheando tu teclado con QMK Toolbox
La manera más simple de flashear tu teclado sería con [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases).
De todos modos, QMK Toolbox actualmente sólo está disponible para Windows y macOS. Si estás usando Linux (o sólo quisieras flashear el firmware desde la línea de comandos), tendrás que utilizar el [método indicado abajo](newbs_flashing.md#flash-your-keyboard-from-the-command-line).
### Cargar el fichero en QMK Toolbox
Empieza abriendo la aplicación QMK Toolbox. Tendrás que buscar el fichero de firmware usando Finder o Explorer. El firmware de teclado puede estar en uno de estos dos formatos- `.hex` o `.bin`. QMK intenta copiar el apropiado para tu teclado en el fichero raíz `qmk_firmware`.
?> Si tu estás on Windows o macOS hay comandos que puedes usar para abrir fácilmente la carpeta del firmware actual en Explorer o Finder.
?> Windows:
start .
?> macOS:
open .
El fichero de firmware sempre sigue el siguiente formato de nombre:
<nombre_teclado>_<nombre_keymap>.{bin,hex}
Por ejemplo, un `plank/rev5` con un keymap `default` tendrá este nombre de fichero:
planck_rev5_default.hex
Una vez que hayas localizado el fichero de tu firmware arrástralo a la caja "Fichero local" en QMK Toolbox, o haz click en "Abrir" y navega allí donde tengas almacenado tu fichero de firmware.
### Pon tu teclado en modo DFU (Bootloader)
Para poder flashear tu firmware personalizado tienes que poner tu teclado en un modo especial que permite flasheado. Cuando está en este modo no podrás teclear o utilizarlo para ninguna otra cosa. Es muy importante que no desconectes tu teclado, de lo contrario interrumpirás el proceso de flasheo mientras el firmware se está escribiendo.
Diferentes teclados tienen diferentes maneras de entrar en este modo especial. Si tu PCB actualmente ejecuta QMK o TMK y no has recibido instrucciones específicas, intenta los siguientes pasos en orden:
* Manten pulsadas ambas teclas shift y pulsa `Pause`
* Manten pulsadas ambas teclas shift y pulsa `B`
* Desconecta tu teclado, mantén pulsada la barra espaciadora y `B` al mismo tiempo, conecta tu teclado y espera un segundo antes de dejar de pulsar las teclas
* Pulsa el botón físico `RESET` situado en el fondo de la PCB
* Localiza los pines en la PCB etiquetados on `BOOT0` o `RESET`, puentea estos dos juntos cuando enchufes la PCB
Si has tenido éxito verás un mensaje similar a este en QMK Toolbox:
```
*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
*** DFU device connected
```
### Flashea tu teclado
Haz click en el botón `Flash` de QMK Toolbox. Verás una información de salida similar a esta:
```
*** Clueboard - Clueboard 66% HotSwap disconnected -- 0xC1ED:0x2390
*** DFU device connected
*** Attempting to flash, please don't remove device
>>> dfu-programmer atmega32u4 erase --force
Erasing flash... Success
Checking memory from 0x0 to 0x6FFF... Empty.
>>> dfu-programmer atmega32u4 flash /Users/skully/qmk_firmware/clueboard_66_hotswap_gen1_skully.hex
Checking memory from 0x0 to 0x55FF... Empty.
0% 100% Programming 0x5600 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
Validating... Success
0x5600 bytes written into 0x7000 bytes memory (76.79%).
>>> dfu-programmer atmega32u4 reset
*** DFU device disconnected
*** Clueboard - Clueboard 66% HotSwap connected -- 0xC1ED:0x2390
```
## Flashea tu teclado desde la línea de comandos
Lo primero que tienes que saber es qué bootloader utiliza tu teclado. Hay cuatro bootloaders pincipales que se usan habitualmente . Pro-Micro y sus clones usan CATERINA, Teensy's usa Halfkay, las placas OLKB usan QMK-DFU, y otros chips atmega32u4 usan DFU.
Puedes encontrar más información sobre bootloaders en la página [Instrucciones de flasheado e información de Bootloader](flashing.md).
Si sabes qué bootloader estás usando, en el momento de compilar el firmware, podrás añadir algún texto extra al comando `make` para automatizar el proceso de flasheado.
### DFU
Para eo bootloader DFU, cuando estés listo para compilar y flashear tu firmware, abre tu ventana de terminal y ejecuta el siguiente comando de construcción:
make <my_keyboard>:<my_keymap>:dfu
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un planck rev5, utilizarás este comando:
make planck/rev5:xyverz:dfu
Una vez que finalice de compilar, deberá aparecer lo siguiente:
```
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
* File size is fine - 18574/28672
```
Después de llegar a este punto, el script de construcción buscará el bootloader DFU cada 5 segundos. Repetirá lo siguiente hasta que se encuentre el dispositivo o lo canceles:
dfu-programmer: no device present.
Error: Bootloader not found. Trying again in 5s.
Una vez haya hecho esto, tendrás que reiniciar el controlador. Debería mostrar una información de salida similar a esta:
```
*** Attempting to flash, please don't remove device
>>> dfu-programmer atmega32u4 erase --force
Erasing flash... Success
Checking memory from 0x0 to 0x6FFF... Empty.
>>> dfu-programmer atmega32u4 flash /Users/skully/qmk_firmware/clueboard_66_hotswap_gen1_skully.hex
Checking memory from 0x0 to 0x55FF... Empty.
0% 100% Programming 0x5600 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
Validating... Success
0x5600 bytes written into 0x7000 bytes memory (76.79%).
>>> dfu-programmer atmega32u4 reset
```
?> Si tienes problemas con esto- del estilo de `dfu-programmer: no device present` - por favor consulta las [Preguntas frecuentes de construcción](faq_build.md).
#### Comandos DFU
Hay un número de comandos DFU que puedes usar para flashear firmware a un dispositivo DFU:
* `:dfu` - Esta es la opción normal y espera hasta que un dispositivo DFU esté disponible, entonces flashea el firmware. Esperará reintentando cada 5 segundos, para ver si un dispositivo DFU ha aparecido.
* `:dfu-ee` - Esta flashea un fichero `eep` en vez del hex normal. Esto no es lo común.
* `:dfu-split-left` - Esta flashea el firmware normal, igual que la opción por defecto (`:dfu`). Sin embargo, también flashea el fichero EEPROM "Lado Izquierdo" para teclados divididos. _Esto es ideal para los ficheros divididos basados en Elite C._
* `:dfu-split-right` - Esto flashea el firmware normal, igual que la opción por defecto (`:dfu`). Sin embargo, también flashea el fichero EEPROM "Lado Derecho" para teclados divididos. _Esto es ideal para los ficheros divididos basados en Elite C._
### Caterina
Para placas Arduino y sus clones (como la SparkFun ProMicro), cuando estés listo para compilar y flashear tu firmware, abre tu ventana de terminal y ejecuta el siguiente comando de construcción:
make <my_keyboard>:<my_keymap>:avrdude
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un Lets Split rev2, usarás este comando:
make lets_split/rev2:xyverz:avrdude
Una vez que finalice de compilar, deberá aparecer lo siguiente:
```
Linking: .build/lets_split_rev2_xyverz.elf [OK]
Creating load file for flashing: .build/lets_split_rev2_xyverz.hex [OK]
Checking file size of lets_split_rev2_xyverz.hex [OK]
* File size is fine - 27938/28672
Detecting USB port, reset your controller now..............
```
En este punto, reinicia la placa y entonces el script detectará el bootloader y procederá a flashear la placa. La información de salida deber ser algo similar a esto:
```
Detected controller on USB port at /dev/ttyS15
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude.exe: Device signature = 0x1e9587 (probably m32u4)
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "./.build/lets_split_rev2_xyverz.hex"
avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
avrdude.exe: writing flash (27938 bytes):
Writing | ################################################## | 100% 2.40s
avrdude.exe: 27938 bytes of flash written
avrdude.exe: verifying flash memory against ./.build/lets_split_rev2_xyverz.hex:
avrdude.exe: load data flash data from input file ./.build/lets_split_rev2_xyverz.hex:
avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex auto detected as Intel Hex
avrdude.exe: input file ./.build/lets_split_rev2_xyverz.hex contains 27938 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.43s
avrdude.exe: verifying ...
avrdude.exe: 27938 bytes of flash verified
avrdude.exe: safemode: Fuses OK (E:CB, H:D8, L:FF)
avrdude.exe done. Thank you.
```
Si tienes problemas con esto, puede ser necesario que hagas esto:
sudo make <my_keyboard>:<my_keymap>:avrdude
Adicionalmente, si quisieras flashear múltiples placas, usa el siguiente comando:
make <keyboard>:<keymap>:avrdude-loop
Cuando hayas acabado de flashear placas, necesitarás pulsar Ctrl + C o cualquier combinación que esté definida en tu sistema operativo para finalizar el bucle.
### HalfKay
Para dispositivos PJRC (Teensy's), cuando estés listo para compilar y flashear tu firmware, abre tu ventana de terminal y ejecuta el siguiente comando de construcción:
make <my_keyboard>:<my_keymap>:teensy
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un Ergodox o un Ergodox EZ, usarás este comando:
make ergodox_ez:xyverz:teensy
Una vez que el firmware acabe de compilar, deberá mostrar una información de salida como esta:
```
Linking: .build/ergodox_ez_xyverz.elf [OK]
Creating load file for flashing: .build/ergodox_ez_xyverz.hex [OK]
Checking file size of ergodox_ez_xyverz.hex [OK]
* File size is fine - 25584/32256
Teensy Loader, Command Line, Version 2.1
Read "./.build/ergodox_ez_xyverz.hex": 25584 bytes, 79.3% usage
Waiting for Teensy device...
(hint: press the reset button)
```
En este punto, reinicia tu placa. Una vez que lo hayas hecho, deberás ver una información de salida como esta:
```
Found HalfKay Bootloader
Read "./.build/ergodox_ez_xyverz.hex": 28532 bytes, 88.5% usage
Programming............................................................................................................................................................................
...................................................
Booting
```
### BootloadHID
Para placas basadas en Bootmapper Client(BMC)/bootloadHID/ATmega32A, cuando estés listo para compilar y flashear tu firmware, abre tu ventana de terminal y ejecuta el comando de construcción:
make <my_keyboard>:<my_keymap>:bootloaderHID
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un jj40, usarás esté comando:
make jj40:xyverz:bootloaderHID
Una vez que el firmware acaba de compilar, mostrará una información de salida como esta:
```
Linking: .build/jj40_default.elf [OK]
Creating load file for flashing: .build/jj40_default.hex [OK]
Copying jj40_default.hex to qmk_firmware folder [OK]
Checking file size of jj40_default.hex [OK]
* The firmware size is fine - 21920/28672 (6752 bytes free)
```
Después de llegar a este punto, el script de construcción buscará el bootloader DFU cada 5 segundos. Repetirá lo siguiente hasta que se encuentre el dispositivo o hasta que lo canceles.
```
Error opening HIDBoot device: The specified device was not found
Trying again in 5s.
```
Una vez que lo haga, querrás reinicar el controlador. Debería entonces mostrar una información de salida similar a esta:
```
Page size = 128 (0x80)
Device size = 32768 (0x8000); 30720 bytes remaining
Uploading 22016 (0x5600) bytes starting at 0 (0x0)
0x05580 ... 0x05600
```
### STM32 (ARM)
Para la mayoría de placas ARM (incluyendo la Proton C, Planck Rev 6, y Preonic Rev 3), cuando estés listo para compilar y flashear tu firmware, abre tu ventana de terminal y ejecuta el siguiente comando de construcción:
make <my_keyboard>:<my_keymap>:dfu-util
Por ejemplo, si tu keymap se llama "xyverz" y estás construyendo un keymap para un teclado Planck Revision 6, utilizarás este comando y a continuación reiniciarás el teclado con el bootloader (antes de que acabe de compilar):
make planck/rev6:xyverz:dfu-util
Una vez que el firmware acaba de compilar, mostrará una información de salida similar a esta:
```
Linking: .build/planck_rev6_xyverz.elf [OK]
Creating binary load file for flashing: .build/planck_rev6_xyverz.bin [OK]
Creating load file for flashing: .build/planck_rev6_xyverz.hex [OK]
Size after:
text data bss dec hex filename
0 41820 0 41820 a35c .build/planck_rev6_xyverz.hex
Copying planck_rev6_xyverz.bin to qmk_firmware folder [OK]
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 41824
Download [=========================] 100% 41824 bytes
Download done.
File downloaded successfully
Transitioning to dfuMANIFEST state
```
#### STM32 Commands
Hay un número de comandos DFU que puedes usar para flashear firmware a un dispositivo DFU:
* `:dfu-util` - El comando por defecto para flashing en dispositivos STM32.
* `:dfu-util-wait` - Esto funciona como el comando por defecto, pero te da (configurable) 10 segundos de tiempo antes de que intente flashear el firmware. Puedes usar `TIME_DELAY=20` desde la líena de comandos para cambiar este tiempo de retardo.
* Eg: `make <keyboard>:<keymap>:dfu-util TIME_DELAY=5`
* `:dfu-util-split-left` - Flashea el firmware normal, igual que la opción por defecto (`:dfu-util`). Sin embargo, también flashea el fichero EEPROM "Lado Izquierdo" para teclados divididos.
* `:dfu-util-split-right` - Flashea el firmware normal, igual que la opción por defecto (`:dfu-util`). Sin embargo, también flashea el fichero EEPROM "Lado Derecho" para teclados divididos.
## ¡Pruébalo!
¡Felicidades! ¡Tu firmware personalizado ha sido programado en tu teclado!
Pruébalo y asegúrate de que todo funciona de la manera que tu quieres. Hemos escrito [Testeando y depurando](newbs_testing_debugging.md) para redondear esta guía de novatos, así que pásate por allí para aprender cómo resolver problemas con tu funcionalidad personalizada.

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

@@ -15,11 +15,15 @@ or just:
$ sudo make <keyboard>:<keymap>:dfu
Note that running `make` with `sudo` is generally *not* a good idea, and you should use one of the former methods, if possible.
Note that running `make` with `sudo` is generally ***not*** a good idea, and you should use one of the former methods, if possible.
### Linux `udev` Rules
On Linux, you'll need proper privileges to access the MCU. You can either use
`sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`.
`sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`. Once added run the following:
```console
sudo udevadm control --reload-rules
sudo udevadm trigger
```
**/etc/udev/rules.d/50-atmel-dfu.rules:**
```
@@ -36,14 +40,46 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="066
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
**/etc/udev/rules.d/54-input-club-keyboard.rules:**
```
# Input Club keyboard bootloader
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666"
```
**/etc/udev/rules.d/55-catalina.rules:**
```
# ModemManager should ignore the following devices
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="2341", ENV{ID_MM_DEVICE_IGNORE}="1"
```
**Note:** ModemManager filtering only works when not in strict mode, the following commands can update that settings:
```console
sudo sed -i 's/--filter-policy=strict/--filter-policy=default/' /lib/systemd/system/ModemManager.service
sudo systemctl daemon-reload
sudo systemctl restart ModemManager
```
**/etc/udev/rules.d/56-dfu-util.rules:**
```
# stm32duino
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", MODE:="0666"
# Generic stm32
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
```
### Serial device is not detected in bootloader mode on Linux
Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as
Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options.
## Unknown Device for DFU Bootloader
If you're using Windows to flash your keyboard, and you are running into issues, check the Device Manager. If you see an "Unknown Device" when the keyboard is in "bootloader mode", then you may have a driver issue.
Issues encountered when flashing keyboards on Windows are most often due to having the wrong drivers installed for the bootloader, or none at all.
Re-running the installation script for MSYS2 may help (eg run `./util/qmk_install.sh` from MSYS2/WSL) or reinstalling the QMK Toolbox may fix the issue.
Re-running the QMK installation script (`./util/qmk_install.sh` from the `qmk_firmware` directory in MSYS2 or WSL) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package manually.
If that doesn't work, then you may need to grab the [Zadig Utility](https://zadig.akeo.ie/). Download this, find the device in question, and select the `WinUS(libusb-1.0)` option, and hit "Reinstall driver". Once you've done that, try flashing your board, again.
If that doesn't work, then you may need to download and run Zadig. See [Bootloader Driver Installation with Zadig](driver_installation_zadig.md) for more detailed information.
## WINAVR is Obsolete
It is no longer recommended and may cause some problem.
@@ -98,9 +134,9 @@ OPT_DEFS += -DBOOTLOADER_SIZE=2048
```
## `avr-gcc: internal compiler error: Abort trap: 6 (program cc1)` on MacOS
This is an issue with updating on brew, causing symlinks that avr-gcc depend on getting mangled.
This is an issue with updating on brew, causing symlinks that avr-gcc depend on getting mangled.
The solution is to remove and reinstall all affected modules.
The solution is to remove and reinstall all affected modules.
```
brew rm avr-gcc
@@ -125,6 +161,14 @@ For now, you need to rollback avr-gcc to 7 in brew.
```
brew uninstall --force avr-gcc
brew install avr-gcc@7
brew link --force avr-gcc@7
brew install avr-gcc@8
brew link --force avr-gcc@8
```
### I just flashed my keyboard and it does nothing/keypresses don't register - it's also ARM (rev6 planck, clueboard 60, hs60v2, etc...) (Feb 2019)
Due to how EEPROM works on ARM based chips, saved settings may no longer be valid. This affects the default layers, and *may*, under certain circumstances we are still figuring out, make the keyboard unusable. Resetting the EEPROM will correct this.
[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) can be used to force an eeprom reset. After flashing this image, flash your normal firmware again which should restore your keyboard to _normal_ working order.
[Preonic rev3 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/537849497313738762/preonic_rev3_default.bin)
If bootmagic is enabled in any form, you should be able to do this too (see [Bootmagic docs](feature_bootmagic.md) and keyboard info for specifics on how to do this).

View File

@@ -87,6 +87,7 @@ Size after:
- EEPROM has around a 100000 write cycle. You shouldn't rewrite the
firmware repeatedly and continually; that'll burn the EEPROM
eventually.
## NKRO Doesn't work
First you have to compile firmware with this build option `NKRO_ENABLE` in **Makefile**.
@@ -183,22 +184,15 @@ Pressing any key during sleep should wake host.
Arduino Leonardo and micro have **ATMega32U4** and can be used for TMK, though Arduino bootloader may be a problem.
## Enabling JTAG
## Using PF4-7 Pins of USB AVR?
You need to set JTD bit of MCUCR yourself to use PF4-7 as GPIO. Those pins are configured to serve JTAG function by default. MCUs like ATMega*U* or AT90USB* are affected with this.
By default, the JTAG debugging interface is disabled as soon as the keyboard starts up. JTAG-capable MCUs come from the factory with the `JTAGEN` fuse set, and it takes over certain pins of the MCU that the board may be using for the switch matrix, LEDs, etc.
If you are using Teensy this isn't needed. Teensy is shipped with JTAGEN fuse bit unprogrammed to disable the function.
If you would like to keep JTAG enabled, just add the following to your `config.h`:
See this code.
```c
#define NO_JTAG_DISABLE
```
// JTAG disable for PORT F. write JTD bit twice within four cycles.
MCUCR |= (1<<JTD);
MCUCR |= (1<<JTD);
```
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hbkb/matrix.c#L67
And read **26.5.1 MCU Control Register MCUCR** of ATMega32U4 datasheet.
## Adding LED Indicators of Lock Keys
You need your own LED indicators for CapsLock, ScrollLock and NumLock? See this post.

View File

@@ -4,10 +4,6 @@
[QMK](https://github.com/qmk), short for Quantum Mechanical Keyboard, is a group of people building tools for custom keyboards. We started with the [QMK firmware](https://github.com/qmk/qmk_firmware), a heavily modified fork of [TMK](https://github.com/tmk/tmk_keyboard).
### Why the Name Quantum?
<!-- FIXME -->
## What Differences Are There Between QMK and TMK?
TMK was originally designed and implemented by [Jun Wako](https://github.com/tmk). QMK started as [Jack Humbert](https://github.com/jackhumbert)'s fork of TMK for the Planck. After a while Jack's fork had diverged quite a bit from TMK, and in 2015 Jack decided to rename his fork to QMK.

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.
@@ -151,13 +144,13 @@ This turns right modifier keys into arrow keys when the keys are tapped while st
*/
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
[0] = KEYMAP( \
[0] = LAYOUT( \
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS,BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,FN0, ESC, \
FN4, LGUI,LALT, SPC, APP, FN2, FN1, FN3),
[1] = KEYMAP( \
[1] = LAYOUT( \
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
@@ -211,20 +204,3 @@ here real_mods lost state for 'physical left shift'.
weak_mods is ORed with real_mods when keyboard report is sent.
https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57
## Timer Functionality
It's possible to start timers and read values for time-specific events - here's an example:
```c
static uint16_t key_timer;
key_timer = timer_read();
if (timer_elapsed(key_timer) < 100) {
// do something if less than 100ms have passed
} else {
// do something if 100ms or more have passed
}
```
It's best to declare the `static uint16_t key_timer;` at the top of the file, outside of any code blocks you're using it in.

View File

@@ -11,21 +11,21 @@ People often define custom names using `#define`. For example:
#define ALT_TAB LALT(KC_TAB)
```
This will allow you to use `FN_CAPS` and `ALT_TAB` in your `KEYMAP()`, keeping it more readable.
This will allow you to use `FN_CAPS` and `ALT_TAB` in your keymap, keeping it more readable.
## Caveats
Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Modifiers specified as part of a Layer Tap or Mod Tap's keycode will be ignored.
Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Modifiers specified as part of a Layer Tap or Mod Tap's keycode will be ignored. If you need to apply modifiers to your tapped keycode, [Tap Dance](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.
Additionally, if at least one right-handed modifier is specified in a Mod Tap or Layer Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two.
# Switching and Toggling Layers
These functions allow you to activate layers in various ways. Note that layers are not generally independent layouts -- multiple layers can be activated at once, and it's typical for layers to use `KC_TRNS` to allow keypresses to pass through to lower layers. For a detailed explanation of layers, see [Keymap Overview](keymap.md#keymap-and-layers)
These functions allow you to activate layers in various ways. Note that layers are not generally independent layouts -- multiple layers can be activated at once, and it's typical for layers to use `KC_TRNS` to allow keypresses to pass through to lower layers. For a detailed explanation of layers, see [Keymap Overview](keymap.md#keymap-and-layers). When using momentary layer switching with MO(), LM(), TT(), or LT(), make sure to leave the key on the above layers transparent or it may not work as intended.
* `DF(layer)` - switches the default layer. The default layer is the always-active base layer that other layers stack on top of. See below for more about the default layer. This might be used to switch from QWERTY to Dvorak layout. (Note that this is a temporary switch that only persists until the keyboard loses power. To modify the default layer in a persistent way requires deeper customization, such as calling the `set_single_persistent_default_layer` function inside of [process_record_user](custom_quantum_functions.md#programming-the-behavior-of-any-keycode).)
* `MO(layer)` - momentarily activates *layer*. As soon as you let go of the key, the layer is deactivated.
* `LM(layer, mod)` - Momentarily activates *layer* (like `MO`), but with modifier(s) *mod* active. Only supports layers 0-15 and the left modifiers.
* `LM(layer, mod)` - Momentarily activates *layer* (like `MO`), but with modifier(s) *mod* active. Only supports layers 0-15 and the left modifiers: `MOD_LCTL`, `MOD_LSFT`, `MOD_LALT`, `MOD_LGUI` (note the use of `MOD_` constants instead of `KC_`). These modifiers can be combined using bitwise OR, e.g. `LM(_RAISE, MOD_LCTL | MOD_LALT)`.
* `LT(layer, kc)` - momentarily activates *layer* when held, and sends *kc* when tapped. Only supports layers 0-15.
* `OSL(layer)` - momentarily activates *layer* until the next key is pressed. See [One Shot Keys](#one-shot-keys) for details and additional functionality.
* `TG(layer)` - toggles *layer*, activating it if it's inactive and vice versa
@@ -60,21 +60,21 @@ Sometimes, you might want to switch between layers in a macro or as part of a ta
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|Key |Aliases |Description |
|----------|----------------------|----------------------------------------------------|
|`LCTL(kc)`| |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`| |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`| |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|Key |Aliases |Description |
|----------|-------------------------------|----------------------------------------------------|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|`LALT(kc)`|`A(kc)` |Hold Left Alt and press `kc` |
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
You can also chain them, for example `LCTL(LALT(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress.
@@ -92,7 +92,7 @@ The modifiers this keycode and `OSM()` accept are prefixed with `MOD_`, not `KC_
|`MOD_LGUI`|Left GUI (Windows/Command/Meta key) |
|`MOD_RCTL`|Right Control |
|`MOD_RSFT`|Right Shift |
|`MOD_RALT`|Right Alt |
|`MOD_RALT`|Right Alt (AltGr) |
|`MOD_RGUI`|Right GUI (Windows/Command/Meta key) |
|`MOD_HYPR`|Hyper (Left Control, Shift, Alt and GUI)|
|`MOD_MEH` |Meh (Left Control, Shift, and Alt) |
@@ -107,23 +107,23 @@ This key would activate Left Control and Left Shift when held, and send Escape w
For convenience, QMK includes some Mod-Tap shortcuts to make common combinations more compact in your keymap:
|Key |Aliases |Description |
|------------|---------------------------------------|-------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `RWIN_T(kc)`, `GUI_T(kc)`|Left GUI when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|`ALL_T(kc)` | |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|Key |Aliases |Description |
|------------|-----------------------------------------------------------------|-------------------------------------------------------|
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`ALT_T(kc)` |Left Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`RALT_T(kc)`|`ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped |
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped|
|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
## Caveats
@@ -146,7 +146,7 @@ Additionally, hitting keys five times in a short period will lock that key. This
You can control the behavior of one shot keys by defining these in `config.h`:
```c
#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped once again. */
#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
```
@@ -161,8 +161,88 @@ For one shot mods, you need to call `set_oneshot_mods(MOD)` to set it, or `clear
!> If you're having issues with OSM translating over Remote Desktop Connection, this can be fixed by opening the settings, going to the "Local Resources" tap, and in the keyboard section, change the drop down to "On this Computer". This will fix the issue and allow OSM to function properly over Remote Desktop.
## Callbacks
# Permissive Hold
When you'd like to perform custom logic when pressing a one shot key, there are several callbacks you can choose to implement. You could indicate changes in one shot keys by flashing an LED or making a sound, for example.
There is a callback for `OSM(mod)`. It is called whenever the state of any one shot modifier key is changed: when it toggles on, but also when it is toggled off. You can use it like this:
```c
void oneshot_mods_changed_user(uint8_t mods) {
if (mods & MOD_MASK_SHIFT) {
println("Oneshot mods SHIFT");
}
if (mods & MOD_MASK_CTRL) {
println("Oneshot mods CTRL");
}
if (mods & MOD_MASK_ALT) {
println("Oneshot mods ALT");
}
if (mods & MOD_MASK_GUI) {
println("Oneshot mods GUI");
}
if (!mods) {
println("Oneshot mods off");
}
}
```
The `mods` argument contains the active mods after the change, so it reflects the current state.
When you use One Shot Tap Toggle (by adding `#define ONESHOT_TAP_TOGGLE 2` in your `config.h` file), you may lock a modifier key by pressing it the specified amount of times. There's a callback for that, too:
```c
void oneshot_locked_mods_changed_user(uint8_t mods) {
if (mods & MOD_MASK_SHIFT) {
println("Oneshot locked mods SHIFT");
}
if (mods & MOD_MASK_CTRL) {
println("Oneshot locked mods CTRL");
}
if (mods & MOD_MASK_ALT) {
println("Oneshot locked mods ALT");
}
if (mods & MOD_MASK_GUI) {
println("Oneshot locked mods GUI");
}
if (!mods) {
println("Oneshot locked mods off");
}
}
```
Last, there is also a callback for the `OSL(layer)` one shot key:
```c
void oneshot_layer_changed_user(uint8_t layer) {
if (layer == 1) {
println("Oneshot layer 1 on");
}
if (!layer) {
println("Oneshot layer off");
}
}
```
If any one shot layer is switched off, `layer` will be zero. When you're looking to do something on any layer change instead of one shot layer changes, `layer_state_set_user` is a better callback to use.
If you are making your own keyboard, there are also `_kb` equivalent functions:
```c
void oneshot_locked_mods_changed_kb(uint8_t mods);
void oneshot_mods_changed_kb(uint8_t mods);
void oneshot_layer_changed_kb(uint8_t layer);
```
As with any callback, be sure to call the `_user` variant to allow for further customizability.
# Tap-Hold Configuration Options
While Tap-Hold options are fantastic, they are not without their issues. We have tried to configure them with reasonal defaults, but that may still cause issues for some people.
These options let you modify the behavior of the Tap-Hold keys.
## Permissive Hold
As of [PR#1359](https://github.com/qmk/qmk_firmware/pull/1359/), there is a new `config.h` option:
@@ -176,16 +256,16 @@ If you press a Mod Tap key, tap another key (press and release) and then release
For Instance:
- `SHFT_T(KC_A)` Down
- `SFT_T(KC_A)` Down
- `KC_X` Down
- `KC_X` Up
- `SHFT_T(KC_A)` Up
- `SFT_T(KC_A)` Up
Normally, if you do all this within the `TAPPING_TERM` (default: 200ms) this will be registered as `ax` by the firmware and host system. With permissive hold enabled, this modifies how this is handled by considering the Mod Tap keys as a Mod if another key is tapped, and would registered as `X` (`SHIFT`+`x`).
?> If you have `Ignore Mod Tap Interrupt` enabled, as well, this will modify how both work. The regular key has the modifier added if the first key is released first or if both keys are held longer than the `TAPPING_TERM`.
# Ignore Mod Tap Interrupt
## Ignore Mod Tap Interrupt
To enable this setting, add this to your `config.h`:
@@ -199,9 +279,9 @@ Setting `Ignore Mod Tap Interrupt` requires holding both keys for the `TAPPING_
For Instance:
- `SHFT_T(KC_A)` Down
- `SFT_T(KC_A)` Down
- `KC_X` Down
- `SHFT_T(KC_A)` Up
- `SFT_T(KC_A)` Up
- `KC_X` Up
Normally, this would send `X` (`SHIFT`+`x`). With `Ignore Mod Tap Interrupt` enabled, holding both keys are required for the `TAPPING_TERM` to register the hold action. A quick tap will output `ax` in this case, while a hold on both will still output `X` (`SHIFT`+`x`).
@@ -211,7 +291,7 @@ Normally, this would send `X` (`SHIFT`+`x`). With `Ignore Mod Tap Interrupt` ena
?> If you have `Permissive Hold` enabled, as well, this will modify how both work. The regular key has the modifier added if the first key is released first or if both keys are held longer than the `TAPPING_TERM`.
# Tapping Force Hold
## Tapping Force Hold
To enable `tapping force hold`, add the following to your `config.h`:
@@ -223,11 +303,11 @@ When the user holds a key after tap, this repeats the tapped key rather to hold
Example:
- SHFT_T(KC_A) Down
- SHFT_T(KC_A) Up
- SHFT_T(KC_A) Down
- SFT_T(KC_A) Down
- SFT_T(KC_A) Up
- SFT_T(KC_A) Down
- wait more than tapping term...
- SHFT_T(KC_A) Up
- SFT_T(KC_A) Up
With default settings, `a` will be sent on the first release, then `a` will be sent on the second press allowing the computer to trigger its auto repeat function.
@@ -235,7 +315,7 @@ With `TAPPING_FORCE_HOLD`, the second press will be interpreted as a Shift, allo
!> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tapping Toggle).
# Retro Tapping
## Retro Tapping
To enable `retro tapping`, add the following to your `config.h`:

View File

@@ -21,6 +21,8 @@ STARTUP_SONG // plays when the keyboard starts up (audio.c)
GOODBYE_SONG // plays when you press the RESET key (quantum.c)
AG_NORM_SONG // plays when you press AG_NORM (quantum.c)
AG_SWAP_SONG // plays when you press AG_SWAP (quantum.c)
CG_NORM_SONG // plays when you press CG_NORM (quantum.c)
CG_SWAP_SONG // plays when you press CG_SWAP (quantum.c)
MUSIC_ON_SONG // plays when music mode is activated (process_music.c)
MUSIC_OFF_SONG // plays when music mode is deactivated (process_music.c)
CHROMATIC_SONG // plays when the chromatic music mode is selected (process_music.c)
@@ -61,10 +63,19 @@ It's advised that you wrap all audio features in `#ifdef AUDIO_ENABLE` / `#endif
The available keycodes for audio are:
* `AU_ON` - Turn audio mode on
* `AU_OFF` - Turn audio mode off
* `AU_TOG` - Toggle audio mode
* `AU_ON` - Turn Audio Feature on
* `AU_OFF` - Turn Audio Feature off
* `AU_TOG` - Toggle Audio Feature state
!> These keycodes turn all of the audio functionality on and off. Turning it off means that audio feedback, audio clicky, music mode, etc. are disabled, completely.
## ARM Audio Volume
For ARM devices, you can adjust the DAC sample values. If your board is too loud for you or your coworkers, you can set the max using `DAC_SAMPLE_MAX` in your `config.h`:
```c
#define DAC_SAMPLE_MAX 65535U
```
## Music Mode
@@ -91,6 +102,16 @@ In music mode, the following keycodes work differently, and don't pass through:
* `KC_UP` - speed-up playback
* `KC_DOWN` - slow-down playback
The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, add something like this to your `config.h`:
#define PITCH_STANDARD_A 432.0f
You can completely disable Music Mode as well. This is useful, if you're pressed for space on your controller. To disable it, add this to your `config.h`:
#define NO_MUSIC_MODE
### Music Mask
By default, `MUSIC_MASK` is set to `keycode < 0xFF` which means keycodes less than `0xFF` are turned into notes, and don't output anything. You can change this by defining this in your `config.h` like this:
#define MUSIC_MASK keycode != KC_NO
@@ -111,13 +132,26 @@ For a more advanced way to control which keycodes should still be processed, you
Things that return false are not part of the mask, and are always processed.
The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, add something like this to your `config.h`:
### Music Map
#define PITCH_STANDARD_A 432.0f
By default, the Music Mode uses the columns and row to determine the scale for the keys. For a board that uses a rectangular matrix that matches the keyboard layout, this is just fine. However, for boards that use a more complicated matrix (such as the Planck Rev6, or many split keyboards) this would result in a very skewed experience.
You can completely disable Music Mode as well. This is useful, if you're pressed for space on your controller. To disable it, add this to your `config.h`:
However, the Music Map option allows you to remap the scaling for the music mode, so it fits the layout, and is more natural.
#define NO_MUSIC_MODE
To enable this feature, add `#define MUSIC_MAP` to your `config.h` file, and then you will want to add a `uint8_t music_map` to your keyboard's `c` file, or your `keymap.c`.
```c
const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT_ortho_4x12(
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
);
```
You will want to use whichever `LAYOUT` macro that your keyboard uses here. This maps it to the correct key location. Start in the bottom left of the keyboard layout, and move to the right, and then upwards. Fill in all the entries until you have a complete matrix.
You can look at the [Planck Keyboard](https://github.com/qmk/qmk_firmware/blob/e9ace1487887c1f8b4a7e8e6d87c322988bec9ce/keyboards/planck/planck.c#L24-L29) as an example of how to implement this.
## Audio Click
@@ -143,15 +177,16 @@ You can configure the default, min and max frequencies, the stepping and built i
| `AUDIO_CLICKY_FREQ_DEFAULT` | 440.0f | Sets the default/starting audio frequency for the clicky sounds. |
| `AUDIO_CLICKY_FREQ_MIN` | 65.0f | Sets the lowest frequency (under 60f are a bit buggy). |
| `AUDIO_CLICKY_FREQ_MAX` | 1500.0f | Sets the the highest frequency. Too high may result in coworkers attacking you. |
| `AUDIO_CLICKY_FREQ_FACTOR` | 1.18921f| Sets the stepping of UP/DOWN key codes. |
| `AUDIO_CLICKY_FREQ_FACTOR` | 1.18921f| Sets the stepping of UP/DOWN key codes. This is a multiplicative factor. The default steps the frequency up/down by a musical minor third. |
| `AUDIO_CLICKY_FREQ_RANDOMNESS` | 0.05f | Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical, and `1.0f` will make this sound much like the 90's computer screen scrolling/typing effect. |
| `AUDIO_CLICKY_DELAY_DURATION` | 1 | An integer note duration where 1 is 1/16th of the tempo, or a sixty-fourth note (see `quantum/audio/musical_notes.h` for implementation details). The main clicky effect will be delayed by this duration. Adjusting this to values around 6-12 will help compensate for loud switches. |
## MIDI Functionality
This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
This is still a WIP, but check out `quantum/process_keycode/process_midi.c` to see what's happening. Enable from the Makefile.
## Audio Keycodes

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)

View File

@@ -1,20 +1,23 @@
# Backlighting
Many keyboards support backlit keys by way of individual LEDs placed through or underneath the keyswitches. QMK is able to control the brightness of these LEDs by switching them on and off rapidly in a certain ratio, a technique known as *Pulse Width Modulation*, or PWM. By altering the duty cycle of the PWM signal, it creates the illusion of dimming.
Many keyboards support backlit keys by way of individual LEDs placed through or underneath the keyswitches. This feature is distinct from both the [RGB underglow](feature_rgblight.md) and [RGB matrix](feature_rgb_matrix.md) features as it usually allows for only a single colour per switch, though you can obviously install multiple different single coloured LEDs on a keyboard.
QMK is able to control the brightness of these LEDs by switching them on and off rapidly in a certain ratio, a technique known as *Pulse Width Modulation*, or PWM. By altering the duty cycle of the PWM signal, it creates the illusion of dimming.
The MCU can only supply so much current to its GPIO pins. Instead of powering the backlight directly from the MCU, the backlight pin is connected to a transistor or MOSFET that switches the power to the LEDs.
## Usage
## Driver configuration
Most keyboards have backlighting enabled by default if they support it, but if it is not working for you, check that your `rules.mk` includes the following:
```make
BACKLIGHT_ENABLE = yes
```makefile
BACKLIGHT_ENABLE = software # Valid driver values are 'yes,software,no'
```
You should then be able to use the keycodes below to change the backlight level.
See below for help on individual drivers.
## Keycodes
Once enabled the following keycodes below can be used to change the backlight level.
|Key |Description |
|---------|------------------------------------------|
@@ -26,32 +29,6 @@ You should then be able to use the keycodes below to change the backlight level.
|`BL_DEC` |Decrease the backlight level |
|`BL_BRTG`|Toggle backlight breathing |
## Caveats
This feature is distinct from both the [RGB underglow](feature_rgblight.md) and [RGB matrix](feature_rgb_matrix.md) features as it usually allows for only a single colour per switch, though you can obviously use multiple different coloured LEDs on a keyboard.
Hardware PWM is only supported on certain pins of the MCU, so if the backlighting is not connected to one of them, a software implementation will be used, and backlight breathing will not be available. Currently the supported pins are `B5`, `B6`, `B7`, and `C6`.
## Configuration
To change the behaviour of the backlighting, `#define` these in your `config.h`:
|Define |Default |Description |
|---------------------|-------------|-------------------------------------------------------------------------------------------------------------|
|`BACKLIGHT_PIN` |`B7` |The pin that controls the LEDs. Unless you are designing your own keyboard, you shouldn't need to change this|
|`BACKLIGHT_LEVELS` |`3` |The number of brightness levels (maximum 15 excluding off) |
|`BACKLIGHT_BREATHING`|*Not defined*|Enable backlight breathing, if hardware PWM is used |
|`BREATHING_PERIOD` |`6` |The length of one backlight "breath" in seconds |
## Hardware PWM Implementation
When using the supported pins for backlighting, QMK will use a hardware timer configured to output a PWM signal. This timer will count up to `ICRx` (by default `0xFFFF`) before resetting to 0.
The desired brightness is calculated and stored in the `OCRxx` register. When the counter reaches this value, the backlight pin will go low, and is pulled high again when the counter resets.
In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus the brightness, where `0x0000` is completely off and `0xFFFF` is completely on.
The breathing effect is achieved by registering an interrupt handler for `TIMER1_OVF_vect` that is called whenever the counter resets, roughly 244 times per second.
In this handler, the value of an incrementing counter is mapped onto a precomputed brightness curve. To turn off breathing, the interrupt handler is simply disabled, and the brightness reset to the level stored in EEPROM.
## Backlight Functions
|Function |Description |
@@ -68,8 +45,158 @@ In this handler, the value of an incrementing counter is mapped onto a precomput
### Backlight Breathing Functions
|Function |Description |
|----------|----------------------------------------------------------|
|`breathing_toggle()` |Turn the backlight breathing on or off |
|`breathing_enable()` |Turns on backlight breathing |
|`breathing_disable()` |Turns off backlight breathing |
|Function |Description |
|----------|---------------------------------------------------|
|`breathing_toggle()` |Turn the backlight breathing on or off |
|`breathing_enable()` |Turns on backlight breathing |
|`breathing_disable()` |Turns off backlight breathing |
## Common Driver Configuration
To change the behavior of the backlighting, `#define` these in your `config.h`:
|Define |Default |Description |
|---------------------|-------------|--------------------------------------------------------------------------------------|
|`BACKLIGHT_LEVELS` |`3` |The number of brightness levels (maximum 31 excluding off) |
|`BACKLIGHT_CAPS_LOCK`|*Not defined*|Enable Caps Lock indicator using backlight (for keyboards without dedicated LED) |
|`BACKLIGHT_BREATHING`|*Not defined*|Enable backlight breathing, if supported |
|`BREATHING_PERIOD` |`6` |The length of one backlight "breath" in seconds |
|`BACKLIGHT_ON_STATE` |`0` |The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low |
### Backlight On State
Most backlight circuits are driven by an N-channel MOSFET or NPN transistor. This means that to turn the transistor *on* and light the LEDs, you must drive the backlight pin, connected to the gate or base, *high*.
Sometimes, however, a P-channel MOSFET, or a PNP transistor is used. In this case, when the transistor is on, the pin is driven *low* instead.
This functionality is configured at the keyboard level with the `BACKLIGHT_ON_STATE` define.
## AVR driver
On AVR boards, the default driver currently sniffs the configuration to pick the best scenario. To enable it, add this to your rules.mk:
```makefile
BACKLIGHT_ENABLE = yes
```
### Caveats
Hardware PWM is supported according to the following table:
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328P|
|-------------|-------------|-------------|-------------|---------|----------|
|`B1` | | | | |Timer 1 |
|`B2` | | | | |Timer 1 |
|`B5` |Timer 1 |Timer 1 | | | |
|`B6` |Timer 1 |Timer 1 | | | |
|`B7` |Timer 1 |Timer 1 |Timer 1 | | |
|`C4` |Timer 3 | | | | |
|`C5` |Timer 3 | |Timer 1 | | |
|`C6` |Timer 3 |Timer 3 |Timer 1 | | |
|`D4` | | | |Timer 1 | |
|`D5` | | | |Timer 1 | |
All other pins will use software PWM. If the [Audio](feature_audio.md) feature is disabled or only using one timer, the backlight PWM can be triggered by a hardware timer:
|Audio Pin|Audio Timer|Software PWM Timer|
|---------|-----------|------------------|
|`C4` |Timer 3 |Timer 1 |
|`C5` |Timer 3 |Timer 1 |
|`C6` |Timer 3 |Timer 1 |
|`B5` |Timer 1 |Timer 3 |
|`B6` |Timer 1 |Timer 3 |
|`B7` |Timer 1 |Timer 3 |
When both timers are in use for Audio, the backlight PWM will not use a hardware timer, but will instead be triggered during the matrix scan. In this case, breathing is not supported, and the backlight might flicker, because the PWM computation may not be called with enough timing precision.
### AVR Configuration
To change the behavior of the backlighting, `#define` these in your `config.h`:
|Define |Default |Description |
|---------------------|-------------|--------------------------------------------------------------------------------------------------------------|
|`BACKLIGHT_PIN` |`B7` |The pin that controls the LEDs. Unless you are designing your own keyboard, you shouldn't need to change this |
|`BACKLIGHT_PINS` |*Not defined*|experimental: see below for more information |
### Multiple backlight pins
Most keyboards have only one backlight pin which control all backlight LEDs (especially if the backlight is connected to an hardware PWM pin).
In software PWM, it is possible to define multiple backlight pins. All those pins will be turned on and off at the same time during the PWM duty cycle.
This feature allows to set for instance the Caps Lock LED (or any other controllable LED) brightness at the same level as the other LEDs of the backlight. This is useful if you have mapped LCTRL in place of Caps Lock and you need the Caps Lock LED to be part of the backlight instead of being activated when Caps Lock is on.
To activate multiple backlight pins, you need to add something like this to your user `config.h`:
```c
#define BACKLIGHT_LED_COUNT 2
#undef BACKLIGHT_PIN
#define BACKLIGHT_PINS { F5, B2 }
```
### Hardware PWM Implementation
When using the supported pins for backlighting, QMK will use a hardware timer configured to output a PWM signal. This timer will count up to `ICRx` (by default `0xFFFF`) before resetting to 0.
The desired brightness is calculated and stored in the `OCRxx` register. When the counter reaches this value, the backlight pin will go low, and is pulled high again when the counter resets.
In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus the brightness, where `0x0000` is completely off and `0xFFFF` is completely on.
The breathing effect is achieved by registering an interrupt handler for `TIMER1_OVF_vect` that is called whenever the counter resets, roughly 244 times per second.
In this handler, the value of an incrementing counter is mapped onto a precomputed brightness curve. To turn off breathing, the interrupt handler is simply disabled, and the brightness reset to the level stored in EEPROM.
### Timer Assisted PWM Implementation
When `BACKLIGHT_PIN` is not set to a hardware backlight pin, QMK will use a hardware timer configured to trigger software interrupts. This time will count up to `ICRx` (by default `0xFFFF`) before resetting to 0.
When resetting to 0, the CPU will fire an OVF (overflow) interrupt that will turn the LEDs on, starting the duty cycle.
The desired brightness is calculated and stored in the `OCRxx` register. When the counter reaches this value, the CPU will fire a Compare Output match interrupt, which will turn the LEDs off.
In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus the brightness, where `0x0000` is completely off and `0xFFFF` is completely on.
The breathing effect is the same as in the hardware PWM implementation.
## ARM Driver
While still in its early stages, ARM backlight support aims to eventually have feature parity with AVR. To enable it, add this to your rules.mk:
```makefile
BACKLIGHT_ENABLE = yes
```
### Caveats
Currently only hardware PWM is supported, not timer assisted, and does not provide automatic configuration.
?> STMF072 support is being investigated.
### ARM Configuration
To change the behavior of the backlighting, `#define` these in your `config.h`:
|Define |Default |Description |
|------------------------|-------------|-------------------------------------------------------------------------------------------------------------|
|`BACKLIGHT_PIN` |`B7` |The pin that controls the LEDs. Unless you are designing your own keyboard, you shouldn't need to change this|
|`BACKLIGHT_PWM_DRIVER` |`PWMD4` |The PWM driver to use, see ST datasheets for pin to PWM timer mapping. Unless you are designing your own keyboard, you shouldn't need to change this|
|`BACKLIGHT_PWM_CHANNEL` |`3` |The PWM channel to use, see ST datasheets for pin to PWM channel mapping. Unless you are designing your own keyboard, you shouldn't need to change this|
|`BACKLIGHT_PAL_MODE` |`2` |The pin alternative function to use, see ST datasheets for pin AF mapping. Unless you are designing your own keyboard, you shouldn't need to change this|
## Software PWM Driver
Emulation of PWM while running other keyboard tasks, it offers maximum hardware compatibility without extra platform configuration. The tradeoff is the backlight might jitter when the keyboard is busy. To enable, add this to your rules.mk:
```makefile
BACKLIGHT_ENABLE = software
```
### Software PWM Configuration
To change the behavior of the backlighting, `#define` these in your `config.h`:
|Define |Default |Description |
|-----------------|-------------|-------------------------------------------------------------------------------------------------------------|
|`BACKLIGHT_PIN` |`B7` |The pin that controls the LEDs. Unless you are designing your own keyboard, you shouldn't need to change this|
|`BACKLIGHT_PINS` |*Not defined*|experimental: see below for more information |
### Multiple backlight pins
Most keyboards have only one backlight pin which control all backlight LEDs (especially if the backlight is connected to an hardware PWM pin).
In software PWM, it is possible to define multiple backlight pins. All those pins will be turned on and off at the same time during the PWM duty cycle.
This feature allows to set for instance the Caps Lock LED (or any other controllable LED) brightness at the same level as the other LEDs of the backlight. This is useful if you have mapped LCTRL in place of Caps Lock and you need the Caps Lock LED to be part of the backlight instead of being activated when Caps Lock is on.
To activate multiple backlight pins, you need to add something like this to your user `config.h`:
```c
#undef BACKLIGHT_PIN
#define BACKLIGHT_PINS { F5, B2 }
```

View File

@@ -2,18 +2,18 @@
## Bluetooth Known Supported Hardware
Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1 Qmk has support for RN-42 HID Firmware and Bluefruit EZ Key the later of which is not produced anymore. For more recent BLE protocols currently only the Adafruit Bluefruit SPI friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support Mouse Input.
Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules and the Bluefruit EZ-Key, the latter of which is not produced anymore. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input.
|Board |Bluetooth Protocol |Connection Type |Rules.mk |Bluetooth Chip|
|Board |Bluetooth Protocol |Connection Type |rules.mk |Bluetooth Chip|
|----------------------------------------------------------------|----------------------------|----------------|---------------------------|--------------|
|[Adafruit EzKey HID]("https://www.adafruit.com/product/1535") |Bluetooth Classic | UART | BLUETOOTH = AdafruitEZKey | |
|Rover Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic | UART | BLUETOOTH = RN42 | RN-42 |
|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy | SPI | BLUETOOTH = AdafruitBLE | nRF5182 |
|[Adafruit EZ-Key HID](https://www.adafruit.com/product/1535) |Bluetooth Classic | UART |`BLUETOOTH = AdafruitEZKey` | |
|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic | UART |`BLUETOOTH = RN42` | RN-42 |
|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy | SPI |`BLUETOOTH = AdafruitBLE` | nRF51822 |
Not Supported Yet but possible:
* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514)
* HC-05 boards flashed with RN-42 firmware. They apparently both use the CSR BC417 Chip. Flashing it with RN-42 firmware gives it HID capability.
* [Sparkfun Bluetooth mate](https://www.sparkfun.com/products/14839)
* Sparkfun Bluetooth Mate
* HM-13 based boards
### Adafruit BLE SPI Friend

View File

@@ -34,6 +34,8 @@ Hold down the Bootmagic key (Space by default) and the desired hotkey while plug
|`X` |Toggle key matrix debugging |
|`K` |Toggle keyboard debugging |
|`M` |Toggle mouse debugging |
|`L` |Set "Left Hand" for EE_HANDS handedness |
|`R` |Set "Right Hand" for EE_HANDS handedness |
|Backspace |Clear the EEPROM |
|Caps Lock |Toggle treating Caps Lock as Left Control |
|Left Control |Toggle swapping Caps Lock and Left Control |
@@ -64,8 +66,11 @@ Hold down the Bootmagic key (Space by default) and the desired hotkey while plug
|`MAGIC_NO_GUI` | |Disable the GUI keys (useful when gaming) |
|`MAGIC_UNNO_GUI` | |Enable the GUI keys |
|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides (for macOS)|
|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and Left GUI |
|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Left Alt and GUI swap |
|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI |
|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap |
|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Ctrl and GUI on both sides (for macOS)|
|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Ctrl and GUI |
|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Ctrl and GUI swap |
|`MAGIC_SWAP_BACKSLASH_BACKSPACE` | |Swap `\` and Backspace |
|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`| |Unswap `\` and Backspace |
|`MAGIC_SWAP_CONTROL_CAPSLOCK` | |Swap Left Control and Caps Lock |
@@ -76,6 +81,12 @@ Hold down the Bootmagic key (Space by default) and the desired hotkey while plug
|`MAGIC_UNSWAP_LALT_LGUI` | |Unswap Left Alt and Left GUI |
|`MAGIC_SWAP_RALT_RGUI` | |Swap Right Alt and Right GUI |
|`MAGIC_UNSWAP_RALT_RGUI` | |Unswap Right Alt and Right GUI |
|`MAGIC_SWAP_LCTL_LGUI` | |Swap Left Control and Left GUI |
|`MAGIC_UNSWAP_LCTL_LGUI` | |Unswap Left Control and Left GUI |
|`MAGIC_SWAP_RCTL_RGUI` | |Swap Right Control and Right GUI |
|`MAGIC_UNSWAP_RCTL_RGUI` | |Unswap Right Control and Right GUI |
|`MAGIC_EE_HANDS_LEFT` | |Set "Left Hand" for EE_HANDS handedness |
|`MAGIC_EE_HANDS_RIGHT` | |Set "Right Hand" for EE_HANDS handedness |
## Configuration
@@ -91,6 +102,8 @@ If you would like to change the hotkey assignments for Bootmagic, `#define` thes
|`BOOTMAGIC_KEY_DEBUG_MATRIX` |`KC_X` |Toggle matrix debugging |
|`BOOTMAGIC_KEY_DEBUG_KEYBOARD` |`KC_K` |Toggle keyboard debugging |
|`BOOTMAGIC_KEY_DEBUG_MOUSE` |`KC_M` |Toggle mouse debugging |
|`BOOTMAGIC_KEY_EE_HANDS_LEFT` |`KC_L` |Set "Left Hand" for EE_HANDS handedness |
|`BOOTMAGIC_KEY_EE_HANDS_RIGHT` |`KC_R` |Set "Right Hand" for EE_HANDS handedness |
|`BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK` |`KC_LCTRL` |Swap Left Control and Caps Lock |
|`BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL` |`KC_CAPSLOCK`|Toggle treating Caps Lock as Left Control |
|`BOOTMAGIC_KEY_SWAP_LALT_LGUI` |`KC_LALT` |Toggle swapping Left Alt and Left GUI (for macOS) |
@@ -127,7 +140,9 @@ Additionally, you may want to specify which key to use. This is especially usef
By default, these are set to 0 and 0, which is usually the "ESC" key on a majority of keyboards.
And to trigger the bootloader, you hold this key down when plugging the keyboard in. Just the single key.
And to trigger the bootloader, you hold this key down when plugging the keyboard in. Just the single key.
!> Using bootmagic lite will **always reset** the EEPROM, so you will lose any settings that have been saved.
## Advanced Bootmagic Lite
@@ -138,7 +153,7 @@ To replace the function, all you need to do is add something like this to your c
```c
void bootmagic_lite(void) {
matrix_scan();
wait_ms(DEBOUNCING_DELAY * 2);
wait_ms(DEBOUNCE * 2);
matrix_scan();
if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {

View File

@@ -2,7 +2,7 @@
The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting `A` and `S` within the tapping term would hit `ESC` instead, or have it perform even more complex tasks.
To enable this feature, yu need to add `COMBO_ENABLE = yes` to your `rules.mk`.
To enable this feature, you need to add `COMBO_ENABLE = yes` to your `rules.mk`.
Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using).
<!-- At this time, this is necessary -->
@@ -19,7 +19,6 @@ combo_t key_combos[COMBO_COUNT] = {COMBO(test_combo, KC_ESC)};
This will send "Escape" if you hit the A and B keys.
!> This method only supports [basic keycodes](keycodes_basic.md). See the examples for more control.
!> You cannot reuse (share) keys in combos. Each key should only belong to a single combo.
## Examples
@@ -29,7 +28,8 @@ If you want to add a list, then you'd use something like this:
enum combos {
AB_ESC,
JK_TAB
}
};
const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END};
const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
@@ -45,7 +45,7 @@ For a more complicated implementation, you can use the `process_combo_event` fun
enum combo_events {
ZC_COPY,
XV_PASTE
};
};
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
@@ -59,19 +59,12 @@ void process_combo_event(uint8_t combo_index, bool pressed) {
switch(combo_index) {
case ZC_COPY:
if (pressed) {
register_code(KC_LCTL);
register_code(KC_C);
unregister_code(KC_C);
unregister_code(KC_LCTL);
tap_code16(LCTL(KC_C));
}
break;
case XV_PASTE:
if (pressed) {
register_code(KC_LCTL);
register_code(KC_V);
unregister_code(KC_V);
unregister_code(KC_LCTL);
tap_code16(LCTL(KC_V));
}
break;
}
@@ -87,3 +80,24 @@ If you're using long combos, or even longer combos, you may run into issues with
In this case, you can add either `#define EXTRA_LONG_COMBOS` or `#define EXTRA_EXTRA_LONG_COMBOS` in your `config.h` file.
You may also be able to enable action keys by defining `COMBO_ALLOW_ACTION_KEYS`.
## Keycodes
You can enable, disable and toggle the Combo feature on the fly. This is useful if you need to disable them temporarily, such as for a game.
|Keycode |Description |
|----------|---------------------------------|
|`CMB_ON` |Turns on Combo feature |
|`CMB_OFF` |Turns off Combo feature |
|`CMB_TOG` |Toggles Combo feature on and off |
## User callbacks
In addition to the keycodes, there are a few functions that you can use to set the status, or check it:
|Function |Description |
|-----------|--------------------------------------------------------------------|
| `combo_enable()` | Enables the combo feature |
| `combo_disable()` | Disables the combo feature, and clears the combo buffer |
| `combo_toggle()` | Toggles the state of the combo feature |
| `is_combo_enabled()` | Returns the status of the combo feature state (true or false) |

View File

@@ -16,35 +16,36 @@ To use Command, hold down the key combination defined by the `IS_COMMAND()` macr
If you would like to change the key assignments for Command, `#define` these in your `config.h` at either the keyboard or keymap level. All keycode assignments here must omit the `KC_` prefix.
|Define |Default |Description |
|------------------------------------|--------------------------------------------------------------------------------------|------------------------------------------------|
|`IS_COMMAND()` |<code>(keyboard_report->mods == (MOD_BIT(KC_LSHIFT) &#124; MOD_BIT(KC_RSHIFT)))</code>|The key combination to activate Command |
|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
|`MAGIC_KEY_HELP1` |`H` |Print Command help to the console |
|`MAGIC_KEY_HELP2` |`SLASH` |Print Command help to the console (alternate) |
|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
|`MAGIC_KEY_LAYER0_ALT1` |`ESC` |Make layer 0 the default layer (alternate) |
|`MAGIC_KEY_LAYER0_ALT2` |`GRAVE` |Make layer 0 the default layer (alternate) |
|`MAGIC_KEY_BOOTLOADER` |`PAUSE` |Enter the bootloader |
|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
|`MAGIC_KEY_EEPROM` |`E` |Clear the EEPROM |
|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |
|Define |Default |Description |
|------------------------------------|--------------------------------|------------------------------------------------|
|`IS_COMMAND()` |`(get_mods() == MOD_MASK_SHIFT)`|The key combination to activate Command |
|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
|`MAGIC_KEY_HELP` |`H` |Print Command help to the console |
|`MAGIC_KEY_HELP_ALT` |`SLASH` |Print Command help to the console (alternate) |
|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
|`MAGIC_KEY_LAYER0_ALT` |`GRAVE` |Make layer 0 the default layer (alternate) |
|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
|`MAGIC_KEY_BOOTLOADER` |`B` |Jump to bootloader |
|`MAGIC_KEY_BOOTLOADER_ALT` |`ESC` |Jump to bootloader (alternate) |
|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
|`MAGIC_KEY_EEPROM` |`E` |Print stored EEPROM config to the console |
|`MAGIC_KEY_EEPROM_CLEAR` |`BSPACE` |Clear the EEPROM |
|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |

View File

@@ -0,0 +1,42 @@
# Debounce algorithm
QMK supports multiple debounce algorithms through its debounce API.
The logic for which debounce method called is below. It checks various defines that you have set in rules.mk
```
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
DEBOUNCE_TYPE?= sym_g
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
```
# Debounce selection
| DEBOUNCE_TYPE | Description | What else is needed |
| ------------- | --------------------------------------------------- | ----------------------------- |
| Not defined | Use the default algorithm, currently sym_g | Nothing |
| custom | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
| anything_else | Use another algorithm from quantum/debounce/* | Nothing |
**Regarding split keyboards**:
The debounce code is compatible with split keyboards.
# Use your own debouncing code
* Set ```DEBOUNCE_TYPE = custom ```.
* Add ```SRC += debounce.c```
* Add your own ```debounce.c```. Look at current implementations in ```quantum/debounce``` for examples.
* Debouncing occurs after every raw matrix scan.
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
# Changing between included debouncing methods
You can either use your own code, by including your own debounce.c, or switch to another included one.
Included debounce methods are:
* eager_pr - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE_DELAY``` milliseconds of no further input for that row.
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
* eager_pk - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE_DELAY``` milliseconds of no further input for that key
* sym_g - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE_DELAY``` milliseconds of no changes has occured, all input changes are pushed.

View File

@@ -0,0 +1,90 @@
# DIP Switches
DIP switches are supported by adding this to your `rules.mk`:
DIP_SWITCH_ENABLE = yes
and this to your `config.h`:
```c
#define DIP_SWITCH_PINS { B14, A15, A10, B9 }
```
## Callbacks
The callback functions can be inserted into your `<keyboard>.c`:
```c
void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
}
```
or `keymap.c`:
```c
void dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { audio_on(); } else { audio_off(); }
break;
case 1:
if(active) { clicky_on(); } else { clicky_off(); }
break;
case 2:
if(active) { music_on(); } else { music_off(); }
break;
case 3:
if (active) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_song);
#endif
layer_on(_PLOVER);
} else {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
break;
}
}
```
Additionally, we support bit mask functions which allow for more complex handling.
```c
void dip_switch_update_mask_kb(uint32_t state) {
dip_switch_update_mask_user(state);
}
```
or `keymap.c`:
```c
void dip_switch_update_mask_user(uint32_t state) {
if (state & (1UL<<0) && state & (1UL<<1)) {
layer_on(_ADJUST); // C on esc
} else {
layer_off(_ADJUST);
}
if (state & (1UL<<0)) {
layer_on(_TEST_A); // A on ESC
} else {
layer_off(_TEST_A);
}
if (state & (1UL<<1)) {
layer_on(_TEST_B); // B on esc
} else {
layer_off(_TEST_B);
}
}
```
## Hardware
One side of the DIP switch should be wired directly to the pin on the MCU, and the other side to ground. It should not matter which side is connected to which, as it should be functionally the same.

View File

@@ -4,51 +4,45 @@ QMK supports temporary macros created on the fly. We call these Dynamic Macros.
You can store one or two macros and they may have a combined total of 128 keypresses. You can increase this size at the cost of RAM.
To enable them, first add a new element to the end of your `keycodes` enum — `DYNAMIC_MACRO_RANGE`:
To enable them, first include `DYNAMIC_MACRO_ENABLE = yes` in your `rules.mk`. Then, add the following keys to your keymap:
```c
enum keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
PLOVER,
LOWER,
RAISE,
BACKLIT,
EXT_PLV,
DYNAMIC_MACRO_RANGE,
};
```
|Key |Alias |Description |
|------------------|----------|---------------------------------------------------|
|`DYN_REC_START1` |`DM_REC1` |Start recording Macro 1 |
|`DYN_REC_START2` |`DM_REC2` |Start recording Macro 2 |
|`DYN_MACRO_PLAY1` |`DM_PLY1` |Replay Macro 1 |
|`DYN_MACRO_PLAY2` |`DM_PLY2` |Replay Macro 2 |
|`DYN_REC_STOP` |`DM_RSTP` |Finish the macro that is currently being recorded. |
Your `keycodes` enum may have a slightly different name. You must add `DYNAMIC_MACRO_RANGE` as the last element because `dynamic_macros.h` will add some more keycodes after it.
That should be everything necessary.
Below it, include the `dynamic_macro.h` header:
To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`.
```c
#include "dynamic_macro.h"`
```
To finish the recording, press the `DYN_REC_STOP` layer button.
Add the following keys to your keymap:
To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
* `DYN_REC_START1` — start recording the macro 1,
* `DYN_REC_START2` — start recording the macro 2,
* `DYN_MACRO_PLAY1` — replay the macro 1,
* `DYN_MACRO_PLAY2` — replay the macro 2,
* `DYN_REC_STOP` — finish the macro that is currently being recorded.
It is possible to replay a macro as part of a macro. It's ok to replay macro 2 while recording macro 1 and vice versa but never create recursive macros i.e. macro 1 that replays macro 1. If you do so and the keyboard will get unresponsive, unplug the keyboard and plug it again. You can disable this completly by defining `DYNAMIC_MACRO_NO_NESTING` in your `config.h` file.
Add the following code to the very beginning of your `process_record_user()` function:
?> For the details about the internals of the dynamic macros, please read the comments in the `process_dynamic_macro.h` and `process_dynamic_macro.c` files.
```c
if (!process_record_dynamic_macro(keycode, record)) {
return false;
}
```
## Customization
That should be everything necessary. To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`. To finish the recording, press the `DYN_REC_STOP` layer button. To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
There are a number of options added that should allow some additional degree of customization
Note that it's possible to replay a macro as part of a macro. It's ok to replay macro 2 while recording macro 1 and vice versa but never create recursive macros i.e. macro 1 that replays macro 1. If you do so and the keyboard will get unresponsive, unplug the keyboard and plug it again.
|Define |Default |Description |
|----------------------------|----------------|-----------------------------------------------------------------------------------------------------------------|
|`DYNAMIC_MACRO_SIZE` |128 |Sets the amount of memory that Dynamic Macros can use. This is a limited resource, dependent on the controller. |
|`DYNAMIC_MACRO_USER_CALL` |*Not defined* |Defining this falls back to using the user `keymap.c` file to trigger the macro behavior. |
|`DYNAMIC_MACRO_NO_NESTING` |*Not Defined* |Defining this disables the ability to call a macro from another macro (nested macros). |
For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DYN_REC_STOP` key. If you want this behavior back, use the following snippet instead of the one above:
If the LEDs start blinking during the recording with each keypress, it means there is no more space for the macro in the macro buffer. To fit the macro in, either make the other macro shorter (they share the same buffer) or increase the buffer size by adding the `DYNAMIC_MACRO_SIZE` define in your `config.h` (default value: 128; please read the comments for it in the header).
### DYNAMIC_MACRO_USER_CALL
For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DYN_REC_STOP` key. If you want this behavior back, add `#define DYNAMIC_MACRO_USER_CALL` to your `config.h` and insert the following snippet at the beginning of your `process_record_user()` function:
```c
uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
@@ -58,6 +52,15 @@ For users of the earlier versions of dynamic macros: It is still possible to fin
}
```
If the LEDs start blinking during the recording with each keypress, it means there is no more space for the macro in the macro buffer. To fit the macro in, either make the other macro shorter (they share the same buffer) or increase the buffer size by setting the `DYNAMIC_MACRO_SIZE` preprocessor macro (default value: 128; please read the comments for it in the header).
### User Hooks
For the details about the internals of the dynamic macros, please read the comments in the `dynamic_macro.h` header.
There are a number of hooks that you can use to add custom functionality and feedback options to Dynamic Macro feature. This allows for some additional degree of customization.
Note, that direction indicates which macro it is, with `1` being Macro 1, `-1` being Macro 2, and 0 being no macro.
* `dynamic_macro_record_start_user(void)` - Triggered when you start recording a macro.
* `dynamic_macro_play_user(int8_t direction)` - Triggered when you play back a macro.
* `dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record)` - Triggered on each keypress while recording a macro.
* `dynamic_macro_record_end_user(int8_t direction)` - Triggered when the macro recording is stopped.
Additionally, you can call `dynamic_macro_led_blink()` to flash the backlights if that feature is enabled.

View File

@@ -6,14 +6,13 @@ Basic encoders are supported by adding this to your `rules.mk`:
and this to your `config.h`:
#define NUMBER_OF_ENCODERS 1
#define ENCODERS_PAD_A { B12 }
#define ENCODERS_PAD_B { B13 }
Each PAD_A/B variable defines an array so multiple encoders can be defined, e.g.:
#define ENCODERS_PAD_A { encoder1a, encoder2a }
#define ENCODERS_PAD_B { encoder1a, encoder2b }
#define ENCODERS_PAD_B { encoder1b, encoder2b }
If your encoder's clockwise directions are incorrect, you can swap the A & B pad definitions.
@@ -21,6 +20,15 @@ Additionally, the resolution can be specified in the same file (the default & su
#define ENCODER_RESOLUTION 4
## Split Keyboards
If you are using different pinouts for the encoders on each half of a split keyboard, you can define the pinout for the right half like this:
```c
#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
```
## Callbacks
The callback functions can be inserted into your `<keyboard>.c`:
@@ -32,15 +40,19 @@ The callback functions can be inserted into your `<keyboard>.c`:
or `keymap.c`:
void encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
register_code(KC_PGDN);
unregister_code(KC_PGDN);
} else {
register_code(KC_PGUP);
unregister_code(KC_PGUP);
}
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_PGDN);
} else {
tap_code(KC_PGUP);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code(KC_UP);
} else {
tap_code(KC_DOWN);
}
}
}
## Hardware

View File

@@ -4,7 +4,11 @@ If you're using a 60% keyboard, or any other layout with no F-row, you will have
## Usage
Replace the `KC_GRAVE` key in your keymap (usually to the left of the `1` key) with `KC_GESC`. When pressed it will behave like `KC_ESC`, but with Shift or GUI held it will send `KC_GRAVE`.
Replace the `KC_GRAVE` key in your keymap (usually to the left of the `1` key) with `KC_GESC`. Most of the time this key will output `KC_ESC` when pressed. However, when Shift or GUI are held down it will output `KC_GRV` instead.
## What Your OS Sees
If Mary presses GESC on her keyboard, the OS will see an KC_ESC character. Now if Mary holds Shift down and presses GESC it will output `~`, or a shifted backtick. Now if she holds GUI/CMD/WIN, it will output a simple <code>&#96;</code> character.
## Keycodes
@@ -12,6 +16,10 @@ Replace the `KC_GRAVE` key in your keymap (usually to the left of the `1` key) w
|---------|-----------|------------------------------------------------------------------|
|`KC_GESC`|`GRAVE_ESC`|Escape when pressed, <code>&#96;</code> when Shift or GUI are held|
### Caveats
On macOS, Command+<code>&#96;</code> is by default mapped to "Move focus to next window" so it will not output a backtick. Additionally, Terminal always recognises this shortcut to cycle between windows, even if the shortcut is changed in the Keyboard preferences.
## Configuration
There are several possible key combinations this will break, among them Control+Shift+Escape on Windows and Command+Option+Escape on macOS. To work around this, you can `#define` these options in your `config.h`:

View File

@@ -0,0 +1,154 @@
# Haptic Feedback
## Haptic feedback rules.mk options
The following options are currently available for haptic feedback in `rule.mk`:
`HAPTIC_ENABLE += DRV2605L`
`HAPTIC_ENABLE += SOLENOID`
## Known Supported Hardware
| Name | Description |
|--------------------|-------------------------------------------------|
| [LV061228B-L65-A](https://www.digikey.com/product-detail/en/jinlong-machinery-electronics-inc/LV061228B-L65-A/1670-1050-ND/7732325) | z-axis 2v LRA |
| [Mini Motor Disc](https://www.adafruit.com/product/1201) | small 2-5v ERM |
## Haptic Keycodes
Not all keycodes below will work depending on which haptic mechanism you have chosen.
| Name | Description |
|-----------|-------------------------------------------------------|
|`HPT_ON` | Turn haptic feedback on |
|`HPT_OFF` | Turn haptic feedback off |
|`HPT_TOG` | Toggle haptic feedback on/off |
|`HPT_RST` | Reset haptic feedback config to default |
|`HPT_FBK` | Toggle feedback to occur on keypress, release or both |
|`HPT_BUZ` | Toggle solenoid buzz on/off |
|`HPT_MODI` | Go to next DRV2605L waveform |
|`HPT_MODD` | Go to previous DRV2605L waveform |
|`HPT_CONT` | Toggle continuous haptic mode on/off |
|`HPT_CONI` | Increase DRV2605L continous haptic strength |
|`HPT_COND` | Decrease DRV2605L continous haptic strength |
|`HPT_DWLI` | Increase Solenoid dwell time |
|`HPT_DWLD` | Decrease Solenoid dwell time |
### Solenoids
First you will need a build a circuit to drive the solenoid through a mosfet as most MCU will not be able to provide the current needed to drive the coil in the solenoid.
[Wiring diagram provided by Adafruit](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
Select a pin that has PWM for the signal pin
```
#define SOLENOID_PIN *pin*
```
Beware that some pins may be powered during bootloader (ie. A13 on the STM32F303 chip) and will result in the solenoid kept in the on state through the whole flashing process. This may overheat and damage the solenoid. If you find that the pin the solenoid is connected to is triggering the solenoid during bootloader/DFU, select another pin.
### DRV2605L
DRV2605L is controlled over i2c protocol, and has to be connected to the SDA and SCL pins, these varies depending on the MCU in use.
#### Feedback motor setup
This driver supports 2 different feedback motors. Set the following in your `config.h` based on which motor you have selected.
##### ERM
Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight attached so when drive signal is attached, the off-set weight spins and causes a sinusoidal wave that translate into vibrations.
```
#define FB_ERM_LRA 0
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* Please refer to your datasheet for the optimal setting for your specific motor. */
#define RATED_VOLTAGE 3
#define V_PEAK 5
```
##### LRA
Linear resonant actuators (LRA, also know as a linear vibrator) works different from a ERM. A LRA has a weight and magnet suspended by springs and a voice coil. When the drive signal is applied, the weight would be vibrate on a single axis (side to side or up and down). Since the weight is attached to a spring, there is a resonance effect at a specific frequency. This frequency is where the LRA will operate the most efficiently. Refer to the motor's datasheet for the recommanded range for this frequency.
```
#define FB_ERM_LRA 1
#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* Please refer to your datasheet for the optimal setting for your specific motor. */
#define RATED_VOLTAGE 2
#define V_PEAK 2.8
#define V_RMS 2.0
#define V_PEAK 2.1
#define F_LRA 205 /* resonance freq */
```
#### DRV2605L waveform library
DRV2605L comes with preloaded library of various waveform sequences that can be called and played. If writing a macro, these waveforms can be played using `DRV_pulse(*sequence name or number*)`
List of waveform sequences from the datasheet:
|seq# | Sequence name |seq# | Sequence name |seq# |Sequence name |
|-----|---------------------|-----|-----------------------------------|-----|--------------------------------------|
| 1 | strong_click | 43 | lg_dblclick_med_60 | 85 | transition_rampup_med_smooth2 |
| 2 | strong_click_60 | 44 | lg_dblsharp_tick | 86 | transition_rampup_short_smooth1 |
| 3 | strong_click_30 | 45 | lg_dblsharp_tick_80 | 87 | transition_rampup_short_smooth2 |
| 4 | sharp_click | 46 | lg_dblsharp_tick_60 | 88 | transition_rampup_long_sharp1 |
| 5 | sharp_click_60 | 47 | buzz | 89 | transition_rampup_long_sharp2 |
| 6 | sharp_click_30 | 48 | buzz_80 | 90 | transition_rampup_med_sharp1 |
| 7 | soft_bump | 49 | buzz_60 | 91 | transition_rampup_med_sharp2 |
| 8 | soft_bump_60 | 50 | buzz_40 | 92 | transition_rampup_short_sharp1 |
| 9 | soft_bump_30 | 51 | buzz_20 | 93 | transition_rampup_short_sharp2 |
| 10 | dbl_click | 52 | pulsing_strong | 94 | transition_rampdown_long_smooth1_50 |
| 11 | dbl_click_60 | 53 | pulsing_strong_80 | 95 | transition_rampdown_long_smooth2_50 |
| 12 | trp_click | 54 | pulsing_medium | 96 | transition_rampdown_med_smooth1_50 |
| 13 | soft_fuzz | 55 | pulsing_medium_80 | 97 | transition_rampdown_med_smooth2_50 |
| 14 | strong_buzz | 56 | pulsing_sharp | 98 | transition_rampdown_short_smooth1_50 |
| 15 | alert_750ms | 57 | pulsing_sharp_80 | 99 | transition_rampdown_short_smooth2_50 |
| 16 | alert_1000ms | 58 | transition_click | 100 | transition_rampdown_long_sharp1_50 |
| 17 | strong_click1 | 59 | transition_click_80 | 101 | transition_rampdown_long_sharp2_50 |
| 18 | strong_click2_80 | 60 | transition_click_60 | 102 | transition_rampdown_med_sharp1_50 |
| 19 | strong_click3_60 | 61 | transition_click_40 | 103 | transition_rampdown_med_sharp2_50 |
| 20 | strong_click4_30 | 62 | transition_click_20 | 104 | transition_rampdown_short_sharp1_50 |
| 21 | medium_click1 | 63 | transition_click_10 | 105 | transition_rampdown_short_sharp2_50 |
| 22 | medium_click2_80 | 64 | transition_hum | 106 | transition_rampup_long_smooth1_50 |
| 23 | medium_click3_60 | 65 | transition_hum_80 | 107 | transition_rampup_long_smooth2_50 |
| 24 | sharp_tick1 | 66 | transition_hum_60 | 108 | transition_rampup_med_smooth1_50 |
| 25 | sharp_tick2_80 | 67 | transition_hum_40 | 109 | transition_rampup_med_smooth2_50 |
| 26 | sharp_tick3_60 | 68 | transition_hum_20 | 110 | transition_rampup_short_smooth1_50 |
| 27 | sh_dblclick_str | 69 | transition_hum_10 | 111 | transition_rampup_short_smooth2_50 |
| 28 | sh_dblclick_str_80 | 70 | transition_rampdown_long_smooth1 | 112 | transition_rampup_long_sharp1_50 |
| 29 | sh_dblclick_str_60 | 71 | transition_rampdown_long_smooth2 | 113 | transition_rampup_long_sharp2_50 |
| 30 | sh_dblclick_str_30 | 72 | transition_rampdown_med_smooth1 | 114 | transition_rampup_med_sharp1_50 |
| 31 | sh_dblclick_med | 73 | transition_rampdown_med_smooth2 | 115 | transition_rampup_med_sharp2_50 |
| 32 | sh_dblclick_med_80 | 74 | transition_rampdown_short_smooth1 | 116 | transition_rampup_short_sharp1_50 |
| 33 | sh_dblclick_med_60 | 75 | transition_rampdown_short_smooth2 | 117 | transition_rampup_short_sharp2_50 |
| 34 | sh_dblsharp_tick | 76 | transition_rampdown_long_sharp1 | 118 | long_buzz_for_programmatic_stopping |
| 35 | sh_dblsharp_tick_80 | 77 | transition_rampdown_long_sharp2 | 119 | smooth_hum1_50 |
| 36 | sh_dblsharp_tick_60 | 78 | transition_rampdown_med_sharp1 | 120 | smooth_hum2_40 |
| 37 | lg_dblclick_str | 79 | transition_rampdown_med_sharp2 | 121 | smooth_hum3_30 |
| 38 | lg_dblclick_str_80 | 80 | transition_rampdown_short_sharp1 | 122 | smooth_hum4_20 |
| 39 | lg_dblclick_str_60 | 81 | transition_rampdown_short_sharp2 | 123 | smooth_hum5_10 |
| 40 | lg_dblclick_str_30 | 82 | transition_rampup_long_smooth1 | | |
| 41 | lg_dblclick_med | 83 | transition_rampup_long_smooth2 | | |
| 42 | lg_dblclick_med_80 | 84 | transition_rampup_med_smooth1 | | |
### Optional DRV2605L defines
```
#define DRV_GREETING *sequence name or number*
```
If haptic feedback is enabled, the keyboard will vibrate to a specific sqeuence during startup. That can be selected using the following define:
```
#define DRV_MODE_DEFAULT *sequence name or number*
```
This will set what sequence HPT_RST will set as the active mode. If not defined, mode will be set to 1 when HPT_RST is pressed.
### DRV2605L Continuous Haptic Mode
This mode sets continuous haptic feedback with the option to increase or decrease strength.

View File

@@ -2,11 +2,12 @@
This is an integration of Peter Fleury's LCD library. This page will explain the basics. [For in depth documentation visit his page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
You can enable support for HD44780 Displays by setting the `HD44780_ENABLE` flag in your keyboards `rules.mk` to yes. This will use about 400 KB of extra space.
You can enable support for HD44780 Displays by setting the `HD44780_ENABLE` flag in your keyboards `rules.mk` to yes.
## Configuration
You will need to configure the pins used by your display and its number of lines and collumn in your keyboards `config.h`.
You will need to configure the pins used by your display, and its number of lines and columns in your keyboard's `config.h`.
Uncomment the section labled HD44780 and change the parameters as needed.
````
@@ -25,7 +26,7 @@ Uncomment the section labled HD44780 and change the parameters as needed.
#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
#define LCD_RS_PORT LCD_PORT //< port for RS line
#define LCD_RS_PIN 3 //< pin for RS line
@@ -38,14 +39,14 @@ Uncomment the section labled HD44780 and change the parameters as needed.
Should you need to configure other properties you can copy them from `quantum/hd44780.h` and set them in your `config.h`
## Usage
## Usage
To initialize your display call lcd_init() with one of these parameters:
To initialize your display, call `lcd_init()` with one of these parameters:
````
LCD_DISP_OFF : display off
LCD_DISP_ON : display on, cursor off
LCD_DISP_ON_CURSOR : display on, cursor on
LCD_DISP_ON_CURSOR_BLINK : display on, cursor on flashing
LCD_DISP_ON_CURSOR_BLINK : display on, cursor on flashing
````
This is best done in your keyboards `matrix_init_kb` or your keymaps `matrix_init_user`.
It is advised to clear the display before use.
@@ -53,4 +54,4 @@ To do so call `lcd_clrsrc()`.
To now print something to your Display you first call `lcd_gotoxy(column, line)`. To go to the start of the first line you would call `lcd_gotoxy(0, 0)` and then print a string with `lcd_puts("example string")`.
There are more posible methods to control the display. [For in depth documentation please visit the linked page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
There are more methods available to control the display. [For in depth documentation please visit the linked page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)

View File

@@ -16,7 +16,7 @@ First, enable Key Lock by setting `KEY_LOCK_ENABLE = yes` in your `rules.mk`. Th
## Caveats
Key Lock is only able to hold standard action keys and [One Shot modifier](quantum_keycodes.md#one-shot-keys) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`).
Key Lock is only able to hold standard action keys and [One Shot modifier](feature_advanced_keycodes.md#one-shot-keys) keys (for example, if you have your Shift defined as `OSM(KC_LSFT)`).
This does not include any of the QMK special functions (except One Shot modifiers), or shifted versions of keys such as `KC_LPRN`. If it's in the [Basic Keycodes](keycodes_basic.md) list, it can be held.
Switching layers will not cancel the Key Lock.

View File

@@ -51,6 +51,35 @@ The folder name must be added to the keyboard's `rules.mk`:
but the `LAYOUT_<layout>` variable must be defined in `<folder>.h` as well.
## Building a Keymap
You should be able to build the keyboard keymap with a command in this format:
make <keyboard>:<layout>
### Conflicting layouts
When a keyboard supports multiple layout options,
LAYOUTS = ortho_4x4 ortho_4x12
And a layout exists for both options,
```
layouts/
+ community/
| + ortho_4x4/
| | + <layout>/
| | | + ...
| + ortho_4x12/
| | + <layout>/
| | | + ...
| + ...
```
The FORCE_LAYOUT argument can be used to specify which layout to build
make <keyboard>:<layout> FORCE_LAYOUT=ortho_4x4
make <keyboard>:<layout> FORCE_LAYOUT=ortho_4x12
## Tips for Making Layouts Keyboard-Agnostic
### Includes

View File

@@ -5,10 +5,11 @@ If you've ever used Vim, you know what a Leader key is. If not, you're about to
That's what `KC_LEAD` does. Here's an example:
1. Pick a key on your keyboard you want to use as the Leader key. Assign it the keycode `KC_LEAD`. This key would be dedicated just for this -- it's a single action key, can't be used for anything else.
2. Include the line `#define LEADER_TIMEOUT 300` in your config.h. The 300 there is 300ms -- that's how long you have for the sequence of keys following the leader. You can tweak this value for comfort, of course.
3. Within your `matrix_scan_user` function, do something like this:
2. Include the line `#define LEADER_TIMEOUT 300` in your `config.h`. This sets the timeout for the `KC_LEAD` key. Specifically, when you press the `KC_LEAD` key, you only have a certain amount of time to complete the Leader Key sequence. The `300` here sets that to 300ms, and you can increase this value to give you more time to hit the sequence. But any keys pressed during this timeout are intercepted and not sent, so you may want to keep this value low. .
* By default, this timeout is how long after pressing `KC_LEAD` to complete your entire sequence. This may be very low for some people. So you may want to increase this timeout. Optionally, you may want to enable the `LEADER_PER_KEY_TIMING` option, which resets the timeout after each key is tapped. This allows you to maintain a low value here, but still be able to use the longer sequences. To enable this option, add `#define LEADER_PER_KEY_TIMING` to your `config.h`.
3. Within your `matrix_scan_user` function, add something like this:
```
```c
LEADER_EXTERNS();
void matrix_scan_user(void) {
@@ -44,6 +45,102 @@ Each of these accepts one or more keycodes as arguments. This is an important po
To add support for Leader Key you simply need to add a single line to your keymap's `rules.mk`:
```
```make
LEADER_ENABLE = yes
```
## Per Key Timing on Leader keys
Rather than relying on an incredibly high timeout for long leader key strings or those of us without 200wpm typing skills, we can enable per key timing to ensure that each key pressed provides us with more time to finish our stroke. This is incredibly helpful with leader key emulation of tap dance (read: multiple taps of the same key like C, C, C).
In order to enable this, place this in your `config.h`:
```c
#define LEADER_PER_KEY_TIMING
```
After this, it's recommended that you lower your `LEADER_TIMEOUT` to something less that 300ms.
```c
#define LEADER_TIMEOUT 250
```
Now, something like this won't seem impossible to do without a 1000MS leader key timeout:
```c
SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
SEND_STRING("Per key timing is great!!!");
}
```
## Strict Key Processing
By default, the Leader Key feature will filter the keycode out of [`Mod-Tap`](feature_advanced_keycodes.md#mod-tap) and [`Layer Tap`](feature_advanced_keycodes.md#switching-and-toggling-layers) functions when checking for the Leader sequences. That means if you're using `LT(3, KC_A)`, it will pick this up as `KC_A` for the sequence, rather than `LT(3, KC_A)`, giving a more expected behavior for newer users.
While, this may be fine for most, if you want to specify the whole keycode (eg, `LT(3, KC_A)` from the example above) in the sequence, you can enable this by added `#define LEADER_KEY_STRICT_KEY_PROCESSING` to your `config.h` file. This well then disable the filtering, and you'll need to specify the whole keycode.
## Customization
The Leader Key feature has some additional customization to how the Leader Key feature works. It has two functions that can be called at certain parts of the process. Namely `leader_start()` and `leader_end()`.
The `leader_start()` function is called when you tap the `KC_LEAD` key, and the `leader_end()` function is called when either the leader sequence is completed, or the leader timeout is hit.
You can add these functions to your code (`keymap.c` usually) to add feedback to the Leader sequences (such as beeping or playing music).
```c
void leader_start(void) {
// sequence started
}
void leader_end(void) {
// sequence ended (no success/failuer detection)
}
```
### Example
This example will play the Mario "One Up" sound when you hit `KC_LEAD` to start the Leader Sequence, and will play "All Star" if it completes successfully or "Rick Roll" you if it fails.
```c
bool did_leader_succeed;
#ifdef AUDIO_ENABLE
float leader_start[][2] = SONG(ONE_UP_SOUND );
float leader_succeed[][2] = SONG(ALL_STAR);
float leader_fail[][2] = SONG(RICK_ROLL);
#endif
LEADER_EXTERNS();
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
did_leader_succeed = leading = false;
SEQ_ONE_KEY(KC_E) {
// Anything you can do in a macro.
SEND_STRING(SS_LCTRL(SS_LSFT("t")));
did_leader_succeed = true;
} else
SEQ_TWO_KEYS(KC_E, KC_D) {
SEND_STRING(SS_LGUI("r")"cmd"SS_TAP(KC_ENTER)SS_LCTRL("c"));
did_leader_succeed = true;
}
leader_end();
}
}
void leader_start(void) {
#ifdef AUDIO_ENABLE
PLAY_SONG(leader_start);
#endif
}
void leader_end(void) {
if (did_leader_succeed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(leader_succeed);
#endif
} else {
#ifdef AUDIO_ENABLE
PLAY_SONG(leader_fail);
#endif
}
}
```

View File

@@ -0,0 +1,90 @@
# LED Matrix Lighting
This feature allows you to use LED matrices driven by external drivers. It hooks into the backlight system so you can use the same keycodes as backlighting to control it.
If you want to use RGB LED's you should use the [RGB Matrix Subsystem](feature_rgb_matrix.md) instead.
## Driver configuration
### IS31FL3731
There is basic support for addressable LED matrix lighting with the I2C IS31FL3731 RGB controller. To enable it, add this to your `rules.mk`:
LED_MATRIX_ENABLE = IS31FL3731
You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
| Variable | Description | Default |
|----------|-------------|---------|
| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages | 100 |
| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
| `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | |
| `LED_DRIVER_LED_COUNT` | (Required) How many LED lights are present across all drivers | |
| `LED_DRIVER_ADDR_1` | (Required) Address for the first LED driver | |
| `LED_DRIVER_ADDR_2` | (Optional) Address for the second LED driver | |
| `LED_DRIVER_ADDR_3` | (Optional) Address for the third LED driver | |
| `LED_DRIVER_ADDR_4` | (Optional) Address for the fourth LED driver | |
Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define LED_DRIVER_ADDR_1 0b1110100
#define LED_DRIVER_ADDR_2 0b1110110
#define LED_DRIVER_COUNT 2
#define LED_DRIVER_1_LED_COUNT 25
#define LED_DRIVER_2_LED_COUNT 24
#define LED_DRIVER_LED_COUNT LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL
Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
* | | */
{0, C3_3},
....
}
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](http://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
## Keycodes
All LED matrix keycodes are currently shared with the [backlight system](feature_backlight.md).
## LED Matrix Effects
Currently no LED matrix effects have been created.
## Custom layer effects
Custom layer effects can be done by defining this in your `<keyboard>.c`:
void led_matrix_indicators_kb(void) {
led_matrix_set_index_value(index, value);
}
A similar function works in the keymap as `led_matrix_indicators_user`.
## Suspended state
To use the suspend feature, add this to your `<keyboard>.c`:
void suspend_power_down_kb(void)
{
led_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_kb(void)
{
led_matrix_set_suspend_state(false);
}

View File

@@ -12,24 +12,28 @@ Here is an example `keymap.c` for a two-key keyboard:
```c
enum custom_keycodes {
MY_CUSTOM_MACRO = SAFE_RANGE
QMKBEST = SAFE_RANGE,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch(keycode) {
case MY_CUSTOM_MACRO:
SEND_STRING("QMK is the best thing ever!"); // this is our macro!
return false;
}
}
return true;
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
}
return true;
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = {
{MY_CUSTOM_MACRO, KC_ESC}
}
[0] = {
{QMKBEST, KC_ESC}
}
};
```
@@ -37,7 +41,7 @@ What happens here is this:
We first define a new custom keycode in the range not occupied by any other keycodes.
Then we use the `process_record_user` function, which is called whenever a key is pressed or released, to check if our custom keycode has been activated.
If yes, we send the string `"QMK is the best thing ever!"` to the computer via the `SEND_STRING` macro (this is a C preprocessor macro, not to be confused with QMK macros).
We return `false` to indicate to the caller that the key press we just processed need not be processed any further.
We return `true` to indicate to the caller that the key press we just processed should continue to be processed as normal (as we didn't replace or alter the functionality).
Finally, we define the keymap so that the first button activates our macro and the second button is just an escape button.
You might want to add more than one macro.
@@ -45,28 +49,42 @@ You can do that by adding another keycode and adding another case to the switch
```c
enum custom_keycodes {
MY_CUSTOM_MACRO = SAFE_RANGE,
MY_OTHER_MACRO
QMKBEST = SAFE_RANGE,
QMKURL,
MY_OTHER_MACRO
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch(keycode) {
case MY_CUSTOM_MACRO:
SEND_STRING("QMK is the best thing ever!");
return false;
case MY_OTHER_MACRO:
SEND_STRING(SS_LCTRL("ac")); // selects all and copies
return false;
}
}
return true;
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
case MY_OTHER_MACRO:
if (record->event.pressed) {
SEND_STRING(SS_LCTRL("ac")); // selects all and copies
}
break;
}
return true;
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = {
{MY_CUSTOM_MACRO, MY_OTHER_MACRO}
}
[0] = {
{MY_CUSTOM_MACRO, MY_OTHER_MACRO}
}
};
```
@@ -128,96 +146,21 @@ send_string(my_str);
SEND_STRING(".."SS_TAP(X_END));
```
## The Old Way: `MACRO()` & `action_get_macro`
?> This is inherited from TMK, and hasn't been updated - it's recommend that you use `SEND_STRING` and `process_record_user` instead.
By default QMK assumes you don't have any macros. To define your macros you create an `action_get_macro()` function. For example:
```c
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case 0:
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
case 1:
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
}
}
return MACRO_NONE;
};
```
This defines two macros which will be run when the key they are assigned to is pressed. If instead you'd like them to run when the key is released you can change the if statement:
if (!record->event.pressed) {
### Macro Commands
A macro can include the following commands:
* I() change interval of stroke in milliseconds.
* D() press key.
* U() release key.
* T() type key(press and release).
* W() wait (milliseconds).
* END end mark.
### Mapping a Macro to a Key
Use the `M()` function within your `KEYMAP()` to call a macro. For example, here is the keymap for a 2-key keyboard:
```c
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP(
M(0), M(1)
),
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case 0:
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
case 1:
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
}
}
return MACRO_NONE;
};
```
When you press the key on the left it will type "Hi!" and when you press the key on the right it will type "Bye!".
### Naming Your Macros
If you have a bunch of macros you want to refer to from your keymap while keeping the keymap easily readable you can name them using `#define` at the top of your file.
```c
#define M_HI M(0)
#define M_BYE M(1)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP(
M_HI, M_BYE
),
};
```
## Advanced Macro Functions
There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple.
There are some functions you may find useful in macro-writing. Keep in mind that while you can write some fairly advanced code within a macro, if your functionality gets too complex you may want to define a custom keycode instead. Macros are meant to be simple.
### `record->event.pressed`
This is a boolean value that can be tested to see if the switch is being pressed or released. An example of this is
```c
if (record->event.pressed) {
// on keydown
} else {
// on keyup
}
if (record->event.pressed) {
// on keydown
} else {
// on keyup
}
```
### `register_code(<kc>);`
@@ -232,6 +175,14 @@ Parallel to `register_code` function, this sends the `<kc>` keyup event to the c
This will send `register_code(<kc>)` and then `unregister_code(<kc>)`. This is useful if you want to send both the press and release events ("tap" the key, rather than hold it).
If you're having issues with taps (un)registering, you can add a delay between the register and unregister events by setting `#define TAP_CODE_DELAY 100` in your `config.h` file. The value is in milliseconds.
### `register_code16(<kc>);`, `unregister_code16(<kc>);` and `tap_code16(<kc>);`
These functions work similar to their regular counterparts, but allow you to use modded keycodes (with Shift, Alt, Control, and/or GUI applied to them).
Eg, you could use `register_code16(S(KC_5));` instead of registering the mod, then registering the keycode.
### `clear_keyboard();`
This will clear all mods and keys currently pressed.
@@ -244,22 +195,145 @@ This will clear all mods currently pressed.
This will clear all keys besides the mods currently pressed.
## Advanced Example: Single-Key Copy/Paste
## Advanced Example:
### Super ALT↯TAB
This macro will register `KC_LALT` and tap `KC_TAB`, then wait for 1000ms. If the key is tapped again, it will send another `KC_TAB`; if there is no tap, `KC_LALT` will be unregistered, thus allowing you to cycle through windows.
```c
bool is_alt_tab_active = false; # ADD this near the begining of keymap.c
uint16_t alt_tab_timer = 0; # we will be using them soon.
enum custom_keycodes { # Make sure have the awesome keycode ready
ALT_TAB = SAFE_RANGE,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { # This will do most of the grunt work with the keycodes.
case ALT_TAB:
if (record->event.pressed) {
if (!is_alt_tab_active) {
is_alt_tab_active = true;
register_code(KC_LALT);
}
alt_tab_timer = timer_read();
register_code(KC_TAB);
} else {
unregister_code(KC_TAB);
}
break;
}
return true;
}
void matrix_scan_user(void) { # The very important timer.
if (is_alt_tab_active) {
if (timer_elapsed(alt_tab_timer) > 1000) {
unregister_code(KC_LALT);
is_alt_tab_active = false;
}
}
}
```
---
## **(DEPRECATED)** The Old Way: `MACRO()` & `action_get_macro`
!> This is inherited from TMK, and hasn't been updated - it's recommended that you use `SEND_STRING` and `process_record_user` instead.
By default QMK assumes you don't have any macros. To define your macros you create an `action_get_macro()` function. For example:
```c
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case 0:
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
case 1:
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
}
}
return MACRO_NONE;
};
```
This defines two macros which will be run when the key they are assigned to is pressed. If instead you'd like them to run when the key is released you can change the if statement:
if (!record->event.pressed) {
### Macro Commands
A macro can include the following commands:
* I() change interval of stroke in milliseconds.
* D() press key.
* U() release key.
* T() type key(press and release).
* W() wait (milliseconds).
* END end mark.
### Mapping a Macro to a Key
Use the `M()` function within your keymap to call a macro. For example, here is the keymap for a 2-key keyboard:
```c
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
M(0), M(1)
),
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
if (record->event.pressed) {
switch(id) {
case 0:
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
case 1:
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
}
}
return MACRO_NONE;
};
```
When you press the key on the left it will type "Hi!" and when you press the key on the right it will type "Bye!".
### Naming Your Macros
If you have a bunch of macros you want to refer to from your keymap while keeping the keymap easily readable you can name them using `#define` at the top of your file.
```c
#define M_HI M(0)
#define M_BYE M(1)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
M_HI, M_BYE
),
};
```
## Advanced Example:
### Single-Key Copy/Paste
This example defines a macro which sends `Ctrl-C` when pressed down, and `Ctrl-V` when released.
```c
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
switch(id) {
case 0: {
if (record->event.pressed) {
return MACRO( D(LCTL), T(C), U(LCTL), END );
} else {
return MACRO( D(LCTL), T(V), U(LCTL), END );
}
break;
}
}
return MACRO_NONE;
switch(id) {
case 0: {
if (record->event.pressed) {
return MACRO( D(LCTL), T(C), U(LCTL), END );
} else {
return MACRO( D(LCTL), T(V), U(LCTL), END );
}
break;
}
}
return MACRO_NONE;
};
```

View File

@@ -1,81 +1,119 @@
# Mousekeys
# Mouse keys
Mouse keys is a feature that allows you to emulate a mouse using your keyboard. You can move the pointer at different speeds, press 5 buttons and scroll in 8 directions.
Mousekeys is a feature that allows you to emulate a mouse using your keyboard. You can move the pointer around, click up to 5 buttons, and even scroll in all 4 directions. QMK uses the same algorithm as the X Window System MouseKeysAccel feature. You can read more about it [on Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys).
## Adding mouse keys to your keyboard
## Adding Mousekeys to a Keymap
To use mouse keys, you must at least enable mouse keys support and map mouse actions to keys on your keyboard.
There are two steps to adding Mousekeys support to your keyboard. You must enable support in the `rules.mk` file and you must map mouse actions to keys on your keyboard.
### Enabling mouse keys
### Adding Mousekeys Support in the `rules.mk`
To enable mouse keys, add the following line to your keymaps `rules.mk`:
To add support for Mousekeys you simply need to add a single line to your keymap's `rules.mk`:
```
```c
MOUSEKEY_ENABLE = yes
```
You can see an example here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/66/keymaps/mouse_keys/rules.mk
### Mapping mouse actions
### Mapping Mouse Actions to Keyboard Keys
In your keymap you can use the following keycodes to map key presses to mouse actions:
You can use these keycodes within your keymap to map button presses to mouse actions:
|Key |Aliases |Description |
|----------------|---------|-----------------|
|`KC_MS_UP` |`KC_MS_U`|Move cursor up |
|`KC_MS_DOWN` |`KC_MS_D`|Move cursor down |
|`KC_MS_LEFT` |`KC_MS_L`|Move cursor left |
|`KC_MS_RIGHT` |`KC_MS_R`|Move cursor right|
|`KC_MS_BTN1` |`KC_BTN1`|Press button 1 |
|`KC_MS_BTN2` |`KC_BTN2`|Press button 2 |
|`KC_MS_BTN3` |`KC_BTN3`|Press button 3 |
|`KC_MS_BTN4` |`KC_BTN4`|Press button 4 |
|`KC_MS_BTN5` |`KC_BTN5`|Press button 5 |
|`KC_MS_WH_UP` |`KC_WH_U`|Move wheel up |
|`KC_MS_WH_DOWN` |`KC_WH_D`|Move wheel down |
|`KC_MS_WH_LEFT` |`KC_WH_L`|Move wheel left |
|`KC_MS_WH_RIGHT`|`KC_WH_R`|Move wheel right |
|`KC_MS_ACCEL0` |`KC_ACL0`|Set speed to 0 |
|`KC_MS_ACCEL1` |`KC_ACL1`|Set speed to 1 |
|`KC_MS_ACCEL2` |`KC_ACL2`|Set speed to 2 |
|Key |Aliases |Description |
|----------------|---------|---------------------------|
|`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
|`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
|`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
|`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
|`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
|`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
|`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
|`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
|`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
|`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
|`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
|`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
|`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
|`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
## Configuring mouse keys
You can see an example in the `_ML` here: https://github.com/qmk/qmk_firmware/blob/master/keyboards/clueboard/66/keymaps/mouse_keys/keymap.c#L46
Mouse keys supports two different modes to move the cursor:
## Configuring the Behavior of Mousekeys
* **Accelerated (default):** Holding movement keys accelerates the cursor until it reaches its maximum speed.
* **Constant:** Holding movement keys moves the cursor at constant speeds.
The default speed for controlling the mouse with the keyboard is intentionally slow. You can adjust these parameters by adding these settings to your keymap's `config.h` file. All times are specified in milliseconds (ms).
The same principle applies to scrolling.
```
#define MOUSEKEY_DELAY 300
#define MOUSEKEY_INTERVAL 50
#define MOUSEKEY_MAX_SPEED 10
#define MOUSEKEY_TIME_TO_MAX 20
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
Configuration options that are times, intervals or delays are given in milliseconds. Scroll speed is given as multiples of the default scroll step. For example, a scroll speed of 8 means that each scroll action covers 8 times the length of the default scroll step as defined by your operating system or application.
### Accelerated mode
This is the default mode. You can adjust the cursor and scrolling acceleration using the following settings in your keymaps `config.h` file:
|Define |Default|Description |
|----------------------------|-------|---------------------------------------------------------|
|`MOUSEKEY_DELAY` |300 |Delay between pressing a movement key and cursor movement|
|`MOUSEKEY_INTERVAL` |50 |Time between cursor movements |
|`MOUSEKEY_MAX_SPEED` |10 |Maximum cursor speed at which acceleration stops |
|`MOUSEKEY_TIME_TO_MAX` |20 |Time until maximum cursor speed is reached |
|`MOUSEKEY_WHEEL_MAX_SPEED` |8 |Maximum number of scroll steps per scroll action |
|`MOUSEKEY_WHEEL_TIME_TO_MAX`|40 |Time until maximum scroll speed is reached |
Tips:
* Setting `MOUSEKEY_DELAY` too low makes the cursor unresponsive. Setting it too high makes small movements difficult.
* For smoother cursor movements, lower the value of `MOUSEKEY_INTERVAL`. If the refresh rate of your display is 60Hz, you could set it to `16` (1/60). As this raises the cursor speed significantly, you may want to lower `MOUSEKEY_MAX_SPEED`.
* Setting `MOUSEKEY_TIME_TO_MAX` or `MOUSEKEY_WHEEL_TIME_TO_MAX` to `0` will disable acceleration for the cursor or scrolling respectively. This way you can make one of them constant while keeping the other accelerated, which is not possible in constant speed mode.
Cursor acceleration uses the same algorithm as the X Window System MouseKeysAccel feature. You can read more about it [on Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys).
### Constant mode
In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `KC_ACL0`, `KC_ACL1` and `KC_ACL2` change the cursor and scroll speed to their respective setting.
You can choose whether speed selection is momentary or tap-to-select:
* **Momentary:** The chosen speed is only active while you hold the respective key. When the key is raised, mouse keys returns to the unmodified speed.
* **Tap-to-select:** The chosen speed is activated when you press the respective key and remains active even after the key has been raised. The default speed is that of `KC_ACL1`. There is no unmodified speed.
The default speeds from slowest to fastest are as follows:
* **Momentary:** `KC_ACL0` < `KC_ACL1` < *unmodified* < `KC_ACL2`
* **Tap-to-select:** `KC_ACL0` < `KC_ACL1` < `KC_ACL2`
To use constant speed mode, you must at least define `MK_3_SPEED` in your keymaps `config.h` file:
```c
#define MK_3_SPEED
```
To enable momentary mode, also define `MK_MOMENTARY_ACCEL`:
### `MOUSEKEY_DELAY`
```c
#define MK_MOMENTARY_ACCEL
```
When one of the mouse movement buttons is pressed this setting is used to define the delay between that button press and the mouse cursor moving. Some people find that small movements are impossible if this setting is too low, while settings that are too high feel sluggish.
Use the following settings if you want to adjust cursor movement or scrolling:
### `MOUSEKEY_INTERVAL`
When a movement key is held down this specifies how long to wait between each movement report. Lower settings will translate into an effectively higher mouse speed.
### `MOUSEKEY_MAX_SPEED`
As a movement key is held down the speed of the mouse cursor will increase until it reaches `MOUSEKEY_MAX_SPEED`.
### `MOUSEKEY_TIME_TO_MAX`
How long you want to hold down a movement key for until `MOUSEKEY_MAX_SPEED` is reached. This controls how quickly your cursor will accelerate.
### `MOUSEKEY_WHEEL_MAX_SPEED`
The top speed for scrolling movements.
### `MOUSEKEY_WHEEL_TIME_TO_MAX`
How long you want to hold down a scroll key for until `MOUSEKEY_WHEEL_MAX_SPEED` is reached. This controls how quickly your scrolling will accelerate.
|Define |Default |Description |
|---------------------|-------------|-------------------------------------------|
|`MK_3_SPEED` |*Not defined*|Enable constant cursor speeds |
|`MK_MOMENTARY_ACCEL` |*Not defined*|Enable momentary speed selection |
|`MK_C_OFFSET_UNMOD` |16 |Cursor offset per movement (unmodified) |
|`MK_C_INTERVAL_UNMOD`|16 |Time between cursor movements (unmodified) |
|`MK_C_OFFSET_0` |1 |Cursor offset per movement (`KC_ACL0`) |
|`MK_C_INTERVAL_0` |32 |Time between cursor movements (`KC_ACL0`) |
|`MK_C_OFFSET_1` |4 |Cursor offset per movement (`KC_ACL1`) |
|`MK_C_INTERVAL_1` |16 |Time between cursor movements (`KC_ACL1`) |
|`MK_C_OFFSET_2` |32 |Cursor offset per movement (`KC_ACL2`) |
|`MK_C_INTERVAL_2` |16 |Time between cursor movements (`KC_ACL2`) |
|`MK_W_OFFSET_UNMOD` |1 |Scroll steps per scroll action (unmodified)|
|`MK_W_INTERVAL_UNMOD`|40 |Time between scroll steps (unmodified) |
|`MK_W_OFFSET_0` |1 |Scroll steps per scroll action (`KC_ACL0`) |
|`MK_W_INTERVAL_0` |360 |Time between scroll steps (`KC_ACL0`) |
|`MK_W_OFFSET_1` |1 |Scroll steps per scroll action (`KC_ACL1`) |
|`MK_W_INTERVAL_1` |120 |Time between scroll steps (`KC_ACL1`) |
|`MK_W_OFFSET_2` |1 |Scroll steps per scroll action (`KC_ACL2`) |
|`MK_W_INTERVAL_2` |20 |Time between scroll steps (`KC_ACL2`) |

297
docs/feature_oled_driver.md Normal file
View File

@@ -0,0 +1,297 @@
# OLED Driver
## OLED Supported Hardware
OLED modules using SSD1306 or SH1106 driver ICs, communicating over I2C.
Tested combinations:
| IC driver | Size | Keyboard Platform | Notes |
|-----------|--------|-------------------|--------------------------|
| SSD1306 | 128x32 | AVR | Primary support |
| SSD1306 | 128x64 | AVR | Verified working |
| SSD1306 | 128x32 | ARM | |
| SH1106 | 128x64 | AVR | No rotation or scrolling |
Hardware configurations using ARM-based microcontrollers or different sizes of OLED modules may be compatible, but are untested.
!> Warning: This OLED Driver currently uses the new i2c_master driver from split common code. If your split keyboard uses I2C to communicate between sides, this driver could cause an address conflict (serial is fine). Please contact your keyboard vendor and ask them to migrate to the latest split common code to fix this. In addition, the display timeout system to reduce OLED burn-in also uses split common to detect keypresses, so you will need to implement custom timeout logic for non-split common keyboards.
## Usage
To enable the OLED feature, there are three steps. First, when compiling your keyboard, you'll need to set `OLED_DRIVER_ENABLE=yes` in `rules.mk`, e.g.:
```
OLED_DRIVER_ENABLE = yes
```
This enables the feature and the `OLED_DRIVER_ENABLE` define. Then in your `keymap.c` file, you will need to implement the user task call, e.g:
```C++
#ifdef OLED_DRIVER_ENABLE
void oled_task_user(void) {
// Host Keyboard Layer Status
oled_write_P(PSTR("Layer: "), false);
switch (get_highest_layer(layer_state)) {
case _QWERTY:
oled_write_P(PSTR("Default\n"), false);
break;
case _FN:
oled_write_P(PSTR("FN\n"), false);
break;
case _ADJ:
oled_write_P(PSTR("ADJ\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
}
// Host Keyboard LED Status
uint8_t led_usb_state = host_keyboard_leds();
oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
}
#endif
```
## Logo Example
In the default font, ranges in the font file are reserved for a QMK Logo. To Render this logo to the oled screen, use the following code example:
```C++
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
oled_write_P(qmk_logo, false);
}
```
## Other Examples
In split keyboards, it is very common to have two OLED displays that each render different content and oriented flipped differently. You can do this by switching which content to render by using the return from `is_keyboard_master()` or `is_keyboard_left()` found in `split_util.h`, e.g:
```C++
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (!is_keyboard_master())
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
return rotation;
}
void oled_task_user(void) {
if (is_keyboard_master()) {
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
} else {
render_logo(); // Renders a statuc logo
oled_scroll_left(); // Turns on scrolling
}
}
#endif
```
## Basic Configuration
| Define | Default | Description |
|----------------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------|
| `OLED_DISPLAY_ADDRESS` | `0x3C` | The i2c address of the OLED Display |
| `OLED_FONT_H` | `"glcdfont.c"` | The font code file to use for custom fonts |
| `OLED_FONT_START` | `0` | The starting characer index for custom fonts |
| `OLED_FONT_END` | `224` | The ending characer index for custom fonts |
| `OLED_FONT_WIDTH` | `6` | The font width |
| `OLED_FONT_HEIGHT` | `8` | The font height (untested) |
| `OLED_TIMEOUT` | `60000` | Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
| `OLED_SCROLL_TIMEOUT` | `0` | Scrolls the OLED screen after 0ms of OLED inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
| `OLED_SCROLL_TIMEOUT_RIGHT`| *Not defined* | Scroll timeout direction is right when defined, left when undefined. |
| `OLED_IC` | `OLED_IC_SSD1306` | Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. |
| `OLED_COLUMN_OFFSET` | `0` | (SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC. |
## 128x64 & Custom sized OLED Displays
The default display size for this feature is 128x32 and all necessary defines are precalculated with that in mind. We have added a define, `OLED_DISPLAY_128X64`, to switch all the values to be used in a 128x64 display, as well as added a custom define, `OLED_DISPLAY_CUSTOM`, that allows you to provide the necessary values to the driver.
|Define |Default |Description |
|-----------------------|---------------|-----------------------------------------------------------------|
|`OLED_DISPLAY_128X64` |*Not defined* |Changes the display defines for use with 128x64 displays. |
|`OLED_DISPLAY_CUSTOM` |*Not defined* |Changes the display defines for use with custom displays.<br />Requires user to implement the below defines. |
|`OLED_DISPLAY_WIDTH` |`128` |The width of the OLED display. |
|`OLED_DISPLAY_HEIGHT` |`32` |The height of the OLED display. |
|`OLED_MATRIX_SIZE` |`512` |The local buffer size to allocate.<br />`(OLED_DISPLAY_HEIGHT / 8 * OLED_DISPLAY_WIDTH)`. |
|`OLED_BLOCK_TYPE` |`uint16_t` |The unsigned integer type to use for dirty rendering. |
|`OLED_BLOCK_COUNT` |`16` |The number of blocks the display is divided into for dirty rendering.<br />`(sizeof(OLED_BLOCK_TYPE) * 8)`. |
|`OLED_BLOCK_SIZE` |`32` |The size of each block for dirty rendering<br />`(OLED_MATRIX_SIZE / OLED_BLOCK_COUNT)`. |
|`OLED_COM_PINS` |`COM_PINS_SEQ` |How the SSD1306 chip maps it's memory to display.<br />Options are `COM_PINS_SEQ`, `COM_PINS_ALT`, `COM_PINS_SEQ_LR`, & `COM_PINS_ALT_LR`. |
|`OLED_SOURCE_MAP` |`{ 0, ... N }` |Precalculated source array to use for mapping source buffer to target OLED memory in 90 degree rendering. |
|`OLED_TARGET_MAP` |`{ 24, ... N }`|Precalculated target array to use for mapping source buffer to target OLED memory in 90 degree rendering. |
### 90 Degree Rotation - Technical Mumbo Jumbo
!> Rotation is unsupported on the SH1106.
```C
// OLED Rotation enum values are flags
typedef enum {
OLED_ROTATION_0 = 0,
OLED_ROTATION_90 = 1,
OLED_ROTATION_180 = 2,
OLED_ROTATION_270 = 3, // OLED_ROTATION_90 | OLED_ROTATION_180
} oled_rotation_t;
```
OLED displays driven by SSD1306 drivers only natively support in hard ware 0 degree and 180 degree rendering. This feature is done in software and not free. Using this feature will increase the time to calculate what data to send over i2c to the OLED. If you are strapped for cycles, this can cause keycodes to not register. In testing however, the rendering time on an `atmega32u4` board only went from 2ms to 5ms and keycodes not registering was only noticed once we hit 15ms.
90 Degree Rotated Rendering is achieved by using bitwise operations to rotate each 8 block of memory and uses two precalculated arrays to remap buffer memory to OLED memory. The memory map defines are precalculated for remap performance and are calculated based on the OLED Height, Width, and Block Size. For example, in the 128x32 implementation with a `uint8_t` block type, we have a 64 byte block size. This gives us eight 8 byte blocks that need to be rotated and rendered. The OLED renders horizontally two 8 byte blocks before moving down a page, e.g:
| | | | | | |
|---|---|---|---|---|---|
| 0 | 1 | | | | |
| 2 | 3 | | | | |
| 4 | 5 | | | | |
| 6 | 7 | | | | |
However the local buffer is stored as if it was Height x Width display instead of Width x Height, e.g:
| | | | | | |
|---|---|---|---|---|---|
| 3 | 7 | | | | |
| 2 | 6 | | | | |
| 1 | 5 | | | | |
| 0 | 4 | | | | |
So those precalculated arrays just index the memory offsets in the order in which each one iterates its data.
## OLED API
```C++
// OLED Rotation enum values are flags
typedef enum {
OLED_ROTATION_0 = 0,
OLED_ROTATION_90 = 1,
OLED_ROTATION_180 = 2,
OLED_ROTATION_270 = 3, // OLED_ROTATION_90 | OLED_ROTATION_180
} oled_rotation_t;
// Initialize the OLED display, rotating the rendered output based on the define passed in.
// Returns true if the OLED was initialized successfully
bool oled_init(oled_rotation_t rotation);
// Called at the start of oled_init, weak function overridable by the user
// rotation - the value passed into oled_init
// Return new oled_rotation_t if you want to override default rotation
oled_rotation_t oled_init_user(oled_rotation_t rotation);
// Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering
void oled_clear(void);
// Renders the dirty chunks of the buffer to OLED display
void oled_render(void);
// Moves cursor to character position indicated by column and line, wraps if out of bounds
// Max column denoted by 'oled_max_chars()' and max lines by 'oled_max_lines()' functions
void oled_set_cursor(uint8_t col, uint8_t line);
// Advances the cursor to the next page, writing ' ' if true
// Wraps to the begining when out of bounds
void oled_advance_page(bool clearPageRemainder);
// Moves the cursor forward 1 character length
// Advance page if there is not enough room for the next character
// Wraps to the begining when out of bounds
void oled_advance_char(void);
// Writes a single character to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Main handler that writes character data to the display buffer
void oled_write_char(const char data, bool invert);
// Writes a string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
void oled_write(const char *data, bool invert);
// Writes a string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Advances the cursor to the next page, wiring ' ' to the remainder of the current page
void oled_write_ln(const char *data, bool invert);
// Writes a PROGMEM string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Remapped to call 'void oled_write(const char *data, bool invert);' on ARM
void oled_write_P(const char *data, bool invert);
// Writes a PROGMEM string to the buffer at current cursor position
// Advances the cursor while writing, inverts the pixels if true
// Advances the cursor to the next page, wiring ' ' to the remainder of the current page
// Remapped to call 'void oled_write_ln(const char *data, bool invert);' on ARM
void oled_write_ln_P(const char *data, bool invert);
// Writes a string to the buffer at current cursor position
void oled_write_raw(const char *data, uint16_t size);
// Writes a PROGMEM string to the buffer at current cursor position
void oled_write_raw_P(const char *data, uint16_t size);
// Can be used to manually turn on the screen if it is off
// Returns true if the screen was on or turns on
bool oled_on(void);
// Can be used to manually turn off the screen if it is on
// Returns true if the screen was off or turns off
bool oled_off(void);
// Basically it's oled_render, but with timeout management and oled_task_user calling!
void oled_task(void);
// Called at the start of oled_task, weak function overridable by the user
void oled_task_user(void);
// Scrolls the entire display right
// Returns true if the screen was scrolling or starts scrolling
// NOTE: display contents cannot be changed while scrolling
bool oled_scroll_right(void);
// Scrolls the entire display left
// Returns true if the screen was scrolling or starts scrolling
// NOTE: display contents cannot be changed while scrolling
bool oled_scroll_left(void);
// Turns off display scrolling
// Returns true if the screen was not scrolling or stops scrolling
bool oled_scroll_off(void);
// Returns the maximum number of characters that will fit on a line
uint8_t oled_max_chars(void);
// Returns the maximum number of lines that will fit on the OLED
uint8_t oled_max_lines(void);
```
!> Scrolling and rotation are unsupported on the SH1106.
## SSD1306.h driver conversion guide
|Old API |Recommended New API |
|---------------------------|-----------------------------------|
|`struct CharacterMatrix` |*removed - delete all references* |
|`iota_gfx_init` |`oled_init` |
|`iota_gfx_on` |`oled_on` |
|`iota_gfx_off` |`oled_off` |
|`iota_gfx_flush` |`oled_render` |
|`iota_gfx_write_char` |`oled_write_char` |
|`iota_gfx_write` |`oled_write` |
|`iota_gfx_write_P` |`oled_write_P` |
|`iota_gfx_clear_screen` |`oled_clear` |
|`matrix_clear` |*removed - delete all references* |
|`matrix_write_char_inner` |`oled_write_char` |
|`matrix_write_char` |`oled_write_char` |
|`matrix_write` |`oled_write` |
|`matrix_write_ln` |`oled_write_ln` |
|`matrix_write_P` |`oled_write_P` |
|`matrix_write_ln_P` |`oled_write_ln_P` |
|`matrix_render` |`oled_render` |
|`iota_gfx_task` |`oled_task` |
|`iota_gfx_task_user` |`oled_task_user` |

View File

@@ -149,7 +149,7 @@ In your keyboard config.h:
#### PS/2 Mouse Features
These enable settings supported by the PS/2 mouse protocol: http://www.computer-engineering.org/ps2mouse/
These enable settings supported by the PS/2 mouse protocol.
```
/* Use remote mode instead of the default stream mode (see link) */
@@ -202,7 +202,7 @@ Note: you can also use `ps2_mouse_set_resolution` for the same effect (not suppo
#### Scroll Button
If you're using a trackpoint, you will likely want to be able to use it for scrolling.
Its possible to enable a "scroll button/s" that when pressed will cause the mouse to scroll instead of moving.
It's possible to enable a "scroll button/s" that when pressed will cause the mouse to scroll instead of moving.
To enable the feature, you must set a scroll button mask as follows:
```

View File

@@ -1,217 +1,404 @@
# RGB Matrix Lighting
## Driver configuration
This feature allows you to use RGB LED matrices driven by external drivers. It hooks into the RGBLIGHT system so you can use the same keycodes as RGBLIGHT to control it.
If you want to use single color LED's you should use the [LED Matrix Subsystem](feature_led_matrix.md) instead.
## Driver configuration
---
### IS31FL3731
There is basic support for addressable RGB matrix lighting with the I2C IS31FL3731 RGB controller. To enable it, add this to your `rules.mk`:
RGB_MATRIX_ENABLE = IS31FL3731
```C
RGB_MATRIX_ENABLE = IS31FL3731
```
Configure the hardware via your `config.h`:
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
```C
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 25
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 25
#define DRIVER_2_LED_TOTAL 24
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
```
!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations.
Define these arrays listing all the LEDs in your `<keyboard>.c`:
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, C1_3, C2_3, C3_3},
....
}
```C
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, C1_3, C2_3, C3_3},
....
}
```
Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](http://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0` or `1` right now).
### IS31FL3733
---
### IS31FL3733/IS31FL3737
!> For the IS31FL3737, replace all instances of `IS31FL3733` below with `IS31FL3737`.
There is basic support for addressable RGB matrix lighting with the I2C IS31FL3733 RGB controller. To enable it, add this to your `rules.mk`:
RGB_MATRIX_ENABLE = IS31FL3733
```C
RGB_MATRIX_ENABLE = IS31FL3733
```
Configure the hardware via your `config.h`:
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
```C
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 64
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 64
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
```
Currently only a single drivers is supported, but it would be trivial to support all 4 combinations. For now define `DRIVER_ADDR_2` as `DRIVER_ADDR_1`
Define these arrays listing all the LEDs in your `<keyboard>.c`:
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, B_1, A_1, C_1},
....
}
```C
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, B_1, A_1, C_1},
....
}
```
Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](http://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0` right now).
From this point forward the configuration is the same for all the drivers.
---
const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
/* {row | col << 4}
* | {x=0..224, y=0..64}
* | | modifier
* | | | */
{{0|(0<<4)}, {20.36*0, 21.33*0}, 1},
{{0|(1<<4)}, {20.36*1, 21.33*0}, 1},
....
}
### WS2812
The format for the matrix position used in this array is `{row | (col << 4)}`. The `x` is between (inclusive) 0-224, and `y` is between (inclusive) 0-64. The easiest way to calculate these positions is:
There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{a,b,c} addressable LED strand. To enable it, add this to your `rules.mk`:
x = 224 / ( NUMBER_OF_ROWS - 1 ) * ROW_POSITION
y = 64 / (NUMBER_OF_COLS - 1 ) * COL_POSITION
```C
RGB_MATRIX_ENABLE = WS2812
```
Where all variables are decimels/floats.
Configure the hardware via your `config.h`:
`modifier` is a boolean, whether or not a certain key is considered a modifier (used in some effects).
```C
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D7
// The number of LEDs connected
#define DRIVER_LED_TOTAL 70
```
---
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```C
const led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 5, NO_LED, NO_LED, 0 },
{ NO_LED, NO_LED, NO_LED, NO_LED },
{ 4, NO_LED, NO_LED, 1 },
{ 3, NO_LED, NO_LED, 2 }
}, {
// LED Index to Physical Position
{ 188, 16 }, { 187, 48 }, { 149, 64 }, { 112, 64 }, { 37, 48 }, { 38, 16 }
}, {
// LED Index to Flag
1, 4, 4, 4, 4, 1
} };
```
The first part, `// Key Matrix to LED Index`, tells the system what key this LED represents by using the key's electrical matrix row & col. The second part, `// LED Index to Physical Position` represents the LED's physical `{ x, y }` position on the keyboard. The default expected range of values for `{ x, y }` is the inclusive range `{ 0..224, 0..64 }`. This default expected range is due to effects that calculate the center of the keyboard for their animations. The easiest way to calculate these positions is imagine your keyboard is a grid, and the top left of the keyboard represents `{ x, y }` coordinate `{ 0, 0 }` and the bottom right of your keyboard represents `{ 224, 64 }`. Using this as a basis, you can use the following formula to calculate the physical position:
```C
x = 224 / (NUMBER_OF_COLS - 1) * COL_POSITION
y = 64 / (NUMBER_OF_ROWS - 1) * ROW_POSITION
```
Where NUMBER_OF_COLS, NUMBER_OF_ROWS, COL_POSITION, & ROW_POSITION are all based on the physical layout of your keyboard, not the electrical layout.
As mentioned earlier, the center of the keyboard by default is expected to be `{ 112, 32 }`, but this can be changed if you want to more accurately calculate the LED's physical `{ x, y }` positions. Keyboard designers can implement `#define RGB_MATRIX_CENTER { 112, 32 }` in their config.h file with the new center point of the keyboard, or where they want it to be allowing more possibilities for the `{ x, y }` values. Do note that the maximum value for x or y is 255, and the recommended maximum is 224 as this gives animations runoff room before they reset.
`// LED Index to Flag` is a bitmask, whether or not a certain LEDs is of a certain type. It is recommended that LEDs are set to only 1 type.
## Flags
|Define |Description |
|------------------------------------|-------------------------------------------|
|`#define HAS_FLAGS(bits, flags)` |Returns true if `bits` has all `flags` set.|
|`#define HAS_ANY_FLAGS(bits, flags)`|Returns true if `bits` has any `flags` set.|
|`#define LED_FLAG_NONE 0x00` |If this LED has no flags. |
|`#define LED_FLAG_ALL 0xFF` |If this LED has all flags. |
|`#define LED_FLAG_MODIFIER 0x01` |If the Key for this LED is a modifier. |
|`#define LED_FLAG_UNDERGLOW 0x02` |If the LED is for underglow. |
|`#define LED_FLAG_KEYLIGHT 0x04` |If the LED is for key backlight. |
## Keycodes
All RGB keycodes are currently shared with the RGBLIGHT system:
* `RGB_TOG` - toggle
* `RGB_MOD` - cycle through modes
* `RGB_HUI` - increase hue
* `RGB_HUD` - decrease hue
* `RGB_SAI` - increase saturation
* `RGB_SAD` - decrease saturation
* `RGB_VAI` - increase value
* `RGB_VAD` - decrease value
* `RGB_SPI` - increase speed effect (no EEPROM support)
* `RGB_SPD` - decrease speed effect (no EEPROM support)
* `RGB_MODE_*` keycodes will generally work, but are not currently mapped to the correct effects for the RGB Matrix system
* `RGB_TOG` - toggle
* `RGB_MOD` - cycle through modes
* `RGB_HUI` - increase hue
* `RGB_HUD` - decrease hue
* `RGB_SAI` - increase saturation
* `RGB_SAD` - decrease saturation
* `RGB_VAI` - increase value
* `RGB_VAD` - decrease value
* `RGB_SPI` - increase speed effect (no EEPROM support)
* `RGB_SPD` - decrease speed effect (no EEPROM support)
* `RGB_MODE_*` keycodes will generally work, but are not currently mapped to the correct effects for the RGB Matrix system
## RGB Matrix Effects
These are the effects that are currently available:
All effects have been configured to support current configuration values (Hue, Saturation, Value, & Speed) unless otherwise noted below. These are the effects that are currently available:
```C
enum rgb_matrix_effects {
RGB_MATRIX_NONE = 0,
RGB_MATRIX_SOLID_COLOR = 1, // Static single hue, no speed support
RGB_MATRIX_ALPHAS_MODS, // Static dual hue, speed is hue for secondary hue
RGB_MATRIX_GRADIENT_UP_DOWN, // Static gradient top to bottom, speed controls how much gradient changes
RGB_MATRIX_BREATHING, // Single hue brightness cycling animation
RGB_MATRIX_BAND_SAT, // Single hue band fading saturation scrolling left to right
RGB_MATRIX_BAND_VAL, // Single hue band fading brightness scrolling left to right
RGB_MATRIX_BAND_PINWHEEL_SAT, // Single hue 3 blade spinning pinwheel fades saturation
RGB_MATRIX_BAND_PINWHEEL_VAL, // Single hue 3 blade spinning pinwheel fades brightness
RGB_MATRIX_BAND_SPIRAL_SAT, // Single hue spinning spiral fades saturation
RGB_MATRIX_BAND_SPIRAL_VAL, // Single hue spinning spiral fades brightness
RGB_MATRIX_CYCLE_ALL, // Full keyboard solid hue cycling through full gradient
RGB_MATRIX_CYCLE_LEFT_RIGHT, // Full gradient scrolling left to right
RGB_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom
RGB_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in
RGB_MATRIX_CYCLE_OUT_IN_DUAL, // Full dual gradients scrolling out to in
RGB_MATRIX_RAINBOW_MOVING_CHEVRON, // Full gradent Chevron shapped scrolling left to right
RGB_MATRIX_CYCLE_PINWHEEL, // Full gradient spinning pinwheel around center of keyboard
RGB_MATRIX_CYCLE_SPIRAL, // Full gradient spinning spiral around center of keyboard
RGB_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard
RGB_MATRIX_RAINBOW_BEACON, // Full tighter gradient spinning around center of keyboard
RGB_MATRIX_RAINBOW_PINWHEELS, // Full dual gradients spinning two halfs of keyboard
RGB_MATRIX_RAINDROPS, // Randomly changes a single key's hue
RGB_MATRIX_JELLYBEAN_RAINDROPS, // Randomly changes a single key's hue and saturation
#if define(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM!
RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation
#endif
#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out
RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue
RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
RGB_MATRIX_SPLASH, // Full gradient & value pulse away from a single key hit then fades value out
RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out
RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out
RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out
#endif
RGB_MATRIX_EFFECT_MAX
};
```
enum rgb_matrix_effects {
RGB_MATRIX_SOLID_COLOR = 1,
RGB_MATRIX_ALPHAS_MODS,
RGB_MATRIX_DUAL_BEACON,
RGB_MATRIX_GRADIENT_UP_DOWN,
RGB_MATRIX_RAINDROPS,
RGB_MATRIX_CYCLE_ALL,
RGB_MATRIX_CYCLE_LEFT_RIGHT,
RGB_MATRIX_CYCLE_UP_DOWN,
RGB_MATRIX_RAINBOW_BEACON,
RGB_MATRIX_RAINBOW_PINWHEELS,
RGB_MATRIX_RAINBOW_MOVING_CHEVRON,
RGB_MATRIX_JELLYBEAN_RAINDROPS,
RGB_MATRIX_DIGITAL_RAIN,
#ifdef RGB_MATRIX_KEYPRESSES
RGB_MATRIX_SOLID_REACTIVE,
RGB_MATRIX_SPLASH,
RGB_MATRIX_MULTISPLASH,
RGB_MATRIX_SOLID_SPLASH,
RGB_MATRIX_SOLID_MULTISPLASH,
#endif
RGB_MATRIX_EFFECT_MAX
};
You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `config.h`:
|Define |Description |
|---------------------------------------------------|--------------------------------------------|
|`#define DISABLE_RGB_MATRIX_ALPHAS_MODS` |Disables `RGB_MATRIX_ALPHAS_MODS` |
|`#define DISABLE_RGB_MATRIX_DUAL_BEACON` |Disables `RGB_MATRIX_DUAL_BEACON` |
|`#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN` |Disables `RGB_MATRIX_GRADIENT_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_RAINDROPS` |Disables `RGB_MATRIX_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_CYCLE_ALL` |Disables `RGB_MATRIX_CYCLE_ALL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT` |Disables `RGB_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN` |Disables `RGB_MATRIX_CYCLE_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_BEACON` |Disables `RGB_MATRIX_RAINBOW_BEACON` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Disables `RGB_MATRIX_RAINBOW_PINWHEELS` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON`|Disables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON`|
|`#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Disables `RGB_MATRIX_JELLYBEAN_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_DIGITAL_RAIN` |Disables `RGB_MATRIX_DIGITAL_RAIN` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE` |Disables `RGB_MATRIX_SOLID_REACTIVE` |
|`#define DISABLE_RGB_MATRIX_SPLASH` |Disables `RGB_MATRIX_SPLASH` |
|`#define DISABLE_RGB_MATRIX_MULTISPLASH` |Disables `RGB_MATRIX_MULTISPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH` |Disables `RGB_MATRIX_SOLID_SPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Disables `RGB_MATRIX_SOLID_MULTISPLASH` |
|Define |Description |
|-------------------------------------------------------|-----------------------------------------------|
|`#define DISABLE_RGB_MATRIX_ALPHAS_MODS` |Disables `RGB_MATRIX_ALPHAS_MODS` |
|`#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN` |Disables `RGB_MATRIX_GRADIENT_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_BREATHING` |Disables `RGB_MATRIX_BREATHING` |
|`#define DISABLE_RGB_MATRIX_BAND_SAT` |Disables `RGB_MATRIX_BAND_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_VAL` |Disables `RGB_MATRIX_BAND_VAL` |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT` |Disables `RGB_MATRIX_BAND_PINWHEEL_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL` |Disables `RGB_MATRIX_BAND_PINWHEEL_VAL` |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT` |Disables `RGB_MATRIX_BAND_SPIRAL_SAT` |
|`#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL` |Disables `RGB_MATRIX_BAND_SPIRAL_VAL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_ALL` |Disables `RGB_MATRIX_CYCLE_ALL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT` |Disables `RGB_MATRIX_CYCLE_LEFT_RIGHT` |
|`#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN` |Disables `RGB_MATRIX_CYCLE_UP_DOWN` |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN` |Disables `RGB_MATRIX_CYCLE_OUT_IN` |
|`#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL` |Disables `RGB_MATRIX_CYCLE_OUT_IN_DUAL` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |Disables `RGB_MATRIX_RAINBOW_MOVING_CHEVRON` |
|`#define DISABLE_RGB_MATRIX_DUAL_BEACON` |Disables `RGB_MATRIX_DUAL_BEACON` |
|`#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL` |Disables `RGB_MATRIX_CYCLE_PINWHEEL` |
|`#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL` |Disables `RGB_MATRIX_CYCLE_SPIRAL` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_BEACON` |Disables `RGB_MATRIX_RAINBOW_BEACON` |
|`#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Disables `RGB_MATRIX_RAINBOW_PINWHEELS` |
|`#define DISABLE_RGB_MATRIX_RAINDROPS` |Disables `RGB_MATRIX_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Disables `RGB_MATRIX_JELLYBEAN_RAINDROPS` |
|`#define DISABLE_RGB_MATRIX_TYPING_HEATMAP` |Disables `RGB_MATRIX_TYPING_HEATMAP` |
|`#define DISABLE_RGB_MATRIX_DIGITAL_RAIN` |Disables `RGB_MATRIX_DIGITAL_RAIN` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE` |Disables `RGB_MATRIX_SOLID_REACTIVE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |Disables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE` |Disables `RGB_MATRIX_SOLID_REACTIVE_WIDE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS` |Disables `RGB_MATRIX_SOLID_REACTIVE_CROSS` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTICROSS`|
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` |Disables `RGB_MATRIX_SOLID_REACTIVE_NEXUS` |
|`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS`|
|`#define DISABLE_RGB_MATRIX_SPLASH` |Disables `RGB_MATRIX_SPLASH` |
|`#define DISABLE_RGB_MATRIX_MULTISPLASH` |Disables `RGB_MATRIX_MULTISPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH` |Disables `RGB_MATRIX_SOLID_SPLASH` |
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Disables `RGB_MATRIX_SOLID_MULTISPLASH` |
## Custom layer effects
## Custom RGB Matrix Effects
Custom layer effects can be done by defining this in your `<keyboard>.c`:
By setting `RGB_MATRIX_CUSTOM_USER` (and/or `RGB_MATRIX_CUSTOM_KB`) in `rule.mk`, new effects can be defined directly from userspace, without having to edit any QMK core files.
void rgb_matrix_indicators_kb(void) {
rgb_matrix_set_color(index, red, green, blue);
}
To declare new effects, create a new `rgb_matrix_user/kb.inc` that looks something like this:
`rgb_matrix_user.inc` should go in the root of the keymap directory.
`rgb_matrix_kb.inc` should go in the root of the keyboard directory.
```C
// !!! DO NOT ADD #pragma once !!! //
// Step 1.
// Declare custom effects using the RGB_MATRIX_EFFECT macro
// (note the lack of semicolon after the macro!)
RGB_MATRIX_EFFECT(my_cool_effect)
RGB_MATRIX_EFFECT(my_cool_effect2)
// Step 2.
// Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
// e.g: A simple effect, self-contained within a single method
static bool my_cool_effect(effect_params_t* params) {
RGB_MATRIX_USE_LIMITS(led_min, led_max);
for (uint8_t i = led_min; i < led_max; i++) {
rgb_matrix_set_color(i, 0xff, 0xff, 0x00);
}
return led_max < DRIVER_LED_TOTAL;
}
// e.g: A more complex effect, relying on external methods and state, with
// dedicated init and run methods
static uint8_t some_global_state;
static void my_cool_effect2_complex_init(effect_params_t* params) {
some_global_state = 1;
}
static bool my_cool_effect2_complex_run(effect_params_t* params) {
RGB_MATRIX_USE_LIMITS(led_min, led_max);
for (uint8_t i = led_min; i < led_max; i++) {
rgb_matrix_set_color(i, 0xff, some_global_state++, 0xff);
}
return led_max < DRIVER_LED_TOTAL;
}
static bool my_cool_effect2(effect_params_t* params) {
if (params->init) my_cool_effect2_complex_init(params);
return my_cool_effect2_complex_run(params);
}
#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
```
For inspiration and examples, check out the built-in effects under `quantum/rgb_matrix_animation/`
## Colors
These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions.
|RGB |HSV |
|-------------------|-------------------|
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_YELLOW` |`HSV_YELLOW` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_PINK` |`HSV_PINK` |
These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list!
A similar function works in the keymap as `rgb_matrix_indicators_user`.
## Additional `config.h` Options
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
#define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
```C
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
```
## EEPROM storage
The EEPROM for it is currently shared with the RGBLIGHT system (it's generally assumed only one RGB would be used at a time), but could be configured to use its own 32bit address with:
#define EECONFIG_RGB_MATRIX (uint32_t *)16
```C
#define EECONFIG_RGB_MATRIX (uint32_t *)28
```
Where `16` is an unused index from `eeconfig.h`.
Where `28` is an unused index from `eeconfig.h`.
## Suspended state
To use the suspend feature, add this to your `<keyboard>.c`:
void suspend_power_down_kb(void)
{
rgb_matrix_set_suspend_state(true);
}
```C
void suspend_power_down_kb(void)
{
rgb_matrix_set_suspend_state(true);
}
void suspend_wakeup_init_kb(void)
{
rgb_matrix_set_suspend_state(false);
}
void suspend_wakeup_init_kb(void)
{
rgb_matrix_set_suspend_state(false);
}
```

View File

@@ -6,7 +6,7 @@ QMK has the ability to control RGB LEDs attached to your keyboard. This is commo
Some keyboards come with RGB LEDs preinstalled. Others must have them installed after the fact. See the [Hardware Modification](#hardware-modification) section for information on adding RGB lighting to your keyboard.
Currently QMK supports the following addressable LEDs on AVR microcontrollers (however, the white LED in RGBW variants is not supported):
Currently QMK supports the following addressable LEDs (however, the white LED in RGBW variants is not supported):
* WS2811, WS2812, WS2812B, WS2812C, etc.
* SK6812, SK6812MINI, SK6805
@@ -23,10 +23,11 @@ RGBLIGHT_ENABLE = yes
At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these.
|Define |Description |
|------------|---------------------------------------------|
|`RGB_DI_PIN`|The pin connected to the data pin of the LEDs|
|`RGBLED_NUM`|The number of LEDs connected |
|Define |Description |
|---------------|---------------------------------------------------------------------------------------------------------|
|`RGB_DI_PIN` |The pin connected to the data pin of the LEDs |
|`RGBLED_NUM` |The number of LEDs connected |
|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half directly wired to `RGB_DI_PIN` |
Then you should be able to use the keycodes below to change the RGB lighting to your liking.
@@ -36,9 +37,9 @@ QMK uses [Hue, Saturation, and Value](https://en.wikipedia.org/wiki/HSL_and_HSV)
<img src="gitbook/images/color-wheel.svg" alt="HSV Color Wheel" width="250"/>
Changing the **Hue** cycles around the circle.
Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color.
Changing the **Value** sets the overall brightness.
Changing the **Hue** cycles around the circle.<br>
Changing the **Saturation** moves between the inner and outer sections of the wheel, affecting the intensity of the color.<br>
Changing the **Value** sets the overall brightness.<br>
## Keycodes
@@ -74,9 +75,9 @@ Your RGB lighting can be configured by placing these `#define`s in your `config.
|`RGBLIGHT_VAL_STEP` |`17` |The number of steps to increment the brightness by |
|`RGBLIGHT_LIMIT_VAL` |`255` |The maximum brightness level |
|`RGBLIGHT_SLEEP` |*Not defined*|If defined, the RGB lighting will be switched off when the host goes to sleep|
|`RGBLIGHT_SPLIT` |*Not defined*|If defined, synchronization functionality for split keyboards is added|
## Animations
## Effects and Animations
Not only can this lighting be whatever color you want,
if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a number of animation modes at your disposal:
@@ -98,32 +99,59 @@ Check out [this video](https://youtube.com/watch?v=VKrpPAHlisY) for a demonstrat
Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight.h` there is a contrast table between the old mode number and the current symbol.
The following options can be used to tweak the various animations:
### Effect and Animation Toggles
Use these defines to add or remove animations from the firmware. When you are running low on flash space, it can be helpful to disable animations you are not using.
|Define |Default |Description |
|------------------------------------|-------------|-------------------------------------------------------------------------------------|
|`RGBLIGHT_EFFECT_BREATHING` |*Not defined*|If defined, enable breathing animation mode. |
|`RGBLIGHT_EFFECT_RAINBOW_MOOD` |*Not defined*|If defined, enable rainbow mood animation mode. |
|`RGBLIGHT_EFFECT_RAINBOW_SWIRL` |*Not defined*|If defined, enable rainbow swirl animation mode. |
|`RGBLIGHT_EFFECT_SNAKE` |*Not defined*|If defined, enable snake animation mode. |
|`RGBLIGHT_EFFECT_KNIGHT` |*Not defined*|If defined, enable knight animation mode. |
|`RGBLIGHT_EFFECT_CHRISTMAS` |*Not defined*|If defined, enable christmas animation mode. |
|`RGBLIGHT_EFFECT_STATIC_GRADIENT` |*Not defined*|If defined, enable static gradient mode. |
|`RGBLIGHT_EFFECT_RGB_TEST` |*Not defined*|If defined, enable RGB test animation mode. |
|`RGBLIGHT_EFFECT_ALTERNATING` |*Not defined*|If defined, enable alternating animation mode. |
|`RGBLIGHT_ANIMATIONS` |*Not defined*|If defined, enables all additional animation modes |
|`RGBLIGHT_EFFECT_BREATHE_CENTER` |`1.85` |Used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 |
|`RGBLIGHT_ANIMATIONS` |*Not defined*|Enable all additional animation modes. |
|`RGBLIGHT_EFFECT_ALTERNATING` |*Not defined*|Enable alternating animation mode. |
|`RGBLIGHT_EFFECT_BREATHING` |*Not defined*|Enable breathing animation mode. |
|`RGBLIGHT_EFFECT_CHRISTMAS` |*Not defined*|Enable christmas animation mode. |
|`RGBLIGHT_EFFECT_KNIGHT` |*Not defined*|Enable knight animation mode. |
|`RGBLIGHT_EFFECT_RAINBOW_MOOD` |*Not defined*|Enable rainbow mood animation mode. |
|`RGBLIGHT_EFFECT_RAINBOW_SWIRL` |*Not defined*|Enable rainbow swirl animation mode. |
|`RGBLIGHT_EFFECT_RGB_TEST` |*Not defined*|Enable RGB test animation mode. |
|`RGBLIGHT_EFFECT_SNAKE` |*Not defined*|Enable snake animation mode. |
|`RGBLIGHT_EFFECT_STATIC_GRADIENT` |*Not defined*|Enable static gradient mode. |
### Effect and Animation Settings
The following options are used to tweak the various animations:
|Define |Default |Description |
|------------------------------------|-------------|-------------------------------------------------------------------------------------|
|`RGBLIGHT_EFFECT_BREATHE_CENTER` |*Not defined*|If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7 |
|`RGBLIGHT_EFFECT_BREATHE_MAX` |`255` |The maximum brightness for the breathing mode. Valid values are 1 to 255 |
|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel |
|`RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL`|`1000` |How long to wait between light changes for the "Christmas" animation, in milliseconds|
|`RGBLIGHT_EFFECT_CHRISTMAS_STEP` |`2` |The number of LEDs to group the red/green colors by for the "Christmas" animation |
|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`360` |Range adjustment for the rainbow swirl effect to get different swirls |
|`RGBLIGHT_EFFECT_KNIGHT_LED_NUM` |`RGBLED_NUM` |The number of LEDs to have the "Knight" animation travel |
|`RGBLIGHT_EFFECT_KNIGHT_LENGTH` |`3` |The number of LEDs to light up for the "Knight" animation |
|`RGBLIGHT_EFFECT_KNIGHT_OFFSET` |`0` |The number of LEDs to start the "Knight" animation from the start of the strip by |
|`RGBLIGHT_RAINBOW_SWIRL_RANGE` |`255` |Range adjustment for the rainbow swirl effect to get different swirls |
|`RGBLIGHT_EFFECT_SNAKE_LENGTH` |`4` |The number of LEDs to light up for the "Snake" animation |
### Example Usage to Reduce Memory Footprint
1. Remove `RGBLIGHT_ANIMATIONS` from `config.h`.
1. Selectively add the animations you want to enable. The following would enable two animations and save about 4KiB:
```diff
#undef RGBLED_NUM
-#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
```
### Animation Speed
You can also modify the speeds that the different modes animate at:
Here is a quick demo on Youtube (with NPKC KC60) (https://www.youtube.com/watch?v=VKrpPAHlisY).
```c
// How long (in milliseconds) to wait between animation steps for each of the "Solid color breathing" animations
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {30, 20, 10, 5};
@@ -141,28 +169,216 @@ const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {100, 50, 20};
const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {127, 63, 31};
// These control which hues are selected for each of the "Static gradient" modes
const uint16_t RGBLED_GRADIENT_RANGES[] PROGMEM = {360, 240, 180, 120, 90};
const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
```
## Functions
If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include:
|Function |Description |
|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|`rgblight_enable()` |Turn LEDs on, based on their previous state |
|`rgblight_enable_noeeprom()` |Turn LEDs on, based on their previous state (not written to EEPROM) |
|`rgblight_disable()` |Turn LEDs off |
|`rgblight_disable_noeeprom()` |Turn LEDs off (not written to EEPROM) |
|`rgblight_mode(x)` |Set the mode, if RGB animations are enabled |
|`rgblight_mode_noeeprom(x)` |Set the mode, if RGB animations are enabled (not written to EEPROM) |
|`rgblight_setrgb(r, g, b)` |Set all LEDs to the given RGB value where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_setrgb_at(r, g, b, led)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `led` is between 0 and `RGBLED_NUM` (not written to EEPROM) |
|`rgblight_sethsv(h, s, v)` |Set all LEDs to the given HSV value where `h` is between 0 and 360 and `s`/`v` are between 0 and 255 |
|`rgblight_sethsv_noeeprom(h, s, v)`|Set all LEDs to the given HSV value where `h` is between 0 and 360 and `s`/`v` are between 0 and 255 (not written to EEPROM) |
|`rgblight_sethsv_at(h, s, v, led)` |Set a single LED to the given HSV value, where `h` is between 0 and 360, `s`/`v` are between 0 and 255, and `led` is between 0 and `RGBLED_NUM` (not written to EEPROM)|
### Utility Functions
|Function |Description |
|--------------------------------------------|-------------------------------------------------------------------|
|`sethsv(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value |
|`sethsv_raw(hue, sat, val, ledbuf)` |Set ledbuf to the given HSV value without RGBLIGHT_LIMIT_VAL check |
|`setrgb(r, g, b, ledbuf)` |Set ledbuf to the given RGB value where `r`/`g`/`b` |
Additionally, [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h) defines several predefined shortcuts for various colors. Feel free to add to this list!
### Low level Functions
|Function |Description |
|--------------------------------------------|-------------------------------------------|
|`rgblight_set()` |Flash out led buffers to LEDs |
|`rgblight_set_clipping_range(pos, num)` |Set clipping Range. see [Clipping Range](#clipping-range) |
Example:
```c
sethsv(HSV_WHITE, (LED_TYPE *)&led[0]); // led 0
sethsv(HSV_RED, (LED_TYPE *)&led[1]); // led 1
sethsv(HSV_GREEN, (LED_TYPE *)&led[2]); // led 2
rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly.
```
### Effects and Animations Functions
#### effect range setting
|Function |Description |
|--------------------------------------------|------------------|
|`rgblight_set_effect_range(pos, num)` |Set Effects Range |
#### direct operation
|Function |Description |
|--------------------------------------------|-------------|
|`rgblight_setrgb_at(r, g, b, index)` |Set a single LED to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) |
|`rgblight_sethsv_at(h, s, v, index)` |Set a single LED to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `index` is between 0 and `RGBLED_NUM` (not written to EEPROM) |
|`rgblight_setrgb_range(r, g, b, start, end)`|Set a continuous range of LEDs to the given RGB value, where `r`/`g`/`b` are between 0 and 255 and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)|
|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h`/`s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)|
|`rgblight_setrgb(r, g, b)` |Set effect range LEDs to the given RGB value where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_setrgb_master(r, g, b)` |Set the LEDs on the master side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_setrgb_slave(r, g, b)` |Set the LEDs on the slave side to the given RGB value, where `r`/`g`/`b` are between 0 and 255 (not written to EEPROM) |
|`rgblight_sethsv_master(h, s, v)` |Set the LEDs on the master side to the given HSV value, where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
|`rgblight_sethsv_slave(h, s, v)` |Set the LEDs on the slave side to the given HSV value, where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
Example:
```c
rgblight_sethsv(HSV_WHITE, 0); // led 0
rgblight_sethsv(HSV_RED, 1); // led 1
rgblight_sethsv(HSV_GREEN, 2); // led 2
// The above functions automatically calls rgblight_set(), so there is no need to call it explicitly.
// Note that it is inefficient to call repeatedly.
```
#### effect mode change
|Function |Description |
|--------------------------------------------|-------------|
|`rgblight_mode(x)` |Set the mode, if RGB animations are enabled |
|`rgblight_mode_noeeprom(x)` |Set the mode, if RGB animations are enabled (not written to EEPROM) |
|`rgblight_step()` |Change the mode to the next RGB animation in the list of enabled RGB animations |
|`rgblight_step_noeeprom()` |Change the mode to the next RGB animation in the list of enabled RGB animations (not written to EEPROM) |
|`rgblight_step_reverse()` |Change the mode to the previous RGB animation in the list of enabled RGB animations |
|`rgblight_step_reverse_noeeprom()` |Change the mode to the previous RGB animation in the list of enabled RGB animations (not written to EEPROM) |
#### effects mode disable/enable
|Function |Description |
|--------------------------------------------|-------------|
|`rgblight_toggle()` |Toggle effect range LEDs between on and off |
|`rgblight_toggle_noeeprom()` |Toggle effect range LEDs between on and off (not written to EEPROM) |
|`rgblight_enable()` |Turn effect range LEDs on, based on their previous state |
|`rgblight_enable_noeeprom()` |Turn effect range LEDs on, based on their previous state (not written to EEPROM) |
|`rgblight_disable()` |Turn effect range LEDs off |
|`rgblight_disable_noeeprom()` |Turn effect range LEDs off (not written to EEPROM) |
#### hue, sat, val change
|Function |Description |
|--------------------------------------------|-------------|
|`rgblight_increase_hue()` |Increase the hue for effect range LEDs. This wraps around at maximum hue |
|`rgblight_increase_hue_noeeprom()` |Increase the hue for effect range LEDs. This wraps around at maximum hue (not written to EEPROM) |
|`rgblight_decrease_hue()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue |
|`rgblight_decrease_hue_noeeprom()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue (not written to EEPROM) |
|`rgblight_increase_sat()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation |
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation (not written to EEPROM) |
|`rgblight_decrease_sat()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation |
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation (not written to EEPROM) |
|`rgblight_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value |
|`rgblight_increase_val_noeeprom()` |Increase the value for effect range LEDs. This wraps around at maximum value (not written to EEPROM) |
|`rgblight_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value |
|`rgblight_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This wraps around at minimum value (not written to EEPROM) |
|`rgblight_sethsv(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 |
|`rgblight_sethsv_noeeprom(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
#### query
|Function |Description |
|-----------------------|-----------------|
|`rgblight_get_mode()` |Get current mode |
|`rgblight_get_hue()` |Get current hue |
|`rgblight_get_sat()` |Get current sat |
|`rgblight_get_val()` |Get current val |
## Colors
These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions.
|RGB |HSV |
|-------------------|-------------------|
|`RGB_WHITE` |`HSV_WHITE` |
|`RGB_RED` |`HSV_RED` |
|`RGB_CORAL` |`HSV_CORAL` |
|`RGB_ORANGE` |`HSV_ORANGE` |
|`RGB_GOLDENROD` |`HSV_GOLDENROD` |
|`RGB_GOLD` |`HSV_GOLD` |
|`RGB_YELLOW` |`HSV_YELLOW` |
|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` |
|`RGB_GREEN` |`HSV_GREEN` |
|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` |
|`RGB_TURQUOISE` |`HSV_TURQUOISE` |
|`RGB_TEAL` |`HSV_TEAL` |
|`RGB_CYAN` |`HSV_CYAN` |
|`RGB_AZURE` |`HSV_AZURE` |
|`RGB_BLUE` |`HSV_BLUE` |
|`RGB_PURPLE` |`HSV_PURPLE` |
|`RGB_MAGENTA` |`HSV_MAGENTA` |
|`RGB_PINK` |`HSV_PINK` |
```c
rgblight_setrgb(RGB_ORANGE);
rgblight_sethsv_noeeprom(HSV_GREEN);
rgblight_setrgb_at(RGB_GOLD, 3);
rgblight_sethsv_range(HSV_WHITE, 0, 6);
```
These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list!
## Changing the order of the LEDs
If you want to make the logical order of LEDs different from the electrical connection order, you can do this by defining the `RGBLIGHT_LED_MAP` macro in your `config.h`.
Normally, the contents of the LED buffer are output to the LEDs in the same order.
<img src="https://user-images.githubusercontent.com/2170248/55743718-01866c80-5a6e-11e9-8134-25419928327a.JPG" alt="simple dicrect" width="50%"/>
By defining `RGBLIGHT_LED_MAP` as in the example below, you can specify the LED with addressing in reverse order of the electrical connection order.
```c
// config.h
#define RGBLED_NUM 4
#define RGBLIGHT_LED_MAP { 3, 2, 1, 0 }
```
<img src="https://user-images.githubusercontent.com/2170248/55743725-08ad7a80-5a6e-11e9-83ed-126a2b0209fc.JPG" alt="simple mapped" width="50%"/>
For keyboards that use the RGB LEDs as a backlight for each key, you can also define it as in the example below.
```c
// config.h
#define RGBLED_NUM 30
/* RGB LED Conversion macro from physical array to electric array */
#define LED_LAYOUT( \
L00, L01, L02, L03, L04, L05, \
L10, L11, L12, L13, L14, L15, \
L20, L21, L22, L23, L24, L25, \
L30, L31, L32, L33, L34, L35, \
L40, L41, L42, L43, L44, L45 ) \
{ \
L05, L04, L03, L02, L01, L00, \
L10, L11, L12, L13, L14, L15, \
L25, L24, L23, L22, L21, L20, \
L30, L31, L32, L33, L34, L35, \
L46, L45, L44, L43, L42, L41 \
}
/* RGB LED logical order map */
/* Top->Bottom, Right->Left */
#define RGBLIGHT_LED_MAP LED_LAYOUT( \
25, 20, 15, 10, 5, 0, \
26, 21, 16, 11, 6, 1, \
27, 22, 17, 12, 7, 2, \
28, 23, 18, 13, 8, 3, \
29, 24, 19, 14, 9, 4 )
```
## Clipping Range
Using the `rgblight_set_clipping_range()` function, you can prepare more buffers than the actual number of LEDs, and output some of the buffers to the LEDs. This is useful if you want the split keyboard to treat left and right LEDs as logically contiguous.
You can set the Clipping Range by executing the following code.
```c
// some soruce
rgblight_set_clipping_range(3, 4);
```
<img src="https://user-images.githubusercontent.com/2170248/55743785-2bd82a00-5a6e-11e9-9d4b-1b4ffaf4932b.JPG" alt="clip direct" width="70%"/>
In addition to setting the Clipping Range, you can use `RGBLIGHT_LED_MAP` together.
```c
// config.h
#define RGBLED_NUM 8
#define RGBLIGHT_LED_MAP { 7, 6, 5, 4, 3, 2, 1, 0 }
// some soruce
rgblight_set_clipping_range(3, 4);
```
<img src="https://user-images.githubusercontent.com/2170248/55743747-119e4c00-5a6e-11e9-91e5-013203ffae8a.JPG" alt="clip mapped" width="70%"/>
## Hardware Modification

View File

@@ -0,0 +1,60 @@
# Space Cadet: The Future, Built In
Steve Losh described the [Space Cadet Shift](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) quite well. Essentially, when you tap Left Shift on its own, you get an opening parenthesis; tap Right Shift on its own and you get the closing one. When held, the Shift keys function as normal. Yes, it's as cool as it sounds, and now even cooler supporting Control and Alt as well!
## Usage
Firstly, in your keymap, do one of the following:
- Replace the Left Shift key with `KC_LSPO` (Left Shift, Parenthesis Open), and Right Shift with `KC_RSPC` (Right Shift, Parenthesis Close).
- Replace the Left Control key with `KC_LCPO` (Left Control, Parenthesis Open), and Right Control with `KC_RCPC` (Right Control, Parenthesis Close).
- Replace the Left Alt key with `KC_LAPO` (Left Alt, Parenthesis Open), and Right Alt with `KC_RAPC` (Right Alt, Parenthesis Close).
- Replace any Shift key in your keymap with `KC_SFTENT` (Right Shift, Enter).
## Keycodes
|Keycode |Description |
|-----------|-------------------------------------------|
|`KC_LSPO` |Left Shift when held, `(` when tapped |
|`KC_RSPC` |Right Shift when held, `)` when tapped |
|`KC_LCPO` |Left Control when held, `(` when tapped |
|`KC_RCPC` |Right Control when held, `)` when tapped |
|`KC_LAPO` |Left Alt when held, `(` when tapped |
|`KC_RAPC` |Right Alt when held, `)` when tapped |
|`KC_SFTENT`|Right Shift when held, Enter when tapped |
## Caveats
Space Cadet's functionality can conflict with the default Command functionality when both Shift keys are held at the same time. See the [Command feature](feature_command.md) for info on how to change it, or make sure that Command is disabled in your `rules.mk` with:
```make
COMMAND_ENABLE = no
```
## Configuration
By default Space Cadet assumes a US ANSI layout, but if your layout uses different keys for parentheses, you can redefine them in your `config.h`. In addition, you can redefine the modifier to send on tap, or even send no modifier at all. The new configuration defines bundle all options up into a single define of 3 key codes in this order: the `Modifier` when held or when used with other keys, the `Tap Modifer` sent when tapped (no modifier if `KC_TRNS`), finally the `Keycode` sent when tapped. Now keep in mind, mods from other keys will still apply to the `Keycode` if say `KC_RSFT` is held while tapping `KC_LSPO` key with `KC_TRNS` as the `Tap Modifer`.
|Define |Default |Description |
|----------------|-------------------------------|---------------------------------------------------------------------------------|
|`LSPO_KEYS` |`KC_LSFT, LSPO_MOD, LSPO_KEY` |Send `KC_LSFT` when held, the mod and key defined by `LSPO_MOD` and `LSPO_KEY`. |
|`RSPC_KEYS` |`KC_RSFT, RSPC_MOD, RSPC_KEY` |Send `KC_RSFT` when held, the mod and key defined by `RSPC_MOD` and `RSPC_KEY`. |
|`LCPO_KEYS` |`KC_LCTL, KC_LSFT, KC_9` |Send `KC_LCTL` when held, the mod `KC_LSFT` with the key `KC_9` when tapped. |
|`RCPC_KEYS` |`KC_RCTL, KC_RSFT, KC_0` |Send `KC_RCTL` when held, the mod `KC_RSFT` with the key `KC_0` when tapped. |
|`LAPO_KEYS` |`KC_LALT, KC_LSFT, KC_9` |Send `KC_LALT` when held, the mod `KC_LSFT` with the key `KC_9` when tapped. |
|`RAPC_KEYS` |`KC_RALT, KC_RSFT, KC_0` |Send `KC_RALT` when held, the mod `KC_RSFT` with the key `KC_0` when tapped. |
|`SFTENT_KEYS` |`KC_RSFT, KC_TRNS, SFTENT_KEY` |Send `KC_RSFT` when held, no mod with the key `SFTENT_KEY` when tapped. |
|`SPACE_CADET_MODIFIER_CARRYOVER` |*Not defined* |Store current modifiers before the hold mod is pressed and use them with the tap mod and keycode. Useful for when you frequently release a modifier before triggering Space Cadet. |
## Obsolete Configuration
These defines are used in the above defines internally to support backwards compatibility, so you may continue to use them, however the above defines open up a larger range of flexibility than before. As an example, say you want to not send any modifier when you tap just `KC_LSPO`, with the old defines you had an all or nothing choice of using the `DISABLE_SPACE_CADET_MODIFIER` define. Now you can define that key as: `#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_9`. This tells the system to set Left Shift if held or used with other keys, then on tap send no modifier (transparent) with the `KC_9`.
|Define |Default |Description |
|------------------------------|-------------|------------------------------------------------------------------|
|`LSPO_KEY` |`KC_9` |The keycode to send when Left Shift is tapped |
|`RSPC_KEY` |`KC_0` |The keycode to send when Right Shift is tapped |
|`LSPO_MOD` |`KC_LSFT` |The modifier to apply to `LSPO_KEY` |
|`RSPC_MOD` |`KC_RSFT` |The modifier to apply to `RSPC_KEY` |
|`SFTENT_KEY` |`KC_ENT` |The keycode to send when the Shift key is tapped |
|`DISABLE_SPACE_CADET_MODIFIER`|*Not defined*|If defined, prevent the Space Cadet from applying a modifier |

View File

@@ -1,33 +0,0 @@
# Space Cadet Shift: The Future, Built In
Steve Losh described the [Space Cadet Shift](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) quite well. Essentially, when you tap Left Shift on its own, you get an opening parenthesis; tap Right Shift on its own and you get the closing one. When held, the Shift keys function as normal. Yes, it's as cool as it sounds.
## Usage
Replace the Left Shift key in your keymap with `KC_LSPO` (Left Shift, Parenthesis Open), and Right Shift with `KC_RSPC` (Right Shift, Parenthesis Close).
## Keycodes
|Keycode |Description |
|---------|--------------------------------------|
|`KC_LSPO`|Left Shift when held, `(` when tapped |
|`KC_RSPC`|Right Shift when held, `)` when tapped|
## Caveats
Space Cadet's functionality can conflict with the default Command functionality when both Shift keys are held at the same time. Make sure that Command is disabled in your `rules.mk` with:
```make
COMMAND_ENABLE = no
```
## Configuration
By default Space Cadet assumes a US ANSI layout, but if your layout uses different keys for parentheses, you can redefine them in your `config.h`.
You can also disable the rollover, allowing you to use the opposite Shift key to cancel the Space Cadet state in the event of an erroneous press, instead of emitting a pair of parentheses when the keys are released.
|Define |Default |Description |
|------------------------------|-------------|------------------------------------------------------------|
|`LSPO_KEY` |`KC_9` |The keycode to send when Left Shift is tapped |
|`RSPC_KEY` |`KC_0` |The keycode to send when Right Shift is tapped |
|`DISABLE_SPACE_CADET_ROLLOVER`|*Not defined*|If defined, use the opposite Shift key to cancel Space Cadet|

View File

@@ -1,31 +0,0 @@
# Space Cadet Shift Enter
Based on the [Space Cadet Shift](feature_space_cadet_shift.md) feature. Tap the Shift key on its own, and it behaves like Enter. When held, the Shift functions as normal.
## Usage
Replace any Shift key in your keymap with `KC_SFTENT` (Shift, Enter), and you're done.
## Keycodes
|Keycode |Description |
|-----------|----------------------------------------|
|`KC_SFTENT`|Right Shift when held, Enter when tapped|
## Caveats
As with Space Cadet Shift, this feature may conflict with Command, so it should be disabled in your `rules.mk` with:
```make
COMMAND_ENABLE = no
```
This feature also uses the same timers as Space Cadet Shift, so using them in tandem may produce strange results.
## Configuration
By default Space Cadet assumes a US ANSI layout, but if you'd like to use a different key for Enter, you can redefine it in your `config.h`:
|Define |Default |Description |
|------------|--------|------------------------------------------------|
|`SFTENT_KEY`|`KC_ENT`|The keycode to send when the Shift key is tapped|

View File

@@ -0,0 +1,211 @@
# Split Keyboard
Many keyboards in the QMK Firmware repo are "split" keyboards. They use two controllers—one plugging into USB, and the second connected by a serial or an I<sup>2</sup>C connection over a TRRS or similar cable.
Split keyboards can have a lot of benefits, but there is some additional work needed to get them enabled.
QMK Firmware has a generic implementation that is usable by any board, as well as numerous board specific implementations.
For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards.
!> ARM is not yet supported for Split Keyboards. Progress is being made, but we are not quite there, yet.
## Hardware Configuration
This assumes that you're using two Pro Micro-compatible controllers, and are using TRRS jacks to connect to two halves.
### Required Hardware
Apart from diodes and key switches for the keyboard matrix in each half, you will need 2x TRRS sockets and 1x TRRS cable.
Alternatively, you can use any sort of cable and socket that has at least 3 wires.
If you want to use I<sup>2</sup>C to communicate between halves, you will need a cable with at least 4 wires and 2x 4.7kΩ pull-up resistors.
#### Considerations
The most commonly used connection is a TRRS cable and jacks. These provide 4 wires, making them very useful for split keyboards, and are easy to find.
However, since one of the wires carries VCC, this means that the boards are not hot pluggable. You should always disconnect the board from USB before unplugging and plugging in TRRS cables, or you can short the controller, or worse.
Another option is to use phone cables (as in, old school RJ-11/RJ-14 cables). Make sure that you use one that actually supports 4 wires/lanes.
However, USB cables, SATA cables, and even just 4 wires have been known to be used for communication between the controllers.
!> Using USB cables for communication between the controllers works just fine, but the connector could be mistaken for a normal USB connection and potentially short out the keyboard, depending on how it's wired. For this reason, they are not recommended for connecting split keyboards.
### Serial Wiring
The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0 (aka PDO or pin 3) between the two Pro Micros.
?> Note that the pin used here is actually set by `SOFT_SERIAL_PIN` below.
![serial wiring](https://i.imgur.com/C3D1GAQ.png)
### I<sup>2</sup>C Wiring
The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros.
The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves.
![I2C wiring](https://i.imgur.com/Hbzhc6E.png)
## Firmware Configuration
To enable the split keyboard feature, add the following to your `rules.mk`:
```make
SPLIT_KEYBOARD = yes
```
If you're using a custom transport (communication method), then you will also need to add:
```make
SPLIT_TRANSPORT = custom
```
### Setting Handedness
By default, the firmware does not know which side is which; it needs some help to determine that. There are several ways to do this, listed in order of precedence.
#### Handedness by Pin
You can configure the firmware to read a pin on the controller to determine handedness. To do this, add the following to your `config.h` file:
```c
#define SPLIT_HAND_PIN B7
```
This will read the specified pin. If it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side.
#### Handedness by EEPROM
This method sets the keyboard's handedness by setting a flag in the persistent storage (`EEPROM`). This is checked when the controller first starts up, and determines what half the keyboard is, and how to orient the keyboard layout.
To enable this method, add the following to your `config.h` file:
```c
#define EE_HANDS
```
However, you'll have to flash the EEPROM files for the correct hand to each controller. You can do this manually, or there are targets for avrdude and dfu to do this, while flashing the firmware:
* `:avrdude-split-left`
* `:avrdude-split-right`
* `:dfu-split-left`
* `:dfu-split-right`
* `:dfu-util-split-left`
* `:dfu-util-split-right`
This setting is not changed when re-initializing the EEPROM using the `EEP_RST` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox]()'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files.
You can find the `EEPROM` files in the QMK firmware repo, [here](https://github.com/qmk/qmk_firmware/tree/master/quantum/split_common).
#### Handedness by `#define`
You can set the handedness at compile time. This is done by adding the following to your `config.h` file:
```c
#define MASTER_RIGHT
```
or
```c
#define MASTER_LEFT
```
If neither are defined, the handedness defaults to `MASTER_LEFT`.
### Communication Options
Because not every split keyboard is identical, there are a number of additional options that can be configured in your `config.h` file.
```c
#define USE_I2C
```
This enables I<sup>2</sup>C support for split keyboards. This isn't strictly for communication, but can be used for OLED or other I<sup>2</sup>C-based devices.
```c
#define SOFT_SERIAL_PIN D0
```
This sets the pin to be used for serial communication. If you're not using serial, you shouldn't need to define this.
However, if you are using serial and I<sup>2</sup>C on the board, you will need to set this, and to something other than D0 and D1 (as these are used for I<sup>2</sup>C communication).
```c
#define SELECT_SOFT_SERIAL_SPEED {#}`
```
If you're having issues with serial communication, you can change this value, as it controls the communication speed for serial. The default is 1, and the possible values are:
* **`0`**: about 189kbps (Experimental only)
* **`1`**: about 137kbps (default)
* **`2`**: about 75kbps
* **`3`**: about 39kbps
* **`4`**: about 26kbps
* **`5`**: about 20kbps
### Hardware Configuration Options
There are some settings that you may need to configure, based on how the hardware is set up.
```c
#define MATRIX_ROW_PINS_RIGHT { <row pins> }
#define MATRIX_COL_PINS_RIGHT { <col pins> }
```
This allows you to specify a different set of pins for the matrix on the right side. This is useful if you have a board with differently-shaped halves that requires a different configuration (such as Keebio's Quefrency).
```c
#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }
```
This allows you to specify a different set of direct pins for the right side.
```c
#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
```
This allows you to specify a different set of encoder pins for the right side.
```c
#define RGBLIGHT_SPLIT
```
This option enables synchronization of the RGB Light modes between the controllers of the split keyboard. This is for keyboards that have RGB LEDs that are directly wired to the controller (that is, they are not using the "extra data" option on the TRRS cable).
```c
#define RGBLED_SPLIT { 6, 6 }
```
This sets how many LEDs are directly connected to each controller. The first number is the left side, and the second number is the right side.
?> This setting implies that `RGBLIGHT_SPLIT` is enabled, and will forcibly enable it, if it's not.
```c
#define SPLIT_USB_DETECT
```
This option changes the startup behavior to detect an active USB connection when delegating master/slave. If this operation times out, then the half is assume to be a slave. This is the default behavior for ARM, and required for AVR Teensy boards (due to hardware limitations).
?> This setting will stop the ability to demo using battery packs.
```c
#define SPLIT_USB_TIMEOUT 2500
```
This sets the maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT`.
## Additional Resources
Nicinabox has a [very nice and detailed guide](https://github.com/nicinabox/lets-split-guide) for the Let's Split keyboard, that covers most everything you need to know, including troubleshooting information.
However, the RGB Light section is out of date, as it was written long before the RGB Split code was added to QMK Firmware. Instead, wire each strip up directly to the controller.
<!-- I may port this information later, but for now ... it's very nice, and covers everything -->

View File

@@ -1,40 +1,58 @@
# Tap Dance: A Single Key Can Do 3, 5, or 100 Different Things
<!-- FIXME: Break this up into multiple sections -->
## Introduction
Hit the semicolon key once, send a semicolon. Hit it twice, rapidly -- send a colon. Hit it three times, and your keyboard's LEDs do a wild dance. That's just one example of what Tap Dance can do. It's one of the nicest community-contributed features in the firmware, conceived and created by [algernon](https://github.com/algernon) in [#451](https://github.com/qmk/qmk_firmware/pull/451). Here's how algernon describes the feature:
With this feature one can specify keys that behave differently, based on the amount of times they have been tapped, and when interrupted, they get handled before the interrupter.
To make it clear how this is different from `ACTION_FUNCTION_TAP`, let's explore a certain setup! We want one key to send `Space` on single tap, but `Enter` on double-tap.
## Explanatory Comparison with `ACTION_FUNCTION_TAP`
`ACTION_FUNCTION_TAP` can offer similar functionality to Tap Dance, but it's worth noting some important differences. To do this, let's explore a certain setup! We want one key to send `Space` on single-tap, but `Enter` on double-tap.
With `ACTION_FUNCTION_TAP`, it is quite a rain-dance to set this up, and has the problem that when the sequence is interrupted, the interrupting key will be sent first. Thus, `SPC a` will result in `a SPC` being sent, if they are typed within `TAPPING_TERM`. With the tap dance feature, that'll come out as `SPC a`, correctly.
With `ACTION_FUNCTION_TAP`, it is quite a rain-dance to set this up, and has the problem that when the sequence is interrupted, the interrupting key will be sent first. Thus, `SPC a` will result in `a SPC` being sent, if `SPC` and `a` are both typed within `TAPPING_TERM`. With the Tap Dance feature, that'll come out correctly as `SPC a` (even if both `SPC` and `a` are typed within the `TAPPING_TERM`.
The implementation hooks into two parts of the system, to achieve this: into `process_record_quantum()`, and the matrix scan. We need the latter to be able to time out a tap sequence even when a key is not being pressed, so `SPC` alone will time out and register after `TAPPING_TERM` time.
To achieve this correct handling of interrupts, the implementation of Tap Dance hooks into two parts of the system: `process_record_quantum()`, and the matrix scan. These two parts are explained below, but for now the point to note is that we need the latter to be able to time out a tap sequence even when a key is not being pressed. That way, `SPC` alone will time out and register after `TAPPING_TERM` time.
But lets start with how to use it, first!
## How to Use Tap Dance
But enough of the generalities; lets look at how to actually use Tap Dance!
First, you will need `TAP_DANCE_ENABLE=yes` in your `rules.mk`, because the feature is disabled by default. This adds a little less than 1k to the firmware size. Next, you will want to define some tap-dance keys, which is easiest to do with the `TD()` macro, that - similar to `F()`, takes a number, which will later be used as an index into the `tap_dance_actions` array.
First, you will need `TAP_DANCE_ENABLE=yes` in your `rules.mk`, because the feature is disabled by default. This adds a little less than 1k to the firmware size.
This array specifies what actions shall be taken when a tap-dance key is in action. Currently, there are five possible options:
Optionally, you might want to set a custom `TAPPING_TERM` time by adding something like this in you `config.h`:
```
#define TAPPING_TERM 175
```
The `TAPPING_TERM` time is the maximum time allowed between taps of your Tap Dance key, and is measured in milliseconds. For example, if you used the above `#define` statement and set up a Tap Dance key that sends `Space` on single-tap and `Enter` on double-tap, then this key will send `ENT` only if you tap this key twice in less than 175ms. If you tap the key, wait more than 175ms, and tap the key again you'll end up sending `SPC SPC` instead.
Next, you will want to define some tap-dance keys, which is easiest to do with the `TD()` macro, that - similar to `F()` - takes a number, which will later be used as an index into the `tap_dance_actions` array.
After this, you'll want to use the `tap_dance_actions` array to specify what actions shall be taken when a tap-dance key is in action. Currently, there are five possible options:
* `ACTION_TAP_DANCE_DOUBLE(kc1, kc2)`: Sends the `kc1` keycode when tapped once, `kc2` otherwise. When the key is held, the appropriate keycode is registered: `kc1` when pressed and held, `kc2` when tapped once, then pressed and held.
* `ACTION_TAP_DANCE_DUAL_ROLE(kc, layer)`: Sends the `kc` keycode when tapped once, or moves to `layer`. (this functions like the `TO` layer keycode).
* `ACTION_TAP_DANCE_LAYER_MOVE(kc, layer)`: Sends the `kc` keycode when tapped once, or moves to `layer`. (this functions like the `TO` layer keycode).
* This is the same as `ACTION_TAP_DANCE_DUAL_ROLE`, but renamed to something that is clearer about its functionality. Both names will work.
* `ACTION_TAP_DANCE_LAYER_TOGGLE(kc, layer)`: Sends the `kc` keycode when tapped once, or toggles the state of `layer`. (this functions like the `TG` layer keycode).
* `ACTION_TAP_DANCE_FN(fn)`: Calls the specified function - defined in the user keymap - with the final tap count of the tap dance action.
* `ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn)`: Calls the first specified function - defined in the user keymap - on every tap, the second function when the dance action finishes (like the previous option), and the last function when the tap dance action resets.
* `ACTION_TAP_DANCE_FN_ADVANCED_TIME(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn, tap_specific_tapping_term)`: This functions identically to the `ACTION_TAP_DANCE_FN_ADVANCED` function, but uses a custom tapping term for it, instead of the predefined `TAPPING_TERM`.
The first option is enough for a lot of cases, that just want dual roles. For example, `ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` will result in `Space` being sent on single-tap, `Enter` otherwise.
The first option is enough for a lot of cases, that just want dual roles. For example, `ACTION_TAP_DANCE_DOUBLE(KC_SPC, KC_ENT)` will result in `Space` being sent on single-tap, `Enter` otherwise.
!> Keep in mind that only [basic keycodes](keycodes_basic.md) are supported here. Custom keycodes are not supported.
And that's the bulk of it!
Similar to the first option, the second option is good for simple layer-switching cases.
And now, on to the explanation of how it works!
For more complicated cases, use the third or fourth options (examples of each are listed below).
The main entry point is `process_tap_dance()`, called from `process_record_quantum()`, which is run for every keypress, and our handler gets to run early. This function checks whether the key pressed is a tap-dance key. If it is not, and a tap-dance was in action, we handle that first, and enqueue the newly pressed key. If it is a tap-dance key, then we check if it is the same as the already active one (if there's one active, that is). If it is not, we fire off the old one first, then register the new one. If it was the same, we increment the counter and the timer.
Finally, the fifth option is particularly useful if your non-Tap-Dance keys start behaving weirdly after adding the code for your Tap Dance keys. The likely problem is that you changed the `TAPPING_TERM` time to make your Tap Dance keys easier for you to use, and that this has changed the way your other keys handle interrupts.
This means that you have `TAPPING_TERM` time to tap the key again, you do not have to input all the taps within that timeframe. This allows for longer tap counts, with minimal impact on responsiveness.
## Implementation Details
Well, that's the bulk of it! You should now be able to work through the examples below, and to develop your own Tap Dance functionality. But if you want a deeper understanding of what's going on behind the scenes, then read on for the explanation of how it all works!
The main entry point is `process_tap_dance()`, called from `process_record_quantum()`, which is run for every keypress, and our handler gets to run early. This function checks whether the key pressed is a tap-dance key. If it is not, and a tap-dance was in action, we handle that first, and enqueue the newly pressed key. If it is a tap-dance key, then we check if it is the same as the already active one (if there's one active, that is). If it is not, we fire off the old one first, then register the new one. If it was the same, we increment the counter and reset the timer.
This means that you have `TAPPING_TERM` time to tap the key again; you do not have to input all the taps within a single `TAPPING_TERM` timeframe. This allows for longer tap counts, with minimal impact on responsiveness.
Our next stop is `matrix_scan_tap_dance()`. This handles the timeout of tap-dance keys.
@@ -185,29 +203,11 @@ Below is a specific example:
## Setup
You will need a few things that can be used for 'Quad Function Tap-Dance'. The suggested setup is to create a user directory for yourself. This directory will contain rules.mk `<your_name>.c` and `<your_name>.h`. This directory should be called `<your_name>`, and located in the top level `users` directory. There should already be a few examples to look at there.
You will need a few things that can be used for 'Quad Function Tap-Dance'.
### In `/qmk_firmware/users/<your_name>/rules.mk`
Put the following:
```c
TAP_DANCE_ENABLE = yes
SRC += your_name.c
```
Pretty simple. It is a nice way to keep some rules common on all your keymaps.
### In `/qmk_firmware/users/<your_name>/<your_name>.h`
You will need a few things in this file:
You'll need to add these to the top of your `keymap.c` file, before your keymap.
```c
#pragma once
#include "quantum.h"
#include "process_keycode/process_tap_dance.h"
typedef struct {
bool is_press_action;
int state;
@@ -234,18 +234,12 @@ int cur_dance (qk_tap_dance_state_t *state);
//for the x tap dance. Put it here so it can be used in any keymap
void x_finished (qk_tap_dance_state_t *state, void *user_data);
void x_reset (qk_tap_dance_state_t *state, void *user_data);
```
### In `/qmk_firmware/users/<your_name>/<your_name>.c`
And then in your user's `.c` file you implement the functions above:
Now, at the bottom of your `keymap.c` file, you'll need to add the following:
```c
#include "<your_name>.h"
#include "quantum.h"
#include "action.h"
#include "process_keycode/process_tap_dance.h"
/* Return an integer that corresponds to what kind of tap dance should be executed.
*
* How to figure out tap dance state: interrupted and pressed.
@@ -335,4 +329,192 @@ qk_tap_dance_action_t tap_dance_actions[] = {
};
```
And then simply use `TD(X_CTL)` anywhere in your keymap after including `<your_name>.h`.
And then simply use `TD(X_CTL)` anywhere in your keymap.
If you want to implement this in your userspace, then you may want to check out how [DanielGGordon](https://github.com/qmk/qmk_firmware/tree/master/users/gordon) has implemented this in their userspace.
### Example 5: Using tap dance for advanced mod-tap and layer-tap keys
Tap dance can be used to emulate `MT()` and `LT()` behavior when the tapped code is not a basic keycode. This is useful to send tapped keycodes that normally require `Shift`, such as parentheses or curly braces—or other modified keycodes, such as `Control + X`.
Below your layers and custom keycodes, add the following:
```c
// tapdance keycodes
enum td_keycodes {
ALT_LP // Our example key: `LALT` when held, `(` when tapped. Add additional keycodes for each tapdance.
};
// define a type containing as many tapdance states as you need
typedef enum {
SINGLE_TAP,
SINGLE_HOLD,
DOUBLE_SINGLE_TAP
} td_state_t;
// create a global instance of the tapdance state type
static td_state_t td_state;
// declare your tapdance functions:
// function to determine the current tapdance state
int cur_dance (qk_tap_dance_state_t *state);
// `finished` and `reset` functions for each tapdance keycode
void altlp_finished (qk_tap_dance_state_t *state, void *user_data);
void altlp_reset (qk_tap_dance_state_t *state, void *user_data);
```
Below your `LAYOUT`, define each of the tapdance functions:
```c
// determine the tapdance state to return
int cur_dance (qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (state->interrupted || !state->pressed) { return SINGLE_TAP; }
else { return SINGLE_HOLD; }
}
if (state->count == 2) { return DOUBLE_SINGLE_TAP; }
else { return 3; } // any number higher than the maximum state value you return above
}
// handle the possible states for each tapdance keycode you define:
void altlp_finished (qk_tap_dance_state_t *state, void *user_data) {
td_state = cur_dance(state);
switch (td_state) {
case SINGLE_TAP:
register_code16(KC_LPRN);
break;
case SINGLE_HOLD:
register_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here
break;
case DOUBLE_SINGLE_TAP: // allow nesting of 2 parens `((` within tapping term
tap_code16(KC_LPRN);
register_code16(KC_LPRN);
}
}
void altlp_reset (qk_tap_dance_state_t *state, void *user_data) {
switch (td_state) {
case SINGLE_TAP:
unregister_code16(KC_LPRN);
break;
case SINGLE_HOLD:
unregister_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here
break;
case DOUBLE_SINGLE_TAP:
unregister_code16(KC_LPRN);
}
}
// define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions
qk_tap_dance_action_t tap_dance_actions[] = {
[ALT_LP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altlp_finished, altlp_reset)
};
```
Wrap each tapdance keycode in `TD()` when including it in your keymap, e.g. `TD(ALT_LP)`.
### Example 6: Using tap dance for momentary-layer-switch and layer-toggle keys
Tap Dance can be used to mimic MO(layer) and TG(layer) functionality. For this example, we will set up a key to function as `KC_QUOT` on single-tap, as `MO(_MY_LAYER)` on single-hold, and `TG(_MY_LAYER)` on double-tap.
The first step is to include the following code towards the beginning of your `keymap.c`:
```c
typedef struct {
bool is_press_action;
int state;
} tap;
//Define a type for as many tap dance states as you need
enum {
SINGLE_TAP = 1,
SINGLE_HOLD = 2,
DOUBLE_TAP = 3
};
enum {
QUOT_LAYR = 0 //Our custom tap dance key; add any other tap dance keys to this enum
};
//Declare the functions to be used with your tap dance key(s)
//Function associated with all tap dances
int cur_dance (qk_tap_dance_state_t *state);
//Functions associated with individual tap dances
void ql_finished (qk_tap_dance_state_t *state, void *user_data);
void ql_reset (qk_tap_dance_state_t *state, void *user_data);
```
Towards the bottom of your `keymap.c`, include the following code:
```c
//Determine the current tap dance state
int cur_dance (qk_tap_dance_state_t *state) {
if (state->count == 1) {
if (!state->pressed) {
return SINGLE_TAP;
} else {
return SINGLE_HOLD;
}
} else if (state->count == 2) {
return DOUBLE_TAP;
}
else return 8;
}
//Initialize tap structure associated with example tap dance key
static tap ql_tap_state = {
.is_press_action = true,
.state = 0
};
//Functions that control what our tap dance key does
void ql_finished (qk_tap_dance_state_t *state, void *user_data) {
ql_tap_state.state = cur_dance(state);
switch (ql_tap_state.state) {
case SINGLE_TAP:
tap_code(KC_QUOT);
break;
case SINGLE_HOLD:
layer_on(_MY_LAYER);
break;
case DOUBLE_TAP:
//check to see if the layer is already set
if (layer_state_is(_MY_LAYER)) {
//if already set, then switch it off
layer_off(_MY_LAYER);
} else {
//if not already set, then switch the layer on
layer_on(_MY_LAYER);
}
break;
}
}
void ql_reset (qk_tap_dance_state_t *state, void *user_data) {
//if the key was held down and now is released then switch off the layer
if (ql_tap_state.state==SINGLE_HOLD) {
layer_off(_MY_LAYER);
}
ql_tap_state.state = 0;
}
//Associate our tap dance key with its functionality
qk_tap_dance_action_t tap_dance_actions[] = {
[QUOT_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ql_finished, ql_reset, 275)
};
```
The above code is similar to that used in previous examples. The one point to note is that we need to be able to check which layers are active at any time so we can toggle them if needed. To do this we use the `layer_state_is( layer )` function which returns `true` if the given `layer` is active.
The use of `cur_dance()` and `ql_tap_state` mirrors the above examples.
The `case:SINGLE_TAP` in `ql_finished` is similar to the above examples. The `case:SINGLE_HOLD` works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `case:DOUBLE_TAP` works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`.
`tap_dance_actions[]` works similar to the above examples. Note that I used `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` instead of `ACTION_TAP_DANCE_FN_ADVANCED()`. This is because I like my `TAPPING_TERM` to be short (~175ms) for my non-tap-dance keys but find that this is too quick for me to reliably complete tap dance actions - thus the increased time of 275ms here.
Finally, to get this tap dance key working, be sure to include `TD(QUOT_LAYR)` in your `keymaps[]`.

View File

@@ -1,6 +1,6 @@
# Terminal
> This feature is currently *huge* at 4400 bytes, and should probably only be put on boards with a lot of memory, or for fun.
> This feature is currently *huge*, and should probably only be put on boards with a lot of memory, or for fun.
The terminal feature is a command-line-like interface designed to communicate through a text editor with keystrokes. It's beneficial to turn off auto-indent features in your editor.
@@ -56,7 +56,7 @@ Outputs the last 5 commands entered
1. help
2. about
3. keymap 0
4. help
4. help
5. flush-buffer
```

View File

@@ -1,94 +1,197 @@
# Unicode Support
There are three Unicode keymap definition method available in QMK:
Unicode characters can be input straight from your keyboard! There are some limitations, however.
## UNICODE_ENABLE
QMK has three different methods for enabling Unicode input and defining keycodes:
Supports Unicode input up to 0xFFFF. The keycode function is `UC(n)` in keymap file, where *n* is a 4 digit hexadecimal.
## Basic Unicode
## UNICODEMAP_ENABLE
This method supports Unicode code points up to `0x7FFF`. This covers characters for most modern languages, as well as symbols, but it doesn't cover emoji.
Supports Unicode up to 0xFFFFFFFF. You need to maintain a separate mapping table `const uint32_t PROGMEM unicode_map[] = {...}` in your keymap file. The keycode function is `X(n)` where *n* is the array index of the mapping table.
Add the following to your `rules.mk`:
And you may want to have an enum to make reference easier. So you'd want to add something like this to your keymap:
```make
UNICODE_ENABLE = yes
```
Then add `UC(c)` keycodes to your keymap, where _c_ is the code point (preferably in hexadecimal, up to 4 digits long). For example: `UC(0x45B)`, `UC(0x30C4)`.
## Unicode Map
This method supports all possible code points (up to `0x10FFFF`); however, you need to maintain a separate mapping table in your keymap file, which may contain at most 16384 entries.
Add the following to your `rules.mk`:
```make
UNICODEMAP_ENABLE = yes
```
Then add `X(i)` keycodes to your keymap, where _i_ is an array index into the mapping table:
```c
enum unicode_name {
BANG, // ‽
IRONY, // ⸮
SNEK // snke 🐍
enum unicode_names {
BANG,
IRONY,
SNEK
};
const uint32_t PROGMEM unicode_map[] = {
[BANG] = 0x0203D, // ‽
[IRONY] = 0x02E2E, // ⸮
[SNEK] = 0x1F40D // snke 🐍
}:
[BANG] = 0x203D, // ‽
[IRONY] = 0x2E2E, // ⸮
[SNEK] = 0x1F40D, // 🐍
};
```
Make sure that the order for both matches.
Then you can use `X(BANG)`, `X(SNEK)` etc. in your keymap.
## UCIS_ENABLE
### Lower and Upper Case
Supports Unicode up to 0xFFFFFFFF. As with `UNICODE_MAP`, you may want to main a mapping table in your keymap file. However, there is no keycodes for this feature, you will have to add a keycode or function to call `qk_ucis_start()`. Once you've run that, you can just type the text for your unicode, and then hit space or enter to complete it, or ESC to cancel it. And if it matches an entry in your table, it will automatically "backspace" the trigger word (from your table) and then will input the unicode sequence.
Characters often come in lower and upper case pairs, such as å and Å. To make inputting these characters easier, you can use `XP(i, j)` in your keymap, where _i_ and _j_ are the mapping table indices of the lower and upper case character, respectively. If you're holding down Shift or have Caps Lock turned on when you press the key, the second (upper case) character will be inserted; otherwise, the first (lower case) version will appear.
For instance, you would need to have a table like this in your keymap:
This is most useful when creating a keymap for an international layout with special characters. Instead of having to put the lower and upper case versions of a character on separate keys, you can have them both on the same key by using `XP()`. This helps blend Unicode keys in with regular alphas.
Due to keycode size constraints, _i_ and _j_ can each only refer to one of the first 128 characters in your `unicode_map`. In other words, 0 ≤ _i_ ≤ 127 and 0 ≤ _j_ ≤ 127. This is enough for most use cases, but if you'd like to customize the index calculation, you can override the [`unicodemap_index()`](https://github.com/qmk/qmk_firmware/blob/71f640d47ee12c862c798e1f56392853c7b1c1a8/quantum/process_keycode/process_unicodemap.c#L40) function. This also allows you to, say, check Ctrl instead of Shift/Caps.
## UCIS
This method also supports all possible code points. As with the Unicode Map method, you need to maintain a mapping table in your keymap file. However, there are no built-in keycodes for this feature — you have to create a custom keycode or function that invokes this functionality.
Add the following to your `rules.mk`:
```make
UCIS_ENABLE = yes
```
Then define a table like this in your keymap file:
```c
const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE
(
UCIS_SYM("poop", 0x1f4a9),
UCIS_SYM("rofl", 0x1f923),
UCIS_SYM("kiss", 0x1f619)
const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE(
UCIS_SYM("poop", 0x1F4A9), // 💩
UCIS_SYM("rofl", 0x1F923), // 🤣
UCIS_SYM("kiss", 0x1F619) // 😙
);
```
You run the function, and then type "rofl" and hit enter, it should backspace remove "rofl" and input the `0x1f923` unicode.
To use it, call `qk_ucis_start()`. Then, type the mnemonic for the character (such as "rofl"), and hit Space or Enter. QMK should erase the "rofl" text and insert the laughing emoji.
### Customization
There are several functions that you can add to your keymap to customize the functionality of this feature.
There are several functions that you can define in your keymap to customize the functionality of this feature.
* `void qk_ucis_start_user(void)` - This runs when you run the "start" function, and can be used to provide feedback. By default, it types out a keyboard emoji.
* `void qk_ucis_success(uint8_t symbol_index)` - This runs when the unicode input has matched something, and has completed. Default doesn't do anything.
* `void qk_ucis_symbol_fallback (void)` - This runs if the input text doesn't match anything. The default function falls back to trying that input as a unicode code.
* `void qk_ucis_start_user(void)` This runs when you call the "start" function, and can be used to provide feedback. By default, it types out a keyboard emoji.
* `void qk_ucis_success(uint8_t symbol_index)` This runs when the input has matched something and has completed. By default, it doesn't do anything.
* `void qk_ucis_symbol_fallback (void)` This runs when the input doesn't match anything. By default, it falls back to trying that input as a Unicode code.
The default code for these are:
You can find the default implementations of these functions in [`process_ucis.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_ucis.c).
## Input Modes
Unicode input in QMK works by inputting a sequence of characters to the OS, sort of like a macro. Unfortunately, the way this is done differs for each platform. Specifically, each platform requires a different combination of keys to trigger Unicode input. Therefore, a corresponding input mode has to be set in QMK.
The following input modes are available:
* **`UC_OSX`**: macOS built-in Unicode hex input. Supports code points up to `0xFFFF` (`0x10FFFF` with Unicode Map).
To enable, go to _System Preferences > Keyboard > Input Sources_, add _Unicode Hex Input_ to the list (it's under _Other_), then activate it from the input dropdown in the Menu Bar.
By default, this mode uses the left Option key (`KC_LALT`) for Unicode input, but this can be changed by defining [`UNICODE_KEY_OSX`](#input-key-configuration) with another keycode.
!> Using the _Unicode Hex Input_ input source may disable some Option based shortcuts, such as Option + Left Arrow and Option + Right Arrow.
* **`UC_LNX`**: Linux built-in IBus Unicode input. Supports code points up to `0x10FFFF` (all possible code points).
Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else.
By default, this mode uses Ctrl+Shift+U (`LCTL(LSFT(KC_U))`) to start Unicode input, but this can be changed by defining [`UNICODE_KEY_LNX`](#input-key-configuration) with another keycode. This might be required for IBus versions ≥1.5.15, where Ctrl+Shift+U behavior is consolidated into Ctrl+Shift+E.
* **`UC_WIN`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`.
To enable, create a registry key under `HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad` of type `REG_SZ` called `EnableHexNumpad` and set its value to `1`. This can be done from the Command Prompt by running `reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1` with administrator privileges. Reboot afterwards.
This mode is not recommended because of reliability and compatibility issues; use the `UC_WINC` mode instead.
* **`UC_BSD`**: _(non implemented)_ Unicode input under BSD. Not implemented at this time. If you're a BSD user and want to help add support for it, please [open an issue on GitHub](https://github.com/qmk/qmk_firmware/issues).
* **`UC_WINC`**: Windows Unicode input using [WinCompose](https://github.com/samhocevar/wincompose). As of v0.9.0, supports code points up to `0x10FFFF` (all possible code points).
To enable, install the [latest release](https://github.com/samhocevar/wincompose/releases/latest). Once installed, WinCompose will automatically run on startup. Works reliably under all version of Windows supported by the app.
By default, this mode uses right Alt (`KC_RALT`) as the Compose key, but this can be changed in the WinCompose settings and by defining [`UNICODE_KEY_WINC`](#input-key-configuration) with another keycode.
### Switching Input Modes
There are two ways to set the input mode for Unicode: by keycode or by function. Keep in mind that both methods write to persistent storage (EEPROM), and are loaded each time the keyboard starts. So once you've set it the first time, you don't need to set it again unless you want to change it, or you've reset the EEPROM settings.
You can switch the input mode at any time by using one of the following keycodes. The easiest way is to add the ones you use to your keymap.
|Keycode |Alias |Input Mode |Description |
|----------------------|---------|------------|--------------------------------------------------------------|
|`UNICODE_MODE_FORWARD`|`UC_MOD` |Next in list|[Cycle](#input-mode-cycling) through selected modes |
|`UNICODE_MODE_REVERSE`|`UC_RMOD`|Prev in list|[Cycle](#input-mode-cycling) through selected modes in reverse|
|`UNICODE_MODE_OSX` |`UC_M_OS`|`UC_OSX` |Switch to macOS input |
|`UNICODE_MODE_LNX` |`UC_M_LN`|`UC_LNX` |Switch to Linux input |
|`UNICODE_MODE_WIN` |`UC_M_WI`|`UC_WIN` |Switch to Windows input |
|`UNICODE_MODE_BSD` |`UC_M_BS`|`UC_BSD` |Switch to BSD input (not implemented) |
|`UNICODE_MODE_WINC` |`UC_M_WC`|`UC_WINC` |Switch to Windows input using WinCompose |
You can also switch the input mode by calling `set_unicode_input_mode(x)` in your code, where _x_ is one of the above input mode constants (e.g. `UC_LNX`). Since the function only needs to be called once, it's recommended that you do it in `eeconfig_init_user()` (or a similar function). For example:
```c
void qk_ucis_start_user(void) { // outputs keyboard emoji
unicode_input_start();
register_hex(0x2328);
unicode_input_finish();
}
void qk_ucis_success(uint8_t symbol_index) {
}
void qk_ucis_symbol_fallback (void) { // falls back to manual unicode entry
for (uint8_t i = 0; i < qk_ucis_state.count - 1; i++) {
uint8_t code = qk_ucis_state.codes[i];
register_code(code);
unregister_code(code);
wait_ms(UNICODE_TYPE_DELAY);
}
void eeconfig_init_user(void) {
set_unicode_input_mode(UC_LNX);
}
```
## Unicode Input methods
### Audio Feedback
Unicode input in QMK works by inputting a sequence of characters to the OS,
sort of like macro. Unfortunately, each OS has different ideas on how Unicode is input.
If you have the [Audio feature](feature_audio.md) enabled on the board, you can set melodies to be played when you press the above keys. That way you can have some audio feedback when switching input modes.
This is the current list of Unicode input method in QMK:
For instance, you can add these definitions to your `config.h` file:
* __UC_OSX__: MacOS Unicode Hex Input support. Works only up to 0xFFFF. Disabled by default. To enable: go to System Preferences -> Keyboard -> Input Sources, and enable Unicode Hex.
* __UC_OSX_RALT__: Same as UC_OSX, but sends the Right Alt key for unicode input
* __UC_LNX__: Unicode input method under Linux. Works up to 0xFFFFF. Should work almost anywhere on ibus enabled distros. Without ibus, this works under GTK apps, but rarely anywhere else.
* __UC_WIN__: (not recommended) Windows built-in Unicode input. To enable: create registry key under `HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad` of type `REG_SZ` called `EnableHexNumpad`, set its value to 1, and reboot. This method is not recommended because of reliability and compatibility issue, use WinCompose method below instead.
* __UC_WINC__: Windows Unicode input using WinCompose. Requires [WinCompose](https://github.com/samhocevar/wincompose). Works reliably under many (all?) variations of Windows.
```c
#define UNICODE_SONG_OSX COIN_SOUND
#define UNICODE_SONG_LNX UNICODE_LINUX
#define UNICODE_SONG_BSD MARIO_GAMEOVER
#define UNICODE_SONG_WIN UNICODE_WINDOWS
#define UNICODE_SONG_WINC UNICODE_WINDOWS
```
At some point, you need to call `set_unicode_input_mode(x)` to set the correct unicode method. This sets the method that is used to send the unicode, and stores it in EEPROM, so you only need to call this once.
### Additional Customization
Because Unicode is a large and versatile feature, there are a number of options you can customize to make it work better on your system.
#### Start and Finish Input Functions
The functions for starting and finishing Unicode input on your platform can be overridden locally. Possible uses include customizing input mode behavior if you don't use the default keys, or adding extra visual/audio feedback to Unicode input.
* `void unicode_input_start(void)` This sends the initial sequence that tells your platform to enter Unicode input mode. For example, it presses Ctrl+Shift+U on Linux and holds the Option key on macOS.
* `void unicode_input_finish(void)` This is called to exit Unicode input mode, for example by pressing Space or releasing the Option key.
You can find the default implementations of these functions in [`process_unicode_common.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_unicode_common.c).
#### Input Key Configuration
You can customize the keys used to trigger Unicode input for macOS, Linux and WinCompose by adding corresponding defines to your `config.h`. The default values match the platforms' default settings, so you shouldn't need to change this unless Unicode input isn't working, or you want to use a different key (e.g. in order to free up left or right Alt).
|Define |Type |Default |Example |
|------------------|----------|------------------|-------------------------------------------|
|`UNICODE_KEY_OSX` |`uint8_t` |`KC_LALT` |`#define UNICODE_KEY_OSX KC_RALT` |
|`UNICODE_KEY_LNX` |`uint16_t`|`LCTL(LSFT(KC_U))`|`#define UNICODE_KEY_LNX LCTL(LSFT(KC_E))`|
|`UNICODE_KEY_WINC`|`uint8_t` |`KC_RALT` |`#define UNICODE_KEY_WINC KC_RGUI` |
#### Input Mode Cycling
You can choose which input modes are available for cycling through. By default, this is disabled. If you want to enable it, limiting it to just the modes you use makes sense. Note that the values in the list are comma-delimited.
```c
#define UNICODE_SELECTED_MODES UC_OSX, UC_LNX, UC_WIN, UC_WINC
```
You can cycle through the selected modes by using the `UC_MOD`/`UC_RMOD` keycodes, or by calling `cycle_unicode_input_mode(offset)` in your code (`offset` is how many modes to move forward by, so +1 corresponds to `UC_MOD`).
By default, when the keyboard boots, it will initialize the input mode to the last one you used. You can disable this and make it start with the first mode in the list every time by adding the following to your `config.h`:
```c
#define UNICODE_CYCLE_PERSIST false
```
!> Using `UNICODE_SELECTED_MODES` means you don't have to initially set the input mode in `matrix_init_user()` (or a similar function); the Unicode system will do that for you on startup. This has the added benefit of avoiding unnecessary writes to EEPROM.
## `send_unicode_hex_string`
@@ -123,7 +226,7 @@ AutoHotkey inserts the Text right of `Send, ` when this combination is pressed.
### US International
If you enable the US International layout on the system, it will use punctuation to accent the characters.
If you enable the US International layout on the system, it will use punctuation to accent the characters.
For instance, typing "`a" will result in à.

View File

@@ -110,16 +110,16 @@ QMK has a bunch of [functions](custom_quantum_functions.md) that have [`_quantum
However, you can actually add support for keymap version, so that you can use it in both your userspace and your keymap!
For instance, lets looks at the `layer_state_set_user` function. Lets enable the [Tri Layer State](ref_functions.md#olkb-tri-layers) functionalitly to all of our boards, and then still have your `keymap.c` still able to use this functionality.
For instance, let's look at the `layer_state_set_user()` function. You can enable the [Tri Layer State](ref_functions.md#olkb-tri-layers) functionality on all of your boards, while also retaining the Tri Layer functionality in your `keymap.c` files.
In your `<name.c>` file, you'd want to add this:
```c
__attribute__ ((weak))
uint32_t layer_state_set_keymap (uint32_t state) {
layer_state_t layer_state_set_keymap (layer_state_t state) {
return state;
}
uint32_t layer_state_set_user (uint32_t state) {
layer_state_t layer_state_set_user (layer_state_t state) {
state = update_tri_layer_state(state, 2, 3, 5);
return layer_state_set_keymap (state);
}
@@ -201,27 +201,43 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_MAKE:
if (!record->event.pressed) {
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
":dfu "
#elif defined(BOOTLOADER_HALFKAY)
":teensy "
#elif defined(BOOTLOADER_CATERINA)
":avrdude "
#endif
SS_TAP(X_ENTER));
}
return false;
break;
case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
if (!record->event.pressed) {
uint8_t temp_mod = get_mods();
uint8_t temp_osm = get_oneshot_mods();
clear_mods(); clear_oneshot_mods();
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP);
#ifndef FLASH_BOOTLOADER
if ( (temp_mod | temp_osm) & MOD_MASK_SHIFT )
#endif
{ //
SEND_STRING(":flash");
}
if ( (temp_mod | temp_osm) & MOD_MASK_CTRL) {
SEND_STRING(" -j8 --output-sync");
}
SEND_STRING(SS_TAP(X_ENTER));
set_mods(temp_mod);
}
break;
}
return process_record_keymap(keycode, record);
}
```
For boards that may not have a shift button (such as on a macro pad), we need a way to always include the bootloader option. To do that, add the following to the `rules.mk` in your userspace folder:
```make
ifeq ($(strip $(FLASH_BOOTLOADER)), yes)
OPT_DEFS += -DFLASH_BOOTLOADER
endif
```
This will add a new `KC_MAKE` keycode that can be used in any of your keymaps. And this keycode will output `make <keyboard>:<keymap>`, making frequent compiling easier. And this will work with any keyboard and any keymap as it will output the current boards info, so that you don't have to type this out every time.
Additionally, this should flash the newly compiled firmware automatically, using the correct utility, based on the bootloader settings (or default to just generating the HEX file). However, it should be noted that this may not work on all systems. AVRDUDE doesn't work on WSL, namely (and will dump the HEX in the ".build" folder instead).
Also, holding Shift will add the flash target (`:flash`) to the command. Holding Control will add some commands that will speed up compiling time by processing multiple files at once.
And for the boards that lack a shift key, or that you want to always attempt the flashing part, you can add `FLASH_BOOTLOADER = yes` to the `rules.mk` of that keymap.
?> This should flash the newly compiled firmware automatically, using the correct utility, based on the bootloader settings (or default to just generating the HEX file). However, it should be noted that this may not work on all systems. AVRDUDE doesn't work on WSL, namely. And this doesn't support BootloadHID or mdloader.

30
docs/feature_velocikey.md Normal file
View File

@@ -0,0 +1,30 @@
# Velocikey
Velocikey is a feature that lets you control the speed of lighting effects (like the Rainbow Swirl effect) with the speed of your typing. The faster you type, the faster the lights will go!
## Usage
For Velocikey to take effect, there are two steps. First, when compiling your keyboard, you'll need to set `VELOCIKEY_ENABLE=yes` in `rules.mk`, e.g.:
```
BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = no
STENO_ENABLE = no
EXTRAKEY_ENABLE = yes
VELOCIKEY_ENABLE = yes
```
Then, while using your keyboard, you need to also turn it on with the VLK_TOG keycode, which toggles the feature on and off.
The following light effects will all be controlled by Velocikey when it is enabled:
- RGB Breathing
- RGB Rainbow Mood
- RGB Rainbow Swirl
- RGB Snake
- RGB Knight
Support for LED breathing effects is planned but not available yet.
As long as Velocikey is enabled, it will control the speed regardless of any other speed setting that your RGB lights are currently on.
## Configuration
Velocikey doesn't currently support any configuration via keyboard settings. If you want to adjust something like the speed increase or decay rate, you would need to edit `velocikey.c` and adjust the values there to achieve the kinds of speeds that you like.

View File

@@ -7,23 +7,31 @@ QMK has a staggering number of features for building your keyboard. It can take
* [Audio](feature_audio.md) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
* [Auto Shift](feature_auto_shift.md) - Tap for the normal key, hold slightly longer for its shifted state.
* [Backlight](feature_backlight.md) - LED lighting support for your keyboard.
* [Bluetooth](feature_bluetooth.md) - BlueTooth support for your keyboard.
* [Bootmagic](feature_bootmagic.md) - Adjust the behavior of your keyboard using hotkeys.
* [Combos](feature_combo.md) - Custom actions for multiple key holds.
* [Command](feature_command.md) - Runtime version of bootmagic (Formerly known as "Magic").
* [Debounce API](feature_debounce_type.md) - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
* [DIP Switch](feature_dip_switch.md) - Toggle switches for customizing board function.
* [Dynamic Macros](feature_dynamic_macros.md) - Record and playback macros from the keyboard itself.
* [Encoders](feature_encoders.md) - Rotary encoders!
* [Grave Escape](feature_grave_esc.md) - Lets you use a single key for Esc and Grave.
* [Haptic Feedback](feature_haptic_feedback.md) - Add haptic feedback drivers to your board.
* [HD44780 LCD Display](feature_hd44780.md) - Support for LCD character displays using the HD44780 standard.
* [Key Lock](feature_key_lock.md) - Lock a key in the "down" state.
* [Layouts](feature_layouts.md) - Use one keymap with any keyboard that supports your layout.
* [Leader Key](feature_leader_key.md) - Tap the leader key followed by a sequence to trigger custom behavior.
* [LED Matrix](feature_led_matrix.md) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
* [Macros](feature_macros.md) - Send multiple key presses when pressing only one physical key.
* [Mouse keys](feature_mouse_keys.md) - Control your mouse pointer from your keyboard.
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - Sticky Keys, lets hit a key rather than holding it.
* [OLED Driver](feature_oled_driver.md) - Add OLED screens to your keyboard.
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - Sticky Keys, lets you hit a key rather than holding it.
* [Pointing Device](feature_pointing_device.md) - Framework for connecting your custom pointing device to your keyboard.
* [PS2 Mouse](feature_ps2_mouse.md) - Driver for connecting a PS/2 mouse directly to your keyboard.
* [RGB Light](feature_rgblight.md) - RGB lighting for your keyboard.
* [RGB Matrix](feature_rgb_matrix.md) - RGB Matrix lights for per key lighting.
* [Space Cadet](feature_space_cadet_shift.md) - Use your left/right shift keys to type parenthesis and brackets.
* [Space Cadet](feature_space_cadet.md) - Use your left/right shift keys to type parenthesis and brackets.
* [Split Keyboard](feature_split_keyboard.md)
* [Stenography](feature_stenography.md) - Put your keyboard into Plover mode for stenography use.
* [Swap Hands](feature_swap_hands.md) - Mirror your keyboard for one handed usage.
* [Tap Dance](feature_tap_dance.md) - Make a single key do as many things as you want.
@@ -31,3 +39,4 @@ QMK has a staggering number of features for building your keyboard. It can take
* [Thermal Printer](feature_thermal_printer.md) - Connect a thermal printer to your keyboard to be able to toggle on a printed log of everything you type.
* [Unicode](feature_unicode.md) - Unicode input support.
* [Userspace](feature_userspace.md) - Share code between different keymaps and keyboards.
* [Velocikey](feature_velocikey.md) - Allows changes in RGB animation speed based on WPM/Typing speed.

View File

@@ -10,11 +10,17 @@ Atmel's DFU bootloader comes on all atmega32u4 chips by default, and is used by
To ensure compatibility with the DFU bootloader, make sure this block is present your `rules.mk` (optionally with `lufa-dfu` or `qmk-dfu` instead):
# Bootloader
# This definition is optional, and if your keyboard supports multiple bootloaders of
# different sizes, comment this out, and the correct address will be loaded
# automatically (+60). See bootloader.mk for all options.
BOOTLOADER = atmel-dfu
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
```
Compatible flashers:
@@ -49,17 +55,32 @@ To generate this bootloader, use the `bootloader` target, eg `make planck/rev4:d
To generate a production-ready .hex file (containing the application and the bootloader), use the `production` target, eg `make planck/rev4:default:production`.
### DFU commands
There are a number of DFU commands that you can use to flash firmware to a DFU device:
* `:dfu` - This is the normal option and waits until a DFU device is available, and then flashes the firmware. This will check every 5 seconds, to see if a DFU device has appeared.
* `:dfu-ee` - This flashes an `eep` file instead of the normal hex. This is uncommon.
* `:dfu-split-left` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
* `:dfu-split-right` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
## Caterina
Arduino boards and their clones use the [Caterina bootloader](https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/bootloaders/caterina) (any keyboard built with a Pro Micro, or clone), and uses the avr109 protocol to communicate through virtual serial. Bootloaders like [A-Star](https://www.pololu.com/docs/0J61/9) are based on Caterina.
Arduino boards and their clones use the [Caterina bootloader](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (any keyboard built with a Pro Micro, or clone), and uses the avr109 protocol to communicate through virtual serial. Bootloaders like [A-Star](https://www.pololu.com/docs/0J61/9) are based on Caterina.
To ensure compatibility with the Caterina bootloader, make sure this block is present your `rules.mk`:
# Bootloader
# This definition is optional, and if your keyboard supports multiple bootloaders of
# different sizes, comment this out, and the correct address will be loaded
# automatically (+60). See bootloader.mk for all options.
BOOTLOADER = caterina
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina
```
Compatible flashers:
@@ -78,11 +99,17 @@ or
make <keyboard>:<keymap>:avrdude
or if you want to flash multiple boards, use the following command
make <keyboard>:<keymap>:avrdude-loop
#### Caterina commands
There are a number of DFU commands that you can use to flash firmware to a DFU device:
* `:avrdude` - This is the normal option which waits until a Caterina device is available (by detecting a new COM port), and then flashes the firmware.
* `:avrdude-loop` - This runs the same command as `:avrdude`, but after each device is flashed, it will attempt to flash again. This is useful for bulk flashing. _This requires you to manually escape the loop by hitting Ctrl+C._
* `:avrdude-split-left` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._
* `:avrdude-split-right` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._
When you're done flashing boards, you'll need to hit Ctrl + C or whatever the correct keystroke is for your operating system to break the loop.
## Halfkay
@@ -90,11 +117,17 @@ Halfkay is a super-slim protocol developed by PJRC that uses HID, and come on al
To ensure compatibility with the Halfkay bootloader, make sure this block is present your `rules.mk`:
# Bootloader
# This definition is optional, and if your keyboard supports multiple bootloaders of
# different sizes, comment this out, and the correct address will be loaded
# automatically (+60). See bootloader.mk for all options.
BOOTLOADER = halfkay
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = halfkay
```
Compatible flashers:
@@ -109,6 +142,73 @@ Flashing sequence:
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
## USBasploader
USBasploader is a bootloader developed by matrixstorm. It is used in some non-USB AVR chips such as the ATmega328P, which run V-USB.
To ensure compatibility with the USBasploader bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = USBasp
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [avrdude](http://www.nongnu.org/avrdude/) with the `usbasp` programmer
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Flashing sequence:
1. Press the `RESET` keycode, or keep the boot pin shorted to GND while quickly shorting RST to GND
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
## BootloadHID
BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requires no kernel level driver on Windows and can therefore be run without installing any DLLs.
To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = bootloadHID
```
Compatible flashers:
* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (recommended Windows GUI)
* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` in QMK (recommended command line)
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode (may not work on all devices)
* Hold the salt key while plugging the keyboard in (usually documented within keyboard readme)
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
or:
make <keyboard>:<keymap>:bootloadHID
## STM32
All STM32 chips come preloaded with a factory bootloader that cannot be modified nor deleted. Some STM32 chips have bootloaders that do not come with USB programming (e.g. STM32F103) but the process is still the same.
@@ -131,3 +231,12 @@ Flashing sequence:
* You will receive a warning about the DFU signature; Just ignore it
4. Reset the device into application mode (may be done automatically)
* If you are building from command line (e.g. `make planck/rev6:default:dfu-util`), make sure that `:leave` is passed to the `DFU_ARGS` variable inside your `rules.mk` (e.g. `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) so that your device resets after flashing
### STM32 Commands
There are a number of DFU commands that you can use to flash firmware to a STM32 device:
* `:dfu-util` - The default command for flashing to STM32 devices, and will wait until an STM32 bootloader device is present.
* `:dfu-util-split-left` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Left Side" EEPROM setting for split keyboards.
* `:dfu-util-split-right` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Right Side" EEPROM setting for split keyboards.
* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util.

View File

@@ -0,0 +1,70 @@
# BootloadHID Flashing Instructions and Bootloader Information
ps2avr(GB) boards use an ATmega32A microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
General flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode (may not work on all devices)
* Hold the salt key while plugging the keyboard in (usually documented within keyboard readme)
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
## bootloadHID Flashing Target
Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed.
To flash via the command line, use the target `:bootloadHID` by executing the following command:
make <keyboard>:<keymap>:bootloadHID
## GUI Flashing
### Windows
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
2. Place your keyboard into reset.
3. Ensure the configured VendorID is `16c0` and ProductID is `05df`
4. Press the `Find Device` button and ensure that your keyboard is found.
5. Press the `Open .hex File` button and locate the `.hex` file you created.
6. Press the `Flash Device` button and wait for the process to complete.
## Command Line Flashing
1. Place your keyboard into reset.
2. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
### Windows Manual Installation
For MSYS2:
1. Download the BootloadHID firmware package from https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz.
2. Extract contents using a compatible tool, for example 7-Zip.
3. Add to the MSYS path by copying `commandline/bootloadHID.exe` from the extracted archive to your MSYS2 installation, typically `C:\msys64\usr\bin`.
For native Windows flashing, the `bootloadHID.exe` can be used outside of the MSYS2 environment.
### Linux Manual Installation
1. Install libusb development dependency:
```bash
# This depends on OS - for Debian the following works
sudo apt-get install libusb-dev
```
2. Download the BootloadHID firmware package:
```
wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz -O - | tar -xz -C /tmp
```
3. Build the bootloadHID executable:
```
cd /tmp/bootloadHID.2012-12-08/commandline/
make
sudo cp bootloadHID /usr/local/bin
```
### MacOS Manual Installation
1. Install Homebrew by typing the following:
```
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2. Install the following packages:
```
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
```

View File

@@ -0,0 +1,52 @@
# QMK Breaking Change - 30 août 2019
Quatre fois par an, QMK lance un processus pour fusionner les Breaking Changes. Un Breaking Change est un changement qui modifie la manière dont QMK fonctionne introduisant des incompatibilités ou des comportements dangereux. Nous n'effectuons ces changements que 4 fois par an afin que les utilisateurs n'aient pas peur de casser leurs keymaps en mettant à jour leur version de QMK.
Ce document présente les fusions de Breaking Change. Voici la liste des changements.
## Formattage de code Core avec clang-format
* Tous les fichiers core (`drivers/`, `quantum/`, `tests/`, et `tmk_core/`) seront formatés avec clang-format
* Un processus travis pour reformatter les PRs lors de la fusion a été mis en place
* Vous pouvez utiliser la nouvelle commande CLI `qmk cformat` afin de formater avant de soumettre votre PR si vous le souhaitez.
## Nettoyage des descripteurs LUFA USB
* Nettoyage du code lié aux descripteurs USB HID sur les claviers AVR, afin de les rendre plus simple à lire et compréhensibles
* Plus d'information: https://github.com/qmk/qmk_firmware/pull/4871
* Normalement pas de changement de fonctionnement et aucune keymap modifiée.
## Migration des entrées de `ACTION_LAYER_MOMENTARY()` dans `fn_actions` vers des keycodes `MO()`
* `fn_actions` est déprécié, et ses fonctionnalités ont été remplacées par des keycodes directs et `process_record_user()`
* Supprimer cette fonctionnalité obsolète devrait aboutir à une réduction importante de la taille du firmware et de la complexité du code
* Il est recommandé que toutes les keymaps affectées remplacent `fn_actions` vers les fonctionnalités de [keycode custom](https://docs.qmk.fm/#/custom_quantum_functions) et [macro](https://docs.qmk.fm/#/feature_macros)
## Mise à jour Atreus vers les conventions de codage courantes
* Les doublons include guards ont contourné le comportement de traitement des headers attendu
* Il est recommandé pour toutes les keymaps affectées de supprimer le doublon de `<keyboard>/config.h` et `<keyboard>/keymaps/<user>/config.h` et de ne garder que des surcharges au niveau keymap
## Récupération des changements de fichier keymap langage de la fork ZSA
* Corrige une issue dans le fichier `keymap_br_abnt2.h` qui inclut la mauvaise souce (`keymap_common.h` au lieu de `keymap.h`)
* Met à jour le fichier `keymap_swedish.h` afin d'être spécifique au suédois et plus "nordique" en général.
* Toutes les keymaps qui utilisent ceci devront supprimer `NO_*` et le remplacer par `SE_*`.
## Mise à jour du repo afin d'utiliser LUFA comme un sous-module git
* `/lib/LUFA` supprimé du dépôt
* LUFA, définis comme un sous-module, pointe vers qmk/lufa
* Ceci devrait ajouter plus de flexibilité vers LUFA, et nous permet de garder le sous-module à jour bien plus facilement. Il avait environ 2 ans de retard, sans manière simple de corriger. Ce changement devrait simplifier la mise à jour dans le futur.
## Migration des entrées `ACTION_BACKLIGHT_*()` dans `fn_actions` vers des keycodes `BL_`
* `fn_actions` est déprécié, et ses fonctionnalités ont été remplacées par des keycodes directs et `process_record_user()`
* Toutes les keymaps utilisant ces actions doivent avoir les clés `KC_FN*` remplacées par les clés `BL_*` équivalentes
* Si vous utilisez actuellement `KC_FN*` vous devrez remplacer `fn_actions` avec les fonctionnalités de [keycode custom](https://docs.qmk.fm/#/custom_quantum_functions) et [macro](https://docs.qmk.fm/#/feature_macros)
## Remplacer l'alias `KC_DELT` par `KC_DEL`
* `KC_DELT` était un alias redondant et non documenté pour `KC_DELETE`
* Il a été supprimé et toutes ses utilisations ont été remplacées par l'alias plus courant `KC_DEL`
* Environ 90 keymaps (surtout des boards ErgoDox) ont été modifiées à cette fin

32
docs/fr-fr/README.md Normal file
View File

@@ -0,0 +1,32 @@
# Quantum Mechanical Keyboard Firmware
[![Version courante](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags)
[![Statut du 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)
[![Statut de la doc](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contributeurs Github](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![Forks Github](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## Qu'est-ce que QMK Firmware?
QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMKFirmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](http://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](http://olkb.com), le clavier [ErgoDox EZ](http://www.ergodox-ez.com), et pour les [produits Clueboard](http://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé.
## Comment l'obtenir
Si vous souhaitez contribuer à une disposition de clavier (keymap), ou à des fonctionnalités de QMK alors le plus simple est de [forker le dépôt avec Github](https://github.com/qmk/qmk_firmware#fork-destination-box) puis cloner le dépôt localement pour y faire des changements. Vous pourrez pousser vos changements sur github puis ouvrir un [Pull Request](https://github.com/qmk/qmk_firmware/pulls) depuis votre fork Github.
Sinon, vous pouvez aussi le télécharger directement en ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), ou le cloner avec git en ssh (`git@github.com:qmk/qmk_firmware.git`), ou https (`https://github.com/qmk/qmk_firmware.git`).
## Comment le compiler
Avant d'être prêt à compiler vous allez devoir [installer un environnement](getting_started_build_tools.md) pour les développements AVR et/ou ARM. Une fois ceci fait, vous pourrez utiliser la commande `make` pour compiler le clavier et la disposition avec une commande de ce type :
make planck/rev4:default
Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise:
make preonic:default
## Comment le personnaliser
QMK a beaucoup de [fonctionnalités](features.md) à explorer, et [une documentation](http://docs.qmk.fm) très abondante que vous pourrez parcourir. La plupart des fonctionnalités vous permettrons de modifier vos [dispositions](keymap.md) (keymaps) et de changer [les codes de caractères](keycodes.md) (keycodes).

125
docs/fr-fr/_summary.md Normal file
View File

@@ -0,0 +1,125 @@
**En Français**
* [Guide pour débutant complet](fr-fr/newbs.md)
* [Pour débuter](fr-fr/newbs_getting_started.md)
* [Compiler son premier firmware](fr-fr/newbs_building_firmware.md)
* [Flasher le Firmware](fr-fr/newbs_flashing.md)
* [Test et Débuggage](fr-fr/newbs_testing_debugging.md)
* [Bonnes pratiques Git](fr-fr/newbs_best_practices.md)
* [Ressources d'apprentissage](fr-fr/newbs_learn_more_resources.md)
* [Les bases de QMK](fr-fr/README.md)
* [Indroduction à QMK](fr-fr/getting_started_introduction.md)
* [QMK CLI](fr-fr/cli.md)
* [Configuration de la CLI QMK](fr-fr/cli_configuration.md)
* [Contribuer à QMK](fr-fr/contributing.md)
* [Comment utiliser GitHub](fr-fr/getting_started_github.md)
* [Trouver de l'aide](fr-fr/getting_started_getting_help.md)
* [Breaking changes](fr-fr/breaking_changes.md)
* [30 août 2019](fr-fr/ChangeLog/20190830.md)
* [FAQ](fr-fr/faq.md)
* [FAQ Générale](fr-fr/faq_general.md)
* [Compiler QMK](fr-fr/faq_build.md)
* [Débugguer / Dépanner QMK](fr-fr/faq_debug.md)
* [Keymap / Disposition](fr-fr/faq_keymap.md)
* [Installer les drivers avec Zadig](fr-fr/driver_installation_zadig.md)
**En Anglais**
* Guides détaillés
* [Installation des outils de compilation](getting_started_build_tools.md)
* [Guide Vagrant](getting_started_vagrant.md)
* [Commandes de compilations](getting_started_make_guide.md)
* [Flasher les firmwares](fr-fr/flashing.md)
* [Personnaliser les fonctionnalités](custom_quantum_functions.md)
* [Aperçu des fonctionnalités des dispositions](keymap.md)
* [Hardware](hardware.md)
* [Processeurs AVR](hardware_avr.md)
* [Pilotes / Drivers](hardware_drivers.md)
* Réferences
* [Lignes de conduite des claviers](hardware_keyboard_guidelines.md)
* [Options de configurations](config_options.md)
* [Keycodes / Codes des caractères](keycodes.md)
* [Conventions de codage - C](coding_conventions_c.md)
* [Conventions de codage - Python](coding_conventions_python.md)
* [Meilleurs pratiques sur la documentation](documentation_best_practices.md)
* [Modèles de documentation](documentation_templates.md)
* [Glossaire](reference_glossary.md)
* [Tests unitaires](unit_testing.md)
* [Fonctions utiles](ref_functions.md)
* [Support de configuration](reference_configurator_support.md)
* [Format du fichier info.json](reference_info_json.md)
* [Développer la CLI en Python](cli_development.md)
* [Fonctionnalités](features.md)
* [Keycodes basiques](keycodes_basic.md)
* [Touches utilisées avec Shift (US ANSI)](keycodes_us_ansi_shifted.md)
* [Keycodes quantiques](quantum_keycodes.md)
* [Keycodes avancés](feature_advanced_keycodes.md)
* [Fonctionnalités audio](feature_audio.md)
* [Majuscule automatique](feature_auto_shift.md)
* [Rétroéclairage](feature_backlight.md)
* [Bluetooth](feature_bluetooth.md)
* [Bootmagic](feature_bootmagic.md)
* [Combos](feature_combo.md)
* [Commande](feature_command.md)
* [API anti-rebond](feature_debounce_type.md)
* [DIP Switch](feature_dip_switch.md)
* [Macros dynamiques](feature_dynamic_macros.md)
* [Interrupteurs rotatifs](feature_encoders.md)
* [Grave Escape](feature_grave_esc.md)
* [Retour haptique](feature_haptic_feedback.md)
* [Contrôleur LCD HD44780](feature_hd44780.md)
* [Touche à verrou / Lock-key](feature_key_lock.md)
* [Dispositions / layouts](feature_layouts.md)
* [Touche leader](feature_leader_key.md)
* [Matrice LED](feature_led_matrix.md)
* [Macros](feature_macros.md)
* [Boutons de souris](feature_mouse_keys.md)
* [Pilotes / Drivers OLED](feature_oled_driver.md)
* [Touche one-shot](feature_advanced_keycodes.md#one-shot-keys)
* [Périphériques de pointage](feature_pointing_device.md)
* [Souris PS/2](feature_ps2_mouse.md)
* [Éclairage RGB](feature_rgblight.md)
* [Matrice RGB](feature_rgb_matrix.md)
* [Space Cadet](feature_space_cadet.md)
* [Claviers scindés / splittés](feature_split_keyboard.md)
* [Stenographie](feature_stenography.md)
* [Inversion des mains](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
* [Terminale](feature_terminal.md)
* [Imprimante thermique](feature_thermal_printer.md)
* [Caractères unicodes](feature_unicode.md)
* [Dossier utilisateur](feature_userspace.md)
* [Velocikey](feature_velocikey.md)
* Pour les makers et les bricoleurs
* [Guide des claviers soudés à la main](hand_wire.md)
* [Guide de flash de lISP](isp_flashing_guide.md)
* [Guide du débogage ARM](arm_debugging.md)
* [Drivers i2c](i2c_driver.md)
* [Contrôles des GPIO](internals_gpio_control.md)
* [Conversion en Proton C](proton_c_conversion.md)
* Pour aller plus loin
* [Comment fonctionnent les claviers](how_keyboards_work.md)
* [Comprendre QMK](understanding_qmk.md)
* Autres sujets
* [Utiliser Eclipse avec QMK](other_eclipse.md)
* [Utiliser VSCode avec QMK](other_vscode.md)
* [Support](support.md)
* [Comment ajouter des traductions](translating.md)
* À lintérieur de QMK (En cours de documentation)
* [Définitions](internals_defines.md)
* [Input Callback Reg](internals_input_callback_reg.md)
* [Appareils Midi](internals_midi_device.md)
* [Installation dun appareil Midi](internals_midi_device_setup_process.md)
* [Utilitaires Midi](internals_midi_util.md)
* [Fonctions Midi](internals_send_functions.md)
* [Outils Sysex](internals_sysex_tools.md)

Some files were not shown because too many files have changed in this diff Show More