[pve-devel] [PATCH installer] set console keymap on language selection
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Jul 20 18:00:25 CEST 2020
On 20.07.20 16:54, Stoiko Ivanov wrote:
> This is an enhancement for #2804
>
> Having a shell waiting on vt3, it improves user experience if it has the
> same keyboard map as the X11 installer.
>
> This is accomplished by setting the contents of '/etc/default/keyboard' see
> keyboard (5) and then running setupcon (1). Simply calling `loadkeys` would not
> work, since the keymaps in debian are generated from the x11 definitions by
> ckbcomp and then saved in '/etc/console-setup/'.
>
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> roughly tested with a PBS-iso (can provide should someone else want to test it)
> in a VM (clicking on french yielded azerty, clicking on german qwertz,...) both
> worked. (just in case also tried getting rid of the setxkbmap call - setupcon
> does not magically set the keyboard map of a running X session)
> proxinstall | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/proxinstall b/proxinstall
> index 556c509..83ac95e 100755
> --- a/proxinstall
> +++ b/proxinstall
> @@ -2668,8 +2668,19 @@ sub create_country_view {
> if (my $kmap = $cmap->{kmaphash}->{$sel}) {
> my $xkmap = $cmap->{kmap}->{$kmap}->{x11};
> my $xvar = $cmap->{kmap}->{$kmap}->{x11var};
> - syscmd ("setxkbmap $xkmap $xvar") if !$opt_testmode;
> $keymap = $kmap;
> +
> + if (! $opt_testmode) {
> + syscmd ("setxkbmap $xkmap $xvar");
> + my $kbd_config = qq{
> + XKBLAYOUT="$xkmap"
> + XKBVARIANT="$xvar"
> + BACKSPACE="guess"
> + };
> + $kbd_config =~ s/^\t{2} {4}//;
pretty fragile, a indentation change breaks this... why not s/^\s+//;
> + write_config($kbd_config, '/etc/default/keyboard');
> + syscmd ("setupcon");
> + }
> }
> });
>
>
More information about the pve-devel
mailing list