Compare commits

...
Author SHA1 Message Date
Jack Humbert fbb056c502 make a5 high when not in use 2019-05-06 23:36:27 -04:00
XScorpion2andDrashna Jaelre 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
XScorpion2andDrashna Jaelre 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
skullydazedandGitHub 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ćandDrashna Jaelre 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 JaelreandMechMerlin 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
keyhiveandDrashna Jaelre 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-ASandDrashna Jaelre 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 KannanandDrashna Jaelre 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 KannanandDrashna Jaelre af22609ba5 [Keyboard] Practice65 Keyboard (#5795)
* Save p65 changes

* Save p65 changes

* Add reset

* update num leds
2019-05-05 16:58:08 -07:00
XScorpion2andDrashna Jaelre 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
MartinffxandDrashna Jaelre e14732be9f Add my layout for the KBD67, update readme for default layout to (#5779)
display layout.
2019-05-05 16:25:29 -07:00
omkbdandDrashna Jaelre 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
MaxandMechMerlin 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
kwerdenkerandMechMerlin 0213867dea Fix wrong key assigning in keymap for ISO layout (#5790) 2019-05-05 09:31:51 -07:00
Ryan CaltabianoandDrashna Jaelre 3a7c65b424 fix line endings 2019-05-04 10:17:46 -07:00
jotixandDrashna Jaelre 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 CopeandDrashna Jaelre 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-KokkoandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 GranlundandDrashna Jaelre 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
zvecrandDrashna Jaelre 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ćandDrashna Jaelre 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 JaelreandMechMerlin 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 ISHIIandMechMerlin 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
moyi4681andMechMerlin 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
ymzcdgandMechMerlin 36bed36cd6 getting_started_introduction.md ->zh-cn (#5767)
translate getting_started_introduction.md into Mandarin Chinese
2019-05-03 06:18:20 -07:00
ymzcdgandMechMerlin 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 JaelreandMechMerlin 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
TengandMechMerlin 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 JaelreandMechMerlin 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 ISHIIandMechMerlin 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
yynmtandMechMerlin 4db31fb374 Add new keyboard KagaMidget (#5755)
* Add KagaMidget keyboard

* Update readme.md
2019-05-02 07:55:55 -07:00
Takeshi ISHIIandMechMerlin 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 TakaiandMechMerlin de5c8d86b4 Add support for Nomu30 (#5759) 2019-05-02 07:33:04 -07:00
zvecrandDrashna Jaelre 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
wanlegandMechMerlin 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
roguepullrequestandMechMerlin 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
XScorpion2andMechMerlin 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
XScorpion2andMechMerlin 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
XScorpion2andMechMerlin 22ba36a4d8 rgblight 255 hue (#5547) 2019-05-01 08:02:02 -07:00
XScorpion2andMechMerlin 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 HinnebuschandDrashna Jaelre 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
fauxparkandDrashna Jaelre 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 EbersbachandDrashna Jaelre 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
mikethetigerandDrashna Jaelre 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
XScorpion2andDrashna Jaelre e95283b545 [Keymap] Xulkal keymap tweeks (#5746)
* Minor keymap tweeks and more oled data

* Update keymap.c
2019-04-30 20:55:01 -07:00
BenjaminandDrashna Jaelre 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 CaltabianoandDrashna Jaelre d67b99ff3c Added OLED Driver to the summary 2019-04-30 18:04:11 -07:00
Daniel PeregoliseandDrashna Jaelre 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 JaelreandMechMerlin 5b9667a4bf Ignore VSCode ipsh folder (#5741) 2019-04-30 09:18:11 -07:00
Jeremy BernhardtandMechMerlin 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
motformandDrashna Jaelre 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
XScorpion2andMechMerlin bb208f3e3b Implement kb function for rgb matrix to led lookup (#5738) 2019-04-30 07:55:53 -07:00
Jan Christoph EbersbachandDrashna Jaelre 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 EbersbachandDrashna Jaelre 4c2453aa1b [Keyboard] Signum3.0 remove sortedcontainers (#5679)
* Remove dependency on sortedcontainers

* Sort dictionary on output
2019-04-29 21:35:34 -07:00
XScorpion2andDrashna Jaelre 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
XScorpion2andDrashna Jaelre 7d4ae3e66e Removed forced in lining for lib8tion functions (#5670) 2019-04-29 17:45:42 -07:00
Alec GeatchesandDrashna Jaelre 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 BernhardtandDrashna Jaelre 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 DaiandDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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
XScorpion2andMechMerlin 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 PrilikandDrashna Jaelre 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
noroadsleftandMechMerlin 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
loChrisandDrashna Jaelre 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 NurcahyoandDrashna Jaelre 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 KannanandDrashna Jaelre b23c3b0fd6 [Keyboard] Satisfaction75 i2c fix and VIA layout (#5726) 2019-04-27 20:35:31 -07:00
fauxparkandMechMerlin 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
fauxparkandDrashna Jaelre c3be0520c4 Fix sendstring "#" producing "£" instead (#5724) 2019-04-27 11:04:28 -07:00
WilbaandDrashna Jaelre 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 RascherandDrashna Jaelre 27cff473e0 [Keymap] Fix typo and function layer image for Quefrency (#5719) 2019-04-27 11:01:39 -07:00
Jonathan RascherandDrashna Jaelre e2d141582c [Keymap] Initial keyboard layout for KBD67 (#5720) 2019-04-26 23:55:58 -07:00
Jonathan RascherandDrashna Jaelre 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 JaelreandMechMerlin 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
MechMerlinandDrashna Jaelre 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 JaelreandMechMerlin 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
jotixandMechMerlin 6caaf69357 jotix ortho_4x12 keymap tweakings (#5715) 2019-04-26 11:02:19 -07:00
noroadsleftandMechMerlin 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
moyi4681andMechMerlin 5c302fad21 Update rules.mk (#5710) 2019-04-26 06:54:44 -07:00
kit-btoandDrashna Jaelre 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
mteiandDrashna Jaelre 9f8c8c53a5 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to rgblight_update_dword() 2019-04-24 12:52:15 -07:00
mteiandDrashna Jaelre 5312131d35 add RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS; to eeconfig_update_rgblight_default() 2019-04-24 12:52:15 -07:00
zvecrandMechMerlin e6f4173aec Refactor cospad to current standards and enable support for backlight keycodes (#5582) 2019-04-24 11:13:07 -07:00
Callum OakleyandDrashna Jaelre 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
BobandDrashna Jaelre dafdb5f9ae [Keyboard] fix project zen rev1 bootloader declaration (#5695) 2019-04-23 19:29:54 -07:00
Rockman18andDrashna Jaelre 479baf98e0 [FIX] Misspelled RGB_YELLOW (#5692) 2019-04-23 19:27:29 -07:00
Jan Christoph EbersbachandDrashna Jaelre 978074e417 [Keymap] Fix broken Shift-Insert binding (#5689) 2019-04-23 19:26:49 -07:00
MechMerlinandDrashna Jaelre 703699b81f [Keyboard] forgot to omit k05 from the electrical matrix in hhkb layout (#5684) 2019-04-23 19:11:18 -07:00
Florian DidronandDrashna Jaelre d4a5402aeb [Keyboard] Fix red an green leds location (#5698) 2019-04-23 19:10:28 -07:00
ymzcdgandMechMerlin 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
MechMerlinandDrashna Jaelre 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
ishtobandMechMerlin 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 JaelreandMechMerlin 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 ISHIIandDrashna Jaelre 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-ASandMechMerlin 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 FigureauandMechMerlin 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 GoelandMechMerlin 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
EroviaandMechMerlin 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 JaelreandMechMerlin c7583d181a Update handwired/frenchdev keyboard (#5443) 2019-04-22 08:25:21 -07:00
Jason KohandMechMerlin 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
XScorpion2andMechMerlin 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
MechMerlinandDrashna Jaelre 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 PetriandDrashna Jaelre 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
moyi4681andDrashna Jaelre 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 SommefeldtandDrashna Jaelre e2843c25ce [Keymap] Shuffle FL1 some more to match keycap legends (#5673) 2019-04-21 09:15:19 -07:00
XScorpion2andDrashna Jaelre b27ddf1edb [Keyboard] Updated rules.mk for Sol to use the correct feature flag (#5672) 2019-04-21 09:13:44 -07:00
XScorpion2andMechMerlin 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 ChangandMechMerlin 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 Caltabianoandskullydazed d3268280ef Removed / replaced questionable logos and added licenses file for safe logos 2019-04-20 08:05:10 -07:00
Ryan Caltabianoandskullydazed 33e27b2a83 Fixing readme from feedback 2019-04-20 08:05:10 -07:00
Ryan Caltabianoandskullydazed dd3a813f87 Reducing size of data send in one frame & update Zen rev2 oled usage 2019-04-20 08:05:10 -07:00
Ryan Caltabianoandskullydazed 0a645225b9 OLED Driver Feature 2019-04-20 08:05:10 -07:00
zvecrandMechMerlin b5cb5ec6dd Fix koyu readme encoding (#5655) 2019-04-20 08:02:59 -07:00
Jan Christoph EbersbachandDrashna Jaelre 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 SommefeldtandDrashna Jaelre 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
zvecrandDrashna Jaelre edcedd53d1 [Keyboard] Add LAYOUT macro and Configurator config (#5656) 2019-04-19 23:34:13 -07:00
Len TriggandDrashna Jaelre 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 WeimarandDrashna Jaelre 4856552f8b Update mouse keys docs (#5653) 2019-04-19 23:18:06 -07:00
Takeshi ISHIIandDrashna Jaelre 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 ISHIIandDrashna Jaelre 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 Jaelreandskullydazed 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
mechmerlinandskullydazed 1ef01ba4c6 add -yq flags to actually make it noninteractive 2019-04-19 14:46:19 -07:00
Danny Nguyenandskullydazed 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
zvecrandskullydazed 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 Robertsandskullydazed 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 Humbertandskullydazed 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 HastingsandDrashna Jaelre 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-PeanutsandDrashna Jaelre 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 WeimarandMechMerlin 5ed7d9c9ca Update XD75 keymap by markus (#5651) 2019-04-19 07:27:23 -07:00
Markus WeimarandDrashna Jaelre e3a940026e Improve mouse keys docs and constant speed mode 2019-04-18 23:31:17 -07:00
XScorpion2andDrashna Jaelre 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
shelaandDrashna Jaelre 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
skullydazedandGitHub 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 OngandDrashna Jaelre 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
YouCanFlyandDrashna Jaelre 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 JaelreandMechMerlin 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 WilhelmsenandMechMerlin 162a1d39b6 Update readme.md (#5647) 2019-04-18 13:27:05 -07:00
patrickmtandDrashna Jaelre 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 ZukermanandGitHub 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 DidronandGitHub 34239edcb0 Set default debounce to 5 2019-04-18 10:49:13 +09:00
roguepullrequestandDrashna Jaelre 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
kingwangwongandDrashna Jaelre 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 WilhelmsenandDrashna Jaelre 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 TomicandMechMerlin 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 CaltabianoandDrashna Jaelre 86855f4417 Xulkal Keymaps 2019-04-16 18:30:54 -07:00
marcoSchrandDrashna Jaelre 416eb1dee7 [Keyboard] Fix macro keycode for alpha keyboard (#5633) 2019-04-16 15:57:24 -07:00
ishtobandDrashna Jaelre 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
marcoSchrandDrashna Jaelre 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 RogersandDrashna Jaelre 565a7812ab [Keyboard] Crkbd RGB Matrix config with WS2812 (#5627) 2019-04-16 10:29:48 -07:00
Iason DimitrakopoulosandDrashna Jaelre 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 OngandDrashna Jaelre 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
XScorpion2andDrashna Jaelre 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
iw0rm3randDrashna Jaelre 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
XScorpion2andMechMerlin 5fcd744ddb Features/ws2812 matrix driver (#5418)
* WS2812 driver implementation for RGB Matrix

* Added driver configuration docs
2019-04-14 17:50:35 -07:00
roguepullrequestandDrashna Jaelre 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 JaelreandGitHub 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
roguepullrequestandDrashna Jaelre e7e13ebdd7 [Docs] Adding Alt↯Tab example macro (#5616) 2019-04-14 11:32:11 -07:00
BobandDrashna Jaelre 02b74d521b fix combo enabling logic (#5610) 2019-04-14 11:02:41 -07:00
Jeremy BernhardtandDrashna Jaelre 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 Jaelreandskullydazed a6857d18e1 Change table names 2019-04-12 14:07:05 -07:00
Drashna Jaelreandskullydazed 1d7a06a0a2 Cleanup code 2019-04-12 14:07:05 -07:00
Drashna Jaelreandskullydazed e88530af79 Make send_char multilined for readaability
So future us' will thaank us
2019-04-12 14:07:05 -07:00
Drashna Jaelreandskullydazed 7148c0b10c Clean up some of the code 2019-04-12 14:07:05 -07:00
Drashna Jaelreandskullydazed a2090d5e86 Add AltGr/RALT support to Send String 2019-04-12 14:07:05 -07:00
zvecrandskullydazed 6832a067ef Add vendor and product arguments to atmega32a_program.py - fix hex print 2019-04-12 14:04:40 -07:00
zvecrandskullydazed 0e88d756f9 Add vendor and product arguments to atmega32a_program.py 2019-04-12 14:04:40 -07:00
Drashna Jaelreandskullydazed a9a5fd754e Max out range for max compatibility 2019-04-12 13:55:59 -07:00
Drashna Jaelreandskullydazed 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
zvecrandskullydazed 0ee4206bd0 Fix build detection of keymap and board changes 2019-04-12 13:53:17 -07:00
zvecrandskullydazed e93465ffdb Apply MAKEFLAGS to speed up CI 2019-04-12 13:38:59 -07:00
holtencandMechMerlin 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
mechmerlinandDrashna Jaelre 2a55368a59 add in the missing #defines 2019-04-11 18:49:28 -07:00
noroadsleftandMechMerlin 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
kaylanmandMechMerlin c78bc6a2fe Use DIRECT_PINS for BDN9 (#5603) 2019-04-11 12:24:29 -07:00
zvecrandMechMerlin 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
さくらんぼandMechMerlin dc570b0b38 Keyboard: Add yosino58 Keyboard (#5465)
* Keyboard: Add yosino58 Keyboard

* Keyboard: Add yosino58 Keyboard
2019-04-11 09:07:39 -07:00
MechMerlinandDrashna Jaelre fa514e63aa fix offset in matrix (#5600) 2019-04-10 21:19:27 -07:00
Noah FrederickandDrashna Jaelre 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ćandMechMerlin 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
zvecrandMechMerlin 45620fd289 Remove ps2avrGB since its a hangover from the keyboards/winkeyless refactor (#5592) 2019-04-09 16:39:06 -07:00
Alex OngandDrashna Jaelre 3761c28bf9 ergodox_ez: fixed bug where debounce() was called without calculating changed (#5589) 2019-04-08 21:52:38 -07:00
Jack HumbertandDrashna Jaelre 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
BobandDrashna Jaelre 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 JaelreandMechMerlin f8d365a478 Convert BFO9000 to Split Keyboard code (#5568) 2019-04-08 12:43:03 -07:00
zvecrandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 ISHIIandDrashna Jaelre 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
zvecrandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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-CanadianandMechMerlin 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
fauxparkandDrashna Jaelre 95ebe90185 [Keymap] Change SFT_ESC keycode in default Satan keymap to KC_GESC (#5482) 2019-04-07 19:32:12 -07:00
Jan Christoph EbersbachandDrashna Jaelre 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 JaelreandGitHub 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 KannanandDrashna Jaelre 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
fauxparkandDrashna Jaelre 8dd0ff6c7a Remove keyboard description from Adafruit BLE device name 2019-04-07 16:05:30 -07:00
Konstantin ĐorđevićandDrashna Jaelre 9a701632c4 [Keyboard] Remove unnecessary IS_COMMAND definition in treadstone48 (#5566) 2019-04-07 07:40:09 -07:00
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 JaelreandGitHub 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
noroadsleftandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
LenbokandDrashna Jaelre 2ffa4798a4 Fix bugs that cause compile failures when enabling only some animations. 2019-04-06 10:59:25 -07:00
Drashna Jaelreandskullydazed cb33643f02 Remove user keymap changes 2019-04-05 14:58:42 -07:00
Drashna Jaelreandskullydazed c9a2d9d1aa Additional cleanup of orthodox files and keymaps 2019-04-05 14:58:42 -07:00
Drashna Jaelreandskullydazed a615a2ae93 Convert Orthodox to Split Common code 2019-04-05 14:58:42 -07:00
BernardandMechMerlin 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 JaelreandJack Humbert 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 ChurchillandMechMerlin 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 OngandDrashna Jaelre dad66cad40 [Keyboard] Simplified handwired/xealous since most of the features are in core now. (#5556) 2019-04-04 21:44:33 -07:00
MechMerlinandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
WilbaandDrashna Jaelre 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
DeckweissandMechMerlin 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
stanrc85andDrashna Jaelre 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
marksardandDrashna Jaelre 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 ShaffandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 PrilikandDrashna Jaelre 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
XScorpion2andDrashna Jaelre 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 OngandDrashna Jaelre 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 JaelreandGitHub 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
Wilba6582andDrashna Jaelre eb0bbe997b Added configurable defaults for RGB backlight indicators. 2019-04-03 10:24:40 -07:00
MechMerlinandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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
moyi4681andDrashna Jaelre 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
XScorpion2andDrashna Jaelre 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
JackandDrashna Jaelre 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
DDRnJnandDrashna Jaelre 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 RamboandDrashna Jaelre 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 CARPiandDrashna Jaelre 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
AbstractKBandDrashna Jaelre 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 GandDrashna Jaelre 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
zvecrandMechMerlin 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 MayerandMechMerlin 58b065cfda 1UP Keyboards: Use Right Variant Of Keys On Right Side Of Board (#5529) 2019-04-01 09:02:30 -07:00
yfukuandDrashna Jaelre 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 RamboandDrashna Jaelre 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 GoncharovandDrashna Jaelre 93210547bd Update build instructions and Dockerfile to download submodules 2019-03-30 10:48:09 -07:00
WilbaandDrashna Jaelre 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
jotixandDrashna Jaelre 3f9d20032a [Keyboard] Update jot50 readme.md (#5510) 2019-03-29 11:21:19 -07:00
Jeremy BernhardtandDrashna Jaelre 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 ChoromanskiandMechMerlin 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
tomholfordandDrashna Jaelre 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
MechMerlinandDrashna Jaelre 6f6ab261e6 [Keyboard] revert back to the old custom i2c code for bmc (#5501) 2019-03-28 12:52:57 -07:00
stanrc85andDrashna Jaelre 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
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
MechMerlinandDrashna Jaelre 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
kwerdenkerandDrashna Jaelre 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
dsanchezsecoandDrashna Jaelre c98380e0dd [Keymap] added user keymap (#5499) 2019-03-27 10:15:40 -07:00
Takeshi ISHIIandDrashna Jaelre 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
DannyandDrashna Jaelre 6f124b7909 [Keyboard] Add Collide39 keyboard (#5486)
* Add Collide39 keyboard

* Remove unneeded lines
2019-03-27 08:50:28 -07:00
Rob RogersandDrashna Jaelre 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
martinmksiuandDrashna Jaelre 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 ArintokandDrashna Jaelre 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 CulpoandDrashna Jaelre 509668ca7c [Keymap] add redox/rev1:fculpo keymap (#5491) 2019-03-26 18:41:37 -07:00
DannyandDrashna Jaelre 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
zvecrandDrashna Jaelre 9ef21d2e1c Refactor staryu to current standards and enable support for backlight keycodes (#5487) 2019-03-26 18:39:09 -07:00
Ryan CaltabianoandDrashna Jaelre a0270b55e1 Fixing Ergodox_EZ rgb_led initialization 2019-03-26 16:34:02 -07:00
DDRnJnandDrashna Jaelre 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
fauxparkandDrashna Jaelre 3510d8dc8d Document an annoyance with Grave Escape and macOS Terminal (#5483) 2019-03-24 17:11:26 -07:00
MaxandMechMerlin 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 ISHIIandDrashna Jaelre 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 HilgefortandDrashna Jaelre 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
DannyandDrashna Jaelre 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
MaxandDrashna Jaelre 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
tomholfordandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
wanlegandDrashna Jaelre 1dda671e4a ISP Flashing Guide - atmega32a info (#4993)
* update isp flashing page

* update isp flashing page
2019-03-22 18:26:21 -07:00
moonfallandDrashna Jaelre f8d5b9f204 [Keymap] iris: moonfall: Initial checking of layout. (#5462)
Layout is similar to Kinesis/Ergodox.
2019-03-21 20:14:40 -07:00
noroadsleftandMechMerlin 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 DaisukeandMechMerlin 6e4edbd157 Keymap: Add Koba's keymap for KBD67. (#5460) 2019-03-21 06:05:50 -07:00
7e37daab6e Update keyboards/kbdfans/kbd67/readme.md
Co-Authored-By: Hackerpilot <briancschott@gmail.com>
2019-03-20 17:09:00 -07:00
Takeshi ISHIIandMechMerlin 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 CouryandMechMerlin d5fd8c4f1c Uses K(row)(col) standard for TGR Alice matrix (#5457) 2019-03-20 15:48:44 -07:00
noroadsleftandDrashna Jaelre 0786f227d8 [Keyboard] Refactor MF68 default keymap to use LAYOUT_68_ansi macro (#5455) 2019-03-20 13:26:50 -07:00
MechMerlinandDrashna Jaelre 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
jotixandDrashna Jaelre 066465fa6f [Keymap] jotix layouts adjustments (#5453) 2019-03-20 10:38:39 -07:00
James ChurchillandMechMerlin cd696ed3d1 Fix i2c splits with >8 columns (#5454) 2019-03-20 07:43:36 -07:00
fauxparkandMechMerlin ab29481391 Fix link to Caterina bootloader hex files (#5452) 2019-03-20 07:43:20 -07:00
Jason WonandDrashna Jaelre 6eb5a25a6a [Keyboard] add quantum matrix calls to zen matrix calls (#5450) 2019-03-19 19:51:08 -07:00
jotixandDrashna Jaelre 8b859872da [Keymap] Jotix (#5448)
* jotix layout adjustments

* jotix layout readme
2019-03-19 19:46:54 -07:00
stanrc85andDrashna Jaelre 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_314andDrashna Jaelre 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ćandDrashna Jaelre 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 JaelreandMechMerlin 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 JaelreandMechMerlin 29bfd634e1 Fix dk60 compiler issue on newer compiler versions (#5444) 2019-03-19 07:37:22 -07:00
Rob RogersandDrashna Jaelre afdc67184d correct typo in eeprom split target for dfu (#5445) 2019-03-18 23:25:34 -07:00
Drashna JaelreandMechMerlin 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 JaelreandMechMerlin 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 JaelreandMechMerlin 28e182bc8a [Keyboard] Reduce compile size of the Lily58 Keyboard (#5412) 2019-03-18 14:21:10 -07:00
Drashna JaelreandMechMerlin 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 MalavasiandDrashna Jaelre 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 WeberandDrashna Jaelre 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 KannanandDrashna Jaelre 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
lucwastiauxandDrashna Jaelre 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
FiNeXdesignandDrashna Jaelre 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 NewboldandDrashna Jaelre 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
jotixandDrashna Jaelre bd61b5b0ed [Keyboard] Add Jot50 handwired board (#5431) 2019-03-18 10:56:12 -07:00
jotixandDrashna Jaelre 68d4f78b25 [Keyboard] layout fixed in jotanck.h (#5432) 2019-03-18 10:53:47 -07:00
holtencandDrashna Jaelre 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
layne001365andDrashna Jaelre 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 KagnoandDrashna Jaelre 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-ASandDrashna Jaelre 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
zvecrandDrashna Jaelre 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
cubimonandDrashna Jaelre 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 JahnkeandDrashna Jaelre 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
DDRnJnandDrashna Jaelre 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
jotixandDrashna Jaelre 5047503230 [Keymap] Jotix (#5424)
* ortho_4x12 jotix2 layout

* ortho_4x12 jotix2 layout
2019-03-17 10:16:08 -07:00
Nik RichersandDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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 JaelreandMechMerlin 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
DannyandDrashna Jaelre 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
DannyandDrashna Jaelre 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 TriggandDrashna Jaelre 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
GreenShadowMakerandDrashna Jaelre 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 JaelreandMechMerlin 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
zvecrandMechMerlin e0a03bfa6c Fix return value of i2c_readReg and i2c_receive (#5410) 2019-03-15 08:55:07 -07:00
GreenShadowMakerandDrashna Jaelre 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_314andDrashna Jaelre 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
zvecrandDrashna Jaelre 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
ginjakeandDrashna Jaelre 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
zvecrandDrashna Jaelre 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 WrafterandMechMerlin c02c7b7517 Fix ascii art (#5407) 2019-03-14 14:18:11 -07:00
Jeremy BernhardtandDrashna Jaelre 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 KagnoandDrashna Jaelre 2558372b3f fresh commit for a new fork for PR to upstream/master (#5406) 2019-03-14 12:04:59 -07:00
walkerstopandMechMerlin 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
EroviaandMechMerlin f9c5b80aed Add support for THE60 (#5385) 2019-03-13 16:26:25 -07:00
Michael DyeandMechMerlin 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 JaelreandMechMerlin 4a908288f1 Fix i2c calls for HotDox keyboard (#5387) 2019-03-13 14:08:21 -07:00
Michael F. LambandDrashna Jaelre 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 WesterlundandDrashna Jaelre 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 SteenvoordenandDrashna Jaelre 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 DimitrakopoulosandMechMerlin 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
walkerstopandMechMerlin 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
yiancarandMechMerlin 131b647a96 Minor readme fix (#5389) 2019-03-12 15:15:32 -07:00
Takuya UrakawaandMechMerlin 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 ChurchillandDrashna Jaelre 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 KatahiraandDrashna Jaelre 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
zvecrandMechMerlin 9e49f19a1a KPrepublic bm16a port (#5383)
* Initial bm16a port

* Initial bm16a port - fix readme formatting
2019-03-12 07:38:05 -07:00
moyi4681andMechMerlin 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 OakleyandMechMerlin 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 KannanandDrashna Jaelre 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
jotixandDrashna Jaelre fd43259cbd [Keyboard] Update rules.mk (#5370)
MOUSEKEY_ENABLED = yes
by default
2019-03-11 16:53:25 -07:00
zvecrandDrashna Jaelre 99654c6e4f [Keyboard] Fix diode and split keyboard configuration for 40percentclub/half_n_half (#5371) 2019-03-11 16:52:04 -07:00
Christian WesterlundandDrashna Jaelre 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
DDRnJnandDrashna Jaelre 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
FateEverywhereandDrashna Jaelre 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
yiancarandDrashna Jaelre 863d54d2fc [Keyboard] Mechboards Micropad (#5368) 2019-03-11 13:46:55 -07:00
layne001365andDrashna Jaelre 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
trinity1561andDrashna Jaelre 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 SteenvoordenandMechMerlin d2311afb66 Add crkbd keymap (#5366) 2019-03-11 07:15:08 -07:00
zk-phiandDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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
EricandDrashna Jaelre 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 YaukandDrashna Jaelre 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
ai03andDrashna Jaelre 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-freyandMechMerlin 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
moyi4681andMechMerlin 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
FateEverywhereandMechMerlin 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 SteenvoordenandMechMerlin 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
epaewandMechMerlin 9d915ed051 Update edvorak keymap simplify (#5350)
* Update edvorakjp layouts

* swap master hand

* update tapping_term
2019-03-09 08:22:21 -08:00
VyolleandMechMerlin 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
enkoreandDrashna Jaelre 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ž HrastnikandMechMerlin 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 JaelreandMechMerlin 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
linyaofredandMechMerlin fc87d9b0d5 fix wrong key order in qmk configurator. (#5342) 2019-03-08 07:50:46 -08:00
MechMerlinandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 PomerleauandDrashna Jaelre 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 PomerleauandDrashna Jaelre 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 CouryandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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
jotixandDrashna Jaelre da2eedc0c2 [Keyboard] re-arrange the pinout for backlight support (#5321) 2019-03-05 15:59:11 -08:00
Dusty PomerleauandDrashna Jaelre 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 JaelreandGitHub 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
vxidandDrashna Jaelre 2e8e465423 [Keymap] Add vxid planck layout (#5271) 2019-03-05 15:05:32 -08:00
Marco MonacoandDrashna Jaelre 73d8593352 increase size of note counter variable to avoid overflow 2019-03-05 15:03:24 -08:00
Christopher BrowneandMechMerlin 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 EijgenandMechMerlin 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 NetoandMechMerlin 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
lfandDrashna Jaelre 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
noroadsleftandMechMerlin a8a9a2066e Correct keyboard and layout dimensions for 40percent.club Foobar (#5310) 2019-03-04 20:19:05 -08:00
noroadsleftandMechMerlin 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
yiancarandMechMerlin 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 ChurchillandMechMerlin c7c4937eef Clean up debounce a bit (#5255) 2019-03-04 07:44:46 -08:00
zvecrandMechMerlin cdfcbfc92d Fix aanzee Configurator config file (#5286) 2019-03-04 06:29:29 -08:00
yiancarandMechMerlin 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
stanrc85andMechMerlin 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 JaelreandMechMerlin 3305df8e79 Add LED Matrix to Features list for easy reference (#5280) 2019-03-03 15:29:29 -08:00
leicoandDrashna Jaelre 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 CielenckiandDrashna Jaelre 9b0a548687 [Keyboard] matrix_init_user shouldn't call itself (#5298) 2019-03-03 10:38:12 -08:00
omkbdandDrashna Jaelre be497126e8 [Keymap] Update keymap.c (#5290) 2019-03-03 10:36:40 -08:00
yttyxandDrashna Jaelre 3380694740 Update Atreus layout to match the Niu layout. Fix Niu comment typo. (#5297) 2019-03-03 10:34:41 -08:00
KOBAYASHI DaisukeandDrashna Jaelre f9f04ff2a4 [Keymap] Fix comment in the KBD67 default keymap. (#5296) 2019-03-03 10:33:52 -08:00
takashiskiandDrashna Jaelre 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 NewboldandDrashna Jaelre 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 CielenckiandDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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
holtencandDrashna Jaelre 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
moyi4681andDrashna Jaelre 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
zvecrandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
AndyandDrashna Jaelre 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
unausgeschlafenandDrashna Jaelre 7abf507cb6 [Keymap] unausgeschlafen quefrency keymap (#5273)
* unausgeschlafen quefrency keymap

* added build & flash instructions

* review by drashna
2019-03-01 08:45:42 -08:00
MechMerlinandDrashna Jaelre 5c491da0e7 [Keymap] Fix rgblight_enable ifdefs (#5283) 2019-03-01 08:33:29 -08:00
DanandDrashna Jaelre 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
yynmtandDrashna Jaelre 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 PomerleauandDrashna Jaelre 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 MalavasiandDrashna Jaelre 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
avatakandDrashna Jaelre 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 SchulteandDrashna Jaelre 7470317d95 [Keymap] use steno mode from base (#5220) 2019-02-28 12:33:02 -08:00
Graham P HeathandDrashna Jaelre 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
fauxparkandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
MechMerlinandDrashna Jaelre 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 NguyenandDrashna Jaelre 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 HolmbergandMechMerlin 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
zvecrandMechMerlin 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
zvecrandDrashna Jaelre a0c36ed253 [Keyboard] Add configurator support for 40percentclub/half_n_half (#5260) 2019-02-26 13:49:05 -08:00
Jeri MasonandDrashna Jaelre 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
mcmadhatterandDrashna Jaelre 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 JeppesenandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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
jotixandMechMerlin 11bdf28001 LAYOUT_ortho_4x4 (#5257) 2019-02-26 08:12:56 -08:00
fauxparkandMechMerlin 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
StickandDrashna Jaelre 7ba2bc765b [Keymap] nstickney's layout for iris (#5045) 2019-02-25 22:26:39 -08:00
VMandDrashna Jaelre 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
stanrc85andDrashna Jaelre 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 ChristusandDrashna Jaelre 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
yttyxandDrashna Jaelre 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
zvecrandDrashna Jaelre 36fce12d08 [Keyboard] Initial refactor of maxipad to conform to current standards (#5233) 2019-02-25 17:07:58 -08:00
noroadsleftandDrashna Jaelre 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
AndyandDrashna Jaelre 65db404260 [Keymap] HS60 v2 ISO layout andys8 (#5235) 2019-02-25 17:04:15 -08:00
MechMerlinandDrashna Jaelre 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 NguyenandDrashna Jaelre da5e904306 Fix pinout for Quefrency left half w/macros 2019-02-25 17:00:26 -08:00
MechMerlinandDrashna Jaelre 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
takashiskiandDrashna Jaelre 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
stanrc85andMechMerlin 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 PriceandMechMerlin 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ćandDrashna Jaelre d5dcf54e23 Fix indentation in quantum_keycodes.h (#5221) 2019-02-24 15:21:09 -08:00
stanrc85andDrashna Jaelre c8de0f78bf [Keymap] Initial upload of stanrc85 HS60 v2 layout and config (#5217) 2019-02-24 15:14:55 -08:00
Fred SilberbergandDrashna Jaelre 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 SchulteandDrashna Jaelre 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
skullydazedandMechMerlin 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
SpacebarRacecarandMechMerlin 539a6fc825 removed old keymaps (#5227) 2019-02-23 17:22:55 -08:00
KOBAYASHI DaisukeandMechMerlin 58d035dccc Keymap: Update Koba's keymap for Ergo42. (#5223) 2019-02-23 17:22:20 -08:00
Campbell BartonandMechMerlin 791cdd6e31 Update readme.md (#5230)
Correct comment.
2019-02-23 17:21:01 -08:00
mechmerlinandDrashna Jaelre 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
jotixandMechMerlin 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
TerryMathewsandMechMerlin 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
jotixandMechMerlin 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 ISHIIandMechMerlin e3621c162c fix rgblight_effect_breathing interval time (#5213) 2019-02-22 08:07:31 -08:00
noroadsleftandDrashna Jaelre 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
SpacebarRacecarandDrashna Jaelre 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
noroadsleftandDrashna Jaelre 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
jotixandDrashna Jaelre 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 LewisandMechMerlin 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 JanssonandDrashna Jaelre 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 LewisandMechMerlin de0fb39403 Reduce tetris firmware size by disabling default audio (#5197) 2019-02-20 14:46:30 -08:00
Hannes HornwallandDrashna Jaelre 657b44cb7c Make escape work after changing the backlight settings on the HS60 V2 (#5193) 2019-02-20 12:48:46 -08:00
noroadsleftandDrashna Jaelre 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
tw1t611andDrashna Jaelre b6e1e6aeeb [Keymap] Add kinesis layout. (#5183)
* Add kinesis layout.

* Remove unneeded code.
2019-02-20 08:33:53 -08:00
MechMerlinandDrashna Jaelre 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
BenandDrashna Jaelre 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
mechmerlinandDrashna Jaelre ffb75b720f move sixshooter into bpiphany directory and edit readme 2019-02-19 20:48:35 -08:00
mechmerlinandDrashna Jaelre 33f1259f89 get doro67 led working 2019-02-19 18:48:30 -08:00
zvecrandDrashna Jaelre 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 ISHIIandDrashna Jaelre 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 JaelreandMechMerlin 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 MundekkatandMechMerlin 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
upinthecloudzandMechMerlin 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 JaelreandGitHub feee01192e Fix Audio Clicky by adding missing punctuation (#5171) 2019-02-18 09:53:38 -08:00
zvecrandDrashna Jaelre 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
fauxparkandDrashna Jaelre 545f95c8f4 Migrate ACTION_LAYER_TAP_TOGGLEs to TT() 2019-02-18 08:52:51 -08:00
Yan-Fa LiandDrashna Jaelre 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
zvecrandDrashna Jaelre 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
zwnkandDrashna Jaelre 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 SommefeldtandDrashna Jaelre 0e68b6c1a9 Add UK variant of the SEND_STRING() LUTs 2019-02-18 08:47:31 -08:00
Drashna JaelreandGitHub 3d4aabf251 Update Helix 'led_test' keymap (#5168)
Change to use keyboard_post_init_user() hook (#3113)
2019-02-18 08:36:41 -08:00
MechMerlinandDrashna Jaelre 66a86bc50c [Keymap] update keymap and readme for my 75% layout (#5166) 2019-02-18 08:36:12 -08:00
MechMerlinandDrashna Jaelre 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
zvecrandDrashna Jaelre 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ćandDrashna Jaelre 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ćandMechMerlin 4e2369693f Move RGBLIGHT_LIMIT_VAL definition from rgblight.c to rgblight.h (#5167) 2019-02-17 19:05:12 -08:00
zvecrandMechMerlin 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 BriggsandDrashna Jaelre 278a6c74f3 Add Olivia's TMO50 layout 2019-02-17 11:33:10 -08:00
James ChurchillandDrashna Jaelre dc5933aff7 Add clang-format section to contributing.md 2019-02-17 08:59:19 -08:00
James ChurchillandDrashna Jaelre ae9439a3f9 Add .clang-format file 2019-02-17 08:59:19 -08:00
rfvizarraandDrashna Jaelre 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
fauxparkandMechMerlin 3b2a484a5b Remove redundant KC_TRNS and KC_NO fillers in remaining keymaps (#5154) 2019-02-17 07:38:46 -08:00
Thomas SpurdenandMechMerlin 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
takashiskiandMechMerlin 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
fauxparkandMechMerlin e2d3c92199 Remove redundant KC_TRNS and KC_NO fillers in default keymaps (#5152) 2019-02-16 21:36:02 -08:00
zvecrandDrashna Jaelre 338ca3569a Add docs on using keyboard_post_init_user to enable debug modes 2019-02-16 21:20:18 -08:00
ishtobandMechMerlin 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 FeijaoandMechMerlin 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 JaelreandMechMerlin 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 JaelreandMechMerlin 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
VMandMechMerlin 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 WilhelmsenandMechMerlin 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
fauxparkandMechMerlin bbd4b5eb88 Remove redundant KC_TRNS and KC_NO fillers in layouts (#5142) 2019-02-16 08:11:15 -08:00
Rys SommefeldtandDrashna Jaelre 3309e91e0b [Keymap] Add new layout for wilba_text WT8-A (#5141) 2019-02-15 16:59:03 -08:00
fauxparkandMechMerlin e04e55c872 Remove redundant KC_TRNS and KC_NO fillers in userspace (#5140) 2019-02-15 16:18:13 -08:00
Rys SommefeldtandMechMerlin 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 JeppesenandMechMerlin 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 KleinandMechMerlin 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 VoraandDrashna Jaelre 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 NetoandMechMerlin 9b3f397ab2 Update README.md (#5135)
Update to new structure
2019-02-15 08:58:38 -08:00
Eduardo Lourenço Pinto NetoandMechMerlin 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
EroviaandMechMerlin 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 LiandMechMerlin 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
2795 changed files with 101469 additions and 25673 deletions
+26
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: '2'
MaxEmptyLinesToKeep: '1'
PointerAlignment: Right
SortIncludes: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: 'false'
TabWidth: '4'
UseTab: Never
...
+1 -1
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
+1
View File
@@ -54,6 +54,7 @@ util/Win_Check_Output.txt
.vscode/tasks.json
.vscode/last.sql
.vscode/temp.sql
.vscode/ipch/
.stfolder
.tags
+6 -1
View File
@@ -10,17 +10,22 @@ branches:
env:
global:
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
- MAKEFLAGS="-j3 --output-sync"
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
# Need DFU > .5 for dfu-suffix
- sudo add-apt-repository --yes ppa:tormodvolden/ppa
- sudo apt-get update -qq
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
- sudo apt-get -y --force-yes install dfu-util
before_script:
- avr-gcc --version
script:
- git rev-parse --short HEAD
- make test:all
- bash util/travis_test.sh
- bash util/travis_build.sh
- bash util/travis_docs.sh
addons:
+1 -1
View File
@@ -1,4 +1,4 @@
FROM debian
FROM debian:9
RUN apt-get update && apt-get install --no-install-recommends -y \
avr-libc \
+5 -3
View File
@@ -534,11 +534,13 @@ 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 1 --init lib/chibios; fi
if [ ! -e lib/chibios-contrib ]; then git submodule sync lib/chibios-contrib && git submodule update --depth 1 --init lib/chibios-contrib; fi
if [ ! -e lib/ugfx ]; then git submodule sync lib/ugfx && git submodule update --depth 1 --init lib/ugfx; fi
git submodule status --recursive 2>/dev/null | \
while IFS= read -r x; do \
case "$$x" in \
Vendored
+2 -2
View File
@@ -6,7 +6,7 @@ Vagrant.configure(2) do |config|
config.vm.define "qmk_firmware"
# VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit
config.vm.box = "bento/ubuntu-16.04"
config.vm.box = "generic/debian9"
# This section allows you to customize the Virtualbox VM
# settings, ie showing the GUI or upping the memory
@@ -55,7 +55,7 @@ Vagrant.configure(2) do |config|
# 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.image = "jesselang/debian-vagrant:stretch"
docker.has_ssh = true
end
+20 -2
View File
@@ -280,6 +280,23 @@ 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)
@@ -307,7 +324,6 @@ ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","")
endif
# # project specific files
SRC += $(patsubst %.c,%.clib,$(LIB_SRC))
SRC += $(KEYBOARD_SRC) \
$(KEYMAP_C) \
$(QUANTUM_SRC)
@@ -317,15 +333,16 @@ 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)
@@ -355,6 +372,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)
+63 -19
View File
@@ -103,7 +103,9 @@ 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
@@ -114,7 +116,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
endif
endif
VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 custom
VALID_MATRIX_TYPES := yes IS31FL3731 IS31FL3733 IS31FL3737 WS2812 custom
LED_MATRIX_ENABLE ?= no
ifneq ($(strip $(LED_MATRIX_ENABLE)), no)
@@ -135,6 +137,7 @@ ifeq ($(strip $(LED_MATRIX_ENABLE)), IS31FL3731)
endif
RGB_MATRIX_ENABLE ?= no
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)
@@ -151,19 +154,39 @@ 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
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
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), IS31FL3737)
OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
COMMON_VPATH += $(DRIVER_PATH)/issi
SRC += is31fl3737.c
SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812)
OPT_DEFS += -DWS2812
SRC += ws2812.c
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)
OPT_DEFS += -DTAP_DANCE_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
@@ -246,16 +269,31 @@ endif
ifeq ($(strip $(HAPTIC_ENABLE)), DRV2605L)
COMMON_VPATH += $(DRIVER_PATH)/haptic
SRC += haptic.c
SRC += DRV2605L.c
SRC += i2c_master.c
OPT_DEFS += -DHAPTIC_ENABLE
OPT_DEFS += -DDRV2605L
endif
ifeq ($(strip $(HAPTIC_ENABLE)), SOLENOID)
COMMON_VPATH += $(DRIVER_PATH)/haptic
SRC += haptic.c
SRC += solenoid.c
OPT_DEFS += -DHAPTIC_ENABLE
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
@@ -283,34 +321,40 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes)
endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
# Debounce Modules. If implemented in matrix.c, don't use these.
# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
DEBOUNCE_TYPE?= sym_g
VALID_DEBOUNCE_TYPES := sym_g eager_pk custom
ifeq ($(filter $(DEBOUNCE_TYPE),$(VALID_DEBOUNCE_TYPES)),)
$(error DEBOUNCE_TYPE="$(DEBOUNCE_TYPE)" is not a valid debounce algorithm)
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.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_flags.c \
$(QUANTUM_DIR)/split_common/split_util.c
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 both drivers here without bloat.
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/i2c.c \
$(QUANTUM_DIR)/split_common/serial.c
# 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
+7 -4
View File
@@ -3,7 +3,7 @@
* [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)
@@ -60,15 +60,16 @@
* [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)
* [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)
* [Stenography](feature_stenography.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
@@ -76,6 +77,7 @@
* [Thermal Printer](feature_thermal_printer.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
* [Velocikey](feature_velocikey.md)
* For Makers and Modders
* [Hand Wiring Guide](hand_wire.md)
@@ -90,7 +92,8 @@
* [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)
* QMK Internals (In Progress)
+26 -7
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,11 +70,11 @@ 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
* `#define BACKLIGHT_LEVELS 3`
@@ -126,6 +128,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
@@ -171,11 +175,17 @@ If you define these options you will enable the associated feature, which may in
## 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`
@@ -208,9 +218,13 @@ There are a few different ways to set handedness for split keyboards (listed in
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`
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 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.
@@ -232,6 +246,9 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#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 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:
@@ -307,12 +324,14 @@ Use these to enable or disable building certain features. The more you have enab
* 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.
* `CUSTOM_DEBOUNCE`
* Allows replacing the standard key debouncing 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 noticable). However, this will automatically disable the old Macros and Functions features automatically, as these break when `LTO` is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`
## USB Endpoint Limitations
+37 -3
View File
@@ -56,7 +56,7 @@ Never made an open source contribution before? Wondering how contributions work
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 two spaces (soft tabs)
* 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
@@ -71,6 +71,14 @@ Most of our style is pretty easy to pick up on, but right now it's not entirely
* 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:
@@ -91,6 +99,18 @@ int foo(void) {
}
```
# 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`.
# 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.
@@ -117,6 +137,20 @@ Documentation is one of the easiest ways to get started contributing to QMK. Fin
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 +159,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 +172,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
+60 -36
View File
@@ -116,29 +116,29 @@ Use the `IS_LED_ON(usb_led, led_name)` and `IS_LED_OFF(usb_led, led_name)` macro
```c
void led_set_user(uint8_t usb_led) {
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
PORTB |= (1<<0);
writePinLow(B0);
} else {
PORTB &= ~(1<<0);
writePinHigh(B0);
}
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
PORTB |= (1<<1);
writePinLow(B1);
} else {
PORTB &= ~(1<<1);
writePinHigh(B1);
}
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
PORTB |= (1<<2);
writePinLow(B2);
} else {
PORTB &= ~(1<<2);
writePinHigh(B2);
}
if (IS_LED_ON(usb_led, USB_LED_COMPOSE)) {
PORTB |= (1<<3);
writePinLow(B3);
} else {
PORTB &= ~(1<<3);
writePinHigh(B3);
}
if (IS_LED_ON(usb_led, USB_LED_KANA)) {
PORTB |= (1<<4);
writePinLow(B4);
} else {
PORTB &= ~(1<<4);
writePinHigh(B4);
}
}
```
@@ -189,16 +189,18 @@ However, if you have hardware stuff that you need initialized, this is the best
### Example `keyboard_pre_init_user()` Implementation
This example, at the keyboard level, sets up B1, B2, and B3 as LED pins.
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);
}
```
@@ -233,7 +235,7 @@ This example, running after everything else has initialized, sets up the rgb und
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_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
}
```
@@ -270,16 +272,13 @@ This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_
### 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);
}
```
@@ -321,9 +320,10 @@ 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)`
* Keyboard/Revision: `uint32_t layer_state_set_kb(uint32_t state)`
* Keymap: `uint32_t layer_state_set_user(uint32_t state)`
The `state` is the bitmask of the active layers, as explained in the [Keymap Overview](keymap.md#keymap-layer-status)
@@ -343,7 +343,7 @@ This is an example of how to add settings, and read and write it. We're using th
In your keymap.c file, add this to the top:
```
```c
typedef union {
uint32_t raw;
struct {
@@ -356,11 +356,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
@@ -376,7 +376,7 @@ 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.
```
```c
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
case _RAISE:
@@ -398,8 +398,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) {
@@ -416,11 +416,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
@@ -443,10 +438,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
@@ -465,3 +461,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.
+26 -7
View File
@@ -15,7 +15,7 @@ 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
@@ -36,18 +36,29 @@ 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"
```
### 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
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.
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.
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 installation script for MSYS2 may help (eg run `./util/qmk_install.sh` from MSYS2/WSL) or reinstalling the QMK Toolbox may fix the issue.
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 `WinUSB` option, and hit "Reinstall driver". Once you've done that, try flashing your board, again. If that doesn't work, try all of the options, until one works.
?> There isn't a best option for which driver should be used here. Some options work better on some systems than others. libUSB and WinUSB seem to be the best options here.
If the bootloader doesn't show up in the list for devices, you may need to enable the "List all devices" option in the `Options` menu, and then find the bootloader in question.
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.
## WINAVR is Obsolete
It is no longer recommended and may cause some problem.
@@ -102,9 +113,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
@@ -132,3 +143,11 @@ brew uninstall --force avr-gcc
brew install avr-gcc@7
brew link --force avr-gcc@7
```
### 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).
+2 -2
View File
@@ -151,13 +151,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, \
+3 -3
View File
@@ -11,11 +11,11 @@ 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.
@@ -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 */
```
+27 -4
View File
@@ -100,6 +100,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
@@ -120,13 +130,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
+50 -2
View File
@@ -30,7 +30,31 @@ You should then be able to use the keycodes below to change the backlight level.
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`.
Hardware PWM is only supported on certain pins of the MCU, so if the backlighting is not connected to one of them, a software PWM implementation triggered by hardware timer interrupts will be used.
Hardware PWM is supported according to the following table:
| Backlight Pin | Hardware timer |
|---------------|----------------|
|`B5` | Timer 1 |
|`B6` | Timer 1 |
|`B7` | Timer 1 |
|`C6` | Timer 3 |
| other | Software PWM |
The [audio feature](feature_audio.md) also uses hardware timers. Please refer to the following table to know what hardware timer the software PWM will use depending on the audio configuration:
| Audio Pin(s) | 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 |
| `Bx` & `Cx` | Timer 1 & 3 | None |
When all timers are in use for [audio](feature_audio.md), the backlight software PWM will not use a hardware timer, but instead will be triggered during the matrix scan. In this case the backlight doesn't support breathing and might show lighting artifacts (for instance flickering), because the PWM computation might not be called with enough timing precision.
## Configuration
@@ -39,11 +63,26 @@ 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_PINS` |*Not defined*|experimental: see below for more information|
|`BACKLIGHT_LEVELS` |`3` |The number of brightness levels (maximum 15 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 hardware PWM is used |
|`BACKLIGHT_BREATHING`|*Not defined*|Enable backlight breathing, if supported |
|`BREATHING_PERIOD` |`6` |The length of one backlight "breath" in seconds |
## 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.
@@ -53,6 +92,15 @@ In this way `OCRxx` essentially controls the duty cycle of the LEDs, and thus th
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.
## Software 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.
## Backlight Functions
|Function |Description |
-1
View File
@@ -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
+7 -6
View File
@@ -29,9 +29,10 @@ If you would like to change the key assignments for Command, `#define` these in
|`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_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 |
@@ -41,10 +42,10 @@ If you would like to change the key assignments for Command, `#define` these in
|`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_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` |Clear the EEPROM |
|`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 |
+15 -19
View File
@@ -2,45 +2,41 @@
QMK supports multiple debounce algorithms through its debounce API.
The underlying debounce algorithm is determined by which matrix.c file you are using.
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
VALID_DEBOUNCE_TYPES := sym_g eager_pk custom
ifeq ($(filter $(DEBOUNCE_TYPE),$(VALID_DEBOUNCE_TYPES)),)
$(error DEBOUNCE_TYPE="$(DEBOUNCE_TYPE)" is not a valid debounce algorithm)
endif
ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
```
# Debounce selection
| DEBOUNCE_ALGO | Description | What to do |
| ------------- | --------------------------------------------------- | ----------------------------- |
| Not defined | You are using the included matrix.c and debounce.c | Nothing. Debounce_sym_g will be compiled, and used if necessary |
| custom | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
| sym_g / eager_pk | You are using the included matrix.c and debounce.c | Use an alternative debounce algorithm |
| 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**:
**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 included ```debounce_sym_g.c```s for sample implementations.
* 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:
* debounce_eager_pk - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE_DELAY``` millseconds of no further input for that key
* debounce_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.
* 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.
+9 -1
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`:
+147
View File
@@ -0,0 +1,147 @@
# 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 on |
|`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_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.
+100 -46
View File
@@ -146,9 +146,102 @@ 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.
## 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.
### `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
}
```
### `register_code(<kc>);`
This sends the `<kc>` keydown event to the computer. Some examples would be `KC_ESC`, `KC_C`, `KC_4`, and even modifiers such as `KC_LSFT` and `KC_LGUI`.
### `unregister_code(<kc>);`
Parallel to `register_code` function, this sends the `<kc>` keyup event to the computer. If you don't use this, the key will be held down until it's sent.
### `tap_code(<kc>);`
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.
### `clear_mods();`
This will clear all mods currently pressed.
### `clear_keyboard_but_mods();`
This will clear all keys besides the mods currently pressed.
## 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:
@@ -183,11 +276,11 @@ A macro can include the following commands:
### 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:
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(
[0] = LAYOUT(
M(0), M(1)
),
};
@@ -216,55 +309,16 @@ If you have a bunch of macros you want to refer to from your keymap while keepin
#define M_BYE M(1)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP(
[0] = LAYOUT(
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.
## Advanced Example:
### `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
}
```
### `register_code(<kc>);`
This sends the `<kc>` keydown event to the computer. Some examples would be `KC_ESC`, `KC_C`, `KC_4`, and even modifiers such as `KC_LSFT` and `KC_LGUI`.
### `unregister_code(<kc>);`
Parallel to `register_code` function, this sends the `<kc>` keyup event to the computer. If you don't use this, the key will be held down until it's sent.
### `tap_code(<kc>);`
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.
### `clear_keyboard();`
This will clear all mods and keys currently pressed.
### `clear_mods();`
This will clear all mods currently pressed.
### `clear_keyboard_but_mods();`
This will clear all keys besides the mods currently pressed.
## Advanced Example: Single-Key Copy/Paste
### Single-Key Copy/Paste
This example defines a macro which sends `Ctrl-C` when pressed down, and `Ctrl-V` when released.
+98 -60
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`) |
+274
View File
@@ -0,0 +1,274 @@
# OLED Driver
## OLED Supported Hardware
128x32 OLED modules using SSD1306 driver IC over I2C. Supported on AVR based keyboards. Possible but untested hardware includes ARM based keyboards and other sized OLED modules using SSD1306 over I2C, such as 128x64.
!> Warning: This OLED Driver currently uses the new i2c_master driver from split common code. If your split keyboard uses i2c to communication 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.
## 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 (biton32(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_DISABLE_TIMEOUT` |*Not defined* |Disables the built in OLED timeout feature. Useful when implementing custom timeout rules.|
## 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_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
```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);
// 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);
```
## 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` |
+296 -146
View File
File diff suppressed because it is too large Load Diff
+155 -39
View File
@@ -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.
@@ -74,6 +75,7 @@ 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
@@ -112,7 +114,7 @@ The following options can be used to tweak the various animations:
|`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_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 |
@@ -124,6 +126,8 @@ The following options can be used to tweak the various animations:
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,47 +145,159 @@ 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)|
|`rgblight_toggle()` |Toggle all LEDs between on and off |
|`rgblight_toggle_noeeprom()` |Toggle all LEDs between on and off (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) |
|`rgblight_increase_hue()` |Increase the hue for all LEDs. This wraps around at maximum hue |
|`rgblight_increase_hue_noeeprom()` |Increase the hue for all LEDs. This wraps around at maximum hue (not written to EEPROM) |
|`rgblight_decrease_hue()` |Decrease the hue for all LEDs. This wraps around at minimum hue |
|`rgblight_decrease_hue_noeeprom()` |Decrease the hue for all LEDs. This wraps around at minimum hue (not written to EEPROM) |
|`rgblight_increase_sat()` |Increase the saturation for all LEDs. This wraps around at maximum saturation |
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for all LEDs. This wraps around at maximum saturation (not written to EEPROM) |
|`rgblight_decrease_sat()` |Decrease the saturation for all LEDs. This wraps around at minimum saturation |
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for all LEDs. This wraps around at minimum saturation (not written to EEPROM) |
|`rgblight_increase_val()` |Increase the value for all LEDs. This wraps around at maximum value |
|`rgblight_increase_val_noeeprom()` |Increase the value for all LEDs. This wraps around at maximum value (not written to EEPROM) |
|`rgblight_decrease_val()` |Decrease the value for all LEDs. This wraps around at minimum value |
|`rgblight_decrease_val_noeeprom()` |Decrease the value for all LEDs. This wraps around at minimum value (not written to EEPROM) |
|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_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_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(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)|
|`rgblight_sethsv_range(h, s, v, start, end)`|Set a continuous range of LEDs to the given HSV value, where `h` is between 0 and 360, `s`/`v` are between 0 and 255, and `start`(included) and `stop`(excluded) are between 0 and `RGBLED_NUM` (not written to EEPROM)|
|`rgblight_sethsv_master(h, s, v)` |Set the LEDs on the master side to the given HSV value, where `h` is between 0 and 360, `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` is between 0 and 360, `s`/`v` are between 0 and 255 (not written to EEPROM) |
|`rgblight_toggle()` |Toggle all LEDs between on and off |
|`rgblight_toggle_noeeprom()` |Toggle all LEDs between on and off (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) |
|`rgblight_increase_hue()` |Increase the hue for all LEDs. This wraps around at maximum hue |
|`rgblight_increase_hue_noeeprom()` |Increase the hue for all LEDs. This wraps around at maximum hue (not written to EEPROM) |
|`rgblight_decrease_hue()` |Decrease the hue for all LEDs. This wraps around at minimum hue |
|`rgblight_decrease_hue_noeeprom()` |Decrease the hue for all LEDs. This wraps around at minimum hue (not written to EEPROM) |
|`rgblight_increase_sat()` |Increase the saturation for all LEDs. This wraps around at maximum saturation |
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for all LEDs. This wraps around at maximum saturation (not written to EEPROM) |
|`rgblight_decrease_sat()` |Decrease the saturation for all LEDs. This wraps around at minimum saturation |
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for all LEDs. This wraps around at minimum saturation (not written to EEPROM) |
|`rgblight_increase_val()` |Increase the value for all LEDs. This wraps around at maximum value |
|`rgblight_increase_val_noeeprom()` |Increase the value for all LEDs. This wraps around at maximum value (not written to EEPROM) |
|`rgblight_decrease_val()` |Decrease the value for all LEDs. This wraps around at minimum value |
|`rgblight_decrease_val_noeeprom()` |Decrease the value for all LEDs. This wraps around at minimum value (not written to EEPROM) |
|`rgblight_set_clipping_range(pos, num)` |Set clipping Range |
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!
## Colors
## Hardware Modification
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%"/>
If your keyboard lacks onboard underglow LEDs, you may often be able to solder on an RGB LED strip yourself. You will need to find an unused pin to wire to the data pin of your LED strip. Some keyboards may break out unused pins from the MCU to make soldering easier. The other two pins, VCC and GND, must also be connected to the appropriate power pins.
+59
View File
@@ -0,0 +1,59 @@
# 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_LCTL, KC_9` |Send `KC_LCTL` when held, the mod `KC_LCTL` with the key `KC_9` when tapped. |
|`RCPC_KEYS` |`KC_RCTL, KC_RCTL, KC_0` |Send `KC_RCTL` when held, the mod `KC_RCTL` with the key `KC_0` when tapped. |
|`LAPO_KEYS` |`KC_LALT, KC_LALT, KC_9` |Send `KC_LALT` when held, the mod `KC_LALT` with the key `KC_9` when tapped. |
|`RAPC_KEYS` |`KC_RALT, KC_RALT, KC_0` |Send `KC_RALT` when held, the mod `KC_RALT` 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. |
## 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 |
-37
View File
@@ -1,37 +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.
Also, by default, the Space Cadet applies modifiers LSPO_MOD and RSPC_MOD to keys defined by LSPO_KEY and RSPC_KEY. You can override this behavior by redefining those variables in your `config.h`. You can also prevent the Space Cadet to apply a modifier by defining DISABLE_SPACE_CADET_MODIFIER in your `config.h`.
|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 keycode to send when Left Shift is tapped |
|`RSPC_MOD` |`KC_RSFT` |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 |
|`DISABLE_SPACE_CADET_MODIFIER`|*Not defined*|If defined, prevent the Space Cadet to apply a modifier to LSPO_KEY and RSPC_KEY|

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