Adapting and adding keyboard layout


I downloaded and built from source successfully, and am now looking into how I could modify / contribute new keyboard layouts to WebOS OSE (many are missing currently).

Looking among the packages on github it seems that the layouts are stored in the “ime-manager” package ( Those layouts are json files in there.

I therefore have the following questions:

  1. Are those the actual layouts used for the keyboard?
  2. Adding a new layout means registering it for the OS to propose it in the menu. Is it done in the layoutloader.cpp class ?
  3. How can I modify one of those layouts and rebuild an image ?


Bumping this for some love…

I have been able to customize a layout, but I had to go in the /usr/share/X11/xkb and manually modify a layout in the symbols. The list of supported languages here is much larger than the one showing in the WebOS OSE menu under the general settings.

Is there a plan already to make these keyboard available ? I am thinking mostly about the UK and US International layouts that many people use in Europe.

I also noticed that you can have multiple layouts activated at the same time, but I could not find the shortcut or way to switch / cycle through the layouts. Anyone knows how to do that ?

Hi Raste,

We have fully open sourced USB keyboards for all the supported languages, Virtual Keyboards had some third party library dependency, those libraries are removed but still, some layout related files are yet to be streamlined.

Yes, multiple keyboards can be activated. to switch the USB keyboard languages use “Right Alt” key



Thank you for your reply. Good to know you guys are planning on improving the support for more physical keyboard layouts.

While digging in the files I found multiple possible locations for the keyboard layouts, could you clarify which is the one the OS uses (are they in the the X11/xkb files or in the ime-manager package) ?

Edit: or is it somewhere else?



Right now, all layout files are in Ime-manager package only, as I mentioned earlier Virtual Keyboard related files are yet to be streamlined, layout files location may change in the future.