diff options
Diffstat (limited to 'perl-install/keyboard.pm')
-rw-r--r-- | perl-install/keyboard.pm | 74 |
1 files changed, 54 insertions, 20 deletions
diff --git a/perl-install/keyboard.pm b/perl-install/keyboard.pm index 2c36c381a..dd741fea0 100644 --- a/perl-install/keyboard.pm +++ b/perl-install/keyboard.pm @@ -28,34 +28,37 @@ my %lang2keyboard = 'ar' => 'ar:90', 'as' => 'ben:90 dev:20 us_intl:5', 'az' => 'az:90 tr_q:10 us_intl:5', +'az_IR' => 'ir:90', 'be' => 'by:90 ru:50 ru_yawerty:40', + 'ber' => 'tifinagh:90', 'bg' => 'bg_phonetic:60 bg:50', 'bn' => 'ben:90 dev:20 us_intl:5', -# 'bo' => 'dz', + 'bo' => 'dz', 'br' => 'fr:90', 'bs' => 'bs:90', 'ca' => 'es:90 fr:15', + 'chr' => 'chr:80 us:60 us_intl:60', 'cs' => 'cz_qwerty:70 cz:50', 'cy' => 'uk:90', 'da' => 'dk:90', 'de' => 'de_nodeadkeys:70 de:50 be:50 ch_de:50', -# 'dz' => 'dz', + 'dz' => 'dz', 'el' => 'gr:90', 'en' => 'us:89 us_intl:50 qc:50 uk:50', -'en_IE' => 'ie:80 uk:70', -'en_US' => 'us:90 us_intl:50', -'en_GB' => 'uk:89 us:60 us_intl:50', - 'eo' => 'us_intl:89 dvorak_eo:30 dvorak:20', +'en_IE' => 'ie:80 uk:70 dvorak_gb:10', +'en_US' => 'us:90 us_intl:50 dvorak:10', +'en_GB' => 'uk:89 us:60 us_intl:50 dvorak_gb:10', + 'eo' => 'us_intl:89 dvorak_eo:30 dvorak:10', 'es' => 'es:85 la:80 us_intl:50', 'et' => 'ee:90', 'eu' => 'es:90 fr:15', 'fa' => 'ir:90', 'fi' => 'fi:90', - 'fo' => 'dk:90', - 'fr' => 'fr:89 qc:85 be:85 ch_fr:70', + 'fo' => 'fo:80 is:70 dk:60', + 'fr' => 'fr:89 qc:85 be:85 ch_fr:70 dvorak_fr:20', 'fur' => 'it:90', - 'ga' => 'ie:80 uk:70', - 'gd' => 'uk:80 ie:70', + 'ga' => 'ie:80 uk:70 dvorak_gb:10', + 'gd' => 'uk:80 ie:70 dvorak_gb:10', 'gl' => 'es:90', 'gn' => 'la:85 es:80 us_intl:50', 'gu' => 'guj:90', @@ -76,6 +79,7 @@ my %lang2keyboard = 'kn' => 'kan:90', 'ko' => 'kr:90 us:60', 'ku' => 'tr_q:90 tr_f:30', +'ku_IQ' => 'ku:90', 'kw' => 'uk:80 ie:70', 'ky' => 'ky:90 ru_yawerty:40', 'li' => 'us_intl:80 be:70 nl:10 us:5', @@ -101,13 +105,15 @@ my %lang2keyboard = 'or' => 'ori:90', 'pa' => 'gur:90', 'ph' => 'us:90 us_intl:20', - 'pl' => 'pl:90 pl2:60', + 'pl' => 'pl:90 pl2:60 dvorak_pl:10', 'pp' => 'br:80 la:20 pt:10 us_intl:30', + 'ps' => 'ps:80 sd:60', 'pt_BR' => 'br:90 la:20 pt:10 us_intl:30', 'pt' => 'pt:90', 'ro' => 'ro2:80 ro:40 us_intl:10', 'ru' => 'ru:85 ru_yawerty:80 ua:50', 'sc' => 'it:90', + 'sd' => 'sd:80 ar:20', 'se' => 'sapmi:70 sapmi_sefi:50', 'sh' => 'yu:80', 'sk' => 'sk_qwerty:80 sk:70', @@ -120,13 +126,13 @@ my %lang2keyboard = 'ta' => 'tscii:80 tml:20', 'te' => 'tel:90', 'tg' => 'tj:90 ru_yawerty:40', - 'th' => 'th:90', - 'tk' => 'tr_q:50 tr_f:40', # proper Turkmen keyboard still to come + 'th' => 'th:80 th_pat:50 th_tis:60', + 'tk' => 'tk:80 tr_q:50 tr_f:40', 'tl' => 'us:90 us_intl:20', 'tr' => 'tr_q:90 tr_f:30', 'tt' => 'ru:50 ru_yawerty:40', 'uk' => 'ua:90 ru:50 ru_yawerty:40', - 'ur' => 'ar:50 ir:40', # proper Urdu keyboard still to come + 'ur' => 'ur:80 sd:60 ar:20', 'uz' => 'uz:80 ru_yawerty:40', 'uz\@Cyrl' => 'uz:80 ru_yawerty:40', 'uz\@Latn' => 'us:80 uz:80', @@ -191,6 +197,8 @@ arch() =~ /^sparc/ ? ( "ch_de" => [ N_("_: keyboard\nSwiss (German layout)"), "sg-latin1", "de_CH", 0 ], # old XKB layout "ch_fr" => [ N_("_: keyboard\nSwiss (French layout)"), "fr_CH-latin1", "fr_CH", 0 ], +# TODO: console map + "chr" => [ N_("_: keyboard\nCherokee syllabics"), "us", "chr", 1 ], "cz" => [ N_("_: keyboard\nCzech (QWERTZ)"), "cz", "cz", 0 ], "cz_qwerty" => [ N_("_: keyboard\nCzech (QWERTY)"), "cz-lat2", "cz_qwerty", 0 ], "de" => [ N_("_: keyboard\nGerman"), "de-latin1", "de", 0 ], @@ -198,23 +206,31 @@ arch() =~ /^sparc/ ? ( "dev" => [ N_("_: keyboard\nDevanagari"), "us", "dev", 0 ], "dk" => [ N_("_: keyboard\nDanish"), "dk-latin1", "dk", 0 ], "dvorak" => [ N_("_: keyboard\nDvorak (US)"), "pc-dvorak-latin1", "dvorak", 0 ], +# TODO: console map "dvorak_eo" => [ N_("_: keyboard\nDvorak (Esperanto)"), "us", "dvorak(eo)", 0 ], +# TODO: console map + "dvorak_fr" => [ N_("_: keyboard\nDvorak (French)"), "us", "dvorak(fr)", 0 ], +# TODO: console map + "dvorak_gb" => [ N_("_: keyboard\nDvorak (UK)"), "pc-dvorak-latin1", "dvorak(gb)", 0 ], "dvorak_no" => [ N_("_: keyboard\nDvorak (Norwegian)"), "no-dvorak", "dvorak(no)", 0 ], +# TODO: console map + "dvorak_pl" => [ N_("_: keyboard\nDvorak (Polish)"), "us", "dvorak(pl)", 0 ], "dvorak_se" => [ N_("_: keyboard\nDvorak (Swedish)"), "se-dvorak", "dvorak(se)", 0 ], -#"dz" => [ N_("_: keyboard\nDzonkha/Tibetan"), "us", "dz", 1 ], + "dz" => [ N_("_: keyboard\nDzonkha/Tibetan"), "us", "dz", 1 ], "ee" => [ N_("_: keyboard\nEstonian"), "ee-latin9", "ee", 0 ], "es" => [ N_("_: keyboard\nSpanish"), "es-latin1", "es", 0 ], "fi" => [ N_("_: keyboard\nFinnish"), "fi-latin1", "fi", 0 ], + "fo" => [ N_("_: keyboard\nFaroese"), "is", "fo", 0 ], "fr" => [ N_("_: keyboard\nFrench"), "fr-latin1", "fr", 0 ], "ge_ru" => [N_("_: keyboard\nGeorgian (\"Russian\" layout)"), "ge_ru-georgian_academy", "ge_ru",1], "ge_la" => [N_("_: keyboard\nGeorgian (\"Latin\" layout)"), "ge_la-georgian_academy", "ge_la",1], "gr" => [ N_("_: keyboard\nGreek"), "gr-8859_7", "el(extended)", 1 ], "gr_pl" => [ N_("_: keyboard\nGreek (polytonic)"), "gr-8859_7", "el(polytonic)", 1 ], - "guj" => [ N_("_: keyboard\nGujarati"), "us", "guj", 1 ], - "gur" => [ N_("_: keyboard\nGurmukhi"), "us", "gur", 1 ], + "guj" => [ N_("_: keyboard\nGujarati"), "us", "guj", 1 ], + "gur" => [ N_("_: keyboard\nGurmukhi"), "us", "gur", 1 ], # old XKB layout "hu" => [ N_("_: keyboard\nHungarian"), "hu-latin2", "hu", 0 ], - "hr" => [ N_("_: keyboard\nCroatian"), "croat", "hr", 0 ], + "hr" => [ N_("_: keyboard\nCroatian"), "croat", "hr", 0 ], "ie" => [ N_("_: keyboard\nIrish"), "uk", "ie", 0 ], "il" => [ N_("_: keyboard\nIsraeli"), "il-8859_8", "il", 1 ], "il_phonetic" => [ N_("_: keyboard\nIsraeli (phonetic)"), "hebrew", "il_phonetic", 1 ], @@ -231,6 +247,8 @@ arch() =~ /^sparc/ ? ( # There is no XKB korean file yet; but using xmodmap one disables # some functionality; "us" used for XKB until this is fixed "kr" => [ N_("_: keyboard\nKorean"), "us", "us", 1 ], +# TODO: console map + "ku" => [ N_("_: keyboard\nKurdish (arabic script)"), "us", "ku", 1 ], "ky" => [ N_("_: keyboard\nKyrgyz"), "ru", "ky", 1 ], "la" => [ N_("_: keyboard\nLatin American"), "la-latin1", "la", 0 ], "lao" => [ N_("_: keyboard\nLaotian"), "us", "lo", 1 ], @@ -255,6 +273,8 @@ arch() =~ /^sparc/ ? ( "ori" => [ N_("_: keyboard\nOriya"), "us", "ori", 1 ], "pl" => [ N_("_: keyboard\nPolish (qwerty layout)"), "pl", "pl", 0 ], "pl2" => [ N_("_: keyboard\nPolish (qwertz layout)"), "pl-latin2", "pl2", 0 ], +# TODO: console map + "ps" => [ N_("_: keyboard\nPashto"), "us", "ps", 1 ], "pt" => [ N_("_: keyboard\nPortuguese"), "pt-latin1", "pt", 0 ], # old XKB layout "qc" => [ N_("_: keyboard\nCanadian (Quebec)"), "qc-latin1", "ca_enhanced", 0 ], @@ -265,6 +285,8 @@ arch() =~ /^sparc/ ? ( "ru_yawerty" => [ N_("_: keyboard\nRussian (phonetic)"), "ru-yawerty", "ru(phonetic)", 1 ], "sapmi" => [ N_("_: keyboard\nSaami (norwegian)"), "no-latin1", "sapmi", 0 ], "sapmi_sefi" => [ N_("_: keyboard\nSaami (swedish/finnish)"), "se-latin1", "sapmi(sefi)", 0 ], +# TODO: console map + "sd" => [ N_("_: keyboard\nSindhi"), "us", "sd", 1 ], "se" => [ N_("_: keyboard\nSwedish"), "se-latin1", "se", 0 ], "si" => [ N_("_: keyboard\nSlovenian"), "slovene", "si", 0 ], "sk" => [ N_("_: keyboard\nSlovakian (QWERTZ)"), "sk-qwertz", "sk", 0 ], @@ -277,14 +299,24 @@ arch() =~ /^sparc/ ? ( # no console kbd that I'm aware of "tml" => [ N_("_: keyboard\nTamil (ISCII-layout)"), "us", "tml(INSCRIPT)", 1 ], "tscii" => [ N_("_: keyboard\nTamil (Typewriter-layout)"), "us", "tml(UNI)", 1 ], - "th" => [ N_("_: keyboard\nThai"), "th", "th", 1 ], + "th" => [ N_("_: keyboard\nThai (Kedmanee)"), "th", "th", 1 ], + "th_tis" => [ N_("_: keyboard\nThai (TIS-820)"), "th", "th_tis", 1 ], +# TODO: console map + "th_pat" => [ N_("_: keyboard\nThai (Pattachote)"), "us", "th_pat", 1 ], +# TODO: console map +# NOTE: we define a triple layout here +"tifinagh" => [ N_("_: keyboard\nTifinagh (+latin/arabic)"), "us", "fr,tifinagh,ar(azerty)", 1 ], # TODO: console map "tj" => [ N_("_: keyboard\nTajik"), "ru4", "tj", 1 ], +# TODO: console map + "tk" => [ N_("_: keyboard\nTurkmen"), "us", "tk", 0 ], "tr_f" => [ N_("_: keyboard\nTurkish (traditional \"F\" model)"), "trf", "tr(tr_f)", 0 ], "tr_q" => [ N_("_: keyboard\nTurkish (modern \"Q\" model)"), "tr_q-latin5", "tr", 0 ], #-"tw => [ N_("_: keyboard\nChineses bopomofo"), "tw", "tw", 1 ], "ua" => [ N_("_: keyboard\nUkrainian"), "ua", "ua", 1 ], "uk" => [ N_("UK keyboard"), "uk", "gb", 0 ], +# TODO: console map + "ur" => [ N_("_: keyboard\nUrdu keyboard"), "us", "ur", 1 ], "us" => [ N_("US keyboard"), "us", "en_US", 0 ], "us_intl" => [ N_("US keyboard (international)"), "us-latin1", "us_intl", 0 ], "uz" => [ N_("_: keyboard\nUzbek (cyrillic)"), "uz.uni", "uz", 1 ], @@ -461,7 +493,9 @@ sub keyboard2full_xkb { $XkbLayout eq 'br' ? 'abnt2' : 'pc105'; { - XkbLayout => join(',', if_($keyboard->{GRP_TOGGLE}, 'us'), $XkbLayout), + XkbLayout => + $XkbLayout =~ /,/ ? $XkbLayout : + join(',', if_($keyboard->{GRP_TOGGLE}, 'us'), $XkbLayout), XkbModel => $XkbModel, XkbOptions => join(',', if_($keyboard->{GRP_TOGGLE}, |