How can I distribute a keyboard to Keyman for Android?

A language community I work with are excited about the possibility of text messaging using their own language and writing system.

I am working with a co-worker who is a lot more technology-savvy than I am. We have made good progress with the new Keyman software. We are particularly interested to get our keyboard to work for Android, given the interest in texting on phones.

We got to the step where we need to copy the compiled file to the phone, which we did. But from that point we got stuck and cannot figure out how to proceed.

Anybody any idea what we can do?

Hi Joan
We have some online guides that will help describe the steps to distribute the compiled file to the phone. This is assuming you’ve used Keyman Developer to create a touch layout keyboard (compiles to a .js Javascript file, not the .kmx files that Keyman Desktop uses).

If you are using Keyman for Android 2.8 from the Google Play store, follow this guide. In the end, you should be able to browse to your custom website URL from the Android phone. Then, clicking the link should trigger Keyman for Android to prompt about installing your keyboard.

To help us further troubleshoot, please provide us information about:

  • Version of Android on your phone
  • Version of Keyman for Android
  • Your custom URL to your compiled touch keyboard.

Hi Darcy,

Thanks so much for your advice! I received your message, but my
colleague and I have been busy with other work today, so have not yet
had a chance to work on the Keyman problem.

I will report back when I know more.

Blessings,

-Joan

I have helped Joan get a keyboard working on Android, but the process of uploading the files and an html file to link them is fairly difficult for national staff. We’re also worried the process of downloading the app and then the keyboard separately will be confusing for the community members. Are there any plans to make this process simpler? (As a fairly tech-savvy person, I’ve had a quite difficult time getting things to work.)

What would the process be if we would like to add keyboards directly into Keyman so that they could be downloaded in the same way as other built-in keyboards? That would at the very least simply the download process for community members. This team is hoping to eventually create around 9 keyboards for minority languages in the region.

Malachi,

Good to hear you were able to help Joan get the keyboard to work on Android. That method of distributing keyboards via custom websites and json files can certainly get challenging and tricky to get working. We’re aiming to streamline that process with the upcoming Keyman 10.0 beta release, where you’d be able to upload a single Keyman keyboard package file (.kmp). Clicking a link to that .kmp file would trigger Keyman for Android to download and install all the mobile keyboards within that package.

Long term, you’ll want to submit your keyboards to our keyboard repository so your users can access the keyboards within the Keyman built-in keyboard list. Follow the Keyman Cloud Keyboard Repository guide which involves creating a GitHub account and submitting your keyboard as a “Pull Request”.

Thanks for the helpful and very fast reply.

Is there an eta for when 10.0 might be released? Is the .kmp file something that can be shared via sdcard and installed without an internet connection (i.e., is it completely self contained)?

Thanks for the directions on uploading keyboards to GitHub. That looks like something that national staff is even less likely to be able to do, but once the keyboard is completed maybe I can do it once on their behalf.

Hi again,

Is there an eta for when 10.0 might be released?

Our goal is to have a synchronized Beta release of Keyman 10.0 across all our products (Desktop, Developer, mac, Web, iOS, and Android) in a month. There’s a lot of loose ends to wrap up, but we hope to get there!

Is the .kmp file something that can be shared via sdcard and installed without an internet connection (i.e., is it completely self contained)?

Yes. As long as Keyman for Android or Keyman for iPhone and iPad 10.0 is already installed on your device, you will be able to browse to the .kmp file and have it trigger Keyman to install the keyboard according to the package distribution guide

Some proprietary file browsers are known to have issues (like Samsung’s My Files browser), but we’ve verified it works with other browsers like “Downloads” through Chrome

(edit: Updating the link to the package distribution guide)

Dear Darcy,

If it is the case that .kmp files are self contained, I would recommend you revise the guide you sent (Distributing Keyboards to Keyman Mobile Apps) to include information about methods other than creating a webpage with a download link. In particular you might mention transferring via sdcard, bluetooth, or sending via email. You wouldn’t necessarily need to give details on how to, but at least let it be known that people aren’t bound to only distribute it via a webpage link.

Thank you.

Hi Malachi,

In particular you might mention transferring via sdcard, bluetooth, or sending via email.

Thanks for the suggestion. I’ve consolidated the desktop and mobile package distribution guides (see link in my previous post) and mentioned sharing the keyboard package files.

Another way to distribute KMP files is via Google drive. I found I needed to do this because my email would not send .KMP attachments. I think the file content is a zip format, and Google security detects that.

But I can upload a KMP file to my Google drive, and then use the Drive attachment on my iPhone to get the file. It looked forbidding at first, I’d open the file and the phone would say “unsupported file type” but if I tapped the three dots, then tapped “Open in”, “copy to Keyman” is one of the options, and that enabled me to install the keyboard.

1 Like

The issue on this topic had been resolved.

Respectfully, due to the inactiveness of the conversation, this topic is now closed for any further discussion.
Please feel free to create a new topic if there is any question or the issue persists.