diff options
author | Eric Gebhart <e.a.gebhart@gmail.com> | 2022-11-12 00:09:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-11 23:09:41 +0000 |
commit | 050472a4d07d07c1d9ae17d2fd26d44e9d95d950 (patch) | |
tree | 8c326011ec8cac395a92839ec4b420bf12652fa1 /users/ericgebhart/lang/locales.h | |
parent | 49a78b81145213e2883e6c3beab6d9c136c10085 (diff) |
Eric Gebhart user space and keymaps (#17487)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/ericgebhart/lang/locales.h')
-rw-r--r-- | users/ericgebhart/lang/locales.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/users/ericgebhart/lang/locales.h b/users/ericgebhart/lang/locales.h new file mode 100644 index 0000000000..e38f5aeb72 --- /dev/null +++ b/users/ericgebhart/lang/locales.h @@ -0,0 +1,42 @@ +#pragma once +/* + Copyright 2022 Eric Gebhart <e.a.gebhart@gmail.com> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "ericgebhart.h" + +// Stuff we need for locale and layer switching +// there can be more but we need to know where they start and end. +// remember there's limitations on layers. +// Our locales. so it's easy to switch between them. + + +const uint16_t base_layer_count = BASE_NAME_COUNT - 1; + +const uint16_t locale_layers[][2] = { + [LOCALE_DEFAULT] = {0, base_layer_count}, +#ifdef SECOND_LOCALE + [LOCALE_TWO] = {BASE_NAME_COUNT, BASE_NAME_COUNT + base_layer_count}, +#endif +}; + +uint32_t current_locale = LOCALE_DEFAULT; +#define LOCALE_LAYER_RANGE locale_layers[current_locale] + +bool process_locales(uint16_t keycode, keyrecord_t *record); + +#define PROCESS_LOCALES \ + if (!process_locales(keycode, record)) { return false; } |