Skip to content

Conversation

@bruderjakob17
Copy link

I tried to add the KALQ layout to the English (US) keyboard. The current state is usable, but has a few issues:

  1. The symbols layer of the KALQ layout has no number row (numbers are layouted as number pad); but since this seems to be required by HeliBoard, I worked around by adding the first row of the symbols as number row. As it is both the first row of symbols and the "number row", redundant popups are added, which should not be there. (Adding an empty number row resulted in the keyboard not loading.)
  2. When adding the last row as functional keys, some of the letters got inserted in between, destroying the layout. Hence, as work-around, I added a new empty functional key file, and added the last row in the main layout (and the kalq-defined last row of the symbols layer to the symbols layout). This seems to work well.
  3. The delete key is in the second to last layer. Apparently, "=" is added as popup, since this is at the same position in the symbols layer. This means one cannot hold the delete key for repeated input, which is very much undesirable. Following layouts.md, I tried to add "groupId": -1, but without success. Is there a way to just disable all symbol popups that automatically get added? I did not understand the last paragraph in layouts.md D:
  4. While following layouts.md, it was not clear to me how to add a layout to an existing language - the file appears to not handle the two separately, so I just followed the bullet points and am not sure what I ended up with.

For reference, here are screenshots of the original KALQ keyboard app (discontinued and not available anymore in the play store):
5276140098347464485
5276140098347464486

And here the current state (already looks good :))
2025-08-21 14_57_10-Running Devices - HeliBoard
2025-08-21 14_56_50-Running Devices - HeliBoard

@Helium314
Copy link
Owner

The symbols layer of the KALQ layout has no number row (numbers are layouted as number pad); but since this seems to be required by HeliBoard, I worked around by adding the first row of the symbols as number row. As it is both the first row of symbols and the "number row", redundant popups are added, which should not be there.

Heliboard currently replaces the first row of symbols with the number row, if it's not enabled. The "hidden" row only contains keys that can be reached from symbols or more symbols layouts.
If you need special behavior, I guess there is no way aroud adjusting the number row handling in KeyboardParser.

When adding the last row as functional keys, some of the letters got inserted in between, destroying the layout. Hence, as work-around, I added a new empty functional key file, and added the last row in the main layout (and the kalq-defined last row of the symbols layer to the symbols layout)

Alphabet layouts seems ok with

[
  [
    { "type": "placeholder" },
    { "label": "delete", "groupId": -1, "width":  0.24 },
    { "label": "action", "width":  0.24 },
    { "type": "placeholder", "width": 0.02 }
  ],
    [
      { "type": "placeholder", "width": 0.02 },
      { "label": "shift", "width":  0.24 },
      { "label": "language_switch", "width":  0.12 },
      { "label": "", "code":  -10040, "width":  0.12},
      { "type": "placeholder", "width": 0.005 },
      { "label": "symbol_alpha", "width":  0.24 },
      { "label": "shift", "width":  0.24 },
      { "type": "placeholder", "width": 0.02 }
    ]
]

(and functional keys removed from alphabet layout)
For symbols the functional keys probably need to be

        { "label":  "symbol_alpha", "width":  0.24 },
        { "label": "[", "width": 0.12 },
        { "label": "]", "width": 0.12 }

but didn't test. Should work using the keyboard_state_selector

Is there a way to just disable all symbol popups that automatically get added?

I don't think so. But they should not get added to functional keys.

While following layouts.md, it was not clear to me how to add a layout to an existing language - the file appears to not handle the two separately, so I just followed the bullet points and am not sure what I ended up with.

It looks fine I think.

Other things I noticed:

  • the functinal keys (whatever way they are implemented) should respect the emoji & language switch key settings
  • additional layouts (symbols, functional keys and number row) can be selected in secondary layouts screen, so they need a name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants