• Show log

    Commit

  • Hash : 69c3d257
    Author : Pierre Le Marre
    Date : 2025-06-17T16:43:05

    keymap: Add parameter `latchOnPress` for LatchMods()
    
    Some keyboard layouts use `ISO_Level3_Latch` or `ISO_Level5_Latch` to
    define “built-in” dead keys:
    - they do not rely on the installation of custom Compose file;
    - they do not clash with other layouts.
    
    However, layout projects usually want the exact same behavior on all OS,
    but the XKB latch behavior (often misunderstood) also acts as a *set*
    modifier, which is not expected.
    
    The usual behavior of a dead key on Linux, macOS and Windows is:
    - latch on press;
    - deactivate as soon as another (non-modifier) key is pressed.
    
    Added the parameter `latchOnPress` to `LatchMods()` to enable the
    aforementioned behavior.
    
    As it is incompatible with X11, this feature is available only using the
    keymap text format v2.
    
    [XKB protocol key actions]: https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Key_Actions
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/libxkbcommon.git
    Git SSH git@git.kmx.io:kc3-lang/libxkbcommon.git
    Public access ? public
    Description

    keymap handling library for toolkits and window systems

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags

  • README.md

  • Fragments for the changelog

    This directory contains fragments for the future NEWS file.

    Introduction

    We use <code>towncrier</code> to produce useful, summarized news files.

    There are 3 sections types:

    • API: changes/api
    • Tools: changes/tools
    • Build System: changes/build

    There are 4 news fragments types:

    • Breaking changes: .breaking
    • Deprecated: .deprecated
    • New: .feature
    • Fixes: .bugfix

    Adding a fragment

    Add a short description of the change in a file changes/SECTION/ID.FRAGMENT.md, where:

    • SECTION and FRAGMENT values are described in the previous section.
    • ID is the corresponding issue identifier on Github, if relevant. If there is no such issue, then ID should start with + and some identifier that make the file unique in the directory.

    Examples:

    • A bug fix for the issue #463 is an API change, so the corresponding file should be named changes/api/463.bugfix.md.
    • A new feature for tools like #448 corresponds to e.g. changes/tools/+add-verbose-opt.feature.md.

    Guidelines for the fragment files:

    • Use the Markdown markup.
    • Use past tense, e.g. “Fixed a segfault”.
    • Look at the previous releases NEWS file for further examples.

    Build the changelog

    Install <code>towncrier</code> from Pypi:

    python3 -m pip install towncrier

    Then build the changelog:

    # Only check the result. Useful after adding a new fragment.
    towncrier build --draft --version 1.8.0
    # Write the changelog & delete the news fragments
    towncrier build --yes --version 1.8.0