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
13235bd623
[common] Remove old logging code
2018-11-19 07:52:06 +11:00
Marc Durdin
511e03bb91
[common] resolve hints and warnings
2018-11-19 07:23:31 +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
Marc Durdin
e1c83d9d33
[common] move inline function to header
2018-11-19 06:45:36 +11:00
Marc Durdin
8919595598
[common] include string.h for legacy string calls
2018-11-19 06:42:14 +11:00
Marc Durdin
bb9a8fb5ee
[common] Resolve some Linux build errors
2018-11-19 06:39:22 +11:00
Marc Durdin
06341d79f7
[common] Remove VK_ defines and cleanup warnings
2018-11-19 06:26:46 +11:00
Marc Durdin
328552fae6
[common] fix some build warnings, move files, remove pch.h
2018-11-19 06:21:48 +11:00
Marc Durdin
27f09bbb50
[Common] Refactor and cleanup
2018-11-16 19:05:17 +11:00
Marc Durdin
4c1fc5edee
[Common] Cleanup kmx integration code
2018-11-16 18:47:01 +11:00
Marc Durdin
566796eaef
[Common] all but one test now passes. Refactoring to come, then cleanup
2018-11-16 13:39:35 +11:00
Marc Durdin
646c322b4c
[Common] First kmx test case (currently fails, as it should) and KMX integration started
2018-11-16 11:12:56 +11:00
Marc Durdin
ac4448f350
[Common] Refactor KPAPI to support multiple processors (kmx, mock, ldml?)
2018-11-14 11:58:44 +11:00
glasseyes
6ef3996018
Merge branch 'master' into linux-ibus-keyman
2018-11-13 16:52:00 +07:00
Daniel Glassey
adf5451ddb
[KPAPI] put punctuation in right place ( #1315 )
...
* put punctuation in right place
* comment array rows with hex ranges
2018-11-13 16:40:03 +07:00
glasseyes
503cdea611
Merge branch 'master' into linux-ibus-keyman
2018-11-13 08:58:04 +07:00
glasseyes
97e618ba71
Merge branch 'master' into linux-ibus-keyman
2018-11-12 18:42:38 +07:00
glasseyes
899a9ae1e6
dispose things in tests that were memleaks
2018-11-12 15:55:28 +07:00
Marc Durdin
9ca7bab5f9
[Common] Final checks
2018-11-12 19:23:54 +11:00
Marc Durdin
1ab04f681a
[Common] Code Review updates, some minor changes to API, mostly comments and tests; one bug fix
2018-11-12 19:12:59 +11:00
glasseyes
60619dc8de
add km_kbp_context_items_from_utf8
...
avoids unnecessary conversions and string duplication
utf8codec private vars needed in cpp for
linker to find them?
2018-11-09 16:50:52 +07:00
glasseyes
2ae42fdd18
refer to the library in the pkg-config file
2018-11-07 10:27:59 +07:00
Tim Eves
6e09aa4a06
Add comments for namespace closing braces that are far from their opening statements
2018-11-07 05:15:25 +07:00
Tim Eves
fe4beb0197
Make sure to convert path to utf8 for json output of folder name.
2018-11-07 05:04:22 +07:00
Tim Eves
61f90b172e
Fix path handling so it's wchar_t const * on windows and char const * on linux
2018-11-07 04:49:56 +07:00
Tim Eves
689e21856b
Explicitly declare test json doc strings as utf8 for Windows compiler
2018-11-07 04:30:09 +07:00
Tim Eves
4afe030627
Add number USVs erased to BACK action item
...
Possible but difficult to get from state object if not provided. IBus
will use this.
2018-11-07 04:26:49 +07:00
Tim Eves
d70fe629e8
Fix state API implmentation to use new options, keyboard and context objects.
2018-11-07 04:25:28 +07:00
Tim Eves
b27fc67259
Rework keyboard API and add more robust checking.
2018-11-07 03:04:45 +07:00
Tim Eves
242105216a
Rename options_set -> options and option -> option_item
2018-11-07 02:13:40 +07:00
Tim Eves
9cb22221c6
Rework options API per review
...
Additionally refactored option.hpp into option.hpp & option.cpp.
lookup now returns just the value since scope and key are fully
specified in the arguments, but updates and SAVE/RESET action items
still provide scope, key & value.
2018-11-07 01:37:32 +07:00
Tim Eves
93c76c14df
Move headers into include/keyman from include/
...
Necessary to allow keyboardprocessor.h to refer to auxillary headers as
<keyboard/header.h>
2018-11-06 16:19:14 +07:00
Tim Eves
333ef283c8
Make constext API more consistent and robust with use of km_kbp_status.
...
In addition:
Add asserts and checks to better validate the inputs.
Add documentation describing design patterns behind differet types of
call.
2018-11-06 14:53:33 +07:00
Tim Eves
4d4bb125b6
Add the last of the kmnkbd unit tests for state and engine api.
2018-10-31 16:05:17 +07:00
Tim Eves
6f5fd7af45
Fix shift state to index calculation in dummy keyboard processor.
2018-10-31 16:04:37 +07:00
Tim Eves
326b30c05a
Stop compiler coercing utf8 pointers into bools when json printing.
2018-10-31 16:03:36 +07:00
Tim Eves
a70ce3c2ba
Ensure we include the null when calculating size if state_to_json
2018-10-31 16:02:38 +07:00
Tim Eves
5ac0c3ff9b
Ensure that the keyboard object has an empty option_set instead of null
...
Make sure the default_options attribute points to something, so we don't
crash the json debug output.
2018-10-31 16:01:48 +07:00
Tim Eves
b9009bbc33
Add options-api to test to the kmnkbd test suite.
2018-10-30 17:07:48 +07:00
Tim Eves
0fdb64011f
Fix bugs in options_set api
...
* Initialise cached option value with options_set's scope so correct
scope is returned.
* Use unordered_map::operator[] as emplace never overwrites.
* Ensure that km_kbp_options_set_to_json() returns the document size
including the null.
* correct scope_name_lut so scope names are in the right order.
2018-10-30 17:07:00 +07:00
Tim Eves
bbd67c7a9b
Minor tidyup stop compiler complaining about unsused variables.
2018-10-30 13:12:30 +07:00