https://bugs.kde.org/show_bug.cgi?id=513571

--- Comment #5 from Wismill <[email protected]> ---
Since IBus is not involved, the key point is probably the first sentence: “When
typing FAST”.

The `lv(apostrophe)` layout uses a *latch* modifier – the “apostrophe”
modifier, but it is really a latch AltGr – which behave slightly differently
than a real dead key:
- Dead key is a Compose feature handled by your IM (input method: IBus, toolkit
default, etc.). A dead key starts a compose sequence only for the next key
press.
- A Latch modifier *remains active while pressed*: for slow typers it would not
make a difference, but if you type *fast* then chances are that you are still
pressing the latch modifier while pressing “c”.

@Jānis could you try reproducing the issue, at various typing speeds, ensuring
the following sequence:
1. Press *and* release ‹'›
2. Type ‹a›
3. Type ‹c›

Since changing typing habits is hard, you may be interested to simulate the
dead key behavior with the following change. Note that it requires libxkbcommon
1.11+ package and is incompatible with *X11 session* (XWayland is fine, see the
note hereinafter). It is a *user-space* change so it is safe; see
https://xkbcommon.org/doc/current/custom-configuration.html for further
details.

Create the file `~/.config/xkb/compat/iso9995` (create directories if needed)
with the following content:

default partial xkb_compatibility "default" {

    include "%S/iso9995" // include system defaults

    virtual_modifiers  LevelThree;

    interpret.repeat= False;
    latchMods.clearLocks= True;
    latchMods.latchToLock= True;

    interpret ISO_Level3_Latch+Any {
        useModMapMods= level1;
        virtualModifier= LevelThree;
        action= LatchMods(modifiers=LevelThree, latchOnPress); // dead key
behavior
    };
};

Note to KDE devs: the keymap will be automatically converted to X11-compatible
format when sent to clients as long as you use the explicit
`XKB_KEYMAP_FORMAT_TEXT_V1` with `xkb_keymap_get_as_string()`. So XWayland is
fine.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to