keymanapp / keymanapp/keyman

feat(windows): investigate why km_core_state_context_set_if_needed needs to be called before each keystroke.

Open
#15,962 0 comments 0 reactions 1 assignee Claimed by @rc-swag View on GitHub
feat windows/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

When going through the `state_api.test.cpp` tests. I observed that the action_struct would have a delete action for the previous entered character when simulating the `S` `I` `l` key presses. Unless `km_core_state_context_set_if_needed` is called after each.
I found the cause to be in the normalize_nfc line [if(!km::core::actions_normalize(&cached_context, &app_context, this->_action_struct)) {](https://github.com/keymanapp/keyman/blob/29b12ba42e7d59ec30a9a41a119823b992334774/core/src/state.cpp#L143)
I just haven't had a chance to investigate why further why this is.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.