Commit graph

157 commits

Author SHA1 Message Date
Joshua Horton
237a2bd31f Tweaks the new return value's behavior. 2017-11-06 10:42:00 +07:00
Joshua Horton
cc8cf5be10 Extended the test slightly and implemented the 'return true/false' component mentioned in the issue. 2017-11-06 08:46:53 +07:00
Joshua Horton
7207c241a4
Merge pull request #387 from keymanapp/web-45-addKeyboards-API-consistency
addKeyboards parameter property:  'language' -> 'languages'.
2017-10-31 08:42:42 +07:00
Joshua Horton
9454c1d9d3
Merge pull request #385 from keymanapp/web-375-autoattach-default
Sets init param 'attachType' to 'auto' for all devices.
2017-10-31 07:44:20 +07:00
Joshua Horton
d2c89ee37a Addresses #45. 2017-10-27 09:14:39 +07:00
Joshua Horton
ba04eb956b Sets init param 'attachType' to 'auto' for all devices. 2017-10-25 13:13:53 +07:00
Marc Durdin
dc6329938c Move KMBM variable out of KV member in keyboards to match compiler behaviour 2017-10-20 10:42:54 +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
ab78b63f62 Merge remote-tracking branch 'origin/master' into android-fix-longpress-keycode 2017-10-16 17:27:54 +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
6c040bb2fa Address review comments
* Fix accessing AltGr shift layer
* Fix AltGr OSK layer to display as "Alt Ctrl"
* Fix how Unicode control characters are filtered out, so U_00A0 can be displayed
2017-10-16 15:09:12 +07:00
Joshua Horton
bdfdb42208 Merge branch 'master' into web-103-registration-stub-decouple 2017-10-16 09:49:12 +07:00
Joshua Horton
453e5d56b9 Centralizes the layer-change operation of the OSK; fixes the regression mentioned in #358. 2017-10-13 09:07:55 +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
Joshua Horton
9d748bf17c Fixes a bug in _GetDocumentEditables. 2017-10-11 15:53:48 +07:00
Joshua Horton
b24e29390a Fixed super-shorthand variable name.
As per PR review.  No longer super-short, but it's more informative now.
2017-10-10 11:22:08 +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
Joshua Horton
5245a556ec Fixed new work for Closure. 2017-10-06 13:06:16 +07:00
Joshua Horton
b01ee5542f Reworks the default keyboard selection that occurs on KMW initialization to be better specialized for each of the embedded and native control paths. 2017-10-06 13:04:00 +07:00
Joshua Horton
0214cb3690 Function reformatting. 2017-10-06 10:51:23 +07:00
Joshua Horton
602edbe11b Addresses point 1 of #103 - prevents duplicate requests for identical keyboard-language pairings. 2017-10-06 10:44:31 +07:00
Joshua Horton
16048e5573 setIsChiral() is now operational. 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
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
Joshua Horton
d5cfe35927 Merge branch 'master' into web-9-modifier-chirality 2017-09-27 15:18:52 +07:00
Joshua Horton
5775f84269 Fixes up _KeyDown's original documentation comment. 2017-09-25 11:56:15 +07:00
Joshua Horton
e9a85cd2c4 Removed incomplete fix code that snuck in the prior commit. 2017-09-25 11:53:57 +07:00
Joshua Horton
d007a5a22b Undoes physical input support for touch devices while in native (not app-embedded) mode. 2017-09-25 11:50:24 +07:00
Joshua Horton
36b1aae2e8 Properly initializes the bitmask within KKM. 2017-09-25 08:43:32 +07:00
Joshua Horton
e61fa5673a Merge branch 'master' into web-9-modifier-chirality 2017-09-25 08:27:31 +07:00
Joshua Horton
4271c1a46f Fixes up the samples index and connectivity a bit and corrects the fix to not break the desktop OSK. 2017-09-15 08:40:46 +07:00
Joshua Horton
eeed83f27e Initial fix for #116 - turns out that we had an unnecessary next layer check earlier than it needed to be. Removing that fixes the issue.
Main thing now:  fleshing out the testing keyboard to make the tests a little simpler.
2017-09-14 12:37:31 +07:00
Joshua Horton
7c9a3d6436 Undid Closure notation from added code where possible, enforced single-quotes for consistency/searchability, and polished chirality.js a bit. 2017-09-14 09:32:15 +07:00
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