Commit graph

49 commits

Author SHA1 Message Date
glasseyes
e13e136009 Merge branch 'master' into linux-ibus-keyman 2018-11-27 14:59:02 +07:00
Marc Durdin
e19cf983cb Merge branch 'master' into windows-refactor-kmprocess-for-kpapi 2018-11-26 11:56:52 +11:00
Marc Durdin
9c460e680d [common] Resolve g++ warnings 2018-11-24 12:31:54 +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
827b00c43c [common] Addressing review comments 2018-11-24 11:33:05 +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
b99cd600f6 [common] Full support for environment. Some refactoring of how environment options are set 2018-11-23 10:12:11 +11: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
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
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
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
97e618ba71 Merge branch 'master' into linux-ibus-keyman 2018-11-12 18:42:38 +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
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
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
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
aa7027fa66 Add keyboard-api test to kmnkmd unit tests 2018-10-30 13:09:31 +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
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