Commit graph

119 commits

Author SHA1 Message Date
Joshua Horton
18e08d2f87 Adds persistent tracking for state key activation, checks for any changes to the modfier state by simple integer comparison and updates OSK accordingly.
Removes `mousemove` based polling due to its potential performance overhead.
2017-09-12 09:46:37 +07:00
Joshua Horton
3d60004118 Patches up a Firefox bug with European layout AltGr presses and KMW OSK management. 2017-09-12 08:32:38 +07:00
Joshua Horton
b87dfe545e AltGr simulation is nearly ready, but has some issues with working properly on... actual European keyboards when the AltGr key is pressed. *sigh* 2017-09-12 08:32:38 +07:00
Joshua Horton
75f21e399c Fixes the handler-removal function name. 2017-09-12 08:32:38 +07:00
Joshua Horton
765ef90af6 Added code facilitating CAPS_LOCK OSK state management when KMW handling is out of focus.
Includes some commented-out prelim work on AltGr simulation... it's proving very tricky.
2017-09-12 08:32:38 +07:00
Joshua Horton
11bed888bc Incorporates most of the requested changes from @mcdurdin's recent PR review.
There's still a bit of work to do on supporting proper CAPS_LOCK state upon element refocusing, as with switching tabs.
2017-09-12 08:32:38 +07:00
Joshua Horton
5d86d1a3e9 Initial implementation of state key handling is now in place. The OSK version of state keys acts just like the OSK version of modifiers. Chiral keyboard now auto-caps all keys when CAPS LOCK is active. 2017-09-12 08:32:38 +07:00
Joshua Horton
c6e206e0fe Changed relevant nextlayer properties in kmwLayout to use kebab-case - AltGr was broken for mobile due to chirality changes. 2017-09-12 08:32:38 +07:00
Joshua Horton
b4cab07e22 Behold! Actual chiral output! Supported both by physical keystrokes and osk interaction.
Yet to do:  state keys, embedded integration.
2017-09-12 08:32:38 +07:00
Joshua Horton
79e8212e0e Enhanced documentation on osk.updateLayer. 2017-09-12 08:32:37 +07:00
Joshua Horton
71fe50048a Implements proper detection of the modifier state both from the OSK and the physical keyboard and also ensures that osk.clickKey operates as expected for existing keyboards. 2017-09-12 08:32:37 +07:00
Joshua Horton
8297ab36f5 Conversation with @mcdurdin - it's enough of an edge case that we'd rather save on file size. 2017-09-12 08:32:37 +07:00
Joshua Horton
d29c531da7 Undoes the chirality constraints due to its effect on visual feedback. 2017-09-12 08:32:37 +07:00
Joshua Horton
afd43a4345 Fixes the potential layer generator to follow our planned chirality constraints. 2017-09-12 08:32:37 +07:00
Joshua Horton
c59ed4f511 Fixed up the bitflag constants and added a 'is chiral?' testing bitmask. 2017-09-12 08:32:37 +07:00
Joshua Horton
2014b68437 Developed an initial testing framework for the chirality changes, corrected default behavior of buildDefaultLayout when KLS lacks specifications for default layers. 2017-09-12 08:32:37 +07:00
Joshua Horton
621bdf0ce9 Further refactoring, documentation, and cleaning of osk.buildDefaultLayout. 2017-09-12 08:32:37 +07:00
Joshua Horton
684421f20a Refactors out the key-102 handling into one of the new helper functions, aiding the readability of osk.buildDefaultLayout. 2017-09-12 08:32:37 +07:00
Joshua Horton
0d124581aa Heavily refactors osk.buildDefaultLayout in prep for implementation of modifier chirality. Also defines a lot of nice modifier + state-key constants. 2017-09-12 08:32:37 +07:00
Gabriel Wong
7b16636b8a Don't need special case for cp -R on Mac 2017-09-01 08:32:38 +07:00
Joshua Horton
7febeff4d3 Fixes unexpected '%' insertion in compiled UI code. 2017-08-30 10:26:26 +07:00
Marc Durdin
418a12da86 Tweaks 2017-08-26 09:22:09 +07:00
Marc Durdin
84697bd7dc Fixup embedded CSS for Keyman for iOS (interim) 2017-08-26 08:05:56 +07:00
Joshua Horton
e539f4eaaf Merge pull request #212 from keymanapp/web-remove-shims
[Web] Removes now-deprecated shim elements.
2017-08-23 12:14:29 +07:00
Joshua Horton
77a63e76ed Attachment API rework (#114)
A massive rework for our attachment and enablement paradigms for web controls targetted for KeymanWeb 10.0, merged from #114.  This also more closely ties the control paths used for page initialization with those used by MutationObservers for dynamically-added elements in an aim to improve internal consistency and facilitate new and future extensions to KMW functionality.
2017-08-23 12:12:48 +07:00
Marc Durdin
7eed41e66e Merge pull request #208 from keymanapp/web-160
Fix conflicts with low U_xxxx key codes
2017-08-22 09:23:28 +07:00
Joshua Horton
4cab224685 Somehow missed saving these changes previously. 2017-08-21 14:27:48 +07:00
Joshua Horton
a75dc68933 Ensuring previous changes got added. 2017-08-21 14:08:54 +07:00
Joshua Horton
abb9d7444f Removes shim elements and references while deprecating the old shim API functions. 2017-08-21 13:39:30 +07:00
Joshua Horton
e3728c61fe Addresses the comments of #106. 2017-08-21 12:29:44 +07:00
Marc Durdin
edaaea8026 Fixup off-by-one in defaultKeyOutput 2017-08-18 15:59:42 +07:00
Marc Durdin
a855af3afd Rework the logic around U_xxxx when not in VKDictionary 2017-08-18 13:57:58 +07:00
Marc Durdin
8d7629a40f Fix for #160 2017-08-17 14:30:09 +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
Marc Durdin
7125e3a08e KeymanWeb 10.0 alpha (#124)
* Fixes #107 - move __BUILD__ and dfltLayout variables into tavultesoft object

* Cherry-pick fix for error from attachment api rework #114

* Fixup missing __BUILD__ reference

* Update header version number

* Fixup broken getDefaultKeyObject() call so we can release 2.0

* Fixes #118 - longpress menu sometimes missing base key on phone devices (#134)

* Add note to build scripts to remind devs to make changes to both scripts
2017-07-26 07:36:58 +07:00
Marc Durdin
77ac8bc786 KMW: Treat warnings as errors (#120)
* Test CI

* Test CI again

* Test CI again

* Test CI again

* Test CI again

* Turn warnings into errors (but don't turn on all warnings)
2017-07-19 09:54:30 +07:00
Marc Durdin
cb296d9411 Merge pull request #117 from keymanapp/web-longpress-numeric-issue-115
Long press in numeric/symbol layers does not work
2017-07-10 10:45:27 +07:00
Joshua A. Horton
a1c123efbe Turns out Windows msys and Linux cp -R behavior is identical - OS X is the odd one out. So, redid the filtering. 2017-07-10 10:21:45 +07:00
Marc Durdin
b26781f44d Long press in numeric/symbol layers does not work 2017-07-10 10:14:19 +07:00
Joshua A. Horton
59dab88ae1 Merge remote-tracking branch 'origin/web-build.sh' into web-build.sh 2017-07-10 09:52:48 +07:00
Joshua A. Horton
1b47c77753 Fixes the shell build for Mac systems - the resource copy path behavior appears to differ on the two OSes. 2017-07-10 09:50:37 +07:00
Joshua Horton
67f92028f2 Merge remote-tracking branch 'origin/web-build.sh' into web-build.sh 2017-07-05 15:10:38 +07:00
Joshua Horton
d41cca7368 Changes as per code review. 2017-07-05 15:09:01 +07:00
Darcy Wong
7a90a7440e Make build.sh executable
Add sha-bang and set file to +x
2017-07-05 14:11:39 +07:00
Joshua Horton
c381a40702 Restores build.bat for now. 2017-07-05 13:57:39 +07:00
Joshua Horton
d81e4b6231 Converted the Windows-dependent build.bat into a build.sh shell script. 2017-07-05 13:33:34 +07:00
Joshua Horton
c7fbac0d84 'util' -> 'ui' in the re-init check. 2017-07-04 10:21:43 +07:00
Joshua Horton
152880b883 Wrapped most source files with conditional loading scheme in order to block accidentally redefining functionality and data if KMW is loaded multiple times.
A few of the simpler files (definitions of string functions, basic init) were left unchanged.
2017-07-04 09:17:27 +07:00
Joshua Horton
f71c7e56fd Initial work toward bookmarklet issues #108 & #109. 2017-07-03 15:58:11 +07:00
Joshua Horton
7af8b93cf8 Corrects issue #110 - fixes the embedded control path for hardware keyboard input and adds a layer of protection to prevent future touchable-mode breakage. 2017-06-29 10:35:57 +07:00