all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Bengt Richter <bokr@bokr.com>
To: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
Cc: 40273@debbugs.gnu.org
Subject: bug#40273: installer: No way to input Latin characters with non-Latin keyboard layouts
Date: Wed, 8 Apr 2020 09:20:18 +0200	[thread overview]
Message-ID: <20200408072018.GA17715@LionPure> (raw)
In-Reply-To: <20200403231750.ddmqx6ekr35eye2u@pelzflorian.localdomain>

Hi Florian,

On +2020-04-04 01:17:50 +0200, pelzflorian (Florian Pelz) wrote:
> On Fri, Apr 03, 2020 at 01:27:43AM +0200, Bengt Richter wrote:
> > I think I saw that PureOS was able to handle
> > different-layout keyboards in different concurrent sessions -- different keyboards and displays
> > can be attached to different "seats" -- or something like that, I obviously don't know much yet ;-)
> > 
> > Anyway, to the point: even if I'm wrong about PureOS handling concurrent
> > different-layout keyboards, I think that would be a good goal
> > for GuixOS/Hurd/Shepherd to implement.
> 
> From what I understand from
> <https://github.com/xkbcommon/libxkbcommon/blob/master/doc/quick-guide.md>,
> there can be per-device keyboard layouts, but they are not handled by
> XKB options.  If a device specifier were added to the keyboard-layout
> constructor, the device specifier would need to be turned into
> appropriate xorg.conf MatchUSBID or similar.
> 
> Regards,
> Florian

Sorry for the delay in replying.

Thanks for the informative link!

I'm really against pursuing any new design dependencies on X,
so even "or similar" sounds iffy to me. Just IMO ;-)

I recognize it will be a while before we can ignore X-based apps, but we can stop
using it as GUI infrastructure, if Wayland can provide GUI foundation with Xwayland
giving X apps a path to the screen via Wayland. Of course Wayland has dependencies
on what the kernel can provide, like libdrm stuff.

Wayland seems a likely X successor, and represents an
opportunity to do GUI without X dependencies, for a cleaner Guix.

I can report that tilix as implemented in PureOS on a Librem13v4 provides
a workable GUI solution for multiple keyboards, even if it's not what I had in mind ;-)

Here is an overview:

PureOS is debian-based Purism variant with gnome for desktop etc and I think
all composited and displayed by their Wayland, providing xwayland only as a
service for apps needing the X interface, but not itself depending on X.

tilix is, I think, a pure wayland client implementation, and can provide
multiple simultaneous terminal tiles on the screen, overlapping or not.

These window tiles are created by typing "tilix" with optional args.
Without args it creates a new tile space according to a Default "profile"
which you can do a LOT with, but don't need to to demo the keyboard mappings.

The first tilix command will normally be typed into a widget that comes up
on pressing the super key (some keyboards will have a windows flag on that key :).
Subsequent tilix commands can be typed in any tilix terminal, and will produce another
terminal tile accordin to parameters in the profile (of which you can create different versions).

Choosing a keyboard language (separate dropdown widget at top of screen) in any
of these terminal tiles that has focus will set the keyboard mapping for that terminal
tile only. Switching focus to another tile will use the the kb mapping chosen for it.
Persistence is attached to the terminal tile.

So you could have two different language keyboards plugged in and use one to type
into one tile terminal and the other for the other. You just have to switch focus
to where you want the typing to appear.

But this is also a kind of illusion, because both keyboards' untranslated keycodes
are apparently merged into the same stream and fed where the focus is.

So you can't mix languages on one terminal tile by just typing on the alternate keyboard
(as I had wanted)-- you have to go to the language choice widget and temporarily switch
there, no matter which keyboard you are typing on.

Some keys are obviously the same, so it doesn't matter which keyboard you type those on.
It goes to the focused tile and gets translated, but the mapping
for those keys is the same.

Right now I am in GUI emacs called as editor for mutt, and the language selection has no effect
even though when I exit all the way back to the bash where I typed mutt, it will (or should ;).

pidparents      ?        18587 Ss   /usr/bin/bash /home/bokr/bin/pidparents
emacs           pts/0    18069 Sl+  emacs /home/bokr/.mutt/temp/mutt-LionPure-1000-17715-4020479191039126306
sh              pts/0    18068 S+   sh -c emacs '/home/bokr/.mutt/temp/mutt-LionPure-1000-17715-4020479191039126306'
mutt            pts/0    17715 S+   mutt
bash            pts/0    13623 Ss   /bin/bash
tilix           ?        13618 Sl   /usr/bin/tilix --gapplication-service
systemd         ?         1644 Ss   /lib/systemd/systemd --user
systemd         ?            1 Ss   /sbin/init splash

And if I were at the tty initial console, the widget for language change wouldn't be there, since no gnome GUI.
I would have to use loadkeys. And back in grub, another world. And back in the BIOS, another.
And all considerations repeated for booting from external disks, net, whatever. Phooey ;-)

There's gotta be a better way :)
That "joke" enthusing about a Mach microkernel sounded good :)
-- 
Regards,
Bengt Richter

  reply	other threads:[~2020-04-08  7:21 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-28 13:42 bug#40273: installer: No way to input Latin characters with non-Latin keyboard layouts pelzflorian (Florian Pelz)
2020-03-28 19:45 ` Mathieu Othacehe
2020-03-30 10:44   ` pelzflorian (Florian Pelz)
2020-03-30 11:35     ` Mathieu Othacehe
2020-03-30 17:11       ` pelzflorian (Florian Pelz)
2020-03-30 17:31         ` pelzflorian (Florian Pelz)
2020-03-31 15:35         ` Ludovic Courtès
2020-03-31 16:55           ` pelzflorian (Florian Pelz)
2020-04-01 20:33             ` Bengt Richter
2020-04-02  6:24               ` pelzflorian (Florian Pelz)
2020-04-02  9:45             ` Ludovic Courtès
2020-04-03  0:38               ` pelzflorian (Florian Pelz)
2020-04-03  1:11                 ` pelzflorian (Florian Pelz)
2020-04-03 13:31                 ` pelzflorian (Florian Pelz)
2020-04-03 13:59                 ` pelzflorian (Florian Pelz)
2020-04-03 15:20                 ` Ludovic Courtès
2020-04-03 15:56                   ` pelzflorian (Florian Pelz)
2020-04-05 14:03                     ` Ludovic Courtès
2020-04-05 20:02                       ` pelzflorian (Florian Pelz)
2020-04-05 21:26                         ` Ludovic Courtès
2020-03-29 15:04 ` Ludovic Courtès
2020-03-29 17:16   ` pelzflorian (Florian Pelz)
2020-03-29 17:53     ` Mathieu Othacehe
2020-03-30 10:39       ` Mathieu Othacehe
2020-03-30 12:39         ` pelzflorian (Florian Pelz)
2020-03-31 15:29         ` Ludovic Courtès
2020-04-01 12:49           ` Mathieu Othacehe
2020-03-31 15:28       ` Ludovic Courtès
2020-04-01 12:52         ` Mathieu Othacehe
2020-04-02 10:25           ` Ludovic Courtès
2020-04-02 11:40             ` Mathieu Othacehe
2020-04-06  7:52               ` Ludovic Courtès
2020-04-06 13:14                 ` Mathieu Othacehe
2020-04-07  9:49                   ` Ludovic Courtès
2020-04-07 17:14                     ` Mathieu Othacehe
2020-04-02 23:27             ` Bengt Richter
2020-04-03 23:17               ` pelzflorian (Florian Pelz)
2020-04-08  7:20                 ` Bengt Richter [this message]
2020-04-08  9:42                   ` Ludovic Courtès
2020-04-08 21:11                     ` Bengt Richter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200408072018.GA17715@LionPure \
    --to=bokr@bokr.com \
    --cc=40273@debbugs.gnu.org \
    --cc=pelzflorian@pelzflorian.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.