Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Bootmagic Lite to QMK #4215

Merged
merged 21 commits into from Oct 27, 2018
Merged

Add Bootmagic Lite to QMK #4215

merged 21 commits into from Oct 27, 2018

Conversation

drashna
Copy link
Member

@drashna drashna commented Oct 23, 2018

This allows for boards to have the "hold while plugging in" option to jump into the bootloader without the headache that full on bootmagic can bring with it.

Documentation is included on how to set the key in question (row and column), as well as the ability to replace the function to customize it based on the board.

@yiancar
Copy link
Contributor

yiancar commented Oct 23, 2018

Could we add a second key and && them together?
I think just one single key to be held down is too little safety.
Also could there be an eeprom clear command before the bootloader jump? In my experience, its the eeprom clear that saves the day and not the jump:)

@wilba
Copy link
Contributor

wilba commented Oct 23, 2018

@yiancar there are hundreds of M6-A's out there with only a single key bootmagic_lite, you worry too much, friendo ;-)

But I agree with you on the EEPROM reset, that's the #1 thing that solves Zeal60 customer issues, because of some random bit of QMK magic being stuck on...

Copy link
Contributor

@mechmerlin mechmerlin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would almost prefer BOOTMAGIC_LITE_ENABLE = yes rather than using lite for BOOTMATIC_ENABLE. Or maybe even calling it something else? What's a lite version of magic? Alchemy? lol.

docs/feature_bootmagic.md Outdated Show resolved Hide resolved
docs/feature_bootmagic.md Outdated Show resolved Hide resolved
docs/feature_bootmagic.md Outdated Show resolved Hide resolved
@drashna
Copy link
Member Author

drashna commented Oct 23, 2018

@yiancar I could, and that's what I had originally. But Wilba has a point about the single key stuff.

Additionally, if you noticed, I defined the function weakly. So if you want 2 keys required on your board, you can add bootmagic_lite to your keyboard's c file, and it will use that function instead. This allows for customization of the feature.... up to the point that you could emulate full bootmagic.

@mechmerlin I thought about that, but the problem with that, is then I need to check both option's status and error out if both are enabled. This is a simpler way to ensure that only one of them is enabled, and with minimal change to keymaps.

I'm not sure which approach is best, though. I personally like this one better, though.
@jackhumbert @skullydazed @fredizzimo, any input on how to handle enabling this feature?

@yiancar
Copy link
Contributor

yiancar commented Oct 23, 2018

Yep I saw that so no complains for the single key! However the eeprom is a must I think:)

@drashna
Copy link
Member Author

drashna commented Oct 23, 2018

@yiancar I'm not sold on the eeprom reset.

In fact, I found it more of a pain in the ass, for me.

However, I can re-add it, if there is a good reason for it.

I've re-added the EEPROM reset, despite misgivings I may have about it.

And add eeprom-less version to drashna userspace for his sanity
@jackhumbert jackhumbert merged commit 4ffcacd into qmk:master Oct 27, 2018
@jackhumbert
Copy link
Member

Great! Thanks :)

@drashna drashna deleted the bootmagic_lite branch October 27, 2018 18:54
Dannzzor added a commit to Dannzzor/qmk_firmware that referenced this pull request Oct 28, 2018
* upstream/master: (1215 commits)
  Add Bootmagic Lite to QMK (qmk#4215)
  Keymap: update keymap transmogrified  (qmk#4241)
  Keyboard: Redox keymaps refactoring (qmk#4258)
  Keymap: Personal dz60 keymap (qmk#4251)
  Keymap: add my planck rev 5 layout (qmk#4085)
  Redox Wireless configurator support (qmk#4256)
  Keyboard: Add new keyboard Zinc (qmk#4245)
  Docs: Add references to One Shot functions, and clean up formatting (qmk#4189)
  Add caveat for basic keycodes in Tap Dance docs
  Add delayed flashing option for DFU Util (qmk#4225)
  RGB Support for Panc60 (qmk#4253)
  Add key caveat to combos doc
  Fix mouse_send() on chibiOS so it won't lock up the firmware
  Keymap: Update userspace (I want my Hacktoberfest shirt!) (qmk#4252)
  Keyboard: Add HS60 V2 (qmk#4250)
  add better example
  add support for encoders to core
  Ergodox Infinity: Swapped Row and Column in comments (qmk#4247)
  JD45: readme update
  JD45: mjt6u keymap refactor
  ...
zer09 pushed a commit to zer09/qmk_firmware that referenced this pull request Nov 3, 2018
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
3n4rKy pushed a commit to 3n4rKy/qmk_firmware that referenced this pull request Nov 4, 2018
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
djthread pushed a commit to djthread/qmk_firmware that referenced this pull request Jan 9, 2019
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
rseymour pushed a commit to rseymour/qmk_firmware that referenced this pull request Mar 13, 2019
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
yamad pushed a commit to yamad/qmk_firmware that referenced this pull request Apr 10, 2019
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants