I use my own custom keyboard layout based on the US International layout that adds in all the symbols needed to write in all Latin script European languages, such as č, ħ, ð, ş, ł, l·l, ő, ů… Most are created via dead keys, others such as ø, æ, ə are added into the third and fourth levels (AltGr and Shift). I find it very useful as I write in different language and have to input a lot of names from all over the world for work. It’s not optimized for any language, but is reasonably easy to use for all of them.

Originally I had used a keyboard layout creator on Windows, but when it came to recreate it on Linux I had to resort to editing system files: I mapped every key by duplicating and editing one of the layouts found in the /usr/share/X11/xkb/symbols/us file, gave it a new name and then edited /usr/share/X11/xkb/rules/base to add the name of the new layout. Logout, login again and there the new layout was, perfectly functional.

This system is not practical at all though, especially because some updates (not all) rewrite the files and revert my keyboard to normal US international, so I have to copy-paste the layout again. Plus, I don’t know if xkb is one day going to be deprecated, as it is part of X11, leaving me without my layout.

Is there any “proper” way to create a layout and have it recognized by Plasma possibily without editing system files?

  • baduhai@sopuli.xyz
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    The way I do it is using an external program, but it works super well, and doesn’t get over written on updates: keyd. The advantage of using this program is that my custom layout works even in the tty.

    • deliriousn0mad@feddit.itOP
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 year ago

      I did look it up, it’s great and faster than my layout for the big languages – German, French, Spanish and Italian – because the accented letters are on the third and fourth levels directly and not written via dead keys, but it’s harder to write most of the others like the Slavic languages (š, ů, ď, ł, ć, ̦ż, ą), Romanian (ș, ṭ, ă), Hungarian (ő, ű), Catalan ( · ), Azeri (Ə), Portuguese (ã), Turkish (ş, ţ, ğ, ı. İ) and Maltese (Ħ, Ġ). In EurKey each one requires Shift+AltGr+DeadKey+letter and a few are missing, while in my layout most of these require one less key. Of course this is not useful to most people, but I’m happy with it.

  • ono
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    If you don’t find software that works well, you might consider a keyboard with QMK or TMK firmware, or an older AT or PS/2 keyboard with a Soarer’s converter. (I think I’ve even seen some hobbyist Soarer’s converter variants that handle USB keyboards.)

    One advantage of these is that, since they operate at the hardware level, they work in all OS and application environments.