Per Android Studio 3.0 [Release Notes](https://android-developers.googleblog.com/2017/10/android-studio-30.html)
-Update gradle version
-Change deprecated `compile` dependencies to `implementation` or `api`
-Change maven repositories to google (triplet plugin still on maven)
- Update readme instructions for using the engine
`String.fromCharCode()` has a limitation to Unicode characters in the BMP. Change to `String.kmwFromCharCode()` to handle entire Unicode range.
Also clarified how default key codepoints are processed.
KeyboardHarness changes:
- Change text area font on keyboard change
- Added U_10481 to test longpress keyboard.
- Remove test tchad keyboard
Update comments explaning how control codes U_0000 to U_001F and U_0080 to U_009F are suppressed.
Also updated longpress test keyboard to test control codes.
A tchad keyboard has a diacritic rule that converts `=` (U_003D) into a combining macron (U_0304).
A longpress on `»` (U_00BB) was inadvertently triggering the diacritic rule, and outputting the macron.
The longpress code in KMEA and KMW needs to be refactored so they dont confuse key text (U_00BB is decimal 187) with underlying keyCodes (`=` is keyCode 187).
- fix KMW executePopupKey so key code is dictionary lookup instead of parsing the keyID.
- clean up JS call to executePopupKey since it only uses the keyID
Currently on the touch layout, longpress for K_SPACE causes the app to crash because it is attempting to parse `K_SPACE` as an int for generating the longpress text.
- Clean up when key text is empty how it is parsed from Id
-Change Unicode hex string delimiter from `,0x` to `\\u` which makes it easier to read `executePopupKey()` in the logs.
- Update In-app keyboard `isChiral` property when the OSK is shown
- Update System keyboard `isChiral` property on the event onKeyboardChanged()
This implementation comes out of the complication when in-app or system keyboard is changed, KMManager.setKeyboard is changing both keyboards
This is follow-on to #300 for adding chirality modifiers to KMEA.
Add support for L/R Ctrl, Alt, caps lock, num lock, and scroll lock for external keyboard
- temporarily adding test chriality.js keyboard
* Change keyboard.html reference to resetContext()
* Fix javascript typo
* Change system keyboard check from `!SystemKeyboardShouldIgnoreSelectionChange` to `!SystemKeyboardShouldIgnoreTextChange`
* Remove unnecessary code in resetContext()
n trying to build Keyman for Android on Linux, the following issues needed to be fixed:
Set `build.sh` and `gradlew` scripts to executable
KMEA/build.sh needs an OS check so build.bat is only called on Windows
web/source/build.sh needs $compiler and $copmiler_warnings values in quotes