diff --git a/keyboards/moonlander/keymaps/ikcelaks/magickey_config.json b/keyboards/moonlander/keymaps/ikcelaks/magickey_config.json new file mode 100644 index 00000000..017f4456 --- /dev/null +++ b/keyboards/moonlander/keymaps/ikcelaks/magickey_config.json @@ -0,0 +1,7 @@ +{ + "rules_file_name": "./magickey_dict.txt", + "magic_chars": "☆✵★✪", + "wordbreak_char": ":", + "comment_char": "#", + "separator": "⇒" +} diff --git a/keyboards/moonlander/keymaps/ikcelaks/magickey_data.h b/keyboards/moonlander/keymaps/ikcelaks/magickey_data.h new file mode 100644 index 00000000..40a2ba6c --- /dev/null +++ b/keyboards/moonlander/keymaps/ikcelaks/magickey_data.h @@ -0,0 +1,52 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +/******************************************************************************* + 88888888888 888 d8b .d888 d8b 888 d8b + 888 888 Y8P d88P" Y8P 888 Y8P + 888 888 888 888 + 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b + 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K + 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. + 888 888 888 888 X88 888 888 888 Y8b. 888 X88 + 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' + 888 888 + 888 888 + 888 888 + .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 + d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 + 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 + Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 + "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 + 888 + Y8b d88P + "Y88P" +*******************************************************************************/ + +#pragma once + +// Autocorrection dictionary with longest match semantics: +// Autocorrection dictionary (6 entries): +// j☆ -> just +// j☆☆ -> justment +// ☆☆ -> ☆n +// j✵ -> join +// jud☆ -> judge +// jud☆☆ -> judgment + +#define AUTOCORRECT_MIN_LENGTH 2 // "j☆" +#define AUTOCORRECT_MAX_LENGTH 5 // "jud☆☆" +#define DICTIONARY_SIZE 37 +#define COMPLETIONS_SIZE 18 +#define MAGICKEY_COUNT 4 + +static const uint16_t magickey_data[DICTIONARY_SIZE] PROGMEM = { + 0x4100, 0x0005, 0x0101, 0x0021, 0x0000, 0x4007, 0x000C, 0x000D, 0x0011, 0x0100, 0x0013, 0x0000, 0x0018, 0x000D, 0x0000, 0x8000, + 0x0000, 0x8000, 0x0003, 0xC000, 0x0007, 0x4007, 0x001A, 0x000D, 0x001F, 0x0000, 0x0018, 0x000D, 0x0000, 0x8001, 0x0009, 0x8000, + 0x0009, 0x000D, 0x0000, 0x8000, 0x000E +}; + +static const uint8_t magickey_completions_data[COMPLETIONS_SIZE] PROGMEM = { + 0x67, 0x65, 0x00, 0x75, 0x73, 0x74, 0x00, 0x6E, 0x00, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x6F, 0x69, + 0x6E, 0x00 +}; diff --git a/keyboards/moonlander/keymaps/ikcelaks/magickey_dict.txt b/keyboards/moonlander/keymaps/ikcelaks/magickey_dict.txt new file mode 100644 index 00000000..22324eea --- /dev/null +++ b/keyboards/moonlander/keymaps/ikcelaks/magickey_dict.txt @@ -0,0 +1,33 @@ +# Copyright ✵0✵☆-✵0✵✵ Google LLC +# +# Licensed under the Apache License, Version ✵.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-✵.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#c☆ ⇒ cy +#p☆ ⇒ py +#d☆ ⇒ dy +#y☆ ⇒ yp +#g☆ ⇒ gy +#j☆ ⇒ just +#jud☆ ⇒ judge +#✵ ⇒ @ +#i✵ ⇒ ing +#a✵ ⇒ and +#:☆ ⇒ the +#:✵ ⇒ for + +j☆ ⇒ just +j☆☆ ⇒ justment +☆☆ ⇒ ☆n +j✵ ⇒ join +jud☆ ⇒ judge +jud☆☆ ⇒ judgment