* Fixup massdrop/alt.
* Fixup `cest73/tkm` bootmagic lite.
* Update keyboards/cest73/tkm/rules.mk
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Add digitizer HID interface for setting the mouse cursor position at
absolute screen coordinates. Tested on Pro Micro, Proton C and
Blackpill.
* Update docs/feature_digitizer.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update tmk_core/protocol/usb_descriptor.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add missing copyrights
Add V-USB support
* Add support for digitizer dedicated endpoint for lufa and chibios.
Fix formatting issues
Move digitizer_task definition to the feature's base implementation file
* Run cformat on modified files
* Change digitizer report usage to Digitizer instead of Pen to avoid
pointer disappearing on Windows.
* Update tmk_core/protocol/vusb/vusb.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Run cformat from docker image
* Remove send_digitizer from host_driver_t and instead rely on the
declaration being the interface to the implementation in each
HW-specific usb implementation.
* Fix build : send_digitizer shouldn't be static in vusb and add
weak-linkage implementation for tests without usb implementation
* Change digitizer user interface to match pointing device's
* Update documentation with new API
Co-authored-by: a-chol <nothing@none.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* add some split data to info.json
* add tags
* add half of config_options.md to info.json
* add support for designating master split
* sort out split transport and primary
* fix bad data in UNUSED_PINS
* fixup custom transport
* wip
* allow for setting split right half keyboard matrix
* add SPLIT_USB_DETECT
* minor cleanup
* fix an erroneous message
* rework split.usb_detect
* adding missing rgblight vars to info.json
* add mouse_key to info.json
* add all remaining options from docs/config_options.md
* fix audio voices
* qmk info: Change text output to use dotted notation
* tweak layout output
* resolve alias names
* break out some functions to make flake8 happy
* add a field for bootloader instructions
* qmk generate-info-json: add a write-to-file argument
Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal.
* -arg_only, +action
Because it was never my intention that one would have to specify a value for the argument that enables writing the file.
* Bring qmk generate-info-json inline with other generate commands
* pytest fixup
* fix esca/getawayvan
* fix data driven errors for bpiphany converters
* features.force_nkro -> usb.force_nkro
* split.primary->split.main
* fix esca/getawayvan_f042
* fix the bpiphany converters for real
* fix bpiphany/tiger_lily
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
* fix generate-api errors
* fix matrix pin extraction for split boards
* fix ploopyco/trackball_nano/rev1_001
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* info.json: apply human-friendly formatting
* info.json: correct key sequence
Places the arrow keys in the proper place in sequence.
* correct maintainer's GitHub link in readme
User changed their GitHub username; previous URL was Error 404.
* correct LAYOUT_tkl_ansi data
Number row was positioned 0.25u too low.
* correct LAYOUT_tkl_ansi macro
- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)
* correct LAYOUT_tkl_iso macro
- remove position K027 (right half of Split Backspace)
- remove position K096 (right portion of Split Right Shift)
* enable Community Layout support
* add LAYOUT_tkl_ansi_split_bs_rshift and LAYOUT_tkl_iso_split_bs_rshift
* new keyboard: handwired/directpins
* fix promicro keyboard_name
* add teensy2 and teensy2++ support
* align with handwired/onekey
* tweak pids
* add teensy 3.2 and teensy lc to directpins
* move directpins from handwired to ez_maker
* add docs for easy maker
* move rotary encoder to top row of layout macro
Makes the layout macro and keycodes resemble the assembled keyboard.
* update info.json data
- convert tabs to spaces
- use human-friendly formatting
- fill in key object labels
- adjust object sequence for layout macro changes
* rename LAYOUT_default to LAYOUT_all
* apply human-friendly formatting to info.json
* correct keyboard dimensions
* correct data for LAYOUT_tsangan
* add labels to LAYOUT_ansi data
* add labels to LAYOUT_all data
* add labels to LAYOUT_iso data
* crin.h: update grid alignment of matrix identifiers
* crin.h: add matrix diagram
* physically position matrix identifiers for LAYOUT_all
- move k2d to top row (right half of split Backspace)
- move k41 to fourth row (right half of split Left Shift [KC_NUBS])
* physically position matrix identifiers for LAYOUT_iso
- move k1d to top row ([KC_NUHS])
- add k41 to fourth row ([KC_NUBS], previously missing)
* refactor keymaps
- grid-align keycodes
- use four-space indent
* correct data for LAYOUT_iso
- move Enter key to home row
* rename LAYOUT_tsangan to LAYOUT_ansi_tsangan
* add LAYOUT_iso_tsangan
* update readme.md
- add `make` command for building
- add "Flashing example..."
- touch-up bootloader jump instructions (previous Markdown didn't render ideally on GitHub)
* extend keymap functionality
- add Grave Accent, Function keys, Print Screen, Scroll Lock and Pause keycodes to keymaps
- add RESET keycode (Fn+R)
- use KC_RGHT for Right arrow
* touch-up bootloader instructions on readme
- note that Bootmagic Lite jump erases persistent settings
- note that Fn+R is RESET keycode by default
- Remove disused dz60/jdelkins_ss keymap
- Manage configured features for firmware size
- Improve build configuration for the secrets feature
- Various keymap tweaks
- Clean up formatting in various places
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* add support for m65 and simple 5x13 ortholinear
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Update keyboards/m65/keymaps/default/keymap.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* updates as per @sigprof review plus reformat
* pins all now are defined at microcontroller level
* profuct id defined at microcontroller level
* put leds on when _ADJ is on
* add danish keymap
* make default uk centric iso as per readme
* default is now iso generic, uk is its own business
* add license
* update imgur links to reflect the layout
* leds for _ADJ layer now do not prevent the other layers leds to get on
* Update keyboards/m65/keymaps/uk/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/m65/keymaps/dk/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/m65/keymaps/uk/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/m65/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* add support for gd32f303cct6 by we act in rev2
* Revert "add support for gd32f303cct6 by we act in rev2"
This reverts commit 4ad3834925508b79f2ff9fd5526dfc39f07fa3bc.
* Update keyboards/m65/rev1/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/m65/keymaps/dk/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/m65/keymaps/uk/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/m65/keymaps/default/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* remove empty hal
* add capslock
* Update keyboards/m65/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/m65/config.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Alin M Elena <alin-marin.elena@stfc.ac.uk>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Support all the 0.2 Ferris variants
For the Compact, the High and the Mini, create a new directory so each
keyboard may have the correct USB descriptor and a readme with more
specific information about it.
For the Bling, also add support for the underglow functionality.
Change the "MANUFACTURER" string to "Cuddly Keyboards Ltd.", the
name of the company I incorporated to sell keyboards, and change the
default descriptor from "Ferris the keeb" to "Ferris 0.2" which is more
descriptive.
I didn't update the 0.1 variants as I don't intend to sell these kits
with "Cuddly Keyboards". The firmware is mostly there to support
existing users.
Update the "hardware availability" to point to my new website:
cuddlykeyboards.com.
* Add RGB mode toggle to my keymap and to the default keymap
* Improve wording in the readme
* squashed commits to master
* Fix in case of missing user_song_list
Substitutes missing songs with safe versions
Also updated and added detail to keymap readme
* Adjust Readme to match qmk contrib conventions
* Update keyboards/planck/keymaps/rootiest/config.h
* Update keyboards/planck/keymaps/rootiest/keymap.c
* Update keyboards/planck/keymaps/rootiest/keymap.c
* Update keyboards/planck/keymaps/rootiest/keymap.c
* Update keyboards/planck/keymaps/rootiest/keymap.c
* Fixed license header to GPLv2+
* Fix Volume key delay
Use a static number instead of removed MEDIA_KEY_DELAY
* Use TAP_CODE_DELAY
* added license to config.h
* Clean up formatting
- Fixed markdown in readme
- Removed extra commented line from config.h
* Update keyboards/planck/keymaps/rootiest/config.h
* disambiguate Bootmagic rules in keymaps
The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.
This commit edits the files to specify that full Bootmagic is intended.
* remove BOOTMAGIC_ENABLE=full setting
* unify commented BOOTMAGIC_ENABLE rules in keyboards
Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} +
```
* remove commented Bootmagic rules from keymap/user level
Command:
```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```
* update keyboard BOOTMAGIC_ENABLE rule formatting
Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```
* update keyboards' BOOTMAGIC_ENABLE settings
Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Command:
```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```
* update keymap/user BOOTMAGIC_ENABLE settings
Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```
* remove and replace inline comments in keyboards and keymap/user files
Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.
Commands:
```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' +
```
* rename improperly named makefiles
Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.
This commit corrects the filenames of the affected files.
* update renamed file with new rule formatting
* update QMK's template files
Updates QMK's `rules.mk` templates to use the new inline comment.
* update QMK Docs
- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes
* rules.mk patch for coarse/ixora and coarse/vinta
* info.json: use human-friendly formatting
* info.json: fix key sequences for ISO layouts
All the ISO layouts had the Enter key out-of-sequence, causing key-assignment mismatches in QMK Configurator.
* Combo processing improvements.
Now it is possible to use ModTap and LayerTap keys as part of combos.
Overlapping combos also don't trigger all the combos, just exactly the
one that you press.
New settings:
- COMBO_MUST_HOLD_MODS
- COMBO_MOD_TERM
- COMBO_TERM_PER_COMBO
- COMBO_MUST_HOLD_PER_COMBO
- COMBO_STRICT_TIMER
- COMBO_NO_TIMER
* Remove the size flags from combo_t struct boolean members.
This in the end actually saves space as the members are accessed so many
times. The amount of operations needed to access the bits uses more
memory than setting the size saves.
* Fix `process_combo_key_release` not called correctly with tap-only combos
* Fix not passing a pointer when NO_ACTION_TAPPING is defined.
* Docs for `COMBO_ONLY_FROM_LAYER`
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update quantum/process_keycode/process_combo.c
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Add `EXTRA_SHORT_COMBOS` option.
Stuff combo's `disabled` and `active` flags into `state`. Possibly can
save some space.
* Add more examples and clarify things with dict management system.
- Simple examples now has a combo that has modifiers included.
- The slightly more advanced examples now are actually more advanced
instead of just `tap_code16(<modded-keycode>)`.
- Added a note that `COMBO_ACTION`s are not needed anymore as you can
just use custom keycodes.
- Added a note that the `g/keymap_combo.h` macros use the
`process_combo_event` function and that it is not usable in one's
keymap afterwards.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Change "the" combo action example to "email" example.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Fix sneaky infinite loop with `combo_disable()`
No need to call `dump_key_buffer` when disabling combos because the
buffer is either being dumped if a combo-key was pressed, or the buffer is empty
if a non-combo-key is pressed.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Initial Ducky One 2 Mini keyboard and keymap
* Keymap macro issue, together with general polish suggestions
* Separate default keymap into proper default, iso and ansi versions
* info.json updates (Configurator support). DEBOUNCE define adjust.
* Unused keymap defines removed.
* update requested ducky one mini2 board changes
* ducky: don't trigger app key with left shift
* ducky: make default mouse key behavior more linear
* ducky: add GRAVE_ESC_GUI_OVERRIDE to allow for win+esc to work
* ducky: playpause on fn space
* ducky: disable RGB_MATRIX until driver is merged
* ducky: clang-format matrix and one2mini.c
* ducky: update requested changes
Remove WFI_IDLE since it's already in the rules.mk CORTEX_ENABLE_WFI_IDLE=TRUE
* ducky: update requested changes
* ducky: move winkey grave esc to default keymap
* ducky: remove dipswitch from keymap and use DIP_SWITCH_MATRIX_GRID instead
* ducky: info.json lint
* ducky: enable DIP_SWITCH_ENABLE rule
* ducky: update readme
* ducky: fix backslash on default keymap
* ducky: remove unused USB_LED_CAPSLOCK_INDEX 28
* ducky: move mbi5042 led driver to ducky keyboard
* ducky: cosmetics
* ducky: requested changes
* ducky: refactor matrix.c again so we can better compare it to other boards
* ducky: remove bootmagic_lite as the boards bootloader trigger is actually handled in its own bootloader
* ducky: remove custom matrix
* ducky: update for chibios-contrib changes
* ducky: debug new USB driver
* ducky: debug usb issues
* ducky: update chibios version
* ducky: remove halconf.h
* ducky: update rules.mk
* ducky: update chconf.h
* Matching submodules.
* Restructure to explicitly define which board is in use, remove RGB driver pending followup PR.
* Revert "Matching submodules."
This reverts commit 2fbb34e0c63ea67ee09d2e2d525723c01431d1cd.
Co-authored-by: GitWellBack <48095880+GitWellBack@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Remove the #10088 hotfix for K20x MCU:s.
It seems to _cause_ the issue it intended to solve there.
* Cleaner way of removing #10088 hotfix.
Now only affects Ergodox Infinity, Whitefox and K-type, though.
Switches over Ergodox Infinity to the `IC_TEENSY_3_1` board, since that
was a nice place to implement the `restart_usb_driver` override.
However, I would guess this issue is present for other K20x/Teensy 3.1
boards as well...
* Fix comment regarding `IC_TEENSY_3_1` for all keyboards using it.
* momoka_ergo.h: use modified QMK 3-character notation
Renames the matrix position arguments to use QMK's K<row><column> notation, but using L or R for the left and right halves, respectively.
* physically arrange layout macro
Arrange the layout macro and keycodes to resemble the assembled keyboard.
* info.json: rebuild LAYOUT data
Fixes mispositioned keys in QMK Configurator.
* remove K214 from LAYOUT_1065_ansi macro
Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data.
Also updates info.json to use human-friendly formatting.
* add layout macros
Adds:
- LAYOUT_1065_ansi_split_bs macro
- LAYOUT_1065_iso macro
- LAYOUT_1065_iso_split_bs macro
- `default_iso` keymap
* add LAYOUT_all macro
Adds LAYOUT_all macro and a `default_all` keymap.
This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap.
* info.json: human-friendly formatting
- one key per line
- line breaks between physical rows
- four-space indent
* info.json: add data for LAYOUT_grid
* fix keymap paths
This commit corrects the paths for three keymaps that were in the wrong directory.
* refactor and bugfix abienz keymap
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- add include for Colemak keycode support
- use four-space indent
* refactor and bugfix michelle keymap
- remove inline comments for keymap layout
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- use four-space indent
* refactor and bugfix twolayer keymap
- remove extra commas
- refactor action_get_macro() keycode to QMK-native keycode
- use QMK-native aliases for KC_TRNS
- use four-space indent
- adjust grid alignment
* rename LAYOUT_grid to LAYOUT_ortho_5x15
* refactor config.h file
- use #pragma once include guard
- update MANUFACTURER and PRODUCT strings to be consistent with other OLKB boards
- remove Magic config (all settings are default)
* refactor atomic.c
- add license header
- use GPIO control functions
* refactor atomic.h
- add license header
- use #pragma once include guard
- remove redundant file includes
* refactor rules.mk
- remove Bootloader selection comments
- unify Build Option header comment to QMK template
- unify Build Option rules and inline comments
* alias LAYOUT_grid to LAYOUT_ortho_5x15
* info.json: human-friendly formatting
* use QMK 3-character notation for layout macro/data
* alu84.h: use #pragma once include guard
* clean up alu84.c
Remove unnecessary includes and functions.
* refactor config.h
- use #pragma once include guard
- enable Backlight Breathing
- align comments to QMK AVR template
* refactor default keymap
- add license header
- use layer_names enum
- refactor keymap to be more generic
- remove unnecessary and empty functions
* refactor turbomech keymap.c
- edit license header
- refactor keymap for readability (use QMK-native keycode aliases)
- remove unnecessary and empty functions
* refactor turbomech config.h
- use #pragma once include guard
- align to QMK template
* refactor turbomech rules.mk
Edit the file to make it conform to QMK template.
* align rules.mk to QMK template
* touch-up default keymap
* touch-up alu84.h
* rename LAYOUT to LAYOUT_75_ansi
Also enables Community Layout Support
* modernize readme.md
- update description
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links
* alias LAYOUT to LAYOUT_75_ansi
* change readme image URL per fauxpark
* touch up turbomech keymap rules.mk per fauxpark
* rules.mk: convert tab to spaces
* info.json: human-friendly formatting
- one key object per line; line breaks between physical rows
- four-space indent
- remove trailing whitespace
* info.json: correct key object order for LAYOUT_numpad_6x4
* Add bootloader size
Bootloader size needs to be 6144 to allow QMK to jump to the correct location with bootmagic
* Include dz60rgb v2.1
Add boot loader size to this pcb also
* change to L422
* Add bootloader
Co-authored-by: Ryan <fauxpark@gmail.com>
* add bootloader
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>