summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/keyboard.pm74
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},