Skip to content

Commit

Permalink
[qmk upstream merge] (#1)
Browse files Browse the repository at this point in the history
* Lint keyboard/project name (qmk#16766)

* usb-usb converter: fix layout macros (qmk#16769)

* Automatically approve workflow runs from first time contributors (qmk#16774)

* Automatically approve workflow runs from first time contributors (qmk#16775)

* Automatically approve workflow runs from first time contributors

* Automatically approve workflow runs from first time contributors

* Align action workflow filenames (qmk#16776)

* fix typo in ps2 set_defaults (qmk#16767)

* Run auto approve only on qmk/qmk_firmware (qmk#16786)

* Hineybush H65 Layout Additions and Configurator Update (qmk#16779)

* info.json: apply friendly formatting

* h65.h: use QMK 3-character notation

* h65.h: add matrix diagram

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_split_bs

* add LAYOUT_65_ansi_blocker_tsangan

* add LAYOUT_65_ansi_blocker_tsangan_split_bs

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_iso_blocker_split_bs

* add LAYOUT_65_iso_blocker_tsangan

* add LAYOUT_65_iso_blocker_tsangan_split_bs

* grid align keycodes in keymaps

* rules.mk: align inline comments

* Hineybush H65 Hotswap Layout Additions and Configurator Update (qmk#16780)

* info.json: apply friendly formatting

* h65_hotswap.h: use QMK 3-character notation

* h65_hotswap.h: add matrix diagram

* rename LAYOUT to LAYOUT_all

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_split_bs

* add LAYOUT_65_iso_blocker

* add LAYOUT_65_iso_blocker_split_bs

* grid align keycodes in keymaps

* rules.mk: align inline comments

* Wavtype Foundation Layout Macro Refactor and Configurator Update (qmk#16781)

* info.json: apply friendly formatting

* info.json: update layout data

- update labels to make them QMK CLI friendly
- update key sizes and dimensions (removes key overlaps and mis-locations)

* foundation.h: edit white space

- convert tabs to spaces
- edit alignment of arrays

* foundation.h: add matrix diagram

* rename LAYOUT to LAYOUT_ansi_split_bs

* rename LAYOUT_tkl_ansi_7u to LAYOUT_ansi_tsangan_split_bs

* rename LAYOUT_tkl_iso to LAYOUT_iso_split_bs_rshift

* rename LAYOUT_tkl_iso_7u to LAYOUT_iso_tsangan_split_bs_rshift

* refactor keymaps

- use definitions from `layer_names` enum
- use grid alignment
- use QMK-native keycode aliases

* add reference keymaps

Add `default_ansi_tsangan_split_bs`, `default_iso_split_bs_rshift`, and `default_iso_tsangan_split_bs_rshift` keymaps.

* refactor ISO layouts

Edits the ISO layout macros so that the keycode for Enter is to the end of the home row.

* info.json: fix LAYOUT_iso_tsangan_split_bs_rshift reference

Thanks to zvecr.

* add folders and capsule65 (qmk#16687)

* Fix lineendings for eason/capsule65 (qmk#16801)

* Format code according to conventions (qmk#16802)

* Cutie Club Novus Layout Macro Updates (qmk#16792)

* info.json: apply friendly formatting

* rename LAYOUT_all to LAYOUT_60_ansi_split_bs_rshift

Maintains `LAYOUT_all` as an alias to `LAYOUT_60_ansi_split_bs_rshift`.

* novus.h: use QMK 3-character notation

* novus.h: add matrix diagram

* add LAYOUT_60_ansi

* add LAYOUT_60_ansi_tsangan

* refactor keymaps

- update grid alignment
- use QMK-native keycode aliases

* add LAYOUT_60_ansi_tsangan_split_bs_rshift

* rules.mk: update Community Layouts list

* RGBKB Sol 3 rev1: Configurator Data and Readme (qmk#16798)

* add QMK Configurator data

* add readme file

* Add Iris Rev 6.1 (qmk#16722)

* QK65 Hotswap Community Layout Support (qmk#16793)

* qk65 hotswap: Community Layout support

- renames `LAYOUT_hotswap` to `LAYOUT_65_ansi_blocker`
- adds Community Layouts rule to `rules.mk`

* refactor keymaps

Edits the keymaps to align the keycodes in a grid. Whitespace-only change.

* QK65 Solder Community Layout Support (qmk#16796)

* refactor solder.h

- use QMK 3-character notation
- convert tabs to spaces

* solder.h: add matrix diagram

* rename LAYOUT_solder to LAYOUT_all

* rename LAYOUT_iso to LAYOUT_65_iso_blocker

Also adds Community Layouts rule to `rules.mk`.

* info.json: improve formatting

- convert tabs to spaces
- format file to four-space indent

* refactor keymaps

- convert tabs to spaces
- update grid alignment of keycodes
- remove trailing whitespace

* add LAYOUT_65_ansi_blocker

* add LAYOUT_65_ansi_blocker_split_bs

* add LAYOUT_65_iso_blocker_split_bs

* add LAYOUT_65_ansi_blocker_tsangan

* add LAYOUT_65_iso_blocker_tsangan

* add LAYOUT_65_ansi_blocker_tsangan_split_bs

* add LAYOUT_65_iso_blocker_tsangan_split_bs

* remove 65_ansi_blocker_tsangan_split_bs from `LAYOUTS` rule

* Sandwich Keeb68 Layout Macro Rework and Configurator Data (qmk#16803)

* keeb68.h: use QMK 3-character notation

* physically arrange layout macro

Moves the keycodes for Equals and Right Bracket to their proper places on the Number and Tab rows, respectively.

Also refactors the keymaps to use QMK-native keycode aliases, grid alignment, and four-space indent.

* move `keymaps/grv_esc/readme.md` to `keymaps/default/`

The file contents say "default keymap".

* enable Community Layouts support

* add QMK Configurator data

* touch-up `rules.mk`

* Update LW-67 info.json (qmk#16788)

* Update info.json

Fixed:
-ISO Enter Position
-Up Arrow Position
-PgDn Position

Cause of Error:
-Keyboard Layout Editor Places Iso Enter on R1 Rather Than R2 like the ANSI Enter

* Update info.json

Fixed Compile Error to Previous Change

* Update keyboards/lw67/info.json

* io_mini1800 Configurator Fixes (qmk#16813)

* info.json: apply friendly formatting

* info.json: fix key sequence errors

Fixes out-of-sequence issue for the Numpad Plus key on both layouts.

* Header file fixes for all keymaps (qmk#16180)

* Reduce the size of the keymap helix:fraanrosi (qmk#16717)

* [Bug] Fix matrix scan reporting interval (qmk#16825)

* Change helix:froggy keymap to use split_common (qmk#16703)

* create LAYOUT_half() macro into helix/rev2/keymaps/froggy/keymap.c

* Makes QMK standerd OLED driver used by the helix:froggy keymap switchable.

* Change helix:froggy keymap to use split_common

* GMMK Pro return false in encoder user. (qmk#16830)

* Fix numbering to match the correct columns (qmk#16831)

* [Keyboard] Add userspace pdl and a handwired board (qmk#14199)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>

* [Keyboard] Add s-ol/0xC.pad (qmk#16057)

* [Keyboard] Add s_ol/0xc_pad

* [Keyboard] add factory testing RGB_MATRIX pattern

Co-authored-by: s-ol <[email protected]>

* [Keyboard] Add Synth Labs Solo keyboard (qmk#16103)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] add 10k (qmk#16531)

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Nicolas Ballet <[email protected]>

* [Keyboard] super16 update (qmk#16494)

* [Keyboard] add E80-1800 PCB (qmk#16645)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] add pegasus (qmk#16701)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keymap] Change helix:froggy_106 keymap to use split_common (qmk#16704)

* [Keyboard] Adding waffling80, TKL PCB (qmk#16726)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add ratio65 by rationalist (qmk#16727)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keymap] fixed oled turn-off issue for crkbd:gotham (qmk#16748)

* [Keyboard] Add Eros by PJB (qmk#16756)

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Joel Challis <[email protected]>

* [Keymap] sinc/lickel: Use backlight keys in Fn Row (qmk#16789)

* [Keyboard] Waffling60 - minor tweak, improve default behavior of caps lock indicator. (qmk#16836)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: 4pplet <[email protected]>

* [Keyboard] Ported ErgoDox to VIA (qmk#16804)

* [Keyboard] KBD67 rev1 Caps Lock LED Fix (qmk#16790)

* [Keymap] Fix snowe keymap after updates to QMK (qmk#16777)

* [Keyboard] correct matrix for Kay65 (qmk#16751)

* [Keyboard] Add banime40 keyboard (qmk#16694)

Co-authored-by: Ryan <[email protected]>

* [Keyboard] annepro2: match default keymap to stock keycaps (qmk#16724)

* [Keyboard] add tiger80 keyboard (qmk#16742)

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add Frooastboard Walnut (69% Keyboard) (qmk#16743)

Co-authored-by: Ryan <[email protected]>

* [Keymap] Add thattolleyguy keymaps (qmk#15351)

* Adding personal keymaps

* Update licenses

* Fix RGB settings

* Define used animations

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add RM_Numpad (qmk#15983)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: jason <[email protected]>

* [Keymap] bépo layout on Lily58L (qmk#16243)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] The inaugural commit for Leeloo's firmware. (qmk#16599)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Fix waffling80 - Missing comma (qmk#16848)

* [Keyboard] Fix kay65 - Missing keycode (qmk#16849)

* Fix external flash on AVR (qmk#16851)

* Ignore VIA(L) json files (qmk#16845)

* [Keyboard] move/rename obro to Meridian RGB (qmk#16828)

Co-authored-by: Joel Challis <[email protected]>

* [Keyboard] Add via support for creatkeebs/glacier (qmk#16747)

Co-authored-by: Joel Challis <[email protected]>

* [Keyboard] Add avalanche (qmk#16407)

* [Keyboard] Add avalanche

* PR feedback

* Update keyboards/avalanche/v1/config.h

* Update keyboards/avalanche/v1/v1.h

* Update keyboards/avalanche/v2/config.h

* Update keyboards/avalanche/v2/v2.h

* Update keyboards/avalanche/v3/config.h

* Update keyboards/avalanche/v3/v3.h

* Apply suggestions from code review

* Remove rules.mk comment and fix other comments.

* Shared encoder code, follow conventions in rules.mk files.

* Remove config files which do not change defaul behavior.

* Resolve layout macro inconsistencies for rmkeebs/rm_numpad (qmk#16856)

* rgblight: Limit max repeat times in rgblight_blink_layer_repeat (qmk#16860)

* [Keyboard] Update X-Bows Keyboard (qmk#16765)

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Shulin <[email protected]>

* Fix Xorg segfault with KeebCats PCBs (qmk#16434)

* [Keyboard] Add Phase One keyboard (qmk#16430)

Co-authored-by: Ryan <[email protected]>

* Refine LED indicator documentation (qmk#16304)

* Anne Pro 2 Refactor (qmk#16864)

* move RGB Matrix rules to keyboard level

* move PERMISSIVE_HOLD config to keyboard level

* annepro2.c: convert tabs to spaces

* refactor rules.mk files

Reformats each version's `rules.mk` file to be arranged more similarly to those of the rest of the keyboards in QMK.

No logic change.

* annepro2.c: allow compilation without RGB Matrix

Wraps the `led_enabled` definition and the `KC_AP_RGB_*` keycodes in `#ifdef RGB_MATRIX_ENABLE`, allowing successful compilation if the user sets `RGB_MATRIX_ENABLE = no`.

* rework readme files

Reworks the main `readme.md` file to be more friendly to GitHub viewing, and removes the single-line version-specific readme files (exposes the main readme to QMK Configurator users).

* info.json: update maintainer value

* info.json: apply friendly formatting

* [Keyboard] Add sandbox keyboard (qmk#16021)

Co-authored-by: precondition <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] SharkPCB release Beta compatibility (qmk#16713)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add digicarpice (qmk#16791)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: swiftrax <[email protected]>

* [Keyboard] Add the Ciel (qmk#16816)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* Ploopy Trackball Mini: only define DPI options as needed (qmk#16160)

* [Keyboard] Add deskpad (qmk#15602)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] sandbox - fix keymaps (qmk#16873)

* [Keyboard] Add CrimsonKeyboards' Resume1800 (qmk#16842)

* [Keyboard] Fix resume1800 - Dynamic layer count undefined (qmk#16877)

* [Keyboard] Add converter/a1200/mistress1200 variant (qmk#16634)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add Amber80 Solder & VCL65 Solder  (qmk#15945)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* Change helix:yshrsmz keymap to use split_common (qmk#16537)

* [Keymap] A Colemak keymap for the crkbd keyboard (qmk#16550)

* Add my planck layout (qmk#13143)

* Add my planck layout

* Add copyright

* Address requested changes

* Fix dipswitch return type

* [Keyboard] New kbd 1k (qmk#15509)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: mtei <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>

* Add initial support for the Makey Makey Classic (qmk#16658)

* Fix broken build for users/curry (qmk#16492)

* boardsource/microdox V2 (qmk#16569)

* New custom keymap for Glorious GMMK Pro ANSI layout (qmk#16199)

Co-authored-by: Drashna Jaelre <[email protected]>

* Dactyl manuform 5x6 5 via (qmk#16741)

* kin80 (qmk#16754)

Co-authored-by: Nick Brassel <[email protected]>

* [Keyboard] Add notes on Iris rev6a firmware (qmk#16878)

* Fixed error in config (qmk#16895)

* Fix i2c driver doc: Incorrect name (qmk#16898)

* [Keyboard] Fix kin80 default keymap (qmk#16893)

* rgblight: Fix rgblight_blink_layer when multiple layers are active (qmk#16824)

* [Keymap] Fix build error `helix:five_rows` (qmk#16847)

* Added new keyboard Gas75 (qmk#16768)

* Keychron Q2 add Caps Lock indicator and layer RGB (qmk#16641)

* Loki65 (qmk#16844)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: yiancar <[email protected]>

* [Keyboard]Remove RGB light implementation of ID67, revert the file structure changes by qmk#15558 (qmk#15854)

* [Docs] zh-cn document translate: git parts (qmk#15576)

Co-authored-by: peepeetee <[email protected]>
Co-authored-by: Dasky <[email protected]>

* [Keyboard] Fix Pegasus Hoof (2013) layout, matrix and pin assignment (qmk#16042)

* [Keymap] Toinux's crkbd keymap and userspace (qmk#16437)

* [Keymap] Addition of new keymap for the anavi macropad8 keyboard (qmk#16910)

* Creation of Visual Studio Code keymap

* Add files via upload

* Add Dactyl_Manuform/3x5_3 (qmk#16238)

* Added massdrop/ctrl:xanimos keymap (qmk#16187)

Co-authored-by: xanimos <[email protected]>

* Fix id67 RGB Matrix (qmk#16916)

* [Keyboard] Add Rooboard 65 (qmk#15294)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: James Young <[email protected]>

* [Keyboard] Add missing KC_QUOT (qmk#16925)

* gergoplex: small cleanup (qmk#16928)

* Fix backslash bug (qmk#16935)

* Add missing dead key LUTs for sendstring headers (qmk#16929)

* dactyl_manuform/3x5_3: fix layout (qmk#16944)

* Add Ukrainian keymap header (qmk#16947)

* Add Ukrainian keymap header

* Docs

* [Keyboard] Small fix for Sol3 with only a slave touch bar (qmk#16952)

* [Keyboard] Add Maker Keyboards Alexa Solder PCB (qmk#16943)

* [Keyboard] Add SkeletonNumPad (qmk#16753)

* add SkeletonNumPad keyboard

* fix

* fix

* fixed info.json

* Update keyboards/skeletonkbd/skeletonnumpad/rules.mk

Co-authored-by: Ryan <[email protected]>

* Change RGBLIGHT_LIMIT_VAL

Co-authored-by: Ryan <[email protected]>

* [Keymap] Add keymap for kinesis advantage (qmk#16862)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Solanis H87C/H88C Compatible Replacement PCBs (qmk#16942)

Co-authored-by: Ryan <[email protected]>

* [Keyboard] RM_Numpad: Fix layout bug (qmk#16857)

Co-authored-by: jason <[email protected]>

* Fix fjlabs/solanis (qmk#16965)

* [Keymap] Improve Pain27 default keymap readability (qmk#16956)

* [Keyboard] Add gameroyadvance (qmk#16882)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* keyboards/ryanskidmore: add rskeys100 keyboard (qmk#15506)

* keyboards/ryanskidmore/rskeys100: add rskeys100 draft firmware

* keyboards/ryanskidmore/rskeys100: fix firmware

* ryanskidmore/rskeys100: fix remaining bugs

* keyboards/ryanskidmore/rskeys100: finishing touches on firmware

* keyboards/ryanskidmore/rskeys100: migrate from full replacement matrix scanning to lite, move rgb matrix enable call to keymap

* keyboards/ryanskidmore/rskeys100: remove undefines, clarify comments

* ryanskidmore/rskeys100: remove unused imports

* keyboards/ryanskidmore/rskeys100: pr feedback

* Jonavin-kb67-Reduce mem usage (qmk#16991)

Co-authored-by: Jonavin <=>

* [Keymap] Introduced New layer & Improvements (qmk#16921)

Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add per-key RGB for Quark LP RGB variants (qmk#16671)

Co-authored-by: Drashna Jaelre <[email protected]>

* Add missing dependency for qmk setup on Fedora (qmk#17003)

* [Keyboard] RS60 Rev2 Addition (qmk#16988)

* Add ibis PCB (qmk#17001)

* initial ibis commit

* updates etc

* layout updates to fix mismatched keys

* Apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/hineybush/ibis/info.json

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/hineybush/ibis/readme.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Bug] Fix RS60 Rev2 I2C (qmk#17015)

* Ensure .hex file output for ARM Teensys (qmk#17014)

* Sol3 fix rgb map (qmk#17019)

* Fix for key -> LED mapping

* Revert whitespace changes

* Revert whitespace changes 2

Co-authored-by: theVDude <[email protected]>

* feat: add support for JJ50 VIA (qmk#16420)

* Update RMKB to support SNAP (qmk#17042)

* converter/a1200/mistress1200: further firmware shrinking to fit on Atmega16U4 (16kb) (qmk#17040)

* Create dummy.txt

* Add files via upload

* Add files via upload

* Delete dummy.txt

* Update config.h

* Update rules.mk

* Update keymap.c

* Update keyboards/converter/a1200/mistress1200/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/converter/a1200/mistress1200/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/converter/a1200/mistress1200/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/converter/a1200/mistress1200/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/converter/a1200/mistress1200/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/converter/a1200/mistress1200/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/converter/a1200/mistress1200/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

* Update config.h

* Update rules.mk

* Update readme.md

* Update config.h

* Update rules.mk

* Update config.h

* Update keyboards/converter/a1200/mistress1200/config.h

Co-authored-by: Joel Challis <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* Adding akira (qmk#16982)

* keyboard:akira initial commit

* Update keyboards/ekow/akira/akira.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/ekow/akira/keymaps/via/rules.mk

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/ekow/akira/readme.md

Co-authored-by: Joel Challis <[email protected]>

* Update .gitignore

Co-authored-by: Joel Challis <[email protected]>

* Update readme.md

* Update keyboards/ekow/akira/rules.mk

Co-authored-by: Drashna Jaelre <[email protected]>

* Update rules.mk

remove redundant content.

* added keyboard/ekow/keymaps/via/keymap.c

* remove .ccls-cache

* add instructions of enter the bootloader

* add instructions of enter the bootloader

* modify ekow/akira:via

* Update keyboards/ekow/akira/readme.md

Co-authored-by: Ryan <[email protected]>

* Update keyboards/ekow/akira/keymaps/via/rules.mk

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Fix led num for center_enter/qoolee (qmk#17050)

* [Keyboard] Add Axostudio Yeti hotswap version (qmk#16820)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Momokai Tap Trio (qmk#16463)

* add winry3m3w

* change name to Momokai Tap Trio

* Delete settings.json

* add rgb effects

* amend default keymap

* add limited RGB controls to default keymap

* fix VAD

* Update keyboards/momokai/tap_trio/tap_trio.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/momokai/tap_trio/tap_trio.h

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/momokai/tap_trio/config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/momokai/tap_trio/rules.mk

Co-authored-by: Ryan <[email protected]>

* implement RGB matrix, change default keymap

* change keymaps

* change rgb effects

* comment out the RGB matrix and switch back to RGB light due to VIA not playing ball

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add usable tap-hold defaults for ferris via (qmk#16696)

* [Keyboard] fix tf65rgbv2 keyboard layout (qmk#17029)

* KBDfans KBD75 Refactor - 2022 Edition (qmk#17052)

* add license headers

* tidy-up revision rules.mk files

- convert tabs to spaces
- align inline comments
- update rule ordering

* touch-up readme.md

* touch-up rev1/rev1.h

- convert tabs to spaces
- convert to QMK 3-character notation for matrix positions

* rev1/rev1.h: add matrix diagram

* touch-up rev2/rev2.h

- convert tabs to spaces
- convert to QMK 3-character notation for matrix positions

* rev2/rev2.h: add matrix diagrams

* rev1/info.json: apply friendly formatting

* rev2/info.json: apply friendly formatting

* refactor layout macros

- switch `LAYOUT_ansi_1u` with `LAYOUT_75_ansi`
  - makes `LAYOUT_75_ansi` the canonical macro name, with `LAYOUT_ansi_1u` as an alias for backwards compatibility
  - move `LAYOUT_ansi_1u` alias to `info.json` files from revision headers
- remove `LAYOUT_iso_1u` (was unused)
- rename `LAYOUT_ansi` to `LAYOUT_75_ansi_rwkl`
- rename `LAYOUT_iso` to `LAYOUT_75_iso_rwkl`

* refactor default keymap

- use four-space indent
- update grid alignment

* refactor iso keymap

- refactor to use `LAYOUT_75_iso` macro
  - change from Split to 2u Backspace
  - change from Split to Standard Spacebar
  - change `KC_BSLS` keycode to `KC_NUHS`, and place on home row
- use four-space indent
- update grid alignment

* refactor via keymap

- use four-space indent
- update grid alignment

* touch-up readme.md again

Fix a broken link.

* update section comments in revision header files

* add Full Winkeyless layouts

- add `LAYOUT_75_ansi_wkl` and `LAYOUT_75_iso_wkl` layout macros

* [Keyboard] Add subrezon/la_nc keyboard (qmk#16833)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Daniel Osipishin <[email protected]>

* [Keyboard] Update YMDK Split 64 config (qmk#16979)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Yakiimo PCB (qmk#16984)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: 4pplet <[email protected]>

* [Keyboard] Littlefoot lx dev (qmk#16771)

Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add ano keyboard (qmk#16885)

Co-authored-by: Ryan <[email protected]>

* [Keyboard] remove handwired/reddot as per qmk#14211 (qmk#17033)

* [Keyboard] Revert "Fix id67 RGB Matrix (qmk#16916)" - on IDOBAO ID67 kb (qmk#16917)

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add Black E6.5 keyboard (qmk#16807)

* [Keyboard] Cleanup zhou65 and add nz64 keyboard (qmk#17032)

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add Mokulua keyboard (qmk#17055)

Co-authored-by: Drashna Jaelre <[email protected]>

* initial (qmk#17067)

* [Keyboard] Move M63 RGB into maker folder (qmk#17061)

* Allow overriding Niv inputs in shell.nix (qmk#16602)

* [Keyboard] Refactor mechwild/mokulua (qmk#17068)

* [Keyboard] KBIC65 Refactor (qmk#17066)

* 65_iso_split_bs Community Layout keymap bugfix (qmk#17072)

Fix the layout macro reference in the `keymap.c` file, which caused this keymap to not be able to be compiled.

* [Bug] Updated Cirque Pinnacle SPI driver to read data correctly (qmk#17074)

* [Keyboard] Add caps and num indicators to Balance keyboard (qmk#17075)

* [Keyboard] H60 updates (qmk#16999)

Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keymap] Contra - QWERTY US basic layout; MechWild Marcuio - EN update layout (qmk#16787)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Stephon Parker <[email protected]>

* [Keyboard] Fixed info.json issue, some key got wrong pos for Gas75 (qmk#17070)

* [Keyboard] Add keyboard "Spreadwriter" (qmk#17031)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Gompa <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: eason <[email protected]>
Co-authored-by: Erovia <[email protected]>
Co-authored-by: QMK Bot <[email protected]>
Co-authored-by: Danny <[email protected]>
Co-authored-by: Laneware <[email protected]>
Co-authored-by: joedinkle <[email protected]>
Co-authored-by: Takeshi ISHII <[email protected]>
Co-authored-by: Simon Arlott <[email protected]>
Co-authored-by: Dasky <[email protected]>
Co-authored-by: Kamil Zielinski <[email protected]>
Co-authored-by: Daniel Perrett <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: sol <[email protected]>
Co-authored-by: s-ol <[email protected]>
Co-authored-by: Nostril <[email protected]>
Co-authored-by: Nabos <[email protected]>
Co-authored-by: Nicolas Ballet <[email protected]>
Co-authored-by: ziptyze <[email protected]>
Co-authored-by: Moritz <[email protected]>
Co-authored-by: melonbred <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: Allen Choi <[email protected]>
Co-authored-by: PJB Keyboard Design <[email protected]>
Co-authored-by: Adam Lickel <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: IFo Hancroft <[email protected]>
Co-authored-by: mudhead <[email protected]>
Co-authored-by: Tyler Thrailkill <[email protected]>
Co-authored-by: mechlovin <[email protected]>
Co-authored-by: Christian Lo <[email protected]>
Co-authored-by: bwisn <[email protected]>
Co-authored-by: moyi4681 <[email protected]>
Co-authored-by: Simon <[email protected]>
Co-authored-by: Tyler Tolley <[email protected]>
Co-authored-by: Rucker Machine <[email protected]>
Co-authored-by: jason <[email protected]>
Co-authored-by: N L <[email protected]>
Co-authored-by: ClicketySplit <[email protected]>
Co-authored-by: jack <[email protected]>
Co-authored-by: leah-splitkb <[email protected]>
Co-authored-by: holtenc <[email protected]>
Co-authored-by: Tim Liu <[email protected]>
Co-authored-by: Will Winder <[email protected]>
Co-authored-by: X-Bows Tech <[email protected]>
Co-authored-by: Shulin <[email protected]>
Co-authored-by: Amber Cronin <[email protected]>
Co-authored-by: Albert Y <[email protected]>
Co-authored-by: yfuku <[email protected]>
Co-authored-by: precondition <[email protected]>
Co-authored-by: Álvaro A. Volpato <[email protected]>
Co-authored-by: Brandon Claveria <[email protected]>
Co-authored-by: swiftrax <[email protected]>
Co-authored-by: Ramon Imbao <[email protected]>
Co-authored-by: alaviss <[email protected]>
Co-authored-by: Md. Mashur Shalehin Sakib <[email protected]>
Co-authored-by: DeeDesired <[email protected]>
Co-authored-by: 8bits4ever <[email protected]>
Co-authored-by: Sắn <[email protected]>
Co-authored-by: Álvaro Cortés <[email protected]>
Co-authored-by: Abhinav <[email protected]>
Co-authored-by: MakotoKurauchi <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: jpe230 <[email protected]>
Co-authored-by: gourdo1 <[email protected]>
Co-authored-by: LegoWolf <[email protected]>
Co-authored-by: Dmitry Nosachev <[email protected]>
Co-authored-by: jels <[email protected]>
Co-authored-by: HorrorTroll <[email protected]>
Co-authored-by: Ladduro <[email protected]>
Co-authored-by: yiancar <[email protected]>
Co-authored-by: yiancar <[email protected]>
Co-authored-by: peepeetee <[email protected]>
Co-authored-by: IskandarMa <[email protected]>
Co-authored-by: Víctor Pont <[email protected]>
Co-authored-by: toinux <[email protected]>
Co-authored-by: E.Iosifidis <[email protected]>
Co-authored-by: DL Ford <[email protected]>
Co-authored-by: Daniel Weeks <[email protected]>
Co-authored-by: xanimos <[email protected]>
Co-authored-by: Felix Jen <[email protected]>
Co-authored-by: tuvietnamm <[email protected]>
Co-authored-by: XScorpion2 <[email protected]>
Co-authored-by: skeletonkbd <[email protected]>
Co-authored-by: Nicholas Granado <[email protected]>
Co-authored-by: Hunter Haugen <[email protected]>
Co-authored-by: ROYMEETSWORLD <[email protected]>
Co-authored-by: Ryan Skidmore <[email protected]>
Co-authored-by: jonavin <[email protected]>
Co-authored-by: npspears <[email protected]>
Co-authored-by: Mateusz Mojsiejuk <[email protected]>
Co-authored-by: Xelus22 <[email protected]>
Co-authored-by: Josh Hinnebusch <[email protected]>
Co-authored-by: Doomsdayrs <[email protected]>
Co-authored-by: theVDude <[email protected]>
Co-authored-by: Guillaume Gérard <[email protected]>
Co-authored-by: Jay Greco <[email protected]>
Co-authored-by: Eugene-Yuan Kou <[email protected]>
Co-authored-by: takashicompany <[email protected]>
Co-authored-by: kb-elmo <[email protected]>
Co-authored-by: Willy Breitenbach <[email protected]>
Co-authored-by: Daniel Osipishin <[email protected]>
Co-authored-by: Daniel Osipishin <[email protected]>
Co-authored-by: Minke Zhang <[email protected]>
Co-authored-by: TJ <[email protected]>
Co-authored-by: sauvehoo <[email protected]>
Co-authored-by: Vino Rodrigues <[email protected]>
Co-authored-by: JX <[email protected]>
Co-authored-by: Kyle McCreery <[email protected]>
Co-authored-by: Astrid Yu <[email protected]>
Co-authored-by: Andrew Kannan <[email protected]>
Co-authored-by: Stephon Parker <[email protected]>
Co-authored-by: Stephon Parker <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 1,050 changed files with 46,158 additions and 4,063 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/auto_approve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Automatic Approve

on:
schedule:
- cron: "*/5 * * * *"

jobs:
automatic_approve:
runs-on: ubuntu-latest

if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: mheap/automatic-approve-action@v1
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
workflows: "format.yml,lint.yml,unit_test.yml"
dangerous_files: "lib/python/,Makefile,paths.mk,builddefs/"
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,6 @@ user_song_list.h
compile_commands.json
.clangd/
.cache/

# VIA(L) json files that don't belong in QMK repo
via*.json
6 changes: 6 additions & 0 deletions builddefs/bootloader.mk
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,18 @@ ifeq ($(strip $(BOOTLOADER)), halfkay)
OPT_DEFS += -DBOOTLOADER_HALFKAY
BOOTLOADER_TYPE = halfkay

# Teensy 2.0
ifeq ($(strip $(MCU)), atmega32u4)
BOOTLOADER_SIZE = 512
endif
# Teensy 2.0++
ifeq ($(strip $(MCU)), at90usb1286)
BOOTLOADER_SIZE = 1024
endif
# Teensy LC, 3.x
ifneq (,$(filter $(MCU_ORIG), MKL26Z64 MK20DX128 MK20DX256 MK66FX1M0))
FIRMWARE_FORMAT = hex
endif
endif
ifeq ($(strip $(BOOTLOADER)), caterina)
OPT_DEFS += -DBOOTLOADER_CATERINA
Expand Down
16 changes: 16 additions & 0 deletions data/schemas/definitions.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,22 @@
"type": "number",
"min": 0.25
},
"keyboard": {
"oneOf": [
{
"type": "string",
"enum": [
"converter/numeric_keypad_IIe",
"emptystring/NQG",
"maple_computing/christmas_tree/V2017"
]
},
{
"type": "string",
"pattern": "^[0-9a-z][0-9a-z_/]*$"
}
]
},
"mcu_pin_array": {
"type": "array",
"items": {"$ref": "#/mcu_pin"}
Expand Down
1 change: 1 addition & 0 deletions data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"type": "object",
"properties": {
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
"keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
"url": {
Expand Down
46 changes: 21 additions & 25 deletions docs/feature_led_indicators.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ QMK provides methods to read 5 of the LEDs defined in the HID spec:
* Kana

There are three ways to get the lock LED state:
* by specifying configuration options within `config.h`
* 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()`
* Configuration options in `config.h`
* Implement `led_update_*` function
* Call `led_t host_keyboard_led_state()`

!> `host_keyboard_led_state()` may already reflect a new value before `led_update_user()` is called.
!> The `host_keyboard_led_state()` may reflect an updated state before `led_update_user()` is called.

Two more deprecated functions exist that provide the LED state as a `uint8_t`:
Two deprecated functions that provide the LED state as `uint8_t`:

* `uint8_t led_set_kb(uint8_t usb_led)` and `_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
Expand All @@ -37,23 +37,20 @@ To configure the indicators, `#define` these in your `config.h`:

Unless you are designing your own keyboard, you generally should not need to change the above config options.

## `led_update_*()`
## LED update function

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.
When the configuration options do not provide enough flexibility, the following callbacks allow custom control of the LED behavior. These functions will be called when one of those 5 LEDs changes state:

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()`.
* Keyboard/revision: `bool led_update_kb(led_t led_state)`
* Keymap: `bool led_update_user(led_t led_state)`

Some examples include:
Both receives LED state as a struct parameter. Returning `true` in `led_update_user()` will allow the keyboard level code in `led_update_kb()` to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard level function is set up.

- 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.
?> This boolean return type of `led_update_user` allows for overriding keyboard LED controls, and is thus recommended over the void `led_set_user` function.

?> 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 of keyboard LED update implementation

### Example `led_update_kb()` Implementation
This is a template indicator function that can be implemented on keyboard level code:

```c
bool led_update_kb(led_t led_state) {
Expand All @@ -74,9 +71,9 @@ bool led_update_kb(led_t led_state) {
}
```
### Example `led_update_user()` Implementation
### Example of user LED update 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.
This is an incomplete example will play a sound if Caps Lock is turned on or off. It returns `true` to allow keyboard LED function to maintain their state.
```c
#ifdef AUDIO_ENABLE
Expand All @@ -96,18 +93,17 @@ bool led_update_user(led_t led_state) {
}
```

### `led_update_*` Function Documentation

* Keyboard/Revision: `bool led_update_kb(led_t led_state)`
* Keymap: `bool led_update_user(led_t led_state)`
## Host keyboard LED state

## `host_keyboard_led_state()`
The `host_keyboard_led_state()` function will report the LED state returned from the host computer as `led_t`. This is useful for reading the LED state outside `led_update_*`. For example, you can get the boolean state of Caps Lock from the host with:

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).
```c
bool caps = host_keyboard_led_state().caps_lock;
```

## Setting Physical LED State

Some keyboard implementations provide convenience methods for setting the state of the physical LEDs.
Some keyboard implementations provide convenient methods for setting the state of the physical LEDs.

### Ergodox Boards

Expand Down
2 changes: 1 addition & 1 deletion docs/i2c_driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ Send multiple bytes to the selected I2C device.

### `i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout)`

Receive multiple bytes from the selected SPI device.
Receive multiple bytes from the selected I2C device.

#### Arguments

Expand Down
1 change: 1 addition & 0 deletions docs/reference_keymap_extras.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | |
|Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` |
|Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` |
|Ukrainian |`keymap_ukrainian.h` | |

There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout:

Expand Down
23 changes: 23 additions & 0 deletions docs/zh-cn/newbs_git_best_practices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# QMK所采用的Git最佳实践

<!---
original document: 0.15.17:docs/newbs_git_best_practices.md
git diff 0.15.17 HEAD -- docs/newbs_git_best_practices.md | cat
-->

*译者注:对于git相关的部分,除广为接受的名词外,会尽量保留git命令及各种术语的英文版本,部分名词及关键部分会附带中文翻译*

## 或者讲,"怎么才能不害怕并喜欢上Git"

本节旨在以最佳方式指导新手在为QMK做贡献时获得流畅的体验。我们将进行一次完整的QMK贡献操作流程,并在部分环节中详细讲述几种便捷的方法,之后我们会故意搞砸一些东西,并教导你如何回到正轨。

该章节做了如下假设:

1. 你已有Github账号且已[fork了qmk_firmware仓库](zh-cn/getting_started_github.md)到你的账号下。
2. 已完成了[构建环境](zh-cn/newbs_getting_started.md#set-up-your-environment)[QMK](zh-cn/newbs_getting_started.md#set-up-qmk)配置。

---

- 第一节:[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md)
- 第二节:[解决合并冲突](zh-cn/newbs_git_resolving_merge_conflicts.md)
- 第三节:[重新同步一个脱离同步状态的Git分支](zh-cn/newbs_git_resynchronize_a_branch.md)
86 changes: 86 additions & 0 deletions docs/zh-cn/newbs_git_resolving_merge_conflicts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# 解决合并冲突

<!---
original document: 0.15.17:docs/newbs_git_resolving_merge_conflicts.md
git diff 0.15.17 HEAD -- docs/newbs_git_resolving_merge_conflicts.md | cat
-->

有时在你致力于一个较长周期才能完成的分支时,其它人提交的变更会与你提交的pull request中的变更发生冲突。我们将这种多个人编辑同一个模块同一个文件时产生的场景叫做 *合并冲突*

?> 本文中的场景基于[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md)一文。如果你对那篇文章不熟悉,请先阅读它,再回来继续。

## 变基/衍合(rebase)


Git的*变基*操作会将提交历史中的提交节点摘除并回滚,然后统一提交到一个新节点上。在解决合并冲突时,可以通过对当前分支进行变基,来获取从分支拉取到当前时刻的所有变更。

从执行如下命令开始:

```
git fetch upstream
git rev-list --left-right --count HEAD...upstram/master
```

此处输入的 `git rev-list` 命令可以得到当前分支与QMK主干分支间的提交数量差。而先执行 `git fetch` 是为了确保我们有上游仓库(upstream repo)的最新状态。`git rev-list` 命令会返回两个数字:

```
$ git rev-list --left-right --count HEAD...upstream/master
7 35
```

第一个数字为当前分支自创建后新增的提交数量。第二个数字为当前分支创建后在 `upstream/master` 上的提交数量,而这部分就是我们当前分支上缺失的提交记录。

在我们了解了当前分支以及上游仓库的状态后,可以发起变基操作了:

```
git rebase upstream/master
```

这样可以让Git回滚该分支的提交,然后基于QMK的主干版本重新应用这些提交。

*译注:以下内容在中文Git下大同小异,且仅作为示例,不进行翻译*
```
$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Applying: Commit #1
Using index info to reconstruct a base tree...
M conflicting_file_1.txt
Falling back to patching base and 3-way merge...
Auto-merging conflicting_file_1.txt
CONFLICT (content): Merge conflict in conflicting_file_1.txt
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 Commit #1
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
```

以上内容是在告诉我们有合并冲突存在,并给出了冲突所在的文件名。在编辑器中打开该文件,可以在某处发现类似如下形式的内容:

```
<<<<<<< HEAD
<p>For help with any issues, email us at [email protected].</p>
=======
<p>Need help? Email [email protected].</p>
>>>>>>> Commit #1
```

`<<<<<<< HEAD` 标记了合并冲突的起始行,直至 `>>>>>>> Commit #1` 标记的结束行,中间通过 `=======` 分隔开冲突双方。其中 `HEAD` 部分为QMK主干上的版本,标记了提交日志的部分为当前分支的本地提交。

由于Git存储的是*文件差异部分*而非整个文件,所以当Git无法在文件中找到一个变更发生前的内容时,就无法知道如何去进行文件变更,重新编辑一下可以解决问题。在更改完成后,保存文件。

```
<p>Need help? Email [email protected].</p>
```

之后,执行:

```
git add conflicting_file_1.txt
git rebase --continue
```

Git即会记录对文件冲突做出的变更,并继续处理剩余的提交,直至全部完成。
76 changes: 76 additions & 0 deletions docs/zh-cn/newbs_git_resynchronize_a_branch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 重新同步已失去同步状态的Git分支

<!---
original document: 0.15.17:docs/newbs_git_resynchronize_a_branch.md
git diff 0.15.17 HEAD -- docs/newbs_git_resynchronize_a_branch.md | cat
-->

假设你在自己的 `master` 分支之上有提交,并且想和QMK仓库进行同步,可以通过 `git pull` 拉取QMK的 `master` 分支到你的库,但同时Github也会提醒你当前分支相比 `qmk:master` 有几个领先的提交,会在你向QMK发起pr时造成麻烦。

?> 本文中的场景基于[在你Fork的主干上:频繁更新,不要提交](zh-cn/newbs_git_using_your_master_branch.md)一文。如果你对那篇文章不熟悉,请先阅读它,再回来继续。

## 备份你在自己的主干分支上的所有变更(可选)

不会有人想把有用的成果弄丢的。如果你想将你的 `master` 分支上的变更另存一份,简便的方法是直接创建一个当前“脏” `master` 分支的副本:

```
git branch old_master master
```

现在 `master` 分支拥有了一个副本分支 `old_master`

## 重新同步分支

现在可以重新同步 `master` 分支了,这里,我们将QMK仓库设置为Git的远程仓库。通过执行 `git remote -v` 可以确认远程仓库配置,输出信息应类似于:

```
QMKuser ~/qmk_firmware (master)
$ git remote -v
origin https://github.com/<your_username>/qmk_firmware.git (fetch)
origin https://github.com/<your_username>/qmk_firmware.git (push)
upstream https://github.com/qmk/qmk_firmware.git (fetch)
upstream https://github.com/qmk/qmk_firmware.git (push)
```

如果你只能看到一个仓库:

```
QMKuser ~/qmk_firmware (master)
$ git remote -v
origin https://github.com/qmk/qmk_firmware.git (fetch)
origin https://github.com/qmk/qmk_firmware.git (push)
```

通过如下命令添加新的远程仓库:

```
git remote add upstream https://github.com/qmk/qmk_firmware.git
```

然后,重新将 `origin` 远程仓库设置为自己的fork:

```
git remote set-url origin https://github.com/<your_username>/qmk_firmware.git
```

在两个远程仓库配置完毕后,需要从QMK的 upstream 仓库中获取到更新,执行:

```
git fetch upstream
```

此时,重新同步你的分支到QMK的版本:

```
git reset --hard upstream/master
```

以上操作会更新你的本地仓库,而你的Github远程仓库仍然处于未同步状态,通过推送,可以让其进入已同步状态。可以通过如下命令来指引Git强行覆盖掉那些仅在你远程仓库中存在的提交:

```
git push --force-with-lease
```

!> **不要**在其它使用者也会提交的分支上执行 `git push --force-with-lease`,否则会覆盖掉他人的提交。

此时你的Github fork,本地文件副本,以及QMK仓库就是一致的了。之后再进行变更([在分支上!](zh-cn/newbs_git_using_your_master_branch.md#making-changes))和提交。
Loading

0 comments on commit 8be6831

Please sign in to comment.