Custom Keyboard: Keys and Display

Hi,
I’m trying to create a custom keyboard that has the same mapping as the SIL Hebrew keyboard. I managed to install the keyboard on iPad and android phone, but I encountered two issues:

  1. The keyboard is not the same as that in Keyman Developer. It does not have “Alt” and “Ctrl”. And, “Shift” does not work as designed.
  2. The keyboard does not display the Hebrew letters, vowels, and cantillations. It only displays English letters.

Any help appreciated!

Welcome to our community.

There is a keyboard with these layouts in our collection. Please check this one: Hebrew (SIL) keyboard. Note that this keyboard is not available on mobile devices, i.e. iOS and Android.

If you’d like to create one, please refer to the instructions here: Simple Touch Keyboard Tutorial.

Hi @makara,
Thanks very much.
I have been using the Hebrew (SIL) keyboard for years. But I want to create a keyboard for mobile devices. Is there a way to convert the Hebrew (SIL) keyboard into a mobile .kmp version?

There is an Ancient Hebrew keyboard ready for installation in the mobile app, but it does not distinguish Qamets from Qamets Hatuph. I need both Qamets and Qamets Hatuph.

I will check out the Simple Touch Keyboard Tutorial.

The .kmp cannot be converted into a mobile version. However, you can create a mobile version based on the current layout by “import from On Screen” and/or customize it by moving the keys around.

Thanks!
I have made a Touch Layout keyboard and complied the package. However, there are still quite a few problems.
I checked tablet in the details. After compiling the package, I installed it on my iPad.

Update:
I did not include the .kvks file in the source when I did the compilation. Now, after adding the file, the keyboard has the same problems as on my android phone (see the post below).

  1. when I type the Hebrew letters, it output the English letters. (this problem is solved. see post below)
  2. the “Shift” key works, but when I type, it also outputs English letters. (this problem is solved. see post below)
  3. the “Alt” and “Ctrl” keys are present, but they don’t work, namely, they don’t remain down.

(there are limitations to new users. I can only upload an image per post. I have to continue my post here).

I installed the same keyboard on my android phone. It displays the keyboard mapping. However,

  1. when I type the Hebrew letters, it output the English letters. (this problem is solved. see post below)
  2. the “Shift” key works, but when I type, it also outputs English letters. (this problem is solved. see post below)
  3. the “Alt” and “Ctrl” keys are present, but they don’t work, namely, they don’t remain down.

I have four files for compilation:

  1. sil_hebrew.js
  2. sil_hebrew.json
  3. SILEOT.ttf
  4. sil_hebrew.kvks

Did I miss any critical files?

Update:
I found out part of my problem.

The “Touch Layout” is just for display, not for output. I still need to set the output by changing the “Code” field.
Now I can type Hebrew with the “normal” state and the “Shift” state.

I still have two problems though:

  1. “Alt” and “Ctrl” still don’t work.
  2. The “Layout” and the “Touch Layout” have different mappings. How can I match them?

Could you zip the keyboard project and send it over to me so I can take a closer look at it on my side?

My guess is that you have two separate layouts for touch, (1) phone and (2) tablet – where you may not have done anything for tablet.

If you intend to have the same layout for both phone and mobile, you can delete the tablet one and keep only the phone layout.

Should you need further assistance, we can have a live support on Zoom or Skype.

Hi @makara,

I have PMed you my project file.
I have deleted the phone platform. So it is not a platform issue. Now, the only major issue is that “Alt” and “Ctrl” do not work.

Beside this major issue, there are some minor ones:

  1. the last key in the 2nd row is missing.
  2. the last key in the 3rd row is unusually wide, although I have set its width to 100.

This is my Touch layout, default layer.

  1. the last key in the 2nd row is missing.
  2. the last key in the 3rd row is unusually wide, although I have set its width to 100.

I guess you found a way to add a new key to the row because the latest screenshot of your default layer seems to have everything in order. However, you force to keep the size you set by adding a spacer key to the right the right most key – set the Key Type and Width (while leaving the rest as are) as show in the screenshot below:

the only major issue is that “Alt” and “Ctrl” do not work.

Click on the Alt key and then in the Next Layer field click to choose the corresponding layer from the dropdown menu. Do the same for any other Special key.

1 Like

Thanks! The Spacer key solved the 2nd issue.
I have not solved the 1st issue, the missing key. The latest screenshot is from the Developer app, which has the 13th key in the 2nd row. But the keyboard on my iPad does not have the 13th key.

Latest screenshot:

When I choose the “Alt” layer from the top and click the “Alt” key, the “Next Layer” box automatically shows “alt”. I don’t need to choose from the dropdown menu.
I have sent you the entire package in PM. Thanks a lot for helping out!

I misunderstood your instruction. Now I think I’m getting it.
The “ctrl” and “alt” keys work as designed now.
Thank you so much!!!

I had some misunderstanding about the “Spacer” key and how the modifier keys should be set up. I have fixed all the problems that I had. Everything works as intended!

This is the first time I make a Keyman keyboard! Thanks a lot for being patient with me and being so helpful!

1 Like