Commit graph

23 commits

Author SHA1 Message Date
Tim Eves
2f2254ddca km_kbp_state_options_update should set the persisted cache copy as well. 2018-12-19 12:35:08 +07:00
Tim Eves
da815eb92e Fix use-after0free in abstract_processor::lookup_option() design
Since option was not assigned to non temporary storage the string was deleted and caused the API to return freed memory.
2018-12-19 12:15:24 +07:00
Tim Eves
f8f1407fb8 Rfactor options out of class state into virtual methods on abstract_processor 2018-12-19 11:20:28 +07:00
Tim Eves
57b01ad640 Implement new state API using existing machinery. 2018-12-18 08:39:37 +07:00
Tim Eves
0bf44af891 Whitespace, warnings and header tidy ups 2018-12-17 23:28:59 +07:00
Tim Eves
fbecf51a1a Refactor direct access to actions context lists with objects and smart push methods 2018-12-17 23:21:38 +07:00
Tim Eves
18ce72e7c8 Refactor keyboard processor initialisation code.
Turn the keyboard class backing the km_kbp_keyboard and km_kbp_keyboard_attr objects into just keyboard_attributes.
Move the abstract_processor and sublcasses as the objects that back km_kbp_keyboard and make keyboard_attrs a member of the asbtract_processor.
Move kmx_processor and mock_processor declarations into their own headers.
Make all vector<km_kbp_option_item> into vector<option> to handle memory management, moving and copying correctly.
Update test cases accordingly
2018-12-17 06:02:22 +07:00
Tim Eves
7c304f678c Turn all kbp::path types into km::kbp::path to keep MSVC happy. 2018-12-14 01:22:04 +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
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
Marc Durdin
8e24a55ad4 [common] Eliminate warnings on Linux build 2018-11-27 16:10:07 +11:00
Marc Durdin
50e5a0d3b4 [common] renaming and cleanup 2018-11-24 12:04:09 +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
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