feat(developer, web): Add support for a "Last Layer" identifier for the "Next Layer" field
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Is your feature request related to a problem? Please describe.
When working with many layers in a touch layout, there can be multiple ways to arrive at a given layer. That is, a given layer may be the target of more than one "next layer" property.
As a convenience for users, I would like to add a "back" button to return to the previous layer. Doing so is complicated (not possible?) when the previous layer is not tracked and cannot be specified.
### Describe the solution you'd like
I would like the "Next Layer" dropdown menu to have a built-in, option for a macro like ":last_layer:", or whatever would be JSON safe.
Keyman will interpret this target layer as the previous layer that the user was on and reload it.
I imagine that in source code the layers are treated as objects, and a field might be added to track the previous layer. This would be useful to have, per-layer, to support multiple levels of "back".
### Describe alternatives you've considered
An alternative that I use is to have layer "A" go to (next layer) "B_A", and layer "Z" goto to layer "B_Z". Where layers "B_A" and "B_Z" are both duplicates of a layer "B" that can in turn have "Back" / "Return" keys that point to layers ""A" and "Z" respectively.
This leads to unfortunate duplication of data that could be avoided if layers "A" and "Z" could both navigate to a single "B" layer that in turn could have a "Back" key with "next layer" target ":last_layer:".
### Related issues
_No response_
### Keyman apps
- [ ] Keyman for Android
- [ ] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [ ] Keyman for Windows
- [X] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
_No response_
### Operating system
_No response_
### Device
_No response_
### Target application
_No response_
### Browser
_No response_
### Keyboard name
_No response_
### Keyboard version
_No response_
### Language name
_No response_
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.