]> git.proxmox.com Git - pve-installer.git/commitdiff
switch "keymap" over to central config
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 20 Jun 2023 07:08:59 +0000 (09:08 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 20 Jun 2023 07:08:59 +0000 (09:08 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Proxmox/Install/Config.pm
proxinstall

index 4c5effe80813acf168ce622e5611f5ad27f2a519..aea15c9fe6236f74eae1873f6a4049f472f93692 100644 (file)
@@ -32,6 +32,7 @@ my sub init_cfg {
        # locale
        country => $country,
        timezone => 'Europe/Vienna',
+       keymap => 'en-us',
     };
 
     # TODO add disksel$i => undef entries
@@ -129,4 +130,7 @@ sub get_country { return get('country'); }
 sub set_timezone { set_key('timezone', $_[0]); }
 sub get_timezone { return get('timezone'); }
 
+sub set_keymap { set_key('keymap', $_[0]); }
+sub get_keymap { return get('keymap'); }
+
 1;
index 48390a9e40182c9b2d425474c20f42193c900b14..2d323148e6d2f33825c18b99e11aabf3eef1585f 100755 (executable)
@@ -107,7 +107,6 @@ my ($dnsserver, $ipconf_entry_dns);
 my $hostname = 'proxmox';
 my $domain = 'domain.tld';
 my $ipconf;
-my $keymap = 'en-us';
 my $password;
 my $mailto = 'mail@example.invalid';
 my $autoreboot_seconds = 5;
@@ -115,8 +114,6 @@ my $autoreboot_seconds = 5;
 # TODO: single source of config state
 my $config = {
     # TODO: add all the user-provided options for previous button
-    keymap => $keymap,
-
     password => $password,
     mailto => $mailto,
 
@@ -990,6 +987,7 @@ sub extract_data {
            $grub_install_devices_txt .= $di->{by_id} || $di->{devname};
        }
 
+       my $keymap = Proxmox::Install::Config::get_keymap();
        # Note: keyboard-configuration/xbkb-keymap is used by console-setup
        my $xkmap = $iso_env->{locales}->{kmap}->{$keymap}->{x11} // 'us';
 
@@ -1699,7 +1697,7 @@ sub create_ack_view {
        __target_fs__ => Proxmox::Install::Config::get_filesys(),
        __country__ => $iso_env->{locales}->{country}->{$country}->{name},
        __timezone__ => Proxmox::Install::Config::get_timezone(),
-       __keymap__ => $keymap,
+       __keymap__ => Proxmox::Install::Config::get_keymap(),
        __mailto__ => $mailto,
        __interface__ => $ipconf->{ifaces}->{$ipconf->{selected}}->{name},
        __hostname__ => $hostname,
@@ -1956,11 +1954,11 @@ sub create_country_view {
        if (my $kmap = $locales->{kmaphash}->{$sel}) {
            my $xkmap = $locales->{kmap}->{$kmap}->{x11};
            my $xvar = $locales->{kmap}->{$kmap}->{x11var};
-           $keymap = $kmap;
 
-           return if (defined($installer_kmap) && $installer_kmap eq $kmap);
+           Proxmox::Install::Config::set_keymap($kmap);
 
-           $installer_kmap = $keymap;
+           return if (defined($installer_kmap) && $installer_kmap eq $kmap);
+           $installer_kmap = $kmap;
 
            if (!is_test_mode()) {
                syscmd ("setxkbmap $xkmap $xvar");