Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an easy way to create new keymaps for your favorite keyboard #3868

Merged
merged 9 commits into from
Sep 13, 2018

Conversation

mechmerlin
Copy link
Contributor

I've been noticing that we have a lot of people asking questions on how to create a keymap for QMK.

This is a simple script that sets you up with a default keymap directory and .c file just to make sure you have the structure correct. It is highly dependent on the existence and validity of a default keymap directory.

It's basically a complex wrapper for

cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"

# Recursively copy the chosen keyboard's default keymap
cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"

printf "keymap directory created at: qmk_firmware/keymaps/%s\n\n" "$KB_PATH"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I'm reading this correctly - my shell scripting knowledge is weak - but shouldn't this path be:

printf "keymap directory created at: qmk_firmware/%s/keymaps/%s\n\n" "$KB_PATH" "$USERNAME"

?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch, its supposed to be created IN qmk_firmware/keyboards/KB_PATH

@drashna
Copy link
Member

drashna commented Sep 10, 2018

Could you add documentation for this, too?

@mechmerlin
Copy link
Contributor Author

@drashna
Copy link
Member

drashna commented Sep 10, 2018

Would it be possible to have the script force lower case?

@mechmerlin
Copy link
Contributor Author

mechmerlin commented Sep 10, 2018

The next commit enforces lower case usage, or rather it auto lower cases whatever the user puts in. Done.

@drashna
Copy link
Member

drashna commented Sep 13, 2018

Thanks

@drashna drashna merged commit 170de12 into qmk:master Sep 13, 2018
Shinichi-Ohki added a commit to Shinichi-Ohki/qmk_firmware that referenced this pull request Sep 15, 2018
* 'master' of https://github.com/qmk/qmk_firmware:
  Zeal60/Zeal65/M60-A implementation (qmk#3879)
  Add an easy way to create new keymaps for your favorite keyboard (qmk#3868)
  rgblight.[ch] more configurable (qmk#3582)
  Keyboard: Shuffle keyboards into thevankeyboards directory (qmk#3895)
  Keyboard: Reorganize Alf keyboards into Alf Directory (qmk#3892)
  Keyboard: Fixing Omnikey lock light issue (qmk#3891)
  Keyboard: ALT keymap update and LED driver brightness mismatch fix (qmk#3890)
  Keymap: Fix Dvorak mapping for left/right brace (qmk#3889)
  Keymap: Cleanups on the ergodox EZ / atreus dvorak 42 key layouts (qmk#3887)
  Keymap: Add Contra keymap with QWERTY and COLEMAK Mod-DH (qmk#3883)
  Keyboard: Updated info.json for Duck Jetfire (qmk#3866)
@mechmerlin mechmerlin deleted the feature/new_keymap branch September 23, 2018 22:19
ChrissiQ pushed a commit to ChrissiQ/qmk_firmware that referenced this pull request Sep 25, 2018
…#3868)

* initial commit of keymap creation script

* create default keymap

* pass shellcheck

* provide a better usage message

* change printf string to more accurately reflect the path

* make it more easily understood

* found another typo

* add documentation regarding the new_keymap script

* enforce lowercase for userinputs
jeffreykxiao pushed a commit to jeffreykxiao/qmk_firmware that referenced this pull request Oct 14, 2018
* Keymap: Wanleg updates (#3794)

* various edits and minor additions

* updates

* updates

* updates

* lets_split LEDs off instructions

* lets_split LEDs off instructions

* turn off lets_split LEDs in userspace

* one-hand setup for right side

* Docs: Tabulate Modifier & Mod-Tap keycode listings in advanced keycodes docs (#3799)

* Keyboard: CTRL and ALT updates (#3810)

Update to CTRL and ALT keyboard files

* Keymap: Updated keymap with the "pretty" layout (#3812)

* Fix emulated EEPROM start address on STM32F303 (#3819)

MCU has 254 flash, changed 250 to 254. tested working on a planck rev6

* Keyboard: CTRL and ALT keyboard json fix (#3816)

Fixed incorrect layout names

* Keymap: Add backlight controls for Planck Light in dshields keymap (#3801)

* Keyboard: Adding Z-150 PCB firmware (#3793)

* Adding the AT101 PCB firmware

* Fixed AT101 keymap error

* Fixing AT101 firmware

* More Fixes for AT101 firmware

* Rename AT101_Blackheart.c to at101_blackheart.c

* Rename AT101_Blackheart.h to at101_blackheart.h

* Update readme.md

* Renaming AT101 folder pt1

* Renaming AT101 folder pt2

* Fixing AT101 LED function name

* Redoing AT101 folder naming pt2

Last round had issues, should be the last rename.

* Fixing missing comma in at101_blackheart.h

* Adding Z-150 PCB

* Adding Z-150 readme file

* Fixing Z-150 firmware errors

* Fixing Z-150 layout error

* Fixing Z-150 firmware errors

* Fixing Z-150 Issues

Still unsure where the extra "\" is that through the error.

* Fixing more Z-150 errors

* Finally fixing the Z-150 error

* Fixed Z-150 layout naming

* Removed Z-150 layout fillers

* Keymap: I got my intern a KBParadise V60 Type R... (#3813)

* new mode for v60

xtonhasvim. still working on it:

- need to get indicator lights going
- and fun layer properly fleshed out.

* status lighting, proper fun layer

copied fun layout from keycaps to maximize accessibility

* enable power return

* support brightness adjustment for indicators

* refined brightness setting.

is saved in eeprom now

* readme. and fixed tilde

* more modifiers fall through fun layer

* i mean, this kinda works..

* much more reliable way of restoring lights

* responded to feedback

* Keymap: Adding adnw_puq-Layout for Ergodox (#3723)

* added adnw_p_u_q-Layout

* changed link

* 3723 - outsource definitions to config.h

* added TAPPING_TERM

* changed defines and added colors

* removed debug- and action_layer-Header

* Keyboard: Add Tragicforce 68 (#3807)

* Fork MF68 to Tragicforce 68

* Set pinouts and key layout

* Reformat keymap, update comments/notes

* Cleanup rules.mk

* Keymap: Merlin Learns to QMK (#3820)

* Fix up my keymaps to use more QMK features

* update 60_ansi readme

* add the start of my userspace

* begin to use my new userspace

* use more of my userspace

* spread userspace love to my clueboard

* spread userspace love to 75 layout

* add a fairly vanilla readme

* put the FNX into a userspace incase I ever want to use it for something else

* respond to drashna's code review comments

* Keyboard: Rename alt67 to alt (#3824)

Renamed keyboard alt67 to alt and adjusted necessary files where alt67 appeared.
CTRL keymap fixed enum structure name.
usb2422 removed stray define no longer used.

* Keymap: Cleaned up Rorschach keymap (#3823)

* Keymap: Nojjan atreus (#3822)

* Add support for my Falbatech Atreus

This is currently the default Atreus keyboard layout, but I will
eventually customize it to match my Ergodox layout.

* Address review comments

* More review comments fixed

* More review comments fixed

* Keymap: add yshrsmz keymaps (#3770)

* add ergo42 keymap

* add helix keymap

* add keymap for lets_split

* Add keymap for nyquist

* update keymaps to address review comments

- remove unneeded include
- use `#pragma once`

* Keymap: added keys to broswen keymap (#3825)

* added PGUP and PGDN to my keymap

* added VOLU VOLD and MUTE to keymap

* Keymap: new planck keymap (#3809)

* Add files via upload

* new planck keymap

* new planck keymap

* readme file updated

* deleted files from qmkfirmware folder

* re-added readme file to /qmk_firmware

* Fix main readme (hopefully)

* Fix bad key label in ascii art (#3830)

Just fixed a key that was wrong in the Tokyo60 ASCII art

*  Keymap: Added personal layout for FC660C  (#3834)

* - Fixed DK60 version in config.h

* - Updated dk60 readme with new QMK rules

* - Fixed wording in readme

* Added dbroqua layout for DZ60

I've also updated dz60.h to add "true HHKD" keymap definition (6U
spacebar).

With the default HHKB definition r_alt was not mapped and when I pressed
r_menu it was r_alt.

Regards

* Updated dbroqua layout for HHKB keyboard

Added default configuration and alternate (swap gui/alt keys).

Save user choice in keyboard memory (like plank, thanks for this
feature!).

* Added dbroqua layout for Iris keyboard

* Updated layout and fixed includes

* Added personal layout for FC660C

* Keymap: share my ortho_4x12 layout symbolic (#3833)

* add ortho_4x12 symbolic layout

* delete trash

* modify little bit

* fixed doesn't requires

replace `#ifndef ... #endif` to `#pragma ones` in config.h
delete `QMK_KEYBOARD_CONFIG_H` in config.h
delete `action_layer.h` and `eeconfig.h` in keymap.c

* Enable mouse keys in register_code and unregister_code

This allows for macros to be assigned to press two mouse directions at same time, which allows for one key diagonals.

* Keyboard: Improvement of crkbd communication functions (based on helix-keyboard) (#3798)

* improvement of crkbd communication functions (based on  helix-keyboard)

* Removed unnecessary code.

* Changed read restriction from #define to #pragma once.

* Changed from sizeof to defined size.

* moved lib folder to crkbdroot.
removed warning of ws2812.d

* Keyboard: Add support for Diverge TM2 (#3829)

* pulling in diverge tm2 from staging branch

* cleaned up comments, docs, licenses

* refactored apparent grid to make 2u spacebars more obvious

* various delinting from noroadsleft review

* most of drashna's feedback responded to

- lots of lint swept
- used more modern tri-layer functions
- still need to adopt modern split support.

* switch to common split code. remove comment cruft

* tapping force hold makes LT way more usable for rapid ,  sequences

* Keymap: xtonhasvim Levinson (#3837)

* pulled in levinson from staging.

* simplified trilayer handling

and some other linting that bit me in the last code review

* formatting

* Keymap: Fix missing braces around initializer error on older gcc (#3840)

* Keymap: Updates to xyverz keymaps (#3841)

* fixing ortho_4x12 configs

* Using upstream/master version instead

* Additions and Corrections

Corrected the Kinesis/Stapelberg's .c file to allow LEDs to work
Removed excess cruft from my Kinesis keymap to reflect this change
Other minor tweaks and adjustments to my ortho_4x12 and 5x12 layouts

* Rules for vitamins_included

Added a section to disable RGB underglow for the Let's Split
   Vitamins Included board.

* fixing ortho_4x12 configs

* Using upstream/master version instead

* Additions and Corrections

Corrected the Kinesis/Stapelberg's .c file to allow LEDs to work
Removed excess cruft from my Kinesis keymap to reflect this change
Other minor tweaks and adjustments to my ortho_4x12 and 5x12 layouts

* Creating my own userspace

* Added Rorschach keymap

* renamed userspace folder

I renamed my userspace folder since I'm not ready to start using
it just yet, and I want to get my keyboards programmed. This is
a temporary thing and will be fixed later as I get time.

* adding files in "new" folder

* Disabling LEDs on Pro Micro

* Modifications to Kinesis keymap

* More kinesis tweaks

* removed userspace from master

Created a new branch for my userspace stuff. I'll work on it there.

* Moved keymap to separate branch

Moved the Rorschach keymap I was working on to a separate branch
for development purposes. Not ready to push it up to upstream
master.

* Keymap: Massdrop CTRL: add basic MacOS support (#3842)

* swap KC_LALT with KC_LGUI
* replace KC_RALT with KC_RGUI

This makes the keyboard more mac friendly out of the box (I'm aware this
that this could partially be done in software with the preferences but
hey, where's the fun in that).

* fix mousekey call

* Keymap: Added a keymap like a JIS keyboard for JJ 40. (#3847)

* Keymap: Create ISO HHKB keymapping for GH60 (#3832)

* Create ISO HHKB keymapping for GH60

* Add media controls to Fn layer

* Use M(x) instead of F(x), add Copyright text

* mitosis:datagrok add layer select, more layouts (#3835)

* mitosis:datagrok: fix typo'd inconsistent brace arrangement

(thank you @cari66ean)

* mitosis:datagrok: add makefile argument MITOSIS_DATAGROK_SLOWUART

* mitosis:datagrok: return backspace to opposite space, use TT(), more

- move backspace back to its position opposite space
- move del to red+backspace
- move tab back to tap-leftshift
- move printscreen/scrolllock/pause to blue+left pinky column
- use TT() instead of MO() to stick a layer on if wanted
- indentation that my text editor wants
- default to no audio; i can enable it at compile time.

* mitosis:datagrok: modularize features, add default layer rotator key

* mitosis: add MITOSIS_DATAGROK_BOTTOMSPACE makefile argument

* mitosis:datagrok: README improvements; document new features

* mitosis:datagrok: dot. not "number pad dot." in numbers layer

* mitosis:datagrok remove unnecessary _user audio code

* mitosis:datagrok: return to MO() for red/blue, keep TT() for purple

in this way, the LED still updates quickly when red or blue is pressed,
but we can still lock the purple layer on for 10-key numpad operation
with red+tapping blue.

* mitosis:datagrok: add colemak and dvorak default layers

* mitosis:datagrok update readme re: available default layouts

* mitosis: remove unneeded code that was overriding led_set_user

also, add some comments

* mitosis:datagrok: updated led setting code for new layers

also, place into led_set_user where it belongs, not matrix_scan_user.

* mitosis:datagrok: update LEDs when setting the default layer

maybe this should go into default_layer_set?

* mitosis:datagrok update readme with new imgur links + other improvements

* mitosis:datagrok fix typo in image urls

* mitosis:datagrok remove useless #include (ty @drashna)

* mitosis:datagrok undo unnecessary change to quantum/quantum.h

i can put the extern float definition in my own keymap code. (ty @drashna)

* mitosis:datagrok move customized layout to my keymap

no need to modify keyboard-level mitosis.h. (ty @drashna)

* mitosis:datagrok update comment describing my led indicator logic

* datagrok:mitosis update readme to document LED indicator.

* Keyboard: formatting changes for readme and enable bootmagic (#3851)

* Add the ability to disable the USB startup check for Chibios

- Added support for NO_USB_STARTUP_CHECK. This allows the keyboard do function and not get stuck in a SUSPENDED state loop in case of no USB connection.
- Added support for WAIT_FOR_USB. In LUFA no keyboard has this flag enable therefor no keyboard waits for usb to be active.
- Added documentation for both configuration flags as they were missing.

* CTRL and ALT updates

Added support to enter bootloader from software (bootloader version must be newer than "v2.18Jun 22 2018 17:28:08" until workaround for older is created).
Updated CTRL and ALT keymaps for entering bootloader with Fn+b held for >500ms.
Added basic MacOS keymap for ALT.
USB sleep LED indicator now turns off after 1 second.
Slowed down debug LED code printing.

* Keymap: Add am keymap (#3843)

* Add am keymap

* Add configuration to play nice with stuck modifiers

This is in particular useful with emacs since its easy to get ctrl stuck

* Deactivate mouse keys and backlight

* Add control/esc and shift/enter taps

* Remove DVORAK and PLOVER

I won't be using this soon, so getting some free space

* Raiser and Lower ideas from jeebak

* Add cursor and mouse layers

* Enable mouse keys

* Switch underscore with minus

* Disable audio and fix warnings

* Update to the upstream changes

* VIM line motion symbols on the raise layer

* Enable sound and freeup some media keys on layers

* Fix whitespace on keymap

* Code review changes

* Improve keymap documentation

* Improve keymap to match to the default one

* Restore DEFAULT_FOLDER to the default value

* Fix config.h unescaped line

* Keyboard: Add IBM 122-key Terminal keyboard and my Ergodox EZ keymap (Programmer's Dvorak + Gaming/QWERTY layer) (#3850)

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* Add keyboard information and separated my custom layout from the default

* Add readme to Lukaus' Ergodox EZ keymap

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* Add keyboard information and separated my custom layout from the default

* Add readme to Lukaus' Ergodox EZ keymap

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* Fix merge conflict again?

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* Add keyboard information and separated my custom layout from the default

* Add readme to Lukaus' Ergodox EZ keymap

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* updated ergodox_ez keymap and initial commit for IBM Model M 122 key

* Add keyboard information and separated my custom layout from the default

* update keymap

* Update rules.mk to remove redundant commented line

* Fix missing key on default layout for IBM Model M 122 key

* Fix issues identified by drashna and noroadsleft

* Update readme for IBM 122 key

* Keymap: mitosis/datagrok: bug fix (#3854)

I don't know how this slipped past the test suite in the last merge, but
this syntax I tried is invalid and doesn't compile. Fixed.

* Keymap: Update personal keymap (#3855)

* Updated personal keymap

* simplified keymap based on suggestions

* Keymap: Added new Marianas keymap for DZ60 (#3858)

* Added new Marianas keymap for DZ60

* Included suggestions to remove unnecessary line regarding MODS_CTRL_MASK, and added names for layers.

Added enum to define names for layers, and removed unused #DEFINE

* Keyboard: Add support for Quefrency 65% right half (#3865)

* Add support for Quefrency 65% right half

* Add support for additional thumb key on Rev. 1.1 PCB

* Keyboard: CTRL LED scan code mapping fix (#3867)

* CTRL LED scan code mapping fix

Fixed scan codes to properly align with key wiring

* Update scan codes for caps and scroll lock lighting

Update scan codes for caps and scroll lock lighting according to previous scan code mapping update

* Keymap: Initial PR for contributing my ortho_4x12 community layout. (#3853)

* Initial keymap with no BL and with Ctrl and Enter on the home row.

* Removing alternative layouts (Dvorak etc.).

* Putting Enter back in the default position, moving Esc next to Alt.

* Replacing grave with del.

* Adding a numpad layer.

* Adding operators and a triple zero to the numpad layer.

* Swapping Alt and Win.

* Updating to use new audio macros.

* Removing numpad layer and changing left space to MOD_HYPR on hold.

* Adding configurable 'clicky keys' feature.

* Cleaning up clicky conditional logic.

* Turning on backlight support and mapping backlight keys in the adjust layer.

* Enabling backlight functionality.

* Adding Adventure time theme song; increasing fake clicky randomness.

* Cleaning up layer constants in my Planck keymap.

* Initial implementation of porting my Planck keymap to a Let's Split.

* Updating keyboards/planck/keymaps/josh to use declarations from new work on master.

* Updating keyboards/lets_split/keymaps/josh to use declarations from new work on master.

* Work in progress migrating Planck and Let's Split keymaps to a community keymap.  Everything is working but Planck backlight.

* Fixing rules.mk to enable backlight & audio correctly on Planck PCBs.  Cleanup.

* Tweaks to get Let's Split working with my community layout.

* Switching to use EE_HANDS in my Let's Split build.

* Adding vitamins_included makefile options to my ortho_4x12 layout.

* Fixing planck/rev6 build -- backlight must be disabled.

* Removing I2C from my rules.mk and addressing it in the config.h instead.

* Moving community layout directory to my reddit username.  :D

* Adding a test encoder function; making lower left a media key and moving esc to a mod tap on ctrl.

* Commenting out -flto in the compiler flags for the vitamins_included keyboard (couldn't figure out how else to turn it off).

* Changing rotary encoder to control media volume.

* Changing backlight and clicky defaults to max brightness no breathing and a low pitch click.

* Initial implementation of backlight flickering.

* Updating my README.md

* Adding LINK_TIME_OPTIMIZATION to the vitamins_included/rev1 as a rules.mk feature.

* Reverting keyboards/vitamins_included/rules.mk to master and using 'filter_out' in my layout instead.

* Adding tested boards to the readme for my layout.

* Per drashna, removing redundant clicky implementation and cleaning up headers.

* Removing an extra include from my keymap.

* Keymap: remove unnecessary readme from my helix keymap (#3860)

* Keyboard: Updated readmes for 1upkeyboards (#3864)

Corrected the make examples by adding the parent directory.

Updated the QMK Docs links for the build environment setup and the make instructions. Added links to the Newbs Guide.

* Add support for a different pinout on Split boards (#3869)

* Add support for a different pinout for the right half of a split keyboard (number of cols/rows still has to be the same)

* Keymap: Updated my FC660C config (#3870)

* - Fixed DK60 version in config.h

* - Updated dk60 readme with new QMK rules

* - Fixed wording in readme

* Added dbroqua layout for DZ60

I've also updated dz60.h to add "true HHKD" keymap definition (6U
spacebar).

With the default HHKB definition r_alt was not mapped and when I pressed
r_menu it was r_alt.

Regards

* Updated dbroqua layout for HHKB keyboard

Added default configuration and alternate (swap gui/alt keys).

Save user choice in keyboard memory (like plank, thanks for this
feature!).

* Added dbroqua layout for Iris keyboard

* Updated layout and fixed includes

* Added personal layout for FC660C

* Inverted ESC & GRV

* 65% and 68 key community layouts (#3872)

* rename 68_ansi layout to 65_ansi layout

* more renames and readme change

* add company names

* add community layouts for 68_ansi

* add 68_ansi support for mf68 type boards

* update readme

* Keymap: Adjusted keymaps for standardisation (#3874)

* Added HHKB with 7U space bar
There are backlight changers on the function Z, X and C, mediat controls
have been removed.

* Fixed the default layout and added a keymap
GUI and ALT keys were swapped.
My own keymap which adds calculator, removes power, removes eject.

* Adjusted naming convention of hhkb layout layer

Fixed as per required from code review.

* Updated for qmk configurator

I didn't realise that there was a new standardisation across all the keymaps to accommodate the configurator.

Hopefully fixed now.

* Fix typo in keymap_swedish.h (#3877)

* Fix typo in keymap_swedish.h

* Update keymap_swedish.h

* Keymap: Redox: add a new Colemak keymap, macOS oriented. (#3861)

* Add my own keymap to the list of available Redox keymaps.

This keymap is a Colemak keymap, and is meant to be used on Mac OS.
More information can be found in the readme.

* Fix "macOS" typo and remove mention of the license.

This directory inherits the project's license.

* Add missing custom keycode.

* Address feedback from PR review

- Remove deprecated code
- Remove RGB logic since it is overwritten by code running later.

* improve looks like hang up when first time execute make git-submodule (#3846)

* Add manjaro asn arch-based distro

* Fix installation for linux finding ID:fedora in os_release

* Remove unneccesary ATTR_CONST from stub functions (thanks to NicoHood).

* Fix mismatched aliased event and event stub function prototypes.

* Fix RG Sleep issues for Teensy Controllers

Appearenly, teensy controllers have some issues with waking up.  If the rgblight is called "too soon", it will cause the controller to lock up, intermittently. Adding a 10 ms
delay seems to fix this issue, as it lets it have enough time to handle things properly.

This has been tested extensively on my Ergodox EZ, and can be seen in the @drashna userspace, under the "suspend_wakeup_init_user" function.

* Keymap: Fixed my ortho_5x12 layout (#3881)

* Fixed my ortho_5x12 layout

I've fixed the config.h file for my 5x12 ortho layout so that I can
now use it with my Nyquist.

* Update config.h

* Update config.h

* Keyboard: Updated info.json for Duck Jetfire (#3866)

* Updated info.json for Duck Jetfire

Generated a new info.json file. @mechmerlin asked my help in debugging this file. Firmware works as expected if built from source, but not if built from the Configurator.

* Corrected the position of the arrow keys in LAYOUT_all

* Keymap: Add Contra keymap with QWERTY and COLEMAK Mod-DH (#3883)

* Add own personal Contra layout

* Enable auto-shifting

* Enable tap dancing and implement Space Cadet-like shift with LSHIFT and ENTER

* Implement Colemak Mod-DH layout, clean up Adjust layer

* Implement keyboard and keymap refactor

More info: https://github.com/qmk/qmk_firmware/pull/3191

* Update the readme.md and keymap.c files for Colemak

* Add include guard, make layout description cleaner

* Keymap: Cleanups on the ergodox EZ / atreus dvorak 42 key layouts (#3887)

* 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

* Keymap: Fix Dvorak mapping for left/right brace (#3889)

* Keyboard: ALT keymap update and LED driver brightness mismatch fix (#3890)

* ALT keymap update

Added additional End key on layer 1 to match key cap

* LED driver update addressing PR #3871

Update sync between IS31FL3733 drivers is causing varying behavior in keyboards including brightness mismatch and slight flicker at very low rgb values. Visually, disabling sync is not noticeable. Ref PR #3871 by guarnacciaa.

* Keyboard: Fixing Omnikey lock light issue (#3891)

* Keyboard: Reorganize Alf keyboards into Alf Directory (#3892)

* rename alf_x2 to alf

* rename to x2

* rename dependencies

* Fix readme

* moved x2 into alf directory

* update readme for make instructions

* move dc60 to alf directory

* update dc60 readme for make instructions

* change readme txt as per noroadsleft PR comment

* Keyboard: Shuffle keyboards into thevankeyboards directory (#3895)

* move tv44 to thevankeyboards directory

* move bananasplit to thevankeyboards

* move roadkit to thevankeyboards directory

* add a basic readme

* update readmes to correct the make instructions and add more help text

* rename tv44 to minivan as per Jack's suggestions

* update readme

* rename tv44 to minivan

* update tv44 to minivan

* change includes for tv44 to minivan

* remove extra includes

* rgblight.[ch] more configurable (#3582)

* add temporary test code rgblight-macro-test1.[ch]

* rgblight.h : mode auto numberring and auto generate mode name symbol

No change in build result.

* rgblight.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* quantum.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* fix build break. when RGB_MATRIX_ENABLE defined

* add temporary test code rgblight-macro-test2.[ch]

* modify rgblight_mode_eeprom_helper() and rgblight_sethsv_eeprom_helper()

* modify rgblight_task()

* configurable each effect compile on/off in config.h

* update docs/feature_rgblight.md

* fix conflict. docs/feature_rgblight.md

* remove temporary test code rgblight-macro-test*.[ch]

* fix comment typo.

* remove old mode number from comment

* update docs/feature_rgblight.md about effect mode

* Revert "update docs/feature_rgblight.md about effect mode"

This reverts commit 43890663fcc9dda1899df7a37d382fc38b1a6d6d.

* some change docs/feature_rgblight.md

* fix typo

* docs/feature_rgblight.md update: revise mode number table

* Add an easy way to create new keymaps for your favorite keyboard (#3868)

* initial commit of keymap creation script

* create default keymap

* pass shellcheck

* provide a better usage message

* change printf string to more accurately reflect the path

* make it more easily understood

* found another typo

* add documentation regarding the new_keymap script

* enforce lowercase for userinputs

* Zeal60/Zeal65/M60-A implementation (#3879)

* Initial version of zeal60

* WIP

* Fixes issue #900

* Adding RGB underglow functionality.
Fixed a compile-time conflict caused by enabling RGB underglow functionality.

* Refactor RPC protocol

* Fix last merge

* README for RGB underglow updated.

* Additional README changes.

* Adding RGBW strip software-based current-limiting functionality.

* RGBW current-limiting functionality should be handled by RGBSTRIP_MAX_CURRENT_PER_LIGHT instead.

* Updated README to reflect implementation of built-in current limiting.

* Keymap readability improvements.

* Minor keymap improvements.

* Fixed LED driver init sequence, formatting

* Dimming implementation tested, working.

* Stab LEDs synced with spacebar hits in effects.

* RGB underglow tested and functional. Simplified README for RGB underglow.

* Undid accidental file deletion from previous merge conflict. Safer values for RGB underglow.

* Improved arrow key positions in keymap.

* Added functionality to correct uneven RGB underglow. Refactored related code.

* Reverted to safer values for underglow.

* Changes for v0.3

* Custom LED brightness scaling will take place after current adjustment in order to avoid being overridden.

* Create keymap.c

Added split backspace and split shift to ISO layout

* Create config.h

Turned on LEDs for new layout

* Fixed bug where left spacebar stabilizer LED (LC06) would adopt color of row above.

* Added hhkb_wilba keymap

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Added indicators, full param setting via host

* Added "mousekey" layout

* Added Zeal65 support, factory test mode

* Keycode safe range changed, caused bugs

* Bumped EEPROM version due to change in QMK keycodes

* Disable HHKB "blocked" LEDs if KC_NO in keymap

* Added "disable_hhkb_blocker_leds"

* Required overridden function for keymaps in EEPROM

* Added polar coordinate mapping, effect speed

* Force Raw HID interface number to 1 always

* Fixed last merge from master

* Added effect speed to default keymaps

* add BACKLIGHT_ prefix to vars

* add BACKLIGHT_ prefix to vars

* Keymap speed effect; keymap improvements/fixes
Readme updated to match changes

* Refactored to use common IS31FL3731/I2C drivers

* Fixed make rules, backlight disabled feature

* Make split rightshift default for Zeal65

* Added M60-A as a "version" of Zeal60.

* Renamed IS31FL3731 driver functions

* Fix suspend_wakeup_init_kb() being defined twice

* First pass refactor dynamic keymaps

* Updated to changed I2C and ISSI drivers

* Refactor zeal_color.* usage to quantum/color.*

* Updated Zeal65, fixed dynamic_keymap

* Major refactoring of Zeal60 backlight and API

* Lots of little cleanups

* Added readme.md

* Added readme.md

* Added LAYOUT_60*() macros, refactored and cleaned up default keymaps

* Fix compile error in suspend.c

* Added Zeal65 LAYOUT macros, info.json

* Added rama/m60_a, deleted zeal60/keymaps/m60_a

* Fixed rama/m60_a/keymaps/proto

* Fixed compilation error for suspend.c

* Requested changes for PR

* Fixed readme.md images

* Another readme.md fix

* Added drashna's requested changes

* docs/contributing: add `#pragma once` to Coding Conventions

This supersedes the older include guard mechanism since all the
compilers now support it. It's easier for new users and less prone
to error.

* Keymap: Grahampheath: telophase fix and keymaps (#3888)

* add my config

* fix backlight, clean up that code

* group background code, restore static var

* qwerty is supposed to be in the middle

* wrap layer change backlight in ifdef

* backlight levels and some more 'emojis'.

* Restructure to make it possible to press cmd ent on the right side of the board with one hand.

* Expose the period through the number layer. Add Hyper keys to mouse layer

* reduce mouse speed

* add a : -P  key

* Thumbs up and down, remove some keys that are duplicated via function keys, clean up

* fix build issues

* add various emoji

* duplicate default Meira keymaps

* Miera updates

* add documented but unmapped emoji

* Sound for the Meira, was stumped by a file size! Thanks drashna!

* add docs

* docs

* revert lib changes...

* clean up

* clean up

* remove make file

* Fixes missing key

* clean up

* add my lets split

* add more emoji

* add the telophase board (unofficially, I guess...)

* add missing files

* add/reset files

* Review feedback implementation: Not needed. Add #define FLIP_HALF to your config.h file instead.

* Review feedback implementation: All of these includes should be replaced with #include QMK_KEYBOARD_H.

* Review feedback implementation: [FAILING] You may want to use LAYOUT_ortho_4x12 instead, and move this to /layouts/community/ortho_4x12/ instead. That way, you can use the same keymap for all of the boards.

* clean up

* add a key for command tilde (osx loves it)

* at least its building again

* remove adjusts and migrate layer switching to MO(_LAYER)

* update the telophase readme

* update the telophase readme

* grahampheaths -> grahampheath

* ONEHAND_ENABLE -> SWAP_HANDS_ENABLE

* convert lets split to use ortho_4x12

* Move lets split keyboard layout into community/ortho_4x12

* make telophase use LAYOUT()

* I did it?!

* Add clap and grin

* swap tabs and back and forward

* whitespace

* Add ellipsis and thanks emoji

* Move flip_half to telophase config (conflicts with lets split layout)

* Use #pragma once instead of config_user_h

* remove unused stuff

* Keyboard: Add Lily58 Keyboard (#3893)

* add Lily58

* file fix

* Keymap: A new alternative layout for planck (#3894)

* a new planck layout

* layout images

* layout images 2

* typo

* update include following PR comment

* updates following PR commments 2

* updates following PR comments

* Keymap: dz60/macos_arrow: rev3 (#3909)

* Arrow keys are now arranged on hjkl (vi style)
* The escape key is moved on capslock, shared with func layer switch
* The grave key is now dedicated (not shared with escape)
* Add a new numpad layer that can be activated with the spacebar
* Fix layout mismatch between layers
* Use bult-in underscore KC_TRNS alias

* Keyboard: add ergodash mini keyboard (#3901)

* add ergodash mini

add ergodash mini (4rows version)
fix keymap and readme

* fix

replace include guard
remove includes

* fix audio

* Make `PREVENT_STUCK_MODIFIERS` the default (#3107)

* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.

* Keymap: Big switch config (#3904)

* bigswitch keymap

* bigswitch keymap

* bigswitch keymap

* bigswitch keymap

* recommended edits made

* forgot to revert this change with the others

* Keyboard: Add YMD96 instructions for Linux + Backlight Fixes (#3908)

* Add flashing instructions for Linux

* Make device/manufacturer name consistent for ymd96

* Disable command mode by default for YMD96

* Add function call to fix backlight for YMD96

* Add personal YMD96 config

* Replace include with QMK macro

* Move KEYMAP macro to keymap-level folder

* Move custom KEYMAP macro to global LAYOUT_iso macro

* Change transparent keymappings to global definition

* Remove unecessary import and change to pragma once

 - (instead of repeated ifdef)

* Remove global keymap/layout definition

* Keyboard: Tada68 readme img (#3918)

* a new planck layout

* layout images

* layout images 2

* typo

* update include following PR comment

* updates following PR commments 2

* updates following PR comments

* layout images

* better layout names

* Fix LEADER_KEY docs.

LEADER_KEY needs to be set in config.h, not keymap.c. Credit goes to @randywallace for figuring this one out:

https://github.com/qmk/qmk_firmware/issues/2514#issuecomment-384847485

* Create AG_TOGG code to toggle Alt/Gui swap.

* Keymap: dz60/macos_arrow: fix rev3 broken media layer (#3928)

Last rev broke the media layer because of a typo in layer definition.
Switched to an enum to avoid similar future typos.

* Keyboard: Fix pin numbers for Fractal keyboard (#3743)

* Added support for the Fractal keyboard

* Try to fix the issue

* Add support for the Fractal keyboard.

* Fix errors with files

* Update config.h

* Keyboard: add Keyboardio Model 01 (#3900)

* Keyboard: add Keyboardio Model01

This port implements key scanning and everything in their default
keymap.

It doesn't implement mouse warping; QMK can't do that (yet).

LED control is mostly not implemented. The ability to set all LEDs is
included because they can get stuck on coming from the bootloader
otherwise. Single LED control is also implemented for numpad indication.
The scanners also support batch LED transfer which is what you'd need if
you wanted to do fast effects. Gamma correction is also not implemented,
but is present in the original firmware. The necessary info for further
implementation is in the KeyboardioScanner module for Kaleidoscope.

To install on your keyboard:

    make model01:avrdude

When prompted, hold the "prog" key on the keyboard to put it into
programming mode. This can also be achieved by holding the "prog" key
while plugging in the keyboard. This works even if the firmware is
corrupt or missing.

Hot plugging the halves seems to work fine, but there is no explicit
support for eg. making sure the matrix scan rate is reconfigured.

* model01: clean up includes and include guards

Uses #pragma once everywhere.

* model01: split LED and matrix code

This makes space if someone wants to implement better LED support
later on, the keyboard is a lot more capable than the current code.

* model01: separate I2C timeouts for matrix vs. LED

If the scanners have no data they don't ACK reads and just time out.
So we want a pretty short timeout to keep scan rates high.

Meanwhile the LED transfers might take longer - I don't know though,
so here we are conservative.

* model01: implement better LED control

- gamma correction from the manufacturer's firmware
- suitable delays to allow back to back LED writes
    - this is fast enough to write the whole keyboard without noticeable
    delay, in my experience
- minor bug fix: RHS Fn key was not addressable

* model01: add license to wire-protocol-constants.h

* model01: replace gamma LUT

The original was of unclear license origin. This one is functionally
identical and includes a generator should people wish to adjust it.

* model01: use the already-present CIE1931 lightness curve

...rather than baking in another gamma curve.

It's said that CIE1931 is the right thing to be using rather than gamma.
OK. Let it be so.

* model01: call matrix_init_user() from matrix_init_kb()

* model01: remove inapplicable config options from rules.mk

* model01: readme.md: update build environment links

* Keyboard: Added support for GSKT-00 (#3911)

* Added QMK support for GSKT-00, PaladinSplit, PaladinTKL and PaladinPad pcbs

* Remove the paladin boards from this PR

* Changed gskt00 as per review comments. Added two new default layouts, 60_ansi_tsangan and 60_iso_tsangan

* Fix the layouts/default/60_iso_tsangan/layout.json file

* Removed ? from rules.mk, removed unused fn_actions from keymaps. Changed the 60_iso_tsangan to work correctly

* Removed PREVENT_STUCK_MODIFIERS

* Keyboard:  Fix the LAYOUT_iso macro for tada68 (#3943)

* Keyboard: Add ISO-NOR keymap for TADA68 (#3944)

* Keymap: Talljoe's keymap for oddball keyboards (#3910)

* Create layout for JD45

* Tweak layout to better support JD45 and add more tap dancing.

* Add Maltron and tweak layout for 40% enter compatibility.

* Switch back to `BL_TOGGLE` for backlight.

* More tweaks

* Rename talljoe_gherkin to talljoe-gherkin

* Make NAV layer tab C_S_T also.

* Add missing RESET key.

* Add Talljoe layout for minivan.

* MTI is not for me

* Tweak keymap.

* Add talljoe keymap to Atreus.

* Minor tweaks.

* Fix talljoe keymaps to work with new Zeal60 commit.

* Keymap: meagerfindings ergodox (#3920)

* initial commit

* updating after review

* Keyboard: Add evil80 keyboard (#3921)

* Add evil80 keyboard

* Delete rules.mk

* Update config.h

* Update keymap.c

* Update keymap.c

* Remove redefinition of `_______` in documentation example (#3924)

* Remove redefinition of `_______` in documentation example

* Slight rewording to include purpose of defintions

* Update include to newer macro

* Keyboard: Add Prime_EXL prototype to 'handwired' (#3932)

* initial commit

* Update readme.md

* Update keymap.c

added comment for description of function to control LED as layer indicator

* corrected formatting as requested.

* format for configurator

* corrected info.json to propertly reflect layout in Configurator

* updated layouts to reflect physical keyboard

* Keymap: rys Tada68 ISO UK layout (#3934)

* rys Tada68 ISO UK layout

* Bring _FL more in line with my favoute WhiteFox layout

* Whoops, fix - to _

* remove empty config.h

* Remove legacy block

* Keyboard: Move Bathroom Epiphany boards into its own directory (#3936)

* make bpiphany directory with simple readme file

* move unloved_bastard to bpiphany directory

* move frosty_flake to bpiphany directory

* move pegasushoof to bpiphany directory

* move tiger_lily to bpiphany directory

* add a little more info to readme

* move kitten_paw to bpiphany directory

* update make instructions

* update intro text

* add missing routines to matrix.c of unloved_bastard

* add missing routines

* Keymap: Initial commit of dshields keymap for the model01 keyboard. (#3942)

* Keymap: Fix tada68:iso-nor to match latest ISO_layout (#3946)

* Keyboard: Add Quefrency 65 support in configurator (#3950)

* Fix Quefrency configurator layout to support new key added

* Add configurator support for Quefrency 65

* Keyboard: Added Prime_L, Prime_O and Prime_M, moved Prime_R into primekb folder (#3907)

* Added template copies for prime_l
Added first set of files for prime_m and prime_o
Temporarily storing kbfirmware dumps in tmp

* Completed base for prime_m, prime_o and prime_l
Moved prime_r into primekb folder

* Added in QMK Configurator layout files for new PrimeKB keyboards
Slight modification to layout header files
Added my name to licensing

* Updated primekb readmes

* Removed temporary working files

* Updated default keymap for Prime_O

* Added link to Newbs Guide in prime_r readme

* Add nano keymap for modding Spooka light (#3953)

* Keymap: Arkag Userspace and MechMini2 Layout (#3958)

* deleting arkag branch, forcibly moving changes over to master

* fade_color function added, not tested

* added half functions some stuff

* surround_type function implemented and working.

* added flashing function and removed fading, flashing supports infinite flashing along with controlled number flashes

* added a fade state machine and functionality

* build optimizations, changed fade to bounce between bounds rather than roll over, added a HALMAK layout

* changes to sleep breath function, changed how I will switch to HALMAK

* support for halmak added

* support for activity detection added, condensed fading and flashing state machines, removed support for HALMAK and COLEMAK because arkag is stupid

* changed sleep and inactive behaviors, now the color shifting reverses on state change, yay! save_color and reset_color are made to enable layer color changing to look cooler.

* reformatted some if statements in state detection

* changes to force fade to pause on boot, or plug in.

* Attempting to move over to userspace, pushing to repository for help

* userspace stuff....

* userspace stuff....

* layout changes, working userspace,

Removed left side shift and replaced it with a MT() for LSFT and SPC. Userspace seems to be working properly now! HURRAY

* Layout change

Removed space/shift and reset modifiers to what they were originally. Added homerow modifiers.

* Removed excessive tabs in files

* Moved mods on homerow around...

* changes recommended by @drashna

* Keyboard: Panc60 (#3961)

* initial check in

* figure out the column pins

* temporary keymap

* guess the row pins

* fix matrix.c compilation errors

* use the LAYOUT_60_hhkb macro and tweak the keymap a little bit

* update readme

* Put my name everywhere

* Add QMK Configurator support

* figured out the row pins

* update readme to have reset info

* Fill in some blanks that are documentation related

* Update matrix.c

* add kb functions

* forego kbfirmware labeling

* add arrows and caps lock to function layer.

* add a LAYOUT_60 and LAYOUT_all macro

* missed a comma

* add configurator support for the two new LAYOUT macros

* Jack helped me with a new custom matrix

* add 60_ansi into rules.mk

* Circuitry sample for PS/2 Mouse (#3959)

Added a sample circuitry for handling the connection of a PS/2 Mouse.
    Even if it's written that a circuitry is needed, there're a lot of other
    things and the information gets lost really fast. A really simple sample
    helps to remember who wants to implement the functionality about the
    circuitry.

* Keyboard: HP 46010A converter (#3967)

* funged git history, restarting

* tested and working (message typed on this)

* updated documentation to include wiring directions

* formatting

* updated matrix and default layout a bit

* getting ready for merge into main repo

* getting ready for merge into main repo v2

* cleaning

* cleaning repo of extranious files

* updated documentation

* Keyboard: Crkbd: move I2C and Serial defines to keyboard's config.h (#3970)

* Crkbd: move I2C and Serial defines to keyboard's config.h

per @drashna on Discord

* Crkbd: remove misleading comment re: I2C and Serial

USE_I2C and USE_SERIAL are usually a "one or the other"-type deal, but this keyboard uses both.

* Keyboard: Crkbd: Configurator support and readme formatting (#3971)

* Keyboard: DZ60 Bug: layout_directional is shifted to the left by one (#3978)

* layout_directional is shifted to the left by one

* forgot to adjust the physical layout

* Store Clicky status in EEPROM

* Add functions so you can configure programatically

* Add On/Off keycodes

* Keymap: jetpacktuxedo planck keymap (#3896)

* added my planck keymap

based on a blend of my minivan keymap and the planck default keymap.

* moved pipe to better match minivan keymap

* updated as per @drashna

also moved my keymap a bit after adding the quad encoder and underglow
(which doesn't even work on arm right now lol)

* a few smaller tweaks

* Keymap: FollowingGhosts v60r layout (#3926)

* First version of FollowingGhosts' custom layout

* Added copyright etc.

* Fixed readme and added space cadet shift

* Moved from RGB to HSV, updated readme and added media keys

* Updated pragma

* Added play/pause and updated config

* Added pragma back

* Pin avr-gcc in shell.nix pending release of 8.3.0 (#3922)

* Pin avr-gcc in shell.nix pending release of 8.3.0

There's apparently a critical bug in 8.2.0, which is now the nixpkgs default. This change overrides that default in favor of the known good version. Once 8.3.0 is the default, the override can be dropped.

* Arch/Manjaro fix

* Keymap: Ergo42: biacco-winjp (#3935)

* create: biacco jis keymap for windows for Ergo42

* fix: biacco-winjp: change #ifndef to #pragma once.

* fix: following: 3935#pullrequestreview-157941685

* Keyboard: added mehkee96 support -JT (#3957)

* added mehkee96 support -JT

* making requested changes -JT

* fixes -jt

* fixed info.json -JT

* tidy up info.json comments from noroadsleft -JT

* Keymap: Velocikey implemented at userspace, readme is more helpful (#3974)

* deleting arkag branch, forcibly moving changes over to master

* fade_color function added, not tested

* added half functions some stuff

* surround_type function implemented and working.

* added flashing function and removed fading, flashing supports infinite flashing along with controlled number flashes

* added a fade state machine and functionality

* build optimizations, changed fade to bounce between bounds rather than roll over, added a HALMAK layout

* changes to sleep breath function, changed how I will switch to HALMAK

* support for halmak added

* support for activity detection added, condensed fading and flashing state machines, removed support for HALMAK and COLEMAK because arkag is stupid

* changed sleep and inactive behaviors, now the color shifting reverses on state change, yay! save_color and reset_color are made to enable layer color changing to look cooler.

* reformatted some if statements in state detection

* changes to force fade to pause on boot, or plug in.

* Attempting to move over to userspace, pushing to repository for help

* userspace stuff....

* userspace stuff....

* layout changes, working userspace,

Removed left side shift and replaced it with a MT() for LSFT and SPC. Userspace seems to be working properly now! HURRAY

* Layout change

Removed space/shift and reset modifiers to what they were originally. Added homerow modifiers.

* Removed excessive tabs in files

* Moved mods on homerow around...

* changes recommended by @drashna

* removed homerow mods, more flashy lighting!

* changed delays for lighting.

* velocikey code retro fit into userspace to match typing speed

currently "working" but isn't as reactive as I want.

* Readme and other documentation hidden throughout code

* Added a pretty picture

* pretty picture actually added

* More readme updates

* Velocikey now working inside my userspace!

* Changed repo macro and fixed readme

* Removed media layer, moved media control to LAZY layer

* fixed more merge issues when I had to merge...

* Keymap: 4x4 pro micro (#3976)

* 4x4 - pro micro version

* pro-micro setup on 4x4

* tap dance LCTL/RESET key

* remove test file

* more research

* revert a couple un-intended edits

* opt_defs version of adding custom rules.mk variables

* cleanup

* cleanup

* cleanup

* cleanup

* layout edits

* layout edits

* keymap edit

* numpad layout change

* got tap dance layer-switch working

* keymap changes

* temporary revert

* restore previous settings

* misc fixes

* layer order change

* fix layout matrix

* Update tapdances.c

* Keyboard: Remove BACKLIGHT BREATHING as default config for Prime Keyboards (#3979)

* initial commit

* Update readme.md

* Update keymap.c

added comment for description of function to control LED as layer indicator

* corrected formatting as requested.

* format for configurator

* corrected info.json to propertly reflect layout in Configurator

* updated layouts to reflect physical keyboard

* comment out BACKLIGHT BREATHING in config.h

* Add new RGB matrix effect digital rain aka The Matrix

* Keymap: add artbycrunk iris layout (#3964)

* version 1

* version 1.1

* version 1.2

* Keymap: Add Koba's keymap for Ergo42. (#3965)

* Keymap: Add Koba's keymap for Ergo42.

* Fix: Remove unnecessary #define.

* Fix: Rename readme files to lowercase.

* Keymap: Update whitefox/konstantin keymap (#3980)

* Rename constexpr keymap folder to konstantin

* Replace numpad comma with Unicode comma

* Rename tap dance constants

* Move record->event.pressed check into switch

* Use RShift as a dedicated Fn key

* Keyboard: Crkbd stands for Corne Keyboard, not helidox (#3985)

* Keyboard: Refactor XMMX keyboard to XMMX and Toad (#3955)

* pull out toad keyboard and get it compiling

* refactor xmmx

* use the correct LAYOUT macros

* move LED code out to toad.c file

* move LED code out to xmmx.c file

* adjust for correct number of columns and pins used

* remove led set user

* Keymap: mtdjr userspace changes and Nyquist keymap addition (#3940)

* holefully correct error in mtdjr userspace for layer_state_set_user

* return state and wrap rgb actions in their own conditional

* mtdjr nyquist and userspace updates

* mtdjr updates as requested

* Moves animation calculation logic out of the for loops

* Bugfix for 60_ansi_tsangan and 60_iso_tsangan layouts (#3987)

This corrects the matrix macro reference for both of the keymap.c files in layouts/default.

* Keyboard: Treasure Macropad (#3988)

* port macropad over to qmk

* add bootloader size

* RGB Matrix refactoring to open up for new drivers (#3913)

* rgb_matrix: use a driver ops struct

This is intended to avoid #ifdef proliferation on adding more drivers,
eg. model01, which use different architectures.

* rgb_matrix: document driver struct members

* rgb_matrix: remove unused LED testing code

* rgb_matrix: don't build into IS31x drivers unless being used

* rgb_matrix: refactor make config options

This ensures that the necessary files are included for any custom
RGB_MATRIX_ENABLE value, without having to add entries here for specific
boards. This particularly affects model01 because its controller is
integrated and won't be used anywhere else, so it's preferable not to
put it in common_features.mk.

This now validates the value of RGB_MATRIX_ENABLE.

It was necessary to fix an error in ergodox_ez rules.mk using the wrong
comment separator, yielding an invalid value.

* IS31x drivers: don't write the control registers all the time

This is only needed when they are changed. This is done in init() and
board- or keymap-specific code is free to make further changes.

* rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c

This approach is specific to the rgb_matrix functionality, so keep it
neatly separated from the raw chip drivers.

* RAMA U80-A, wilba.tech WT60-A, WT65-A, WT80-A, IS31FL3736 driver (#3925)

* Initial commit of RAMA U80-A

* Initial commit of RAMA U80-A

* Moved IS31FL3736 driver, minor cleanups

* Superficial stuff

* Review changes

* Refactored to use common code.

* Keymap: Clean-up of dshields keymaps. (#3983)

* Treat too-large firmwares as an error, not a warning (#3956)

* Treat too-large firmwares as an error, not a warning

* switch the order of printing

* I think I have it

* adjust the formatting some more

* Keyboard: [Fortitude60] LED fix and Serial improvement (#3982)

* arrangement Underglow

* modified serial function references from helix

* Remove defines (ws2812_*REG)

* Keymap: add clicky support to jetpacktuxedo keymap (#3990)

controlled by dip 3 with pitch modulated by the knob

* Make Audio Clicky's randomness a float

Rather than a define, but read from the define.  This way, a smart coder could externally configure the randomness, changing it on the fly

This is also a precursor step to adding full on support for configurable randomness.

* add 'mavrdude' target into tmk_core/avr.mk (#3986)

* add 'mavrdude' target into tmk_core/avr.mk

I made it a little convenient when writing the same binary to multiple Pro Micro.

* rename target name 'mavrdude' to 'avrdude-loop'

* modify docs/flashing.md about avrdude-loop

* mdify docs/flashing.md again

* modifi docs/flashing.md 3rd

* Revert "Split Common: Serial Backlight LED fix (#3586)"

This reverts commit 3eabd7946ec5e47d12d603d591e8d8658d82fa42.

* split_common: fix backlight update for serial boards

* Keyboard: keyboardio model01: rgbmatrix support (#3989)

* model01: implement RGB matrix feature

LEDs can still be individually controlled if this is switched off.

* model01: use fast banked LED setting commands

* model01: update default keymap to use RGB matrix

* model01: update RGB matrix support to match common_features.mk

* rgb_matrix: include <string.h>

This was missing after commit 4d5705ea6ceeb11cd2adc018644ec87c51af4e86
which introduces a use of memset().

* model01: make g_rgb_leds weak

This allows users to override which LEDs are configured as
modifiers, or tweak the x/y coordinates, should they so choose.

* Improved dynamic keymaps (#3972)

* Improved dynamic keymaps

* K&R sucks

* Optimize size of JC65/v32a keyboard

* Optimize size of Hadron keyboard

* Optimize size of Vitamins_Included keyboard

* Optimize size of Pearl keyboard

* Optimize size of USB_USB BLE Converter

* Update Document Templates to reflect newer wording and URLs (#4006)

* Add pragma once info to contributing guidelines

* Fix links in readme template to match doc site

* Revert changes to contributing doc as somebody already changed it

* Update to the Userspace documentation (#4005)

* Overhaul to Userspace Documentation

* Formatting issues

* Additionaly formatting fixes

* Add Readme info

* Additionaly Readme info

* Formatting fixes

* Update quantum matrix to support both AVR and Chibios ARM (#3968)

* Update quantum matrix to support both AVR and Chibios ARM

- Addition of STM32 pin definitions
- Created abstruction layer defines to control GPIO (This is a bit pointless for Chibios as we are creating a PAL ontop of a PAL but it is necessary for uniformity with AVR)
- Modified matrix.c to use the above functions

* minor ifdef fix

* Rename of functions and docs

- Added documentation.
- Renamed functions according to Jack's spec.

* Massdrop fix

* Update matrix.c

* Update quantum.h

* Update quantum.h

* Update quantum.h

* Update internals_gpio_control.md

* Changed VID/PID, added commands, refactoring

* Spell-check update for Userspace documentation

Because leaving review comments on a PR that's already been merged doesn't make any sense.

* Keymap: Clicky frequency modulation (#4012)

Also worked around my busted dipswitch 2...

* Fix RGB Matrix feature processing in common_features.mk

Specifically, an "L" got appended to the controller names for te "valid types",
but did not get appended to the blocks that include the specific drives.
So, this breaks anything that isn't "Yes".

* add st-link_cli flashing (#3899)

* add st-link_cli support

* format names

* Massdrop keyboard updates for SEND_STRING, syscalls, stdio, debug prints, Auto Shift (#3973)

* Update for SEND_STRING usage

Update for SEND_STRING usage.
Sending keyboard reports (kbd, nkro) now obey the minimum polling time.
While attempting to send a keyboard report and waiting for a USB poll, other functions of the keyboard, including LED effects and power management, will continue to operate at their intended intervals.

* Updates for send string, syscalls, stdio, debug prints, auto shift

Now properly waiting for previous keys sent over USB to complete before sending new.
Added heap to linker and now compiling with syscalls support.
Removed custom string functions and now using stdio.
dprintf now works as intended through virtser device.

* CTRL and ALT keymap updates

CTRL mac keymap updated
ALT default and mac keymap updated
ALT rules.mk added Auto Shift with default no

* Code cleanup as per discussion with vomindoraan

Code cleanup as per discussion with vomindoraan

* Second attempt to reduce the size of the USB BLE Converter  (#4010)

* Disable Leader to reduce firmware size for Travis

* Additionaly fixes to USB_USB\BLE Keyboard converter

* Disable One Shots to get USB to USB BLE converter to fit

* Disable Moueskeys to reduce Vitamins Included firmware size

* Size fix for Hadron, take 2 (#4009)

* Add Link Time Optimization to reduce firmware size

* Disable Mousekeys on Hadron to save room

* CTRL keyboard bootloader_jump support

Adds support for CTRL keyboards to enter bootloader via bootloader_jump()

* Keyboard: converter/hp_46010a: Configurator support (#4017)

* Keymap: tada68: add shalzz's layout (#4019)

* Keymap: Fixed a possible of buffer overflow. (#4016)

Update inline funnction to static inline function.
Fixed error of if enabe ADJUST_MACRO_ENABLE.

* Helix led_test keymap reduce size (#4023)

* Helix: make rgblight modes selectable.

No change in build result.

* edit the comment of helix/rev2/keymaps/default/keymap.c

* Helix led_test keymap: reduced the size.

* Keyboard: converter/hp_46010a: rename layout macro to LAYOUT (#4024)

Messed up in my previous PR (#4017) by providing the wrong matrix name.

Fixing by changing the matrix name instead, because there's only one at this point. Thought it made more sense this way.

* Keyboard: Add basic support for the YD68 / YD68v2 PCBs. (#4020)

* Add basic support for the YD68 / YD68v2.

Keymap and WS2812 underlighting work. Capslock LED should work, though I don't have one populated to test. Backlight LEDs are not set up, as they're not on a hardware PWM pin, could be set up as software.

* Fix Imgur link

* Fix default keymap to match the stock firmware

* Fix the Hardware Supported line and add a short description

* Keyboard: Update info.json to match LAYOUT (#4027)

* Update info.json to match LAYOUT

* update mf68_ble info.json

LAYOUT -> LAYOUT_68_ansi

* Keymap: Added Leader Key Functionality (#4025)

* deleting arkag branch, forcibly moving changes over to master

* fade_color function added, not tested

* added half functions some stuff

* surround_type function implemented and working.

* added flashing function and removed fading, flashing supports infinite flashing along with controlled number flashes

* added a fade state machine and functionality

* build optimizations, changed fade to bounce between bounds rather than roll over, added a HALMAK layout

* changes to sleep breath function, changed how I will switch to HALMAK

* support for halmak added

* support for activity detection added, condensed fading and flashing state machines, removed support for HALMAK and COLEMAK because arkag is stupid

* changed sleep and inactive behaviors, now the color shifting reverses on state change, yay! save_color and reset_color are made to enable layer color changing to look cooler.

* reformatted some if statements in state detection

* changes to force fade to pause on boot, or plug in.

* Attempting to move over to userspace, pushing to repository for help

* userspace stuff....

* userspace stuff....

* layout changes, working userspace,

Removed left side shift and replaced it with a MT() for LSFT and SPC. Userspace seems to be working properly now! HURRAY

* Layout change

Removed space/shift and reset modifiers to what they were originally. Added homerow modifiers.

* Removed excessive tabs in files

* Moved mods on homerow around...

* changes recommended by @drashna

* removed homerow mods, more flashy lighting!

* changed delays for lighting.

* velocikey code retro fit into userspace to match typing speed

currently "working" but isn't as reactive as I want.

* Readme and other documentation hidden throughout code

* Added a pretty picture

* pretty picture actually added

* More readme updates

* Velocikey now working inside my userspace!

* Changed repo macro and fixed readme

* Removed media layer, moved media control to LAZY layer

* fixed more merge issues when I had to merge...

* implemented some leader key stuff

* removed merge garbage...

* changes requested by @drashna, leader key switch from macros

* Keyboard: Zeal60: Fix getting backlight values "id_*_indicator_row_col" (#4030)

* RAMA M6-B and IS31FL3218 driver (#4021)

* Initial RAMA M6-B commit.

* Moved IS31FL3218 driver, minor cleanups

* Refactor, added dynamic keymap.

* Added dynamic keymaps to RAMA M6-A

* Refactor M6-A and M6-B to use common code.

* Formatting

* Cleanup

* Cleanup

* Changes from review

* Keymap: Add ErgoDone keymap with QWERTY and COLEMAK Mod-DH (#3884)

* Custom keymap for the ErgoDone

The keymap supports QWERTY and COLEMAK MOD-DH with LED indication.

* Enable Space Cadet Shift

* Fix after-boot layer indicator LED

* Implement keyboard suspend, move layer LED handling to function, unify
identation

* Add readme.md with layout

* Optimize LED handling, add include guard

Read the default layer via the proper EEPROM function, so the calling of
bootmagic() is no longer necessary.
Fix bug when the CapsLock LED wasn't working anymore after a layer
switch.

* Keymap: add olligranlund Iris + satan layouts (#4031)

* init

* function layout planning

* nordic keymap v1.0

* Added latest satan layouts, updated readmes

* Cleaning code

* Renamed ISO -> iso

* Keymap: Add noroadsleft keymap for KC60 (#3876)

* Add personal KC60 keymap

* Update personal KC60 keymap

* Keymap update 2018-05-30 01:53 UTC-7

* Added macro: T_PEEKR

* Added macro for MacOS Select All; modified MacOS function layer

* Added git branch-name macro

* Added GitHub signature macro

* Added readme files

* Added Quake 2 and System layers

* Refactored keymap readme

* Refactored to add userspace files; added Colemak layer

* Minor code cleanup; updated readme files

* Reverted use of userspace

Decided not to make use of the Userspace feature at this time. Reverted its addition, and updated the readme files where needed (they were linking to userspace files).

* Updated per review comments by @drashna

* Refactor buggy macros

I'm still not sure these work prope…
yamad pushed a commit to yamad/qmk_firmware that referenced this pull request Apr 10, 2019
…#3868)

* initial commit of keymap creation script

* create default keymap

* pass shellcheck

* provide a better usage message

* change printf string to more accurately reflect the path

* make it more easily understood

* found another typo

* add documentation regarding the new_keymap script

* enforce lowercase for userinputs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants