Commit graph

38 commits

Author SHA1 Message Date
Marc Durdin
007f0bdc28 fix(developer): handle invalid Unicode values in touch layout builder
Fixes #11260.
2024-04-22 08:26:03 +07:00
Marc Durdin
9e369227b2 fix(developer): prevent error when scrolling touch layout editor with no selected key
Fixes #11107.
2024-03-28 10:42:19 +07:00
Marc Durdin
e6db899453 fix(developer): hint text special characters
Fixes #10372.
2024-03-05 08:30:37 +07:00
Marc Durdin
39a53d439a fix(developer): error when rescaling touch layout editor keys
Fixes #10194.
2023-12-11 12:39:33 +07:00
Marc Durdin
61a0155435 fix(developer): touch layout editor wedges don't scroll
Fixes #10091.
2023-12-11 12:39:01 +07:00
Darcy Wong
799a84579a chore(developer): Add configure step to copy font 2023-11-13 20:31:14 +07:00
Darcy Wong
6ff0cd202d chore(common): Move keymanweb-osk.ttf to common/ 2023-11-13 15:44:46 +07:00
Darcy Wong
71a9b9d66a
Merge pull request #9846 from keymanapp/chore/developer/non-printing-chars
feat(developer): Add more non-printing characters
2023-11-07 15:20:21 +07:00
Darcy Wong
ecae59062b fix(developer): Update keymanweb-osk.ttf font 2023-11-02 15:50:50 +07:00
Marc Durdin
38d2c92ecf
Merge pull request #9922 from keymanapp/fix/developer/7851-restore-selection-to-same-key-in-layout-builder
fix(developer): restore selection in layout builder even with duplicate ids
2023-11-02 15:06:32 +11:00
Marc Durdin
bd2315dbac fix(developer): restore selection in layout builder even with duplicate ids
Fixes #7851.

Note that this fixes the selection pop issue with duplicate ids in some
scenarios but not all. For example, the undo stack doesn't have enough
detail at this point to be able to track this. This fix addresses the
most egregious issue relating to key size adjustment and similar.
2023-11-01 10:43:48 +07:00
Marc Durdin
c759414e71 fix(developer): layout builder - maintain presentation during undo
Fixes #7852.

When undo is run in the layout builder, it is better to keep the user's
selected presentation if possible. (The selected presentation is not
stored in the undo stack, but is a view property affected by the
currently selected platform.)
2023-11-01 04:59:40 +07:00
Darcy Wong
7bacbb2d8d chore(developer): Merge remote-tracking branch 'origin/master' into chore/developer/non-printing-chars 2023-10-27 06:47:43 +07:00
Darcy Wong
cd27628652 chore(developer): Add non-printing characters 2023-10-25 14:26:14 +07:00
Marc Durdin
6919004693 fix(developer): reduce confusion in Unicode fields in touch layout editor
Fixes #9830.
2023-10-24 20:04:25 +07:00
Marc Durdin
ae07e5174c fix(developer): only include mobile touch platform in basic project
Fixes #9546.

Previously, a new project would include both mobile and tablet platform
in the touch layout file. However, the majority of devs want to work
with just one, so this removes the tablet platform. Adding a new
platform is a single click within the editor, which duplicates the
current platform as a starting point.
2023-09-09 17:51:40 +02:00
Marc Durdin
087c68f4ca
chore: Apply suggestions from code review 2023-08-09 18:32:20 +10:00
Marc Durdin
c02f5ab419 feat(developer): add 'default' property for longpress keys
Fixes #9430.

Adds a 'default' property to subkeys, only used by longpress-type
subkeys:

* Added property to schema and readers/writers
* Added property to touch layout validator
* Added editor for property to layout builder
2023-08-08 14:20:52 +07:00
Marc Durdin
b62bc0d197 fix(developer): only update charmap for hint when focused
Ensure that the character map is only updated for hint text when
actually editing the hint text.

Fixes KEYMAN-DEVELOPER-S8.
2022-11-07 07:20:09 +11:00
Marc Durdin
238a8e9185 fix(developer): improve support for inferred key cap text
Fixes #7616.

Fixes a crash when attempting to infer key cap text from key id, and
cleans up the support for inferred key text so that it works correctly
in the designer.

Also adds a safeguard to KMW to stop invalid key ids causing a crash.
2022-11-04 06:18:24 +11:00
Marc Durdin
be2b529e65 fix(developer): exclude nocaps from layer id modifier components
Fixes #7551.
2022-10-27 08:37:04 +11:00
Marc Durdin
f96e3493af fix(developer): hide key-sizes when in desktop layout in touch layout editor
Fixes #7028.

Note that the desktop layout is not currently used by KeymanWeb. The
designer has a number of additional issues, as the .keyman-touch-layout
format is not well suited to describing a fixed hardware layout, but
fixing this is outside the scope of this issue.
2022-09-07 11:13:22 +10:00
Marc Durdin
6032181e18 feat(developer): rework displayHint to defaultHint
After a demo of the Touch Layout Editor @jahorton suggested using a
"default hint" model instead of the "display hint" from the design spec.
I liked this and have reworked the design accordingly. With the default
hint model, a source for the hint text can be specified, such as the
default longpress key, or a specific flick key. This can then be
overridden on a key level.

The hint input element now shows a placeholder to indicate the default
hint for the key, and if a hint has been customised for a given key, it
is shown in green on the key cap.

Changing the default hint does not impact any customised hints.
2022-07-14 10:58:59 +10:00
Marc Durdin
02d03588b2 chore(developer): simplify dialog workflow
Most dialogs in touch layout editor can now have just a Close
button with changes taking effect immediately. This helps users
visualize how the options they've chosen will work.
2022-07-14 10:58:58 +10:00
Marc Durdin
1738f12428 feat(developer): add displayHint property to touch layout editor
Moves the top toolbar to the left to make more room, and tidy it up,
and moves various controls into sub-dialogs to make them clearer.

Shortcut buttons to prepopulate the Hint property will come in a
subsequent PR.
2022-07-14 10:58:57 +10:00
Marc Durdin
a362f27dda feat(developer): add hint property to touch layout editor
Also fixes a couple of minor issues with character map integration and
Unicode text fields.
2022-07-14 10:58:56 +10:00
Marc Durdin
51a94a1d7d feat(developer): cleanup touch layout files on load and save
Improves the .keyman-touch-layout clean schema and adds additional
cleanup during load and save in the Touch Layout Editor.

The compiler already does transforms for the relevant fields to the
formats that KeymanWeb is expecting (in particular, width, pad to
string).

This is preparation for adding hint data to the format as well.
2022-07-14 10:57:39 +10:00
Marc Durdin
b702b7dbc3 fix(developer): fix issues with template and presentation 2022-07-14 10:55:03 +10:00
Marc Durdin
d29468441d chore(developer): remove multitap icon cleanly 2022-07-14 10:55:02 +10:00
Marc Durdin
f9241f4cd7 chore(developer): minor cleanup 2022-07-14 10:55:01 +10:00
Marc Durdin
feee081f6f feat(developer): tweaks ui for selected key cap
* Separates out the 'command' icon key cap controls
* Fixes selection of last active element with undo
2022-07-14 10:55:00 +10:00
Marc Durdin
a637b58066 feat(developer): rework touch layout editor
* Restrucure touch layout editor to make space for additional gesture
  types:
  * Move control bar to right hand side
  * Move key cap edits to control bar.
* Adds flick and multitap gestures:
  * Adds buttons to add longpress keys, flicks or multitaps.
* Adds Unicode value boxes which mirror the key cap text box.
* Updates key width values in real time when resizing
* Maintain selected key as far as possible across layer switch, platform
  switch and presentation view switch.
* Starts to split 'special' key cap icons from normal key caps.
2022-07-14 10:54:59 +10:00
Marc Durdin
5875cf504f chore(developer): update jquery-ui version to 1.13.1 2022-07-14 10:54:58 +10:00
Marc Durdin
054423fbef chore(developer): refactor subkeys out of builder.js 2022-07-14 10:54:57 +10:00
Marc Durdin
83bf20cb44 chore(developer): refactor 'constants' out of builder.js 2022-07-14 10:54:56 +10:00
Marc Durdin
f8f271577b chore(developer): refactor undo actions out of builder.js 2022-07-14 10:54:55 +10:00
Marc Durdin
c88826ccaa chore(developer): refactor builder.js 2022-07-14 10:54:54 +10:00
Marc Durdin
a160a5c709 chore(developer): move source files to /developer/src 2022-05-18 10:34:48 +10:00