[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: