Commit graph

29965 commits

Author SHA1 Message Date
Keyman Build Agent
a59009bdbd auto: increment beta version to 18.0.228 2025-04-03 14:03:40 -04:00
Eberhard Beilharz
6d39ab0b06
Merge pull request #13625 from keymanapp/fix/linux/13590_arrow-keys
fix(linux): allow unhandled keys to pass through to compliant apps

This change fixes a bug introduced in #13372. Before that engine.c determined if keys are handled or not. For keys that we didn't handle we returned FALSE. However, that didn't allow the Core to adjust the context where necessary, so #13372 moved that to Core. However, this caused ibus_keyman_engine_process_key_event to return TRUE even if we didn't handle the key. Instead we called ibus_engine_forward_key_event with the non-handled key. This worked in most applications, but not in the Text Editor.

This change now does no longer call ibus_engine_forward_key_event for compliant apps but instead returns FALSE from ibus_keyman_engine_process_key_event for unhandled keys, allowing the app to see and act on the key event.

An 'unhandled' key here is a key that doesn't match a rule in the keyboard and isn't a character key. Core returns a QIT_EMIT_KEYSTROKE action for that key.

Fixes: #13590
2025-04-03 10:26:27 +02:00
Darcy Wong
52f97d094f
Merge pull request #13645 from keymanapp/fix/android/adjust-height-back
fix(android): Add back button to "Adjust Keyboard Height "menu
2025-04-03 09:45:58 +07:00
Darcy Wong
e9d70fb15a
Merge pull request #13635 from keymanapp/cherrypick/android/13578-adjust-keyboard-height
fix(android): Move responsibility for setting keyboard height preference 🍒
2025-04-03 09:45:28 +07:00
Darcy Wong
231d9e3b6b
Merge branch 'beta' into cherrypick/android/13578-adjust-keyboard-height 2025-04-03 09:44:29 +07:00
Shawn Schantz
114a7479a3
Merge pull request #13550 from keymanapp/fix/mac/13465-word-table-output
fix(mac): reevaluate API compliance for each change in context
2025-04-03 09:40:09 +07:00
Marc Durdin
da5b05a195
Merge pull request #13640 from keymanapp/fix/developer/13600-follow-remove-redundant-lm-fields-from-kps
fix(developer): remove redundant Name and RTL fields from .kps `LexicalModel`
2025-04-03 05:40:32 +07:00
Marc Durdin
a4f33caf65
Merge pull request #13600 from keymanapp/fix/developer/13576-13593-remove-redundant-keyboard-fields-from-kps
fix(developer): remove redundant keyboard fields from .kps
2025-04-03 05:40:18 +07:00
Keyman Server
cda8398398
Merge pull request #13649 from keymanapp/auto/version-beta-18.0.227
auto: increment beta version to 18.0.227
2025-04-02 11:03:41 -07:00
Keyman Build Agent
a13205f1a2 auto: increment beta version to 18.0.227 2025-04-02 14:03:01 -04:00
Eberhard Beilharz
d08f4b17f4
Merge pull request #13637 from keymanapp/docs/linux/engine
docs(linux): add function headers for some of the engine methods
2025-04-02 09:00:01 +02:00
Darcy Wong
4d4508d4c7
Merge pull request #13595 from keymanapp/chore/crowdin/mon
chore(common): Update crowdin strings for Mon
2025-04-02 10:38:41 +07:00
Darcy Wong
3abe596361 fix(android): Add back button to "Adjust Keyboard Height "menu
Add back button and callback handler
2025-04-02 10:19:29 +07:00
Darcy Wong
e894f79880
Merge pull request #13592 from keymanapp/fix/android/430dpi
fix(android): Add dimensions for 320+dpi phones in landscape
2025-04-02 08:41:00 +07:00
Joshua Horton
d6dc759ee7
Merge pull request #13597 from keymanapp/docs/web/gesture-input-serialization
docs(web): document input-serialization aspects of gesture processing
2025-04-02 08:31:34 +07:00
Joshua Horton
c8e8c1320c
Merge pull request #13587 from keymanapp/docs/web/gesture-modeling-and-processing
docs(web): document internals for gesture modeling and processing
2025-04-02 08:31:22 +07:00
Marc Durdin
0f05da957f fix(developer): remove redundant Name and RTL fields from .kps LexicalModel
Follows on from the similar changes to `Keyboard` fields in #13600. This
deprecates the `RTL` and `Name` fields. `RTL` was never used. `Name` was
written but never presented to end users, so effectively irrelevant.
`Name` also was present in `File.Description` (already deprecated) for
the corresponding model.js _and_ `Info.Name`, so doubly redundant.

Also updates the schema documentation to mark the deprecated fields.

Relates-to: #13600
2025-04-02 05:39:09 +07:00
Keyman Server
89742b853c
Merge pull request #13639 from keymanapp/auto/version-beta-18.0.226
auto: increment beta version to 18.0.226
2025-04-01 11:03:56 -07:00
Keyman Build Agent
911c8f082e auto: increment beta version to 18.0.226 2025-04-01 14:03:18 -04:00
Eberhard Beilharz
659e844f83
docs(linux): add function headers for some of the engine methods 2025-04-01 16:46:18 +02:00
Eberhard Beilharz
ac6b521583
docs(linux): clarify the newly added return values
Addresses code review comments.
2025-04-01 16:44:29 +02:00
Eberhard Beilharz
9147bdb689
Merge pull request #13624 from keymanapp/refactor/linux/warning
refactor(linux): remove warning if no custom keyboards exist

If the dconf setting for custom keyboards doesn't exist, i.e. we never saved custom keyboards before, the previous code resulted in a warning showing up: `(ibus-engine-keyman:4276): GLib-CRITICAL **: 14:31:16.030: g_hash_table_lookup: assertion 'hash_table != NULL' failed`.

This PR adds a null check before trying to access the custom keyboards hash table and thus removes the warning.
2025-04-01 12:52:59 +02:00
Darcy Wong
afbe3d00cf fix(android): Update the keyboard height
Per review comment
2025-04-01 14:56:25 +07:00
Joshua Horton
0e055b2e67
Merge pull request #13549 from keymanapp/fix/ios/remove-missing-keyboards
fix(ios): uninstalls keyboards upon failure to load
2025-04-01 14:56:17 +07:00
Joshua Horton
bb51b8e288
Merge pull request #13548 from keymanapp/change/ios/atomic-copy-overwrite
change(ios): prevent file erasure during copyWithOverwrite error state
2025-04-01 14:56:09 +07:00
Marc Durdin
690d62ca3f fix(android): Move responsibility for setting keyboard height preference
Cherrypick of #13578 to beta

Moves responsibility for setting keyboard height preference into `applyKeyboardHeight()`
2025-04-01 14:10:55 +07:00
Joshua Horton
002b7fc03b docs(ios): tweaks code comment for clarity 2025-04-01 12:53:07 +07:00
Darcy Wong
938bfcea76 chore(mac): Clean up comment 2025-04-01 10:16:25 +07:00
Darcy Wong
bbf249b64c chore(android): Remove whitespace 2025-04-01 10:16:08 +07:00
Darcy Wong
14d4b62f2d
Merge pull request #13594 from keymanapp/chore/crowdin/it
chore(mac,windows): Update Crowdin strings for Italian
2025-04-01 10:05:41 +07:00
Joshua Horton
6945a264ff docs(web): improve clarity for the onNewTrackedPath section per review comment 2025-04-01 09:14:30 +07:00
Joshua Horton
63d6df6e00 Merge branch 'docs/web/gesture-modeling-and-processing' into docs/web/gesture-input-serialization 2025-04-01 08:59:25 +07:00
Marc Durdin
6755de11b0
Merge pull request #13622 from keymanapp/fix/developer/13610-handle-und-in-keyboard-info
fix(developer): add special handling for 'und' in kmc-keyboard-info
2025-04-01 08:51:09 +07:00
Joshua Horton
3ed52349d3 docs(web): addresses more review concerns 2025-04-01 08:50:40 +07:00
Joshua Horton
9034e045d6
docs(web): Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-04-01 08:41:27 +07:00
Joshua Horton
4f5b51e921
Merge pull request #13621 from keymanapp/fix/web/remove-extra-last-row-offset
fix(web): remove extra px offset from last OSK row
2025-04-01 08:39:35 +07:00
Keyman Server
227fcfafda
Merge pull request #13627 from keymanapp/auto/version-beta-18.0.225
auto: increment beta version to 18.0.225
2025-03-31 11:03:18 -07:00
Keyman Build Agent
5676c77a34 auto: increment beta version to 18.0.225 2025-03-31 14:02:34 -04:00
Eberhard Beilharz
915d30cd95
fix(linux): fix cursor movement
This change fixes a bug introduced in #13372. Before that `engine.c`
determined if keys are handled or not. For keys that we didn't handle
we returned `FALSE`. However, that didn't allow the Core to adjust the
context where necessary, so #13372 moved that to Core. However, this
caused `ibus_keyman_engine_process_key_event` to return `TRUE` even if
we didn't handle the key. Instead we called `ibus_engine_forward_key_event`
with the non-handled key. This worked in most applications, but not
in the Text Editor.

This change now does no longer call `ibus_engine_forward_key_event` for
compliant apps but instead returns `FALSE` from
`ibus_keyman_engine_process_key_event` for unhandled keys, allowing the
app to see and act on the key event.

Fixes: #13590
2025-03-31 17:58:08 +02:00
Eberhard Beilharz
4a9a3dc55f
refactor(linux): remove a warning
The previous code resulted in warnings showing up:
`(ibus-engine-keyman:4276): GLib-CRITICAL **: 14:31:16.030: g_hash_table_lookup: assertion 'hash_table != NULL' failed`.
This should work around the warning.
2025-03-31 16:33:31 +02:00
Joshua Horton
581fe688c3 docs(web): adds index link to the new doc 2025-03-31 15:39:53 +07:00
Joshua Horton
72576811d0 Merge branch 'docs/web/gesture-modeling-and-processing' into docs/web/gesture-input-serialization 2025-03-31 15:38:22 +07:00
Joshua Horton
fab49b9135 docs(web): also link the older internal-doc page 2025-03-31 15:31:57 +07:00
Joshua Horton
9fae7e9039 docs(web): central index.md start location 2025-03-31 15:28:34 +07:00
Joshua Horton
00239eaf56 docs(web): revamps the glossary 2025-03-31 14:13:33 +07:00
Darcy Wong
6547458a3c fix(android): Make banner smaller
Following review suggestion for banner not to be more than 1/4 of the main keyboard body.
2025-03-31 13:37:23 +07:00
Marc Durdin
9c1c417457 fix(developer): add special handling for 'und' in kmc-keyboard-info
This is a workaround for missing 'und' language tag.

`(new Intl.Locale('und')).language` returns `undefined` in V8, as of 31
March 2025. This means we cannot rely on `Intl.Locale` to parse the
bcp47 string for us. The implemented workaround is to replace `und` with
a known-good language subtag, and then swap it back out in later
processing.

Also adds unit test and new warning messages for invalid language tags
that were exposed during testing of this.

Fixes: #13610
2025-03-31 12:30:05 +07:00
Joshua Horton
6dbca2a4ae docs(web): gesture-modeling intro breakdown reordering 2025-03-31 12:29:21 +07:00
Joshua Horton
8102f4bb64 docs(web): terms.md -> glossary.md 2025-03-31 10:55:33 +07:00
Joshua Horton
eae55e4fa1 fix(web): remove extra px offset from last OSK row
Fixes: #13620

Turns out there was actually a final-row pixel offset being applied for the OSK.  I _believe_ this was something originally done for touch-oriented OSKs that ended up applied to all during 17.0's OSK refactoring efforts.

kmwosk.css does define layer-group padding above and below (1 px each) for touch keyboards already.  Furthermore, things look fine when removing this extra 1px offset on the bottom from the last row.  I think we're fine to just drop this minor offset and move on for now.
2025-03-31 10:41:50 +07:00