* Add a function to set individual pixels
* Add documentation for oled_write_pixel
* use smaller data type for oled_write_pixel
* Fix boundary check edge case
* Update oled_write_pixel doc
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
- Fix typo in the default layout.
- Move esc and del to the navi layer.
- Fix issue with oneshot layers and double tap aka DBL_TAP.
- Add caps lock to the raise layer.
Was relying on a broken behavior for the double tap to work with
oneshot keys, i.e. the oneshot layer not being cleared after a key
press in `process_record_user`, which allowed me to first press an
oneshot key, then double tap and then a key. With the behavior fixed,
this no longer works. As the oneshot layer will be cleared when double
tap is pressed.
To make double tap useful again. I changed that any of the layer keys
does not clear the double tap. Which allows me for example to first
press double tap, then an oneshot key and then a key. So now I'm able
to type my double symbols again.
* Re-enable mouse keys to fix Chrome OS media keys
I'm not sure if there's a bug in Chrome OS, QMK, or both, but
EXTRAKEY_ENABLE isn't sufficient for media keys to work on Chrome OS.
Instead, MOUSEKEY_ENABLE is also required.
* Remove unnecessary SPLIT_USB_DETECT for Lily58
I've since swapped my Lily58 back to Elite-C v2 controllers with working
VBUS detection.
* Move Crkbd Esc and Ctrl keys; add some shortcuts
* Move MC_ALTT to userspace for cross-board support
* Sync Lily58 keymap with Crkbd
* Fix typos
* Added Handwired Redragon Keyboard as well as default and via keymaps
* Update keyboards/handwired/boss566y/redragon_vara/info.json
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/boss566y/redragon_vara/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/handwired/boss566y/redragon_vara/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keymap.c
Removed defined keycodes from via keymap
* Update keymap.c
replaced defined keycodes in default keymap
* Update readme.md
Changed image to one that matches the physical keyboard
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add support for YDKB Chili
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* Updated VIA Support
- Added LAYOUT_all Support for VIA compatibility
- Updated default dp60\layouts\via\keymap.c to mmirror changes to
LAYOUT_all
- Rules.mk updated in both base and via directories.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* dipsw test on helix/rev2/sc/back:five_rows
* add peek_matrix() to matrix_common.c
* add DIP_SWITCH_MATRIX_GRID support to quantum/dip_switch.c
* update docs/feature_dip_switch.md about DIP_SWITCH_MATRIX_GRID
* Test end. remove test code. Revert "dipsw test on helix/rev2/sc/back:five_rows"
This reverts commit 6d4304c74557597c9fb4d324f79c3ae4793ae874.
Process mouse movement in the keymap before it is sent to the host. Example uses
include filtering noise, adding acceleration, and automatically activating a
layer. To use, define the following function in your keymap:
void ps2_mouse_moved_user(report_mouse_t *mouse_report);
With this change, when ps2_mouse is disabled, mousekeys works as usual. With
ps2_mouse enabled, mousekeys button state is shared with ps2_mouse for clicking,
dragging, and scrolling, mousekeys clicks are produced by ps2_mouse only, and
mouskeys button state is transferred to mousekeys without generating clicks to
enable mousekeys dragging.
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Will <wailinnyu@gmail.com>
Co-authored-by: Andrew Koh <andrew@springlabs.com>
Apparently VIA allocates bits in the layout options field from the
lowest bit, but starting from the **last** option defined in the JSON
file. So the default value 0x06 was actually trying to set the value
`3` (`0b11`) for the second-to-last option ("Right Shift"), which had
only 3 values defined, and the attempt to set an undefined option value
caused the VIA app to hang with a black window.
Fix the default layout options so that it works as intended (the
"Macropad" and "65% Column" options are set).
* Started AHK Companion Development
* Updated the readme
* Added AutoHotKey companion file
* Updated documentation
* Cleaned up the files and revised documentation
* Finished the readme.md updates
* Fixed the LED issue where the last LED did not reflect the right color
* Adding VIA support for 40percentclub/luddite
* Update config.h
* Update rules.mk
* Delete config.h
config.h was created to override the "default" of RGBLED_NUM 8
deleting the file to keep with defaults
* Removing block and comment as suggested
* Update PRODUCT_ID
Changing from:
#define PRODUCT_ID 0x0A0C
To:
#define PRODUCT_ID 0x4C55 // "LU"
* Changing Vendor ID
Changing Vendor ID from:
#define VENDOR_ID 0xFEED
To:
#define VENDOR_ID 0x3430 // "40"
* Adding VIA support to cannonkeys/practice60
Adding VIA support to cannonkeys/practice60
* updated VENDOR_ID to match other CannonKeys boards
* changed PRODUCT_ID to be unique
* added additional notes to readme.md
* keymap.c and config.h for VIA support
* Update readme.md
* Update keyboards/cannonkeys/practice60/readme.md
* Update keyboards/cannonkeys/practice60/readme.md
* Update keyboards/cannonkeys/practice60/config.h
* Update rules.mk
* Update keyboards/cannonkeys/practice60/config.h
* Update config.h
* Rebased from Master
Rebased from Master
* Trying to fix problems in my kyria steez
* repeating last commit.....
* repeating last commit on EDIT layer but swapping direction
exit
* moving the reversed desktop moves to the symbol layers on the same hand, for easier activation
* adding mac desktop movement keys to Kyria layout
* Adding readmes to my keymaps
* Removing a png...
* Update keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c removing EPRM case
* Apply suggestions from code review
Great updates to various old-school or outdated ways I was doing things, removing some commented out code, etc.
* Apply suggestions from code review
Additional improvements
* Moving tapdances.cpp to userspace as tapdances.c
* reindenting the Kyria keymap to follow four-spaces convention, turning off oled on my kyria, improving the led handling on the Ergodox.
* updating led stuff on the other two versions of the keymap, removing EPRM key from main keymap
* Apply suggestions from code review
I'm adding these various removals to the config file because it seems that at this time those settings are in harmony with the ergodox_ez defaults.
* Moving encoder functions into their own userspace file
* Apply suggestions from code review
Removing settings that are now defaults, clearing out placeholder custom keycodes (smh)
* updating encoder functions.
* Moving to LAYOUT_stack for all layers, adding end of file newlines, switching to some shorter keycode aliases
* Okay, refactor is well underway.
* refactored! Also improved led handling for ergodox and rgb handling for kyria
* removing mac/windows swappable version because I don't feel like dealing with it when reflashing is so easy.
* moving LAYOUT_stack into kyria.h
* moving the alternate default layer down next to QWERTY
* [Keymap] Add pierrec83's gherkin keymap
Contribute my gherkin keymap upstream as it is semi-stable. It has grown
in symbiosis with my Kyria keymap which is already upstream.
Add a readme
* Remove generated keymap and instructions to generate it as it is done by qmk flash
* Add Hebrew keymap aliases
* Use NBSP for internal space in box drawings
* Apply suggestions from code review
* More whitespace fixes
* IL_DVAV, IL_DYOD and IL_VYOD were incorrect
* Add IL_DEG, IL_MUL, IL_DIV
* Hebrew is now ISO (no more BAE)
* Use ISO left shift
* Apply suggestions from code review
* DYOD and VYOD were reversed in diagram.
Oops!
* Initial fork of Sinc
* Setup keymaps, layouts, and encoders
* Add ANSI configurator layout
* Add ISO layout for configurator
* Add all layout option for configurator
* Fix spacing
* Remove extra line
* Remove unneeded ifdef
* Update readme.md description
* Enable bootmagic lite
* Update USB descriptor
* Add modern led code
* Update default keymap for readability
* Update default keymap readme with layout image
* Add VIA keymap
* Update keyboards/noxary/268_2/keymaps/default/readme.md
Flip order of layout image and title
* Update keyboards/noxary/268_2/keymaps/via/readme.md
Flip order of layout image and title
* Update keyboards/noxary/268_2/readme.md
bullet point keyboard maintainer
* Update keyboards/noxary/268_2/readme.md
Change list style
* Update USB descriptors
* Update default keymap for readability
* Update readme description
* Update rules.mk build options, enable bootmagic and mousekey
* Add commented modern led code
* Add VIA keymap
* Update default keymap readme.md layout image
* Update keyboards/noxary/x268/rules.mk
remove incorrect comment
* Update keyboards/noxary/x268/x268.c
remove commented setPinOutput(B1)
* Update keyboards/noxary/x268/keymaps/default/readme.md
Flip order of layout image and title
* Update keyboards/noxary/x268/keymaps/via/readme.md
Flip order of layout image and title
* Update LED function to led_update_kb()
* New custom 'super alt' keymap for the Drop ALT
* Improvements to 'super alt' keymap based on PR feedback
* Fix flickering LED caps lock bug
* Code cleanup from PR feedback
* Minor keymap layout cleanup
* enable NKRO and keep consistent with bootmagic set to lite
* Update keyboards/1upkeyboards/1up60hse/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* The TAGs of the original document has been updated to facilitate future verification.
* docs/ja/driver_installation_zadig.md
* docs/ja/feature_audio.md
* docs/ja/feature_auto_shift.md
* docs/ja/feature_bluetooth.md
* docs/ja/hardware_avr.md
* docs/ja/hardware_drivers.md
* docs/ja/getting_started_make_guide.md
* The TAG of the original document has been updated to facilitate future verification.
* The TAG of the original document has been updated to facilitate future verification.
* update docs/ja/feature_tap_dance.md
* added keyboard 5x12 to boardsource folder
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Change `led` to `led_matrix` in rgb_matrix_drivers
Is a minor change that only affects the driver file.
However, this will allow somebody to run rgblight along side rgb matrix
using the ws2812 driver, as well. Specifically, so you can use the
custom driver for rgblight to set a different pin (barring a change to
the `ws2812_setleds` function).
Courtesy of discord conversion:
https://discordapp.com/channels/440868230475677696/568161140534935572/721555623191248906
* Change name to be super specific
* Update rgb_matrix_drivers.c
* The TAG of the original document has been updated to facilitate future verification.
* The TAG of the original document has been updated to facilitate future verification.
* The TAG of the original document has been updated to facilitate future verification.
* Fix incorrect delay when setting WS2812 (and similar) leds
* Add documentation for WS2812_DELAY_MICROSECONDS
* Remove improper cast to uint8_t
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Remove unneeded cast to uint8_t and correct math
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* microseconds -> µs
Co-authored-by: Ryan <fauxpark@gmail.com>
* Make documentation better match the spec sheet.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Rename macro to match spec sheet
* Further correction to the delay maths for the SPI case.
Co-authored-by: Joel Challis <git@zvecr.com>
* Move ws2812_common.h to the drivers directory
* Revert "Further correction to the delay maths for the SPI case."
This reverts commit e61b56a2cfc7dfec9992a7a3af92afa50e5b8ec0.
* Remove ws2812_setleds_pin(); consolidate ws2812.h
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* initial commit for froggy 106 key mode
* add mode indicator on OLED
* use #pragma once instead of include guard
* remove unusable codes
* remove audio codes, because helix rev.2 has no audio feature
* use set_single_persistent_default_layer
* remove eeprom update check
OLED Display fixes
Add support for RGBLIGHT Layers
Add gaming layer to corn and kyria
RGBLight Startup Animation fixes and improvements (uses matrix_scan now!)
Pimoroni Trackball support added (IT'S RGB!!!)
Fix issues due to code changes
* Add S7 Elephant Rev2 Support
* Apply suggestions from code review
I tested the changes on my board as well, thanks for the suggestions!
* Added a default folder in the makefile so that this would no longer be a breaking change
* added bordsource 3x4 macro pad
* added bordsource 3x4 macro pad
* Update keyboards/boardsource/3x4/3x4.h
* Update keyboards/boardsource/3x4/3x4.c
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* added link to readme
* Update keyboards/boardsource/3x4/keymaps/default/keymap.c
* Apply suggestions from code review
* changed the layout to refelect the keyboard
* Update keyboards/boardsource/3x4/info.json
Oh your right my bad. In the future is there an easier way for me to test the info.json and the confiscator before doing my pr?
* Apply suggestions from code review
* got 3x4 building again
* Apply suggestions from code review
* applied requested change on readme
* Update keyboards/boardsource/3x4/readme.md
* Apply suggestions from code review
* add ansi and iso layouts
* fix iso map mistake
* fix mistake again...
* Update keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c
* rename layout macros to the blocker variants and add ansi_split_bs
* Apply suggestions from code review
* Add Kyria keymap
* clean split hand detection code
* rename "joystick" to "thumbstick"
* thumbstick overhaul
* removed angle correction, seems buggy
* save some memory
* Remove deprecated config option
* Use the correct types for getting host led states
* Fix include path
* Made .h files for encoder and oled code
* Increase speed cap on thumbstick
* Add custom corne keymap
* Clean up rules.mk
* Clean up base layer on keymap.c
* Clean up lower layer on keymap.c
* Clean up raise layer on keymap.c
* Clean up adjust layer in keymap.c
* README cleanup
* replaced "normal" numbers with "keypad" numbers:
KC_P4 replaced by KC_KP_P4
* replaced "normal" keys on Numpad Layer with the "KeyPad" keys
KC_1 replaced by KC_P1 etc.
PR #9307 fixed the immediately visible problem (the command that was
added to $HOME/.bashrc was incorrect because of missing quotes around
paths with spaces). However, the modified command is still wrong - it
captures the value of $PATH at the setup time, and the resulting command
written out to $HOME/.bashrc will overwrite $PATH with that captured
value, ignoring any changes in the environment. This may be especially
important for WSL, where the initial value of $PATH in Linux includes
everything which has been added to %PATH% on the Windows side; after
adding that command to $HOME/.bashrc the WSL environment will no longer
pick up any changes made by newly installed Windows software.
Instead of that, use single quotes around the command, so that the
environment variables are not expanded at the setup time, and the
command that is added to $HOME/.bashrc becomes exactly this:
PATH="$HOME/.local/bin:$PATH"
This command will use the $HOME and $PATH environment variable values at
the time the command is executed, not at the time the QMK setup is
performed, so any further updates to $PATH are taken into account.
Double quotes also ensure that the command is safe even if the values of
those environment variables contain spaces.
* Fixing via issues
* Fixing whitespace issues on the keymap
* Fixed the default via layer 1 keymap, was a little weird before
* Removing redundant declarations in via/rules.mk
* Change `echo` to `export`
* Add `export` as a note under the `echo` command
* Remove note from last commit
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update docs/newbs_getting_started.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update docs/newbs_getting_started.md
Add 1 line of whitespace under note
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial doco write-up.
* Update docs/platformdev_selecting_arm_mcu.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* preliminary check in, basically a copy from 159's github with a few additions to get it to compile
* update readme
* fixup the LAYOUT macro labels to be more reasonable
* add tkl_ansi LAYOUT macro for community layout support
* clean up rules.mk, add community layout suport, and add in bootloader
* add a tsangan layout macro
* spruce up readme
* add VIA keymap
* add qmk configurator support
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* remove unneeded file
* Update keyboards/projectkb/signature87/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/projectkb/signature87/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* init
* add RETRO_TAP; tap anyway after TAP_TERM, if no interruption
* RETRO_TAP works for other types of taps
* revert to upstream/master
* explain this fork in readme
* use one readme.md file instaed
* fix the error if NO_ACTION_ONESHOT is defined
* restore readme.md to upstream master
Co-authored-by: Tsan-Kuang Lee <tsan.kuang.lee@gmail.com>
Using the wpm feature, I create a responsive OLED animation that changes based on how fast the user types. As written there are three phases (It's bongo cat!) but can easily be reconfigured and replaced with other images.
Multiple byte arrays consume considerable space so choose your usage wisely. When customized, the smaller the byte array used, the better, due to space limitations on most microcontrollers.
I made this with no prior knowledge of C, so I'm looking forward to any and all suggested improvements.
Credit is owed to obosob for laying the foundation for this little script as well to /u/pixelbenny for graciously providing the bongocat artwork I adapted for the animation.
The config.h includes a tweak to the Kyria's LED mapping, so that the order now reflects their physical positions, making animations smoother.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Simon Schuster <SimonSchuster@Simons-MacBook-Pro-2.local>
Co-authored-by: James Incandenza <james@ij.net>
A user in Discord reported that the right bracket and ISO hash keys on
KBD67 rev2 using LAYOUT_65_iso were swapped. When comparing
LAYOUT_65_iso with LAYOUT_65_ansi, the problem with a wrong assignment
of the right bracket key is obvious — that key is K1D in the ANSI layout
macro, but the ISO layout macro had K1E there, and K1D at the position
of the ISO hash key.
Fix the LAYOUT_65_iso macro by swapping those arguments (and also align
the K1D argument for the right bracket key properly).
* Fixed slave-side keyboard half unresponsiveness
due to how LUFA handles USB_Disable()
* changes to formatting
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* Gami Studio Lex60: Configurator Layout support
* correct key sizes on bottom row per lukelex
* add LAYOUT_60_ansi
To test, run `make gami_studio/lex60:default_60_ansi` and flash.
* add 60_ansi keymap
To test, run `make gami_studio/lex60:60_ansi` and flash.
* remove data for 60_ansi layout
* Updated the Japanese translation of newbs_learn_more_resources.md
Updated the Japanese translation of newbs_learn_more_resources.md to 0.9.0.
* update docs/ja/newbs_learn_more_resources.md
* update ja/newbs_learn_more_resources.md
* Added Via config for Clueboard 66
* Update keyboards/clueboard/66/keymaps/via/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Enabled MouseKeys
This required enabling LINK_TIME_OPTIMIZATION_ENABLE
* Added 4th layer as per tzarc's recommendation on another PR
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Chrome OS specific keys to 75_ansi/spidey3
* Clean up duplicative settings in rules.mk
* Refactor spidey3 userspace to use rgb layer blink
* Blink green on wakeup
* Improve _FN layer indicator
* Glyph transformation modes: wide, script, fraktur, and enclosed characters
* Add spider unicode glyph
* Fix compile error when NO_ACTION_ONESHOT
* Add a few more emoji
* Further refinement of lighting layer usage
* Fix reversed yes/no ack
* Lighting layers override RGB off
* Fix missing wide and incorrect script numbers
* Add LOL and surprise emoji
* Add missing break in switch statement
* Trim firmware size
* Use usage ID definitions in report.h
* Some minor whitespace cleanup
* Disable some unused features to reduce firmware size
* Print version on startup
* Seed rand() on first keystroke
* Add a key to immediately sleep CrOS
* Switch to Bootmagic Lite
* Trim down firmware size a little bit more
* Make RGBLIGHT_MODE_TWINKLE+4 my default
* Scan rate debug / fix version printing
Delay printing version on startup (console may not be ready)
Better scan rate reporting
* Disable locking caps, etc. to save more space
* Enable LTO
* Better seed for rand()
* Set MAX_LAYER for some performance improvement
* Another scan rate improvement
* Set manufacturer
* New startup animation
* Add GUI lock for F-keys (for CrOS)
* Add visual indication for glyph replacement and F-keys GUI lock
* Some cleanup; run cformat on spidey3 userspace
* Cycle between debug verbosity options
* Fix disable RGB Lighting after wakeup on Mac
ANAVI Macro Pad 8 is an open source mini mechanical keyboard with
8 keys, backlit, addressable RGB WS2812B LED strip on the back and
mini OLED display. Powered by ATmega 32U4 microcontroller and with
microUSB connector.
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Signed-off-by: Leon Anavi <leon@anavi.org>
* Add Via support for Percent Canoe
* Removed unnecessary flags from rules.mk
* Changes as per PR
* Added 2 additional empty layers (for a total of 4)
* Set a unique vendor id for all percent studio boards
* Set a unique product id for the canoe
* Fixed formatting, removed trailing comma
* Fixed PS/PT typo for vendor id
* Removed unnecessary variables
* Removed unnecessary slashes
* Fixed missing layer name
Co-Authored-By: Ryan <fauxpark@gmail.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* pick a sane VID
* add the VIA Keymap
* update copyright notice
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* add feature_mouse_keys.md translation
* update based on comment
* update based on comment
* update based on comment
* update based on comment
* update based on comment
* [Keymap] plattfot - Kyria layout
Keymap for programming, writing in both English and Swedish and
easy navigate a tiling window manager.
See README.md for more info
* Fix letter case on the headline for the readme
As suggested by fauxpark
* Update keyboards/kyria/keymaps/plattfot/keymap.c
Clean up double tap
As suggested by fauxpark
* Update led check for render_status
As suggested by fauxpark
* Update to use get_highest_layer for encoder_update_user
As suggested by fauxpark
* Missing an apostrophe in the header of the README.md
Last minute change.
* Removed explicit initialization for _DEFAULT
As suggested by drashna
* Use smaller image for the README.md
As suggested by noroadsleft
* Branch point for 2020 May 30 Breaking Change
* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)
* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)
* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)
* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)
* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)
* Convert V-USB usbdrv to a submodule (#8321)
* Unify Tap Hold functions and documentation (#8348)
* Changing board names to prevent confusion (#8412)
* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)
* Move spaceman keyboards (#8830)
* Migrate miscellaneous `fn_actions` entries (#8977)
* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)
* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)
* Refactor Lily58 to use split_common (#6260)
* Refactor zinc to use split_common (#7114)
* Add a message if bin/qmk doesn't work (#9000)
* Fix conflicting types for 'tfp_printf' (#8269)
* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)
* Refactor and updates to TKC1800 code (#8472)
* Switch to qmk forks for everything (#9019)
* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)
* Audio enable corrections (2/3) (#8903)
* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)
* Audio enable corrections (Part 4) (#8974)
* Fix typo from PR7114 (#9171)
* Augment future branch Changelogs (#8978)
* Revert "Branch point for 2020 May 30 Breaking Change"
* Fix crkbd slave matrix print to require debug_matrix
* Remove redundant include
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Re-add liles after hard reset
* repopulate with keymap
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Updated how the layers are defined to reduce firmware bloat
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Removed unnecessary key codes
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Removed backslash from each line of the layers in accordance with current convention.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Edit of readme
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Normalise layout and README from yttyx niu keymap.
* Correct case of README.
* Changes following review.
Co-authored-by: Nick Willis <nick@theb.org.uk>
* - Balance 12 layers now in their final form
- Added Plover layer
- Updated README to use layout images
* Add headings to layer images.
* - Remove redundent TO(_BA) from FC layer
- Link to new FC layer image from README
* Highlight home keys.
* Changes following review.
* Fixed the indentation of the sample code in docs/feature_pointing_device.md sample.
* Update docs/feature_pointing_device.md
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* Fix info about RGB LEDs on the bottom.
* Added RGB LEDs support
* Added RGB LEDs config options
* Added minila layout with RGB keys
* Create readme.md
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ymdk/bface/keymaps/minila/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* initial commit for tsangan_hhkb community layout
* keymap.c done
* wrote readme
* move media keys; add shortcuts
* edit to reflect changes in keymap
* update readme with imgur link
* do the basic port for the WM1
* with much help from tzarc, get the addresses correct
* make the keymap more closely mirror what the board has
* Add QMK Configurator support
* update the readme
* get indicator leds working
* enable RGB underglow
* fix up rgb underglow
* add notes regarding existence of backlight
* Update keyboards/wolfmarkclub/wm1/readme.md
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/config.h
* Update keyboards/wolfmarkclub/wm1/ld/wm1_f103.ld
* Update keyboards/wolfmarkclub/wm1/bootloader_defs.h
* Update keyboards/wolfmarkclub/wm1/config.h
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/wm1.c
* Update keyboards/wolfmarkclub/wm1/wm1.c
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/readme.md
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* update readme
* Add support for Ace of Spades
* Fix the F-row mappings
* Add the tkl_iso layout
* Put KC_PAUS back in place of top layer reset
* aholland909 personal keymap for Ace of Spades
* Address PR feedback and rename to aos/tkl
* Rename keyboard implementation filenames
* Remove unnecessary layers
* info.json for the configurator
* ARM split - Add uart half duplex transport support
* Fix for f103
* initial full duplex pass
* partially remove full duplex
* Correct speeds within driver docs
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* newbs_flashing.md: place bootloader instructions before Toolbox intro
* Update docs/newbs_flashing.md
* More wordsmithing, point ARM users at Discord if all else fails
* Link Discord
The factory TMK firmware for the TADA68 supports backlight breathing,
so I was surprised when the BL_BRTG key I set up in the online QMK
configurator didn't work.
As far as I can tell, this was just a simple omission.
* CLI: Improve experience when running `qmk setup` on FreeBSD.
* Install the `avrdude` package as well.
* Switch to installing python packages w/ `--user` flag.
* Basic getting started sections for FreeBSD.
* Update `util/freebsd_install.sh` for root/non-root branches.
* Add ID to doc section.
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Add ID to another docs section.
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Use `; then` in script for consistency.
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Updated to use sudo in one shot if available.
* Apply suggestions from code review
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* Style fixes for latest version in master.
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added Chimera Ortho keymap
* Cleaning up the rules
* Removing firmware sizes
* Modified URLs to point to new locations
* Remove _quantum functions from custom matrix.c code
* Fix 1<col instead of 1<<col typo in matrix_is_on()
* Make PREVENT_STUCK_MODIFIERS the default
* Removing the IS_COMMAND custom definition
* Adding info.json
* Adding config overrides
* Adjusting for the reformat
* removing backlight reference
* fixing some compile issues
* Fixing a matrix issue
* Update keyboards/chimera_ortho_plus/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* lining up the matrix
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* added git codes
* started git layer
* finished structure for git layer. MOD: replaced mouse with mod keys on right hand
* layout changing layer
* mod enter. default qwerty layer. removed mods on number layer
* workman layout. git log, show. blank enter and bsspace
* config layer. toggleable ctrl/alt for OS
* removed keymap comments
* strings and combos layers. sarcasm and ctrl_ctv. RGB configs
* reintroduced enter and bspace. delete backspace as a function. git push -u and checkout -b
* string macros
* OS specific home/end
* OS mac & win keys. N delete global backspace
* refactored backspace functions
* ctrl lctv macro
* base layer toggle fix
* whitespace
* BS + L for FF and chrome
* replaced 1 keycode with userspace
* added userspace config
* remove comments
* add another keycode with a variable
* moved all keymaps and codes to common file
* ctrl z mod
* removed ctrl z
* sipmlified OS functions
* moved is_win to keyboard level
* added mac alt tab
* added ctrl tab in mac + clean up variables in art.h
* tild string macro. added mac left/right + home/end
* mac ctrl backspace
* enum layers for default layout
* added ergodone keymap
* ergodone compiles
* clean up
* clean up
* removed obsolete OS_HOME/END
* removed var
* added ctrl nav to split75
* ergodone clean up + caps lock fix 75
* fix mac ctrl alt on right handside. added mac alt tab left right
* fix ergodone config override
* fixed alt left right not working on mac
* added OS ctr_alt
* mac ctrl del. fix tild
* simplified tild macro
* git stash apply
* send_string_remembering_lenght
* shifted strings print
* restored KC_BSPACE functionality
* moved KC_BSPC
* numpad layer on Fn
* media lights
* ergodone final clean up
* ergodone GIT AND MEDIA layers
* ergodone GIT LAYER switch
* default behaviour for all modified keys on BASE layer
* refactored logic for default keycodes
* ergodone final layers
* ctrl_cav for translation and ctrl_l fix
* toggleable layer with numpad
* comments
* numpad layer
* Update users/art/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* enable dynamic macros for split75
* git branch and develop/master
* removed esc from Nav
* ergodone: ctrl alt for shift layer
* macros and right alt for ergodone
* fix ergodone N_backspace not working on git layers
* mac language switch with alt+shift
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ergodone/keymaps/art/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* flashing leds to indicate current os
* using rshift on shifted layers
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Via support to the YMD09
* Update keyboards/ymdk/ymd09/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ymdk/ymd09/keymaps/via/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Candybar: VIA support for lefty and righty
* Update keyboards/candybar/lefty/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/candybar/righty/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/candybar/lefty/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* add feature_leader_key.md translation
* update based on comment
* set link as lang dir
* update based on comment
* update based on comment
* update based on comment
* Add Via keymap for Contra
* Added Via-enabled keymap
* Changed VENDOR_ID from 0xFEED to 0x4354 (CT)
* Removed unnecessary RGB mappings
* PR changes
* Removed empty via/config.h
* Changed product ID from 0x6060 to 0x0001
* Add files needed to The Via support on Melody 96
* Remove manufacture name from product name
* replace blank key with Transparent keys
* Update keyboards/melody96/rules.mk
* Update keyboards/melody96/keymaps/via/keymap.c
* Change Product ID to "M" + 96
* Update keyboards/melody96/keymaps/via/rules.mk
* add LTO to via's local file
* Update keyboards/melody96/rules.mk
* more stoof
* readme update
* reverting keymap
* re-adding userspace
* new userspace needed
* no want 0 under thumb
* gettin fancier with my knob
* macro fix
* had pins for oled ver
* wait, these are the right pins
* reduntant line
* image fix
* get highest layer every day
* whoops
* correct rev name in json
* a few good catches
* what I had planned
* Replace custom RCTRL implementation with built-in LM
Caveat: sends LCtrl instead of RCtrl
* Enable VIA support in KBD6X keymap
* Disable LTO on ChibiOS boards
* Disable locking support and Magic keycodes for all keymaps
* Organize and annotate rules.mk and config.h files
* Enable Console for Melody96 keymap
* L_RANGE_KEYMAP → LAYERS_KEYMAP
* Revert "Replace custom RCTRL implementation with built-in LM"
This reverts commit 17d706a82d7e31b53cd84efeb9b2ddb9922a2368.
* Set DYNAMIC_KEYMAP_LAYER_COUNT to 3 in Doro67 and Wasdat keymaps
* Enable Bootmagic Lite for all VIA keymaps
* added koy layout to qmk on xd75 board
* added koy keymap for the atreus62 board
* reduced time for autoshift
* added documentation
* changed layer 7 to a tap toggle and adjusted mouse speed a little
* Update keyboards/xd75/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h
* Update keyboards/xd75/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h
* Update keyboards/xd75/keymaps/ScheiklP/koy_common.h
* Update keyboards/atreus62/keymaps/ScheiklP/koy_common.h
* Update keyboards/atreus62/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h
* Update keyboards/atreus62/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h
* changed keymap to lowercase name to conform with qmk guidelines
* Update keyboards/xd75/keymaps/scheiklp/rules.mk
remove unnecessary rules
* Update keyboards/atreus62/keymaps/scheiklp/rules.mk
remove unnecessary rules
* moved common files for koy layouts to the users folder and removed empty file
* Update keyboards/atreus62/keymaps/scheiklp/keymap.c
* Update keyboards/xd75/keymaps/scheiklp/readme.md
* Update keyboards/xd75/keymaps/scheiklp/readme.md
* Update keyboards/atreus62/keymaps/scheiklp/readme.md
* Update keyboards/atreus62/keymaps/scheiklp/readme.md
* [kle2jinfo] use min/max instead of if
This is a slight change.
Before, the key_skel would keep the invalid value for future keys.
I think this is what was actually intended.
* [kle2info] calculate x
x is the current_x * key_size + (key_size/2)
y is the current_y * key_size + (key_size/2)
no reason to track both
* Improve stock bootloader list
* Switch version numbers on USB64/128 bootloaders
* Unix line endings for PS2AVRGB bootloader
* Update PS2AVRGB bootloader to 1.0.1
* Also mention bootloader rule
* Didn't need to change the links
This commits add the SH_OS keycode, which works similarly to one shot
layers:
* while pressed, the keyboard is swapped
* if no keys were pressed while it was pressed, the next key press is
swapped
SH_OS also supports chaining with one shot layers:
OSL(x) + SH_OS + key interprets the key press on the oneshot layer.
The ONESHOT_TIMEOUT setting used by one shot keys and layers is also
used by oneshot swap hands. In the above chaining scenario the timeout
of the oneshot layer is reset when swap hands is activated.
Resolves#2682
* Allow 16 lighting layers
* Require #define RGBLIGHT_LAYERS_16 to enable 16 layers
* Override RGBLIGHT_MAX_LAYERS to set maximum number of lighting layers
* Enforce lower bound on RGBLIGHT_MAX_LAYERS
Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
* Fix an error in the check for valid RGBLIGHT_MAX_LAYERS
* Don't use bitfield / PACKED, as it causes bloat
* Update documentation re: up to 32 lighting layers
* Run cformat
* Add note about increasing FW size in docs/config_options.md
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Remove no-longer-valid comment
* Add doc note that split sync will be slower
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
The list of changes follows.
## Core Changes
### Converting V-USB usbdrv to a submodule
[#8321](https://github.com/qmk/qmk_firmware/pull/8321) and [qmk_compiler#62](https://github.com/qmk/qmk_compiler/pull/62).
These PRs move the V-USB driver code out of the qmk_firmware repository and into a submodule pointed at https://github.com/obdev/v-usb. This will make it easier to update the codebase if needed, while applying any potential QMK-specific modifications by forking it to the QMK GitHub organization.
This is the last release of QMK that will work without having Python 3.6 (or later) installed. If your environment is not fully setup you will get a warning instructing you to set it up.
After the next breaking change you will not be able to build if `bin/qmk hello` does not work.
- Changes `RGB_DISABLE_AFTER_TIMEOUT` to be based on milliseconds instead of ticks.
- Includes a code cleanup, resulting in a savings of 100 bytes, depending on features used.
- Fixed issues with timeouts / suspending at the wrong time not turning off all LEDs in some cases.
The `RGB_DISABLE_AFTER_TIMEOUT` definition is now deprecated, and has been superseded by `RGB_DISABLE_TIMEOUT`. To use the new definition, rename `RGB_DISABLE_AFTER_TIMEOUT` to `RGB_DISABLE_TIMEOUT` in your `config.h` file, and multiply the value set by 1200.
Removes the deprecated `PLAY_NOTE_ARRAY` macro. References to it are replaced with `PLAY_SONG`, which references the same function.
### fixing wrong configuration of AUDIO feature
[#8903](https://github.com/qmk/qmk_firmware/pull/8903) and [#8974](https://github.com/qmk/qmk_firmware/pull/8974)
`audio_avr.c` does not default to any pin; there has to be a #define XX_AUDIO in config.h at some level for Audio to actually work. Otherwise, the Audio code ends up cluttering the firmware, possibly breaking builds because the maximum allowed firmware size is exceeded.
These changes fix this by disabling Audio on keyboards that have the feature misconfigured, and therefore non-functional.
Also, add a compile-time error to alert the user to a missing pin-configuration (on AVR boards) when `AUDIO_ENABLE = yes` is set.
Modifies the default firmware for Lily58 to use the `split_common` library, instead of including and depending on its own set of libraries for the following functionality:
- SSD1306 display
- i2c for OLED
- Serial Communication
This allows current lily58 firmware to advance with updates to the `split_common` library, which is shared with many other split keyboards.
#### To migrate existing Lily58 firmware:
[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-445ac369c8717dcd6fc6fc3630836fc1):
- Remove `#define SSD1306OLED` from config.h
[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7):
- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE`
- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190)
- Alternatively, if you did not change the OLED code from that in `default`, you may find it easier to simply copy the [relevant section](https://github.com/qmk/qmk_firmware/blob/4ac310668501ae6786c711ecc8f01f62ddaa1c0b/keyboards/lily58/keymaps/default/keymap.c#L138-L172). Otherwise, the changes you need to make are as follows (sample change [here](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7R138-R173))
- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L138-L141) the block
```c
#ifdef SSD1306OLED
iota_gfx_init(!has_usb()); // turns on the display
#endif
```
- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides:
Modifies the default firmware for TKC1800 to use the in-built I2C and OLED drivers, instead of including and depending on its own set of libraries for the following functionality:
- SSD1306 display
- i2c for OLED
This allows current TKC1800 firmware to advance with updates to those drivers, which are shared with other keyboards.
#### To migrate existing TKC1800 firmware:
[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-d10b26e676b4a55cbb00d71955116526):
- Remove `#define SSD1306OLED` from config.h
[Changes to `tkc1800.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-3b35bd30abe89c8110717c6972cd2cc5):
- Add the following to avoid debug errors on HID_listen if the screen is not present
```c
void keyboard_pre_init_kb(void) {
setPinInputHigh(D0);
setPinInputHigh(D1);
keyboard_pre_init_user();
}
```
[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-05a2a344ce27e4d045fe68520ccd4771):
- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE`
- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190)
- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L91-L158) the block
```c
#ifdef SSD1306OLED
iota_gfx_init(!has_usb()); // turns on the display
#endif
```
- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides:
- Splits the HHKB codebase into two separate folders `keyboards/hhkb/ansi` and `keyboards/hhkb/jp`.
- Adds VIA Configurator support for both versions.
#### Migrating existing HHKB keymaps
- Remove any checks for the `HHKB_JP` definition
- All checks for this definition have been removed, and each version uses the source that is appropriate to that version.
- Move the directory for your keymap into the appropriate `keymaps` directory
- `keyboards/hhkb/ansi/keymaps/` for ANSI HHKBs
- `keyboards/hhkb/jp/keymaps/` for HHKB JPs
- Compile with the new keyboard names
- This PR changes the compilation instructions for the HHKB Alternate Controller. To compile firmware for this controller moving forward, use:
- `make hhkb/ansi` for ANSI-layout HHKBs
- `make hhkb/jp` for HHKB JP keyboards
## Keyboard Moves
- [#8412](https://github.com/qmk/qmk_firmware/pull/8412 "Changing board names to prevent confusion") by blindassassin111
- [#8499](https://github.com/qmk/qmk_firmware/pull/8499 "Move the Keyboardio Model01 to a keyboardio/ subdir") by algernon
- [#8830](https://github.com/qmk/qmk_firmware/pull/8830 "Move spaceman keyboards") by Spaceman (formerly known as Rionlion100)
- [#8537](https://github.com/qmk/qmk_firmware/pull/8537 "Organizing my keyboards (plaid, tartan, ergoinu)") by hsgw
Keyboards by Keyboardio, Spaceman, and hsgw move to vendor folders, while PCBs designed by blindassassin111 are renamed.
Old Name | New Name
:----------------- | :-----------------
2_milk | spaceman/2_milk
at101_blackheart | at101_bh
ergoinu | dm9records/ergoinu
model01 | keyboardio/model01
omnikey_blackheart | omnikey_bh
pancake | spaceman/pancake
plaid | dm9records/plaid
tartan | dm9records/tartan
z150_blackheart | z150_bh
If you own one of these PCBs, please use the new names to compile your firmware moving forward.
## Keycode Migration PRs
[#8954](https://github.com/qmk/qmk_firmware/pull/8954 "Migrate `ACTION_LAYER_TOGGLE` to `TG()`"), [#8957](https://github.com/qmk/qmk_firmware/pull/8957 "Migrate `ACTION_MODS_ONESHOT` to `OSM()`"), [#8958](https://github.com/qmk/qmk_firmware/pull/8958 "Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()`"), [#8959](https://github.com/qmk/qmk_firmware/pull/8959 "Migrate `ACTION_LAYER_MODS` to `LM()`"), [#8968](https://github.com/qmk/qmk_firmware/pull/8968 "Migrate `ACTION_MODS_TAP_KEY` to `MT()`"), [#8977](https://github.com/qmk/qmk_firmware/pull/8977 "Migrate miscellaneous `fn_actions` entries"), and [#8979](https://github.com/qmk/qmk_firmware/pull/8979 "Migrate `ACTION_MODS_KEY` to chained mod keycodes")
Authored by fauxpark, these pull requests remove references to deprecated TMK macros that have been superseded by native QMK keycodes.
@ -39,7 +39,7 @@ Then place this include at the top of your code:
|12 | |`B5` | | |
|13 | |`B6` | | |
<sup>\* The ATmega328P possesses two extra ADC channels; however, they are not present on the DIP pinout, and are not shared with GPIO pins. You can use `adc_read()` directly to gain access to these.</sup>
<sup>\* The ATmega328/P possesses two extra ADC channels; however, they are not present on the DIP pinout, and are not shared with GPIO pins. You can use `adc_read()` directly to gain access to these.</sup>
@ -6,27 +6,28 @@ The breaking change period is when we will merge PR's that change QMK in dangero
## What has been included in past Breaking Changes?
* [2020 May 30](ChangeLog/20200530.md)
* [2020 Feb 29](ChangeLog/20200229.md)
* [2019 Aug 30](ChangeLog/20190830.md)
## When is the next Breaking Change?
The next Breaking Change is scheduled for May 30, 2020.
The next Breaking Change is scheduled for Aug 29, 2020.
### Important Dates
* [x] 2020 Feb 29 - `future` is created. It will be rebased weekly.
* [ ] 2020 May 2 - `future` closed to new PR's.
* [ ] 2020 May 2 - Call for testers.
* [ ] 2020 May 28 - `master` is locked, no PR's merged.
* [ ] 2020 May 30 - Merge `future` to `master`.
* [ ] 2020 May 30 - `master` is unlocked. PR's can be merged again.
* [x] 2020 May 30 - `develop` is created. It will be rebased weekly.
* [ ] 2020 Aug 1 - `develop` closed to new PR's.
* [ ] 2020 Aug 1 - Call for testers.
* [ ] 2020 Aug 27 - `master` is locked, no PR's merged.
* [ ] 2020 Aug 29 - Merge `develop` to `master`.
* [ ] 2020 Aug 29 - `master` is unlocked. PR's can be merged again.
## What changes will be included?
To see a list of breaking change candidates you can look at the [`breaking_change` label](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). New changes might be added between now and when `future` is closed, and a PR with that label applied is not guaranteed to be merged.
To see a list of breaking change candidates you can look at the [`breaking_change` label](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). New changes might be added between now and when `develop` is closed, and a PR with that label applied is not guaranteed to be merged.
If you want your breaking change to be included in this round you need to create a PR with the `breaking_change` label and have it accepted before `future` closes. After `future` closes no new breaking changes will be accepted.
If you want your breaking change to be included in this round you need to create a PR with the `breaking_change` label and have it accepted before `develop` closes. After `develop` closes no new breaking changes will be accepted.
Criteria for acceptance:
@ -37,9 +38,9 @@ Criteria for acceptance:
This section documents various processes we use when running the Breaking Changes process.
## Rebase `future` from `master`
## Rebase `develop` from `master`
This is run every Friday while `future` is open.
This is run every Friday while `develop` is open.
Process:
@ -47,31 +48,31 @@ Process:
cd qmk_firmware
git checkout master
git pull --ff-only
git checkout future
git checkout develop
git rebase master
git push --force
```
## Creating the `future` branch
## Creating the `develop` branch
This happens immediately after the previous `future` branch is merged.
This happens immediately after the previous `develop` branch is merged.
* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git checkout -b future`
* [ ] `git checkout -b develop`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push origin future`
* [ ] `git push origin develop`
* [ ] `git push --tags`
## 4 Weeks Before Merge
* `future` is now closed to new PR's, only fixes for current PR's may be merged
* `develop` is now closed to new PR's, only fixes for current PR's may be merged
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
@ -94,15 +95,15 @@ This happens immediately after the previous `future` branch is merged.
## Day Of Merge
* `qmk_firmware` git commands
* [ ] `git checkout future`
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] `git rebase origin/master`
* [ ] Edit `readme.md`
* [ ] Remove the notes about `future`
* [ ] Remove the notes about `develop`
* [ ] Roll up the ChangeLog into one file.
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
@ -27,7 +27,7 @@ If you are contributing core code, and the only reason it needs to go through br
We require submissions that go through the Breaking Change process to include a changelog entry. The entry should be a short summary of the changes your pull request makes – [each section here started as a changelog](ChangeLog/20190830.md "n.b. This should link to the 2019 Aug 30 Breaking Changes doc - @noroadsleft").
Your changelog should be located at `docs/ChangeLog/YYYYMMDD/PR####.md`, where `YYYYMMDD` is the date on which QMK's breaking change branch – usually named `future` – will be merged into the `master` branch, and `####` is the number of your pull request.
Your changelog should be located at `docs/ChangeLog/YYYYMMDD/PR####.md`, where `YYYYMMDD` is the date on which QMK's breaking change branch – usually named `develop` – will be merged into the `master` branch, and `####` is the number of your pull request.
If your submission requires action on the part of users, your changelog should instruct users what action(s) must be taken, or link to a location that does so.
@ -13,18 +13,17 @@ QMK requires Python 3.6 or greater. We try to keep the number of requirements sm
If you have installed [Homebrew](https://brew.sh) you can tap and install QMK:
```
brew tap qmk/qmk
brew install qmk
brew install qmk/qmk/qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
### Install Using easy_install or pip :id=install-using-easy_install-or-pip
### Install Using pip :id=install-using-easy_install-or-pip
If your system is not listed above you can install QMK manually. First ensure that you have python 3.6 (or later) installed and have installed pip. Then install QMK with this command:
If your system is not listed above you can install QMK manually. First ensure that you have Python 3.6 (or later) installed and have installed pip. Then install QMK with this command:
```
pip3 install qmk
python3 -m pip install qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
This command allows you to compile firmware from any directory. You can compile JSON exports from <https://config.qmk.fm>, compile keymaps in the repo, or compile the keyboard in the current working directory.
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
**Usage for Configurator Exports**:
```
@ -73,8 +75,9 @@ $ qmk compile -kb dz60
## `qmk flash`
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default.
To specify a different bootloader, use `-bl <bootloader>`. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders.
This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl <bootloader>`. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders.
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
**Usage for Configurator Exports**:
@ -128,6 +131,32 @@ Check your environment and report problems only:
qmk doctor -n
## `qmk info`
Displays information about keyboards and keymaps in QMK. You can use this to get information about a keyboard, show the layouts, display the underlying key matrix, or to pretty-print JSON keymaps.
**Usage**:
```
qmk info [-f FORMAT] [-m] [-l] [-km KEYMAP] [-kb KEYBOARD]
```
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
**Examples**:
Show basic information for a keyboard:
qmk info -kb planck/rev5
Show the matrix for a keyboard:
qmk info -kb ergodox_ez -m
Show a JSON keymap for a keyboard:
qmk info -kb clueboard/california -km default
## `qmk json2c`
Creates a keymap.c from a QMK Configurator export.
@ -152,6 +181,8 @@ qmk list-keyboards
This command lists all the keymaps for a specified keyboard (and revision).
This command is directory aware. It will automatically fill in KEYBOARD if you are in a keyboard directory.
**Usage**:
```
@ -162,6 +193,8 @@ qmk list-keymaps -kb planck/ez
This command creates a new keymap based on a keyboard's existing default keymap.
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
We use [nose2](https://nose2.readthedocs.io/en/latest/getting_started.html) to run our tests. You can refer to the nose2 documentation for more details on what you can do in your test functions.
@ -43,8 +43,6 @@ This is a C header file that is one of the first things included, and will persi
* generally who/whatever brand produced the board
* `#define PRODUCT Board`
* the name of the keyboard
* `#define DESCRIPTION a keyboard`
* a short description of what the keyboard is
* `#define MATRIX_ROWS 5`
* the number of rows in your keyboard's matrix
* `#define MATRIX_COLS 15`
@ -192,8 +190,13 @@ If you define these options you will enable the associated feature, which may in
* run RGB animations
* `#define RGBLIGHT_LAYERS`
* Lets you define [lighting layers](feature_rgblight.md?id=lighting-layers) that can be toggled on or off. Great for showing the current keyboard layer or caps lock state.
* `#define RGBLIGHT_MAX_LAYERS`
* Defaults to 8. Can be expanded up to 32 if more [lighting layers](feature_rgblight.md?id=lighting-layers) are needed.
* Note: Increasing the maximum will increase the firmware size and slow sync on split keyboards.
* `#define RGBLIGHT_LAYER_BLINK`
* Adds ability to [blink](feature_rgblight.md?id=lighting-layer-blink) a lighting layer for a specified number of milliseconds (e.g. to acknowledge an action).
* `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF`
* If defined, then [lighting layers](feature_rgblight?id=overriding-rgb-lighting-onoff-status) will be shown even if RGB Light is off.
* `#define RGBLED_NUM 12`
* number of LEDs
* `#define RGBLIGHT_SPLIT`
@ -245,7 +248,10 @@ There are a few different ways to set handedness for split keyboards (listed in
* `#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.
* `#define EE_HANDS` (only works if `SPLIT_HAND_PIN` is not defined)
* The handedness is determined by using the intersection of the keyswitches in the key matrix, which does not exist. Normally, when this intersection is shorted (level low), it is considered left. If you define `#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, it is determined to be right when the level is low.
* `#define EE_HANDS` (only works if `SPLIT_HAND_PIN` and `SPLIT_HAND_MATRIX_GRID` are not defined)
* Reads the handedness value stored in the EEPROM after `eeprom-lefthand.eep`/`eeprom-righthand.eep` has been flashed to their respective halves.
@ -12,7 +12,7 @@ I'll say that again because it's important:
!> **MAKE SURE YOU SELECT THE RIGHT VERSION!**
If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own github accounts. Double check for that as well. <!-- FIXME(skullydazed): This feels too wordy and I'm not sure we want to encourage these kinds of issues. Also, should we prompt them to bug the manufacutrer? -->
If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own GitHub accounts. Double check for that as well. <!-- FIXME(skullydazed): This feels too wordy and I'm not sure we want to encourage these kinds of issues. Also, should we prompt them to bug the manufacutrer? -->
return true; // Let QMK send the enter press/release events
case RGB_LYR: // This allows me to use underglow as layer indication, or as normal
@ -486,56 +486,3 @@ 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 and related options (such as `IGNORE_MOD_TAP_INTERRUPT`) are defined globally, and are not configurable by key. For most users, this is perfectly fine. But in some cases, dual function keys would be greatly improved by different timeout behaviors 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 timeout behaviors.
There are two configurable options to control per-key timeout behaviors:
- `TAPPING_TERM_PER_KEY`
- `IGNORE_MOD_TAP_INTERRUPT_PER_KEY`
You need to add `#define` lines to your `config.h` for each feature you want.
```
#define TAPPING_TERM_PER_KEY
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
```
## 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;
}
}
```
## Example `get_ignore_mod_tap_interrupt` Implementation
To change the `IGNORE_MOD_TAP_INTERRUPT` value based on the keycode, you'd want to add something like the following to your `keymap.c` file:
## `get_tapping_term` / `get_ignore_mod_tap_interrupt` 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 user level functions are useful here, so no need to mark them as such.
@ -13,7 +13,7 @@ QMK (*Quantum Mechanical Keyboard*) ist eine Open-Source-Community, welche die Q
## Bezugsquelle für QMK
Wenn Du vorhast, deine Tastatur, Tastaturbelegung oder Features zu QMK beizusteuern, geht das am einfachsten, indem Du das [Repository auf Github](https://github.com/qmk/qmk_firmware#fork-destination-box) forkst, die Änderungen in deinem lokalen Repo vornimmst und anschließend einen [Pull Request](https://github.com/qmk/qmk_firmware/pulls) einreichst.
Wenn Du vorhast, deine Tastatur, Tastaturbelegung oder Features zu QMK beizusteuern, geht das am einfachsten, indem Du das [Repository auf GitHub](https://github.com/qmk/qmk_firmware#fork-destination-box) forkst, die Änderungen in deinem lokalen Repo vornimmst und anschließend einen [Pull Request](https://github.com/qmk/qmk_firmware/pulls) einreichst.
Ansonsten kannst Du es als [zip](https://github.com/qmk/qmk_firmware/zipball/master) oder [tar](https://github.com/qmk/qmk_firmware/tarball/master) herunterladen, oder es direkt via git klonen (`git clone git@github.com:qmk/qmk_firmware.git` bzw. `git clone https://github.com/qmk/qmk_firmware.git`).
@ -61,4 +61,4 @@ This page describes my cool feature. You can use my cool feature to make coffee
|KC_SUGAR||Order Sugar|
```
Place your documentation into `docs/feature_<my_cool_feature>.md`, and add that file to the appropriate place in `docs/_sidebar.md`. If you have added any keycodes be sure to add them to `docs/keycodes.md` with a link back to your feature page.
Place your documentation into `docs/feature_<my_cool_feature>.md`, and add that file to the appropriate place in `docs/_summary.md`. If you have added any keycodes be sure to add them to `docs/keycodes.md` with a link back to your feature page.
`EEPROM_DRIVER = vendor` (default) | Uses the on-chip driver provided by the chip manufacturer. For AVR, this is provided by avr-libc. This is supported on ARM for a subset of chips -- STM32F3xx, STM32F1xx, and STM32F072xB will be emulated by writing to flash. STM32L0xx and STM32L1xx will use the onboard dedicated true EEPROM. Other chips will generally act as "transient" below.
`EEPROM_DRIVER = i2c` | Supports writing to I2C-based 24xx EEPROM chips. See the driver section below.
`EEPROM_DRIVER = spi` | Supports writing to SPI-based 25xx EEPROM chips. See the driver section below.
`EEPROM_DRIVER = transient` | Fake EEPROM driver -- supports reading/writing to RAM, and will be discarded when power is lost.
`#define STM32_ONBOARD_EEPROM_SIZE` | The size of the EEPROM to use, in bytes. Erase times can be high, so it's configurable here, if not using the default value. | Minimum required to cover base _eeconfig_ data, or `1024` if VIA is enabled.
Currently QMK supports 24xx-series chips over I2C. As such, requires a working i2c_master driver configuration. You can override the driver configuration via your config.h:
?> If you find that the EEPROM is not cooperating, ensure you've correctly shifted up your EEPROM address by 1. For example, the datasheet might state the address as `0b01010000` -- the correct value of `EXTERNAL_EEPROM_I2C_BASE_ADDRESS` needs to be `0b10100000`.
Currently QMK supports 25xx-series chips over SPI. As such, requires a working spi_master driver configuration. You can override the driver configuration via your config.h:
@ -13,7 +13,7 @@ QMK (*Quantum Mechanical Keyboard*) es una comunidad open source que mantiene el
## Cómo conseguirlo
Si estás pensando en contribuir con un keymap, teclado, or característica a QMK, la manera más sencilla es hacer un [fork del repositorio en Github](https://github.com/qmk/qmk_firmware#fork-destination-box), y clonar tu repositorio localmente para hacer los cambios, subirlos, y abir un [Pull Request](https://github.com/qmk/qmk_firmware/pulls) desde tu fork.
Si estás pensando en contribuir con un keymap, teclado, or característica a QMK, la manera más sencilla es hacer un [fork del repositorio en GitHub](https://github.com/qmk/qmk_firmware#fork-destination-box), y clonar tu repositorio localmente para hacer los cambios, subirlos, y abir un [Pull Request](https://github.com/qmk/qmk_firmware/pulls) desde tu fork.
De cualquier manera, también puedes descargarlo directamente en formatos ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), o clonarlo via git (`git@github.com:qmk/qmk_firmware.git`), o https (`https://github.com/qmk/qmk_firmware.git`).
@ -67,7 +67,7 @@ El archivo `config.h` es donde configuras el hardware y el conjunto de caracter
En la parte superior de `config.h` encontrarás ajustes relacionados con USB. Estos controlan la apariencia de tu teclado en el Sistema Operativo. Si no tienes una buena razón para cambiar debes dejar el `VENDOR_ID` como `0xFEED`. Para el `PRODUCT_ID` debes seleccionar un número que todavía no esté en uso.
Cambia las líneas de `MANUFACTURER`, `PRODUCT`, y `DESCRIPTION` para reflejar con precisión tu teclado.
Cambia las líneas de `MANUFACTURER` y `PRODUCT` para reflejar con precisión tu teclado.
```c
#define VENDOR_ID 0xFEED
@ -75,7 +75,6 @@ Cambia las líneas de `MANUFACTURER`, `PRODUCT`, y `DESCRIPTION` para reflejar c
#define DEVICE_VER 0x0001
#define MANUFACTURER Tú
#define PRODUCT mi_teclado_fantastico
#define DESCRIPTION Un teclado personalizado
```
?> Windows y macOS mostrarán el `MANUFACTURER` y `PRODUCT` en la lista de dispositivos USB. `lsusb` en Linux toma estos de la lista mantenida por el [Repositorio de ID USB](http://www.linux-usb.org/usb-ids.html) por defecto. `lsusb -v` mostrará los valores reportados por el dispositivo, y también están presentes en los registros del núcleo después de conectarlo.
@ -21,7 +21,7 @@ Lo diré otra vez porque es importante
!> **ASEGÚRATE DE QUE SELECCIONAS LA VERSIÓN CORRECTA!**
Si se ha anunciado que tu teclado funciona con QMK pero no está en la lista, es probable que un desarrollador no se haya encargado de él aún o que todavía no hemos tenido la oportunidad de incluirlo. Abre un issue en [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) solicitando soportar ese teclado un particular, si no hay un [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) activo para ello. Hay también teclados que funcionan con QMK que están en las cuentas de github de sus manufacturantes. Acuérdate de comprobar esto también.
Si se ha anunciado que tu teclado funciona con QMK pero no está en la lista, es probable que un desarrollador no se haya encargado de él aún o que todavía no hemos tenido la oportunidad de incluirlo. Abre un issue en [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) solicitando soportar ese teclado un particular, si no hay un [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) activo para ello. Hay también teclados que funcionan con QMK que están en las cuentas de GitHub de sus manufacturantes. Acuérdate de comprobar esto también.
* [Juego de Git para aprender usando ejemplos](https://learngitbranching.js.org/)
* [Recursos de Git para aprender más sobre Github](getting_started_github.md)
* [Recursos de Git para aprender más sobre GitHub](getting_started_github.md)
* [Recursos de Git dirigidos específicamente a QMK](contributing.md)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.