From 0422b3f912d635fecca8ea316fb06241fc6783fb Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 19 Jan 2026 18:02:06 +0100 Subject: [PATCH 1/2] chore(core): Remove `km_core_keyboard_attrs.folder_path` PR #12769 removed `km_core_keyboard_load` that allowed loading a keyboard from a path. Instead we now pass a BLOB to core to load a keyboard. With the function gone there is no longer a need to have a field with the path. Follow-up-of: #12497 Related-to: #12769 Test-bot: skip --- core/docs/api/keyboards.md | 6 +----- core/include/keyman/keyman_core_api.h | 8 -------- core/src/keyboard.hpp | 2 +- developer/src/tike/main/Keyman.System.KeymanCore.pas | 1 - 4 files changed, 2 insertions(+), 15 deletions(-) diff --git a/core/docs/api/keyboards.md b/core/docs/api/keyboards.md index 3439e20722b..07a30921c9c 100644 --- a/core/docs/api/keyboards.md +++ b/core/docs/api/keyboards.md @@ -20,7 +20,6 @@ Provides read-only information about a keyboard. typedef struct { km_core_cp const * version_string; km_core_cp const * id; - km_core_path_name folder_path; km_core_option_item const * default_options; } km_core_keyboard_attrs; @@ -33,9 +32,6 @@ typedef struct { `id` : Keyman keyboard ID string. -`folder_path` -: Path to the unpacked folder containing the keyboard and associated resources. - `default_options` : Set of default values for any options included in the keyboard. @@ -662,4 +658,4 @@ km_core_state_to_json(km_core_state const *state, [km_core_event_flags]: processor#km_core_event_flags "km_core_event_flags enum" [km_core_process_event]: processor#km_core_process_event "km_core_process_event function" [km_core_event]: processor#km_core_event "km_core_event function" -[km_core_event_code]: processor#km_core_event_code "km_core_event_code enum" \ No newline at end of file +[km_core_event_code]: processor#km_core_event_code "km_core_event_code enum" diff --git a/core/include/keyman/keyman_core_api.h b/core/include/keyman/keyman_core_api.h index eb9e5ec7b60..4de4863a5fd 100644 --- a/core/include/keyman/keyman_core_api.h +++ b/core/include/keyman/keyman_core_api.h @@ -1011,11 +1011,6 @@ Provides read-only information about a keyboard. typedef struct { km_core_cu const * version_string; km_core_cu const * id; - - // TODO-web-core: Deprecate this field (#12497) - // KMN_DEPRECATED - km_core_path_name folder_path; - km_core_option_item const * default_options; } km_core_keyboard_attrs; @@ -1029,9 +1024,6 @@ typedef struct { `id` : Keyman keyboard ID string. -`folder_path` -: Path to the unpacked folder containing the keyboard and associated resources (deprecated). - `default_options` : Set of default values for any options included in the keyboard. diff --git a/core/src/keyboard.hpp b/core/src/keyboard.hpp index 2ca7118d870..1c617b27e88 100644 --- a/core/src/keyboard.hpp +++ b/core/src/keyboard.hpp @@ -36,7 +36,7 @@ namespace core using options_store = decltype(_default_opts); keyboard_attributes() - : km_core_keyboard_attrs {nullptr, nullptr, nullptr, nullptr} {} + : km_core_keyboard_attrs {nullptr, nullptr, nullptr} {} keyboard_attributes(keyboard_attributes const &) = delete; keyboard_attributes(keyboard_attributes &&); diff --git a/developer/src/tike/main/Keyman.System.KeymanCore.pas b/developer/src/tike/main/Keyman.System.KeymanCore.pas index 22c4ac49430..154032c0599 100644 --- a/developer/src/tike/main/Keyman.System.KeymanCore.pas +++ b/developer/src/tike/main/Keyman.System.KeymanCore.pas @@ -239,7 +239,6 @@ function km_core_state_options_to_json( km_core_keyboard_attrs = record version_string: pkm_core_cu; id: pkm_core_cu; - folder_path: km_core_path_name; default_optons: pkm_core_option_item end; From de49944aa74f679bff48f956efade2c3b619419c Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 21 Jan 2026 18:27:37 +0100 Subject: [PATCH 2/2] chore(web): remove `keyboard_attributes._folder_path` --- core/src/keyboard.cpp | 2 -- core/src/keyboard.hpp | 2 -- 2 files changed, 4 deletions(-) diff --git a/core/src/keyboard.cpp b/core/src/keyboard.cpp index 0f104f9422a..da8054a6aeb 100644 --- a/core/src/keyboard.cpp +++ b/core/src/keyboard.cpp @@ -26,7 +26,6 @@ keyboard_attributes::keyboard_attributes(std::u16string const & kbid, options_store const &opts) : _keyboard_id(kbid), _version_string(version), - _folder_path(""), _default_opts(opts) { // Ensure that the default_options array will be properly terminated. @@ -38,7 +37,6 @@ keyboard_attributes::keyboard_attributes(std::u16string const & kbid, keyboard_attributes::keyboard_attributes(keyboard_attributes &&rhs) : _keyboard_id(std::move(rhs._keyboard_id)), _version_string(std::move(rhs._version_string)), - _folder_path(""), _default_opts(std::move(rhs._default_opts)) { rhs.id = rhs.version_string = nullptr; diff --git a/core/src/keyboard.hpp b/core/src/keyboard.hpp index 1c617b27e88..fd5a10898ca 100644 --- a/core/src/keyboard.hpp +++ b/core/src/keyboard.hpp @@ -26,8 +26,6 @@ namespace core { std::u16string _keyboard_id; std::u16string _version_string; - // unused and deprecated - core::path _folder_path; std::vector