From 37c3663d1d574cf7fceb202126859cf6bbec8032 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Tue, 11 Mar 2008 01:05:42 +0000 Subject: [PATCH] * No longer consider Japanese a non-Latin keymap; the default variant (basic) is Latin. * Adjust console-setup/layoutcode and (perhaps) console-setup/variantcode when booting with a non-Latin keymap (LP: #200803). --- common.inc | 21 ++++- debian/changelog | 4 + keytables.inc | 220 +++++++++++++++++++++++-------------------- scrape-console-setup | 33 +++++-- 4 files changed, 164 insertions(+), 114 deletions(-) diff --git a/common.inc b/common.inc index ee30fb7..689c1d2 100644 --- a/common.inc +++ b/common.inc @@ -383,13 +383,24 @@ } if config.keymap .km.name get dup "us" ne { - dup "_" strstr dup 0 eq { - pop + config.keymap .km.real_layout get dup { + exch pop "console-setup/layoutcode=%s " bc.cmd dup length add sprintf + config.keymap .km.real_variant get dup { + "console-setup/variantcode=%s " bc.cmd dup length add sprintf + } { + pop + } ifelse } { - over over 1 sub 0 put - over "console-setup/layoutcode=%s " bc.cmd dup length add sprintf - add "console-setup/variantcode=%s " bc.cmd dup length add sprintf + pop + dup "_" strstr dup 0 eq { + pop + "console-setup/layoutcode=%s " bc.cmd dup length add sprintf + } { + over over 1 sub 0 put + over "console-setup/layoutcode=%s " bc.cmd dup length add sprintf + add "console-setup/variantcode=%s " bc.cmd dup length add sprintf + } ifelse } ifelse config.keymap .km.model get dup { "console-setup/modelcode=%s " bc.cmd dup length add sprintf diff --git a/debian/changelog b/debian/changelog index 9b83efa..21cb436 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ gfxboot-theme-ubuntu (0.5.9) UNRELEASED; urgency=low * Really update for Kurdish default layout change, and shorten Kurdish layout description to avoid overflow. + * No longer consider Japanese a non-Latin keymap; the default variant + (basic) is Latin. + * Adjust console-setup/layoutcode and (perhaps) console-setup/variantcode + when booting with a non-Latin keymap (LP: #200803). -- Colin Watson Tue, 11 Mar 2008 00:54:43 +0000 diff --git a/keytables.inc b/keytables.inc index 72afef1..64264f8 100644 --- a/keytables.inc +++ b/keytables.inc @@ -5,11 +5,13 @@ % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/.km.name 0 def -/.km.map 1 def -/.km.display 2 def -/.km.locales 3 def -/.km.model 4 def +/.km.name 0 def +/.km.map 1 def +/.km.display 2 def +/.km.locales 3 def +/.km.model 4 def +/.km.real_layout 5 def +/.km.real_variant 6 def /keymap.ad [ [ 0x03 0x32 0x40 0x00 ] @@ -1369,7 +1371,21 @@ ] def /keymap.jp [ - [ 0x56 0x3c 0x3e 0x7c ] + [ 0x03 0x32 0x22 0x32 ] + [ 0x07 0x36 0x26 0x36 ] + [ 0x08 0x37 0x27 0x37 ] + [ 0x09 0x38 0x28 0x38 ] + [ 0x0a 0x39 0x29 0x39 ] + [ 0x0b 0x30 0x7e 0x30 ] + [ 0x0c 0x2d 0x3d 0x2d ] + [ 0x0d 0x5e 0x7e 0x5e ] + [ 0x1a 0x40 0x60 0x40 ] + [ 0x1b 0x5b 0x7b 0x5b ] + [ 0x27 0x3b 0x2b 0x3b ] + [ 0x28 0x3a 0x2a 0x3a ] + [ 0x2b 0x5d 0x7d 0x5d ] + [ 0x59 0x5c 0x5f 0x5c ] + [ 0x7c 0x5c 0x7c 0x5c ] ] def /keymap.kg [ @@ -2559,102 +2575,102 @@ ] def /keymaps [ - [ "af" keymap.af "Afghanistan" [ ] .undef ] - [ "al" keymap.al "Albania" [ "_AL" ] .undef ] - [ "ad" keymap.ad "Andorra" [ ] .undef ] - [ "ara" keymap.ara "Arabic" [ "ar_" ] .undef ] - [ "am" keymap.am "Armenia" [ "hy_" ] .undef ] - [ "az" keymap.az "Azerbaijan" [ "_AZ" ] .undef ] - [ "bd" keymap.bd "Bangladesh" [ "_BD" ] .undef ] - [ "by" keymap.by "Belarus" [ "_BY" ] .undef ] - [ "be" keymap.be "Belgium" [ "_BE" ] .undef ] - [ "bt" keymap.bt "Bhutan" [ ] .undef ] - [ "ba" keymap.ba "Bosnia" [ "bs_" ] .undef ] - [ "braille" keymap.braille "Braille" [ ] .undef ] - [ "br" keymap.br "Brazil" [ "_BR" ] "abnt2" ] - [ "bg" keymap.bg "Bulgaria" [ "_BG" ] .undef ] - [ "kh" keymap.kh "Cambodia" [ ] .undef ] - [ "ca" keymap.ca "Canada" [ "_CA" ] .undef ] - [ "cn" keymap.cn "China" [ "zh_CN" ] .undef ] - [ "cd" keymap.cd "Congo" [ ] .undef ] - [ "hr" keymap.hr "Croatia" [ "hr_" ] .undef ] - [ "cz" keymap.cz "Czechia" [ "_CZ" ] .undef ] - [ "dk" keymap.dk "Denmark" [ "_DK" ] .undef ] - [ "us_dvorak" keymap.us_dvorak "Dvorak" [ ] .undef ] - [ "epo" keymap.epo "Esperanto" [ "eo" ] .undef ] - [ "ee" keymap.ee "Estonia" [ "_EE" ] .undef ] - [ "et" keymap.et "Ethiopia" [ ] .undef ] - [ "fo" keymap.fo "Faroes" [ ] .undef ] - [ "fi" keymap.fi "Finland" [ "_FI" ] .undef ] - [ "fr_oss" keymap.fr_oss "France" [ "fr_" ] .undef ] - [ "ge" keymap.ge "Georgia" [ "ka_" ] .undef ] - [ "de" keymap.de "Germany" [ "de_" ] .undef ] - [ "gh" keymap.gh "Ghana" [ ] .undef ] - [ "gr" keymap.gr "Greece" [ "el_" ] .undef ] - [ "gn" keymap.gn "Guinea" [ ] .undef ] - [ "in_guj" keymap.in_guj "Gujarati" [ "gu_" ] .undef ] - [ "in_guru" keymap.in_guru "Gurmukhi" [ "pa_" ] .undef ] - [ "hu" keymap.hu "Hungary" [ "_HU" ] .undef ] - [ "is" keymap.is "Iceland" [ "_IS" ] .undef ] - [ "in" keymap.in "India" [ "hi_" ] .undef ] - [ "ir" keymap.ir "Iran" [ "_IR" ] .undef ] - [ "iq" keymap.iq "Iraq" [ ] .undef ] - [ "ie" keymap.ie "Ireland" [ "_IE" ] .undef ] - [ "il" keymap.il "Israel" [ "_IL" ] .undef ] - [ "it" keymap.it "Italy" [ "_IT" ] .undef ] - [ "jp" keymap.jp "Japan" [ "_JP" ] "jp106" ] - [ "in_kan" keymap.in_kan "Kannada" [ "kn_" ] .undef ] - [ "kz" keymap.kz "Kazakhstan" [ ] .undef ] - [ "kr" keymap.kr "Korea" [ ] .undef ] - [ "tr_ku" keymap.tr_ku "Kurdish" [ "ku_TR" ] .undef ] - [ "kg" keymap.kg "Kyrgyzstan" [ ] .undef ] - [ "la" keymap.la "Laos" [ "lo_" ] .undef ] - [ "latam" keymap.latam "Latin Amer." [ "_AR" "_BO" "_CL" "_CO" "_CR" "_DO" "_EC" "_GT" "_HN" "_MX" "_NI" "_PA" "_PE" "es_PR" "_PY" "_SV" "es_US" "_UY" "_VE" ] .undef ] - [ "lv" keymap.lv "Latvia" [ "_LV" ] .undef ] - [ "lt" keymap.lt "Lithuania" [ "_LT" ] .undef ] - [ "mk" keymap.mk "Macedonia" [ "_MK" ] .undef ] - [ "in_mal" keymap.in_mal "Malayalam" [ "ml_" ] .undef ] - [ "mv" keymap.mv "Maldives" [ ] .undef ] - [ "mt" keymap.mt "Malta" [ "_MT" ] .undef ] - [ "mao" keymap.mao "Maori" [ ] .undef ] - [ "mn" keymap.mn "Mongolia" [ "_MN" ] .undef ] - [ "me" keymap.me "Montenegro" [ "sr_ME" ] .undef ] - [ "ma" keymap.ma "Morocco" [ "_MA" ] .undef ] - [ "mm" keymap.mm "Myanmar" [ ] .undef ] - [ "np" keymap.np "Nepal" [ ] .undef ] - [ "nl" keymap.nl "Netherlands" [ ] .undef ] - [ "ng" keymap.ng "Nigeria" [ ] .undef ] - [ "no" keymap.no "Norway" [ "_NO" ] .undef ] - [ "pk" keymap.pk "Pakistan" [ ] .undef ] - [ "pl" keymap.pl "Poland" [ "_PL" ] .undef ] - [ "pt" keymap.pt "Portugal" [ "_PT" ] .undef ] - [ "ro" keymap.ro "Romania" [ "_RO" ] .undef ] - [ "ru" keymap.ru "Russia" [ "_RU" ] .undef ] - [ "fi_smi" keymap.fi_smi "Saami (Fin.)" [ "se_FI" ] .undef ] - [ "no_smi" keymap.no_smi "Saami (Nor.)" [ "se_NO" ] .undef ] - [ "se_smi" keymap.se_smi "Saami (Swe.)" [ "se_SE" ] .undef ] - [ "rs" keymap.rs "Serbia" [ "sr_" ] .undef ] - [ "sk" keymap.sk "Slovakia" [ "_SK" ] .undef ] - [ "si" keymap.si "Slovenia" [ "_SI" ] .undef ] - [ "za" keymap.za "South Africa" [ ] .undef ] - [ "es" keymap.es "Spain" [ "_ES" ] .undef ] - [ "lk" keymap.lk "Sri Lanka" [ ] .undef ] - [ "se" keymap.se "Sweden" [ "sv_" ] .undef ] - [ "ch_fr" keymap.ch_fr "Swiss French" [ "fr_CH" ] .undef ] - [ "ch" keymap.ch "Swiss German" [ "_CH" ] .undef ] - [ "sy" keymap.sy "Syria" [ ] .undef ] - [ "tj" keymap.tj "Tajikistan" [ "_TJ" ] .undef ] - [ "in_tam" keymap.in_tam "Tamil" [ "ta_" ] .undef ] - [ "in_tel" keymap.in_tel "Telugu" [ "te_" ] .undef ] - [ "th" keymap.th "Thailand" [ "_TH" ] .undef ] - [ "tr" keymap.tr "Turkey" [ "_TR" ] .undef ] - [ "tr_f" keymap.tr_f "Turkey ((F))" [ ] .undef ] - [ "gb" keymap.gb "UK" [ "_GB" ] .undef ] - [ "us" keymap.us "USA" [ "en_US" "_VN" ] .undef ] - [ "us_intl" keymap.us_intl "USA Intl." [ "_NL" ] .undef ] - [ "ua" keymap.ua "Ukraine" [ "_UA" ] .undef ] - [ "uz" keymap.uz "Uzbekistan" [ ] .undef ] - [ "vn" keymap.vn "Vietnam" [ ] .undef ] + [ "af" keymap.af "Afghanistan" [ ] .undef .undef .undef ] + [ "al" keymap.al "Albania" [ "_AL" ] .undef .undef .undef ] + [ "ad" keymap.ad "Andorra" [ ] .undef .undef .undef ] + [ "ara" keymap.ara "Arabic" [ "ar_" ] .undef "us,ara" .undef ] + [ "am" keymap.am "Armenia" [ "hy_" ] .undef "us,am" .undef ] + [ "az" keymap.az "Azerbaijan" [ "_AZ" ] .undef .undef .undef ] + [ "bd" keymap.bd "Bangladesh" [ "_BD" ] .undef "us,bd" .undef ] + [ "by" keymap.by "Belarus" [ "_BY" ] .undef "us,by" .undef ] + [ "be" keymap.be "Belgium" [ "_BE" ] .undef .undef .undef ] + [ "bt" keymap.bt "Bhutan" [ ] .undef "us,bt" .undef ] + [ "ba" keymap.ba "Bosnia" [ "bs_" ] .undef .undef .undef ] + [ "braille" keymap.braille "Braille" [ ] .undef .undef .undef ] + [ "br" keymap.br "Brazil" [ "_BR" ] "abnt2" .undef .undef ] + [ "bg" keymap.bg "Bulgaria" [ "_BG" ] .undef "us,bg" .undef ] + [ "kh" keymap.kh "Cambodia" [ ] .undef "us,kh" .undef ] + [ "ca" keymap.ca "Canada" [ "_CA" ] .undef .undef .undef ] + [ "cn" keymap.cn "China" [ "zh_CN" ] .undef .undef .undef ] + [ "cd" keymap.cd "Congo" [ ] .undef .undef .undef ] + [ "hr" keymap.hr "Croatia" [ "hr_" ] .undef .undef .undef ] + [ "cz" keymap.cz "Czechia" [ "_CZ" ] .undef .undef .undef ] + [ "dk" keymap.dk "Denmark" [ "_DK" ] .undef .undef .undef ] + [ "us_dvorak" keymap.us_dvorak "Dvorak" [ ] .undef .undef .undef ] + [ "epo" keymap.epo "Esperanto" [ "eo" ] .undef .undef .undef ] + [ "ee" keymap.ee "Estonia" [ "_EE" ] .undef .undef .undef ] + [ "et" keymap.et "Ethiopia" [ ] .undef .undef .undef ] + [ "fo" keymap.fo "Faroes" [ ] .undef .undef .undef ] + [ "fi" keymap.fi "Finland" [ "_FI" ] .undef .undef .undef ] + [ "fr_oss" keymap.fr_oss "France" [ "fr_" ] .undef .undef .undef ] + [ "ge" keymap.ge "Georgia" [ "ka_" ] .undef "us,ge" .undef ] + [ "de" keymap.de "Germany" [ "de_" ] .undef .undef .undef ] + [ "gh" keymap.gh "Ghana" [ ] .undef "us,gh" .undef ] + [ "gr" keymap.gr "Greece" [ "el_" ] .undef "us,gr" .undef ] + [ "gn" keymap.gn "Guinea" [ ] .undef .undef .undef ] + [ "in_guj" keymap.in_guj "Gujarati" [ "gu_" ] .undef .undef .undef ] + [ "in_guru" keymap.in_guru "Gurmukhi" [ "pa_" ] .undef .undef .undef ] + [ "hu" keymap.hu "Hungary" [ "_HU" ] .undef .undef .undef ] + [ "is" keymap.is "Iceland" [ "_IS" ] .undef .undef .undef ] + [ "in" keymap.in "India" [ "hi_" ] .undef "us,in" .undef ] + [ "ir" keymap.ir "Iran" [ "_IR" ] .undef "us,ir" .undef ] + [ "iq" keymap.iq "Iraq" [ ] .undef .undef .undef ] + [ "ie" keymap.ie "Ireland" [ "_IE" ] .undef .undef .undef ] + [ "il" keymap.il "Israel" [ "_IL" ] .undef "us,il" .undef ] + [ "it" keymap.it "Italy" [ "_IT" ] .undef .undef .undef ] + [ "jp" keymap.jp "Japan" [ "_JP" ] "jp106" .undef .undef ] + [ "in_kan" keymap.in_kan "Kannada" [ "kn_" ] .undef .undef .undef ] + [ "kz" keymap.kz "Kazakhstan" [ ] .undef .undef .undef ] + [ "kr" keymap.kr "Korea" [ ] .undef .undef .undef ] + [ "tr_ku" keymap.tr_ku "Kurdish" [ "ku_TR" ] .undef .undef .undef ] + [ "kg" keymap.kg "Kyrgyzstan" [ ] .undef .undef .undef ] + [ "la" keymap.la "Laos" [ "lo_" ] .undef "us,la" .undef ] + [ "latam" keymap.latam "Latin Amer." [ "_AR" "_BO" "_CL" "_CO" "_CR" "_DO" "_EC" "_GT" "_HN" "_MX" "_NI" "_PA" "_PE" "es_PR" "_PY" "_SV" "es_US" "_UY" "_VE" ] .undef .undef .undef ] + [ "lv" keymap.lv "Latvia" [ "_LV" ] .undef .undef .undef ] + [ "lt" keymap.lt "Lithuania" [ "_LT" ] .undef "lt,lt" "basic,us" ] + [ "mk" keymap.mk "Macedonia" [ "_MK" ] .undef "us,mk" .undef ] + [ "in_mal" keymap.in_mal "Malayalam" [ "ml_" ] .undef .undef .undef ] + [ "mv" keymap.mv "Maldives" [ ] .undef "us,mv" .undef ] + [ "mt" keymap.mt "Malta" [ "_MT" ] .undef .undef .undef ] + [ "mao" keymap.mao "Maori" [ ] .undef .undef .undef ] + [ "mn" keymap.mn "Mongolia" [ "_MN" ] .undef "us,mn" .undef ] + [ "me" keymap.me "Montenegro" [ "sr_ME" ] .undef .undef .undef ] + [ "ma" keymap.ma "Morocco" [ "_MA" ] .undef .undef .undef ] + [ "mm" keymap.mm "Myanmar" [ ] .undef "us,mm" .undef ] + [ "np" keymap.np "Nepal" [ ] .undef .undef .undef ] + [ "nl" keymap.nl "Netherlands" [ ] .undef .undef .undef ] + [ "ng" keymap.ng "Nigeria" [ ] .undef .undef .undef ] + [ "no" keymap.no "Norway" [ "_NO" ] .undef .undef .undef ] + [ "pk" keymap.pk "Pakistan" [ ] .undef "us,pk" .undef ] + [ "pl" keymap.pl "Poland" [ "_PL" ] .undef .undef .undef ] + [ "pt" keymap.pt "Portugal" [ "_PT" ] .undef .undef .undef ] + [ "ro" keymap.ro "Romania" [ "_RO" ] .undef .undef .undef ] + [ "ru" keymap.ru "Russia" [ "_RU" ] .undef "us,ru" .undef ] + [ "fi_smi" keymap.fi_smi "Saami (Fin.)" [ "se_FI" ] .undef .undef .undef ] + [ "no_smi" keymap.no_smi "Saami (Nor.)" [ "se_NO" ] .undef .undef .undef ] + [ "se_smi" keymap.se_smi "Saami (Swe.)" [ "se_SE" ] .undef .undef .undef ] + [ "rs" keymap.rs "Serbia" [ "sr_" ] .undef .undef .undef ] + [ "sk" keymap.sk "Slovakia" [ "_SK" ] .undef .undef .undef ] + [ "si" keymap.si "Slovenia" [ "_SI" ] .undef .undef .undef ] + [ "za" keymap.za "South Africa" [ ] .undef .undef .undef ] + [ "es" keymap.es "Spain" [ "_ES" ] .undef .undef .undef ] + [ "lk" keymap.lk "Sri Lanka" [ ] .undef "us,lk" .undef ] + [ "se" keymap.se "Sweden" [ "sv_" ] .undef .undef .undef ] + [ "ch_fr" keymap.ch_fr "Swiss French" [ "fr_CH" ] .undef .undef .undef ] + [ "ch" keymap.ch "Swiss German" [ "_CH" ] .undef .undef .undef ] + [ "sy" keymap.sy "Syria" [ ] .undef "us,sy" .undef ] + [ "tj" keymap.tj "Tajikistan" [ "_TJ" ] .undef "us,tj" .undef ] + [ "in_tam" keymap.in_tam "Tamil" [ "ta_" ] .undef .undef .undef ] + [ "in_tel" keymap.in_tel "Telugu" [ "te_" ] .undef .undef .undef ] + [ "th" keymap.th "Thailand" [ "_TH" ] .undef "us,th" .undef ] + [ "tr" keymap.tr "Turkey" [ "_TR" ] .undef .undef .undef ] + [ "tr_f" keymap.tr_f "Turkey ((F))" [ ] .undef .undef .undef ] + [ "gb" keymap.gb "UK" [ "_GB" ] .undef .undef .undef ] + [ "us" keymap.us "USA" [ "en_US" "_VN" ] .undef .undef .undef ] + [ "us_intl" keymap.us_intl "USA Intl." [ "_NL" ] .undef .undef .undef ] + [ "ua" keymap.ua "Ukraine" [ "_UA" ] .undef "us,ua" .undef ] + [ "uz" keymap.uz "Uzbekistan" [ ] .undef "us,uz" .undef ] + [ "vn" keymap.vn "Vietnam" [ ] .undef .undef .undef ] ] def % set to "us" for safety diff --git a/scrape-console-setup b/scrape-console-setup index 0c40933..6ddb959 100755 --- a/scrape-console-setup +++ b/scrape-console-setup @@ -142,7 +142,6 @@ my @non_latin = ( 'in', 'ir', 'iku', - 'jp', 'kan', 'kh', 'la', @@ -184,11 +183,13 @@ print < 1) { + $real_variant = qq{"$real_keymaps{$keymap}[1]"}; + } else { + $real_variant = '.undef'; + } + print qq{ [ "$keymap" $keymapfunc{$keymap} "$descriptions{$keymap}" $localelist $model $real_layout $real_variant ]\n}; $us_index = $i if $keymap eq 'us'; ++$i; }