Introduction


The FirstVoices keyboards act as a way for language communities to type in their language both on computers and mobile devices. The FirstVoices keyboards for Mac and PC are built in partnership with Keyman, using Keyman's open-source technology. The FirstVoices keyboards from Chromebook are built using the FirstVoices Chromebook plugin. The keyboards are designed to function across online platforms, and to be useful while typing both the Indigenous language as well either English or French. This allows users to type in their language, but also to type characters that may not exist in their language but are prominent in English or French and thus necessary to successfully use the internet.

The FirstVoices team works to ensure the keyboards are up to date, and functioning are intended. However, there are occasionally have external users interested in either updating existing keyboards or creating new ones. This contributor guide will support you in doing this, and ensure that the appropriate steps are followed so that your keyboard or keyboard updates can be approved by the FirstVoices team. Contributions to our repository of keyboards are welcomed, and this page has a series of steps and guidelines to help support you in adhering to our process.


Before you start


Before you start creating a keyboard, or modifying the Keyman files on an existing keyboard, please reach out to the FirstVoices team at hello@firstvoices.com with the following information:

Doing this in advance will not only ensure that there is mutual understanding about what your plans are, it will also allow the FirstVoices team to communicate with the language team from that community, to confirm that these are changes they are interested in.

Once you have been approved to make modifications, you can move onto the next steps.


Building for Mac, PC or Mobile


Understanding Keyman

Keyman Developer is a complex program, and if you have never worked on a Keyman keyboard before, it is essential that you learn how to use the developer's tools before making any modifications to a keyboard.

Working in Keyman

Once you have a functional grasp of how to work in Keyman Developer, you will need to adhere to the following instructions about creating/modifying a FirstVoices keyboard:


Building for Chromebook


To learn how to build a Chromebook keyboard for the FirstVoices Keyboards plugin, click here for the tutorial.

Once you have a functional grasp of how to work in FirstVoices Keyboards plugin, you will need to adhere to the following instructions about creating/modifying a FirstVoices keyboard:


Completing your Contribution


  1. Once you are ready to contribute, create a Pull Request that includes all your changes against https://github.com/keymanapp/keyboards. Github has some more information on creating a pull request.

  2. Keyman staff will review your pull request and provide feedback if applicable, specifically related to the keyboard functionality.

  3. Once Keyman staff feedback is addressed, they will assign the PR for a mandatory review by a FirstVoices team member to ensure that it meets our contribution guidelines. 

  4. After all applicable modifications have been addressed, and both reviews have passed, your changes will be merged into our repository.

  5. You changes will be queued for the next release of the FirstVoices Keyboard app for all platforms. You may be invited to test the beta if you wish to do so!


Terms


In order to have a new keyboard or keyboard changes accepted into the FirstVoices keyboard repository, you must agree to the following:

We welcome contributions in developing a new keyboard to be added to the FirstVoices keyboards package, or modifying an existing FirstVoices keyboard! Please contact hello@firstvoices.com with the information listed under "Before you start" and a member of the FirstVoices team will contact you for further discussion.