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

Overhaul Unicode Common functionality #4325

Merged
merged 42 commits into from
Dec 19, 2018
Merged

Conversation

drashna
Copy link
Member

@drashna drashna commented Nov 2, 2018

  • Move input mode initialization to a proper function and call it from matrix_init_quantum
  • Move all the keycode processing to unicode common file
  • Add keycodes for unicode input methods
  • Add optional audio feedback to keycodes
  • Remove UC_OSX_RALT input method
  • Make keycodes used by UC_OSX and UC_WINC configurable
  • Add optional ability to cycle through input modes (configurable)

Massive thanks to:
Co-Authored-By: [email protected]

docs/feature_unicode.md Outdated Show resolved Hide resolved
quantum/process_keycode/process_ucis.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.h Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
@drashna
Copy link
Member Author

drashna commented Nov 2, 2018

good lord, the number of commits!

Yeah, this PR is getting squashed. :D

@vomindoraan
Copy link
Contributor

Additional suggestions are here: drashna#13.

Copy link
Contributor

@vomindoraan vomindoraan left a comment

Choose a reason for hiding this comment

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

LGTM 👍 Would be great if this could be merged soon, as this paves the way for further improvements to Unicode support.

@vomindoraan
Copy link
Contributor

@drashna Hahaha, I saw that 😄 I was actually intending to add it in #4217 since I didn't want to bloat this PR any further (though I guess it kind of did end up bloated).

@vomindoraan
Copy link
Contributor

On that note: drashna#14

docs/feature_unicode.md Outdated Show resolved Hide resolved
quantum/quantum_keycodes.h Outdated Show resolved Hide resolved
quantum/quantum_keycodes.h Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
quantum/process_keycode/process_unicode_common.c Outdated Show resolved Hide resolved
docs/feature_unicode.md Outdated Show resolved Hide resolved
docs/feature_unicode.md Outdated Show resolved Hide resolved
@vomindoraan
Copy link
Contributor

Bumparoni

@drashna Could you resolve the conflict?

@drashna
Copy link
Member Author

drashna commented Nov 25, 2018

@vomindoraan after much deliberation, I finally agree that the configurable OSX key is definitely better and am/have worked that into this PR.

And I think I'll work the cycle button in too.

@vomindoraan
Copy link
Contributor

@drashna There's no need to expand the scope of this PR further. The sooner it is merged, the sooner the other PRs implementing those feature can be merged as well. So please don't do that.

I just merged this PR into #4217. Cycling (#4221) isn't done yet: I need to update the docs.

drashna and others added 15 commits December 5, 2018 18:41
* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms
Co-Authored-By: drashna <[email protected]>
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace
@mechmerlin mechmerlin merged commit fdeec29 into qmk:master Dec 19, 2018
@drashna drashna deleted the make_unicode_init branch December 19, 2018 16:42
ishtob pushed a commit to ishtob/qmk_firmware that referenced this pull request Jan 1, 2019
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* remove merge artifacts

* Unicode common cleanup (#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
yeliu84 pushed a commit to yeliu84/qmk_firmware that referenced this pull request Jan 7, 2019
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* remove merge artifacts

* Unicode common cleanup (qmk#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (qmk#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
rseymour pushed a commit to rseymour/qmk_firmware that referenced this pull request Mar 13, 2019
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* remove merge artifacts

* Unicode common cleanup (qmk#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (qmk#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
djthread pushed a commit to djthread/qmk_firmware that referenced this pull request Mar 17, 2019
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* remove merge artifacts

* Unicode common cleanup (qmk#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (qmk#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* Because I missed it!

Co-Authored-By: drashna <[email protected]>

* Fix spacing

Co-Authored-By: drashna <[email protected]>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <[email protected]>

* non-breaking

Co-Authored-By: drashna <[email protected]>

* Considered that

Co-Authored-By: drashna <[email protected]>

* Yuuup

Co-Authored-By: drashna <[email protected]>

* consistency

Co-Authored-By: drashna <[email protected]>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* white spaces

Co-Authored-By: drashna <[email protected]>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (qmk#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan ([email protected])

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <[email protected]>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
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.

5 participants