keymanapp / keymanapp/keyman

feat(developer): Checks when adding layer name on "Code" panel

Open
#7,850 1 comment 0 reactions 0 assignees View on GitHub
developer/ developer/ide/ feat
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.

In Keyman Developer, in the Touch layout interface, the `Add` layer feature does not permit non-Roman letters in the layer name, when letters of other scripts are used the following error message appears (see also the attached screenshot):

```
Layer name must contain only alphanumerics, underscore, and hyphen.
```

However, the user can add a temporary name, switch to the "Code" panel, and replace the temporary name with the desired non-Roman name without issue.

![Non-Latin-Layer-Name](https://user-images.githubusercontent.com/8098333/204683827-79ddd525-8f60-4060-b3e2-c85f1ce2a306.png) Developer

### Describe the solution you'd like

The JSON spec does not have the alphanumeric limitation for attribute values. I would like the feature to check validity against a JSON API, and report an error to the user as applicable.

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

15.0.273

### Operating system

Windows 11

### Device

Windows 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

Research direction

No files, tests, or entry points are identified in the report. Locate the Touch layout Add-layer validation and compare it with the Code panel's JSON attribute validation. Done means valid non-Roman layer names are accepted and invalid values produce an appropriate error.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.