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
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
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
Tim Eves
aa7027fa66
Add keyboard-api test to kmnkmd unit tests
2018-10-30 13:09:31 +07:00
Tim Eves
9af3308ef3
Fix a compiler warnings in context_api under clang and statically link.
...
While dynamic linking works on linux & Mac OS due to rpath support
Windows can't find the dll when debugging the test case unless it's
copied into the tests builddir or it has it's working dir set to the
DLL's builddir.
2018-10-29 16:05:06 +07:00
Tim Eves
5f45ea450e
Minor fixups for build scripts
...
Also prevent compiler complaining about inconistent dllimport/dllexport
linkage by ensuring KM_KBP_EXPORTING is defined on Windows too.
2018-10-29 16:02:19 +07:00
Tim Eves
f5d6dd4ce5
Fix windows compiler treating source as latin1 instead of utf-8.
2018-10-29 16:00:27 +07:00
Tim Eves
5ab060974f
Fix build bugs on Windows
2018-10-29 13:20:36 +07:00
Tim Eves
ef548606aa
Move keyboardprocessor into it's new toplevel under common/engine
2018-10-25 13:43:28 +07:00