* 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
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
voidkeyboard_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.
@ -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.
@ -197,6 +197,8 @@ If you define these options you will enable the associated feature, which may in
* 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.
@ -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? -->
returntrue;// Let QMK send the enter press/release events
caseRGB_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_tget_tapping_term(uint16_tkeycode){
switch(keycode){
caseSFT_T(KC_SPC):
returnTAPPING_TERM+1250;
caseLT(1,KC_GRV):
return130;
default:
returnTAPPING_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`).
`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`).
@ -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.
@ -44,7 +44,11 @@ To connect your host computer to your keyboard with raw HID you need four pieces
3. Usage Page
4. Usage
The first two can easily be found in your keyboard's `config.h` in the keyboard's main directory under `VENDOR_ID` and `PRODUCT_ID`.**Usage Page** is **`0xFF60`** and **Usage** is **`0x0061`**.
The first two can easily be found in your keyboard's `config.h` in the keyboard's main directory under `VENDOR_ID` and `PRODUCT_ID`.
The final two can be overridden in your keyboard's `config.h` in the keyboard's main directory by redefining the values: `#define RAW_USAGE_PAGE 0xFF60` and `#define RAW_USAGE_ID 0x61`.
By default, **Usage Page** is `0xFF60` and **Usage** is `0x61`.
@ -374,7 +374,8 @@ These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blo
```c
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
#define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects
#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
@ -437,12 +438,16 @@ Where `28` is an unused index from `eeconfig.h`.
|`rgb_matrix_sethsv_noeeprom(h, s, v)` |Set LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
|`rgb_matrix_is_enabled()` |Gets current on/off status |
|`rgb_matrix_get_mode()` |Gets current mode |
|`rgb_matrix_get_hue()` |Gets current hue |
|`rgb_matrix_get_sat()` |Gets current sat |
|`rgb_matrix_get_val()` |Gets current val |
|`rgb_matrix_get_hsv()` |Gets hue, sat, and val and returns a [`HSV` structure](https://github.com/qmk/qmk_firmware/blob/7ba6456c0b2e041bb9f97dbed265c5b8b4b12192/quantum/color.h#L56-L61)|
|`rgb_matrix_get_speed()` |Gets current speed |
|`rgb_matrix_get_suspend_state()` |Gets current suspend state |
Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`.
## Functions
If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include:
@ -376,12 +380,14 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2
|`rgblight_set_layer_state(i, is_on)` |Enable or disable lighting layer `i` based on value of `bool is_on` |
@ -8,9 +8,20 @@ QMK Firmware has a generic implementation that is usable by any board, as well a
For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards.
!> ARM is not yet supported for Split Keyboards. Progress is being made, but we are not quite there, yet.
!> ARM is not yet fully supported for Split Keyboards and has many limitations. Progress is being made, but we have not yet reached 100% feature parity.
1. Both hardware and software limitations are detailed within the [driver documentation](serial_driver.md).
## Hardware Configuration
This assumes that you're using two Pro Micro-compatible controllers, and are using TRRS jacks to connect to two halves.
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.