Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
Find a file
Marc Durdin e5c2525241 refactor(core): split context API from Core primary API
Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the
standard Core API. The only consumers that have a need to access these
APIs are the IMX integration in Engine for Windows, and the Keyman
Developer Debugger.

These symbols are currently used by Developer:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()`
* `km_core_context_set()`
* `km_core_context_clear()`

These symbols are currently used by Windows IMX:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_context_items_dispose()`
* `km_core_context_item_list_size()`
* `km_core_state_get_intermediate_context()`

The following functions and symbols are moving to
keyman_core_api_context.h:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()` function
* `km_core_state_get_intermediate_context()` function
* `km_core_context_set()` function
* `km_core_context_clear()` function
* `km_core_context_get()` function
* `km_core_context_items_from_utf16()` function
* `km_core_context_items_from_utf8()` function
* `km_core_context_items_to_utf8()` function
* `km_core_context_items_to_utf16()` function
* `km_core_context_items_to_utf32()` function
* `km_core_context_items_dispose()` function
* `km_core_context_length()` function
* `km_core_context_append()` function
* `km_core_context_shrink()` function
* `km_core_context_item_list_size()` function
2024-01-16 12:04:41 +07:00
.github chore(core): Ignore C++ symbols 2024-01-15 18:47:53 +01:00
android chore(common): Update crowdin for Spanish Latin America 2024-01-12 09:01:38 +07:00
common Merge pull request #10330 from keymanapp/fix/web/execution-timer-outlier-logic 2024-01-12 11:32:54 +07:00
core refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
developer Merge pull request #10364 from keymanapp/feat/developer/10191-warn-on-gestures-downlevel 2024-01-15 12:34:37 +11:00
docs docs(linux): Update sample settings 2024-01-12 09:33:57 +01:00
ios Merge pull request #10339 from keymanapp/fix/ios/8168-reposition-menu 2024-01-12 14:24:55 +07:00
linux Merge pull request #10379 from keymanapp/refactor/linux/10365-context-debug 2024-01-16 13:38:46 +11:00
mac refactor(mac): remove legacy Core context API calls 2024-01-16 11:12:01 +07:00
oem/firstvoices fix(android/engine): Use fallback keyboard if keyboard index undefined 2024-01-10 09:29:11 +07:00
resources fix(common): give warning if emcc.py is present but not executable 2023-12-20 18:25:53 -06:00
web Merge pull request #10371 from keymanapp/fix/web/special-text-hints 2024-01-15 13:30:38 +07:00
windows refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
.clang-format chore(common): Add C++ formatting rules 2021-07-29 18:50:25 +02:00
.editorconfig chore(linux): Address a few more lintian warnings 2022-03-15 15:32:10 +01:00
.eslintrc.cjs chore(developer): add eslint devDependency for kmc 2023-04-25 13:44:56 +07:00
.flake8 chore(linux): Add integration tests for ibus-keyman 2021-11-04 09:22:28 +01:00
.gitignore feat(developer): remove kmcomp 2023-09-09 17:47:15 +02:00
.nycrc.json feat(developer): fixup and prepare build scripts and docs for kmc 2022-09-19 06:36:06 +10:00
.shellcheckrc chore(linux): Properly fix shellcheck SC1091 warnings 2023-05-11 11:59:15 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021-10-08 10:46:53 +11:00
configure-repo.sh chore: update docs and non-standard readlink refs 2023-02-22 10:41:54 +07:00
CONTRIBUTING.md chore(linux): Fix lintian warnings 2022-03-10 20:30:44 +01:00
crowdin.yml chore(common): Update Kannada strings 2023-02-07 21:39:23 +07:00
HISTORY.md auto: increment master version to 17.0.245 2024-01-15 13:03:13 -05:00
LICENSE.md chore: license date 2022-03-15 13:59:27 +11:00
package-lock.json chore(deps-dev): bump follow-redirects from 1.14.9 to 1.15.4 2024-01-09 10:48:12 +00:00
package.json fix(common): publish @keymanapp/developer-utils as npm module 2023-12-01 14:05:51 +07:00
README.md Update README.md 2021-10-08 18:06:46 +11:00
TIER.md Update TIER.md 2022-11-14 07:34:26 +11:00
tsconfig.base.json chore: fixup js imports for schema validators 2023-10-07 06:46:10 +07:00
tsconfig.json chore(web): Merge branch 'feature-gestures' into chore/merge-master-into-feature-gestures 2023-10-12 10:31:56 +07:00
VERSION.md auto: increment master version to 17.0.245 2024-01-15 13:03:13 -05:00

Keyman

Keyman makes it possible for you to type in any language on Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. Create keyboard layouts with Keyman Developer and share them with the community in the keyboards repository. The Keyman Community have already contributed keyboard layouts for over 2,000 languages!

License

Copyright (c) SIL International.

Keyman is an open source project distributed under the MIT license.

Get Involved

Development Status

Important Links