[Keymap] csc027/macro-sync-keymap (#7873)

* Basic functionality to synchronize the strings and enums using C preprocessor macros.

* Updated all the custom convenience macros to work.

* Removed some duplicate update_tri_layer calls.

* Simplified the convenience accelerator macros for synchronizing enums and strings by removing the short enum names.

* Updated the CUSTOM_MACROS macro to use SS_LCTL instead of SS_LCTRL.

* Fixed a bug where the right side of the convenience layer in the Iris keymap was incorrectly listed twice.

* Removed the tenkey from the convenience layer.  Added Windows 10 virtual desktop shortcuts to the convenience layer.

* Fixed a bug where the macro range was not set correctly.

* Added sigil values for the keycode enum so that additions to the sync macros will not require changes to the process_record_user ranges.

* Hacked send_string_P to work with ChibiOS boards.

* Switched to using I2C for the Iris keyboard.

* Finished a comment.

* Updated comments to explain that for non-AVR MCUs, the PROGMEM macro doesn't do anything.

* Updated the synchronization macros to use the more descriptive "NAME" instead of "CALL".  Moved the Control-Alt-Delete chord macro to the  synchronization macro.

* Simplified the custom macros by consolidating the macros into a context change macro instead of using alt-tab and minimize macros.

* Fixed a formatting issue where several tabs were used instead of 4 spaces.

* Added more comments to explain the synchronization macros.

* Simplified the PARAMS macro, since any parameters could be passed with a space by the declarer instead.

* Consolidated the synchronization macros into a single list.  Simplified the synchronization mechanism.

* Removed the overloading macro, since it is no longer needed.

* Updated the convenience layer comments to reflect the changes made.

* Renamed the git_macros pointer table to custom_macros, since it no longer solely consists of git macros.

* Clarified that the send_string_P function's use of pgm_read_byte is different for AVR and non-AVR compilation targets.
This commit is contained in:
csc027
2020-01-13 17:41:13 +00:00
committed by Drashna Jaelre
parent 390a4fdc9d
commit 1b8cb95f2e
5 changed files with 141 additions and 118 deletions

View File

@ -8,33 +8,13 @@ enum custom_keycodes {
LOWER = SAFE_RANGE,
RAISE,
// Git Keycodes
GIT_ADD, // Add
GIT_BRC, // Branch
GIT_CHK, // Checkout
GIT_CHR, // Cherry-Pick
GIT_CMT, // Commit
GIT_DIF, // Diff
GIT_FTC, // Fetch
GIT_GRP, // Grep
GIT_LOG, // Log
GIT_INT, // Init
GIT_MRG, // Merge
GIT_MOV, // Move (mv)
GIT_PSH, // Push
GIT_PUL, // Pull
GIT_RBS, // Rebase
GIT_RMT, // Remote
GIT_RST, // Reset
GIT_SHW, // Show
GIT_STH, // Stash
GIT_STS, // Status
GIT_TAG, // Tag
// Remote Desktop
MC_MRD7, // Minimize Remote Desktop on Windows 7
MC_MRD8, // Minimize Remote Desktop on Windows 8+
MC_ATRD // Switch windows on local machine from Remote Desktop on Windows
MC_first,
// Macro Keycodes
CUSTOM_MACROS(CUSTOM_ENUM, DROP, COMMA_DELIM),
MC_last
};
enum custom_layers {