Commit graph

662 commits

Author SHA1 Message Date
Ross
ae80062815 chore(windows): missed rename IntLoadKeyboardOptionsRegistrytoCore 2023-05-04 15:11:14 +10:00
Ross
708b6bcf68 chore(windows): rename KeyboardOptionCoretoRegistry
LoadKeyboardOptionsREGCore -> LoadKeyboardOptionsRegistrytoCore
SaveKeyboardOptionREGCore -> SaveKeyboardOptionCoretoRegistry
2023-05-04 14:16:09 +10:00
Ross
504e4bd671 chore(windows): rename MapKeyboardCore 2023-05-04 13:08:31 +10:00
Ross
ebac0bb54b chore(windows): remove save/restore keyboard options 2023-05-03 15:19:16 +10:00
Ross
2935084b45 chore(windows): do nothing on WM_UNICHAR 2023-05-03 15:09:45 +10:00
Ross
9aa6ab2ee0 chore(windows): remove addins c-h files 2023-05-03 14:48:03 +10:00
Ross
bc40860b09 chore(windows): remove EthnologueCodeToKeymanID 2023-05-03 14:13:17 +10:00
Ross
3de6d819c0 chore(windows): remove dulicate function definition calldll 2023-04-27 16:15:09 +10:00
Ross
0ee25dc59f chore(windows): Revert "chore(windows): remove addins c-h files"
This reverts commit 5f07f7ad08.
2023-04-27 14:15:06 +10:00
Ross
ec01969adc chore(windows): fix issue number in comments 2023-04-26 23:00:21 +10:00
Ross
5f07f7ad08 chore(windows): remove addins c-h files 2023-04-21 19:02:03 +10:00
Ross
4019a79676 chore(windows): address review comments 2023-04-21 18:43:50 +10:00
Ross
616dcc8420 chore(windows): revert whitespace changes for review 2023-04-20 21:27:59 +10:00
Ross
1b46bc1d01 chore(windows): remove keyboardoptions deadcode 2023-04-20 16:55:54 +10:00
Ross
ec8539543b chore(windows): remove dead code 2023-04-19 14:27:03 +10:00
Ross
8f20507a82 chore(windows): remove legacy core and flag
Removing the legacy code that was replaced by the core.
Also removing the feature flag for core integeration.
2023-04-14 13:59:49 +10:00
Ross
c1c204e0da docs(windows): link to wiki architecture faq page 2023-04-12 11:23:08 +10:00
Marc Durdin
92a3000c8d chore(windows): fix comments in Makefile
Shockingly bad choice for nmake Makefiles to not allow whitespace before
comment # marker.
2023-03-20 07:30:55 +07:00
Marc Durdin
1a3cc078b5 chore(windows): sentry cleanup and signing
Addresses review comments.

Use SENTRY_SDK_VERSION where possible, and codesign sentry components
during build.
2023-03-19 07:35:06 +07:00
Marc Durdin
a127e32068 chore(windows): update sentry-native to 0.6.0
Fixes #8081.
2023-03-17 14:32:34 +07:00
Marc Durdin
20cc47714e chore(core): specify --no-tests in all dependent builds 2023-02-21 12:22:00 +07:00
Steven R. Loomis
ae45295dc6 Merge remote-tracking branch 'upstream/master' into chore/merge-master-a17s5-REDO-epic-ldml 2023-02-03 16:53:35 -06:00
Marc Durdin
ad752f3ef7 feat(windows): add additional registry keys to report
HKCU\Software\Microsoft\CTF
HKCU\Control Panel\International\User Profile
2023-01-31 11:13:27 +07:00
Steven R. Loomis
015e7185a6 chore: merge master into feature-ldml 2023-01-02 13:44:21 -06:00
rc-swag
6669d232a6
fix(windows): extra bracket after removing nested if
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-12-21 16:07:17 +10:00
Ross
2c02d34746 fix(windows): modifer event is always serialized
PR #7449 added modifier event to make ensure modifer events
where sent to the serializer even if the key stroke was determined
the key stroke did not need seralizing. However, a logic error was made
trying to use the exiting 'Flag' however this was not set in the
!UseCachedHotkeyModifierState case. This change adds helper function
to simply check if the key is a modifier key and send it to the
event seralizer in that case. Separating from the other logic which
is more concerned with handling hotkeys.
2022-12-21 14:09:35 +10:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06:00
Marc Durdin
fb245bfbeb fix(windows): lower case filenames for projects
Fixes #7828.

Moves all projects to lower case filenames so that we don't end up with
filename conflicts in symbol servers.
2022-11-28 19:29:48 +07:00
Marc Durdin
529278c045 fix(windows): lower case filenames for projects
Fixes #7828.

Moves all projects to lower case filenames so that we don't end up with
filename conflicts in symbol servers.
2022-11-28 19:28:14 +07:00
Marc Durdin
0671c5b4ba
Merge pull request #7689 from keymanapp/chore/windows/7687-set-core-platform-explicitly
chore(windows): set platform core env explicitly
2022-11-17 06:18:32 +11:00
Ross
2fcc0feed0 chore(windows): rearrange mock_options_update add commment 2022-11-15 11:03:41 +10:00
Ross
578a9017f4 chore(windows): add unit test for SetupCoreEnvironment 2022-11-14 12:55:13 +10:00
Marc Durdin
c0e640fe73
Merge pull request #7710 from keymanapp/chore/windows/keyman-debug-symbols
chore(windows): include debug info in keyman build
2022-11-14 11:57:26 +11:00
Marc Durdin
1efe89b946
Merge pull request #7707 from keymanapp/chore/windows/report-errors-for-cust-init-better
chore(windows): Add safecall for internal CustomisationStorage API interface
2022-11-14 11:57:19 +11:00
Marc Durdin
2e58174092 chore(windows): include debug info in keyman build
Same as #7600, but for keyman.dpr.
2022-11-14 10:52:20 +11:00
Marc Durdin
ce93901a5f chore(windows): Add safecall for internal CustomisationStorage API interface
This makes it easier to track what is happening for errors where
otherwise we found that exception messages were being cropped; for
example, see KEYMAN-WINDOWS-X.

The error messages were being cropped because the exception handler was
in the exe module, but the exception was being raised in kmcomapi
module. When the exception was handled, the handler tested to see if
the exception object inherited from exemodule.Exception, but it was
inheriting from kmcomapi.Exception instead, and so it did not attempt
to load the message detail.

By adding `safecall` calling convention to `KeymanCustomisation`, we
move responsibility for handling the exception to the
`TKeymanAutoObject.SafeCallException` function, and we get full detail
for the exception.
2022-11-14 09:40:14 +11:00
Marc Durdin
0eb39dc9ea fix(windows): click in 1 pixel high box in Language Switch window caused crash
Fixes #7698.

Due to a `>` instead of a `>=` check, there was a one pixel high box at
the bottom of each list of input methods for each language which would
reuslt in an invalid value for `FNewHoverKeyboard`
(`lang.KeyboardCount`).

As well as fixing this, I changed the result for clicking below the
input method list to the more logical last item in the list rather than
the first.
2022-11-12 10:23:32 +11:00
Marc Durdin
6e07877675 chore(windows): set platform core env explicitly
Fixes #7687.
2022-11-11 08:05:21 +11:00
Marc Durdin
52c9fde57a
Merge pull request #7667 from keymanapp/fix/windows/base-layout-support-in-core
fix(windows): base layout support in Keyman Core
2022-11-11 06:37:39 +11:00
Marc Durdin
4738b6a514 fix(windows): Improve shutdown robustness
Relates to KEYMAN-WINDOWS-B.

While this doesn't address the root cause of the exception, it should
prevent this unhandled exception, and adds breadcrumbs to help us see
which code path might be triggering the issue.
2022-11-10 16:10:49 +11:00
Marc Durdin
b087d22928 fix(windows): base layout support in Keyman Core
While Keyman Core already supported the base layout flags, they were not
being passed in from Keyman Engine for Windows. This meant that any
rules that used `baselayout` would fail, such as in sil_ipa with AltGr+0
for }

0bf72bed74/release/sil/sil_ipa/source/sil_ipa.kmn (L348-L350)

This patch adds support for the following properties:

* KM_KBP_KMX_ENV_BASELAYOUT: the legacy base layout name, e.g. kbdus.dll
* KM_KBP_KMX_ENV_BASELAYOUTALT: the BCP 47 base layout name, e.g. en-US
* KM_KBP_KMX_ENV_SIMULATEALTGR: whether the user has selected to emulate
  AltGr with Ctrl+Alt, for example on laptops without a right alt key.
* KM_KBP_KMX_ENV_BASELAYOUTGIVESCTRLRALTFORRALT: whether the system base
  layout in use generates Ctrl+RAlt when RAlt is pressed, which can be
  true for many European system layouts. This is necessary when
  associating the keyboard with a European language because the base
  keyboard becomes the language's default keyboard, rather than kbdus.
2022-11-10 11:26:44 +11:00
rc-swag
51e6dd8543
chore(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-10-27 09:03:22 +10:00
Ross
102f34ecb0 feat(windows): convert wm keyevent and to private wm user message
wm_keyman_keyevent and wm_keyman_modifierevent have been convert to use
the WM_USER message range and no longer global message
2022-10-26 15:34:12 +10:00
rc-swag
65696d85f1
fix(windows): review comments for code comment
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-10-14 18:33:12 +10:00
rc-swag
b6722f6a0a
fix(windows): Add review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-10-14 16:14:51 +10:00
Ross
90eb7c77ec fix(windows): ensure all modifier events go to seralized queue 2022-10-13 13:24:29 +10:00
Steven R. Loomis
1ac4e116b4 chore(windows): remove crc32 from mcompile 2022-09-22 18:42:38 -05:00
Steven R. Loomis
93a9509302 chore(core): delete crc32.cpp and crc32.pas from some places 2022-09-21 18:13:19 -05:00
Steven R. Loomis
a58b6083a8 fix(core): fix k32_load.cpp 2022-09-21 18:07:45 -05:00
Steven R. Loomis
ae1014ac53 fix(core): win fix 🙀
Fixes: #7220
2022-09-16 14:24:01 -05:00