* Recommend use of LED Indicator config
* Recommend use of LED Indicator config - update link
* Update quantum/template/ps2avrgb/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* added to handwired pill60
* Update keyboards/handwired/pill60/config.h and all other PR suggested changes
Deleted DESCRIPTION
Co-authored-by: Drashna Jaelre <drashna@live.com>
Update keyboards/handwired/pill60/readme.md
Smaller image in readme
Co-authored-by: Drashna Jaelre <drashna@live.com>
Update keyboards/handwired/pill60/info.json
Deleted key_count
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/keymaps/default/keymap.c
Deleted backslash on keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/pill60.h
Deleted led.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/blackpill_f401/rules.mk
Update stm32f401 rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/blackpill_f411/rules.mk
Update stm32f411 rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/bluepill/rules.mk
Update bluepill rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Update keyboards/handwired/pill60/rules.mk
Added comment on rules.mk to help ]
Co-authored-by: Ryan <fauxpark@gmail.com>
deleted bootloader_defs.h
added GPL2 + compatible license header
updated keymap readme
updated those that don't need common_config.h and deleted some unnecessary spaces in f411/rules.mk
updated default folder in rules.mk
* fix and simplify build files according to onekey example
* Added GPL2+ Compatible license header
* Updated information on info.json and hopefully de-cluttered branch
* Updated default encoder settings
* Updated info.json for after to be in the proper order
* Fixed maintainer name
* added Keyboard Southpaw66
* Housekeeping, shorten urls
* Housekeeping
* Row matrix pins were flipped, fixed
* housekeeping, extraneous punctuation
* bug-fixing
* bug-fixing
* Layout macro fixed
* Layout macro fixed again
* Update and rename Southpaw66,c to southpaw66.c
* Rename Southpaw66.h to southpaw66.h
* Update config.h
* Update info.json
* Change Southpaw66 to southpaw66
made change to case in all instances in code except where critical, such as in url's.
* Rename parent folder from Southpaw66 to southpaw66
* Rename parent folder from Southpaw66 to southpaw66
* Update info.json
* Update keyboards/rpiguy9907/Southpaw66/readme.md
updated image url to point to lower resolution image.
* Update config.h
re-capitalized Southpaw66 in product name.
* Rename Southpaw66 parent folder to southpaw66
* Rename parent folder from Southpaw66 to southpaw66
* rename parent folder from Southpaw66 to southpaw66
* rename parent folder from Southpaw66 to southpaw66
* Rename parent folder from Southpaw66 to southpaw66
* rename parent folder from Southpaw66 to southpaw66
* rename parent folder from Southpaw66 to southpaw66
* Update keyboards/rpiguy9907/southpaw66/readme.md
* Update keyboards/rpiguy9907/southpaw66/config.h
By default the `i2c_master` driver for ChibiOS uses the B6 pin for
`I2C1_SCL` and the B7 pin for `I2C1_SDA`. However, the ChibiOS board
file used for the F401 Blackpill board (`ST_STM32F401C_DISCOVERY`)
configures B6 as `I2C1_SCL` and B9 as `I2C1_SDA`, and if that
configuration is left unchanged, enabling the `i2c_master` driver
results in having two pins (B7 and B9) configured as `I2C1_SDA` at the
same time, which does not work properly (experimental results show that
the B9 pin still works as `I2C1_SDA` in that case, and the B7 pin does
not work).
Configure the B9 pin as an input with pull-up in `board_init()`, so that
the B7 pin can be configured as `I2C1_SDA` by the I2C driver.
* Add new keyboard Pan
Encoder switches still need work
* New keyboard Pan
Should be complete
* Split MCU selection into 2 revision folders
* [rgbkb/pan] Make requested changes for PR
Additionally, set DEFAULT_FOLDER to rev1, and default rev1
to atmega32a (as all shipped kits include an atmega32a)
* Apply suggestions from code review
* Fix default keymap typo
* add usb max power define
* Commit suggested changes
* Update keyboards/rgbkb/pan/config.h
* Apply suggestions from code review
Small copyright updates
* Apply suggestions from code review
* Personal keymap
- fix quoting in description
fix issue with userspace disabling audio
wip
Update keyboards/kingly_keys/little_foot/keymaps/yanfali/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/kingly_keys/little_foot/config.h
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Yan-Fa Li <yanfa.li@fireeye.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Update massdrop/alt keyboard to fix Caps Lock LED flickering.
* Fix Caps-lock LED during underglow-only for massdrop/ctrl
* Update keyboards/massdrop/ctrl/keymaps/default/keymap.c
* feat: new keymapping for idobo
* fix: added licenses. converted int to uint8_t where applicable
* fix: addressed zvecr stylistic enhancements
* fix: replaced rgblight_sethsv with rgblight_sethsv_noeeprom
* First pass
* Add config options to docs
* Update some wording
* Slight tidy up of backlight caps logic
* Init pin to correct state
* Move init location
* Reverse default state
Specifically, the lgreen variable isn't used, and avr-gcc 8.x complains about this. To prevent it from being an issue, just set all of these led variables to be unused.
* add big spacebar default
* add rev1 big space
* add big spacebar default
* add rev1 big space
* Fixed copyright statements
Removed unused RGBRST keycode and bootmagic swaps
* Basic qmk lint command
* check for keymap readme
* change the workflow from qmk info to qmk lint
* add a strict mode
* parsing -> parse
* document qmk lint
* small info logging cleanup
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* honor --strict in more places
* change the job name to lint
Co-authored-by: Ryan <fauxpark@gmail.com>
* Minor Tweak
* Refactor spacebar defines.
* Add TMO50 layout
* Rename Atreus keymap.
* Refactor Atreus for readability.
* Eliminate tapdance quote and tweak maltroff.
* Factor out tapdance.
* Add some fancy combos and keys.
* Remove combos for now because they cause pain.
* WIP visualizer
* Alternate method for reset
* WIP2 visualizer
* Layer text tweak.
* Add made-up layout Nortron as a combination of Norman and Maltron.
* Add backspace.
* Add Talljoe keymap to Prime E.
* Fix double-colon so it doesn't press enter if shift is released early.
* Use new make command.
* Bring some modern standards into code and add licenses.
* Remove QMK_KEYBOARD_CONFIG_H and fixup QMK_KEYBOARD_H.
* Move from `biton32` to `get_highest_layer`.
* Remove PREVENT_STUCK_MODIFIERS
* Update keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h
Add Eco keymap, factor Crkbd keymap to community layout, other minor tweaks
* Remove outdated Crkbd Ctrl key positioning info
* Add Left Alt key to Lily58 keymap
* Lily58 no longer overrides default TAPPING_TERM
* Refactor Crkbd keymap to use new community layout
* Fix underglow animations for Crkbd w/ Split Common
* Add initial Eco keymap
* Update outdated reference to Crkbd layout
* Add keymap links to userspace readme
* Add copyright notices to files changed in this PR
* add dp60 indicator mode
* update according to #7720
* added license header and move the ws2812 codes to a seperate c file
* fixed conflict with master
* `qmk info`: Add `--ascii` flag
* Fix typo
* Force ASCII for Windows/MSYS2
* Make it gooder
* Remove redundant windows check
* ...And this too
* Make pytest work on Windows
* nullbitsco/nibble: rework LAYOUT_all
... and update via keymap accordingly.
* compress info.json LAYOUT_all tree
Only changes the white space.
* rebuild info.json LAYOUT_all tree
Note: this commit makes the visual layout the ANSI layout with a split left Shift, instead of being the same as the ISO layout.
* unify code styles
Make logically-unchanged code blocks similar in appearance to logically-changed blocks.
* correct LAYOUT_iso key sequence
Move ISO Enter's object to its proper place.
* exent VIA support
* minor cleanups
* Update keyboards/exent/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/exent/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added ad/freebird60.
* Moved freebird60 keyboard. Added VIA keymap.
* Updated `keebsforall/freebird60` README to include image.
* Update keyboards/keebsforall/freebird60/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/keebsforall/freebird60/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* add 65_ansi_split_bs to default community layouts
* Update layouts/default/65_ansi_split_bs/layout.json
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Adding Evan Travers' Keyboardio Atreus branch.
Initial commit of my KeyboardIO Atreus layout.
This is a direct copy of my default Atreus layout, with blank spaces
for the two additional keys.
* Added MACLOCK macro to keymap.c
* Updates to Keyboardio Atreus keymap and readme.
* Adding arrows to bottom row of RAISE and LOWER layers
* bringing the rest of the master branch to my working branch.
* Changes to my KeyboardIO Atreus keymap & readme
* Changes to keymap.
* Adding Evan Travers' Keyboardio Atreus branch.
Initial commit of my KeyboardIO Atreus layout.
This is a direct copy of my default Atreus layout, with blank spaces
for the two additional keys.
* Added MACLOCK macro to keymap.c
* Updates to Keyboardio Atreus keymap and readme.
* Adding arrows to bottom row of RAISE and LOWER layers
* bringing the rest of the master branch to my working branch.
* Changes to my KeyboardIO Atreus keymap & readme
* Changes to keymap.
* Added GPL2+ compatible license header.
Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld>
* Firmware initial commit, still has a few bugs - mainly rotary encoders do not work and needs cleaning up
* Fixed the volume control issue and limited the RGB brightness (can be really bright), added the ability to switch LED mode with left encoder click, and added via support (untested)
* Remove define that should go in config.h
* Removed define that should be in config.h
* Removed LTO_ENABLE as suggested - has issues on ARM
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Added the correct define for OLED screen size
* Applied suggested change to remove description
Co-authored-by: Ryan <fauxpark@gmail.com>
* Made suggested change to remove backslashes
Co-authored-by: Ryan <fauxpark@gmail.com>
* Suggested change made to rgblight
Co-authored-by: Ryan <fauxpark@gmail.com>
* Suggested change made to rgblight
Co-authored-by: Ryan <fauxpark@gmail.com>
* Suggested change made to remove backslashes
Co-authored-by: Ryan <fauxpark@gmail.com>
* Suggested change made to rgblight
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/rocketboard_16/rocketboard_16.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added suggested comments
Co-authored-by: Ryan <fauxpark@gmail.com>
* Made suggested changes to rules file
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added suggested change to rgblight
Co-authored-by: Ryan <fauxpark@gmail.com>
* Added info.json for QMK configurator
* Update readme.md
* This change makes the firmware work... through magic... seriously, no idea - but it works!
* Updated dimming step, OLED functionality, and rules for formatting
- Changed the dimming step size for smoother dimming with the reduced range
- Added lots of OLED functionality - QMK logo and title at top, num/caps/scroll lock status, and backlight brightness level
- Updated the rules.mk file to comply more closely with the formatting guidelines
* Fixed tab issues
Co-authored-by: Ryan <fauxpark@gmail.com>
* Updated to use bootmagic lite with the key that usually turns rgb on/off
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Z70Ultra which is a Hotsawp RGB 65% keyboard
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update readme.md
* Update info.json
update the name of layout to consistent the keyboard.
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Z70Ultra
* Support Z70Ultra
[Modified] info.json to support two different layouts
[Add] rules.mk to support default folder
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* remove excessive arguments from LAYOUT_split_space
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Use macro replace with the literal for CS & SW
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Keyboard] MJ61 Add license header for files and the link for readme
* Update keyboards/melgeek/mj61/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/rev1/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add GPL for files
* Update keymaps/default/keymap.c
* Update keymaps/via/keymap.c
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Fixed] remove this code cause it's useless.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
KiCad is a cross platform, free and open source electronics design
automation (EDA) suite. It was used to create ANAVI Macro Pad 8.
This keymap contains 2 layers for KiCad hotkeys and a 3rd layer
for controlling the backlighting and the underlighting.
- Layer for KiCad Schematic hotkeys:
m - to move selected component
r - to rotate selected component
w - to wire components
v - to edit component value
F1 - zoom in
F2 - zoom out
F4 - zoom center
- Layer for KiCad PCB layout hotkets:
m - to move selected component
r - to rotate selected component
x - to route a new track
v - to add a via
F1 - zoom in
F2 - zoom out
F4 - zoom center
Signed-off-by: Leon Anavi <leon@anavi.org>
OBS keymap for ANAVI Macro Pad 8 with the following shortcuts:
- Shortcuts useful for switching scenes on the 1st row:
Hold Left Control, Shift, Alt and GUI and press F9
Hold Left Control, Shift, Alt and GUI and press F10
Hold Left Control, Shift, Alt and GUI and press F11
Hold Left Control, Shift, Alt and GUI and press F12
- Center to screen: Ctrl+D
- Fit to screen: Ctrl+F
- Move source to top of sources list: Ctrl+Home
Signed-off-by: Leon Anavi <leon@anavi.org>
* Added basic via keymap
* Added via keymaps and changed config Product and Vendor ID
* Update keyboards/exclusive/e65/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/exclusive/e65/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Refactored via/keymap.c to use LAYOUT_all
* Refactored e65.h to remove nested matrix layouts
* Previous commit missed LAYOUT_65_ansi_blocker. Fixed
Co-authored-by: Ryan <fauxpark@gmail.com>
* docs(massdrop alt): update link to loader releases
Update the link to the Massdrop Loader releases page to point to the releases index rather than release 0.0.1
* docs(massdrop ctrl): update link to loader releases
* KBDfans Bella Soldered: add readme
* add image to readme
* tidy-up Configurator layout data
Key positioning was not true to the assembled board.
* reduce readme redundancy
* Add files via upload
* Add files via upload
* Add files via upload
* Update config.h
* Update rules.mk
* Update config.h
* Update config.h
* Update config.h
* Update config.h
* Add files via upload
* Removing duplicate files
* Resolve VID and PID collisions as requested
Taken the 0xFEED for vendor ID as suggested in vendor documentation and an available PID
* add a GPL2+ compatible license header as requested
Added the GPL2+ header to keymap.c file
* Update keyboards/genone/eclipse_65/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/eclipse_65.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/genone/eclipse_65/eclipse_65.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Corrected items on rules.mk as suggested
Thanks for the comment
I removed suggested items, corrected some spacing issues, and added suggested items.
* Deleted genone_main.c file
Thanks for the comment.
Deleted genone_main.c file as requested
Co-authored-by: Ryan <fauxpark@gmail.com>
* my alice community layout
* add LAYOUT_alice support to projectkb/alice/rev2
* add addition BSPC key to default layout
* add define to support LAYOUT_default
The `KEYBOARD_SHARED_EP=yes` option was breaking the VIA support,
because the raw HID interface number in this case was 0 instead of 1,
and the VIA app depends on the exact interface number for raw HID.
Change the interface ordering to put the shared interface before the raw
HID interface if `KEYBOARD_SHARED_EP` is enabled, so that the raw HID
interface can keep its number.
* add new qmk generate-api command, to generate a complete set of API data.
* Generate api data and push it to the keyboard repo
* fix typo
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* fixup api workflow
* remove file-changes-action
* use a more mainstream github action
* fix yaml error
* Apply suggestions from code review
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* more uniform date handling
* make flake8 happy
* Update lib/python/qmk/decorators.py
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
OBS keymap for ANAVI Macro Pad 8 with the following shortcuts:
- Shortcuts useful for switching scenes on the 1st row:
Hold Left Control, Shift, Alt and GUI and press F9
Hold Left Control, Shift, Alt and GUI and press F10
Hold Left Control, Shift, Alt and GUI and press F11
Hold Left Control, Shift, Alt and GUI and press F12
- Center to screen: Ctrl+D
- Fit to screen: Ctrl+F
- Move source to top of sources list: Ctrl+Home
Signed-off-by: Leon Anavi <leon@anavi.org>
* Add pteron44
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* Apply suggestions from code review part 2
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Zoom keymap for ANAVI Macro Pad 8 with the following shortcuts:
* Alt+V: Start/stop video
* Alt+A: Mute/unmute my audio
* Alt+M: Mute/unmute audio for everyone except the host
* Alt+S: Start/stop screen sharing
* Alt+R: Start/stop local recording
* Alt+P: Pause/resume recording
* Alt+C: Start/stop cloud recording
* Switch to 2nd layout to control backlighting and underlighting
Signed-off-by: Leon Anavi <leon@anavi.org>
* Add NIBBLE keyboard
* Update VID for VIA compatibility
* Add QMK PR feedback
* Update matrix_init_remote_kb()
* Update with requested changes
Clean up config, makefile rules, and keymap files
* Update with changes for unified ANSI/ISO layout
* Add NO_USB_STARTUP_CHECK note in readme
* Add license info, update with PR changes
-Refactor encoder, via_extras code
-Refactor VIA specific code to live in keymap folder
-Remove non-inclusive naming in remote keyboard.c/h
-Add documentation to remote_keyboard.c
-Add compiler check for vusb_detect for non-avr micros
* Fix print formatter in encoder handler
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Small PR updates
-Remove unneded matrix code from nibble.c
-Clean up include code in nibble_encoder.h
* Update Big LED headerfile
-Declare Big LED functions in header file (derp)
* Update keyboards/nullbitsco/nibble/nibble.c
-Update with drashna's suggested CAPS LED code change
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/nullbitsco/nibble/rules.mk
-Update with drasha's suggested makefile formatting changes
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Fix caps_lock typo
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Initial userspace
* DZ60 map
* Quefrency map
* Sinc map
* Set up MAKE key for all personal maps
* Light userspace cleanup
* Formatting and comments zzz...
* Licensing and userspace README
* Swap: EXTRAFLAGS -> LTO_ENABLE in userspace rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Improve KC_MAKE: KC_ENT -> \n
Co-authored-by: Ryan <fauxpark@gmail.com>
* Swap left grouping on _FN for pairs
* Add '?' -> backslash on _FN
* Remove commented code
* Organize lines in rules.mk
* Add left hand scroll keys
* Move configs to config.h
* License blitz
Co-authored-by: Ryan <fauxpark@gmail.com>
* initial port of keymap to latest qmk version
* forgot to add space cadet shift, fixed
* corrected colors and added color macros
* added custom rgb matrix effects
* enabled extrakey
* updated readme
* Added GPL3 License Headers
* Added images to readme
* clang-format
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* renamed README.md to readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add IDOBAO ID87.
* Layout changes.
* Updated rules.mk
* Implemented capslock led.
* Updated readme to new version.
* Fixed the info.info.json for the new layout.
* Updated RGB number config.h.
* Update rules.mk to try and line up nicely.
* Fix via keymap.keymap.c
* Fix all the auto-created labels.
* Update keymaps again.
* Add additional RGB commands.
* Update keyboards/id87/info.json
Format update.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/id87/readme.md
Remove quotations.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/id87/readme.md
Change Flash to Flashing
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/id87/rules.mk
Alignment Fix
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/id87/info.json
Remove qmk_converter link meta.
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Adding my keymap
* Add a starter keymap for kyria
* Updated keymap
* Add auto shift, tapping modifications and gravatar oled bitmap
* Add flashing helper scripts
* Updates to my keymap
* Enable raw hid and rgblight sleep
* Cleanup
* Updated keymap and board features
* Remove some RGB modes for space
* Start working on a miryoku-like keymap.
This adds homerow mods to my keymap on the base layer and adds
a game layer that doesnt have them
* more work on keymaps
* Fine tuning home row mods
* update keymap
* Keymap update
* add split transport
* keymap
* cherry pick from develop
* merge develop
* fix
* keymap iterations
* Refactoring
* continued refactoring
* messing with rgb
* update layer coloring
* continued refactoring
* more features
* modifier color
* Move stuff to userspace
* Moving stuff out to userspace
* refactoring into userspace
* More refactoring
* Fixing some errors in the keymap and changing the oled output
* Sync zen1 keymap to my userspace config
* Update copyright notices and revert transport.c to master
* Swap tab and esc
* Remove a file accidentally created
* Use LTO_ENABLE to turn on Link_Time_Optimization
* Drop modtap thumbs on game layout
* Update game keymap
* More iteration on the game keymap
* Add oled indications of kitty and i3 mod
* Promote colemak to default
* Update tapping term for modtap keys
* Add per key tapping term
* Use left modifiers on right side
* [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard
* Update keyboards/melgeek/mj61/mj61.c
* Update keyboards/melgeek/mj61/mj61.c
* [Keyboard] MJ61 Add license header for files and the link for readme
* Update keyboards/melgeek/mj61/readme.md
* Update keyboards/melgeek/mj61/rev1/config.h
* Update keyboards/melgeek/mj61/rev1/rules.mk
* Update keyboards/melgeek/mj61/mj61.c
* Update keyboards/melgeek/mj61/mj61.c
* [Keyboard] Support MoJo75 which is a 75% Hotswap RGB keyboard
* Update melgeek/mojo75 vid and pid
Add melgeek/mojo75/rev1/rev1.c
* Update MelGeek mojo75 VIA layout
* Improve ANSI support and --no-color
* tweak when levelname gets stripped of ansi
* sync with latest milc
* make questions work with both milc versions
* pyformat
This makes it overall easier to package for downstream distributions
instead of keeping tabs with inline documentation.
Signed-off-by: Morten Linderud <morten@linderud.pw>
* Add my own keymap
* Layer 0: Workman
* Layer 1: RSTHD (my own take on it)
* Layer 2: Mouse
* Layer 3: Navigation
* Layer 4: Symbols right
* Layer 5: Symbols left
* Layer 6: Fn keys
* Layer 7: Numbers
* Layer 8: Vim and misceallaneaous accessible from any other layer
* Move the current code to a 0.1 folder in preparation for upcoming changes
Version 0.2 is currently being prototyped and uses an arm chip which
will need its own firmware.
There is also the Ferris sweep which uses a pro-micro compatible board
which will need its own directory.
* Move Ferris out of handwired and into the light
The keyboard is now well out of the prototype phase as tens of them have
been produced and acquired by various people.
With 0.2 coming out, adoption is going to increase again as the board
will be available for sale at some recognized vendors.
Now is probably a good time to recognize its status as more than a
prototype :)
* Add code for the Ferris Sweep (a.k.a cradio)
The Ferris Sweep is a creation of the talented @davidphilipbarr, a.k.a DPB.
It has the key layout of a Ferris and uses a pro-micro connected to the
switches via direct pins so that diodes are not needed and the soldering
is minimal.
With their blessing, I took the code for it from DPB's own repo:
https://github.com/davidphilipbarr/36keys/tree/master/qmk/cradio
and did some adaptations such as removing commented out code, enabling
EE_HANDS and mouse keys for consistency with my existing Ferris code.
* Fix indentation in rules.mk
* Fix indentation in sweep's config
* Remove unnecessary lines from sweep's rules.mk
* Remove unnecessary lines from sweep's rules.mk
* Rename 0.1 to 0_1
This avoids the dot looking like the separation between a filename and
its extension.
In the same commit, bring matrix.c to the 0_1 folder as this was needed
for the code to compile properly (matrix.c is referred to in the readme
under `0_1` and is specific to that revision of the firmware).
* Update copyright statements for Sweep
* add kabraxcis keymap
this is a user keymap for a member of my group-buy. this is the creation commit
* add voaraq keymap
this is a user keymap for a member of my group-buy
* update kabraxcis keymap
* add licenses
* basic keys working
* more stuff
* more stuff
* empty upper layers
* more stuff
* cleanup
* more stuff
* add the letter 'j'
* add '0' to layer 4
* implement umlauts and eszett with menu key as compose key
* add comment
* renamed layout
* change copyright notice
* add separate readme file
* Add Launchpad keymap
Note: RGB and Audio won't work when using B pins for audio
* Add support for rgb matrix on launchpad
* Update config for launchpag
* Disable wait on layer change
* Update config for ErgoDox EZ
* Fixup rgb light userspace code
* Move Corne layout to community layouts folder
* Update config for corne to support community layouts
* Add license header to files
* Minor cleanup of userspace config
* Update Pimironi Trackball code
* Increase debounce time on ergodox
* Fix keymap handling
* Enable wait for USB for moonlander
* Update/add license headers
* fix review issues
* added spooky keyboard t
o boardsouce folder
* restoring to clean start I think
* added back in my files for this keyboard
* Update keyboards/boardsource/holiday/spooky/config.h
* Update keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c
* Update keyboards/boardsource/holiday/spooky/readme.md
* Update keyboards/boardsource/holiday/spooky/spooky.h
* updated all keymaps to support 2x3 ortho
* Apply suggestions from code review
* move drakon to jagdpietr directory
* Updates
Recommended changes implemented in this commit due to progress loss in last commit
* Update vusb
* Update keyboards/jagdpietr/drakon/drakon.c
* Add nordic keymap
Changes from default:
- Change button right of `LSHIFT` to `KC_NUBS`
- Add some more keys to the second layer.
* Add sleepmode functionality
Added a sleepmode, this turns of the rgb_matrix if no key was pressed for x minutes. Not default on, so you have to enable it by defining `SLEEPMODE_ENABLED`.
* Move all sleepmode config to config.h, rename keymap
- Move all configurations for sleepmode to keymap config.h
- rename keymap to include reference to it having sleepmode (suggestion from guy the discord-server)
- add copyright in config.h
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/config.h
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
* Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c
* [Keyboard] Support MJ64 which is a 60% Hotswap RGB keyboard with arrows
and the size of left shift is 2.25U
* Update keyboards/melgeek/mj64/mj64.h
* Update keyboards/melgeek/mj64/keymaps/default/keymap.c
* Update keyboards/melgeek/mj64/keymaps/via/keymap.c
* Update keyboards/melgeek/mj64/keymaps/via/keymap.c
* Update keyboards/melgeek/mj64/keymaps/default/keymap.c
* Update keyboards/melgeek/mj64/keymaps/via/keymap.c
* Update keyboards/melgeek/mj64/rev2/rules.mk
* Update keyboards/melgeek/mj64/rev1/rules.mk
* Update keyboards/melgeek/mj64/keymaps/via/keymap.c
* Update keyboards/melgeek/mj64/info.json
* Update keyboards/melgeek/mj64/info.json
* Update keyboards/melgeek/mj64/rev1/config.h
* Update keyboards/melgeek/mj64/rev2/config.h
* Update the VID and PID in mj64/config.h
add the rev1/rev1.c
add the rev2/rev2.c
* [Keyboard] GH60 v1.3 Support
* clean up info.json
Update key sizes and positioning.
* add readme
* add image to readme
* fix up info.json LAYOUT_all
* add LAYOUT_60_ansi
I'm guessing at this based on a photo of the PCB. Chances are high that this isn't fully functional.
* add matrix block comment to v1p3.h
* add default_ansi keymap
* add keymap readme files
* fix LAYOUT_60_ansi macro
* enable 60_ansi Community Layout support
* add layouts for 60_ansi_arrow
Add LAYOUT_60_ansi_arrow and LAYOUT_60_ansi_arrow_split_bs macros. (The user helping me test runs the split Backspace variant.)
* add Tsangan, HHKB, and 64_ansi layout macros
* add factory keymaps and layout info
* update copyright headers
I mean... if someone's gotta "own" this code...
* fix broken factory_* keymaps
* Add Z70Ultra which is a Hotsawp RGB 65% keyboard
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update readme.md
* Update info.json
update the name of layout to consistent the keyboard.
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Z70Ultra
* Support Z70Ultra
[Modified] info.json to support two different layouts
[Add] rules.mk to support default folder
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/z70ultra/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* remove excessive arguments from LAYOUT_split_space
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/z70ultra.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/rev1/rules.mk
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Use macro replace with the literal for CS & SW
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* [Keyboard] MJ61 Add license header for files and the link for readme
* Update keyboards/melgeek/mj61/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/rev1/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/rev1/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/melgeek/mj61/mj61.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add GPL for files
* Update keymaps/default/keymap.c
* Update keymaps/via/keymap.c
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Update keyboards/melgeek/z70ultra/z70ultra.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Added LAYOUT_alice
* Added fauxpark's suggestions as well as updating keymap graphic
* Added file header and used noroadleft's fix to the info.json for fast input mode
* Add VIA code to ergoTravel, VendorId changed to allow via
* Update LTO_ENABLE for via
* Accept comments from the QMK PR discussion
* Restore original rules.mk from qmk master, update via rules to remove redundant bootmagic
* rules update
* find and use unique VID without qmk. Used 0x4A50, did not find clash
* Removed unused via layer
* Reset hard to last clean commit, redo changes for Hex Translation and Enum
* on behalf of VashtaNerada commiting his code to get caps lock led working on the soldered E8d E8.5
* Update keyboards/exclusive/e85/soldered/soldered.c
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* Add VIA keymap for EVE Meteor.
* Remove bootmagic flag and add vendor/product IDs.
* Update keyboards/eve/meteor/info.json
Co-authored-by: Ryan <fauxpark@gmail.com>
* Increment EVE Vendor ID to be unique.
* Change product IDs.
Make the EVE Meteor IDs both unique and somewhat logical based on the product name.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add VID/PIDs to ErgoDox EZ
* Add VID/PIDs for Planck EZ and Glow revision
* Make names consistent
* fix typo in docs
* Move LED config back, for maximum compatibility
* Add revisions for ErgoDox EZ boards
* Fix embarassing typo
* Typooooo
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Update Licensing info
* Update Moonlander default keymap to match Oryx's default
* Fix formatting based on suggestions
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Make indicator LEDs more configurable
* Update default keymap
* Handle older eeprom settings
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Initial support for the Keyboardio Atreus
Many thanks to noroadsleft for reviews & suggestions.
* Add QMK Configurator layout support
* Update the fn layer of the Keyboardio Atreus to the new layout.
Previously this was using the Classic Atreus layout.
* Implement noroadleft's changes from #8492
* Follow Erovia's recommendations
qmk/qmk_firmware#8492
* Correct braces
* Change correct rules.mk
* Remove comments
* Fix BOOTMAGIC_ENABLE
I had edited the wrong file earlier.
* Remove comment
* Updates rules.mk
Thank you noroadsleft.
Co-authored-by: Gergely Nagy <algernon@keyboard.io>
Co-authored-by: Phil Hagelberg <phil@hagelb.org>
* Move existing files out the way
* Convert to community layouts
* Add smk65/revf support
* Disable stuff by default
* Update IDs for via
* Align LAYOUT macros for community layouts
* Align LAYOUT macros for community layouts - Fix configurator ordering
* Update via keymap
* remove stub _kb function
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add niu mini dye sub keymap
* Fix spacing
* Fix for blank spacing on layout
* Remove unused code
Co-authored-by: Joel Challis <git@zvecr.com>
* Remove audio and console settings
Co-authored-by: Joel Challis <git@zvecr.com>
* Updates rules and readme
* Add license GPL2 to keymap
Co-authored-by: Joel Challis <git@zvecr.com>
* Clean LeftyNumpad code
* Fix typo in recently renamed file
* Fix issues with keymap layout
* Initial PR Feedback fixes
* Update keyboards/handwired/leftynumpad/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/handwired/leftynumpad/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Apply suggestions from code review
Co-authored-by: Joel Challis <git@zvecr.com>
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add fixes based on PR feedback
* Update keyboards/handwired/leftynumpad/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* add maja capslock indicator
add maja capslock indicator
* Update keyboards/kbdfans/maja/maja.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Basic keymap parsing finally works
* Add 'keymap.json' creation to the qmk.keymap module
* Add tests and fix formatting
* Fix/exclude flake8 errors
* Convert keymap.c to valid keymap.json
* Fix some errors
* Add tests
* Finalize keymap.json creation, add json template
* Add docs
* Move pygments to the standard requirements
* Add support for nameless layers, fix tests
* Fix things after rebase
* Add missing 'keymap' value.
* Fix missing layer numbers from advanced keycodes
Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!
* Apply suggestions from code review
* fixup tests
Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
* Improve LAYOUT macro searching
* Apply suggestions from code review
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
* Adjust signature
* Try to copy the makefile's handling of DEFAULT_FOLDER
* Move it further up, into `info_json()`
* Move it even further up so that keyboard_folder is correct
* Update lib/python/qmk/info.py
Co-authored-by: Zach White <skullydazed@drpepper.org>
* Update lib/python/qmk/info.py
Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
Co-authored-by: Zach White <skullydazed@drpepper.org>
* Move my custom functions and keymaps to userspace to be able to add the STM32F411 variant of my keyboard with mostly the same functionality
* Move keymaps to community layouts
* Remove keymaps from userspace readme.md
Co-authored-by: Janos Daniel Reibl <janos.daniel.reibl@protonmail.com>
* add support for ymd75 rev3
* Update keyboards/ymd75/rev3/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ymd75/rev3/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* remove DESCRIPTION
* only apply offset for rev3
Co-authored-by: Ryan <fauxpark@gmail.com>
* Created folder structure and blank files
* Update the yugo_m initial blank files
* Add yugo_m default keymap
* Update yugo_m info.json
* Fix yugo_m keymap.c
* keymap.c update
* Changed subfolder name
* File names
* Fixed lock LEDs problem
* Returned old subfolder name; LEDs fix
* Activated anti-ghosting feature in config.h
* Update readme.md
* Changed LAYOUT to LAYOUT_all
* Updated keymap.c
* corrected LAYOUT to LAYOUT_all in info.json
* Rewritten readme.md according to the template
* Removed backslashes from keymap.c
* Fixed readme.md
* Fixed readme.md again
* Tidying up readme.md
* Tidying up comments and readme.md
* Removed a line from rules.mk
* Update keyboards/yugo_m/model_m_101/model_m_101.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Removed chconf, halconf, mcuconf
* Updated LED control
* Update keyboards/yugo_m/model_m_101/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/yugo_m/model_m_101/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/yugo_m/model_m_101/config.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/yugo_m/model_m_101/config.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/yugo_m/model_m_101/model_m_101.c
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/yugo_m/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Updated readme.md, there was an outdated info
* Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/yugo_m/model_m_101/model_m_101.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/yugo_m/model_m_101/model_m_101.c
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nidzo Tomic <tomicn8@hotmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* First pass at manuform layout.
* Updates from actual usage on my board. Fixed a couple of bugs, added a stormlight quote randomizer.
* Use a 32-bit timer that can actually hit 5 minutes.
* Some updates after a day of usage:
* Turn off WPM. It's too inaccurate and takes up a decent amount of space that can be devoted to quotes.
* Turn off the OLEDs after 5 minutes
* Move the keys around a bit.
* Add many more quotes.
* Adjust the quotes to make room for missing and misswritten WoT quote. Adjusted the keymap slightly. Adjust the mods display to include one_shots.
* Revert osm on lgui as it makes start menu search impossible to use.
* Use LTO_ENABLE flag.
* License all of my (333fred's) keymaps as MIT.
* Update users/333fred/rgb.c
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Fix dirtying in oled_write_pixel()
Set the dirty bit for the block only if oled_write_pixel() actually
changed the buffer state. Without this check oled_write_pixel() could
not be used inside the oled_task_user() code using the “redraw always”
style, because the blocks touched by oled_write_pixel() would always
appear dirty, and oled_render() would not proceed beyond the first such
dirty block.
* Fix oled_write_pixel() with 90/270 degree rotation
Use oled_rotation_width instead of OLED_DISPLAY_WIDTH, so that a rotated
display would be handled correctly.
* Fix compilation with custom OLED_BLOCK_COUNT and OLED_BLOCK_SIZE
Some OLED sizes (e.g., 64×48) may require a nonstandard value of
OLED_BLOCK_COUNT. The documentation says that this value may be
redefined in config.h, but actually trying to redefine it caused a
compile error, because the macro was redefined in oled_driver.c.
Make the OLED_BLOCK_COUNT definition in oled_driver.c respect any
user override, and do the same for OLED_BLOCK_SIZE just in case.
* Fix handling of out-of-range bits in oled_dirty
If a custom OLED_BLOCK_COUNT value is specified, some bits in oled_dirty
may not correspond to existing blocks; however, if those bits are set
somewhere (e.g., by code with sets oled_dirty to ~0 or even -1),
oled_render() would try to handle them and could access memory beyond
oled_buffer and perform hardware operations with out of range values.
Prevent this by masking off unused bits in oled_render(), and also avoid
setting those bits in other functions.
* Fix potentially wrong dirtying in oled_write_char()
oled_write_char() tried to mark the position just beyond the written
character as dirty; use (OLED_FONT_WIDTH - 1) to dirty the last position
still belonging to the character instead.
* Fix `#define OLED_BLOCK_TYPE uint32_t` on AVR
Using uint32_t as OLED_BLOCK_TYPE did not work properly on AVR, because
some bit shifts were performed using 16-bit int. Add explicit casts to
OLED_BLOCK_TYPE to those shifts.
* Fix issue with data transfer of CS1_SW7 to CS18_SW7.
* Fix issue with handling of scaling register buffer's dirty flag.
* Remove unused extern declaration.
* Compaction of struct is31_led utilizing bit fields.
* Update reference_info_json.md
key_count is now an optional field because it is better to get the keycount by counting the elements in the layout array.
* Updated Japanese documentation as well
* Initializing Boardwalk layout
* rules.mk newline
* config.h newline
* qwerty num toggle -> tap-toggle
* errant K, and _LOWER momentary toggles
* Lack of autosave sucks
* Converting to HHKB layout
* TT(_NUM) added to num layer
* Final updates for Boardwalk initialization
* Final refinements
* newline
* Removal of extra includes
* Update keyboards/boardwalk/keymaps/niclake/config.h
#pragma once
* Removing comment block from rules
* Updates to my layout
* WIP working on new keymap
* tweaking keymap
* updated keymap
* cleaned up a little bit
* New preonic keymap
* my preonic keymap
* added mac layout
* preonic map update
* cleaning up old repo
* cleaning up to match upstream
* more cleanup
* removing old keymaps
* Added BM60 Poker
* Apply suggestions from code review
* Added license
* updated license
* updated license
* Fixed remaining licenses and added layout to rules
* BM60RGB ISO: fix and extend default keymap
- correctly assigns the Non-US Backslash and Hash keys
- adds Function and Navigation keys
- use KC_GESC instead of KC_ESC to make Grave accent available
* Update layout macro
The layout is the ISO equivalent of QMK's `LAYOUT_60_ansi_arrow`.
* Add via configurator support
* Remove layers to fix via
* Re-add extra via layers since it seems to work now
* Replace tabs with spaces
* Update readme.md
* first pass at fixing the key labeling
* second pass of fixing key labeling
* third pass of this key naming
* another pass of changing key naming
* another pass
* another pass
* another pass
* renamed it all
* give a good vid and pid
* add via keymap
* add on to the comments
* update readme and comments
* one more small change
* Convert ErgoDox EZ to lite matrix
* Add initial config from Dactyl config
Based on ErinCall's work to generalize the mcp i/o expander matrix code
* formatting
* Fix number of pins
* Remove unused defines
* fixed keymap placement
- online configurator keys were in the wrong location and needed to be fixed
- fixed a key being to high on the y position
* Create rules.mk
* Create keymap.c
* Update rules.mk
added VIA support
* Changed wazowski via keymap to include skipped switch
* changed the vendor ID
* Update keyboards/keebzdotnet/wazowski/config.h
* Removed VIA enable from keyboard rules.mk
* Update keyboards/keebzdotnet/wazowski/rules.mk
* Fixed wazowski via keymap build errors
* Added multi-layer support for Wazowski via keymap
* Initial Commit for Ploopyco Trackball
This is a WIP at this point. Most of it compiles, but the SPI commands are non-functioning as they come from Arduino, so don't exist in LUFA
* Convert SPI commands from arduino to LUFA
But I have no idea if this is actually correct or not
* Update keyboard readme
* Clean up ploopyco trackball
* Update readme
* Update mouse key stuff
* last minutue cleanup
* Add caveat about scroll wheel
* Fixup to code
* Additional fixup
* Add movement multiplier
* Rename folders
* mid changes
* temp
* Got it working!!!!!
* Additional cleanup of code
* Make unused pin calls more compact
* Rotation info
* Add debouncing checks
* Make everything replaceable
* Add info.json
* Include ISP flashing info
* Better handling for user customization
* Reconfigure CPI stuff
* fix issues with debug printing
* Fix tiny scroll issue
* Add and update scroll code from ploopy mouse
* Update licensing
* Add PloopyCo Mouse
* Cleanup and layout stuff
* Move common files to main folder for reuse
* Increase polling rate
* Update image for mouse
* Apply changes from code review
* Add VIA support
* Consolidate udev rules into a single file
* Update rules in doctor.py
* Simplify doctor rule checking
* Fix errors
* Add TMK "FEED" VID to list of deprecated udev rules
* A comma would be nice
* Split rules back up into bootloaders
* Link to docs page in "missing" case
* Add Pololu VID
* Be more specific about Caterina devices, and add LilyPad PID
This directory contains machine parsable data about keyboards supported by QMK. The latest version is always available online at <https://keyboards.qmk.fm>.
Do not edit anything here by hand. It is generated with the `qmk generate-api` command.
@@ -167,6 +167,35 @@ Creates a keymap.c from a QMK Configurator export.
qmk json2c [-o OUTPUT] filename
```
## `qmk c2json`
Creates a keymap.json from a keymap.c.
**Note:** Parsing C source files is not easy, therefore this subcommand may not work your keymap. In some cases not using the C pre-processor helps.
**Usage**:
```
qmk c2json [--no-cpp] [-o OUTPUT] filename
```
## `qmk lint`
Checks over a keyboard and/or keymap and highlights common errors, problems, and anti-patterns.
**Usage**:
```
qmk lint [-km KEYMAP] [-kb KEYBOARD] [--strict]
```
This command is directory aware. It will automatically fill in KEYBOARD and/or KEYMAP if you are in a keyboard or keymap directory.
**Examples**:
Do a basic lint check:
qmk lint -kb rominronin/katana60/rev2
## `qmk list-keyboards`
This command lists all the keyboards currently defined in `qmk_firmware`
@@ -201,6 +230,16 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
```
## `qmk clean`
This command cleans up the `.build` folder. If `--all` is passed, any .hex or .bin files present in the `qmk_firmware` directory will also be deleted.
**Usage**:
```
qmk clean [-a]
```
---
# Developer Commands
@@ -247,6 +286,16 @@ This command starts a local HTTP server which you can use for browsing or improv
qmk docs [-p PORT]
```
## `qmk generate-docs`
This command allows you to generate QMK documentation locally. It can be uses for general browsing or improving the docs. External tools such as [serve](https://www.npmjs.com/package/serve) can be used to browse the generated files.
**Usage**:
```
qmk generate-docs
```
## `qmk kle2json`
This command allows you to convert from raw KLE data to QMK Configurator JSON. It accepts either an absolute file path, or a file name in the current directory. By default it will not overwrite `info.json` if it is already present. Use the `-f` or `--force` flag to overwrite.
@@ -288,4 +337,3 @@ This command runs the python test suite. If you make changes to python code you
# Adding Default Keymaps to QMK Configurator :id=adding-default-keymaps
This page covers how to add a default keymap for a keyboard to QMK Configurator.
## Technical Information :id=technical-information
QMK Configurator uses JSON as its native file format for keymaps. As much as possible, these should be kept such that they behave the same as running `make <keyboard>:default` from `qmk_firmware`.
Keymaps in this directory require four key-value pairs:
*`keyboard` (string)
* This is the name of the keyboard, the same as would be used when running a compile job through `make` (e.g. `make 1upkeyboards/1up60rgb:default`).
*`keymap` (string)
* Should be set to `default`.
*`layout` (string)
* This is the layout macro used by the default keymap.
*`layers` (array)
* The keymap itself. This key should contain one array per layer, which themselves should contain the keycodes that make up that layer.
Additionally, most keymaps contain a `commit` key. This key is not consumed by the API that back-stops QMK Configurator, but is used by Configurator's maintainers to tell which version of a keymap was used to create the JSON keymap in this repository. The value is the SHA of the last commit to modify a board's default `keymap.c` in the `qmk_firmware` repository. The SHA is found by checking out [the `master` branch of the `qmk/qmk_firmware` repository](https://github.com/qmk/qmk_firmware/tree/master/) and running `git log -1 --pretty=oneline -- keyboards/<keyboard>/keymaps/default/keymap.c` (use `keymap.json` if the keyboard in question has this file instead), which should return something similar to:
```shell
f14629ed1cd7c7ec9089604d64f29a99981558e8 Remove/migrate action_get_macro()s from default keymaps (#5625)
```
In this example, `f14629ed1cd7c7ec9089604d64f29a99981558e8` is the value that should be used for `commit`.
## Example :id=example
If one wished to add a default keymap for the H87a by Hineybush, one would run the `git log` command above against the H87a's default keymap in `qmk_firmware`:
The default keymap uses the `LAYOUT_all` macro, so that will be the value of the `layout` key. Compiled to a QMK Configurator JSON keymap, our resulting file should be:
The white space in the `layers` arrays have no effect on the functionality of the keymap, but are used to make these files easier for humans to read.
## Caveats :id=caveats
### Layers can only be referenced by number :id=layer-references
A common QMK convention is to name layers using a series of `#define`s, or an `enum` statement:
```c
enumlayer_names{
_BASE,
_MEDIA,
_FN
};
```
This works in C, but for Configurator, you *must* use the layer's numeric index –`MO(_FN)` would need to be `MO(2)` in the above example.
### No support for custom code of any kind :id=custom-code
Features that require adding functions to the keymap.c file, such as Tap Dance or Unicode, can not be compiled in Configurator **at all**. Even setting `TAP_DANCE_ENABLE = yes` in the `qmk_firmware` repository at the keyboard level will prevent Configurator from compiling **any** firmware for that keyboard. This is limited both by the API and the current spec of our JSON keymap format.
### Limited Support for Custom keycodes :id=custom-keycodes
There is a way to support custom keycodes: if the logic for a custom keycode is implemented at the keyboard level instead of the keymap level in qmk_firmware, that keycode *can* be used in Configurator and it *will* compile and work. Instead of using the following in your `keymap.c`:
Note the call to `process_record_user()` at the end. Additionally, users of the keyboard will need to use `NEW_SAFE_RANGE` instead of `SAFE_RANGE` if they wish to add their own custom keycodes at keymap level, beyond what is provided by the keyboard.
## Additional Reading :id=additional-reading
For QMK Configurator to support your keyboard, your keyboard must be present in the `master` branch of the `qmk_firmware` repository. For instructions on this, please see [Supporting Your Keyboard in QMK Configurator](reference_configurator_support.md).
QMK provides methods to read 5 of the LEDs defined in the HID spec:
* Num Lock
* Caps Lock
* Scroll Lock
* Compose
* Kana
There are two ways to get the lock LED state:
* by implementing `bool led_update_kb(led_t led_state)` or `_user(led_t led_state)`; or
* by calling `led_t host_keyboard_led_state()`
!> `host_keyboard_led_state()` may already reflect a new value before `led_update_user()` is called.
Two more deprecated functions exist that provide the LED state as a `uint8_t`:
*`uint8_t led_set_kb(uint8_t usb_led)` and `_user(uint8_t usb_led)`
*`uint8_t host_keyboard_leds()`
## `led_update_user()`
This function will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter.
By convention, return `true` from `led_update_user()` to get the `led_update_kb()` hook to run its code, and
return `false` when you would prefer not to run the code in `led_update_kb()`.
Some examples include:
- overriding the LEDs to use them for something else like layer indication
- return `false` because you do not want the `_kb()` function to run, as it would override your layer behavior.
- play a sound when an LED turns on or off.
- return `true` because you want the `_kb` function to run, and this is in addition to the default LED behavior.
?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead.
### Example `led_update_kb()` Implementation
```c
boolled_update_kb(led_tled_state){
boolres=led_update_user(led_state);
if(res){
// writePin sets the pin high for 1 and low for 0.
// In this example the pins are inverted, setting
// it low/0 turns it on, and high/1 turns the LED off.
// This behavior depends on whether the LED is between the pin
// and VCC or the pin and GND.
writePin(B0,!led_state.num_lock);
writePin(B1,!led_state.caps_lock);
writePin(B2,!led_state.scroll_lock);
writePin(B3,!led_state.compose);
writePin(B4,!led_state.kana);
}
returnres;
}
```
### Example `led_update_user()` Implementation
This incomplete example would play a sound if Caps Lock is turned on or off. It returns `true`, because you also want the LEDs to maintain their state.
Call this function to get the last received LED state as a `led_t`. This is useful for reading the LED state outside `led_update_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code).
## Setting Physical LED State
Some keyboard implementations provide convenience methods for setting the state of the physical LEDs.
### Ergodox Boards
The Ergodox implementations provide `ergodox_right_led_1`/`2`/`3_on`/`off()` to turn individual LEDs on or off, as well as `ergodox_right_led_on`/`off(uint8_t led)` to turn them on or off by their index.
In addition, it is possible to specify the brightness level of all LEDs with `ergodox_led_all_set(uint8_t n)`; of individual LEDs with `ergodox_right_led_1`/`2`/`3_set(uint8_t n)`; or by index with `ergodox_right_led_set(uint8_t led, uint8_t n)`.
Ergodox boards also define `LED_BRIGHTNESS_LO` for the lowest brightness and `LED_BRIGHTNESS_HI` for the highest brightness (which is the default).
# Keyboard Initialization Code
There are several steps in the keyboard initialization process. Depending on what you want to do, it will influence which function you should use.
@@ -4,7 +4,7 @@ QMK presents itself to the host as a regular HID keyboard device, and as such re
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, the `qmk_install.sh` script will have already installed the drivers for you.
@@ -13,65 +13,29 @@ An example of using `sudo`, when your controller is ATMega32u4:
or just:
$ sudo make <keyboard>:<keymap>:dfu
$ sudo make <keyboard>:<keymap>:flash
Note that running `make` with `sudo` is generally ***not*** a good idea, and you should use one of the former methods, if possible.
### Linux `udev` Rules
On Linux, you'll need proper privileges to access the MCU. You can either use
`sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`. Once added run the following:
```console
On Linux, you'll need proper privileges to communicate with the bootloader device. You can either use `sudo` when flashing firmware (not recommended), or place [this file](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules) into`/etc/udev/rules.d/`.
These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent.
|`LED_NUM_LOCK_PIN` |*Not defined*|The pin that controls the `Num Lock` LED |
|`LED_CAPS_LOCK_PIN` |*Not defined*|The pin that controls the `Caps Lock` LED |
|`LED_SCROLL_LOCK_PIN`|*Not defined*|The pin that controls the `Scroll Lock` LED|
|`LED_COMPOSE_PIN` |*Not defined*|The pin that controls the `Compose` LED |
|`LED_KANA_PIN` |*Not defined*|The pin that controls the `Kana` LED |
|`LED_PIN_ON_STATE` |`1` |The state of the indicator pins when the LED is "on" - `1` for high, `0` for low|
Unless you are designing your own keyboard, you generally should not need to change the above config options.
## `led_update_*()`
When the configuration options do not provide enough flexibility, the API hooks provided allow custom control of the LED behavior. These functions will be called when the state of one of those 5 LEDs changes. It receives the LED state as a struct parameter.
By convention, return `true` from `led_update_user()` to get the `led_update_kb()` hook to run its code, and
return `false` when you would prefer not to run the code in `led_update_kb()`.
Some examples include:
- overriding the LEDs to use them for something else like layer indication
- return `false` because you do not want the `_kb()` function to run, as it would override your layer behavior.
- play a sound when an LED turns on or off.
- return `true` because you want the `_kb` function to run, and this is in addition to the default LED behavior.
?> Because the `led_set_*` functions return `void` instead of `bool`, they do not allow for overriding the keyboard LED control, and thus it's recommended to use `led_update_*` instead.
### Example `led_update_kb()` Implementation
```c
boolled_update_kb(led_tled_state){
boolres=led_update_user(led_state);
if(res){
// writePin sets the pin high for 1 and low for 0.
// In this example the pins are inverted, setting
// it low/0 turns it on, and high/1 turns the LED off.
// This behavior depends on whether the LED is between the pin
// and VCC or the pin and GND.
writePin(B0,!led_state.num_lock);
writePin(B1,!led_state.caps_lock);
writePin(B2,!led_state.scroll_lock);
writePin(B3,!led_state.compose);
writePin(B4,!led_state.kana);
}
returnres;
}
```
### Example `led_update_user()` Implementation
This incomplete example would play a sound if Caps Lock is turned on or off. It returns `true`, because you also want the LEDs to maintain their state.
Call this function to get the last received LED state as a `led_t`. This is useful for reading the LED state outside `led_update_*`, e.g. in [`matrix_scan_user()`](#matrix-scanning-code).
## Setting Physical LED State
Some keyboard implementations provide convenience methods for setting the state of the physical LEDs.
### Ergodox Boards
The Ergodox implementations provide `ergodox_right_led_1`/`2`/`3_on`/`off()` to turn individual LEDs on or off, as well as `ergodox_right_led_on`/`off(uint8_t led)` to turn them on or off by their index.
In addition, it is possible to specify the brightness level of all LEDs with `ergodox_led_all_set(uint8_t n)`; of individual LEDs with `ergodox_right_led_1`/`2`/`3_set(uint8_t n)`; or by index with `ergodox_right_led_set(uint8_t led, uint8_t n)`.
Ergodox boards also define `LED_BRIGHTNESS_LO` for the lowest brightness and `LED_BRIGHTNESS_HI` for the highest brightness (which is the default).
Since starting, QMK has grown by leaps and bounds thanks to people like you who contribute to creating and maintaining our community keyboards. As we've grown we've discovered some patterns that work well, and ask that you conform to them to make it easier for other people to benefit from your hard work.
## Use QMK Lint
We have provided a tool, `qmk lint`, which will let you check over your keyboard for problems. We suggest using it frequently while working on your keyboard and keymap.
Example passing check:
```
$ qmk lint -kb rominronin/katana60/rev2
Ψ Lint check passed!
```
Example failing check:
```
$ qmk lint -kb clueboard/66/rev3
☒ Missing keyboards/clueboard/66/rev3/readme.md
☒ Lint check failed!
```
## Naming Your Keyboard/Project
All keyboard names are in lower case, consisting only of letters, numbers, and underscore (`_`). Names may not begin with an underscore. Forward slash (`/`) is used as a sub-folder separation character.
@@ -192,7 +211,7 @@ When developing your keyboard, keep in mind that all warnings will be treated as
## Copyright Blurb
If you're adapting your keyboard's setup from another project, but not using the same code, but sure to update the copyright header at the top of the files to show your name, in this format:
If you're adapting your keyboard's setup from another project, but not using the same code, be sure to update the copyright header at the top of the files to show your name, in this format:
original document: 0.9.44:docs/feature_backlight.md
git diff 0.9.44 HEAD -- docs/feature_backlight.md | cat
original document: 0.10.33:docs/feature_backlight.md
git diff 0.10.33 HEAD -- docs/feature_backlight.md | cat
-->
多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。
original document: 0.8.134:docs/feature_leader_key.md
git diff 0.8.134 HEAD -- docs/feature_leader_key.md | cat
original document: 0.10.33:docs/feature_leader_key.md
git diff 0.10.33 HEAD -- docs/feature_leader_key.md | cat
-->
もしあなたが Vim を使ったことがある場合、リーダーキーは何であるかを知っています。そうでなければ、素晴らしい概念を発見しようとしています。:) 例えば、Alt+Shift+W を押す(3つのキーを同時に押す)代わりに、キーの_シーケンス_を押すことができたらどうでしょう?つまり、特別なモディファイア (リーダーキー)を押して、続けて W と C を押すと (単純にキーを高速に繋げます)、何かが起こります。
For future reference, we recommend against committing to your `master` branch as you've done here, because pull requests from modified `master` branches can make it more difficult to keep your QMK fork updated. It is highly recommended for QMK development – regardless of what is being done or where – to keep your master updated, but **NEVER** commit to it. Instead, do all your changes in a branch (branches are basically free in Git) and issue PRs from your branches when you're developing.
There are instructions on how to keep your fork updated here:
[**Best Practices: Your Fork's Master: Update Often, Commit Never**](https://docs.qmk.fm/#/newbs_git_using_your_master_branch)
[Fixing Your Branch](https://docs.qmk.fm/#/newbs_git_resynchronize_a_branch) will walk you through fixing up your `master` branch moving forward. If you need any help with this just ask.
QMK(*Quantum Mechanical Keyboard 양자 기계식 키보드*)란 QMK 컴워어, QMK 툴박스, qmk.fm 를 관리하고 있는 오픈소스 커뮤니티 입니다. QMK펌웨어는 [tmk\_keyboard](http://github.com/tmk/tmk_keyboard)를 바탕으로 만들어진 키보드펌웨어이며, Atmel AVR컨트롤러와 [OLKB 제품군](http://olkb.com) [ErgoDox EZ](http://www.ergodox-ez.com), 그리고 [Clueboard 제품군](http://clueboard.co/) 이용할때 매우 편리합니다. 또한 QMK는 ChibiOS를 사용하여 ARM기반의 컨트롤러로도 사용할수 있습니다. 마지막으로 QMK는 커스텀회로와 핸드와이어드 키보드을 작동시키는데에도 사용가능합니다.
## 설치하기
만약 당신이 QMK에 키보드, 키맵, 또는 새로운 기능을 추가하고싶다면, 가장쉬운 방법은 Github를 통해 [저장소(REPO)를 추가하고]((https://github.com/qmk/qmk_firmware#fork-destination-box)) 로컬에서 변화 또는 수정하고, [PULL REQUEST](https://github.com/qmk/qmk_firmware/pulls)을 통해 업로드 할수 있습니다.
또다른 방법으로는, 직접 파일들 로컬로 다운로드 하거나([zip](https://github.com/qmk/qmk_firmware/zipball/master), [tar](https://github.com/qmk/qmk_firmware/tarball/master)), git (`git@github.com:qmk/qmk_firmware.git`), https (`https://github.com/qmk/qmk_firmware.git`)을 통해 클론을 만들수 있습니다.
## 컴파일
먼저 컴파일을 하기전 AVR 이나 ARM [개발환경](getting_started_build_tools.md)을 구축해야 합니다. 모든준비가 끝났다면 `make`를 다음과 같이 키보드와 키맵을 선택하여 컴파일 할 수 있습니다.
make planck/rev4:default
이 커맨드는 `rev4`버전의 `planck`를 `default`키맵으로 컴파일 할것입니다. 다만 모든 키보드는 파일, 수정본 또는 세부프로젝트를 가지고있지 않음으로 수정본 부분을 생략될수 있습니다.
make preonic:default
## 커스터마이징
QMK는 사용할 수 있는 매우 다양한 [기능](features.md)과 체계화된 [참고자료](http://docs.qmk.fm)들이 있습니다. 그중 대부분은 [키맵](keymap.md)을 수정하거나 [키코드](keycodes.md)를 변경하는데에 특화되어 있습니다.
이 페이지는 QMK 컴파일 환경을 설치하는 방법을 설명합니다. 이 페이지는 AVR 프로세서들(예를 들면 atmega32u4와 비슷한)을 위한 가이드를 제공합니다
<!-- FIXME: We should have ARM instructions somewhere. -->
**노트:** 만약 당신이 처음 시작한다면 [입문자를 위한 가이드](newbs.md)페이지를 확인하세요.
계속하기전에 당신의 서브모듈(외부라이브러리)이 최신인지 `make git-submodule`을 사용하여 확인하세요.
## 리눅스
당신이 항상 최신 파일을 가지고 있는지는 `sudo util/qmk_install.sh`을 이용하여 간단히 확인할 수 있습니다. 이 명령어는 당신이 필요한 모든 속성물(dependencies)를 설치할 것입니다. **이 명령어는 `apt-get upgrade`를 사용합니다**
또한 당신의 직접 필요한 것들을 설치할 수도 있습니다. 하지만 이 자료는 항상 최신의 자료을 가지고 있지 않습니다.
현재로써 필요한 것은 다음과 같습니다. 하지만 당신이 하는 작업에 따라 당신은 다음 패키지를 다 쓰지 않을 수도 있습니다. 또한 환경에 따라 모든 다음 패키지는 다른이름으로 존재하거나, 없을 수도 있습니다.
만약 당신이 [NixOS](https://nixos.org/)를 사용중이거나 NIX를 리눅스 또는 맥에서 사용중이라면 `nix-shell`를 root 디렉토리에서 사용하여 컴파일 환경의 구축할 수 있습니다.
기본적으로 다음 커맨드는 AVR과 ARM 컴파일러를 설치할것입니다. 만약 필요 없다면 `avr` 또는 `arm`을 인수에서 해제할 수 있습니다.
nix-shell --arg arm false
## 맥
당신이 홈브루([homebrew](http://brew.sh/))를 사용한다면, 다음을 입력하세요.
brew tap osx-cross/avr
brew tap PX4/homebrew-px4
brew update
brew install avr-gcc@7
brew link --force avr-gcc@7
brew install dfu-programmer
brew install dfu-util
brew install gcc-arm-none-eabi
brew install avrdude
이 방법을 가장 추천합니다. 만약 홈브루가 없다면 커맨드라인 환경에서 매우 편한 [Homebrew](http://brew.sh/)를 다운받는 것을 추천합니다. 참고로 `avr-gcc@7`를 설치하는 중 `make`과 `make install`는 대개 20분 넘게 걸리고 CPU 사용량이 높아집니다.
## msys2를 사용하는 윈도우 (추천)
윈도우 비스타 부터 최신버젼까지 가장추천되는 환경은 [msys2](http://www.msys2.org)를 이용하는 것입니다. (윈도우 7과 윈도우 10에서 모두 테스트되었음)
* 이 사이트에 있는 설명을 이용해 msys2를 설치하세요: http://www.msys2.org
* ``MSYS2 MingGW 64-bit`` 를 여세요
* QMK폴더로 이동하세요. c드라이브 루트에 있는경우:
*`$ cd /c/qmk_firmware`
*`util/qmk_install.sh`을 실행시키고 나오는데요 따라하세요
### 크리에이터 업데이트
만약 당신의 윈도우 10이 크리에이터 업데이트 버전 또는 더 높은 버전이라면 바로 컴파일과 프로그램 업로드(flashing)를 할 수 있습니다. 크리에이터 업데이트 전 버전이라면 컴파일만 가능합니다. 만약 당신이 잘 모르겠거나 업데이트된 버전이 아니라면 [이 링크](https://support.microsoft.com/en-us/instantanswers/d4efb316-79f0-1aa1-9ef3-dcada78f3fa0/get-the-windows-10-creators-update)를 확인해 보십시오.
### 리눅스용 윈도우 하위 시스템 사용 (Windows10 Subsystem for Linux)
크리에이터 업데이트에 추가로 만약 당신이 리눅스용 윈도우 하위 시스템이 필요하다면 이 링크에서 다운받으십시오: [설명](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)
만약 당신이 이미 리눅스용 윈도우 하위 시스템을 Anniversary업데이트를 통해 받았다면 이 링크에서 16.04LTS로 업데이트 하는것을 추천합니다. 왜냐하면 업데이트 없이는 일부키보드가 14.04LTS에 포함되있는 도구들로 컴파일되지 않을수 있기때문입니다 : [WSL 업데이트](https://betanews.com/2017/04/14/upgrade-windows-subsystem-for-linux/)
### Git
만약 당신이 이미 파일을 로컬로 복제하였다면 이 섹션을 무시하십시요.
당신은 파일을 기본적인 git을 사용하여 로컬로 복제해야 합니다. **주의, WSL Git을 사용하면 안됩니다** [Git](https://git-scm.com/download/win) 이 링크에서 git을 다운받고 설치하십시오.
그리고 [기본설정](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup), 유저네임과 이메일을 설정하는 것은 만약 당신이 온라인에 기여할 계획이라면 매우 중요합니다.
Git의 설치가 완료되었다면 Git Bash커맨드을 열고 당신의 복제 QMK파일이 있는 위치로 이동하고 `git clone --recurse-submodules https://github.com/qmk/qmk_firmware`를 실행 시키십니오. 이 커맨드는 새로운 `qmk_firmware`폴더를 이미 존재하는 것의 하위 폴더설정으로 생성할 것입니다.
### 도구(Toolchain) 설정
기본적으로 도구설정은 리눅스용 윈도우 하위 시스템이 설치될때 자동으로 설정됩니다. 하지만 수동적으로 하고 싶다면 여기 설명이 있습니다. (If you want to do everything manually, there are no other instructions than the scripts themselves, but you can always open issues and ask for more information. )
1. "Bash On Ubuntu On Windows" 을 실행시키십시오.
2. 당신이 `qmk_firmware`를 복제한 위치로 가십시오. WSL(리눅스용 윈도우 하위 시스템 사용)에서 `/mnt/`로 시작되는 패스를 찾으십시오. 즉 당신은 다음과 같은 형식으로 입력해야 합니다. `cd /mnt/c/path/to/qmk_firmware` (Note that the paths start with `/mnt/`in the WSL, so you have to write for example `cd /mnt/c/path/to/qmk_firmware`.)
3.`util/wsl_install.sh`를 실행시키고 화면에 나오는 지시를 따르십니오.
4. Bash command window를 재실행 시키십시오.
5. 이로써 당신은 컴파일과 프로그램 업로드(flashing)을 위한 준비가 모두 끝났습니다.
### 중요한 참고사항
*`util/wsl_install.sh` 명령어를 다시 실행시켜 최신 업데이트를 다운받을 수 있습니다.
* QMK 폴더의 위치는 윈도우 파일시스템을 기반으로 해야 됩니다. WSL는 외부실행파일를 작동 시킬수 없기 때문이죠.
* WSL의 Git은 윈도우용 Git과 **호환되지 않습니다**
* 파일을 수정하는 것은 WSL안과 밖에서 모두 가능합니다 하지만 만약 .makefile 혹은 .sh를 수정한다면 유닉스 라인엔딩(Unix line endings)을 지원하는 에디터를 사용하는지 확인하십이오. 그렇지 않다면 컴파일이 되지않을 수도 있습니다.
## 윈두우 (비스타 혹은 더 최신) (비추천)
이 섹션은 윈도우 비스타 혹은 더 최신버젼을 위한 오래된 설명입니다. [MSYS2](#windows-with-msys2-recommended)를 사용하는 것을 더 추천합니다.
1. WinAVR을 설치하였다면 먼저 삭제하십시오.
2. [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe)을 설치하십시오. (Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**)
3. 만약 당신이 Infinity을 기반으로 하는 키보드에 프로그램 업로드를(flashing) 할거라면 dfu-util을 설치해야 합니다, [Input Club](https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware) 를 참고 하십시오.
4. [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download)를 설치하십시오. 설치중 윈도우화면에서 GUI 추가 설치 옵션을 해재하십니오. **기본 설치 위치를 바꾸지 마십시오.** 이 명령어는 기본위치를 기반으로 하고 있습니다.
5. 레파지토리를 복제하십시오. [이 링크로 압축파일을 받고 앞축해제 하십시오.](https://github.com/qmk/qmk_firmware/archive/master.zip) 윈도우 탐색기에서 다운받은 파일을 여십시오.
6.`\util` 폴더를 여십시오.
7.`1-setup-path-win` .bat파일을 더블클릭해서 실행시키시오. 유저 계정 설정 변경을 허용해야될 수도 있습니다. 스페이스바를 눌러 설치가 성공적으로 완료되었다는 메세지를 닫을 수 있습니다.
8.`2-setup-environment-win` .bat파일에 우클릭해서 '관리자 권한으로 실행'으로 실행시키십시오. 이 작업을 꽤 오래 걸릴 수도 있습니다. 또한 드라이버 설정을 승인해야 될 수도 있습니다. 하지만 이 모든것이 끝나면 당신의 시스템의 설정이 모두 끝났습니다.
만약 이 작업을 하는데에 문제가 있어 도움받고 싶다면 *Win_Check_Output.txt*을 생성하는 것이 도움이 될것입니다. 이 파일은 `Win_Check.bat`을 `\util`폴더에서 실행시켜 생성할 수 있습니다.
## 도커(Docker)
만약 위작업들이 당신에게 좀 어렵게 느껴졌다면 도커(Docker)가 당신을 위한 최선일 수도 있습니다(의역). [Docker CE](https://docs.docker.com/install/#supported-platforms)를 설치한뒤 아래 커맨드를 `qmk_firmware` 디랙토리에서 실행시켜 키보드 또는 키맵을 생성시킵니다.
```bash
util/docker_build.sh keyboard:keymap
# 예: util/docker_build.sh ergodox_ez:steno
```
이 커맨드는 원하는 키보드 또는 키맵을 컴파일하고 `.hex`또는 `.bin`파일을 프로그램 업로드를(flashing) 위해 QMK디랙토리에 생성할것입니다. 만약 `:keymap`이 생략된다면 `default`이 기본을로 사용됩니다. 참고로 여기서 사용되는 인수는 `make` 커맨드를 사용하여 컴파일할때와 동일합니다.
또한 스크립트를 그냥 아무 인수 없이도 사용가능합니다. 그렇게 된다면 프로그램은 하나씩 자동으로 인수입력을 요구 할것입니다. 어쩌면 이방법이 더 쉬울 수도 있습니다.
```bash
util/docker_build.sh
# 인수을 입력받습니다.(아무것도 쓰지 않고 놔두는면 기본값으로 설정됩니다)
```
다음과 같이 `target`를 사용하여 컴파일과 프로그램 업로드(flashing)을 동시에 할수도 있습니다.
만약 당시이 리눅스를 사용한다면 이 커맨드들은 추가 설정 없이 바로 작동할 것입니다. 하지만 위도우 또는 맥 환경에서는 [Docker Machine](http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos/)를 사용하여야 이 커맨드들을 사용가능합니다. Docker Machine설정은 꽤 지루하고 짜증남으로 추천하지 않고 [QMK Toolbox](https://github.com/qmk/qmk_toolbox)를 사용하는 것을 추천합니다.
!> 윈도우에서 독커는 [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)을 활성화 설정하여야 사용가능합니다. 즉, 도커는 Hyper-V를 지원하지 않는 윈도우 7, 윈도우 8, 그리고 **윈도우 10 홈**과 같은 윈도우 버전에서 사용할수 없다는 것을 의미합니다.
## Vagrant
만약 컴웨어를 사용하는데 문제가 있다면 Vagrant라는 이름의 툴을 사용해 볼 수 있습니다. 이 툴은 가상환경을 세팅해줌과 동시에 컴웨어를 사용하는데에 필요한 모든 설정을 해줄 것입니다. OLKB는 가상환경에 파일을 호스팅하지 않습니다. [Vagrant 가이드](getting_started_vagrant.md)에서 더 많은 정보를 확인할 수 있습니다.
Github can be a little tricky to those that aren't familiar with it - this guide will walk through each step of forking, cloning, and submitting a pull request with QMK.
Github는 자주 사용하는 사람이 아니면 좀 여려울수도 있습니다. 이 문서는 Github를 사용하는데 필요한 forking, cloning 그리고 submitting a pull request with QMK를 설명할 것입니다.
?> 이 가이드는 당신이 git커맨드를 사용하는데 익숙하고 git환경을 당신의 시스템이 설치하였다는 전제하에 작성되었습니다.
아래와 같이 [QMK Github 페이지](https://github.com/qmk/qmk_firmware)에서 당신은 "Fork"라고 쓰여있는 버튼을 볼 수 있습니다

만약 당신이 어느기관 소속이고, 무슨 계정을 사용할것인지 골라야 한다면 개인 계정을 사용하는 것을 추천합니다.
"Fork"가 성공적으로 끝났다면 아래 보이는 "Clone or Download"를 눌러야 합니다.

"HTTPS"채크 했는지 확인하고 나와 있는 링크를 복사하세요.

여기거 부터 커맨드라인을 사용합니다. 커맨드 라인에서 `git clone `을 치고 복사한 링크를 붙여넣은후 실행시키세요.
remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
To https://github.com/whoeveryouare/qmk_firmware.git
+ 20043e64...7da94ac5 master -> master
```
이로써 당신이 만든 모든 변경들이 당신의 Github의 Folk에 추가 되었습니다. (`https://github.com/<whoeveryouare>/qmk_firmware`)에서 확인하고 "New Pull Request"를 눌러 변경사항을 QMK에 업로드할수 있습니다.
|`LCTL_T(kc)`|`CTL_T(kc)` |Left Control when held, `kc` when tapped |
|`LSFT_T(kc)`|`SFT_T(kc)` |Left Shift when held, `kc` when tapped |
|`LALT_T(kc)`|`LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` |Left Alt when held, `kc` when tapped |
|`LGUI_T(kc)`|`LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)`|Left GUI when held, `kc` when tapped |
|`RCTL_T(kc)`| |Right Control when held, `kc` when tapped |
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|`LSA_T(kc)`| |Left Shift and Alt when held, `kc` when tapped |
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|`RCS_T(kc)` | |Right Control and Right Shift when held, `kc` when tapped |
|`LCAG_T(kc)`| |Left Control, Alt and GUI when held, `kc` when tapped|
|`RCAG_T(kc)`| |Right Control, Alt and GUI when held, `kc` when tapped |
|`C_S_T(kc)` | |Left Control and Shift when held, `kc` when tapped |
|`MEH_T(kc)` | |Left Control, Shift and Alt when held, `kc` when tapped |
|`HYPR_T(kc)`|`ALL_T(kc)` |Left Control, Shift, Alt and GUI when held, `kc` when tapped - more info [here](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)|
## Caveats
@@ -52,3 +55,7 @@ Unfortunately, these keycodes cannot be used in Mod-Taps or Layer-Taps, since an
Additionally, you may run into issues when using Remote Desktop Connection on Windows. Because these codes send shift very fast, Remote Desktop may miss the codes.
To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab. In the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly.
## Other Resources
See the [Tap-Hold Configuration Options](tap_hold.md) for additional flags that tweak Mod-Tap behavior.
Your computer keyboard has a processor inside of it, similar to the one inside your computer. This processor runs software that is responsible for detecting button presses and informing the computer when keys are pressed. QMK Firmware fills the role of that software, detecting button presses and passing that information on to the host computer. When you build your custom keymap, you are creating an executable program for your keyboard.
@@ -81,7 +81,7 @@ Now, we will set up the MSYS2 window to show up in VSCode as the integrated term
?> If you installed MSYS2 to a different folder, then you'll need to change the path for `terminal.integrated.shell.windows` to the correct path for your system.
4. Hit Ctrl-`\`` (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isn‘t one already.
4. Hit Ctrl-<code>`</code> (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isn‘t one already.
This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard.
-`matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](https://docs.qmk.fm/#/custom_quantum_functions?id=keyboard_pre_init_-function-documentation)
- prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](https://docs.qmk.fm/#/custom_matrix?id=lite)
- prefer LED indicator [Configuration Options](https://docs.qmk.fm/#/feature_led_indicators?id=configuration-options) to custom `led_update_*()` implementations where possible
-`keyboard.h`
-`#include "quantum.h"` appears at the top
-`LAYOUT` macros should use standard definitions if applicable
- Hardware Availability: Through Group Buy - Dec. 2019
Make example for this keyboard (after setting up your build environment):
make 45_ats:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
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.