Commit graph

76 commits

Author SHA1 Message Date
Tim Eves
86eafe9391
Merge pull request #1427 from keymanapp/common-refactor-path
[Common] refactor path
2018-12-18 10:39:46 +07:00
glasseyes
416aaec057 rename new tests to 038, 039 2018-12-18 08:41:21 +07:00
glasseyes
1c2eca06f2 tests for punctuation keys and generic ctrlalt 2018-12-17 20:09:24 +07:00
Tim Eves
35a764ba51 Fix type deduction issue in path::join static function.
Will compile on Windows now and switch to normalised paths.
2018-12-17 15:39:10 +07:00
glasseyes
db3e12880b context for 020 deadkeys and backspace 2018-12-17 10:25:03 +07:00
Tim Eves
ca150e099f Add add path::native() to get system native character type
Also normalise path separators from '/' to '\\' on windows and correct 
path separator.
2018-12-14 01:59:51 +07:00
Tim Eves
08bab354bd Add a path handling class since std::filesystem is not reliably available
It's not there on Xcode yet and different platforms and compiler put it 
into different library files.
2018-12-14 00:50:04 +07:00
Tim Eves
559824a1b7 Replace utf16_to_utf8 with generic utfcodec based string conversion func
Templated convert for going between any combination of UTF codecs with 
an identity function specialisation for when src & target forms match.
Includes implmentations of json and basic_ostream << operators for 
u16string & u32string.
2018-12-14 00:46:54 +07:00
glasseyes
45b89ff5d2 put RALT back into test 000 2018-12-13 12:04:03 +07:00
glasseyes
3f306af8e9 [common] tweak kmx tests for ibus-keyman test
handle python compatible /Uxxxxxxxx format for smp
use e.g. [K_A] instead of a in keys:
RALT K_B is ” on an Alt-Gr keyboard so use LALT instead
2018-12-13 12:04:03 +07:00
Marc Durdin
789f166d79 Merge branch 'master' into common-kpapi-kmx-test-harness2 2018-12-06 06:25:44 +11:00
Tim Eves
d985e7b7b7
Add explanatory comments to disabling kmcomp 2018-12-05 17:36:30 +07:00
Tim Eves
f7f1da8267 Fix disabler() being unavailable in meson < 0.45
Also handle moved kmn source directory
2018-12-04 17:52:53 +07:00
Tim Eves
b2f56e3072 Make the utf8 to work regardless of km_kbp_path_name defintiion
Use template deduction and inlines to allow automatic conversion base on 
type rather than system defines.
2018-12-04 17:48:42 +07:00
Tim Eves
b343357ae3 Fixes to get kmx building to work under Windows.
Fix encoding issue with refactored kmx.cpp test harness and utf8 to 
wchar_t strings conversion.
Fix meson.build so the wine prefix doesn't interfere with running kmcomp 
natively on Windows.
2018-12-04 17:48:21 +07:00
Tim Eves
9f98f9c22f Fixes to get meson to run kmcomp and place output in source dir.
This may rebuild a little more frequently than necessary, but not much.
Added support for running kmcomp.exe under wine on non-windows OS only 
if wine is available.
2018-12-04 17:48:01 +07:00
Marc Durdin
de6f7d681f [Common] Add KM_KBP_IT_INVALIDATE_CONTEXT to request that context buffer is flushed 2018-12-04 09:50:33 +11:00
Marc Durdin
8a2b55e58c [Common] Add support for KM_KBP_IT_EMIT_KEYSTROKE to allow the received key event to be passed on to the application 2018-12-04 09:46:04 +11:00
Daniel Glassey
11639e0236
Merge pull request #1337 from keymanapp/linux-ibus-keyman
[Linux] ibus keyman initial work pre kmx keyboardprocessor
2018-11-30 16:26:56 +07:00
Daniel Glassey
f2c983b81b
Merge pull request #1356 from keymanapp/common-kpapi-utf8context
[common] add km_kbp_context_items_from_utf8 and to_utf8
2018-11-30 15:05:21 +07:00
Tim Eves
70b6310a19 Fix misnamed km_kbp_context_items_to_utf8 call & add test case.
And fix the type of the buffer to match the type in the definition.

Co-Authored-By: Daniel Glassey <glasseyes@users.noreply.github.com>
2018-11-30 15:02:07 +07:00
Tim Eves
4667c5bf84 Add all the missing files that should have been in the preceding commit
Co-Authored-By: Daniel Glassey <glasseyes@users.noreply.github.com>
2018-11-30 14:46:54 +07:00
Daniel Glassey
e0cee2b8ae
Merge branch 'master' into linux-ibus-keyman 2018-11-30 09:37:07 +07:00
glasseyes
ca27f40673 warning reminder to copy compiled keyboards 2018-11-30 09:32:59 +07:00
glasseyes
83b0fc4eb5 missing endforeach 2018-11-29 15:48:24 +07:00
glasseyes
a75ce4106b change kmx test to accept 2 arguments
'kmn' and either source root or build root
2018-11-29 15:29:23 +07:00
glasseyes
6c3bb00f41 revert kbp changes apart from prog_kmcomp check
they will be in another PR
2018-11-29 13:03:41 +07:00
Marc Durdin
319d5a800a [Common] Ignore kmcomp if not present and use prebuilt kmx files for tests 2018-11-28 06:28:45 +11:00
glasseyes
337e1ac5d0 Merge branch 'master' into windows-refactor-kmprocess-for-kpapi-daniel 2018-11-27 13:21:19 +07:00
Marc Durdin
e19cf983cb Merge branch 'master' into windows-refactor-kmprocess-for-kpapi 2018-11-26 11:56:52 +11:00
Marc Durdin
1c2f68ea76 [common] Cleanup const warnings 2018-11-24 12:47:58 +11:00
Marc Durdin
50e5a0d3b4 [common] renaming and cleanup 2018-11-24 12:04:09 +11:00
Marc Durdin
aa418517f0 [common] Address review comment -- move kmx processor into km::kbp::kmx namespace 2018-11-24 11:51:35 +11:00
Marc Durdin
2a5295e4cd [common] Fix broken modifier test in VKeyToChar, start addressing review comments 2018-11-24 11:19:22 +11:00
Marc Durdin
5af7ec4999 [common] Support for caps lock 2018-11-23 14:00:10 +11:00
Marc Durdin
1da7c555cf [common] Test multiple groups, and test resulting actions 2018-11-23 10:52:49 +11:00
Marc Durdin
751557a41a [common] Add beep test, tweak test config for kmx 2018-11-23 10:36:21 +11:00
Marc Durdin
ce24cab902 [common] Test for SMP characters with KMX 2018-11-23 10:29:35 +11:00
Marc Durdin
b99cd600f6 [common] Full support for environment. Some refactoring of how environment options are set 2018-11-23 10:12:11 +11:00
glasseyes
16dd44047e make kmx test optional
Debian and other automated buildds won't have kmcomp.exe so
don't let that fail the build
2018-11-20 13:00:09 +07:00
Daniel Glassey
1a7ce3f380
Merge branch 'windows-refactor-kmprocess-for-kpapi' into windows-refactor-kmprocess-for-kpapi-daniel 2018-11-20 09:39:44 +07:00
Marc Durdin
37f424f090 [common] Working options model. Introduces some gunk around state and options which should be reviewed with TSE 2018-11-20 12:19:43 +11:00
Marc Durdin
09620cb311 [common] Basic options functionality (rework to match api model) 2018-11-20 10:00:29 +11:00
glasseyes
d62f2034c6 compile kmn in configure step 2018-11-19 11:10:36 +07:00
glasseyes
f5115174fe kmx to find tests in current dir, meson on bionic
to allow debugging it
meson 0.45 on Ubuntu bionic doesn't have configure_files:copy
or test:depends
2018-11-19 10:39:03 +07:00
Marc Durdin
396d552c81 [common] Add test framework and tests for keyboard options (failing right now because no implementation) 2018-11-19 11:14:06 +11:00
Marc Durdin
f0f3f355de [common] kmx tests uses list of kmn files in meson.build 2018-11-19 08:49:46 +11:00
Marc Durdin
a35fdeba00 [common] Add nul test source (not yet tested) and build .kmx files during tests 2018-11-19 08:45:03 +11:00
Marc Durdin
d0f84fa082 [common] resolve hints and warnings 2018-11-19 07:20:07 +11:00
Marc Durdin
becbfeda47 [common] Add <algorithm> for kmx.cpp 2018-11-19 06:47:56 +11:00