keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
399 stars 112 forks source link

spec(developer): LDML to keyman-touch-layout tool 🙀 #5078

Open mcdurdin opened 3 years ago

mcdurdin commented 3 years ago

Proposal

This will be a compile-time tool written in Typescript that takes the .kmx-ldml file and uses the DataBlob Library to interrogate the LDML file and generate a corresponding .keyman-touch-layout file.

This will then be used by the existing compiler toolchain to generate:

This tool should be accessible as a standalone library, wrapped with a command-line tool, so that it can be used for unit testing as well.

We may make this into the same command line tool as for .kvk (#5077), but the libraries should be separate deliverables.

Notes

Related


Keyman Developer:

darcywong00 commented 2 years ago

Do we need a separate spec for how Developer and Web will handle the LDML spec of additional form-factors by size in mm? From Feb 2022 planning meetings, a possible workaround is having tablet vs phone map to various mm sizes.

Also possibly related to #4861?

mcdurdin commented 2 years ago

Do we need a separate spec for how Developer and Web will handle the LDML spec of additional form-factors by size in mm? From Feb 2022 planning meetings, a possible workaround is having tablet vs phone map to various mm sizes.

I am hoping we can update the touch layout template to support multiple sizes in mm rather than wedging LDML sizes into the limits of phone vs tablet. That will give us an answer for Android device type detection as well (where we are just guessing, heuristically, whether a device is a tablet or a phone).

darcywong00 commented 3 months ago

From A18S8 NA planning meeting, reassigning to @ermshiperete for A18S9