* Update keyboard kit URL
* Replace custom RGB driver with new one from #7183
* Replace backlight with standard impl
* Remove some unnecessary default settings
* Disable COMMAND since docs want it off by default
(There's no working IS_COMMAND set for this board anyway, so it's
already a nop.)
* Fix edge case when using One Shot Layer with Auto Shift, and it not triggering the cleanup
* Remove junk code (no longer used)
* Replace `(un)register_code` calls with `tap_code` where appropriate
* Fixed up Switch check to be more readable (less verbose)
* Simplified modifier check (if it comes back non-zero, there are mods)
* Add additional function calls for autoshift settings
* Made all variables static, since there are function calls to get their status
* Fixed up documentation
* Re-add special characters that were missed
* formatting pass
* Translated faq.md and added all other files (copy from English)
* Translated driver_installation_zadig.md in French
* Translated faq_build.md in French
* Translated faq_debug in French
* Translateed faq_general.md in French
* Translated first part of faq_keymap.md
* Renamed docs/fr-FR folder to docs/fr-fr
* Finished translation of faq_keymap.md
* Update faq_build.md
* Review (#3)
* Review
* Update docs/fr-fr/faq_keymap.md
* Update docs/fr-fr/faq_debug.md
* Fix some PR comments
Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch>
Co-Authored-By: Wermeille Bastien <bastien.wermeille@gmail.com>
* Initial migration of software PWM backlight
* First pass at backlight driver docs
* Correct driver name in docs
* Run backlight_task when using BACKLIGHT_PINS
* Resolve backlight docs TODOs
* Enable link-time optimization
* Make RGB static gradient ranges shorter
* Shift Quefrency media keys to the right
* Shift KBD67 media keys to the right
* Move some 60% keys from function to adjust layer
* Set "extra" Lily58 keys to browser back/forward
* Remove Instant60 EEPROM hack after #6968
* Remove unnecessary bits from macropad keymaps
* Update KLE images
* feat(slash): added slash keyboard
* fix(slash): fixed typo in readme
* Improvements after review
* disabled debug and print to reduce firmware size
* Fixes after review
* fixed hardware list in readme.md
* add all translation docs to translating.md
* Adding Spanish folder and README.md
* Adding Spanish to the langs file
* Adding a Spanish summary file
* Small corrections on the Spanish README file
* Adding Spanish newbs.md
* Translate some newbs documentation
* Adding the translated newbs getting started file
* Adding the building firmware file
* Adding a translated building firmware with configurator file
* Adding the flashing guide
* Adding the newbs_testing_debugging file
* Apply suggestions from code review
* QMK Configurator -> Configurador QMK
Co-Authored-By: Karey Higuera <karey.higuera@gmail.com>
It was beleaved that this setting result in a 400Khz I2C bus.
This was incorrect, actual frequency measure with a logic analyzer was around 150Khz.
This is derived from the excel sheet linked in the .h file.
Also confirmed with the ST IDE.
* Add he-IL (Hebrew) Translation
* Add Hebrew to SUMMARY
* Try RTL
* Add RTL text
* Lowercase folder names
* Update lowercase folder in Summary
* Adding getting_started_introduction.md
* Add Proton C Conversion translation
* Add Becoming a QMK Collaborator Translation
* Add FAQ translation
* Add Hardware translation
* Documentation Best Practices translation
* Add FAQ General translation
* Align docs RTL
* Add Becoming a QMK Collaborator Translation
* Translate Getting Started - Getting Help
* Translate Getting Started With Github
* Code sections should be alligned to the left
* Code sections should be alligned to the left
* Code sections should be alligned to the left
* Revert "Code sections should be alligned to the left"
This reverts commit d0c46e90c4915ceebe7c5182aca2b75afad25df0.
* Add Markdown aligned to the left
* Update quantum_keycodes.md
* Update proton_c_conversion.md
* Translate Newbs Learn More Resourses
* Fix dunder names being accidentally bolded
* Update docs/coding_conventions_python.md
Co-Author: fauxpark <fauxpark@gmail.com>
* Change all the "names to avoid" to use backticks
* Clone 8x source to begin
* Start replacing stuff
* Get things compiling
* Rename files
* Move board files to match MKII RGB files
* Adjust readme
* Adjust main keymap to be functional
* Make defualt keymap more basic; add personal keymap
* Remove unnecessary trailing slashes from keymap
* Remove unused functions from keymaps
* Remove obsolete build flags
* Adjust comments as requested
* Apply suggestions from code review
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Adjust as suggested
* Fix broken compile following applying suggestions
* Add Plover layer, remove unused layers
* Add rgb indicator for success/failed sequences
* Add RGB effects
* Add RGB
* Add effects for start and end of a leader sequence
* Add PLOVER layer
* Add RGB
* Add RBG
* Minor clean up
* Minor clean up
* Minor clean up
* Minor clean up
* Rename rgb_light to rgblight_user and fix all references to it
* Remove unnecessary guards
Remove unnecessary matrix_scan in rgb post_init function
* remove trailing newline
* generated files
* create the physical and electrical matrix, thanks noroadsleft
* add an appropriate keymap
* add qmk configurator support
* add readme
* add keyboard configuration and rules
* move over the think6.5 to the gray_studio directory
* move to hotswap in anticipation of non hotswap pcb support
* update readme to have the correct make path
* rename to hotswap
* add community layout support by using the LAYOUT_65_ansi_blocker LAYOUT macro name
* thanks to cygnus for pointing out the solder json file to me. This commit is pretty much the same as the hotswap as it uses the same pins and switch matrix.
* update readme to state that LAYOUT_65_ansi_blocker works for both hotswap and solder.
* wrong pound include
* add LED support. Soldered PCB only supports caps lock LED
* add readme notes for indicator led
* Update keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/gray_studio/think65/hotswap/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/gray_studio/think65/hotswap/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/gray_studio/think65/solder/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/gray_studio/think65/solder/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/gray_studio/think65/solder/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Migrate Nyquist rules.mk files to be version specific and update flash command
* Migrate Iris rules.mk files to be version specific and update flash command
* Remove obsolete note about media keys in MacOS
KC_MNXT and KC_MPRV work fine on MacOS, so this note is obsolete.
* Document behaviour of MEDIA_FAST_FORWARD/MEDIA_REWIND codes on MacOS
* Small typo fix, and make OS-dependent keycode claim less absolute
* Update docs/keycodes_basic.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Translated "CLI" documentation to German
> * Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
- I wasn't quite sure with this translation, as I didn't understand the context in the original English docs.
- The link to the CLI Configuration page is currently not working, due to it being missing in German.
* Update docs/de/cli.md - typo
* Update docs/de/cli.md - added Installation option into documentation
* Update docs/de/cli.md - changed article for CLI
* Update docs/de/cli.md Spelling
* Update docs/de/cli.md Spelling
* Update docs/de/cli.md de-anglicization
* Update docs/de/cli.md Spelling
* Update docs/de/cli.md Synonym
* Update docs/de/cli.md Added Installation option
* Cleaned up installation option duplicate
Co-Authored-By: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com>
* Update Newbs Flashing guide
For the newbs that want to start flashing
* Update flashing docs
* Misc flashing
* Attempt at flashing in french
Lets hope I didn't butcher this too badly with machine transations
* Update docs/feature_userspace.md
* Apply language suggestions from code review
* Apply suggestions from code review
* Apply additional fr lang suggestions from code review
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch>
Co-Authored-By: Xavier Hahn <xavier.hahn@gmail.com>
Co-Authored-By: Vincent LE GOFF <vince.legoff@gmail.com>
* initial commit
restart of m0116b development
* initial commit
restart of m0116b development
* Major and minor changes for new PCB design
Changed matrix_row_pins and matrix_sol_pins to match new PCB design
Changed layout matrix to match new PCB design
Minor changes to settings in rules.mk
Minor changes to readme.md files
* Update rules.mk
Changed settings in rules.mk
* major and minor changes
added a default keymap (copy of the m0116 keymap, just to have a default option)
changes to the info.json
* initial commit
restart of m0116b development
* Major and minor changes for new PCB design
Changed matrix_row_pins and matrix_sol_pins to match new PCB design
Changed layout matrix to match new PCB design
Minor changes to settings in rules.mk
Minor changes to readme.md files
* Update rules.mk
Changed settings in rules.mk
* major and minor changes
added a default keymap (copy of the m0116 keymap, just to have a default option)
changes to the info.json
* Update keyboards/sck/m0116b/keymaps/default/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/keymaps/default/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/keymaps/m0116/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/keymaps/m0116/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/keymaps/m0118/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/m0116b.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/m0116b.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/m0116b/keymaps/m0118/keymap.c
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Requested changes
Changes per requests
* Changes to keymaps
Changes as discussed
corrected location of custom_keycodes declaration and changed custom keycode in keymap per request and discussion.
* [Keyboard] Change Corne RGB Matrix split handling
This uses the "is_master" detection to set the led matrix, rather than a define at compile time.
This means that the same hex can be used for both halves, not just one or the other. The caveat is that this costs ~240 bytes to do.
However, I feel that this is a good trade-off, not just lazy.
* Update documentation for RGB Matrix on the Corne
* started Russian translation
* added translation of some newbs docs
* do not translate firmware word in name and transliterate names keeping original ones in brackets
* addressed review comments
* addressed more review comments
Co-Authored-By: nabokovas <bbkv@bk.ru>
* Added WOW layer
* Initial commit for this branch. Still a work in progress.
* Added Rorschach keyboard layout.
* Simplified keymap
Removed the media layer to help simplify things. Also corrected some
keymap mistakes in the Qwerty and Colemak layers.
* Added ErgoTravel keymap.
* reverted to previous layout.
* Added Sol keyboard layout.
* Minor changes to keymap.
* more changes
* Added sol graphic by Kagerufu and Cardiactuna
* Added colemak layer because I can.
* more changes to sol layout
* Streamlined Sol layout
* minor tweaks to sol layout
* further revisions to sol keymap.
* Removing deprecated #include statements from my keymaps
* Standardizing keymap `include` lines.
* Minor change to keymap.
Swapped ESC with GRV on all alpha layers.
* Tweaks to Atreus62 Keymap
Added a layer for FPS RPG Loot Shooters.
* Fixed readme.md for Atreus keymap.
Replaced "Keymap" with "Layer" in illustrations for continuity's sake
* More readme.md clean-up
More clarification in the Atreus readme file.
* Next verse, same as the first.
* Changes to Sol layout
Bringing my Sol layout more in line with my other Orthos.
* Fixed keymap GUI.
Replaced left-hand "RGUI" with "LGUI" on all layers as it should be.
* Added ALPS64 keymap
* Formatting corrections
* fixes to config.h and keymap.c
* Fixed errors
This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h
and removes an stupid comma at the end of each LAYOUT stanza in
keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me.
* Fixed orthodox keymap config.h file
I hope this one fixes the problem. *sigh*
* Making suggested changes for PR#6192
Thanks to noroadsleft, fauxpark, and drashna. Still have
more work to do, but at least these suggestions have been applied.
* Fixing build errors
Travis has shown me the error of my ways...
* More fixes and corrections
Those pesky semicolons...
* More Fixes.
* Removing unneeded code snippet.
* fixed omitted semicolons
* Code updates to my keymaps
Updating the code for my Iris, Atreus62, and Atreus keymaps.
* Fixed Atreus62 Keymap
I forgot to add in the aliases for LOWER, RAISE, and ADJUST.
* Added userspace
Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro
* Fixing code that disables LEDs on ProMicros
Also tidied up my ErgoTravel keymap.
* Moving userspace to new branch
Moving my userspace to a new branch for the sake of keeping things
clean on the master branch.
* Added F13-F15 to Atreus62 Layout.
* Update readme.md.
* Updated Phantom keymap to current keymap standards
* Phantom keymap updates
Further updates - tidying and removing cruft.
Thank you zvecr on Discord for the help!
* Standards Updates
Bringing my Kinesis keymap up to current code standards
* Adding a readme
* Bring GH60 code to standard
* Utilizing layouts for 60_ansi and tkl_ansi
Moving my GH60 and Phantom keymaps into layouts/community/
* Alps64 layout removal
Removing my Alps64 keymap now that I've setup my 60_ansi layout.
* Moved Clueboard layout to community/66_ansi.
* Additions to 66_ansi config.h
* Bringing keymaps up to standard.
* More updates to keymaps.
* Syntax updates
* Revert "Syntax updates"
This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183.
* Moved WIP keymaps
Moved my WIP keymaps to my wip_keymaps branch to keep my master clean
* Updates requested by noroadsleft
* more changes per noroadsleft
More fixes as requested by noroadsleft. Further tidy-up and
standardization of my keymap code.
* Initial Commit
Initial commit of the N-E-ISO Pad
* Changes to keymap.c
Minor Changes to keymap.c
* Major Changes
Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json
* Updated readme.md
Changed wording of redme.md
* Initial Commit
Initial commit of the N-E-ISO Pad
* Changes to keymap.c
Minor Changes to keymap.c
* Major Changes
Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json
* Updated readme.md
Changed wording of redme.md
* Update keyboards/sck/neiso/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/neiso/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/sck/neiso/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/neiso/neiso.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Changes per request
Removed lines 55-60 from default/keymap.c per request
* initial commit
* README
* Unique id
* info.json
* layotus
* br
* Move to handwired
* cleanup
* Disable command for fruity out of flash space
* Old compiler
turn off command
* Move grave/tilde and backslash/pipe to left hand
* Shift media keys to be aligned with home row
* Update KLE images
* Mention new media key location in readme
* Turn off a couple more features for explicitness
* Fix Print Screen key for XT to USB converter
* While I'm here, get rid of led.c as it does absolutely nothing
* Fix info.json too
* "]" key is 1.25U and stepped on the Model F XT
* Reorganised Hand Wire Guide
Added some images and put the "Matrix" section in a hidden <details> section
* Actually adding images this time
removed .jpg from .gitignore
* Hand wire guide updated
Incomplete, but started making the guide more general. Will continue to add images (in imgur as requested)
* Removed some more images from gitignore
* testing image changes (temporary)
* Update hand_wire.md
* added techniques table
* Tweaking the table
* Finished soldering guide
* Fixed some links, change image scaling
* More of the same
* resizing images
* updated images
* Update hand_wire.md
* Resizing images
* Update hand_wire.md
* Update hand_wire.md
* Create ribbon_cable.jpg
* Minor updates to links
* Updated firmware and flashing guidelines
* Updated images to imgur links and re-added images to gitignore
* Implemented requested changes. Improved wording
* Added handwire helpers info and split KB info
* Update hand_wire.md
* Removed "the" from "the QMK toolbox"
* Fixed handwire helper table and image size
* Fixed a heading
* Add SharkPCB rev Alpha support
* Solve PWM pin assignment
- Solve PWM pin configuration for the SharkPCB rev.Alpha, which backlight pin is B0
* Update shark.c copyright name
* Update shark.h copyright section
* Apply suggestions from code review
Suggestions from @zvecr and @drashna were accepted and applied for neater code. Also fixed typos and removed unused comments. See [pull request](https://github.com/qmk/qmk_firmware/pull/7090/files#diff-70c0a1f44287ae5810170b4180cdaa5d) for more information.
Co-Authored-By: Joel Challis <git@zvecr.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update PRODUCT_ID into config.h
* Update metadata info.json
Fields "keyboard_name", "keyboard_folder", "url", "maintainer" were updated
The subcommand functions' name follows the Python convention of using
snake case, but looks odd on the command line.
Fix it by converting underscores to dashes, eg.: list_keyboards ->
list-keyboards.
* initial commit
begin development of Grand Theft Macro Pad (2key2crawl clone)
* Minor Changes
Changes to readme.md
Changes to config.h matrix pins
Changes to gtm.h layout
Changes to rules.mk
* initial commit
begin development of Grand Theft Macro Pad (2key2crawl clone)
* Minor Changes
Changes to readme.md
Changes to config.h matrix pins
Changes to gtm.h layout
Changes to rules.mk
* Update keyboards/sck/gtm/readme.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/readme.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/gtm/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Changes to gtm.h
Changes to layout to be correct for matrix_cols and matrix_col_pins
* Minor Changes
Removed rotary encoder index in keymaps per suggestion
* Support for the Clueboard California macropad
* Update keyboards/clueboard/california/config.h
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update ergodox infinity nordic_ergo keymap
- Add missing important keys to base layer.
- Move arrow keys around as the original position was not optimal.
- Fix some code styling issues.
* Fix indentation to 4 spaces
* More code style fixes
- Formated the methods in the nordic ergo keymap.
* Fix QMK code style issues
- Change layer defines to enums.
- Split enums to multi-line.
- Remove non required switch case.
* Fix held key getting stuck when NKRO is toggled
* Updated file to latest qmk version and added fix to cases MAGIC_UNHOST_NKRO & MAGIC_HOST_NKRO as well.
* Revert merged quantum.c
* Add Planck keymap and custom keycodes to userspace
* Add Preonic keymap and extract common ortho layers and keycodes
* Add Leaf60 WKL keymap
* Add M60-A keymap
* Add Levinson keymap
* Fix links in personal readmes
* Use flash target
* Remove duplicate definition
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Remove superfluous line endings
* Planck and preonic encoder should have the same behavior
* Use higher level API
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Use layouts to reduce planck/levinson duplication
* Update flash instructions for levinson
While this was historically a valid possibility, nowadays, it reads
kinda weird, and the [Oxford Dictionaries Online suggests to avoid it](https://english.stackexchange.com/a/56010).
Thus, I removed it everywhere I found it.
* Setup keymaps and userspace for Rishka
* Creates a keymap for Ergodox Ez, bdn9 and Dactyl Manuform 5x6
* Update bdn9 config with suggested change
* Add pragma to other header files
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Updates from review from fauxpark
* Updates from review
Swap to keyboard_post_init, layer_state_t and use layer state for encoder
* Updates from review
Swap to keyboard_post_init, layer_state_t and use layer state for encoder
* Add missing change from review
* Add a short explanation to the troubleshooting section
While translating I noticed that the troubleshooting section could use a
little bit more explanation. @Yanfali was so kind to chime in on this on
discord and explained that this was ment for people who accidently
forget to put their board in bootloader mode, so I added this as a
possible common mistake.
Also fixed the spelling of Msys2 to MSYS2 and Halfkay to HalfKay as
these are the official spellings they use themselves.
* Update driver_installation_zadig.md
* Update driver_installation_zadig.md
English is hard.
* Update docs/driver_installation_zadig.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update docs/driver_installation_zadig.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Keyboard Naked48 Update
Support for SPLIT_KEYBOARD
Readme updates
Keymap updates
Support for RGB matrix (salicylic keymap)
* Keymap Update
Change KC_NO to KC_TRANSPARENT.
Update the old part.
* Enable PERMISSIVE_HOLD and TAPPING_FORCE_HOLD
* Fix indentation in userspace
* Shuffle around more Lily58 symbol keys
* Reformat KBD67 keymap and KLE images
* Fix Lily58 lower layer image
* Reformat Quefrency keymap and KLE images
* Fix KBD67 KLE images... again
* Add KLE links for Quefrency
* Reformat 60% layouts and KLE images
* Move Super key back to right half of Lily58
* Move Lily58 ins/del out of the way of numbers
* Fix bottom row of Lily58 KLE image
* Initialize ergodash rev 1 keymap
./util/new_keymap.sh ergodash/rev1 yet-another-developer
* Add user space configurations referenced from drashna
* Start community layout for ergodash in ortho_5x14
* Remove unused layers
* Add userspace layers
* Add Userspace gitignore
Hide Secrets
* Remove userspace unused drashna features
* Scrap default keymap and follow drashna's template
* Add code referenced from kuchosauronad0
* Make sure that the author is named Developer
* Replace middle keys del and bksp with curly brace
* Reduce ONESHOT_TIMEOUT from 3sec to 2sec
* Remove adjust key AG_SWAP
* Disable UNICODEMAP_ENABLE, remove code causing build fail
* Increase TAPPING_TERM to 240
Reason: Because Space is also LOWER, space sometimes not registering.
PS: I dont want to #define RETRO_TAPPING yet
* Update KC_MAKE to use :flash
* Remove TAP_ONCE, use tap_code
Signed-off-by: Developer <anotherdeveloper@icloud.com>
* Remove redundant code implementation of keyboard_post_init_user
https://github.com/qmk/qmk_firmware/pull/7046
users/yet-another-developer/leader.c
```
static bool has_ran_yet;
if (!has_ran_yet) {
has_ran_yet = true;
startup_user();
```
Comment for lines +11 – +14
@drashna: Not needed anymore. You can use keyboard_post_init_user now.
Signed-off-by: Developer <anotherdeveloper@icloud.com>
* rebaselined the whole fork and added cool matrix animations
* Updated dfu bootloader rules, oleds working on test map
* Moving test branch into main
moving my _test branch files into the main since the repo is now in the dev branch, don't see any reason to keep separate folders.
* Update keymap.c
Adding DOT to number layer
* added LED sleeping
* working on getting matrix rgb to sleep upon usb suspend
uploading to github for qmk staff help
* Added master sleep on usb suspend
Unfortunately the sleep function does not work on the slave side so will probably revert this change later
* bringing hhkb config up to current with other tominabox1 configs
* Update config.h
since master side is the only one that sleeps, going to disable this for now.
* testing oled stuff
* Update rules.mk
* tinkering with oled still
* Finally fixed custom image with corne doug
* Adding keymap to dimple instead of screwing up the upstream references.
* Changed oled image to peepo ggers
* working on oled sleep
* Update keymap.c
* fixes oled wake/sleep issues
* Adding 🅱️ and BEPIS macros
* Update .gitignore
* Cleaning up and improving documentation
* Update keymap.c
* Adding my minivan keymap
* Fixed error on keymap
* fixed OLEDs not turning on and moved tapping term to the keymap file
* Changed tapping term from 200 to 250
* Revised Fkey layers, arrows, question mark locations
* Update keymap.c
* tweaked tapping term and types on CRKBD, revised layout on HHKB
* Update keymap.c
* general code cleanup, keymap displays
* Set up userspace for common keymap elements
* tapping term stuff for shift
* testing
* Fixed new tapdance for accessing number and fkey layers
* Update tominabox1.h
* stuff
* fixing function calls for userspace
* cleaning up crkbd config and moving stuff to userspace
* finally fixed oled lightup issues
* cleaning up a few maps and rules
* Removing permissive hold and returning spacefn to all boards.
* Settting up wrapper keymaps for Dimple, Minivan, and Corne
Wrappers
* small tweaks
* Update wrappers.h
* finishing wrappers on Minivan and Dimple
* Revised tapping term definition
Providing additional tapping term config for CRKBD only.
* Code cleanup and documentation
* Update readme.md
* Update readme.md
* Wrapers and continued code cleanup and documentation
* moved oled py scripts to user folder
* completed wrapper implementation of CRKBD
* added matrix startup mode - not working yet pending upstream changes
* removed unused code in tominabox1.c
* Fixing custom keycodes and tap dance indices
fixed custom keycodes and tap dance indices
Adding beginning of dimple RGB matrix definition
changed oled on corne to scrolling matrix thing
Added copy pasta
* Secondary layer tweaks
Swapping hands of numbers and symbols as well as tweaking tapping terms accordingly
* Update tominabox1.c
Continued refinement of tapping term to support better right hand symbol access.
* Fixes from pr 7014
Removed gitignore data from qmk master
Reverted changes to Drashna's crkbd keymap
Accepted changes to crkbd keymap
Added ignore to hhkb keymap - I think I need this because Teensy. Will revisit another time
* Removing hhkb keymap for rework
* Adding back hhkb keymap
Re-adding hhkb folder with ignores
* Reverting changes to Dimple default
totally did not intend to modify these
* Update keymap.c
Reverting changes to Drashna's corne map
* Accepting recommended changes
* Reduced tap hold caps delay
moved bootmagic enable to general usage
Revised tapping terms
Removed unused keycode defs
* bootmagic
* Update rules.mk
* Fixed permissions (support 7014) and bootmagic addition
Fixed permissions on Drashna's keymap and Dimple default keymap files.
Adding bootmagic to my crkbd config.
* Fixing permissions
* First draft of my layout
* Improved layout and cleanup of files
* Update keymap and add rules
* Add keymap.h with permissive_hold setting
* Rename keymap.h to correct name config.h
* Add next/prev and special lock key to Fn layer
* Use correct modifier in MY_LOCK command
* Removed unnecessary filler defines
* Add build instructions to README
* Move RGB controls to more logical up/down key positions, move next/prev controls, remove del from Fn layer
* Fix wrong placeholders and fix up formatting
* Remove unused code
* Clarify comments on custom defines
* Update keyboards/kbdfans/kbd6x/keymaps/mekberg/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Version 1 of keymappings
* Adding updated keymappings
* Adding hash/pound symbol to layer
* Removing broken macros
* Adding to readme. Amending value of pound sign
* Changing language in readme
* Addressing PR comments. Removing unneeded code, corrected syntax
* Removing commented out code and fixing white space issues
* Small clean up to readme
* Add a via compatible keymap
* Disable VIA on default for configurator
- use the via keymap if you want via support
* Move wilba dep to keymap avoid breaking community
- moves via specific includes into the _via keymap
- fixes configurator builds
* Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow
* Update quantum/split_common/split_util.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1
* Move tmk_core/common/backlight to quantum/backlight
* Add guards to backlight inclusion
* Add guards to backlight inclusion
* Update backlight guards on clueboard/60
* Use full paths to avoid vpath issues
* Change RGBLight pin for Planck Light
Move it to A0, so that the SPI? pins are available for BT hackery
* Add QMK DFU bootloader info
* Add Solenoid
* Disable annoying white LED on bottom
* Enable Solenoid on Corne
* Remove bounds for animations
* Increase debounce for Ergodox EZ to reduce repeat key issues
* Set swap hands key to be a hold-tap key
This way, it's not ANNOYING and doesn't swap the hands inteniontally
* Move MT Alt in Corne keymap
* Re-Add fine tuned control of secrets
* Squash mods to single row
* Add LRA settings to haptic feedback settings for Rev6
* Fix issue with non-Planck EZ keymaps
* Add 40 Percent Nano with Analog Joystick
* Add Collide39 keymap
* Fix OLED printing to be more flavorful
* Fix up Iris GamePad and come cleanup
* Expand OLED char map further
* Add modded characters to keylogger
* Here be dragons
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Fix up rules for community layouts
* Some more OLED tweaks
* Add mod mask check function
* Change QMK DFU Audio pin to be correct
* Use manual STM config instead of CTPC for Collide 39
* Fix off-by-one error in Lily58 function keys
* Swap number and symbol layers
* Move grave/tilde to the left of brackets/braces
* Add KLE links
* Move function keys to Raise layer
* Move symbols nearer to home row
* Add readme for Lily58 layout
* add temporary test shell-spript
* Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization
No change in build result.
* Helix config.h use '#pragma once'
No change in build result.
* Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once'
No change in build result.
* Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h
No change in build result.
* remove keyboards/helix/{rev2|pico}/serial_config.h
No change in build result.
* 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h.
No change in build result.
* The contents of helix/rules.mk were distributed to subdirectories.
This is a preparation to create a new subdirectory for helix code using split_common.
No change in build result.
remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk.
follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk.
----
SRC += i2c.c
SRC += serial.c
SRC += ssd1306.c
CUSTOM_MATRIX = yes
---
* helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/
No change in build result.
* Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.
No change in build result.
* add keyboards/helix/pico/local_features.mk
* add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk
* remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk
* remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk
* remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk
* add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk
* Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.
No change in build result.
* add keyboards/helix/rev2/local_features.mk
* add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk
* remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk
* remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk
* remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk
* add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk
* Added helix keyboard build NEW method.
No change in build result.
## Helix build
$ make helix:default ## no oled, no backlight, no underglow
$ make helix/rev2/back:default ## no oled, with backlight, no underglow
$ make helix/rev2/under:default ## no oled, no backlight, with underglow
$ make helix/rev2/oled:default ## with oled, no backlight, not underglow
$ make helix/rev2/oled/back:default ## with oled, with backlight, no underglow
$ make helix/rev2/back/oled:default ## with oled, with backlight, no underglow
$ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow
$ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow
## Helix pico build
$ make helix/pico:default ## no oled, no backlight, no underglow
$ make helix/pico/back:default ## no oled, with backlight, no underglow
$ make helix/pico/under:default ## no oled, no backlight, with underglow
$ make helix/pico/oled:default ## with oled, no backlight, not underglow
* add temporary test shell-spript
* test end remove test script. Revert "add temporary test shell-spript"
This reverts commit 5dac20cd0f8b4bc192edb2313652c1635f829657.
* test end remove test script. Revert "add temporary test shell-spript"
This reverts commit ec49f63b2dc0f2b3fe8c1c36ffa615cee2f7e3ed.
* Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'.
No change in build result.
* update keyboards/helix/{rev2,pico}/keymaps/default/readme.md
* rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk
* update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md
* rm keyboards/helix/pico/oled/rules.mk
* update helix's readmes. All the ':avrdude' was replaced with ':flash'.
* remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk
No change in build result.
* Revert raise/backspace mod tap to just backspace
* Initialize usb_usb/narze
* Modify keys
* Add readme
* Support Right shift to )
* Add Dev layer
* Use Dev layer on holding z key
* Add Dev layer for Ergodox
* Update keyboards/converter/usb_usb/keymaps/narze/README.md
Fix the command & close the code block as suggested
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Reduce rules
* Add dz60 keymap
* Add my TADA68 layout
* Fix descriptions and formatting
* Formatting fixes
* Add readme file
* Formatting
* move caps lock to correct key, add F-keys to both layers
* Add readme for dz60
* First draft of custom Let's Split layout
* Some more keys
* Finalized keymap
* Added a bunch of custom shortcuts to make layout easier to read
* Add PERMISSIVE_HOLD option to modtap behavior
* Add lock and sleep shortcuts, formatting
* Minor fixes and adjustments
* Add PERMISSIVE_HOLD option, add sleep/lock shortcuts, minor fixes
* Add sleep/lock shortcuts, minor fixes
* fixups
* Major simplification of lets_split layout into more standard raise/lower/special layers
* Remove layer songs, add to readme
* Formatting
* Switch a few keys around for reachability
* Add windows/mac specific layers
* simplify layers
* Update README
* Fix legends
* Invert numpad and put Del in upper right corner
* Disable arrow keys on Raise, add build instructions
* Move dz60 keymap to its own branch
* Remove redundant configuration
* Change volume and sleep keycodes to standard
* Removing empty rules.mk
* Changing layer defines to enum
* Adding comment to explain reason for swapping KC_TRNS and KC_NO fillers
* Adding profile for Corne with tap dance Swedish support.
* Remove extern keymap_config_t keymap_config as no longer needed
* Changed to use tap_code over register_code
* Removed persistent_default_layer_set
* Moved macros to hvp user space ink tap dance code
* Removed not used functions
* Moved to an ifbased include statement
* Removed not needed characters
* initial commit
* OLEDに表示するロゴをuzuのものに差し替えた
* delete undefault keymaps
* delete info.json
* delete pro_micro.h
* remove USE_Link_Time_Optimization check
* Moved constant defined for each keymap.c to rev1.h
* update layer_state_reader.c
* Rename Uzu42 to uzu42
* remove bootloader.h include
* LAYOUT_kc to LAYOUT
* delete keymap level rules.mk
* update readme.md
* remove persistent_default_layer_set function.
* try refactor to use split_common and use OLED driver
* Revert "try refactor to use split_common and use OLED driver"
This reverts commit 5a9afceacb450ca9eca8a146b64c24d0e0925dd8.
* Update keyboards/uzu42/rev1/config.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/uzu42/rev1/rev1.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/uzu42/rev1/rev1.h
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/uzu42/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Remove lines already defined in QMK
* Update keyboards/uzu42/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/uzu42/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/uzu42/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* replaced comment block
* Update keyboards/uzu42/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Revert "Revert "try refactor to use split_common and use OLED driver""
This reverts commit a7849216f49a411558d4cfdcfbf3e202defe892a.
* fix setting for RGBLED
* The default of OLED_DRIVER_ENABLE has been changed to no.
* Delete unuse block.
* Remove unnecessary keycode definitions.
* Remove unuse custom keycode.
* Remove not needed code.
* Remove not called code.
* Remove code overwritten by the core.
* Remove LAYOUT_kc macro.
* Moved the definition of the layer block to keymap.c.
* Removed unuse variable.
* Remove code overwritten by the core too.
* incorporate layer changes
* Moved src rule to keymap from rev1.
* Removed rgb_state_reader.c from lib folder and the code move to the keymap.c
* Removed layer_state_reader.c from lib folder and the code move to the keymap.c
* Removed logo_reader.c from lib folder and the code move to the keymap.c
* Removed keylogger.c from lib folder and the code move to the keymap.c
* Moved glcdfont_uzu42.c from lib folder to the default keymaps folder.
* Removed unused files.
* - Enabled Unicode Feature to fix the build
- Added TapDance Feature to improve the functionality of the Keyboard
- Added the ability to switch between the Unicodes Modes
- Added more Emojis thanks to the tap dance feature
* Fix Format
* new keyboard bm43a
* Thanks to noroads for generating this with his online tool
* add QMK Configurator support thanks to noroads
* turn on bootmagic lite
* update readme
* remove unneeded comments
* Removed ugfx binary because of antivirus
* Created laurent's keymap
* Made QWERTY Mac and QWERTY Windows
* Rev 1.0, added _PUNC, _NAV, _EXTRA
* REV 1.1, Dynamic macros start/stop now plays a sound, Lower acts like backspace on tap
* Formatting fixes
* Added Intellisense macro, fixed formatting
* Improved ergonomics/muscle mem on punctuation lay
* Added Raise Tap to Backspace
* Mirrored Ergodox, added One-Handed
* Added layers in README.md, added Caps lock, Scroll lock
* Moved Caps to better location
* Added ErgoDox link
* Edit Readme.md with more layer switching information
* Modified _PUNC for muscle memory
* Reverted .gitignore and .vscode settings.json to reflect master
* Improved formatting according to PR review
* QMK_KEYBOARD_H def for Intellisense fixed->rev3.h
* .gitignore diff fix
* Fixing settings.json diff
* Update settings.json
* Update keyboards/preonic/keymaps/laurentlaurent/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* - added new layout for dz60
- created personal keymap using new layout
* - changes based on pr feedback from @noroadsleft
* - further readme formatting
* Apply suggestions from code review
applied changes based on review feedback
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* - readme formatting
* Apply suggestions from code review
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Added KBD6X Vimwarrior HHKB TOFU Personal Layout
* Added Readme.md for Vimwarrior HHKB Tofu Keymap
* Added DZ60 Vimwarrior WKL Tofu Keymap
* Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu
* Update rules.mk Added BOOTLOADER config.
* [Keymap] Added devinceble keymap for TADA68
* Fix projectkb/alice Right Spacebar Size to 2.75 not a bug though but confusing
* Update Right Alt for Layout Fix
* Use .template file extension for keyboard template files
* Filter out .template files completely before passing to clang-format
* Undo file extension stuff; just ignore quantum/template dir
* Translated breaking_changes.md in French
* Translated ChangeLog/20190830.md to French
* Update docs/fr-FR/breaking_changes.md
Co-Authored-By: Max Rumpf <max.rumpf1998@gmail.com>
* Fix comments from @zekth
Co-Authored-By: Vincent LE GOFF <g_n_s@hotmail.fr>
* initial commit
* thank you mr keebs for making this easy. Added 65_ansi macro made from mrkeebs kle2qmk tool.
* split backspace requires an additional row
* change k43 to k42
* add in split space bar support for LAYOUT_all
* add QMK Configurator support
* make default keymap more usable
* update readme
* Update keyboards/exent/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/exent/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/exent/keymaps/default/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/exent/rules.mk
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Adds the files that will be translated
* Start translate cli_configuration.md in French
* Translated cli.md in French
* Translated getting_started_getting_help.md in French
* /getting_started_github.md
* Translated first part of contributing.md in French
* Finish translation of contributing.md
* Translated the getting_started_introduction.md in French
* Corrected issues from @zekth review
Co-Authored-By: Vincent LE GOFF <g_n_s@hotmail.fr>
* using similar keymaps (with vim in mind) for planck and crkbd
* changed to rgb matrix and lower max brightness to prevent unresponsiveness
* readme and default rgb mode
* disable all the not wanted effects and activate the framebuffer ones
* changed effects
* changed custom keycodes to defines
* fixed comment
* CLI command to serve docs locally
* Document it
* Default port
* Use `with` and subclass `SimpleHTTPRequestHandler` to set working dir
* Apply suggestions from code review
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
* Update docs/cli.md
* Translated _summary.md + newbs.md
* Translated news_best_practices.md in French
* Translated newbs_building_firmware_configurator.md in French
* Translated the file newbs_building_firmware.md in French
* Translated page newbs_flashing.md in French
* Translated the page newbs_getting_started.md in French
* Translated the page newbs_learn_more_resources.md in French
* Translated the page newbs_testing_debugging.md in French
* Change translation of split from 'séparé' to 'scindé'
* Adding the lang file for gitbook and some others tranme other translation
* Correcting typos after Gimly's review
* Some others sections on the summary
* Fix first comments from @zekth
* Fix some issues from @4sStylZ
* Fix other issues from @4sStylZ
* Fix weird phrase
* Replaced all uses of 'téléverser' by 'flash'
* Replaced all planches by board
* Fix other PR comments
* Fix comment
* [Docs] Add AVR and ARM examples to GPIO Commands
Add examples for reference for people not as well versed in microcontroller coding, such as myself.
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
The top-right key should be = and not the shifted pseudo-key +. This
matches the sample layout from the picture in the readme [0].
[0]: https://i.imgur.com/xVkODOu.jpg
* Add an important note about modifying user code
* Update docs/contributing.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
sprintf always adds a NULL terminator at the end of the buffer it works on.
A few places made just enough space for the resulting string, but not the terminator.
So this just adds one to the buffer size to make room for it.
`list_keyboards` replicates the `make list-keyboards` by globbing for all paths
that include `rules.mk` and then removing the paths that include `keymaps`.
This basis of this cli command could be reused in the future as a util, but is
not done so here since this would be the only place that would use it currently
Resolves#6911
* [refactor] updating ninjonas layout blocks and standardized LOWER & ADJUST
* [feat] added new macro M_TERM to open MacOS terminal app
* [feat] introducing mod-tap functionality on keymap
* [fix] fixing oled turning on when it feels like it. thanks @drashna for helping
* [feat] updating OLED to rotate logo 180 degrees
* [feat] updating keymaps to reflect VSCode frequent habits
* [refactor] converting crkbd modifier keys to layer blocks
* [fix(#6903)] converting _delay_ms to wait_ms on launching terminal macro
* [keymap] dactyl_left
Special layout for the left side of the ergodox dactyl.
* [keymap] dactyl_left
Special layout for the left side of the ergodox dactyl.
* Updated readme.md
* Update keyboards/handwired/dactyl_left/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/handwired/dactyl_left/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/handwired/dactyl_left/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/handwired/dactyl_left/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/handwired/dactyl_left/info.json
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Addressing changes for PR
removed layers.json and 15-24 from rules.mk
* Updating keymap for better a default
Hopefully this works as a starting point
* Created personal keymap for dz60 hhkb layout.
* Renamed directory joooosh to joooosh_hhkb... Removed redundant KC_TRNS alias #define... Updated to use KC_TRNS alias defined in QMK_KEYBOARD_H.
* Initial Lily58 keymap
* Still not sure if these thumb key placements are optimal or not. I
might want to move space (enter) one key to the left (right),
respectively.
* Also unsure how I feel about Esc on a mod tap key with Ctrl... might
move it back to its own key and relocate the = key.
* Missing bindings for Print Screen, Scroll Lock, Pause/Break.
* Make Lily58 layout support operation without numrow
* Move some Lily58 modifiers around
* Move nav keys to more consistent locations
* Rebinding shift on Raise is stupid
* Don't stomp Ctrl on the Lower layer
* Tweak bottom row a little bit
* add ISO-DE layout with 5x1u and split right shift
* cleaning up
* renamed readme.md and layout. added underglow
* change layout name in info.json
* rename readme.md
* renamed layout in comment. added rgb keys to visualisation
* change Layout name in dz60.h visualization
* initial commit
restart of osa development
* minor changes
Minor changes
mostly changing naming and comment out rgb modes
* initial commit
restart of osa development
* minor changes
Minor changes
mostly changing naming and comment out rgb modes
* more minor changes
comment out some functions
correct some spelling errors
change some of the descriptive text
* Minor Changes
Minor changers per PR requests
* Minor Changes
Minor changes per PR suggestions
* Major Changes
Per PR suggestion from noroadsleft:
- changed macro to LAYOUT_all in info.json, dualsplit/keymap.c and ocm/keymap.c, and osa.h
- added osa.h macros for other layouts per suggestion and used suggested naming
- changed naming of layout macros to correspond to macros and naming in default/keymap.c, dualsplit/keymap.c, ocm/keymap.c, splitbs/keymap.c, and splitrs/keymap.c
- removed duplicate layers from all keymaps and edited per suggestions
- compiled each keymap to check for and correct any potential errors. all compiled with no errors
* Minor Change
- fixed imgur image link in readme.md to be correct format
* Minor Changes
changes to macro layouts in osa.h
changes to dualsplit/keymap.c - added arrows to layer 1
* Changes
- Made changes to info.json to match osa.h
- changes to osa.c enabling indicator LEDs
- changed "dualsplit" directory name to "all" to match keymap naming in osa.h, info.json, and keymap.c
- minor changes to all/keymap.c
* Update keyboards/sck/osa/rules.mk
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/sck/osa/readme.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Changes to info.json
- revert to info.json from version in b3b49c3 per requested changes
* production version of the PCB has the top two right most keys swapped around. There are only 6 protos in existence and one of them is mine so we can just do this.
* update readme by adding backticks
* initial commit
* fixup init_rows and read_rows routine
* fixup matrix based on Marcus's tracing info
* add a temporary keymap
* add notes
* use a standard tkl ansi keymap
* turn on that last column
* backslash and backspace row left to fix
* reorg from backslash to pgdn
* got the matrix done but the backspace location at K4N is still suspect
* add reset info into readme
* add qmk configurator support
* add community layout support
* remove uneeded keymap readme
* add a new column just for the reset switch
* change copyright dates
* add cautionary message to readme as we don't know about the lighting condition yet
* Update keyboards/duck/orion/v3/v3.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/duck/orion/v3/v3.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/duck/orion/v3/v3.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* change bootloader comments
* initial commit of skog_lite
* add layout macro from misterkeeb's tool
* add default keymap
* add pins used
* rgb support
* add tkl ansi community support
* update readmes
* add new layouts and configurator support
Features:
* Tap space for space, hold for cmd
* Tap caps lock for esc, hold for ctrl
* Dedicated key for entering default mode of yabai window manager
* Who needs arrow keys, anyways???
* Method for clearing all stuck-down mods
This fixes the following issue related to encoding on linux systems. Add
`universal_newlines=True` to subprocess.
<class 'TypeError'>
☒ a bytes-like object is required, not 'str'
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/milc.py", line 564, in __call__
return self.__call__()
File "/usr/local/lib/python3.7/site-packages/milc.py", line 569, in __call__
return self._entrypoint(self)
File "$HOME/qmk_firmware/lib/python/qmk/cli/doctor.py", line 56, in doctor
for line in mm_check.stdout.split('\n'):
TypeError: a bytes-like object is required, not 'str'
* remove IT_PIPE duplicate and add IT_GRAD
IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC)
* rename IT_GRAD to IT_DEGR
* add missing plus_and_minus
* fix missing IT_ACUT definition
* change KC_LALT(KC_LSFT to LALT(LSFT
* Fix alignment
* remove leftover
* fix issue generated with chars while pushing
* fix typo
* fix LCBR and RCBR
* fix euro symbol
* fix RBRC
* change IT_LESS form KC_NUBS to KC_GRAVE
* add IT_TILDE and change IT_GRAV to IT_GRAVE
* add missing legends for accented vowels
* format for readability
* revert to commit befor I edit it
* initial commit
* edited to be easier to compare to _ansi.h
* remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h
I found out there were no difference at all
* fix missing #endif
* rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h
Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC)
* rename file
* redefines IT_BKSL and IT_PIPE based on KC_BKSL
* add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE
* Align bottom row in KBD6X keymap to match LAYOUT macro
* Remove TAP_HOLD_CAPS_DELAY override in userspace
* Change default USB polling rate to 1000 Hz
* Move media controls to nav cluster on Wasdat
* Add dz60:konstantin_b keymap
* Add personal keymap
* Additional readme note
* Fix typo's in readme
* Additional layer key info in readme
* Update keyboards/crkbd/keymaps/rpbaptist/config.h
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/crkbd/keymaps/rpbaptist/rules.mk
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Update keyboards/crkbd/keymaps/rpbaptist/keymap.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Remove redundant config
* Remove disabling of NO_ACTION_MACRO and NO_ACTION_FUNCTION
* Remove layer keycode macros
* Use layer_state_t instead of uint32_t
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Use get_highest_layer instead of biton32
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* OLED_ROTATION_90 instead of 180
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Use get_highest_layer instead of biton32
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Use get_highest_layer instead of biton32
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* Revert "OLED_ROTATION_90 instead of 180"
This reverts commit f14a4353ab6719c6e4e8974a4d17f8b91940de56.
It messed up the logo on slave
* Use IS_LED_ON function to check LED status
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* first commit, skeleton code, not sure if working
* Owlet 60 working firmware, json not sure
* use json from kle to qmk converter
* deleted temporary text from owlet60.h
* owlet60 working oled and led firmware
* moved owlet60 to handwired
* updated readme.md
* Revert "owlet60 working oled and led firmware"
This reverts commit 27f9465aabd62d9ee445b477a02af348160532c1.
* Revert "moved owlet60 to handwired"
This reverts commit 9b8e8344fc303ddc4dcc3b023d4e9d05b89d5800.
* revert changes, moved owlet60 to handwired, updated copyright blurb
* fixed readme.md
* removed duplicate items
* resolve merge artifact
* Update keyboards/handwired/owlet60/readme.md
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* check out merge artifacts with qmk master
* Update keyboards/handwired/owlet60/matrix.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/handwired/owlet60/matrix.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/handwired/owlet60/matrix.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Update keyboards/handwired/owlet60/matrix.c
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* removed redundant rule on oled_testing/rules.mk, refactored mux switching code on matrix.c
* setup local build config, created npm build script to speed things up
* removed some profiles and gutted readme
* began configuring default and lower layout
* lower: fixed right arrow and added music toggle
* began configuring default and lower layout
* changed startup song
* updated comment typos
* I did that thing where i basically refactored everything :)
* Converted 2U key to 1U's
* Reorganized and tidied up
* Reorganized and tidied up
* space now changes layers
* updated numbpad
* updated readme
* removed unwanted files
* addressed change requests
* support tkl_iso community layout
* fix comments from review
* fix review comments
* LAYOUT is an alias for LAYOUT_all
* add keymap default_iso
* revert changes to default keymap
* Initial stab at some fake dfu-util-split-left behaviour
* Apply suggestions from code review
Co-Authored-By: fauxpark <fauxpark@gmail.com>
* Clang format fixes
* Fake eeprom init for both left and right hand
* Port personal keymap to 60_tsangan_hhkb
- add 60_tsangan_hhkb layout to plain60
- Fix bug in split rs in plain60
- use community and user based layout for 60_tsangan_hhkb
- set up audio for plain60 only
* Add LAYOUT_60_ansi_split_bs_rshift
* Refactor: matrix
* New readme file
* Configurator support
* change info.json to debug linting
* use an enum to manage the layers
* readme cleanup
file header, docs links
* use #pragma once in keyboard header file
* use new-style OLKB layout macro naming scheme
* fix layout macro references in keymap.c
* correct Keyboard Maintainer
* start wraith firmware
* completed initial setup
* added amber keymap to wraith
* fixed LEDs, wrote readme files
* reverted bootloader type after troubleshooting
* decapitalised files and directory as per qmk standards
* Update Wraith keyboard folder
- Add timer keymap with documentation
- Remove boilerplate in rules.mk, ready for pull request
- Update info.json with ISO and ANSI layouts, ready for QMK Configurator
* Add Efreet keyboard
* Remove unnecessary keyboard folders
* Enable community layout support for Efreet
- Rename LAYOUT macro to LAYOUT_ortho_4x12
- Add layout macro named LAYOUT_planck_mit
- Remove unnecessary magic key command, as we are using the default
- Fix readme.md formatting for GitHub
* Fix community layout support for Efreet
- Fix 2u spacebar keycodes in LAYOUT_planck_mit to denote absence of switch
- Turn on Community Layouts in rules.mk
* Update default keymap.c to use community layout
* e6.5 actually already had a 65_ansi_blocker LAYOUT macro, so just had to enable in rules.
* Add the 65_ansi_blocker LAYOUT macro and enable in rules.mk
* rename LAYOUT macro in .h and in the keymap.c as it was only a default keymap. Also enable in rules.mk
* rename but also had to define the existing LAYOUT macro as the new one to prevent breakage of existing keymaps
* add 65_ansi_blocker support for vinta
* forgot to update the info.json on these
* add new default layout 65_ansi_blocker support to alt
* add 65_ansi_blocker support
* undo changes
* Began Work On STM32 Ergodox
Changes to be committed:
new file: keyboards/ergodox_stm32/config.h
new file: keyboards/ergodox_stm32/rules.mk
* test
* Now it compile. Not linking thou
* Screw this Linker. It links now!
* Blinkly Keyboard
* bootloader test code
* Working on matrix / i2c stuff
* Progress (LED Blink)
* Progress on MCP_23017 Status Flag
* [WIP]
* update
* Works! Remeber to change back the bootloader address when the new bootloadrer is ready.
* Time to go debug the i2c
* Finally, it now works with PCB Rev 1.0.2
* updated for rev.2 pcb
* minor compilation fix
* Why when debugger is enabled then everything works.
* Remeber to call init functions.
* Update arm i2c driver to support STM32F103 series device.
* fix include once header. Replaced with #pragma once.
* complication test
* add default LAYOUT_60_ansi
* add LAYOUT_60_hhkb support
* add tsangan_hhkb support
* add ISO support and rename LAYOUT to LAYOUT_all
* formatting
* add community layouts support
* remove unneeded code
* missed a LAYOUT rename
* add link time optimization to reduce firmware size for some people's keymaps
* new keymap for my chocolate tofu65 with dz65rgb
* consistent with a tada68 layout
* remove extra layer, add swap keycodes and mouse keycodes
* fix the tabs and spaces
* fix the left shift
* readme updates for 60_ansi and split variations
* add new community layout for mechmerlin for the new default layout 65_ansi_blocker
* change path now that kbd67 has been updated
* fix up spacing
* move kbd67mkiirgb into kbd67 directory as mkiirgb
* rename files
* rename LAYOUT to LAYOUT_65_ansi_blocker
* add support for default layout
* update readme for new build target
* update parent readme with the fourth variant
* rename LAYOUT to LAYOUT_65_blocker_ansi
* rename LAYOUT macro
* enable LAYOUT_65_blocker_ansi community layout support and remove uneeded lines of code
* rename LAYOUT to LAYOUT_65_blocker_ansi
* rename LAYOUT macro
* enable LAYOUT_65_blocker_ansi community layout support
* enable LAYOUT_65_blocker_ansi support
* fix rename mess up
* add QMK Configurator support with the new rename
* rename blocker_ansi to ansi_blocker as it rolls off the tongue easier
* Rework how bin/qmk handles subcommands
* qmk config wip
* Code to show all configs
* Fully working `qmk config` command
* Mark some CLI arguments so they don't pollute the config file
* Fleshed out config support, nicer subcommand support
* sync with installable cli
* pyformat
* Add a test for subcommand_modules
* Documentation for the `qmk config` command
* split config_token on space so qmk config is more predictable
* Rework how subcommands are imported
* Document `arg_only`
* Document deleting from CLI
* Document how multiple operations work
* Add cli config to the doc index
* Add tests for the cli commands
* Make running the tests more reliable
* Be more selective about building all default keymaps
* Update new-keymap to fit the new subcommand style
* Add documentation about writing CLI scripts
* Document new-keyboard
* Update docs/cli_configuration.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Update docs/cli_development.md
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Address yan's comments.
* Apply suggestions from code review
suggestions from @noahfrederick
Co-Authored-By: Noah Frederick <code@noahfrederick.com>
* Apply suggestions from code review
Co-Authored-By: Noah Frederick <code@noahfrederick.com>
* Remove pip3 from the test runner
* move canoe into percent directory
* update readme for new make path
* move skog into percent directory
* update readme for new path and new instructions
* update readme
* fix error in naming
* made tapdance dual_role general
* updated original dual_role functionality
* added toggling layer example
* Fix dual role and add alias
* Update docs about new layer tap dances
* Fix up based on feedback
* Add support for Void Linux systems to the qmk_install.sh script
* Fix typos + grammatical edits in comments
* Sort distributions by alphabetical order in linux_install.sh
* Revert previous commit and sort Void packages in alphabetical order
* Fix permissions on `util/linux_install.sh`
* 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
@ -6,15 +6,15 @@ This guide is catered towards advance users and assumes you can compile an ARM c
## Installing the software
The main objective here is to get the MCU Eclipse IDE correcly installed on our machine. The necesarry instructions are derived from [this](https://gnu-mcu-eclipse.github.io/install/) install guide.
The main objective here is to get the MCU Eclipse IDE correctly installed on our machine. The necessary instructions are derived from [this](https://gnu-mcu-eclipse.github.io/install/) install guide.
### The xPack Manager
This tool is a software package manager and it is used to help us get the necesarry depencencies.
This tool is a software package manager and it is used to help us get the necessary dependencies.
XPM runs using Node.js so grab that form [here](https://nodejs.org/en/). After installation, open a terminal and type `npm -v`. A reply with the version number means that the instalation was successful.
XPM runs using Node.js so grab that from [here](https://nodejs.org/en/). After installation, open a terminal and type `npm -v`. A reply with the version number means that the installation was successful.
XPM instalation instructions can be found [here](https://www.npmjs.com/package/xpm) and are OS specific. Entering `xpm --version` to your terminal should return the software version.
XPM installation instructions can be found [here](https://www.npmjs.com/package/xpm) and are OS specific. Entering `xpm --version` to your terminal should return the software version.
### The ARM Toolchain
@ -26,10 +26,10 @@ If you are using windows you need to install this!
Now its the time to install your programer's drivers. This tutorial was made using an ST-Link v2 which you can get from almost anywhere.
If you have an ST-Link the drivers can be found [here](https://www.st.com/en/development-tools/stsw-link009.html) otherwise consult the manufuturer of your tool.
Now it's time to install your programmer's drivers. This tutorial was made using an ST-Link v2 which you can get from almost anywhere.
If you have an ST-Link the drivers can be found [here](https://www.st.com/en/development-tools/stsw-link009.html) otherwise consult the manufacturer of your tool.
### OpenOCD
@ -84,4 +84,4 @@ Reset your keyboard.
Press the bug icon and if all goes well you should soon find yourself in the debug perspective. Here the program counter will pause at the beginning of the main function and way for you to press Play. Most of the features of all debuggers work on ARM MCUs but for exact details google is your friend!
@ -14,7 +14,7 @@ The next Breaking Change is scheduled for Nov 29.
### Important Dates
* [ ] 2019 Oct 04 - `future` is created. It will be rebased weekly.
* [x] 2019 Sep 21 - `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.
@ -51,7 +51,9 @@ git rebase master
git push --force
```
## 8 Weeks Before Merge
## Creating the `future` branch
This happens immediately after the previous `future` branch is merged.
* `qmk_firmware` git commands
* [ ] `git checkout master`
@ -65,9 +67,6 @@ git push --force
* [ ] `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,22 +4,80 @@ 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:
The QMK CLI makes building and working with QMK keyboards easier. We have provided a number of commands to simplify and streamline tasks such as obtaining and compiling the QMK firmware, creating keymaps, and more.
* `qmk compile`
* `qmk doctor`
* [Global CLI](#global-cli)
* [Local CLI](#local-cli)
* [CLI Commands](#cli-commands)
# Setup
# Requirements
Simply add the `qmk_firmware/bin` directory to your `PATH`. You can run the `qmk` commands from any directory.
The CLI requires Python 3.5 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt).
# Global CLI
QMK provides an installable CLI that can be used to setup your QMK build environment, work with QMK, and which makes working with multiple copies of `qmk_firmware` easier. We recommend installing and updating this periodically.
## Install Using Homebrew (macOS, some Linux)
If you have installed [Homebrew](https://brew.sh) you can tap and install QMK:
```
export PATH=$PATH:$HOME/qmk_firmware/bin
brew tap qmk/qmk
brew install qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
You may want to add this to your `.profile`, `.bash_profile`, `.zsh_profile`, or other shell startup scripts.
## Install Using easy_install or pip
# Commands
If your system is not listed above you can install QMK manually. First ensure that you have python 3.5 (or later) installed and have installed pip. Then install QMK with this command:
```
pip3 install qmk
export QMK_HOME='~/qmk_firmware' # Optional, set the location for `qmk_firmware`
qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build environment
```
## Packaging For Other Operating Systems
We are looking for people to create and maintain a `qmk` package for more operating systems. If you would like to create a package for your OS please follow these guidelines:
* Follow best practices for your OS when they conflict with these guidelines
* Document why in a comment when you do deviate
* Install using a virtualenv
* Instruct the user to set the environment variable `QMK_HOME` to have the firmware source checked out somewhere other than `~/qmk_firmware`.
# Local CLI
If you do not want to use the global CLI there is a local CLI bundled with `qmk_firmware`. You can find it in `qmk_firmware/bin/qmk`. You can run the `qmk` command from any directory and it will always operate on that copy of `qmk_firmware`.
**Example**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Local CLI Limitations
There are some limitations to the local CLI compared to the global CLI:
* The local CLI does not support `qmk setup` or `qmk clone`
* The local CLI always operates on the same `qmk_firmware` tree, even if you have multiple repositories cloned.
* The local CLI does not run in a virtualenv, so it's possible that dependencies will conflict
# CLI Commands
## `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.
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.
This command lets you configure the behavior of QMK. For the full `qmk config` documentation see [CLI Configuration](cli_configuration.md).
Configuration for QMK CLI is a key/value system. Each key consists of a subcommand and an argument name separated by a period. This allows for a straightforward and direct translation between config keys and the arguments they set.
## Simple Example
As an example let's look at the command `qmk compile --keyboard clueboard/66/rev4 --keymap default`.
There are two command line arguments that could be read from configuration instead:
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
Now I can run `qmk compile` without specifying my keyboard and keymap each time.
## Setting User Defaults
Sometimes you want to share a setting between multiple commands. For example, multiple commands take the argument `--keyboard`. Rather than setting this value for every command you can set a user value which will be used by any command that takes that argument.
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
# CLI Documentation (`qmk config`)
The `qmk config` command is used to interact with the underlying configuration. When run with no argument it shows the current configuration. When arguments are supplied they are assumed to be configuration tokens, which are strings containing no spaces with the following form:
<subcommand|general|default>[.<key>][=<value>]
## Setting Configuration Values
You can set configuration values by putting an equal sign (=) into your config key. The key must always be the full `<section>.<key>` form.
Example:
```
$ qmk config default.keymap=default
default.keymap: None -> default
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
## Reading Configuration Values
You can read configuration values for the entire configuration, a single key, or for an entire section. You can also specify multiple keys to display more than one value.
### Entire Configuration Example
qmk config
### Whole Section Example
qmk config compile
### Single Key Example
qmk config compile.keyboard
### Multiple Keys Example
qmk config user compile.keyboard compile.keymap
## Deleting Configuration Values
You can delete a configuration value by setting it to the special string `None`.
Example:
```
$ qmk config default.keymap=None
default.keymap: default -> None
Ψ Wrote configuration to '/Users/example/Library/Application Support/qmk/qmk.ini'
```
## Multiple Operations
You can combine multiple read and write operations into a single command. They will be executed and displayed in order:
This document has useful information for developers wishing to write new `qmk` subcommands.
# Overview
The QMK CLI operates using the subcommand pattern made famous by git. The main `qmk` script is simply there to setup the environment and pick the correct entrypoint to run. Each subcommand is a self-contained module with an entrypoint (decorated by `@cli.subcommand()`) that performs some action and returns a shell returncode, or None.
# Subcommands
[MILC](https://github.com/clueboard/milc) is the CLI framework `qmk` uses to handle argument parsing, configuration, logging, and many other features. It lets you focus on writing your tool without wasting your time writing glue code.
Subcommands in the local CLI are always found in `qmk_firmware/lib/python/qmk/cli`.
Let's start by looking at an example subcommand. This is `lib/python/qmk/cli/hello.py`:
```python
"""QMK Python Hello World
This is an example QMK CLI script.
"""
from milc import cli
@cli.argument('-n', '--name', default='World', help='Name to greet.')
@cli.subcommand('QMK Hello World.')
def hello(cli):
"""Log a friendly greeting.
"""
cli.log.info('Hello, %s!', cli.config.hello.name)
```
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
# User Interaction
MILC and the QMK CLI have several nice tools for interacting with the user. Using these standard tools will allow you to colorize your text for easier interactions, and allow the user to control when and how that information is displayed and stored.
## Printing Text
There are two main methods for outputting text in a subcommand- `cli.log` and `cli.echo()`. They operate in similar ways but you should prefer to use `cli.log.info()` for most general purpose printing.
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
You should never use the format operator (`%`) directly, always pass values as arguments.
### Logging (`cli.log`)
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.5/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.
Sometimes you simply need to print text outside of the log system. This is appropriate if you are outputting fixed data or writing out something that should never be logged. Most of the time you should prefer `cli.log.info()` over `cli.echo`.
### Colorizing Text
You can colorize the output of your text by including color tokens within text. Use color to highlight, not to convey information. Remember that the user can disable color, and your subcommand should still be usable if they do.
You should generally avoid setting the background color, unless it's integral to what you are doing. Remember that users have a lot of preferences when it comes to their terminal color, so you should pick colors that work well against both black and white backgrounds.
Colors prefixed with 'fg' will affect the foreground (text) color. Colors prefixed with 'bg' will affect the background color.
There are also control sequences that can be used to change the behavior of
ANSI output:
| Control Sequences | Description |
|-------------------|-------------|
| {style_bright} | Make the text brighter |
| {style_dim} | Make the text dimmer |
| {style_normal} | Make the text normal (neither `{style_bright}` nor `{style_dim}`) |
| {style_reset_all} | Reset all text attributes to default. (This is automatically added to the end of every string.) |
| {bg_reset} | Reset the background color to the user's default |
| {fg_reset} | Reset the foreground color to the user's default |
# Arguments and Configuration
QMK handles the details of argument parsing and configuration for you. When you add a new argument it is automatically incorporated into the config tree based on your subcommand's name and the long name of the argument. You can access this configuration in `cli.config`, using either attribute-style access (`cli.config.<subcommand>.<argument>`) or dictionary-style access (`cli.config['<subcommand>']['<argument>']`).
Under the hood QMK uses [ConfigParser](https://docs.python.org/3/library/configparser.html) to store configurations. This gives us an easy and straightforward way to represent the configuration in a human-editable way. We have wrapped access to this configuration to provide some nicities that ConfigParser does not normally have.
## Reading Configuration Values
You can interact with `cli.config` in all the ways you'd normally expect. For example the `qmk compile` command gets the keyboard name from `cli.config.compile.keyboard`. It does not need to know whether that value came from the command line, an environment variable, or the configuration file.
You can set configuration values in the usual ways.
Dictionary style:
```
cli.config['<section>']['<key>'] = <value>
```
Attribute style:
```
cli.config.<section>.<key> = <value>
```
## Deleting Configuration Values
You can delete configuration values in the usual ways.
Dictionary style:
```
del(cli.config['<section>']['<key>'])
```
Attribute style:
```
del(cli.config.<section>.<key>)
```
## Writing The Configuration File
The configuration is not written out when it is changed. Most commands do not need to do this. We prefer to have the user change their configuration deliberitely using `qmk config`.
You can use `cli.save_config()` to write out the configuration.
## Excluding Arguments From Configuration
Some arguments should not be propagated to the configuration file. These can be excluded by adding `arg_only=True` when creating the argument.
Example:
```
@cli.argument('-o', '--output', arg_only=True, help='File to write to')
@ -224,6 +224,7 @@ There are a few different ways to set handedness for split keyboards (listed in
2. Set `EE_HANDS` and flash `eeprom-lefthand.eep`/`eeprom-righthand.eep` to each half
* For boards with DFU bootloader you can use `:dfu-split-left`/`:dfu-split-right` to flash these EEPROM files
* For boards with Caterina bootloader (like stock Pro Micros), use `:avrdude-split-left`/`:avrdude-split-right`
* For boards with ARM DFU bootloader (like Proton C), use `:dfu-util-split-left`/`:dfu-util-split-right`
3. Set `MASTER_RIGHT`: Half that is plugged into the USB port is determined to be the master and right half (inverse of the default)
4. Default: The side that is plugged into the USB port is the master half and is assumed to be the left half. The slave side is the right half
@ -266,6 +267,14 @@ There are a few different ways to set handedness for split keyboards (listed in
* 4: about 26kbps
* 5: about 20kbps
* `#define SPLIT_USB_DETECT`
* Detect (with timeout) USB connection when delegating master/slave
* Default behavior for ARM
* Required for AVR Teensy
* `#define SPLIT_USB_TIMEOUT 2500`
* Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT`
# The `rules.mk` File
This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features.
@ -301,13 +310,13 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
Use these to enable or disable building certain features. The more you have enabled the bigger your firmware will be, and you run the risk of building a firmware too large for your MCU.
* `BOOTMAGIC_ENABLE`
* Virtual DIP switch configuration(+1000)
* Virtual DIP switch configuration
* `MOUSEKEY_ENABLE`
* Mouse keys(+4700)
* Mouse keys
* `EXTRAKEY_ENABLE`
* Audio control and System control(+450)
* Audio control and System control
* `CONSOLE_ENABLE`
* Console for debug(+400)
* Console for debug
* `COMMAND_ENABLE`
* Commands for debug and configuration
* `COMBO_ENABLE`
@ -339,7 +348,8 @@ Use these to enable or disable building certain features. The more you have enab
* `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`
* 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 noticeable). 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`
* Alternatively, you can use `LTO_ENABLE` instead of `LINK_TIME_OPTIMIZATION_ENABLE`.
@ -63,11 +63,11 @@ Most of our style is pretty easy to pick up on. If you are familiar with either
We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making.
* Separate PR's into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature.
* Separate PRs into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure your code change actually compiles.
* Keymaps: Make sure that `make keyboard:your_new_keymap` does not return an error
* Keyboards: Make sure that `make keyboard:all` does not return any errors
* Keymaps: Make sure that `make keyboard:your_new_keymap` does not return any errors.
* Keyboards: Make sure that `make keyboard:all` does not return any errors.
* Core: Make sure that `make all` does not return any errors.
* Make sure commit messages are understandable on their own. You should put a short description (no more than 70 characters) on the first line, the second line should be empty, and on the 3rd and later lines you should describe your commit in detail, if required. Example:
@ -79,6 +79,8 @@ The kerpleplork was intermittently failing with error code 23. The root cause wa
Limited experimentation on the devices I have available shows that 7 is high enough to avoid confusing the kerpleplork, but I'd like to get some feedback from people with ARM devices to be sure.
```
!> **IMPORTANT:** If you would like to contribute a bugfix or improvement to user code, such as non-default keymaps, userspace and layouts, be sure to tag the original submitter of the code in your PR. Many users, regardless of skill level with Git and GitHub, may be confused or frustrated at their code being modified without their knowledge.
## Documentation
Documentation is one of the easiest ways to get started contributing to QMK. Finding places where the documentation is wrong or incomplete and fixing those is easy! We also very badly need someone to edit our documentation, so if you have editing skills but aren't sure where or how to jump in please [reach out for help](#where-can-i-go-for-help)!
Diese Seite beschreibt die Einrichtung und den Umgang mit dem QMK CLI (Kommandozeile).
# Übersicht
Die QMK CLI vereinfacht das Zusammenbauen und Arbeiten mit QMK Tastaturen. Hier findest Du wichtige Befehle, um beispielsweise das Herunterladen und Kompilieren der QMK Firmware oder das Erstellen von Tastaturbelegungen (und vieles mehr) zu erleichtern.
* [Globale CLI](#globale-cli)
* [Lokale CLI](#lokale-cli)
* [CLI-Befehle](#cli-befehle)
# System-Anforderungen
Die CLI benötigt Python 3.5 oder höher. Außerdem ist es nötig, die Packages laut [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt) zu installieren.
# Globale CLI
QMK bietet ein installierbares CLI, das Du zum Einrichten Deiner QMK Build-Umgebung verwenden kannst. Dieses ermöglicht Dir das Arbeiten mit QMK, und erleichtert das Arbeiten mit mehreren Kopien der `qmk_firmware`. Wir empfehlen, dieses CLI zu installieren und regelmäßig upzudaten.
## Installation mit Homebrew (macOS, manche Linux)
Solltest Du [Homebrew](https://brew.sh) installiert haben, kannst Du QMK per tap installieren:
```
brew tap qmk/qmk
brew install qmk
export QMK_HOME='~/qmk_firmware' # Optional: setzt den Installationsort für `qmk_firmware`
qmk setup # Dies klont `qmk/qmk_firmware` und richtet optional auch Deine Build-Umgebung ein
```
## Installation mit easy_install oder pip
Falls Du kein Homebrew hast, kannst Du QMK auch manuell installieren. Zuerst musst Du sicherstellen, dass Python 3.5 (oder höher) und pip installiert ist. Dann installiere QMK mit diesem Befehl:
```
pip3 install qmk
export QMK_HOME='~/qmk_firmware' # Optional: setzt den Installationsort für `qmk_firmware`
qmk setup # Dies klont `qmk/qmk_firmware` und richtet optional auch Deine Build-Umgebung ein
```
## Installation mit git Repo
`git clone https://github.com/qmk/qmk_cli.git && cd qmk_cli && python3 setup.py install`
## Packaging für andere Betriebssysteme
Wir suchen nach Freiwilligen, die ein `qmk`-Package für weitere Betriebssysteme erstellen und pflegen. Falls Du ein Package für Dein OS erstellen möchtest, bitte befolge diese Richtlinien:
* Verwende "Best Practices" für Dein OS, sollten sie mit diesen Richtlinien in Konflikt stehen.
* Dokumentiere den Grund in einem Kommentar, wenn Du abweichen musstest.
* Installiere mit einem [virtualenv](https://virtualenv.pypa.io/en/latest/).
* Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`.
# Lokale CLI
Wenn Du die globale CLI nicht verwenden möchtest, beinhaltet `qmk_firmware` auch eine lokale CLI. Du kannst sie hier finden: `qmk_firmware/bin/qmk`. Du kannst den `qmk`-Befehl aus irgendeinem Datei-Verzeichnis ausführen und es wird immer auf dieser Kopie von `qmk_firmware` arbeiten.
**Beispiel**:
```
$ ~/qmk_firmware/bin/qmk hello
Ψ Hello, World!
```
## Einschränkungen der lokalen CLI
Hier ein Vergleich mit der globalen CLI:
* Die lokale CLI unterstützt kein `qmk setup` oder `qmk clone`.
* Die lokale CLI arbeitet immer innerhalb der selben `qmk_firmware`-Verzeichnisstruktur, auch wenn Du mehrere Repositories geklont hast.
* Die lokale CLI läuft nicht in einer virtualenv. Daher ist es möglich, dass Abhängigkeiten (dependencies) miteinander in Konflikt kommen/stehen.
# CLI-Befehle
## `qmk compile`
Dieser Befehl erlaubt es dir, die Firmware - aus egal welchem Datei-Verzeichnis - zu compilen. Du kannst JSON-Exporte von <https://config.qmk.fm> oder Keymaps in der Repo kompilen.
**Anwendung für Konfigurations-Exports**:
```
qmk compile <configuratorExport.json>
```
**Anwendung für Keymaps**:
```
qmk compile -kb <keyboard_name> -km <keymap_name>
```
## `qmk cformat`
Dieser Befehl formatiert C-Code im clang-Format. Benutze ihn ohne Argumente, um den core-Code zu formatieren, oder benutze Namen von Dateien in der CLI, um den Befehl auf bestimmte Dateien anzuwenden.
**Anwendung**:
```
qmk cformat [file1] [file2] [...] [fileN]
```
## `qmk config`
Dieser Befehl konfiguriert das Verhalten von QMK. Für die volle `qmk config`-Dokumentation gehe zu [CLI-Konfiguration](cli_configuration.md).
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.
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.
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
Place your keyboard into the bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch 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 keyboards may have specific instructions for entering the bootloader, for example the [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite) key (Escape) might be on a different key, such as Left Control. Refer to the board's README if you are unsure.
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**.
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`.
@ -19,7 +23,7 @@ Zadig will automatically detect the bootloader device. You may sometimes need to
!> 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.
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.
![Zadig with a bootloader driver correctly installed](https://i.imgur.com/b8VgXzx.png)
@ -27,7 +31,7 @@ Finally, unplug and replug the keyboard to make sure the new driver has been loa
## 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:
If you find that you can no longer type with the keyboard, you may have accidentally replaced the driver for the keyboard itself instead of for the bootloader. This can happen when the keyboard is not in the bootloader mode. You can easily confirm this in Zadig - a healthy keyboard has the `HidUsb` driver installed on all of its interfaces:
![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png)
@ -39,4 +43,6 @@ Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driv
![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png)
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!
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!
?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver.
[![Estado de la documentación](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm)
[![Contribuyentes en GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly)
[![Forks en GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/)
## ¿Qué es el firmware QMK?
QMK (*Quantum Mechanical Keyboard*) es una comunidad open source que mantiene el firmware QMK, QMK Toolbox, qmk.fm, y estos documentos. El firmware QMK es un firmware para teclados basado en [tmk\_keyboard](http://github.com/tmk/tmk_keyboard) con algunas características útiles para controladores Atmel AVR, y más específicamente, la [línea de productos OLKB](http://olkb.com), el teclado [ErgoDox EZ](http://www.ergodox-ez.com), y la [línea de productos Clueboard](http://clueboard.co/). También ha sido portado a chips ARM chips usando ChibiOS. Lo puedes utilizar para manejar tu propio teclado ya sea cableado a mano o basado en una PCB personalizada.
## Cómo conseguirlo
Si estás pensando en contribuir con un keymap, teclado, or característica a QMK, la manera más sencilla es hacer un [fork del repositorio en Github](https://github.com/qmk/qmk_firmware#fork-destination-box), y clonar tu repositorio localmente para hacer los cambios, subirlos, y abir un [Pull Request](https://github.com/qmk/qmk_firmware/pulls) desde tu fork.
De cualquier manera, también puedes descargarlo directamente en formatos ([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), o clonarlo via git (`git@github.com:qmk/qmk_firmware.git`), o https (`https://github.com/qmk/qmk_firmware.git`).
## Cómo compilar
Antes de poder compilar, necesitarás [instalar un entorno](getting_started_build_tools.md) para el desarrollo de AVR y/o ARM. Una vez hayas completado este paso, usarás el comando `make` para compilar un teclado y keymap con la siguiente notación:
make planck/rev4:default
Este ejemplo compilaría la revisión `rev4` del teclado `planck` con el keymap `default`. No todos los teclados tienen revisiones (también llamados subproyectos o carpetas), en ese caso, se puede omitir:
make preonic:default
## Cómo personalizar
QMK tiene montones de [características](features.md) para explorar, y una buena cantidad de [documentación de referencia](http://docs.qmk.fm) en la que sumergirse. Se pueden sacar provecho de la mayoría de las características modificando tu [keymap](keymap.md), y cambiando los [keycodes](keycodes.md).
Un colaborador QMK es un maker o diseñador de teclados que tiene interés en ayudar a QMK a crecer y mantener sus teclado(s), y alentar a los usuarios y clientes a presentar herramientas, ideas, y keymaps. Siempre procuramos agregar más teclados y colaboradores, pero pedimos que cumplan los siguientes requisitos:
* **Tener un PCB disponible a la venta.** Desafortunadamente, hay demasiada variación y complicaciones con teclados cableados a mano.
* **Realizar el mantenimiento de tu teclado en QMK.** Este podría requirir un setup inicial para hacer que tu teclado funcione, pero también podría incluir adaptarse a cambios hecho al base de QMK que podrían descomponer o rendir código superfluo.
* **Aprobar e incorporar pull requests de keymaps para tu teclado.** Nos gusta alentar a los usuarios a contribuir sus keymaps para que otros los vean y los puedan usar para crear sus propios.
Si sientes que cumples los requisitos, ¡mándanos un email a hello@qmk.fm con una introducción y algunos enlaces para tu teclado!
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.