Commit graph

2255 commits

Author SHA1 Message Date
darcywong00
3ea672edc5 Fix remaining references to keymanweb, and test chirality keyboard 2017-10-31 21:26:40 +07:00
darcywong00
41a8ea3d04 Modified the KMEA keyboard.html to use the new keyman JS namespace
Addresses the KMEA portion of #349

Modify keyboard.html to use the new `keyman` JS namespace instead of `tavultesoft.keymanweb`
2017-10-31 13:19:35 +07:00
darcywong00
ff41c7e446 Update to Android Studio and Gradle 3.0
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
2017-10-30 14:51:24 +07:00
darcywong00
0c560f308b Fix osk.defaultKeyOutput to handle characters beyond U_FFFF
`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
2017-10-17 13:21:30 +07:00
darcywong00
ca89f90b86 Document which Unicode control codes are suppressed
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.
2017-10-16 17:24:25 +07:00
darcywong00
cdd75ccf5f Refactor longpress logic so key text is not confused with key code
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
2017-10-12 14:21:29 +07:00
darcywong00
f06c727e51 Refactor longpress text when it's generated by Id
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.
2017-10-09 09:04:30 +07:00
darcywong00
0665756299 Final cleanup
Remove chirality test keyboard from main kmapro app
Fix KMSample2 compilation
2017-10-04 10:33:16 +07:00
Joshua Horton
16048e5573 setIsChiral() is now operational. 2017-10-04 10:33:16 +07:00
Joshua Horton
086e7c511d Tweaked keyboard.html a bit. 2017-10-04 10:33:16 +07:00
darcywong00
ced4102bed Update calls to kmw.addEventLIstener 2017-10-04 10:33:16 +07:00
darcywong00
adee729b8a Clarify setIsChiral parameter 2017-10-04 10:33:16 +07:00
darcywong00
3a30d23684 Clean up TestHarness
Fix onKeyboardChanged signature
2017-10-04 10:33:16 +07:00
darcywong00
bc208fba5d Cleanup sample projects
Revert to original onKeyboardChanged() signature
2017-10-04 10:33:16 +07:00
darcywong00
aac2368405 Cleanup after attaching to KMW event
Cleanup code after moving chirality test to KMW event handler
2017-10-04 10:33:16 +07:00
darcywong00
e507462146 Move chirality checks to KMEA
Attempt to move to JS handler in KMManager
2017-10-04 10:33:16 +07:00
darcywong00
c8e54b9767 Remove test chirality keyboard (again) from kmapro 2017-10-04 10:33:16 +07:00
darcywong00
d66f52b350 Update Samples and Tests projects for handler API change
Updates to new onKeyboardChanged signature

Also incorporated external keyboard support to KMSample2
2017-10-04 10:33:16 +07:00
darcywong00
e2a8b763a1 Update isChiral on keyboard shown / changed
- 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
2017-10-04 10:33:16 +07:00
darcywong00
32bb4c6961 Refactor JS call of setIsChiral() to onKeyboardChanged event
Addresses PR comment of not using a timeout that assumes keyboard is ready in preference of KMW event (keyboard loaded or changed)

This is still wip
2017-10-04 10:33:16 +07:00
darcywong00
f9f3dc7449 Document bitmasks and undo getActiveKeyboard refactor
* Document shift states and lock states in kmembedded.js, and standardize `lstates` parameter name
* Leave getActiveKeyboard() refactor as a TODO
2017-10-04 10:33:16 +07:00
darcywong00
353f09084e Change chirality test app to keyboardHarness
Per review comments
* Rename chirality to keyboardHarness
* Change namespace to com.keyman.android.tests.keyboardHarness
* Add readme.md for info
2017-10-04 10:33:16 +07:00
darcywong00
cd59fe48c7 Start addressing review comments
Refactor KMManager.getActiveKeyboard()
Move modifierCodes to separate class
Clean up .gitignore
2017-10-04 10:33:16 +07:00
darcywong00
3a0ee92381 Move test chirality keyboard to new Tests/Chirality project
-Update KMEA to copy keyman-engine.aar to Tests/ for future test apps to consume.
2017-10-04 10:33:16 +07:00
darcywong00
df23e41eb1 Add hooks for KMManager to check if keyboard is chiral 2017-10-04 10:33:16 +07:00
darcywong00
f9066a5926 Start adding chirality modifiers to KMEA
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
2017-10-04 10:33:16 +07:00
Darcy Wong
ac6da728ff Merge pull request #303 from keymanapp/android-reset-context-288
[Android] Fix #288 Reset to default layer when switching input field contexts
2017-09-14 07:44:37 +07:00
darcywong00
aaa1fc6788 Revert "Temporarily have 2 text fields in Keyman app"
This reverts commit a18bb2a2fd.
2017-09-12 09:49:26 +07:00
darcywong00
7cfbc78008 Remove checks for KeyboardShouldIgnoreTextChange
The checks were preventing resetContext() from being called
2017-09-12 09:48:18 +07:00
darcywong00
a18bb2a2fd Temporarily have 2 text fields in Keyman app
for testing that in-app keyboard resets when changing text area.

Do **not** merge this commit
2017-09-08 11:58:52 +07:00
darcywong00
8e8a9c1b26 Update history.md 2017-09-08 11:57:58 +07:00
darcywong00
4b7c4cce20 Add resetContext to in-app keyboard 2017-09-08 11:18:52 +07:00
darcywong00
57deb5c235 Address initial review comments
* Change keyboard.html reference to resetContext()
* Fix javascript typo
* Change system keyboard check from `!SystemKeyboardShouldIgnoreSelectionChange` to `!SystemKeyboardShouldIgnoreTextChange`
* Remove unnecessary code in resetContext()
2017-09-08 10:18:10 +07:00
darcywong00
ff080231dd Add resetContext to SystemKeyboard 2017-09-07 20:12:14 +07:00
darcywong00
04dab8c4e5 add hooks to reset default layer 2017-09-06 14:56:25 +07:00
darcywong00
cb8d8c276a Add recommendation of stable library to latest build 2017-09-04 11:51:57 +07:00
darcywong00
441080e2b0 Add reference to keyman engine binary 2017-09-04 11:25:26 +07:00
Gabriel Wong
5e76bcbc12 Make instructions clear if executables not on PATH 2017-08-31 09:58:20 +07:00
Gabriel Wong
39c440c716 Fix sublist formatting 2017-08-31 09:44:05 +07:00
Gabriel Wong
19673b21c6 Update Android README 2017-08-31 09:34:51 +07:00
Gabriel Wong
c4ca29606c Fix Android build script on MacOS 2017-08-31 09:22:27 +07:00
darcywong00
2c93c9d20b Revert resume and pause code
cleanup back to original code
2017-08-28 16:14:54 +07:00
darcywong00
942d671d7f Add to history.md changelog
- also removed stray include of facebookSDK
2017-08-23 17:28:47 +07:00
darcywong00
fe775e18f1 Hide keyboard when closing Keyman Browser 2017-08-23 14:12:55 +07:00
Marc Durdin
c6f7cc5f72 Stop gradle daemon from starting when we are running CI 2017-08-21 16:23:02 +07:00
darcywong00
b2d5eb9bb7 Revise history.md
Add complete Keyman for Android version history and conform to new spec
2017-08-15 10:39:22 +07:00
darcywong00
7d228e987e Remove Share to Facebook
Remove FacebookSDK from repo and associated logos
Ignore Facebook package names when generating intents to share
2017-08-15 09:29:17 +07:00
darcywong00
89339839fb Fix KMEA uncaught javascript references
Javascript functions defined in keyboard.html need the window loaded before they can be called.

-Also cleaned up formatting in keyboard.html
2017-08-11 16:16:55 +07:00
darcywong00
ab7a148129 More cleanup
Remove legacy res/ files and AndroidManifest.xml files that aren't used
Remove unused strings (related to previous licensing)
2017-08-09 09:01:03 +07:00
Darcy Wong
2fc20b6ce6 Fix build scripts for Linux
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
2017-07-31 08:36:10 +07:00