On 23/04/2025 19:34, Adam Williamson wrote:
On Wed, 2025-04-23 at 18:17 +0200, Jocelyn Falempe wrote:
On 23/04/2025 18:01, Adam Williamson wrote:
On Wed, 2025-04-23 at 11:43 -0400, Neal Gompa wrote:
On Wed, Apr 23, 2025 at 11:42 AM Adam Williamson
<adamw...@fedoraproject.org> wrote:
On Tue, 2025-04-22 at 11:51 +0200, Jocelyn Falempe wrote:
Hi,
I've packaged 3 userspace consoles, on my copr repository for Fedora.
They can replace fbcon (The default kernel-based console), have more
features (like scrolling) and are more secure as they run in userspace.
* Kmscon: https://copr.fedorainfracloud.org/coprs/jfalempe/kmscon/
* Cage/foot or Gnome-kiosk/Ptyxis:
https://copr.fedorainfracloud.org/coprs/jfalempe/Userspacevt/
Do they use xkb keyboard layouts and configuration? Or kbd?
The Wayland ones will use xkb. kmscon probably still uses kbd.
then for the love of god can we switch to a wayland one yesterday? :P
Kmscon uses xkbcommon, so probably xkb too.
(but on a serious level, how does configuring keyboard layout / input
method work if all you have is a compositor and a terminal app?
presumably read from a file...has the format and location been
standardized?)
systemd has the localectl command to do that, it also generates a file
/etc/vconsole.conf which has the keymap information.
Hmm, but this is still problematic. localectl can *set* both console
(kbd) layouts and a xkb layouts, but AFAIK like it only ever writes a
kbd layout name to /etc/vconsole.conf . It has a ridiculous lookup
table for converting between the two on various operations - so it can
try to set a 'matching' xkb configuration for whatever kbd layout is
specified in vconsole.conf - but this is buggy and restricted. This
whole mess is what I would like to kill. I would love to get to a
situation where we *only* care about xkb layouts, and that's the config
we write.
Ok so if I understand correctly, xkb is what localectl calls x11, and
kbd is the vconsole keymap?
When trying with Gnome-kiosk or Kwin, the layout is automatically
configured (I use dvorak, and it was already setup without any interaction).
For Kmscon, you need to edit the file /etc/kmscon.conf.
And for Cage + foot, I've done a workaround, to read the configuration
from /etc/vconsole.conf with [1], and export the XKB_DEFAULT_LAYOUT
variable.
I can probably do the same for kmscon, or read directly
/etc/vconsole.conf in kmscon.
[1]
https://gitlab.com/kdj0c/userspacevt/-/blob/main/cagefootvt/usr/libexec/cagefootvt/wait_tty.sh?ref_type=heads#L11
I suspect if you try this on a Russian install, you will find you can't
type any ASCII characters.
So instead of reading /etc/vconsole.conf, using localectl, and parsing
the x11 layout/variant would be better?
localectl status
VC Keymap: us-dvorak-alt-intl
X11 Layout: us
X11 Variant: dvorak-alt-intl
I think I can do the same in kmscon, or maybe there is a better way than
running an external command, and parsing the output. I will see if I
find something.
--
Jocelyn
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue