From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:subject:message-id:mime-version:content-disposition; bh=Y2Q3r5Ig929L8HDG/d0ayqLlySOZxbrHTXuNx7D/mb4=; b=nXFyZxDkJ4yRAhpQNNCmlVvij6ghyg68mGva80i2TJQHIgYDw+x9WX9L6Fi37iEMrd tYfAJwW3yGFayCE2UKqZyFxsm/gc4l1HqID6xb8H7o9TWspEzR+aVubBvx/BP6Dyvq6S h6gNOw/Sm4puNdaQxacpJNOKVMDscYsXkiJ0APvKTbxb+apTRlhi554LYOx6pYrnV8iu gEPZMO0nKRSLuYvHQTnYX708lUtXGpgyQDAyG43xcFoP62f9SHID0gaITGuHGydJ3oTB VSGZli3gkdmNvpuhV7Kuzs2P7zj51HSISRQ08MS464oIA3+gvFDLPLPVBGkOs1R3LqWE DPXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition; bh=Y2Q3r5Ig929L8HDG/d0ayqLlySOZxbrHTXuNx7D/mb4=; b=bZlr1VRfjNZpTYhBoVFs99af6bOube1LoGle30NfDpz34Cc7UM8TqWYBO1nimH2CdL Sqgz9AATr6lq31SmA8DiIdjyoklZnsK3B0IyU1oakXlrKtAadynCzAhMLBq8M8MaAElz luwBi66odjfY+Z4r67MDcXja6hb58D/Mg2P8RkIYEi8eLdzgsvRp1SVFFp3fnIcpIQpG zZUjXRKZ+eZT+nN6VZW4dtOpT74Tx0aPlDVBJ7U4PcPLUiHZ/NganFtpL+k2Drwukj8z 9/IRpiKJQ/npxyL8Q8TwLZcnPMYgb3K61T/yD6dEFV1+3OWwOiyiKOS8kmlB8s2MPw/3 gETw== X-Gm-Message-State: AOAM533i/qFOi8oD2bbAzw1uwH+8GE9y+8MJN47WeeXLnRCXKney2NcB xAnHY1elpFvvg+CkWDnoZDa0BlPo+8k= X-Google-Smtp-Source: ABdhPJzRCi8MDi5Yv50sdkhyEODP2e3+mXoH3j93XHjboZ8XrVv1MEFGbf8eP7RQFKZTjHajALx6jw== X-Received: by 2002:adf:fe03:: with SMTP id n3mr10904550wrr.35.1644842962178; Mon, 14 Feb 2022 04:49:22 -0800 (PST) Date: Mon, 14 Feb 2022 13:49:18 +0100 From: Alexey Gladkov To: Linux console tools development discussion Message-ID: <20220214124918.r7vjp7epspvw35jd@example.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [kbd] I: kbd + xkb X-BeenThere: kbd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Linux console tools development discussion List-Id: Linux console tools development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2022 12:49:26 -0000 Archived-At: List-Archive: Hi! I implemented initial proof of concept[1] for using layouts from XKB. Using xkbcommon I process loadkeys arguments and convert the resulting configuration into a kernel keymap. Only what is supported by the kernel is converted. This support does not replace regular keymaps. There are no plans for this. The command looks like: loadkeys --xkb-layout="us,ru,fr" --xkb-options="grp:caps_toggle" This implementation is inspired by the console-setup[2] project. Many thanks to Anton Zinoviev for help. At the moment compose is not implemented. This is because xkbcommon does not provide an API for iterating over a compose table. I hope to solve this problem in the future. If you're interested then comments, bug reports and patches are welcome! [1] https://github.com/legionus/kbd/tree/xkbcommon [2] https://salsa.debian.org/installer-team/console-setup.git -- Rgrds, legion