Can I add custom Keyboard layouts?

Hello, I’m wondering if it is possible to install custom keyboard layouts. I’m setting up laptops for Indigenous students in Canada and some of the languages require a custom keyboard layout to type in their language. How can I add a custom keyboard?

Are these keyboard layouts pretty standard? Endless OS uses X11 and xkb like most other Linux distributions, and xkb ships with many, many keyboard layouts. The layout you need might actually already be available!

I don’t know anything about Canadian indigenous languages, but was interested and thought I’d take a quick look. Cree was the first language I read about on Wikipedia, and I found that Endless OS supports it. It is a little hard to find so here are some steps. If it’s not Cree that you need, it’s worth taking a look anyway. It appears we support it through the “m17n” ibus engine.

In Settings, choose Region & Language:

Click the + button:

Click the button, and type the language/script you are looking for:

It may be hidden under an Other entry:

You select it from the menu in the bottom-right corner:

And I was able to type a few characters in LibreOffice:

2 Likes

Hi, Thanks for your help. I was able to locate both Cree and Ojibwa keyboards on the Endless system. I am wondering if you can point me to a map of how the characters are plotted on the keyboard?

Try Show Keyboard Layout in the selector menu.

Actually, this Cree input method seems to work by you typing the components of the syllable in the Latin alphabet on your keyboard. So for instance I entered ᐊ by typing a, and entered ᐸ by typing pa. This is similar to how some input methods work for CJK languages, but I’m not sure whether this is typical for Cree input methods on other operating systems!

https://en.wikipedia.org/wiki/Intelligent_Input_Bus gives a bit of background on how IBus works.

Hi,

The “show keyboard layout” unfortunately only displays the standard US keyboard, even when Cree is the activated keyboard. not sure why.

I figured it out tho! I will need to map out the keyboard myself to create a visual reference but I was having a great deal of trouble producing some of the characters using the multi-keystroke input method. As you mentioned, we can type “pa” to get ᐸ. But in Cree (and other languages in the same family), vowel length is VERY important and can create differences in words so it’s important to be able to express pa AND paa.

Long story short, I was using the writing app to try and produce “paa” without success. But I discovered that this is because of the font I had paired my keystrokes with. Using Aboriginal Sans I could not produce a “paa” using syllabics. However, when I switch to Aboriginal Serif I can produce the correct character! :slight_smile: paa - ᐹ !!! YAY! Interesting how serifs take on a new meaning when discussing this different language!

1 Like

Hi,

while the OP has their problem solved (sort of) but the original question is still unanswered: is it possible to add custom keyboard layouts? I have a bad feeling about the read-only file system forbidding it completely. Is that suspicion correct?

You might be able to install them to /usr/local (which is a symlink into the writable /var) if X looks there as well as /usr.