* Add reset instructions for boards that use Command to the Zadig driver installation guide
* -> → →
* Apply suggestions from code review
Replace shorthand keycode names with full names
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Added ottodokto keymaps for dz60 and tmo50.
* moved placement of keymaps to proper directory
* fixed accidental deletion of semicolon for tmo50 map
* fix to use short form codes
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* provide means to turn on RTP mode and set the amplitude
* new keycode HPT_CONT to turn RTP off/on
* introduce new keycodes HPT_CONI, and HPT_COND for Haptic Continuous Increase and Decrease
* support for continuous mode amplitude increase and decrease
* code cleanup
* update docs to reference new keycodes and functionality
* don't touch the keymaps
* add function prototypes
* add proper guards
* cleanup guards
* remove extra reserved
* move caps lock led to keyboard level so even QMK Configurator users have access to it
* set bootloader correctly to atmel-dfu
* clean up extra carriage return
* Updated encoder.c so that split encoders are indexed based on left hand encoders first.
This ensures when swapping master sides that code logic based on encoder index doesn't change.
PR Review fixes
* Removed extra define
* convert codebase to #pragma once
* fix file includes
- quantum.h is included at keyboard level, redundant at revision level
- keyboard-level path is accessible at revision level, remove relative pathing
* duplicate common layout macros from rev1 to rev2
Add the layout macros supported by both rev1 and rev2 to rev2.h directly, which exposes these layouts to QMK Configurator.
* enable community layout support (75_ansi, 75_iso)
* add LAYOUT_75_iso layout data
It needs its own tree because its keys are in a different order from LAYOUT_iso_1u even though the physical layout is the same.
* minimize rules.mk files (use QMK defaults)
* use atmel-dfu bootloader rule
* fix typo on rev1 info.json
* making a new board setup for ymdk bface clone
* removing extra keymaps that copied over
* documentation and edits for new ymdk_bface board
* cleaning up config and keymaps
* removed extra keymap and working on READMEs
* readme edits
* shorter aliexpress link in ymdk_bface readme
* added images to readmes and edited the keymaps
* more flashing directions
* Mac directions formatting
* editing and creating the all layout
* cleanign up ymdk_bface keymaps
* fixed typos in layout
* removed tabs
* cleaned up the LED and Backlight configuration.
* adding more to info.josn and cleaning up readme
* fixing JSON typos
* made a ymdk folder and moved the bface into it.
* fixing file names for the new folder structure
* Added Xerpocalypse's layout
+ Number row and symbols are switched compared to default TMO50 layout
+ Right-hand spacebar acts as backspace and a hold-layer for layer 2.
* Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c
Removed unnecessary #define
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c
Changed keymap to use KC_UNDS instead of custom-defined keycode
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* get rid of custom matrix that is no longer being used
* remove _kc LAYOUT
* remove ifdefs and replace with pragma once
* cleanup rules and use bootmagic lite
* get rid of led.c
* Update keyboards/alps64/alps64.c
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* remove unneeded configurations
* Fix Planck default keymap to play sounds on rev6
The dip_switch_update callback was overriding the default startup sound. This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate.
* Fix Preonic default keymap to play sounds on Rev 3
The dip_switch_update callback was overriding the default startup sound. This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate.
* Fix enables for Haptic Feedback
If you enabled bothe DRV2605 and SOLENOID, it would only enable one of these, not both.
This fixes the check so that you can enable both options.
* Fix check for haptic feature
It was sending a comma keypress, while I believe that the targeted
stenography software (at least on systems that generally use
US-International keyboard layout) expects a single-quote/apostrophe key.
* adding working 2key2crawl
Adding working 2key2crawl files
edited files in accordance with original PR comments
* Changes
Changes and updates
* Update readme.md
* Update config.h
removed IS_COMMAND block that was missed in previous commit
* Changes to vol/keymap.c
Removed unneccesary function
* adding a custom mf68 keymap
* added custom tada68 keymap
* readme edit on tada68 map
* added mac fast-forward and rewind keybindings to tada68 emdarcher keymap
* tada68 keymap documentation and edits
* cleanup and edits
* typo fix in emdarcher's tada68 keymap
* cleaning up emdarcher keymap for tada68
* cleaned up emdarcher keymap for mf68
* Created python version of new_keymap.sh: new_keymap.py
* Updated usage message
* Updated new_keymap.py to use python3.5+ syntax & be more similar to new_keyboard.sh
* Updated complete message
* Updated usage in argparser and removed incorrect usage_message
* Reverted the fstrings back to strings that use .format() & updated docstring convention
* Added helper to recursively cd .. until at qmk_firmware root directory
* Revert "Added helper to recursively cd .. until at qmk_firmware root directory"
This reverts commit 61a0ff3b25f91901287bec8d58eb51a1f126e2ad.
* Updated new_keymap.py to use printf-style format strings
* First draft lib/python/qmk/cli/new/keymap.py with milc
* Removed shebang & syspath appending lines
* Added optional args & resolved some cr comemnts
* Added a docstring and updated strings
* Added new 2x5 Keypad with 3 LEDs to indicate the selected layer. By Jonathan Cameron.
* Minor refactor from suggestions from qmk team
* Added
* Moved to 'handwired' directory
* Update readme.md
* Update readme.md
* Update readme.md
* Update keyboards/handwired/2x5keypad/readme.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Switch to image offsite
* Moved image offsite
* Update keyboards/handwired/2x5keypad/keymaps/default/keymap.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/handwired/2x5keypad/2x5keypad.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Moved functions into .c file per suggestions
* Cosmetic
* Fixed function called, per suggestions.
* Update keyboards/handwired/2x5keypad/2x5keypad.h
Ok
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Moved LED functions to the top level since they can be used it various flavors
* Declare those moved LED functions!
* Update keyboards/handwired/2x5keypad/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
The E6.5 is the new 65% keyboard made by Exclusive.
This changeset adds its PCB to QMK, including all the bottom row
variants and iso/ansi/split BS layouts.
* add dp60 keyboard
* fixup wording in readme
* fix layout name in default keymap. I was missing an r
* Add QMK Configurator support for the additional layouts
* Update keyboards/dp60/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/dp60/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/dp60/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/dp60/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/dp60/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* strip out the VIA enabling from default rules.mk
* add a VIA only keymap
* Add Rabbit68 Keyboard w/ default,kaiec keymaps.
* Requested changes by @fauxpark
* Change flash command, as suggested by @drashna
* Update keyboards/rabbit/rabbit68/readme.md
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Add link to Github repo
As I per suggestion changed the link above to an image, I added now the link to the project page to the Open Source text, where it actually makes the most sense.
* change LAYOUT_ANSI to LAYOUT_60_ansi
* change QMK Configurator layout to LAYOUT_60_ansi as well
* add 60_ansi support so I can make my userspace =)
* update readme
* Very strange. ISO keymap is still using 60_ansi LAYOUT macro. But then again....no ISO hottswap dz60 has been released
* UT47.2 keymap/updates for Planck style layout switching
* UT47.2 keymap for Planck-style layout switching / code clean up
* UT47.2 keymap for Planck-style layout switching: Qwerty, Workman, Colemak, Colemak Mod-DH, and Dvorak added / code clean up
* Change the layout info to match the keymap
* Edit readme to contain relevant info for layout switching
* Edit readme to contain relevant info for layout switching
* Edit readme to contain relevant info for layout switching
* Edit readme to contain relevant info for layout switching. Add QMK Configurator file.
* Update readme.md with make information
* Undo breaking change in config.h
* Code cleanup
* Code cleanup
* Code cleanup
* More code cleanup
* Turn off more unnecessary features by default
* Double TAP_CODE_DELAY due to more media key issues
Even with this change, some of the rotary encoder turns on my BDN9's
volume knob still seem to get dropped. It's possible there's something
wrong with the encoder itself. (Maybe the TAP_CODE_DELAY actually causes
QMK to miss an encoder turn? Unclear.) The other knob (backlight
brightness) works fine, FWIW....
* Restructure userspace config.h a bit
* Hack around Instant60 Via EEPROM conflict
Remove this when #6589 is fixed for Via boards.
* Add backlight breathing and (EEPROM) reset to BDN9
* Add keymap for 9-Key macropad
* Add a quefrency keymap
* New Alt-ernate layouts
* Enable Per Key Tapping Term to preserve sanity
* Use underglow and mod lights for status on Corne
* Update the drashna_ms keymap for quefrency
* Disable Audio since there isn't enough space
* Update KC_MAKE to ues :flash target
* Cleanup ergodox layout
* Enable i2c support for Iris
* Add keymap support for CG_SWAP
* Enable RGB Matrix Shutdown mode
* enable heatmap
* Update gitlab CI to install python3
* Remove game macros
These are no longer needed, and haven't been used in ages
* Cleanup planck layout
* Add RGB Matrix fun and RGB cleanup
* Add keycode and config for RGB Matrix idle animations
* Clean up rgb idle animation code
* Add rgb idle keycode to keymaps
* Fix issues with rgb matrix idle animation
* Fix some handling for idle animation
* Reduce idle animation timeout to 15s to be more reasonable
* fix up rgb stuff
* Fix isses with rgb functions not being called for matrix
* Use custom EEPROM Magic Number so testing is easier
* Extend Default Layer macro to support a lot more layers
* Fix bjohnson macropad
* Adjust KC_MAKE to process mods for more consistent behavior
* Fix up rgb stuff on corne
* Corne OLED Overhaul
* Fixes a number of issues with weirdness.
* Fixes issues with keylogger (should be more reliable now)
* Modulaize the OLED render sections
* Rewrite layer display code
* Update URL for Font Editor
Due to odd issues, I ended up rewriting from scratch. And using PROGMEM versions, since I think I was getting memory overflows.
* Update polling rate on all keebs
* Fix planck ez layout config
* Remove macros from Viterbi
* Update keymap.c
Additional functionality added to layers.
* Error fix
Fixed missing key in layer 5, fixed brightness keys with universal codes, made code more readable.
* fix missing commas
fixed missing commas on line 19 and line 23
* fix Indicator LED sticking on RGB off toggle.
fixes issue: LED indicators stay on when toggling RGB off
* fixup readme to adhere to QMK standards and to also have more information
* use pragma once
* strip out the custom bootmagic lite routine as it is the same as QMK's default bootmagic lite routine. Also add the caps lock led indicator
* turn on bootmagic lite
* update default keymap
* Update keyboards/playkbtw/ca66/ca66.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* remove lines 4 thru 37 and add bootloader
* Add missing void parameter declarations to *_light functions
* Add doro67/multi:konstantin keymap
* Allow FNLK to be canceled with Esc
* Function layer → Fn layer in keymap comments
* Fix battery level code in adafruit_ble.cpp
The code in tsk_core/protocol/lufa/adafluit_ble.cpp that polls the
battery level for the Adafruit feather BLE controller reads the
regulated voltage, not the raw voltage coming from the battery. To do
that, the Adafruit Feather docs say you should read from pin A9:
https://learn.adafruit.com/adafruit-feather-32u4-basic-proto/power-management#measuring-battery-4-9.
(See also
https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts#logic-pins-2-9.)
I'm not sure why, but analogRead(9); doesn't read the correct pin.
Checking all available analog pins experimentally, it turns out that
analogRead(7); returns the correct value. So the code above should read:
state.vbat = analogRead(7);
* Update tmk_core/protocol/lufa/adafruit_ble.cpp
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Remove old comment
* Fix linking error
* Remove `#ifdef` around `#include analog.h`.
* Really fix linking error
Add spacing to LAYOUT macros, add layout comments, improve consistency, fix ISO layout bug
* Remove placeholder comments in regular.h and rgb.h
* Change K## to k## in multi.h and regular.h
* Add alignment whitespace in Doro67 LAYOUT macros
* Update multi default keymaps and add layout comments
* Update rgb default keymap and add layout comments
* Add RESET to Fn layer in multi default keymaps
* Replace KC_GESC with KC_ESC in rgb default keymap for consistency with other Doro keymaps
* Update regular default keymap and add layout comments
* WIP
* Replace odd F1, F2 with proper split LShift/Backspace keys in default_multi
* Minor fixes and tweaks in multi default keymaps
* Fix Enter and NUHS positions in multi LAYOUT_iso
* Return true in process_record_user in rgb default keymap
* Update Enter position in multi info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update labels in multi info.json to match the default keymaps
* Enable Fn layer tap dances only if LAYER_FN is defined
* Update KBD6X keymap spacing to match LAYOUT spacing
* Add regular FNLK to userspace, update keymap comment labels
* Rename KC_BRK → BREAK, KC_SYSR → SYSRQ in userspace
* Change mousekey positions in KBD6X
* Disable Console in KBD6X to reduce firmware size
* Return false in process_record_* only when overriding existing keys
* Fix Caps light not working after LSFT_FN
* Refactor Fn/Caps light, fix sequencing issues
* Add Dip Switches as a core feature
* Add documentation for Dip Switch feature
* Update Preonic Rev3 to use new feature and remove custom matrix
* Apply suggestions from code review
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Remove custom matrix line completely
Rather than just disabling it
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* DIP changes
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Use better check for DIP Switch configuration
* Add to show features
* Add bitmask callback for dip switch
* Fix OLKB Boards dip switch config
* Update docs to include bitmask example
* Fix comments/documentation
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Fix issues with docs and use example from @tuzonghua
* Fix wording
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Fix example to use proper formatting
Bad, BAAAAAAD drashna!!!
* Handle dip switch initialization better
* Add `dfu-programmer` to `pacman -S` (#6618)
`dfu-programmer` now resides at `extra/dfu-programmer` and is no longer
in the AUR
* Add `--needed` option to `pacman -S` for efficiency
* Fix
* Update util/linux_install.sh
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
Specifically, the `util/travis_compiled_push.sh` runs a number of cleanup and deployment routines. This includes `dos2unix` that fixes the line endings for sanity's sake. However, it only runs on successful builds. That would be fine, except some builds WILL fail (community layouts, yay), which is a problem.
This should change the behavior to always run the post compile checks.
However, in the long run, we should break up this script into more parts.
* update codebase to four-space indent
* update codebase to use #pragma once
* refactor config.h
* change info.json to debug linting
* refactor readme
- file header
- update docs links
* minimize and lint rules.mk
* change features
- enable mousekeys and nkro
* use GPIO commands for Status LED
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* use IS_LED_ON macro
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* update compile/flash examples in readme
* :flash doesn't use QMK Toolbox
* added personal CTRL keymap
* added personal dz60rgb keymap
* enabled new rgb effect
* added space cadet shift
* media player track buttons now orange
* updated keymaps with rgb setting and visual HSV setting preview
* fixed source stuff?
* added support for underglow toggle (bugged to all hell)
* everything now behaves as expected when ti comes to RGB toggles, thank god
* removed ifdefs
* changed color of MAS_CRM
* uh, whitespace
* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB
* updated keymap to work kindof
* KEYMAP: changed list of rgb effects
* changed CTRL rgb defaults
* KEYMAP: new LED layout for ctrl
* fixed white LED position in indicator
* changed capslock tap timing
* Added new keymap - dz68rgb
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Fixed pin for RGB
* Added support for second revision of vitamins included
* Added rev2 config and switched to #pragma once
* Switch to quantum.h pincontrol
* Fixed left-half check
* Moved revision agnostic code to main header file
* Moved common build options to main makefile
* Referred to rev2 documentation
* JTAG is dissabled in keyboard.c now
* moved EEHANDS to rev1 config
* moved rev2 to use split_common
* Updated default keymaps
* Changed handedness ifdef to allow user-overrides
* Add some space saving defines
* Changed to more sane I2C clock
* Removed rev2 check in matrix.c as rev2 uses split_common
* Removed rev2 check in rev1 only code
* Update debounce constant name
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Switch KEYMAP macro to LAYOUT
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Switch kc_keymap macro to layout_kc
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Switch kc_keymap macro to layout_kc
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Add legacy layout macro alias
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/vitamins_included/rev2/config.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Split readme into revision specific versions
* Updated src to allow LTO
* Renamed readmes to lower-case
* Switched my keyboards to FEED VID
* Fixed markdown lint errors
* fixed readme links
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Maintain keymap backwards compatibility
Co-Authored-By: Joel Challis <git@zvecr.com>
* Switch Quefrency back to I2C (#6161 fixes the lag)
* Update Quefrency keymap
* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.
* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.
* Update KBD67 keymap
* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.
* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.
* Move Menu to a layer tap on the Fn key since that's a more natural
location.
* Update 60% Tsangan HHKB layout
* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.
* Update 60% ANSI split backspace/right-shift layout
* Add reset and EEPROM reset keybindings so these tasks can be performed
separately, rather than relying on Bootmagic Lite, which performs both
tasks at the same time.
* Move Caps Lock from Fn+Ctrl to Fn+Tab since Fn+Ctrl is sometimes used
as part of a more complex keybinding, whereas Fn+Tab is always safe.
* Update atreus to current code conventions - add multi revision instead of defines
* Remove config.h duplication from user keymaps
* Add breaking change log
* Add missing pragma once
* Branch point for 2019 Aug 30 Breaking Change
* LUFA USB descriptor cleanup (#4871)
* Fix indentation
* Fix braces
* Expand descriptor headers
* Align descriptor elements
* Nicer formatting
* Tidy up preprocessor statements
* Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418
* Tidy up comments
* Tweak ordering of HID report elements (no functional changes)
* We don't need all of these newlines
* Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense
* Ask nicely
* Add some more comments
* Change indentation back to 4 spaces
* Add changelog entry
* Language Keymap extras backport from ZSA fork (#6198)
* Swedish extra keymap refactor
* Fix swedish $ sign definition (#81)
* Fix br abnt2 keymap compilation error
* Add PR changelog doc
* Update PR6198.md
* Enforce clang-format (#6293)
* Enforce clang-format on commit for core files
* forgot about tests
* Migrate ACTION_LAYER_MOMENTARYs to MO() (#5176)
* Migrate ACTION_LAYER_MOMENTARYs to MO()
* Add changelog entry
* Update docs/ChangeLog/20190830/PR5176.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Migrate ACTION_BACKLIGHT_* to BL_*
* Add changelog
* Update docs/ChangeLog/20190830/PR6299.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Fix indentation
* Fix braces
* Expand descriptor headers
* Align descriptor elements
* Nicer formatting
* Tidy up preprocessor statements
* Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418
* Tidy up comments
* Tweak ordering of HID report elements (no functional changes)
* We don't need all of these newlines
* Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense
* Ask nicely
* Add some more comments
* Change indentation back to 4 spaces
* Add changelog entry
This will manually wipe the EEPROM. This is a hacky solution for when new ranges are added or moved around.
A better (more complicated) solution would be to zero out everything, not just known ranges. But for now, this is a hacky solution that will work.
* default keymap fix for questionmark
Added /? to the default position for a qwerty keyboard. Moved |\ to the left ctrl with the same behaviour as before.
* Small PR adjustments and Keypad optimization
* Update keymap.c
* Update keymap.c
* Add 2015 revision of pegasus hoof to QMK
* Add different version strings
* Fix ansi tkl layout
- temporary JIS mapping, I can't test this as I don't have the hardware
* Reverse engineer JIS layout macro for 2015 Pegasus Hoof
* Linting on 2013.h
* Add more resources to readme
* Update keyboards/bpiphany/pegasushoof/2013/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/bpiphany/pegasushoof/2015/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/bpiphany/pegasushoof/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/bpiphany/pegasushoof/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Try to use core debouncing code
* return changed
* Use helpers
* initial commit
* Add the correct pins and ordering
* create an appropriate keymap macro for the board
* add an appropriate LAYOUT macro
* add a keymap that fits the LAYOUT layout macro
* add QMK Configurator support
* add missing pin D7 and LAYOUT_all
* fix my mistake when I added an extra key to the electrical matrix instead of the physical one
* add qmk configurator support for LAYOUT_all
* Update keyboards/eve/meteor/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/eve/meteor/rules.mk
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* use the default names so BMC still works
* remove mcu rules as per resolution of 6253
* Layout with better use of navigation keys
* Update keyboards/tada68/keymaps/onelivesleft/config.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* added combos
* minor adjustments, added combos
* Add second encoder, add modifiers to encoders
Added a skeleton for the possibily having a second encoder.
Added 9 modifiers for the first rotary encoder:
- None
General navigation. Page up/down
- SHIFT
Fast navigation. Home/end
- CTRL
Vertical navigation. Up/down
- CTRL+SHIFT
Horizontal navigation. Left/right
- ALT
Audio volume control.
- GUI
Browser navigation(windows). Forward/backward
- ALT+SHIFT
Form navigation. Tab up/down
- ALT+CTRL
Media control. (Play|pause)/mute
- HYPER
Media navigation. Next/prev track
Key codes are stored in `uint16_t encoder_actions[2][9]`
* Add second encoder, add modifiers to encoders
Added a skeleton for the possibily having a second encoder.
Added 9 modifiers for the first rotary encoder:
- None
General navigation. Page up/down
- SHIFT
Fast navigation. Home/end
- CTRL
Vertical navigation. Up/down
- CTRL+SHIFT
Horizontal navigation. Left/right
- ALT
Audio volume control.
- GUI
Browser navigation(windows). Forward/backward
- ALT+SHIFT
Form navigation. Tab up/down
- ALT+CTRL
Media control. (Play|pause)/mute
- HYPER
Media navigation. Next/prev track
Key codes are stored in `uint16_t encoder_actions[2][9]`
* Clean up; added combos
Combos:
- CV: Copy
- XC: Cut
- ZV: Paste
- QP: KC_SLEEP
* Fix LEADER_DICTIONARY to be more useful
* Add documentation
* Minor fixes
* Raise TAPPING_TERM
* testing
* Rearrange modifiers
* Fix kc being stored in uint8 instead of uint16
* Update documentation
* Clean up
* Remove excess comments
* Put encoder_actions in progmem
* Add Zadig 101 to docs
* Add USBasp bootloader name
* Add links to the page
* Note the usual VIDs and PIDs for the bootloaders
* Add "List All Devices" note, just in case
* Talk about keyboard-specific bootloader procedures
* Send users to the new page in "Unknown Device for DFU Bootloader" section
* Halfkay bootloaders are also an exception here
* Update how_keyboards_work.md
bridged the gap between scancodes and keycodes, the doc didn't make the distinction and was ambiguous.
* Update docs/how_keyboards_work.md
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update docs/how_keyboards_work.md
fix typo
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update Layer functions to use layer_state_t in ZSA Boards
* Update Music Mask for ZSA boards
Fixes an issue with the board getting stuck on Adjust layer when activating music mode
* Add Support for SMART LED Toggle to Planck EZ
* Add support for SMART LED toggle in Ergodox EZ
* Ifdef swiss cheeze for Oryx Configurator
* Documentation and updates
* Add Oryx Keymap
* Add option to configure the layers for the Layer Indicator
* Update keymap with better examples
* Make sure eeprom is initialized before reading from it
* Force flush of LED matrix when suspending board
This fixes an issue where the LEDs don't fully clear sometimes when the host system goes to sleep
* Enable RGB Sleeping by default
* Add clarification about planck ez led layer config
* A little easier to read the definition of the GPIO control macro for AVR.
No change in build result.
* Changed to not use GNU statement expression extension.
No change in build result.
* Modified split_common/serial.c to use qmk_firmware standard GPIO control macro.
No change in build result.
* fix PE6 -> E6
* remove some space
* add some comment to config_common.h
* Changed split_common/serial.c to use a newer version of qmk_firmware standard GPIO control macro.
* Additional changes for Layer State typedef compatibility
* Replace biton32 with get_highest_layer in docs
* Change additional layer structure code
* Fix uGFX reference issue
* Remove dynamic_keymap check
* Where did all these extra spaces come from
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Add MAGIC_SWAP_CONTROL_LGUI and MAGIC_UNSWAP_CONTROL_LGUI keycodes
Key codes to swap and unswap the control and windows/cmd keys
* Fix issues with pull request #6110
Renamed swap/unswap lctl and lgui key codes, added key codes to swap/unswap rctl and rgui, and moved new bool inside keycode_config.h struct to the end
* Move new keycodes to the end of the enum (#6110)
* add cases for swapped control and OS keys to mod_config (#6110)
* Add new keycodes to feature_bootmagic.md (#6110)
* Add R+L swap codes to keep in parity with AG_* codes
* Extend Magic range check to include new magic codes
* Update audio docs
* Combine 2 byte ranges into 1 word for EECONFG
Fix names for Keymap config EEPROM
* Update docs/feature_bootmagic.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/feature_bootmagic.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/feature_bootmagic.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/feature_bootmagic.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Optimize RGB Matrix rendering for Ergodox EZ
* Optimize RGB Matrix rendering for Planck EZ
* Update keyboards/planck/ez/config.h
Co-Authored-By: Joel Challis <git@zvecr.com>
* Remove superfluous JTAG disable code
* 32A has differently named register
* Accidentally some operators
* 32A also has different JTAG pins
* Wrap disable_jtag() in an ifndef
* Document this new define
* Rename the define, it conflicts with a LUFA thing
Also, move the ifndef wrapping to the call in keyboard_setup()
* removed some debug prints
* removed unnecessary files, tweaked some things
* rotary encoder button now connected into column 0, row 3
* tweaked keymap and moved encoder control into keymap
* tweaks
* added test keymap
* updated some things to make it easier to work with QMK configurator
* updates after merging latest master in
* fixed a few things
* removed test keymap and all related #ifdefs
* changed some dumbpad default keys, added KC_LOCK
* added image to readme
* added link to PCB github repo
* moved lock key to the rotary encoder pushbutton
* making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452
* adding bootmagic lite since i'm lazy and haven't soldered on the reset button...
* renamed to
* using 7 underscores for KC_TRNS
* adding my layout (default is for wife)
* updated my own layout, tweaked default keymap to use cleaner switch for encoder control
* removed commented out import from imchipwood keymap, removed unnecessary comment from default layout
* added LED layer control
* flash the layer indicator LEDs at startup
* change layer_state_set_user to layer_state_set_kb
Co-Authored-By: Joel Challis <git@zvecr.com>
* in layer_state_set_kb, return layer_state_set_user
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* remove include of upper level config.h, add pragma once
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* changing default keymap slightly, added config.h for default layout
* change _delay_ms to wait_ms
* replaced locking numlock with numlock
* Update keyboards/dumbpad/dumbpad.c
change `keyboard_pre_init_user` to `keyboard_pre_init_kb`
Co-Authored-By: Joel Challis <git@zvecr.com>
* Update keyboards/dumbpad/dumbpad.c
adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()`
Co-Authored-By: Joel Challis <git@zvecr.com>
* fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control
* Move default keymap's rules to keyboard level
* Concatenate the two sets of rules
This sets CONSOLE_ENABLE to no, which was being set at the keymap level.
* Wrap the USB Device Description in quotes
Some preventative maintenance. The firmware for the_ruler can't be compiled without this change if `CONSOLE_ENABLE = yes` because this string has a comma, which gets picked up as two arguments by the Command code, instead of one as it should be.
* Linting
- remove firmware size impacts
- remove trailing white space
- visual alignment of rules
* Use QMK's pre-loaded default rules for atmega32u4
* Update readme
- markdown formatting
- update Hardware Availability link (Maple Computing's site has disappeared)
- update Docs links
* Update header files to use #pragma once
* Add universal flash command
* Add bootloader info to I:C boards
* Add support for ATSAM
* Add messages for flash target
* Message cleanup
* Add USB ASP Flashing target
* Make usbasp target more universal
* Add phoney target for usbasp
* Clarify error message when bootloader isn't matched
* Fix Clueboard hotswap gen1 not compiling when LED Matrix is disabled
* Move keymap.json to default keymap folder
* Revert "Move keymap.json to default keymap folder"
This reverts commit 7f28df909d7e4dcc79ab0ff44fe264656b5dfa18.
* Add an alternative method for keyboard discovery to speed up build
* Chain MAKEFLAGS for docker_build.sh
* Slight improvement to number of items sent to sort
* Remove debug line
* Fix line escape
* Added Bulbizarre keymap for the XD75
* Fixed no newline at the end of file
* Update keyboards/xd75/keymaps/bulbizarre/readme.md
Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
* Update led status check
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Remove unnecessary define
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* remove led layer code
* enable PWM on STM32F303
* Unusable PWM code
* Updated PWM Stuff?
* PWM Semi-working
* Both LEDs working at the same time
* Update names
* Add led level functions
* Add LED levels and persistent settings
* Revert change due to issues with timing related code
* Review feedback and minor cleanup
* add Userspace and keymaps
* Adding keymaps for zeal60 and iris
* Created my own tap dance that toggles RGB Mode based on whether I toggled caps lock or not
* parent 578ed42a7f8f986147cad040d50d4ae1d24a32e2
author Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500
committer Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500
move to userspace
add zeal60
* update based on review
* move userspace to github name
* Add some defaults for ATmega32A to mcu_selection.mk
* Remove boilerplate from templates
* Relax INTERRUPT_CONTROL_ENDPOINT and PROGRAM_CMD
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Extend allowed range of tappable keycodes to include modifiers
* Get rid of the magic numbers altogether
* Remove some more magic numbers
* Extract LM() functionality from ACT_LAYER_TAP
* Use ACTION() macro everywhere
* Improve backlight PWM pin support
* I accidentally an equals sign
* Another typo
* Order by pin number
* Throw an error if backlight pin is C4 or C5 on 16/32U4
* Use else for clarity
* Minor alignment adjustments
* Add Kudox Keyboard profile.
* Modified info.json and image link on readme.
* Remove unnecessary codes.
* Set BootLoader caterina.
* Remove duplicated settings on rules.mk.
* Clean up config.h.
* Modified include header path.
* Modified info.json to adjust 4th row keys y position.
* Separate default keymap and my keymap.
* Modified RGB_LED_* settings on kudox/rev1/config.h.
* Add configurations for Kudox Game Keyboard rev1.
* Modified Kudox Game Keyboard readme and keymap.
* Remove unnecessary codes.
* Set BootLoader caterina.
* Remove wrong settings on rules.mk.
* Clean up config.h.
* Modified MATRIX_ROWS on kudox_game/rev1/config.h.
* Modified RGB_LED_NUM on kudox_game/rev1/config.h.
* new keymap for projectkb alice
* update documentation for resetting PCB
* actually need a grave key more than a tilde
* move DFU_ARGS to top level
* cleanup unused keycodes and others
* align with typical ergo layouts. move enter and keep function layer reachable
* Delete null key
`__` key in keymap.c doesn't actually exist on the physical hardware.
Removed key from keymap.c and removed its argument from the layout macro.
* Delete unused keycode aliases
* Replace layer index definitions with an enum
* Replace redundant numpad keycodes with native aliases
* Use native layer change keycodes instead of aliases
* Visually align the keycodes
It makes the keymap pretty.
* Correct Configurator layout data
* Clean up header files
- convert to pragma once include guard
- remove redundant definitions
- remove commented code blocks
* Delete LAYOUT_kc macro
Was copied from ergotravel; not valid for this keyboard.
* Consolidate rev1 rules.mk settings to keyboard level
Previous codebase enabled Backlight at keyboard level then disabled it at revision level.
* Delete unused rules
* Consolidate config.h settings from keymap level to keyboard level
* Modernize keyboard's config.h file
Aligns the keyboard-level config.h file more closely with the current QMK template for AVR keyboards.
* Added nearly perfect config for AMJ66, only missing top right key.
* Correct the layout macro
* Add layout mock-up to amj66.h
* Update and comment out the backlight definitions in config.h
The backlight pin was found to be D4, but there appears to be a bug in QMK that affects this keyboard.
Commenting out for now.
* Try to make a sensible default keymap
* Add testing keymap for FSund
Include the keymap that was being used for testing.
Don't forget to refactor this later into an actually useful keymap.
* Suggestions by fauxpark
- uncomment the backlight configuration
- fix the default keymap
- remove commented MCU rule
- specify the bootloader
- make mental note to not try to write code at 3:30 in the morning
* Add LAYOUT_66_ansi and LAYOUT_66_iso macros
- include QMK Configurator data
- enable Community Layout support
* Add comments about layout variants to amj66.h
* Add #define BACKLIGHT_ON_STATE 1
Partial fix for backlight breathing.
- Requires #5983 to fix fully (confirmed by FSund and fauxpark)
Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: Filip Sund <filip.sund@gmail.com>
* DEBOUNCING_DELAY -> DEBOUNCE
* Move AMJ66 files into new AMJKeyboard directory
* Correct Manufacturer in USB Device Descriptor
* Remove comment regarding source fork
* Correct the readme
* Update default keymap to match the details given in its readme
* White-space edit fsund_test keymap
Makes its formatting more consistent with other 66% keymaps. No logic changes.
* Linting info.json
Debug-style linting (one key object per line) and minor edits to key labels.
* Remove fsund_test keymap
* Add FSund as a maintainer in info.json
* removed some debug prints
* removed unnecessary files, tweaked some things
* rotary encoder button now connected into column 0, row 3
* tweaked keymap and moved encoder control into keymap
* tweaks
* added test keymap
* updated some things to make it easier to work with QMK configurator
* updates after merging latest master in
* fixed a few things
* removed test keymap and all related #ifdefs
* changed some dumbpad default keys, added KC_LOCK
* added image to readme
* added link to PCB github repo
* moved lock key to the rotary encoder pushbutton
* making suggested changes from @fauxpark in https://github.com/qmk/qmk_firmware/pull/6452
* adding bootmagic lite since i'm lazy and haven't soldered on the reset button...
* renamed to
* using 7 underscores for KC_TRNS
Currently OLED Dirver only supports LF (\n) character in a string to clear out the rest of the current line and advance to the next line for writing. This PR adds support for CR (\r) character as well to advance to the next line, however not clear out the rest of the current line. This is extremely useful when you want to display a multi-line logo using a single array without wiping out exiting lines and flagging the OLED as dirty unnecessarily.
* personal keymap for the planck with sounds
* need that minus and underscore where I can see them
* remove unused block
* some, shall we call them, minor changes?
* I don't think this is required anymore
* initial commit TGR Jane
* lighting support
* use the default keymap lifted from community layouts for LAYOUT_tkl_ansi
* add information regarding reset key, hardware supported, and hardware availability
* document that it supports v1.1 as well thanks to nickheller's confirmation
* update some verbage in the readme
* add QMK Configurator support
* establish switch matrix for three main layouts
* add community layout support
* readme fixes
* Update keyboards/tgr/jane/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/tgr/jane/rules.mk
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/tgr/jane/config.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update MODERN_DOLCH_RED color
* Remove unused RAL_LAL tap dance
* Disable Space Cadet on all boards
* Rework SEND_STRING_CLEAN into CLEAN_MODS, fix DST_P_R/DST_N_A
* Disable unnecessary underglow animations
* Rearrange feature flags in rules.mk files
* Change custom colors from structs to defines
* Add some explicit initializers
* Add MODERN_DOLCH_CYAN color
* Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros
* Add led_set_keymap() template function
* Change underglow color based on Caps/Fn state
* Preserve val when changing underglow colors
* Only trigger Fn light for Fn layer
* Refactor fn_light() and caps_light() slightly
* Add comments to fn_light() and caps_light()
* Xulkal changes
Refactor rgb & encoder menu
Hadron Keymap
Refactor oled menu
* Fixing horizontal OLED data display
* Reverting changes to take to separate prs
* Add Sections and MO(layer)/TG(layer) Example
Major changes:
1. Added sub-section headings to the portion before the examples.
2. Added a new Example 6, that allows MO(layer) and TG(layer) functionality to be embedded within tap dance functions.
Minor Changes:
1. Edited some text to better fit with new sub-headings.
* Update feature_tap_dance.md
* Update feature_tap_dance.md
* basic layout v1.0
* changed KC_TRNS to _______
* most symbols are on double tap, except quote, that was cancer
* better formatting and set toggle for game layer
* added colors to layers to make knowing your current layer easy
* have an empty macro working
* enabled unicode
* moved stuff to my folder and removed edits from communal files
* cleanup
* removed the game layer. Never used it
* made changes requested by drashna and vomindoraan
* got rid of some unnecessary code
* got very basic unicode on mac working
* added ctrl_esc
* more changes as requested by noroadsleft
* more leader additions, removed macros because leader stuff replaces that functionality
* removed an old macro I forgot to remove earlier
* final deletion at noroadsleft request
* changed a line to explicitly specify a purple color.
* Fix my Tap Dance issues after I broke them
* Cleanup and organization of userspace documentation
As well as some additional cleanup of functions due to review of documentation.
* Enable Tapdance on Glow and remove more animations
* Revert to Eager PR debouncing
* Add better check for startup animation
* Move where RGB Matrix defines are listed
* Limit RGB Matrix max val
* Update keyboard for Iris Rev 3 conflicts
* Enable encoder support on planck ez
* Remove is_master check from corne\'s OLED code
* Overhaul OLED screens for my Corne
* One last removal
* Show RGB valu On both sides
* Updates for OLED display info
* Fix compile issues for rgb config
* Disabled Space Cadet for all drashna keymaps
* Fix OLED Screen configs
* Minor OLED Tweaks
* Revert some Iris changes
* Fix song include
* Handle MAKE macro for the Corne boards better
* Add super hacky-hack for eeconfig initialization
* Add audio support for Fractal since Elite Cs support it
* Add defines for keycode steps
* Add White layout
* Update Corne RGB info
* Add fun effects to layer indication for RGB Matrix enabled boards
* Use proper define for product name detection
* Update formatting
* Use custom timeout mechanism for OLED timeout
* Fix up OLED screen HSV code for new HSV structure
* Better handle turning off RGB Matrix when sleeping
* Disable MultiSplash Animation
* Change Iris back to using serial
* Why was RGB disabled?!?!?!
* Limit val in rgb_matrix_layer_helper function
* Remove EECONFIG setting for RGB matrix
* Basic Rev 2 implementation
* Updated LED defines and added Extra encoder support
* Fixed rgb pin assignment
* Physically accurate LED positions
* Single Color Band scrolling left to right effects
* Spirals, Pinwheels, and Documentation....Oh My!
* Spiral effect band thickness adjustments
* Fixing animation spin directions
* Full hand LED positions
* Basic Rev 2 implementation
Updated LED defines and added Extra encoder support
Fixed rgb pin assignment
Physically accurate LED positions
Full hand LED positions
Moving rev2 folder
* RGB Center Point LED position update
* Fixing led config commas
* Fixing led config commas
* fix enter key
* fix enter
* Small changes to default
* update default
* typo fix
* update default
* Fixing defines & led config, turned full hand & extra encoders into rules.mk feature
* Refactored rules.mk to have a post_rules.mk
* Forgot to offset the matrix to led map due to the edge led additions
* Updated LED flags and fixed my keymap
* Update keymap.c
include speed controls for RGB
* Fixing more rules.mk and adding keymap like encoders functionality
* Sol Rev 2 Implementation
* Minor fixes
* Keymap fixes
* Fix Colemak, add lock keys
* fix default keymap to not have Q in the 1 position.
* add tsangan hhkb layout
* add a tsangan default keymap
* clean up the default keymap
* add qmk configurator support for new layout
* [Layout] KBP V60 Type R ISO default
* Remove ifdef
* Apply suggestions from code review
@noroadsleft I've accepted your suggestions. Tried locally any everything works as expected.
Thanks again - this if my first keyboard and first time looking at/ using/ contributing to qmk so I appreciate the feedback 👍
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
info.json file had the wrong name for the JSON key; the macro that is normally named LAYOUT_all by convention is named LAYOUT_60_all on the Zeal60.
Bug flagged by drashna for flight505 on QMK Discord.
* Update snagpad.h
White-space changes only. Making this file easier to read.
* Update info.json
Refactor:
- add labels
- debug linting (one key object per line)
- reorder keys for LAYOUT_numpad_5x4 (fixes QMK Configurator assigning keys to incorrect positions)
* Update readme.md
Refactor to conform to QMK template.
Updated link to The Board Podcast (old link was Error 404).
* Refactor splittest to support multiple dev boards
* Refactor splittest to support multiple dev boards - revert change to number of RGB led
* Refactor splittest to support multiple dev boards - update docs
* Refactor splittest to support multiple dev boards - correct docs
* Refactor splittest to support multiple dev boards - update teensy master logic
* Update IS_COMMAND definition in templates to use MOD_MASK_SHIFT
* Update IS_COMMAND in docs
* Update IS_COMMAND default definition in tmk_core
* Update table in Command docs based on suggestion
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Add Configurator layout data for LAYOUT_hotswap
* Add LAYOUT_std60_split_num0
Requested by 李小安#9728 on QMK Discord.
Standard 60% ANSI layout for the alphanumeric region, with a split-0 Numpad.
Includes a sample keymap.
* Update Docs links on readme
* Change melody96.h to use #pragma once include guard
* Change config.h to use #pragma once include guard
* Add readme for default_std60_split_num0 keymap
* Update x11.h
The original json file that was given by the designer was incorrect. The Print Screen and Pause button is swapped.
* Update space65.c
Fixing the Caps Lock LED.
* Revert "Update space65.c"
This reverts commit 1f5de1abaefadd2e54259999a29bab501da5f67a.
* Remove the need to set NUM_OF_ENCODERS
Instead, calculate the size of the array, and use that instead
* Add hack for split common support
* Remove NUM_OF_ENCODERS from keyboard config
Can be reverted, if needed
* Update the :bootloader target to pass along correct hardware info
* Update make scripts to properly grab the settings (a big thanks to @yanfali)
* Remove LUFA debug warnings
* Initial conversion of vagrant to use qmkfm/base_container
* Fix vagrant when using docker provider
* Workaround for VirtualBox VM restarts
* Generalise Vagrant docs slightly and add FAQ
* Store backlight breathing state in EEPROM
* Reduce backlight_config.level from 6 bits to 4 (max 15 "on" levels)
* Error out if BACKLIGHT_LEVELS is > 15
* Remove mention of default backlight pin in rules.mk template
* Remove pointless comment
Zeroing out spd in eeconfig_init_quantum
Switched to block read & update
Update tmk_core/common/eeconfig.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Fixing init compile error
Update eeconfig.c
Dead / Missing API cleanup
alignment
* Enable Mousekeys on Corne Keyboard by default
For Tessachka and Configurator support
* ENable for default image too
* Remove most of rules.mk for default keymap
* make sure rgblight is enabled by default
from default keymap
* Add out of bound check for Leader Key sequence array
* A shot at advanced C stuff for Leader Key optimization
* Revert most changes
* Change default back
* Include string.h if compiling for ARM
* Use sizeof instead of a number
* Align sendstring LUTs to 9 characters wide
* Replace 0 with XXXXXXX
* Use decimal 128 for LUT size
* Align heading comments
* Add ASCII table comments
* Add missing AltGr LUTs and adjust keycode LUTs accordingly
* Use pragma once
* Correct a couple more keycodes
* Capitalise "BÉPO"
* Also clean up the default tables
* Tidy up Belgian and Norman LUTs
* Add user-overridable callback for cancelling UCIS input
To clean up things from qk_ucis_start_user() for instance.
* restore lost newline to quantum/process_keycode/process_ucis.c
Co-Authored-By: shinmai <aapo.saaristo@gmail.com>
* Script to generate keymap.c from JSON file.
* Support for keymap.json
* Add a warning about the keymap.c getting overwritten.
* Fix keymap generating
* Install the python deps
* Flesh out more of the python environment
* Remove defunct json2keymap
* Style everything with yapf
* Polish up python support
* Hide json keymap.c into the .build dir
* Polish up qmk-compile-json
* Make milc work with positional arguments
* Fix a couple small things
* Fix some errors and make the CLI more understandable
* Make the qmk wrapper more robust
* Add basic QMK Doctor
* Clean up docstrings and flesh them out as needed
* remove unused compile_firmware() function
* Add support for XD004
Also applying the following suggested edits:
Add hardware availability link in readme
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Enable lite bootmagic
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Remove commented out MCU
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Add more ellaborate keymap
Correcting usage of tap_code_16 for modified key, thanks to @drashna
* Add information about bootloader type
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* add keyboard new macro pad "Kuro"
* change main readme.md
* remove not used code from default/keymap.c
* Remove unnecessary code
* Supports info.json
* removed back slash and not used functions.
* update at product link. add japanese messages.
* Added initial files for the Adron 3-key macro pad
* Refactor of "adron_pad" to "ivy", cleaned up the readme and removed un-needed keymap as well.
* Made suggested changes to commit for PR
* Removed unneeded define block from SUBPROJECT_rev1 as it is redundant (Thanks drashna ;) )
* Add missing TD_RSF_RCT tap dance
* Use standard QMK HSV and RGB structs, fix Godspeed colors
* Move PROGMEM after the type in RGB intervals
* Add MODERN_DOLCH_RED color, use it on KBD6X
* Use 255 instead of RGBLIGHT_LIMIT_VAL in color definitions
* Remove IS_COMMAND override on Whitefox
* Hightlight that sudo may be needed
Also added "dfu-programmer: no device present" in so that anyone searching for that particular error can hopefully find the page.
* Use new style of indicating a warning
* Indicate that the FAQ should be read instead of blindly using sudo
* Switch version incrementing to the command put together by @noroadsleft.
* Update util/travis_compiled_push.sh
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* added files for KeyHive Maypad
* updated maypad files and moved honeycomb inside keyhive dir
* fixed file paths, incorporated changes with fauxpark's suggestions, undid honeycomb move
* updated with fixes from PR
* added new lines to end of honeycomb files to fix compiling
* Updated info.json to match the macro name from maypad.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* reordered layout in info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* removed KEYMAP from maypad.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* removed extraneous keymap files
* pulled qmk/master for honeycomb
* added ortho_5x4 and keymap cleanup
* matched identities in maypad.h
* added bootmagic functionality to maypad
* changed bootmagic to lite
* Clarify the rules.mk setup for Unicode
* code point
Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* Remove "your"
Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* Undo a line change
Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* dot the comma
Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* Update docs/feature_unicode.md
Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>
* added handwired keyboard wulkan
* added info.json for qmk configurator
* fixed spelling
* enum dont need to be assigned to zero
* removed cflag from readme
* updated rules.mk
* removed unneeded rows from config
* moved unicode to keymap conf
* fix adjust layer and comments for keymap
* Fix up GPIO macros
* Fix up send string macros
`string` arguments must not be parenthesized
* Fix up miscellaneous macros
* Make indentation uniform (4 spaces)
* Make #ifdef vs #if defined usage consistent
* Reorder standard includes
* Revert indentation changes as per review comments
* Revert #if defined(__AVR__) → #ifdef __AVR__ change
* Change 2 space indent to 4 spaces on a couple of lines
* Replace include guard with #pragma once
Using QUANTUM_LIB_SRC prevents the warning when multiple sources add the i2c_master.c file. Boards such as the Ergodox EZ Glow see this warning every time they compile because the board uses the file in general, and because the RGB LED Matrix requires it, as well.
* Add wasdat:konstantin keymap
TODO: Move it to layouts/
* Use HHKB arrow arrangement for mouse keys on KBD6X
* Move KC_APP from Ctrl to M on all boards
* Use RCT_RSF on Melody96
* Set TAP_HOLD_CAPS_DELAY to 50 in userspace
* Use RSF_RCT instead of RCT_RSF
* added iris rev 3 keymap
* stuff
* Update config.h
* Removed personal mapping folder so that I can branch it
* Added personal Iris keymap folder
* added enums, removed break after return, and removed line 3 of keymap.c
* removed process record function
* greenshadowmaker keymap for idobo xd75 massdrop
* remove uneeded config.h
* corrected format to match convention instead of xd75 where I accidentally started from
* fixed errors and added arrows bottom right to match my other layouts
* updated readme
* right arrow fix
* Update keyboards/idobo/keymaps/greenshadowmaker/keymap.c
removing unnecessary part, copied from different keymap
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* added suggested changes
* removed unneded elements
* updates to my iris keymap
* some rational updates to the keymap - let's see how this works
* updates to my iris keymap
* some rational updates to the keymap - let's see how this works
* add mouse keys and remove unused keys and some cleanup
* a little bit more cleanup
* actually enable mousekeys
* fix markdown lint complaints
* fix capitalization
* changes made per suggestions
* initial commit, copied from singa
* default 60_ansi LAYOUT implemented and tested workin
* add rgb underglow support bounded by ifdefs
* edit readme to provide information on reset procedure and on rgb underglow support
* improve the default keymap to have a second layer with function keys and even a RESET
* Add LAYOUT_all macro and discovered that split backspace uses an additional pin on the microcontroller
* fix up last line in readme
* Add QMK Configurator support
* Convert gh60.h to #pragma once include guard
* Lint gh60.h
This commit only changes white space.
* Convert info.json to debug linting
Making this file easier to read.
* Put the label keys first for LAYOUT_60_ansi
* Complete and correct key labels in info.json
* Duplicate LAYOUT as LAYOUT_all
Doing this for backwards compatibility. Has implications for user keymaps.
* Update LAYOUT_all to make sense
The original macro LAYOUT submitted for the GH60 gets a couple of things wrong:
- K49 is placed between Space and Right Alt, when it's actually the right half of a split Backspace
- K3C is assigned before K3D, when K3C is the 1u portion of a 1.75u/1u split Right Shift, and therefore K3D is actually to the left of K3C
The LAYOUT_all macro corrects these issues, but the LAYOUT macro is unchanged, so as to not break user keymaps that depend on it.
This commit also updates the default keymap to use the LAYOUT_all macro, and makes a minor change to the base layer to be more as a user would expect for the corresponding physical layout.
* Correct the layout data for the LAYOUT macro in info.json
Gives proper Configurator rendering.
* Modernize default keymap
Update the default keymap to use more modern QMK conventions.
* Modernize the LED management code
Update the LED management functions to use the GPIO functions, and clean up the led_set_kb() function.
* Update key labels in info.json for LAYOUT_60_ansi_split_rshift
Makes them consistent with the the rest of the file.
* Update Docs links in readme file
* Snowkuma's planck layout.
Heavily influenced by both Planck and SDOTHUMs layouts. I have tried to
implement a comfortable layout with a wide stagger and a minimal set of
key usage.
Still a work in progress, hope it is useful to others.
* Adds simple readme file and images of layout
* Removes unused experimental definitions
* Update readme.md
Adds images of layout to readme.
* Removes accidentally added test keymap .swn .swo .swp files
* Updates config.h replaces include guard
As suggested by @noroadsleft replaces the include guard (ifndef, define
and endif) with just `#pragma once`.
* Replaces two extra KC with inbuilt QMK equivalents
custom_keycodes.h
Replaces `___f___` with the equivalent QMK alias `_______` KC_TRNS
`___x___` with the equivalent QMK alias `XXXXXXX` KC_NO
Updates keymap.c to reflect the changes made.
* Changes keymap.c to include QMK_KEYBOARD_H
Replaces planck.h and action_layer.h includes with the single inclusion
of QMK_KEYBOARD_H which includes action_layer.h automatically.
* Update keyboards/planck/keymaps/snowkuma/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keymap.c
removes unused Coleman key code from enum planck_keycodes
* Update keymap.c removes COLEMAK key code logic
* Initial keymapping
* Removed unneccessary config files
* Update readme.md
* Updated symbol locations, tap dance on parentheses for brackets.
* Update readme.md
* Fixed layout image inconsistencies
* More quality shift key layer control, swapped enter + shift enter
* Keyap tweaks and config cleanup
* Almost compiling, still has layout reference issues.
* Finally compiling. 2x2u layout (default, not mine) had nonexistent keys on it
* Super minor changes
* Ctrl+Bksp after first tap
* Changed bind so un/lock is explicit to work with remote un/locking
* Added keyboard passwords please don't hate me
* Changed backspace functionality and added em dash
* Changed to send_string because it's preferred for macros
* Minor fixes
* Removed global redefinition and fixed possible issue between 6KRO and NKRO
* Cleanup
* Layer names, password layer is OSL over toggle
* Hopefully now in QMK preferred format.
* Blank passwords.c
I realized with me excluding this it wouldn't compile - so adding a blank one.
* Fixed OSLs not cancelling after tapping term
* Matrix change.
KC_NO instead of repeating.
* Unneeded line.
Co-Authored-By: IsaacElenbaas <34344969+IsaacElenbaas@users.noreply.github.com>
* Fixed return statements to work with after-press functions
* External image host
* Removed image from github
* Removed unneccessary rules.mk lines and fixed tabbing
* Typos
* Fixes upon part arrival.
* Final changes and bug fixes
* Preventing KC_NO from waking monitors.
* Fix to rest of matrices
In response to https://github.com/evillemez/qmk_firmware/issues/1—the rest have the same problem.
The switch of k37 for k36 is just for consistency between that and the 2x2u.
* Workaround for #6214, minor changes, CRLF change in passwords because it won't leave my modified no matter what I do.
* Add Pulse 4k, a macropad by Maxr1998
* Some config tweaks
* Remove image note
* Add license headers
* Fix media keys
* Remove Play/pause again as it doesn't work on Linux
* Initial refactor of onekey to support multiple development boards
* Fixes to get teensy lc && 3.2 working
* Add pin tables
* Add caveats to Teensy boards
* Correct bootloader for Elite-C
* [Keyboard] Modernize the KMAC implementation
This brings the matrix implementation more in line with the current
default matrix code.
It also simplifies the implementation quite a bit.
* [Keyboard] Add layout support to KMAC
* Rename layout macros
The Instant60's info.json was updated in #6157. The intention seems to have been supporting Community Layouts, but that feature was not implemented. After checking that the layouts conform, rename the appropriate layout macros.
- rename LAYOUT_ansi as LAYOUT_60_ansi
- rename LAYOUT_tsangan as LAYOUT_60_tsangan_hhkb
- update `default` and `tsangan` keymaps
* Enable Community Layout support
Supported Community Layouts:
- 60_ansi (Instant60 ANSI version)
- 60_tsangan_hhkb (Instant60 Tsangan version)
* keymap simplification and fancy alt tab behaviour
* move symbols around and try ergo numbers
* mess with symbol positions
* f11 and f12 for volume control (for ease of remapping)
* slack unread navigation
* experiment with mods on home row
* mods on symbol layer
* dedicated tab left and tab right keys
* swap next and prev
* remove hold to shift on a and o
* revert to simpler keymap
* restore readme
* point to keymap image
* cmd + cmd -> cmd + ctrl
* expand readme
* slack unread channel navigation
* Update keyboards/planck/keymaps/callum/keymap.c
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* return true from cmd handling block
* [keyboard] TA-65 by maartenwut
Add ta65 to QMK with 4 layouts
* Simplify config.h
* Simplify keymap
* Update bootloader
- confirmed to be qmk-dfu by maartenwut
* Update keyboards/ta65/readme.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Review feedback
- fauxpark recommendations
- noroadsleft recommendations
* Repair info.json structure
JSON objects were not properly nested according to the QMK specification.
* Switch info.json to "debug linting"
So I can read the file more easily.
* Remove k2c and k31 from LAYOUT_tsangan
k2c was the Non-US Hash position, and k31 was the Non-US Backslash position, but this layout is intended for ANSI.
* Correct LAYOUT_tsangan data in info.json
* Update tsangan keymap to use updated LAYOUT_tsangan macro correctly
* Rename LAYOUT_tsangan to LAYOUT_ansi_tsangan
Increased clarity.
* Rename tsangan keymap as default_ansi_tsangan
Per QMK Keyboard Guidelines.
* Fix object ordering for ISO layouts in info.json
ISO Enter's object was out of sequence in both layouts.
* Rename ISO keymaps per QMK Keyboard Guidelines
- rename iso keymap as default_iso
- rename iso_tsangan keymap as default_iso_tsangan
* Add default_ansi keymap
For user reference.
* Enable Community Layout support
LAYOUT_ansi and LAYOUT_iso conform to the 65_ansi and 65_iso Community Layouts, respectively.
- rename LAYOUT_ansi to LAYOUT_65_ansi
- rename LAYOUT_iso to LAYOUT_65_iso
- update keymaps as appropriate
- add LAYOUTS rule to rules.mk
* Disambiguate key labels in info.json
* Remove trailing white space from info.json
* Update keyboards/ta65/keymaps/maartenwut/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Add omnikeyish keyboard support.
* remove out of date comment
* PCB Rev 1.1 moved Row5's pin to E6, because the teensy++ hangs an onboard LED off D6.
* Move string.h include to .c file
* Add pcb kicad link.
* Add info.json
* Move macro programming to numlock's keyposition, the most useless key on the post model M layout. Force numlock enabled on host at init time, so you're not stuck without a numpad (hopefully)
* Make the macro blink function toggle LEDs from their previous state.
* Use incorrect but code style compliant opening curly bracing style.
* Make PCB rev 1.1 the default Omnikeyish config, as the author has the only rev 1.0 boards that'll ever be.
* Fix silly spelling error in 3 defines
* First set of review changes.
* Layout macro and keymap defined using it.
* Layout macros for the northgate factory plates.
* minor rearrangements
* ALL the layouts.
* Forgot ultra-t in info.json
* fixed issue with LED indicators
corrected error in info.json
* fixed issue with led indictors
* added fix for key_count to info.json for westfoxtrot/aanzee
* fix to support config.qmk.fm correctly and remove unused key from matrix for westfoxtrot/aanzee
* fix for caps_lock led
* Update readme.md
* Fix breathing always on for soft PWM
* Remove reference to hardware PWM pins in BACKLIGHT_BREATHING description
Now, breathing will only be unsupported when Timers 1 and 3 are both used by Audio
* Document BACKLIGHT_ON_STATE and its purpose
* Move layout macros to revision folders
* Update Planck EZ layout macros
Planck EZ only supports one layout (centered 2u spacebar). Deleted all the other macros.
* Flesh out QMK Configurator support
Give each Planck revision its own info.json file.
* Readme updates
- give each revision its own readme
- add the Planck EZ to the main Planck readme
* Fix layout macro for Planck EZ
Previous matrix didn't compile because the electrical matrix defined a k3b location, which was unused by the physical arguments.
Drashna was kind enough to confirm the Planck EZ's matrix for me.
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Pretend the Planck EZ supports ortho_4x12 layout
The hardware doesn't, but doing so prevents CI errors because the default keymap uses LAYOUT_planck_grid.
Going to pretend LAYOUT_ortho_4x12 is a valid layout for the Planck EZ.
* Update Planck EZ's URL in info.json
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* added keyboard_layout_jopr
* making it compile
* #pragma once instead of #ifndef and #define
* renamed and added keymap
renamed old "default" to "modded_white", added new "default" that resembles an ISO 105-key layout
* reordered keyboards/jopr/info.json to match order o layout array
* implemented most suggestions
* fixed missing ;
* fixed bootloader setting for rules.mk
* adopted standard layout matrix naming convention
* "fixed" commented-out code in keymaps
* changes to keymap layers and LEDs
Turns out adding a layer for ROYA-modified keycodes is more trouble than it's worth and works better by just defining a ROYA key.
Also, LEDs were set up incorrectly.
Lastly, implemented SysReq-Warning LED.
* moved forced NumLock code
just in case either it or the CapsLock & ScrlLock update code wouldn't both work otherwise
* rearranged media keycodes
* replaced Shifted keycodes with basic ones
* Apply suggestions from code review
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* implemented suggestions by noroadsleft
* Apply suggestions from code review
Make ISO-Enter QMK Configurator-friendly
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update readme.md
* Update keyboards/jopr/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* moved keyboard to handwired folder
It was said that personal passion projects belong in there, even if they're not actually handwired
* Update readme.md
* added personal CTRL keymap
* added personal dz60rgb keymap
* enabled new rgb effect
* added space cadet shift
* media player track buttons now orange
* updated keymaps with rgb setting and visual HSV setting preview
* fixed source stuff?
* added support for underglow toggle (bugged to all hell)
* everything now behaves as expected when ti comes to RGB toggles, thank god
* removed ifdefs
* changed color of MAS_CRM
* uh, whitespace
* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB
* updated keymap to work kindof
* KEYMAP: changed list of rgb effects
* changed CTRL rgb defaults
* KEYMAP: new LED layout for ctrl
* fixed white LED position in indicator
* changed capslock tap timing
* Fix backlight breathing on C6
* Account for ATmega32A's single TIMSK register (MT40)
* Document hardware PWM on D4 for ATmega32A
* Add C6 and D4 to BACKLIGHT_PIN description
* new keymap for the hasu with media keys and mac layout
* switch escape and grave
* switch to the usual default
* with play and stop
* add reset on fn layer
* add mouse buttons, move reset, update copyright
* changes to keymaps
* changes to userspace
* changes to userspace
* removed reference to fc660c keymap which no longer exists from userspace readme
* removed preonic keymap
* Fix typo for RGBLIGHT config values
It doesn't make a difference right now since these are the defaults in
rgblight.h (which I'm just setting explicitly since some of the keyboard
configs change these defaults). However, I'd rather be explicit, so
fixing my typo. :)
* Remove mouse keys layer from Quefrency keymap
It's a fun idea, but I never use it in practice.
* Planck: layout macro refactor
Unified layout macro names across AVR and ARM boards.
Currently certain layout macros are specific to either AVR or ARM when used in the QMK Configurator. If an AVR-specific macro is used for a Planck rev. 6, or an ARM-specific macro on a rev. 5 or earlier, the user receives a compile error.
* Update keyboards/planck/planck.h per @drashna
Changed KC_LAYOUT_ortho_4x12 alias to LAYOUT_kc_ortho_4x12.
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Add KC_KEYMAP alias for LAYOUT_kc macro
per @drashna
Update keyboards/planck/planck.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Fix LAYOUT_planck_1x2uC macro for Planck rev6
Thanks to drashna for testing.
* Fix inline comment regarding revisions
* Add specific info.json file for Planck rev6
* Adding led support for Plaid
* Adding led support for Plaid
* Update readme.md
Fixing bad markdown
* Adding my personal keymap
* Clarifying LED instructions / formatting
* modify oled_driver to support SH1106
also:
- improve mechanism to specify which OLED IC we use
- comment calc_bounds()
- give OLED_COLUMN_OFFSET a default value
- inline comment re: OLED MEMORY_MODE and SH1106
- update docs/feature_oled_driver.h for SH1106 support and related changes
- docs: OLED: note we have tested SSD1306 on ARM boards (per @XScorpion2)
- define out MEMORY_MODE when using SH1106 OLED driver
* document that SSD1306 128x64 on AVR works
Per @XScorpion2: https://github.com/qmk/qmk_firmware/pull/5787#discussion_r291837842
* Add vlukash CrKbd keymap to support trackpad adapter.
The trackpad adapter uses Elite-C board that has five extra pins.
Also SPI pins are taken for trackpad, keymap config updates column data
pins for matrix scan.
* Update vlukash keymap
* Enable pointing devide, configure mouse BTN1
* Set TAPPING_TERM to 300
* Add support for the BlackBerry 8520 trackpad
* Add vlukash keymap for master-right no-trackpad version
* Remap backspace
* Set EXTRAKEY_ENABLE = yes
* Update thumb keys mappings
* Set bootloader to atmel-dfu
* Sync keymap
* Add scrolling support
* Make debug LEDS conditional
* Add support for both flex and no-flex PCBs
* Add readme and rename root folders
* Update readme file with blog link
* Fix readme file formatting
* Remove ADJUST keycode, code cleanup.
* Add Win key to the keymap.
* add calbatr0ss dz60 layout
* add media controls
* add media next/prev controls
* add base layer for windows and macos
* swap right ctrl and menu
* missing bracket
* update gitignore
* niu_mini uses dfu bootloader rather than the afrdude bootloader
modified: readme.md
* Change rules in rules.mk to reflect the bootloader change
modified: keyboards/niu_mini/rules.mk
* Add 60_ansi_split_bs_rshift layout to DZ60
I know there's already a lot of DZ60 layout macros, and #4668 suggests
they should be refactored at some point, but since this is one of the
standard layouts already in QMK that this PCB supports, I figured it was
okay to add so that DZ60 keyboards can share this layout with other
keyboards.
* New 60% ANSI split backspace/right-shift layout
I'm using this on a DZ60, but it should work fine on most 60% PCBs. It's
basically a HHKB layout with a standard ANSI bottom row (3x 1.25U mods,
6.25U spacebar, 4x 1.25U mods).
* martenwuut's original code commit
* delete random directory that is the same as the parent directory
* get this compiling
* update readmes
* add manufacturer
* fix up the keymap error and replace KC_A with KC_1
* add verc support which is basically just at trimmed down verb
* update keymap readme to specify which redscarf it is
* add parent level readme
* fix grammar
* fix up readmes and put in alternative name for PCBs
* add configurator support for the ver.c pcb
* add configurator support for Ver.B (RS78) pcb
* add iso support for Ver.C (RS68)
* change DEBOUNCING_DELAY to just DEBOUNCE
* remove K2C to fit the default layouts
* fix keymap
* fixup configurator layout with split backspace
A delay of 10ms seems sufficient. Otherwise, media keys tapped from the
encoder of my BDN9 macropad only seem to get picked up by the OS
(Windows 10) some of the time.
* Candybar: updated rules.mk
Disabled console and command to get compiled size under flash space limitations.
* Candybar: Enable LINK_TIME_OPTIMIZATION_ENABLE
* [Keymap] iris@nstickney: improve RGB init
Perfecting the rgb backlight initialization with a delay for each
color; also start and stop the animation at the "default layer"
color.
* [Keymap] iris,ergodox@nstickney fix FN on SYMB
The function key was not operational on the SYMB and SYSH layers due
to other keycodes being mapped over MO() on those layers. The
offending keycodes have been moved to other keys.
* [Keymap] add @nstickney's userspace
Pulled common code out to a userspace directory for my iris and
ergodox keymaps.
* [Keymap] iris@nstickney add image to README
Added an image from keyboard-layout-editor.com to meet the README
standard.
* iris@nstickney hue values now `uint8_t` (#6050)
* Remove all Copyrighted Sounds and Songs
This removes any song that has a license/copyright on them.
Additionally, it adds the license information for any song that remains.
* Add removed song list
Can be reverted if we'd rather do that
* Use newer coding conventions
* Fix typo
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Revert copyright date
* Update quantum/audio/song_list.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* faq_general.md to Chinese
faq_general.md to Chinese
faq finished
* custom_quantum_functions.md to Chinese
custom_quantum_functions.md to Chinese
* custom_quantum_functions.md fix
custom_quantum_functions.md fix
* custom_quantum_functions.md fix translate
custom_quantum_functions.md fix translate
* !ver.English! _summary.md bug fix
_summary.md bug fix of English doc. add".md" behind "feature_combo"
* !ver.English! custom_quantum_functions.md fix#5869
custom_quantum_functions.md in English : delete redundant "is" . issue#5869
* !ver.English! how_keyboards_work.md link fix
change
https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_code_input
to
https://en.wikipedia.org/wiki/Unicode_input#Hexadecimal_input
"#Hexadecimal_code_input" not exist
* !English! how_keyboards_work.md add missing "t"
Tied to a specific OS a a time (need recompilation when changing OS);
change to
Tied to a specific OS at a time (need recompilation when changing OS);
* _summary.md improve translation
_summary.md improve translation
* reference_glossary.md into Chinese
reference_glossary.md into Chinese
术语表翻译,这个术语表英文版似乎不太全,应该补充英文版,并在中文版添加其他具有中国特色的术语。
* Dimple: fix unintended LED behaviour
The LED was always-on if the custom keymap did not call dimple_led_off()
at least once.
* Dimple: LED code fixup
* correct indicator light states.
function of indicator lights was inverted. these changes correct that.
* flesh out keymaps pre production
* Enable extrakey in rules
* 8-Pack Macropad
* Added MANUFACTUTER to config.h
* Fix the mirrored keymaps by creating rev1.1 and rev1.2 layouts, then using them in the keymaps
* fixes from code review comments
* Use revisions to manage the different layouts for rev1.1 and rev1.2
* Add DEFAULT_FOLDER to fix default build failures
* code review comments fixes
* code review comments fixes
I2C timing parameters were seemingly set up for an STM32F303 target MCU, at a specific clock speed. This commit allows specifying the timing parameters via config.h, allowing other STM32 MCUs to be targeted, potentially at different clock frequencies.
Alternate function modes for the I2C pins are now also configurable, allowing for remapping to other pins.
* Generate project, fill in the details
* Repair json
* Separate keymaps to numpad and all-1U
* Apply suggestions from code review
Co-Authored-By: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Begin work
* Make things a tad easier to read
* Fix spacing
* Get things compiling
* Build a variety of generic keymaps
* Correct RGB pin
* Add configurator json
* Apply suggestions from code review
Co-Authored-By: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>
* Remove JJ50 data from YMD96
JJ50 was actually added as its own keyboard when this was added in #2546. It should have been taken out then, but wasn't.
* Update ymd96.h
- use #pragma once include guard
- remove redundant file includes
* Update LAYOUT_iso macro to K<row><col> notation
* Update LAYOUT_custom macro to K<row><col> notation
* Update LAYOUT_default macro to K<row><col> notation
* Refactor default keymap
* Rename readme file to lowercase
* Rename layers enum and default layer
- renamed layers enum to layer_names
- proposed by fauxpark in Issue 5977, and I like the idea
- https://github.com/qmk/qmk_firmware/issues/5977#issuecomment-495924338
- renamed the base layer to _DEFAULT
- I think it looks nicer.
* initial commit
* remove mentions of oe and replace with le
* add new layout macros with the spacebar change
* add rgb underglow support
* Update keyboards/exclusive/e6v2/le_bmc/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/exclusive/e6v2/le_bmc/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* belgian layout had no sendstring definition
* backtick was not defined for belgian sendstring
* slash definition was wrong for belgian sendstring
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* use BE_ keys whenever we can
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* ^ can be sent as a normal key (not a dead key) with altgr+para
* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB
* changed CTRL corner LEDs + centered horizontally
* whoops - changed CTRL's underglow LEDs back to the underglow flag
* whitespace
* I changed the right file this time
* Fixed DZ60RGB left shift out of position
* Expand info.json formatting to one line per key
This is a white-space-only change. Make it easier for me to read the file.
* Make sure every key object has a label
Going to be using them shortly.
* Insert key identifiers from v1.h into info.json labels
Shows where each key is located in the switch matrix.
* Move K5O to its correct location on the top row
* Adjust white space in v1.h
At this point, the macros for LAYOUT and LAYOUT_75_ansi are 100% identical, except for their names.
* Redefine LAYOUT_75_ansi as an alias of LAYOUT
No need for two code blocks with the same data.
* Correct visual positioning in info.json
- move Pause 1u to the right
- move K5O to the top row, between Print Screen and Pause
- move Enter key 1u to the left and 1u wider (1.25u to 2.25u)
* Delete key identifiers from info.json labels
Don't need them anymore now that we know where everything is.
I'm calling K5O as ScrLk so it has a label, even though that's not actually what it is.
Also gave the Spacebar a label because I prefer when all the keys have labels.
* Enable 75_ansi Community Layout support
* Reassign layout macro as LAYOUT_75_ansi and delete macro alias
Configure the codebase so LAYOUT_75_ansi is the only layout macro available.
* Add key_count key to info.json data
* added personal CTRL keymap
* added personal dz60rgb keymap
* enabled new rgb effect
* added space cadet shift
* media player track buttons now orange
* updated keymaps with rgb setting and visual HSV setting preview
* fixed source stuff?
* added support for underglow toggle (bugged to all hell)
* everything now behaves as expected when ti comes to RGB toggles, thank god
* removed ifdefs
* changed color of MAS_CRM
* uh, whitespace
* changed rgb positions and modifiers within RGB matrix thing for CTRL and DZ60RGB
* updated keymap to work kindof
* KEYMAP: changed list of rgb effects
* changed CTRL rgb defaults
* KEYMAP: new LED layout for ctrl
* adds spacetime keyboard
* removes custom tap and mod functions
this commit replaces tap_key, control_key and shift_key with built-in
tap_code16.
* changes thumb layer and makes left palm key ralt
* Add support for LSJ Ares
Thanks to the other ports which have made this port possible.
* Update Ares code per request
* More changes to Ares
* Update Ares rules.mk
Co-Authored-By: Maartenwut <maartenwut@gmail.com>
* Remove escaping backslashes from Ares default keymap
* mostly done with first version of Ellipse Rev1 software
* mostly done, error with backlight breathing
* more testing and changing default keymaps
* ready for first release attempt
* fix newline in readme
* fix copyright and extraneous declarations and symbols
* remove more excess backslashes
* fixed more formatting
* feat-user-kuatsure: abstract symbol row out
* feat-user-kuatsure: abstract grouped bracket, brace, paren out
* fix-preonic-kuatsure: remove eol as requested by @drashna
* feat-user-kuatsure: add KC_MAKE and KC_FLSH
thanks to @drashna for the help
* chore-preonic-kuatsure: remove auto shift
* chore-user-kuatsure: move leader seq's to macro syntax
* feat-user-kuatsure: add `KC_VRSN` key
plus use it preonic keymap
* chore-user-kuatsure: namespace keyboard macros `KB`
* chore-preonic-kuatsure: move some keyboardy keys around
* chore-preonic-kuatsure: remove parens, brackets, braces from lower
* chore-user-kuatsure: move tmux window shifts to dbl press leaders
* feat-user-kuatsure: add a computer lock leader seq
* fix-preonic-kuatsure: go back to lower brackets
* chore-preonic-kuatsure: clear out raise
* feat-various-kuatsure: add meh + tab mod tap
* chore-preonic-kuatsure: `raise` eats `game_mod` layer
* fix-preonic-kuatsure: reverse pg up and pg down
* chore-user-kuatsure: add double tap to turn off music
* chore-user-kuatsure: move like seqs together
* chore-preonic-kuatsure: add a few more items to the num pad on raise
* feat-user-kuatsure: re-enable td for <> keys
* chore-user-kuatsure: give a little more grace period for leader
* fix-user-kuatsure: give lock leader a gui buffer
no timer or anything, but alfred doesn't boot up as quickly as I would like sometimes
gui doesn't do anything but gives a little bit of a time bump
* fix-user-kuatsure: changes from @drashna review
* Switch Quefrency from flaky I2C back to serial
* Lower mouse wheel speed on Quefrency slightly
* Migrate common settings to userspace
* Enable Bootmagic Lite for consistent reset to bootloader.
* Turn off some undesired features across all keyboards.
* Remove EEPROM reset keybinding from all keyboards since Bootmagic Lite
also does an EEPROM reset.
* Set backlight and underglow increments consistently across all
keyboards since lots of them like to override the deafults.
* Set mouse keys consistently across all keyboards.
* Update function layer keymap images
* translate docs into Mandarin Chinese
translate
faq_debug.md
into Chinese
* translate faq_build.md into Chinese
translate faq_build.md into Chinese
* faq_keymap.md to zh-cn
faq_keymap.md to zh-cn
* Added customisations and README
* Tweak keymap: word traversal/deletion
* Add w and b word traversal/deletion keycodes.
* Add fine volume control key codes, but don't use them, because they
conflict with other key codes. `A` somehow got remapped to fine
volume up.
* Set mousekey delay to zero
* Use SAFE_RANGE for key codes.
* Update keymap and README
Add new mouse-specific layer 3, activated by pressing and holding space.
Add brightness controls to layer 4 (previously, layer 3).
Update README:
* New keyboard-layout mockup image.
* Add actual link to kbdfans.cn.
* Update layer descriptions.
* Fix indentation in keymap.c
* Use _______ over KC_TRNS to increase readability
* Custom keys: use #define over process_record_user
* Use enum for naming layers
* Rename README.md -> readme.md
* Keep ASCII art consistent with keymap
* Possible fix for xyverz ortho keymap: define RGBLED_NUM
* Update DZ60 keymap; TODO store old keymap under different directory?
* Change RGUI to RALT because 7u spacebar is too long
* Save old bottom row keymap
* Update Iris keymap: replace backslash with grv
* Add ortho_4x12 layout
* Added Delete key to Iris keymap
* Move delete key
* Oh look a new keyboard
* ortho4x12: get an adjust layer back
* Remove jj40 keymap, add custom power draw #define
* Set WhiteFox to advertise only 100mA of power draw
* Update WhiteFox keymap
* Update WF keymap (2)
* Remove lets_split keymap, update community krusli keymap
* Add #define for BACKLIGHT_LEVELS (unused)
* Update Whitefox keymap
* Add YD60 from auto-generated kbfirmware files
* Bring files up to speed with new standards
* Fix: KEYMAP -> LAYOUT
* Fix keymap differences (DZ60 -> YD60)
* Update keymap
* Update README
* Fix RShift position
* Specify that the port is for the YD60MQ variant
* Update keyboards/iris/keymaps/krusli/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Fix Iris and Let's Split keymaps
* Remove unused keymap file
* Use #include QMK_KEYBOARD_H
* Add atmel-dfu selection to yd60
* Rename dir to YD60MQ, update definitions
* Use new convenience macros/functions for led_set_user
* Use #pragma once
* Change all ?= to = in rules.mk
* Use pragma once for yd60mq.h
* Take out DZ60 and Iris changes
* Remove now-removed Iris folder
* Revert adding ortho_4x12
* Revert on xyverz ortho_4x12 keymap
* Undo deleting JJ40 keymap files
* Don't revert beyond upstream jj40 state
* Extra files from earlier commit is to be deleted
* Remove WhiteFox keymap not in upstream yet
* Re-add my Let's Split keymap
* Revert keymap changes
* Cleanup: indentation
* Update keyboards/yd60mq/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/yd60mq/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Cleanup & move kb backlighting code to yd60mq.c
* Update README, rename to lowercase
* Update README: rename to lowercase
* Update README with links and picture of PCB
* Remove PREVENT_STUCK_MODIFIERS
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Set Quefrency bootloader correctly for Elite-C
* Update Quefrency layout to be more like HHKB
* Update KBD67 layout to be more like HHKB
* Add keymap for BDN9 macropad
* Keyboard: add treeadstone48
* rename layout defines
* Use of pragma once
* move common include code
* fixed info.json
* change keymap layout from kc to normal
* fix alpha revision keymap
* fixed info.json
* remove USE_Link_Time_Optimization
* Add center sprit keymap for nomu30
* Re-enable Audio
And there was much rejoicingmake keebio/iris/rev2:drashna AUDIO_ENABLE=yes!
* Re-add debounce to ergodox EZ
* Fix rgb matrix helper function
* Make sure that RGM Matrix is checked properly
* Fix merge commit?
* Disable more RGB matrix modes
* Increase Debounce for Ergodox EZ
The performance improvements have made it necessary, actually
* Consolidate RGB Matrix layer indication function
And changes to iris
* Fix lighting issue for gamepad
* Update Corne Keyboard configuration
* Update Corne Keyboard layout
* Update KC_MAKE macro to better handle crkbd split
* Tweaks to Corne Keyboard Layout
* Enable RGB Matrix Sleep
* Update my code to use layer_state_t typedef
* rename bmc due to confusion as the bmc from r2 is different
* update readme
* Update keyboards/exclusive/e6v2/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* use pragma once
* remove custom matrix
* remove custom i2c code in favor of QMK's i2c_master
* rename to all lower case readme
* update readme
* turn off bootmagic as it doesn't work anyway
* Update keyboards/pearl/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Adding an AUDIO_CLICKY_DELAY_DURATION configurable value to the AUDIO_CLICKY feature.
* Tweaking my community keymap to work better with my rev 4 planck.
* Typedef'ed layer_state_t to uint32_t.
This enables future work with layer_state_t to uint8_t for optimization purposes.
* Removed accidental xeal60 commit
* Revert to egyptian brackets, added sizeof(layer_state_t) so when layer_state_t is redefined it will automagically work.
* Add additional typedefs
* Add checks for setting layer state
* Update tmk_core/common/action_layer.h
Co-Authored-By: alex-ong <the.onga@gmail.com>
* Revert commit.
* adding my keymap for the KUMO
* edited the readme file
* edited some more files
* edited some more files
* edited files from feedback
* edited one more files from feedback
* edited rules
* fix the things the stupid script broke
* create an appropriate LAYOUT macro using LAYOUT_tkl_ansi
* create an appropriate keymap stolen from the phantom default keymap
* add correct pins used and rgb led numbers
* change vendor and device name
* add QMK Configurator support
* fix up RGB underglow
* update readme
* introduce new layout macro tkl_iso
* add QMK Configurator support for new layout macro
* enable backlight and add community layout support
* Increase delay for Hold-Tap register for CAPSLOCK
Because it seems that the 80ms delay wasn't too much
* Screw it, make the caps delay a define and make it configurable
* initial commit
* copy paste with some fixes the code from fox lab leaf60 repo
* add 60_ansi and 60_hhkb and community layout support
* add QMK Configurator support
* turn bootmagic to lite and turn on rgb and backlights
* disable some features so firmware isn't too big
* initial commit for hotswap leaf60
* add hotswap support
* edits for consistency
* add a generic leaf60 readme
* turn off console and command to save firmware space
* not enabling sleep led enable
* not enabling sleep led enable
* had one extra key in 60_hhkb
* get rid of limit val define
* Update keyboards/foxlab/leaf60/hotswap/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/foxlab/leaf60/hotswap/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/foxlab/leaf60/universal/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* add rgblight_set_effect_range()
* implement effect range
* Arrange the order of function list in rgblight.h .
* update docs/feature_rgblight.md
* fix RGBLIGHT_RAINBOW_SWIRL_RANGE default value
* add example code about Utility Functions
* add example code about direct operation functions
* When RGBLIGHT_SPLIT is defined, the following function has no meaning and is invalidated.
* rgblight_setrgb_master(r, g, b)
* rgblight_setrgb_slave(r, g, b)
* rgblight_sethsv_master(h, s, v)
* rgblight_sethsv_slave(h, s, v)
* add temporary test code for rgblight_set_effect_range
* fix rgblight_effect_knight() bug
* Test End. Revert "add temporary test code for rgblight_set_effect_range"
This reverts commit 5680cddd012d68b2db75a532862a7fef250f8973.
This is a Neo2 inspired layout that is meant to be fully usable on
MacOS when used with the default US QWERTY/ABC Extended keymap.
Neo2 layers 1-4 have been almost fully implemented in hardware.
Layers 5 and 6 (greek and mathematical symbols) have been left
out for now as most of them aren't available on the default
keymaps.
Layer toggling for layer 3 on the right hand side utilizes a
tap-toggle approach that is a combination of MO & LT macros.
This is required to allow sending Y when tapped, @ when tapped
while the SHIFT modifier is active and support momentarily
toggling the layer while the key is held.
* trying to make my global keymap
* refactoring the old keymap using userspace
* getting there
* move readme and remove community layout
* use pragma once instead of ifndefs
* just make iris work
* iris decent
* better naming
* add some modifiers on the home row
* use symbol and sysctl layers
* fix up
* a bit faster
* add < and > on symbol layer
* apparently im not using z all that much..
* okok
* fix up stuff
* led init is back
* bring back led indicators
* Update keyboards/ergotravel/keymaps/pvinis/config.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* not needed
* not needed
* delete these for now, until I use the userspace code
* remove katamari from here. made a new pr for it
* lower case
* drashna suggestion :)
* move files to correct place
* fix missing command
* First publish of roguepullreqest programmer dvorak planck layout
* Removed junk line
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Removed layer songs
Removed layer songs for cleanliness. Will use them later.
* Update keyboards/planck/keymaps/roguepullrequest/readme.md
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Made basic LSHIFT framework but is not working. Listed other tapdances.
* Got LSHIFT to work
* Added working RSHIFT
* Added working TD_S
* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.
* Cleaned up layout.
* Reenabled audio space is not needed right now.
* Added tap dances and layout image
* Started dactylmanuform layout
* Revert "Started dactylmanuform layout"
This reverts commit 5ef48e4a23de14db9b843d85d3250e1bf4426817.
* Started mousepad version of BDN9...wont compile for some reason.
* Fixed BDN9 mousepad layout
* Added readme.md to mousepad bdn9 layout.
* Updated readme.md for mousepad bdn9 layout.
Fixed the tables to finally work.
* Unslashed the mousepad keymap for the BDN9
* remove not need file
* set RGBLIGHT_SPLIT
* set RGBLIGHT by layer
* exchange LED color on layer
* Update keyboards/hecomi/alpha/rules.mk
I misunderstand RGBLIGHT_SPLIT
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Fix LAYOUT_60_iso_split_space_bs_rshift to match comments and Configurator
* Fix LAYOUT_60_iso_split_space_bs_rshift to match comments and Configurator
* Initial Zygomorph 5x6 code
Split is not working yet
* layout changes
implement 4 row config option (not done yet), remove layout comments in layout.c
* Zygomorph layouts for 5x12, 5x6, 4x12, and 4x6
Also, info.json *should* be nearly usable
for the configurator
* temporary fix for pin D5 being broken
* show D5 issue comment
* add build notes
* Pin B7 broken in split why?
* remove fix
* Fix some pin assignments
* begin to fix keymap
* Create new 5x6 layout
* update key positions
* Initial Zygomorph 5x6 code
Split is not working yet
* layout changes
implement 4 row config option (not done yet), remove layout comments in layout.c
* Zygomorph layouts for 5x12, 5x6, 4x12, and 4x6
Also, info.json *should* be nearly usable
for the configurator
* temporary fix for pin D5 being broken
* show D5 issue comment
* add build notes
* Pin B7 broken in split why?
* remove fix
* Fix some pin assignments
* begin to fix keymap
* Create new 5x6 layout
* Rough first pass at split common conversion.
Keymap cleanup to cover just the basics.
Broke OLED code out into separate example.
* Fix readme
* Removal of old encoder / oled driver, fix for layout macros
* small update
* xulkal zygomorph keymaps
* Removed the LED_MIRRORED option as leds are always mirrored on Zygomorph
* Xulkal keymaps update
* split rgb light support
* fix line endings
* Apply suggestions from code review
Co-Authored-By: zvecr <git@zvecr.com>
* More layout and compile fixes from pr review
* Cleaning up rules.mk files
* Apply suggestions from code review
Co-Authored-By: zvecr <git@zvecr.com>
* Updating defaults
* Apply suggestions from code review
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Added check for pressed to clear space cadet
* Found some docs to update
* Update docs/quantum_keycodes.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Changes from PR
* Fix white space on z150_blackheart.h
* Update z150_blackheart.h to use #pragma once include guard
* Update z150_blackheart.h to use QMK-preferred K<row><col> notation
* Add QMK Configurator support
* Refactor the keymaps
- refactor the keymaps into separate files for each layout macro
- give credit where credit is due
- white space update (four-space indent)
* Make Hardware Availability link in readme a rich text link
* Convert LED indicators to GPIO commands
* Elevate Indicator LED set-up and toggling to keyboard level
* project creation and config.h import
* fix name
* cleanup
* layout for left
* working left with feather pins
* full keymap
* ?
* let's do this
* non working twimaster version
* it fucking works!
* bluetooth!
* cleanup
* use auto output for ADAFRUIT_BLE
* remove auto from custom matrix
* better ble auto
* fix f1
* revert
* fix ble
* update readme
* Update readme.md
* Update readme.md
* translate newbs.md into Madarin Chinese
translate newbs.md into Madarin Chinese
* translate docs into Mandarin Chinese
translate getting_started_github.md into Mandarin Chinese
* translate getting_started_getting_help.md into Mandarin Chinese
translate getting_started_getting_help.md into Mandarin Chinese
* contributing.md to Chinese
Personify QMK as a girl named Q酱 . It can make more developer read this document and contribute QMK.
* getting_started_introduction.md to Chinese
getting_started_introduction.md to Chinese
* faq.md to Chinese
faq.md to Chinese
* crlf2lf getting_started_introduction.md
ending line fix getting_started_introduction.md
* crlf2lf contributing.md
crlf2lf contributing.md
* clean up rgb matrix extern usage
Moved rgb matrix boiler plate into macros
Rebased onto typing heatmap pr
* Fixing the reversed frame buffer access in digital rain
* Fixing digital rain & typing heatmap if keyreactive effects are not enabled
* Apply suggestions from code review
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Adding parenthesizes to DRIVER_LED_TOTAL where necessary
* Updated docs
* added notes about parentheses
* Improve Animation docs with example
- example to reduce flash footprint of animations using RGBLIGHT_EFFECT_ defines
* Re-order the effects list
* Update docs/feature_rgblight.md
Co-Authored-By: yanfali <yanfali@gmail.com>
* Update docs/feature_rgblight.md
Co-Authored-By: yanfali <yanfali@gmail.com>
* Update docs/feature_rgblight.md
Co-Authored-By: yanfali <yanfali@gmail.com>
* Introduce line breaks
* Add title for animation speed section
* Organize Animation Defines Into Groups
* Use the RGB EFFECT recommended by mtei in docs
- has the most modes, and STATIC_LIGHT can't really be disabled.
* Use more accurate titles for effects and animation
- accidentally put a toggle in settings
* Norman layout with Lower and Raise layers working
* Add keymap_extra def for Norman layout
* Re-org'ed the modifiers as explained in the Readme
* Corrected colour legend for KLE that the Readme links to
* Use #pragma once in header file
* Use pragma once and move user config to config.h
* Move definitions to the right file and correct link in Readme
* Move def of NM_COLN to the logical place in header file
* Add sendstring_norman.h for when the laptop layout is not QWERTY
* Update quantum/keymap_extras/sendstring_norman.h
Co-Authored-By: lehoff <torben.lehoff@gmail.com>
* initial commit and script error fixes
* add matrix and pin definitions along with LAYOUT macro
* add an appropriate keymap
* add num lock led support
* turn on bootmagic lite along with backlight led support
* add QMK Configurator support
* initial commit
* fix script issues
* define pins used and electrical matrix size and an appropriate LAYOUT macro
* add an appropriate keymap
* turn on bootmagic lite and backlight support
* Add QMK Configurator support
* add caps lock led support
* update readme with group buy links
* initial commit
* fixup script issues
* define pins used and create an appropriate LAYOUT macro
* create an appropriate keymap
* turn on backlight and bootmagic lite
* add QMK Configurator support
* fixup readme
* remove doubly defined KC_TRNS from keymap
* add support for Caps lock and Scroll lock LEDs
* Initial conversion of the rgb_led struct
* Converting last keyboard & updating effects to take advantage of the new structure
* New struct should not be const
* Updated docs
* Changing define ___ for no led to NO_LED
* Missed converting some keymap usages of the old struct layout
slave backlight was always on - as get_backlight_level() doesn't
indicate if the backlight is enabled or not.
also updated the corosponding code for serial transport to stop peeking
directly at 'internal' backlight_config structure.
* Disable a bunch of reactive modes
* Enable rgb matrix for Corne Keyboard
* Convert CRKBD to rgb matrix
* Add Gergo keyboard layout
* Make Diablo 3 tap dance better
* Add basic support for Planck EZ
* Fix RGB Matrix stuff
* Fix keycodes for Planck EZ
* Update CRKBD OLED stuff
* Fix typo for sleep on ergodox glow
* Improve my gergo layout
* Scrolling OLED key logger!
* Change gergo layout
* Hnadle unicode keycodes if unicode is disabled
* Disable COMMAND/CONSOLE for gergo
* Fix right side control
* Re-enable LTO for all platforms
Since I got updated arm gcc binaries that no longer error out on lto
* Update formatting to match newer community standards
Poor 2 space
* Re-alight startup animation to use new HUE range
* Streamline gitlab ci scripts
* Disabled Space Cadet
* Add support for breathing table
* Enable new LTO Option
And clean up defines that will now be repeatitive
* Remove vscode settings
* Additional formatting cleanup of config.h files
* Add FnLk to Melody96 bottom row
* Update conditional in userspace makefile
Thanks @drashna
* Add F keys to Melody96 Fn layer
* Add FN_ESC alias to userspace
* Update KBD6X keymap
* Fix RGB_MATRIX_ENABLE constant name in #if
* Remove trailing \ from LAYOUT macro calls
* Set RGB mode on EEPROM reset in KBD6X
* Swap right and middle mouse buttons in KBD6X
* Rearrange RGB controls in KBD6X
* Update keycode aliases, replace CLEAR with DEL_NXT in KBD6X
Add Clear to KBD6X as RCtrl+`
* Convert code to 4 space indents
* Tweak RCTRL layer functionality
* Replace NUMPAD custom keycode with layer state logic
* Update RGB_MATRIX_ENABLE check
Co-Authored-By: vomindoraan <vomindoraan@gmail.com>
* Re-fix Mousekey Movements
After the new movement model was instroduced, it broke diagonal momement, again. Reapplying fix from #3147 to both old and new acceleration method.
* Make diagonal mouse report checks more readable
Co-Authored-By: drashna <drashna@live.com>
* added personal CTRL keymap
* added personal dz60rgb keymap
* enabled new rgb effect
* added space cadet shift
* media player track buttons now orange
* updated keymaps with rgb setting and visual HSV setting preview
* fixed source stuff?
* added support for underglow toggle (bugged to all hell)
* everything now behaves as expected when ti comes to RGB toggles, thank god
* removed ifdefs
* changed color of MAS_CRM
* uh, whitespace
* fixed issue with LED indicators
corrected error in info.json
* fixed issue with led indictors
* added fix for key_count to info.json for westfoxtrot/aanzee
* fix to support config.qmk.fm correctly and remove unused key from matrix for westfoxtrot/aanzee
The code as originally listed didn't work for me, but replacing `unregister_code16(LALT(KC_TAB));` with `unregister_code(KC_LALT);` fixes the problem and causes the macro to work as intended.
Thanks to folks on Discord for helping me figure this out.
* docker_build.sh: Docker requires access to hosts devices
This also runs the container interactively which allows the user to
interupt the build with Ctrl-C.
* docker_build.sh: Mount /dev via $usb_args instead
* remove files that contributed to default hex file creation
* fix up rgb pcb rules and config that previously depended on rules and config in a parent directory
* use #pragma once
* turn on backlight breathing and use #pragma once
* fix config.h and rules.mk to not depend on the parent directory
* use #pragma once
* removed keyboard info.jsons in favor of a shared one
* add in hhkb layout and shared info.json file
* fixup readme file
* remove cruft
* use bootmagic lite over yes
* fix config path and use pragma once
* commit PR fixes
* update manufacturer
* set bootloader correctly
* Expose unicode_saved_mods
* Add UNICODEMAP shift pair functionality and XS keycode
* Add XS to keycode reference documentation
* Pick pair index based on both Shift and Caps Lock state
* Add XS to Unicode feature docs
* Clean up process_unicode* headers
* Extract unicode_map index calculation into function
* Pick pair index as XOR rather than OR of Shift and Caps states
* unicode_input_start() has to be called before the unicode_map index is calculated
* Replace unicodemap_input_error() with more generic unicode_input_cancel()
* Replace register+tap+unregister with tap_code16(LCTL(LSFT(KC_U)))
* UNICODE_OSX_KEY → UNICODE_KEY_OSX, UNICODE_WINC_KEY → UNICODE_KEY_WINC
* Make keycode range checks more robust
* Fix keycode range checks for different input modes
* Add UNICODE_KEY_LNX, update docs
* QK_UNICODEMAP_SHIFT → QK_UNICODEMAP_PAIR
* XS → XP, update docs
* Tweak Unicode docs
* Use recently added MOD_MASK_SHIFT and IS_HOST_LED_ON helpers
* Update Unicode table in docs/keycodes.md
* Update Unicode docs per review comments
* Replace references to Mac OS X with macOS in Unicode docs
* As of v0.9.0, WinCompose supports all possible code points
* Expand descriptions in XP docs
* Update keycode table and cycling docs
* Further expand cycling docs
* Add DFU Suffix for ARM boards
* Blindly flash DFU SUFFIX ARGS for now
* Fix commented out check
* Fix DFU Suffix Argument check
Thank you jack!
* Update Travis CI Scripts to include dfu-util
So we can get dfu-suffix as well
* Manually add dfu-suffix package
* Use external repo for newer version of dfu-util
One that includes dfu-suffix
* Update .travis.yml
* Silence unnecessary output from dfu-suffix
The insertion point for `$(patsubst %.c,%.clib,$(LIB_SRC))` must be after all normal `SRC += ..` . I modified it to be so.
Because LIB_SRC and SRC are assumed to be used in pairs. Similarly, QUANTUM_LIB_SRC and QUANTUM_SRC are assumed to be used in pairs.
translate
newbs_getting_started.md
newbs_building_firmware.md
newbs_flashing.md
newbs_testing_debugging.md
newbs_best_practices.md
newbs_learn_more_resources.md
into Mandarin Chinese
Specifically, to fix some edge cases, and keep the handling consistent, the userspace folder should not actually be added at the end. Ideally, it should be added after the keymap paths, but before the keyboard's path.
This issue was discovered in #5484, and the fix created by mtei.
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin()
* Change rgblight breathing table size to be easily selectable.
add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
* Add compatibility for LAYOUTS = planck_mit planck_grid
* Add compatibility for LAYOUTS = ortho_4x12
* Remove planck_grid community support from Plaid
* First publish of roguepullreqest programmer dvorak planck layout
* Removed junk line
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Removed layer songs
Removed layer songs for cleanliness. Will use them later.
* Update keyboards/planck/keymaps/roguepullrequest/readme.md
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Made basic LSHIFT framework but is not working. Listed other tapdances.
* Got LSHIFT to work
* Added working RSHIFT
* Added working TD_S
* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.
* Cleaned up layout.
* Reenabled audio space is not needed right now.
* Added tap dances and layout image
* Started dactylmanuform layout
* Revert "Started dactylmanuform layout"
This reverts commit 5ef48e4a23de14db9b843d85d3250e1bf4426817.
* Adjusted the linear led table and hsv_to_rgb to better handle 255 hue
* small math adjustments to better handle specific uint8_t rounding and overflows
* Remove dependency on sortedcontainers
* Sort dictionary on output
* Externalize writing of keymap.c into function
- serialize layers into one flat list
* Add encoding
* Generate JSON keymap in addition to keymap.c
* Replace XXXXXX with KC_NO
* Added support for BM16S keyboard.
* Update keyboards/bm16s/bm16s.h
Co-Authored-By: bontakun <ben@bontakun.net>
* Update keyboards/bm16s/bm16s.h
Co-Authored-By: bontakun <ben@bontakun.net>
* Cleaned up a bunch of unneeded stuff.
* Made layout name match.
* Changed rules file to have correct bootloader and indention. Updated readme to reflect availability on krepublic. Updated keymap to have more obvious RGB controls.
* Removed unnecessary file.
* Fixed grammar in readme.
Co-Authored-By: bontakun <ben@bontakun.net>
* Migrated to autogenerated layout config, without issue.
* Renamed LAYOUT to match community standards.
* Move lib8tion header-defined constant into implementation file, add to build
* Move b_m16_interleave initializtion to lib8tion.c, change build to include lib8tion.c in QUANTUM_LIB_SRC
* Remove left-over whitespace
* Move lib8tion include by RGB_MATRIX_ENABLE code in makefile
* Revert build changes and change lib8tion b_m16_interleave constant to static
* Adding ortho_4x12 & planck_mit layouts for KBD4X.
* Adding LAYOUT_kc_ortho_4x12 macro to KBD4x.
* Turn off console for KBD4X so firmware size falls within limit.
@ -8,8 +8,17 @@ Our users, contributors, and collaborators are expected to treat each other with
* The use of sexualized language or imagery
* Unwelcome advances, sexual or otherwise
* Deliberate intimidation, stalking, or following
* Insults or derogatory comments, or personal or political attacks
* Publishing others’ private information without explicit permission
* Sustained disruption of talks or other events
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Advocating for, or encouraging, any of the above behaviour
If someone is violating this Code of Conduct you may email hello@qmk.fm to bring your concern to the Members. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
# Reporting
If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated.
QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that.
Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly.
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
This document marks the inaugural Breaking Change merge. A list of changes follows.
## Core code formatting with clang-format
* All core files (`drivers/`, `quantum/`, `tests/`, and `tmk_core/`) have been formatted with clang-format
* A travis process to reformat PR's on merge has been instituted
* You can use the new CLI command `qmk cformat` to format before submitting your PR if you wish.
## LUFA USB descriptor cleanup
* Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand
* More information: see https://github.com/qmk/qmk_firmware/pull/4871
* No behaviour changes anticipated and no keymaps modified
## Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes
*`fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
## Update Atreus to current code conventions
* Duplicate include guards have bypassed the expected header processing behavior
* All keymaps affected are recommended to remove duplication of `<keyboard>/config.h` to `<keyboard>/keymaps/<user>/config.h` and only provide overrides at the keymap level
## Backport changes to keymap language files from ZSA fork
* Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`)
* Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general.
* Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`.
## Update repo to use LUFA as a git submodule
*`/lib/LUFA` removed from the repo
* LUFA set as a submodule, pointing to qmk/lufa
* This should allow more flexibility with LUFA, and allow us to keep the sub-module up to date, a lot more easily. It was ~2 years out of date with no easy path to fix that. This prevents that from being an issue in the future
## Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes
*`fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()`
* All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys
* If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features
## Remove `KC_DELT` alias in favor of `KC_DEL`
*`KC_DELT` was a redundant, undocumented alias for `KC_DELETE`
* It has been removed and all its uses replaced with the more common `KC_DEL` alias
* Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result
This document describes QMK's Breaking Change process. A Breaking Change is any change which modifies how QMK behaves in a way that in incompatible or potentially dangerous. We limit these changes so that users can have confidence that updating their QMK tree will not break their keymaps.
The breaking change period is when we will merge PR's that change QMK in dangerous or unexpected ways. There is a built-in period of testing so we are confident that any problems caused are rare or unable to be predicted.
## What has been included in past Breaking Changes?
* [2019 Aug 30](ChangeLog/20190830.md)
## When is the next Breaking Change?
The next Breaking Change is scheduled for Nov 29.
### Important Dates
* [ ] 2019 Oct 04 - `future` is created. It will be rebased weekly.
* [ ] 2019 Nov 01 - `future` closed to new PR's.
* [ ] 2019 Nov 01 - Call for testers.
* [ ] 2019 Nov 27 - `master` is locked, no PR's merged.
* [ ] 2019 Nov 29 - Merge `future` to `master`.
* [ ] 2019 Nov 30 - `master` is unlocked. PR's can be merged again.
## What changes will be included?
To see a list of breaking change candidates you can look at the [`breaking_change` label](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). New changes might be added between now and when `future` is closed, and a PR with that label applied is not guaranteed to be merged.
If you want your breaking change to be included in this round you need to create a PR with the `breaking_change` label and have it accepted before `future` closes. After `future` closes no new breaking changes will be accepted.
Criteria for acceptance:
* PR is complete and ready to merge
* PR has a ChangeLog
# Checklists
This section documents various processes we use when running the Breaking Changes process.
## Rebase `future` from `master`
This is run every Friday while `future` is open.
Process:
```
cd qmk_firmware
git checkout master
git pull --ff-only
git checkout future
git rebase master
git push --force
```
## 8 Weeks Before Merge
*`qmk_firmware` git commands
* [ ]`git checkout master`
* [ ]`git pull --ff-only`
* [ ]`git checkout -b future`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ]`git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ]`git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ]`git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ]`git push origin future`
* [ ]`git push --tags`
* GitHub Actions
* [ ] Switch all [breaking_change PR's](https://github.com/qmk/qmk_firmware/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Abreaking_change) to `future`
* [ ] Any that have a ChangeLog entry may be merged immediately.
## 4 Weeks Before Merge
*`future` is now closed to new PR's, only fixes for current PR's may be merged
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## 1 Week Before Merge
* Announce that master will be closed from <2DaysBefore> to <DayofMerge>
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## 2 Days Before Merge
* Announce that master is closed for 2 days
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb
## Day Of Merge
*`qmk_firmware` git commands
* [ ]`git checkout future`
* [ ]`git pull --ff-only`
* [ ]`git rebase origin/master`
* [ ] Edit `readme.md`
* [ ] Remove the notes about `future`
* [ ] Roll up the ChangeLog into one file.
* [ ]`git commit -m 'Merge point for <DATE> Breaking Change'`
This page describes how to setup and use the QMK CLI.
# Overview
The QMK CLI makes building and working with QMK keyboards easier. We have provided a number of commands to help you work with QMK:
*`qmk compile`
*`qmk doctor`
# Setup
Simply add the `qmk_firmware/bin` directory to your `PATH`. You can run the `qmk` commands from any directory.
```
export PATH=$PATH:$HOME/qmk_firmware/bin
```
You may want to add this to your `.profile`, `.bash_profile`, `.zsh_profile`, or other shell startup scripts.
# Commands
## `qmk compile`
This command allows you to compile firmware from any directory. You can compile JSON exports from <https://config.qmk.fm> or compile keymaps in the repo.
**Usage for Configurator Exports**:
```
qmk compile <configuratorExport.json>
```
**Usage for Keymaps**:
```
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
This command formats C code using clang-format. Run it with no arguments to format all core code, or pass filenames on the command line to run it on specific files.
Most of our style is pretty easy to pick up on, but right now it's not entirely consistent. You should match the style of the code surrounding your change, but if that code is inconsistent or unclear use the following guidelines:
* We indent using four (4) spaces (soft tabs)
* We use a modified One True Brace Style
* Opening Brace: At the end of the same line as the statement that opens the block
* Closing Brace: Lined up with the first character of the statement that opens the block
* Else If: Place the closing brace at the beginning of the line and the next opening brace at the end of the same line.
* Optional Braces: Always include optional braces.
* Good: if (condition) { return false; }
* Bad: if (condition) return false;
* We encourage use of C style comments: `/* */`
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* We use `#pragma once` at the start of header files rather than old-style include guards (`#ifndef THIS_FILE_H`, `#define THIS_FILE_H`, ..., `#endif`)
* We accept both forms of preprocessor if's: `#ifdef DEFINED` and `#if defined(DEFINED)`
* If you are not sure which to prefer use the `#if defined(DEFINED)` form.
* Do not change existing code from one style to the other, except when moving to a multiple condition `#if`.
* Do not put whitespace between `#` and `if`.
* When deciding how (or if) to indent directives keep these points in mind:
* Readability is more important than consistency.
* Follow the file's existing style. If the file is mixed follow the style that makes sense for the section you are modifying.
* When choosing to indent you can follow the indention level of the surrounding C code, or preprocessor directives can have their own indent level. Choose the style that best communicates the intent of your code.
Here is an example for easy reference:
```c
/* Enums for foo */
enumfoo_state{
FOO_BAR,
FOO_BAZ,
};
/* Returns a value */
intfoo(void){
if(some_condition){
returnFOO_BAR;
}else{
return-1;
}
}
```
# Auto-formatting with clang-format
[Clang-format](https://clang.llvm.org/docs/ClangFormat.html) is part of LLVM and can automatically format your code for you, because ain't nobody got time to do it manually. We supply a configuration file for it that applies most of the coding conventions listed above. It will only change whitespace and newlines, so you will still have to remember to include optional braces yourself.
Use the [full LLVM installer](http://llvm.org/builds/) to get clang-format on Windows, or use `sudo apt install clang-format` on Ubuntu.
If you run it from the command-line, pass `-style=file` as an option and it will automatically find the .clang-format configuration file in the QMK root directory.
If you use VSCode, the standard C/C++ plugin supports clang-format, alternatively there is a [separate extension](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat) for it.
Some things (like LAYOUT macros) are destroyed by clang-format, so either don't run it on those files, or wrap the sensitive code in `// clang-format off` and `// clang-format on`.
* key combination that allows the use of magic commands (useful for debugging)
*`#define USB_MAX_POWER_CONSUMPTION`
*`#define USB_MAX_POWER_CONSUMPTION 500`
* sets the maximum power (in mA) over USB for the device (default: 500)
*`#define SCL_CLOCK 100000L`
* sets the SCL_CLOCK speed for split keyboards. The default is `100000L` but some boards can be set to `400000L`.
*`#define USB_POLLING_INTERVAL_MS 10`
* sets the USB polling rate in milliseconds for the keyboard, mouse, and shared (NKRO/media keys) interfaces
*`#define F_SCL 100000L`
* sets the I2C clock rate speed for keyboards using I2C. The default is `400000L`, except for keyboards using `split_common`, where the default is `100000L`.
## Features That Can Be Disabled
@ -171,6 +173,8 @@ If you define these options you will enable the associated feature, which may in
* how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined.
*`#define TAP_CODE_DELAY 100`
* Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
*`#define TAP_HOLD_CAPS_DELAY 80`
* Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
## RGB Light Configuration
@ -246,6 +250,9 @@ There are a few different ways to set handedness for split keyboards (listed in
*`#define MATRIX_COL_PINS_RIGHT { <col pins> }`
* If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns.
* If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.
*`#define RGBLED_SPLIT { 6, 6 }`
* See [RGB Light Configuration](#rgb-light-configuration)
@ -287,6 +294,7 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
*`halfkay`
*`caterina`
*`bootloadHID`
*`USBasp`
## Feature Options
@ -330,6 +338,8 @@ Use these to enable or disable building certain features. The more you have enab
* Forces the keyboard to wait for a USB connection to be established before it starts up
*`NO_USB_STARTUP_CHECK`
* Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master.
*`LINK_TIME_OPTIMIZATION_ENABLE`
= Enables Link Time Optimization (`LTO`) when compiling the keyboard. This makes the process take longer, but can significantly reduce the compiled size (and since the firmware is small, the added time is not noticable). However, this will automatically disable the old Macros and Functions features automatically, as these break when `LTO` is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`
@ -54,62 +54,10 @@ Never made an open source contribution before? Wondering how contributions work
# Coding Conventions
Most of our style is pretty easy to pick up on, but right now it's not entirely consistent. You should match the style of the code surrounding your change, but if that code is inconsistent or unclear use the following guidelines:
Most of our style is pretty easy to pick up on. If you are familiar with either C or Python you should not have too much trouble with our local styles.
*We indent using four (4) spaces (soft tabs)
*We use a modified One True Brace Style
* Opening Brace: At the end of the same line as the statement that opens the block
* Closing Brace: Lined up with the first character of the statement that opens the block
* Else If: Place the closing brace at the beginning of the line and the next opening brace at the end of the same line.
* Optional Braces: Always include optional braces.
* Good: if (condition) { return false; }
* Bad: if (condition) return false;
* We encourage use of C style comments: `/* */`
* Think of them as a story describing the feature
* Use them liberally to explain why particular decisions were made.
* Do not write obvious comments
* If you not sure if a comment is obvious, go ahead and include it.
* In general we don't wrap lines, they can be as long as needed. If you do choose to wrap lines please do not wrap any wider than 76 columns.
* We use `#pragma once` at the start of header files rather than old-style include guards (`#ifndef THIS_FILE_H`, `#define THIS_FILE_H`, ..., `#endif`)
* We accept both forms of preprocessor if's: `#ifdef DEFINED` and `#if defined(DEFINED)`
* If you are not sure which to prefer use the `#if defined(DEFINED)` form.
* Do not change existing code from one style to the other, except when moving to a multiple condition `#if`.
* Do not put whitespace between `#` and `if`.
* When deciding how (or if) to indent directives keep these points in mind:
* Readability is more important than consistency.
* Follow the file's existing style. If the file is mixed follow the style that makes sense for the section you are modifying.
* When choosing to indent you can follow the indention level of the surrounding C code, or preprocessor directives can have their own indent level. Choose the style that best communicates the intent of your code.
Here is an example for easy reference:
```c
/* Enums for foo */
enumfoo_state{
FOO_BAR,
FOO_BAZ,
};
/* Returns a value */
intfoo(void){
if(some_condition){
returnFOO_BAR;
}else{
return-1;
}
}
```
# Auto-formatting with clang-format
[Clang-format](https://clang.llvm.org/docs/ClangFormat.html) is part of LLVM and can automatically format your code for you, because ain't nobody got time to do it manually. We supply a configuration file for it that applies most of the coding conventions listed above. It will only change whitespace and newlines, so you will still have to remember to include optional braces yourself.
Use the [full LLVM installer](http://llvm.org/builds/) to get clang-format on Windows, or use `sudo apt install clang-format` on Ubuntu.
If you run it from the command-line, pass `-style=file` as an option and it will automatically find the .clang-format configuration file in the QMK root directory.
If you use VSCode, the standard C/C++ plugin supports clang-format, alternatively there is a [separate extension](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat) for it.
Some things (like LAYOUT macros) are destroyed by clang-format, so either don't run it on those files, or wrap the sensitive code in `// clang-format off` and `// clang-format on`.
@ -267,7 +267,7 @@ You should use this function if you need custom matrix scanning code. It can als
If the board supports it, it can be "idled", by stopping a number of functions. A good example of this is RGB lights or backlights. This can save on power consumption, or may be better behavior for your keyboard.
This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_init_*`, which are called when the system is board is idled and when it wakes up, respectively.
This is controlled by two functions: `suspend_power_down_*` and `suspend_wakeup_init_*`, which are called when the system board is idled and when it wakes up, respectively.
### Example suspend_power_down_user() and suspend_wakeup_init_user() Implementation
@ -297,8 +297,8 @@ This runs code every time that the layers get changed. This can be useful for l
This example shows how to set the [RGB Underglow](feature_rgblight.md) lights based on the layer, using the Planck as an example
The above function will use the EEPROM config immediately after reading it, to set the default layer's RGB color. The "raw" value of it is converted in a usable structure based on the "union" that you created above.
QMK presents itself to the host as a regular HID keyboard device, and as such requires no special drivers. However, in order to flash your keyboard on Windows, the bootloader device that appears when you reset the board often *does*.
There are two notable exceptions: the Caterina bootloader, usually seen on Pro Micros, and the Halfkay bootloader shipped with PJRC Teensys, appear as a serial port and a generic HID device respectively, and so do not require a driver.
We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have set up the development environment with Msys2 or WSL, the `qmk_install.sh` script will have asked if you want it to install the drivers for you.
## Installation
Put your keyboard into bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure.
To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button.
Alternatively, hold `BOOT` while inserting the USB cable.
Zadig will automatically detect the bootloader device. You may sometimes need to check **Options → List All Devices**.
- For keyboards with Atmel AVR MCUs, the bootloader will be named something similar to `ATm32U4DFU`, and have a Vendor ID of `03EB`.
- USBasp bootloaders will appear as `USBasp`, with a VID/PID of `16C0:05DC`.
- AVR keyboards flashed with the QMK-DFU bootloader will be named `<keyboard name> Bootloader` and will also have the VID `03EB`.
- For most ARM keyboards, it will be called `STM32 BOOTLOADER`, and have a VID/PID of `0483:DF11`.
!> If Zadig lists one or more devices with the `HidUsb` driver, your keyboard is probably not in bootloader mode. The arrow will be colored orange and you will be asked to confirm modifying a system driver. **Do not** proceed if this is the case!
If the arrow appears green, select the driver, and click **Install Driver**. The `libusb-win32` driver will usually work for AVR, and `WinUSB` for ARM, but if you still cannot flash the board, try installing a different driver from the list. For flashing a USBaspLoader device via command line with msys2, the `libusbk` driver is recommended, otherwise `libusb-win32` will work fine if you are using QMK Toolbox for flashing.

Finally, unplug and replug the keyboard to make sure the new driver has been loaded. If you are using the QMK Toolbox to flash, exit and restart it too, as it can sometimes fail to recognize the driver change.
## Recovering from Installation to Wrong Device
If you find that you can no longer type with the keyboard, you may have installed the driver onto the keyboard itself instead of the bootloader. You can easily confirm this in Zadig - a healthy keyboard has the `HidUsb` driver installed on all of its interfaces:

Open the Device Manager and look for a device that looks like your keyboard.

Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first.

Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again!
### Serial device is not detected in bootloader mode on Linux
Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as
Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options.
## Unknown Device for DFU Bootloader
If you're using Windows to flash your keyboard, and you are running into issues, check the Device Manager. If you see an "Unknown Device" when the keyboard is in "bootloader mode", then you may have a driver issue.
Issues encountered when flashing keyboards on Windows are most often due to having the wrong drivers installed for the bootloader, or none at all.
Re-running the installation script for MSYS2 may help (eg run `./util/qmk_install.sh` from MSYS2/WSL) or reinstalling the QMK Toolbox may fix the issue.
If that doesn't work, then you may need to grab the [Zadig Utility](https://zadig.akeo.ie/). Download this, find the device in question, and select the `WinUSB` option, and hit "Reinstall driver". Once you've done that, try flashing your board, again. If that doesn't work, try all of the options, until one works.
?> There isn't a best option for which driver should be used here. Some options work better on some systems than others. libUSB and WinUSB seem to be the best options here.
If the bootloader doesn't show up in the list for devices, you may need to enable the "List all devices" option in the `Options` menu, and then find the bootloader in question.
Re-running the QMK installation script (`./util/qmk_install.sh` from the `qmk_firmware` directory in MSYS2 or WSL) or reinstalling the QMK Toolbox may fix the issue. Alternatively, you can download and run the [`qmk_driver_installer`](https://github.com/qmk/qmk_driver_installer) package manually.
If that doesn't work, then you may need to download and run Zadig. See [Bootloader Driver Installation with Zadig](driver_installation_zadig.md) for more detailed information.
## WINAVR is Obsolete
It is no longer recommended and may cause some problem.
@ -140,8 +161,8 @@ For now, you need to rollback avr-gcc to 7 in brew.
```
brew uninstall --force avr-gcc
brew install avr-gcc@7
brew link --force avr-gcc@7
brew install avr-gcc@8
brew link --force avr-gcc@8
```
### I just flashed my keyboard and it does nothing/keypresses don't register - it's also ARM (rev6 planck, clueboard 60, hs60v2, etc...) (Feb 2019)
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.