Re: console-setup fetching data from xkb-data?
Hello,
Samuel Thibault, le Tue 27 Jan 2009 00:46:42 +0100, a écrit :
> BTW, I've roughly finished a patch that does "parse base.xml to generate
> locale/country -> layout/variant default choice",
Now that xkeyboard-config got uploaded with the fixes, here is the
diff I get with my patch. As can be seen it's mostly additions and
a few bugfixes, there's just one thing that really changes: now
canadian keyboards are assumed to be 'ca' by default, unless speaking
english. That however also suits the needs of
https://bugs.launchpad.net/ubuntu/+bug/64418
which was the reason for the introduction of a special rule.
Samuel
--- config.proto.tinkered 2009-01-31 00:59:49.000000000 +0100
+++ console-setup.config 2009-02-03 02:35:42.000000000 +0100
@@ -1,94 +1,465 @@
case "$locale" in
- fr_CA*)
+ # Keyboards for full locales
+ uz_AF*)
+ default_layout=af
+ default_variant=uz
+ ;;
+ ps_AF*)
+ default_layout=af
+ default_variant=ps
+ ;;
+ eo_BR*)
+ default_layout=br
+ default_variant=nativo-epo
+ ;;
+ en_CA*)
default_layout=ca
+ default_variant=eng
+ ;;
+ iu_CA*)
+ default_layout=ca
+ default_variant=ike
;;
fr_CH*)
default_layout=ch
default_variant=fr
;;
+ bo_CN*)
+ default_layout=cn
+ default_variant=tib
+ ;;
+ dsb_DE*)
+ default_layout=de
+ default_variant=dsb
+ ;;
+ ca_ES*)
+ default_layout=es
+ default_variant=cat
+ ;;
+ ast_ES*)
+ default_layout=es
+ default_variant=ast
+ ;;
se_FI*)
default_layout=fi
default_variant=smi
;;
+ smi_FI*)
+ default_layout=fi
+ default_variant=smi
+ ;;
+ ka_FR*)
+ default_layout=fr
+ default_variant=geo
+ ;;
+ ru_GE*)
+ default_layout=ge
+ default_variant=ru
+ ;;
+ os_GE*)
+ default_layout=ge
+ default_variant=os
+ ;;
+ gaa_GH*)
+ default_layout=gh
+ default_variant=ga
+ ;;
+ ak_GH*)
+ default_layout=gh
+ default_variant=akan
+ ;;
+ ff_GH*)
+ default_layout=gh
+ default_variant=fula
+ ;;
+ ha_GH*)
+ default_layout=gh
+ default_variant=hausa
+ ;;
+ ee_GH*)
+ default_layout=gh
+ default_variant=ewe
+ ;;
+ gd_IE*)
+ default_layout=ie
+ default_variant=CloGaelach
+ ;;
+ ur_IN*)
+ default_layout=in
+ default_variant=urd-phonetic
+ ;;
+ hi_IN*)
+ default_layout=in
+ default_variant=bolnagri
+ ;;
+ te_IN*)
+ default_layout=in
+ default_variant=tel
+ ;;
+ ml_IN*)
+ default_layout=in
+ default_variant=mal
+ ;;
+ kn_IN*)
+ default_layout=in
+ default_variant=kan
+ ;;
+ pa_IN*)
+ default_layout=in
+ default_variant=guru
+ ;;
+ or_IN*)
+ default_layout=in
+ default_variant=ori
+ ;;
+ bn_IN*)
+ default_layout=in
+ default_variant=ben
+ ;;
+ ta_IN*)
+ default_layout=in
+ default_variant=tam_unicode
+ ;;
+ gu_IN*)
+ default_layout=in
+ default_variant=guj
+ ;;
+ ku_IR*)
+ default_layout=ir
+ default_variant=ku
+ ;;
+ ka_IT*)
+ default_layout=it
+ default_variant=geo
+ ;;
+ ru_KZ*)
+ default_layout=kz
+ default_variant=ruskaz
+ ;;
+ ta_LK*)
+ default_layout=lk
+ default_variant=tam_unicode
+ ;;
+ fr_MA*)
+ default_layout=ma
+ default_variant=french
+ ;;
+ ber_MA*)
+ default_layout=ma
+ default_variant=tifinagh
+ ;;
+ yo_NG*)
+ default_layout=ng
+ default_variant=yoruba
+ ;;
+ ha_NG*)
+ default_layout=ng
+ default_variant=hausa
+ ;;
+ ig_NG*)
+ default_layout=ng
+ default_variant=igbo
+ ;;
se_NO*)
default_layout=no
default_variant=smi
;;
+ ar_PK*)
+ default_layout=pk
+ default_variant=ara
+ ;;
+ ru_PL*)
+ default_layout=pl
+ default_variant=ru_phonetic_dvorak
+ ;;
+ csb_PL*)
+ default_layout=pl
+ default_variant=csb
+ ;;
+ eo_PT*)
+ default_layout=pt
+ default_variant=nativo-epo
+ ;;
+ cv_RU*)
+ default_layout=ru
+ default_variant=cv
+ ;;
+ xal_RU*)
+ default_layout=ru
+ default_variant=xal
+ ;;
+ tt_RU*)
+ default_layout=ru
+ default_variant=tt
+ ;;
+ os_RU*)
+ default_layout=ru
+ default_variant=os_legacy
+ ;;
+ udm_RU*)
+ default_layout=ru
+ default_variant=udm
+ ;;
+ sah_RU*)
+ default_layout=ru
+ default_variant=sah
+ ;;
+ kv_RU*)
+ default_layout=ru
+ default_variant=kom
+ ;;
se_SE*)
default_layout=se
default_variant=smi
;;
+ ru_SE*)
+ default_layout=se
+ default_variant=rus
+ ;;
+ syr_SY*)
+ default_layout=sy
+ ;;
+ ku_SY*)
+ default_layout=sy
+ default_variant=ku
+ ;;
+ ku_TR*)
+ default_layout=tr
+ default_variant=ku
+ ;;
+ fr_US*)
+ default_layout=us
+ default_variant=altgr-intl
+ ;;
+ de_US*)
+ default_layout=us
+ default_variant=altgr-intl
+ ;;
+ chr_US*)
+ default_layout=us
+ default_variant=chr
+ ;;
+ es_US*)
+ default_layout=latam
+ ;;
+ # Keyboards for countries
+ *_AD*)
+ default_layout=ad
+ ;;
+ *_AE*)
+ default_layout=ara
+ ;;
+ *_AF*)
+ default_layout=af
+ layout_priority=critical
+ ;;
*_AL*)
default_layout=al
;;
+ *_AM*)
+ default_layout=am
+ ;;
+ *_AR*)
+ default_layout=latam
+ ;;
*_AZ*)
default_layout=az
;;
+ *_BA*)
+ default_layout=ba
+ ;;
*_BD*)
default_layout=bd
;;
*_BE*)
default_layout=be
+ layout_priority=critical
;;
*_BG*)
default_layout=bg
layout_priority=critical
;;
+ *_BH*)
+ default_layout=ara
+ ;;
+ *_BO*)
+ default_layout=latam
+ ;;
*_BR*)
default_layout=br
+ layout_priority=critical
+ ;;
+ *_BT*)
+ default_layout=bt
;;
*_BY*)
default_layout=by
;;
*_CA*)
- default_layout=us
+ default_layout=ca
+ layout_priority=critical
+ ;;
+ *_CD*)
+ default_layout=cd
;;
*_CH*)
default_layout=ch
layout_priority=critical
;;
+ *_CL*)
+ default_layout=latam
+ ;;
+ *_CN*)
+ default_layout=cn
+ layout_priority=critical
+ ;;
+ *_CO*)
+ default_layout=latam
+ ;;
+ *_CR*)
+ default_layout=latam
+ ;;
+ *_CU*)
+ default_layout=latam
+ ;;
*_CZ*)
default_layout=cz
layout_priority=critical
;;
+ *_DE*)
+ default_layout=de
+ layout_priority=critical
+ ;;
*_DK*)
default_layout=dk
;;
+ *_DO*)
+ default_layout=latam
+ ;;
+ *_DZ*)
+ default_layout=ara
+ ;;
+ *_EC*)
+ default_layout=latam
+ ;;
*_EE*)
default_layout=ee
;;
+ *_EG*)
+ default_layout=ara
+ ;;
+ *_EH*)
+ default_layout=ara
+ ;;
*_ES*)
default_layout=es
+ layout_priority=critical
+ ;;
+ *_ET*)
+ default_layout=et
;;
*_FI*)
default_layout=fi
- default_variant=fi
+ layout_priority=critical
+ ;;
+ *_FO*)
+ default_layout=fo
+ ;;
+ *_FR*)
+ default_layout=fr
+ layout_priority=critical
;;
*_GB*)
default_layout=gb
;;
+ *_GE*)
+ default_layout=ge
+ layout_priority=critical
+ ;;
+ *_GH*)
+ default_layout=gh
+ layout_priority=critical
+ ;;
+ *_GN*)
+ default_layout=gn
+ ;;
+ *_GR*)
+ default_layout=gr
+ ;;
+ *_GT*)
+ default_layout=latam
+ ;;
+ *_HN*)
+ default_layout=latam
+ ;;
+ *_HR*)
+ default_layout=hr
+ ;;
+ *_HT*)
+ default_layout=latam
+ ;;
*_HU*)
default_layout=hu
;;
*_IE*)
default_layout=ie
+ layout_priority=critical
;;
*_IL*)
default_layout=il
layout_priority=critical
;;
+ *_IN*)
+ default_layout=in
+ layout_priority=critical
+ ;;
+ *_IQ*)
+ default_layout=iq
+ layout_priority=critical
+ ;;
*_IR*)
default_layout=ir
+ layout_priority=critical
;;
*_IS*)
default_layout=is
;;
*_IT*)
default_layout=it
+ layout_priority=critical
+ ;;
+ *_JO*)
+ default_layout=ara
;;
*_JP*)
default_layout=jp
;;
+ *_KG*)
+ default_layout=kg
+ ;;
+ *_KH*)
+ default_layout=kh
+ ;;
+ *_KR*)
+ default_layout=kr
+ ;;
+ *_KW*)
+ default_layout=ara
+ ;;
+ *_KZ*)
+ default_layout=kz
+ layout_priority=critical
+ ;;
+ *_LA*)
+ default_layout=la
+ ;;
+ *_LB*)
+ default_layout=ara
+ ;;
+ *_LK*)
+ default_layout=lk
+ layout_priority=critical
+ ;;
*_LT*)
default_layout=lt
layout_priority=critical
@@ -96,41 +467,121 @@
*_LV*)
default_layout=lv
;;
+ *_LY*)
+ default_layout=ara
+ ;;
+ *_MA*)
+ default_layout=ara
+ layout_priority=critical
+ ;;
+ *_ME*)
+ default_layout=me
+ ;;
*_MK*)
default_layout=mk
;;
+ *_MM*)
+ default_layout=mm
+ ;;
*_MN*)
default_layout=mn
;;
+ *_MR*)
+ default_layout=ara
+ ;;
*_MT*)
default_layout=mt
layout_priority=critical
;;
+ *_MV*)
+ default_layout=mv
+ ;;
+ *_MX*)
+ default_layout=latam
+ ;;
+ *_NG*)
+ default_layout=ng
+ layout_priority=critical
+ ;;
+ *_NI*)
+ default_layout=latam
+ ;;
*_NL*)
default_layout=nl
;;
*_NO*)
default_layout=no
+ layout_priority=critical
+ ;;
+ *_NP*)
+ default_layout=np
+ ;;
+ *_OM*)
+ default_layout=ara
+ ;;
+ *_PA*)
+ default_layout=latam
+ ;;
+ *_PE*)
+ default_layout=latam
+ ;;
+ *_PK*)
+ default_layout=pk
+ layout_priority=critical
;;
*_PL*)
default_layout=pl
+ layout_priority=critical
+ ;;
+ *_PR*)
+ default_layout=latam
+ ;;
+ *_PS*)
+ default_layout=ara
;;
*_PT*)
default_layout=pt
+ layout_priority=critical
+ ;;
+ *_PY*)
+ default_layout=latam
+ ;;
+ *_QA*)
+ default_layout=ara
;;
*_RO*)
default_layout=ro
;;
+ *_RS*)
+ default_layout=rs
+ ;;
*_RU*)
default_layout=ru
layout_priority=critical
;;
+ *_SA*)
+ default_layout=ara
+ ;;
+ *_SD*)
+ default_layout=ara
+ ;;
+ *_SE*)
+ default_layout=se
+ layout_priority=critical
+ ;;
*_SI*)
default_layout=si
;;
*_SK*)
default_layout=sk
;;
+ *_SV*)
+ default_layout=latam
+ ;;
+ *_SY*)
+ default_layout=ara
+ layout_priority=critical
+ ;;
*_TH*)
default_layout=th
layout_priority=critical
@@ -138,6 +589,9 @@
*_TJ*)
default_layout=tj
;;
+ *_TN*)
+ default_layout=ara
+ ;;
*_TR*)
default_layout=tr
layout_priority=critical
@@ -145,86 +599,379 @@
*_UA*)
default_layout=ua
;;
- en_US*)
+ *_US*)
default_layout=us
+ layout_priority=critical
+ ;;
+ *_UY*)
+ default_layout=latam
+ ;;
+ *_UZ*)
+ default_layout=uz
+ ;;
+ *_VE*)
+ default_layout=latam
;;
*_VN*)
default_layout=vn
;;
-
-
- *_AR*|*_BO*|*_CL*|*_CO*|*_CR*|*_DO*|*_EC*|*_GT*|*_HN*|*_MX*|*_NI*|*_PA*|*_PE*|es_PR*|*_PY*|*_SV*|es_US*|*_UY*|*_VE*)
- default_layout=latam
+ *_YE*)
+ default_layout=ara
+ ;;
+ *_ZA*)
+ default_layout=za
+ ;;
+ # Keyboards for specific languages
+ ak_*)
+ default_layout=gh
+ default_variant=akan
+ ;;
+ am_*)
+ default_layout=et
;;
ar_*)
default_layout=ara
+ layout_priority=critical
+ ;;
+ ast_*)
+ default_layout=es
+ default_variant=ast
+ ;;
+ az_*)
+ default_layout=az
+ ;;
+ be_*)
+ default_layout=by
+ ;;
+ ber_*)
+ default_layout=ma
+ default_variant=tifinagh
+ ;;
+ bg_*)
+ default_layout=bg
+ ;;
+ bn_*)
+ default_layout=bd
+ layout_priority=critical
+ ;;
+ bo_*)
+ default_layout=cn
+ default_variant=tib
;;
bs_*)
default_layout=ba
;;
+ ca_*)
+ default_layout=ad
+ layout_priority=critical
+ ;;
+ chr_*)
+ default_layout=us
+ default_variant=chr
+ ;;
+ cs_*)
+ default_layout=cz
+ ;;
+ csb_*)
+ default_layout=pl
+ default_variant=csb
+ ;;
+ cv_*)
+ default_layout=ru
+ default_variant=cv
+ ;;
+ da_*)
+ default_layout=dk
+ ;;
de_*)
+ default_layout=be
+ layout_priority=critical
+ ;;
+ dsb_*)
default_layout=de
+ default_variant=dsb
+ ;;
+ dv_*)
+ default_layout=mv
+ ;;
+ dz_*)
+ default_layout=bt
+ ;;
+ ee_*)
+ default_layout=gh
+ default_variant=ewe
;;
el_*)
default_layout=gr
;;
- eo|eo.*|eo_*|eo\@*)
+ en_*)
+ default_layout=us
+ layout_priority=critical
+ ;;
+ eo_*)
default_layout=epo
+ layout_priority=critical
+ ;;
+ es_*)
+ default_layout=latam
+ layout_priority=critical
+ ;;
+ et_*)
+ default_layout=ee
+ ;;
+ fa_*)
+ default_layout=ir
+ ;;
+ ff_*)
+ default_layout=gh
+ default_variant=fula
+ ;;
+ fi_*)
+ default_layout=fi
+ ;;
+ fo_*)
+ default_layout=fo
;;
fr_*)
- default_layout=fr
+ default_layout=be
layout_priority=critical
;;
+ gaa_*)
+ default_layout=gh
+ default_variant=ga
+ ;;
+ gd_*)
+ default_layout=ie
+ default_variant=CloGaelach
+ ;;
+ gsw_*)
+ default_layout=ch
+ ;;
gu_*)
default_layout=in
default_variant=guj
;;
+ ha_*)
+ default_layout=gh
+ default_variant=hausa
+ layout_priority=critical
+ ;;
+ he_*)
+ default_layout=il
+ ;;
hi_*)
default_layout=in
- default_variant=deva
+ default_variant=bolnagri
;;
hr_*)
default_layout=hr
;;
+ hu_*)
+ default_layout=hu
+ ;;
hy_*)
default_layout=am
;;
+ ig_*)
+ default_layout=ng
+ default_variant=igbo
+ ;;
+ is_*)
+ default_layout=is
+ ;;
+ it_*)
+ default_layout=it
+ ;;
+ iu_*)
+ default_layout=ca
+ default_variant=ike
+ ;;
+ ja_*)
+ default_layout=jp
+ ;;
ka_*)
default_layout=ge
layout_priority=critical
;;
+ kk_*)
+ default_layout=kz
+ ;;
+ km_*)
+ default_layout=kh
+ ;;
kn_*)
default_layout=in
default_variant=kan
;;
+ ko_*)
+ default_layout=kr
+ ;;
+ ku_*)
+ default_layout=iq
+ layout_priority=critical
+ ;;
+ kv_*)
+ default_layout=ru
+ default_variant=kom
+ ;;
+ ky_*)
+ default_layout=kg
+ ;;
lo_*)
default_layout=la
;;
+ lt_*)
+ default_layout=lt
+ ;;
+ lv_*)
+ default_layout=lv
+ ;;
+ mi_*)
+ default_layout=mao
+ ;;
+ mk_*)
+ default_layout=mk
+ ;;
ml_*)
default_layout=in
default_variant=mal
;;
+ mng_*)
+ default_layout=mn
+ ;;
+ mt_*)
+ default_layout=mt
+ ;;
+ my_*)
+ default_layout=mm
+ ;;
+ ne_*)
+ default_layout=np
+ ;;
+ nl_*)
+ default_layout=nl
+ ;;
+ no_*)
+ default_layout=no
+ ;;
+ or_*)
+ default_layout=in
+ default_variant=ori
+ ;;
+ os_*)
+ default_layout=ge
+ default_variant=os
+ layout_priority=critical
+ ;;
pa_*)
default_layout=in
default_variant=guru
;;
+ pl_*)
+ default_layout=pl
+ ;;
+ ps_*)
+ default_layout=af
+ default_variant=ps
+ ;;
+ pt_*)
+ default_layout=br
+ layout_priority=critical
+ ;;
+ ro_*)
+ default_layout=ro
+ ;;
+ ru_*)
+ default_layout=ru
+ layout_priority=critical
+ ;;
+ sah_*)
+ default_layout=ru
+ default_variant=sah
+ ;;
+ se_*)
+ default_layout=fi
+ default_variant=smi
+ layout_priority=critical
+ ;;
+ si_*)
+ default_layout=lk
+ ;;
+ sk_*)
+ default_layout=sk
+ ;;
+ sl_*)
+ default_layout=si
+ ;;
+ smi_*)
+ default_layout=fi
+ default_variant=smi
+ ;;
+ sq_*)
+ default_layout=al
+ ;;
sr_*)
- default_layout=cs
+ default_layout=me
layout_priority=critical
;;
sv_*)
default_layout=se
- default_variant=basic
+ ;;
+ syr_*)
+ default_layout=sy
;;
ta_*)
default_layout=in
- default_variant=tam
+ default_variant=tam_unicode
+ layout_priority=critical
;;
te_*)
default_layout=in
default_variant=tel
;;
-
+ tg_*)
+ default_layout=tj
+ ;;
+ th_*)
+ default_layout=th
+ ;;
+ tr_*)
+ default_layout=tr
+ ;;
+ tt_*)
+ default_layout=ru
+ default_variant=tt
+ ;;
+ udm_*)
+ default_layout=ru
+ default_variant=udm
+ ;;
+ uk_*)
+ default_layout=ua
+ ;;
+ ur_*)
+ default_layout=pk
+ layout_priority=critical
+ ;;
+ uz_*)
+ default_layout=uz
+ layout_priority=critical
+ ;;
+ vi_*)
+ default_layout=vn
+ ;;
+ xal_*)
+ default_layout=ru
+ default_variant=xal
+ ;;
+ yo_*)
+ default_layout=ng
+ default_variant=yoruba
+ ;;
+ zh_*)
+ default_layout=cn
+ ;;
+ # Fallback
*)
default_layout=us
;;
Reply to: