keymanapp / keymanapp/keyman

feat(developer): Provide Mobile Platform Templates to "Add layer" Dialog

Open
#14,594 1 comment 0 reactions 0 assignees View on GitHub
developer/ feat good first issue help wanted
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 wishing to emulate layers from an iPhone, iPad, Samsung phone, etc, it is extra time and effort that can be difficult when the developer does not have access to one of these devices (or easy access). I assume that this is a recurring issue for many keyboard developers.

### Describe the solution you'd like

It would be very convenient if boilerplate templates were built into KMD. For example, if you would like to add the iPhone punctuation layers to your keyboard, you could select them from a menu in the "Add layer" dialog. Once added, the developer could make changes as desired. The menu might offer:

**Add layer Dialog:**

[Platform = "phone"]

Tablet: (menu)
* iPhone - abc
* iPhone - ABC
* iPhone - 123.?
* iPhone - #+=
* Samsung - abc
* Samsung - abc
* Samsung - !# 1
* ...

[Platfrom = "tablet"]

Tablet: (menu)
* iPad - abc
* iPad - ABC
* iPad - 123.?
* iPad - #+=
* Android - abc
* Android - ABC
* Android - (??? - not sure, I don't own one)
* ...

The templates that get inserted would include all longpresses, flicks, and multitaps as found on the native keyboard.

A difficulty might be that iPhone keyboards seem to be a moving target, so they may need to be version specific in the menu.

### Describe alternatives you've considered

_No response_

### 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

18.0.238

### Operating system

Windows

### Device

Laptop

### Target application

N/A

### Browser

N/A

### Keyboard name

N/A

### Keyboard version

N/A

### Language name

N/A

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.