X Strike Force X.Org X11 SVN commit: r1173 - trunk/debian
Author: barbier
Date: 2006-02-08 18:11:41 -0500 (Wed, 08 Feb 2006)
New Revision: 1173
Modified:
trunk/debian/changelog
trunk/debian/xserver-xorg.config.in
Log:
Update debian/xserver-xorg.config.in to reflect changes in XKB layouts.
Better handling of Turkish layouts, by Recai Okta?\197?\159. (closes: #348027)
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2006-02-08 04:48:04 UTC (rev 1172)
+++ trunk/debian/changelog 2006-02-08 23:11:41 UTC (rev 1173)
@@ -21,8 +21,12 @@
* Remove rgb.txt stuff from x11-common.preinst. This is causing the file to
be deleted.
- -- David Nusinow <dnusinow@debian.org> Tue, 7 Feb 2006 22:54:07 -0500
+ [ Denis Barbier ]
+ * Update debian/xserver-xorg.config.in to reflect changes in XKB layouts.
+ Better handling of Turkish layouts, by Recai Oktaş. (closes: #348027)
+ -- Denis Barbier <barbier@debian.org> Thu, 9 Feb 2006 00:11:52 +0100
+
xorg-x11 (6.9.0.dfsg.1-4) unstable; urgency=low
[ David Martínez Moreno ]
Modified: trunk/debian/xserver-xorg.config.in
===================================================================
--- trunk/debian/xserver-xorg.config.in 2006-02-08 04:48:04 UTC (rev 1172)
+++ trunk/debian/xserver-xorg.config.in 2006-02-08 23:11:41 UTC (rev 1173)
@@ -955,44 +955,53 @@
case "$DI_KEYMAP--$REALLANG" in
be2-latin1--*) XMAP="be";;
- bg--*) XMAP="bg"; OPTIONS="bds";;
- br-latin1--*) XMAP="br"; OPTIONS="abnt2";;
+ bg--*) XMAP="bg"; VARIANT="bds";;
br-abnt2--ie*) XMAP="ie";;
- br-abnt2--*) XMAP="br"; OPTIONS="abnt2";;
+ br-abnt2--*) XMAP="br";;
+ br-latin1--*) XMAP="br";;
by--*) XMAP="by";;
- cf--tr*) XMAP="tr"; OPTIONS="tr_f";;
+ cf--tr*) XMAP="tr"; VARIANT="f";;
cf--ie*) XMAP="ie";;
cf--lv*) XMAP="lv";;
cf--it*) XMAP="it";;
cf--nl*) XMAP="us";;
- cf--bg*) XMAP="bg"; OPTIONS="bds";;
+ cf--bg*) XMAP="bg"; VARIANT="bds";;
+# croat?
cz-lat2--ru*) XMAP="ru";;
cz-lat2--ua*) XMAP="ua";;
cz-lat2--by*) XMAP="by";;
cz-lat2--tj*) XMAP="tj";;
- cz-lat2--gb*) XMAP="gb"; OPTIONS="intl";;
+ cz-lat2--gb*) XMAP="gb"; VARIANT="intl";;
cz-lat2--mt*) XMAP="mt";;
cz-lat2--ie*) XMAP="ie";;
cz-lat2--sr*) XMAP="sr";;
cz-lat2--uz*) XMAP="uz";;
cz-lat2--*) XMAP="cz";;
- de-latin1-nodeadkeys--de_CH) XMAP="ch"; OPTIONS="de";;
- de-latin1-nodeadkeys--de_FR) XMAP="fr"; OPTIONS="de";;
- de-latin1-nodeadkeys--*) XMAP="de"; OPTIONS="nodeadkeys";;
- dvorak--no*) XMAP="dvorak"; OPTIONS="no";;
- dvorak--se*) XMAP="dvorak"; OPTIONS="se";;
- dvorak--sv*) XMAP="dvorak"; OPTIONS="sv";;
- dvorak--gb*) XMAP="dvorak"; OPTIONS="gb";;
- dvorak--fr*) XMAP="dvorak"; OPTIONS="fr";;
- dvorak--pl*) XMAP="dvorak"; OPTIONS="pl";;
- dvorak--*) XMAP="dvorak";;
+ de-latin1-nodeadkeys--de_CH) XMAP="ch"; VARIANT="de";;
+ de-latin1-nodeadkeys--de_FR) XMAP="fr"; VARIANT="de";;
+ de-latin1-nodeadkeys--*) XMAP="de"; VARIANT="nodeadkeys";;
dk-latin1--*) XMAP="dk";;
- es--br) XMAP="br"; OPTIONS="abnt2";;
+ dvorak--fr*) XMAP="fr"; VARIANT="dvorak";;
+ dvorak--gb*) XMAP="gb"; VARIANT="dvorak";;
+ dvorak--no*) XMAP="no"; VARIANT="dvorak";;
+ dvorak--pl*) XMAP="pl"; VARIANT="dvorak";;
+ dvorak--se*) XMAP="se"; VARIANT="dvorak";;
+ dvorak--*) XMAP="us"; VARIANT="dvorak";;
+ es--br) XMAP="br";;
es--*) XMAP="es";;
et--ee*) XMAP="ee";;
- et--de*) XMAP="de"; OPTIONS="nodeadkeys";;
- fr_CH--*) XMAP="ch"; OPTIONS="fr";;
- fr_CH-latin1--*) XMAP="ch"; OPTIONS="fr";;
+ et--de*) XMAP="de"; VARIANT="nodeadkeys";;
+ fi-latin1--*) XMAP="fi";;
+ fr_CH--*) XMAP="ch"; VARIANT="fr";;
+ fr_CH-latin1--*) XMAP="ch"; VARIANT="fr";;
+ fr-latin9--ie*) XMAP="ie";;
+ fr-latin9--*) XMAP="fr"; VARIANT="latin9";;
+ gr--by*) XMAP="by";;
+ gr--ru*) XMAP="ru";;
+ gr--tj*) XMAP="tj";;
+ gr--tr*) XMAP="tr"; VARIANT="f";;
+ gr--ua*) XMAP="ua";;
+ gr--uz*) XMAP="uz";;
hebrew--ie*) XMAP="ie";;
hebrew--*) XMAP="il";;
hu--yu*) XMAP="yu";;
@@ -1002,96 +1011,88 @@
hu--si*) XMAP="si";;
hu--pl*) XMAP="pl";;
hu--*) XMAP="hu";;
- fi-latin1--*) XMAP="fi";;
- fr-latin9--ie*) XMAP="ie";;
- fr-latin9--*) XMAP="fr-latin9";;
- gr--ru*) XMAP="ru";;
- gr--ua*) XMAP="ua";;
- gr--by*) XMAP="by";;
- gr--tj*) XMAP="tj";;
- gr--tr*) XMAP="tr_f";;
- gr--uz*) XMAP="uz";;
hu--*) XMAP="hu";;
is-latin1--*) XMAP="is";;
it--*) XMAP="it";;
- jp106--*) XMAP="jp"; OPTIONS="jp106";;
+ jp106--*) XMAP="jp"; VARIANT="jp106";;
la-latin1--*) XMAP="la";;
- lt--pl*) XMAP="pl";;
+ lt--bg*) XMAP="bg"; VARIANT="bds";;
+ lt--by*) XMAP="by";;
+ lt--ge*) XMAP="ge_la";;
lt--hr_US) XMAP="hr";;
- lt--ge*) XMAP="ge_la";;
lt--il*) XMAP="il";;
- lt--vn*) XMAP="vn";;
+ lt--lv*) XMAP="lv";;
+ lt--mt*) XMAP="mt"; VARIANT="us";;
+ lt--pl*) XMAP="pl";;
lt--ru*) XMAP="ru";;
+ lt--tj*) XMAP="tj";;
+ lt--tr*) XMAP="tr"; VARIANT="f";;
lt--ua*) XMAP="ua";;
lt--us*) XMAP="sr";;
- lt--by*) XMAP="by";;
- lt--bg*) XMAP="bg"; OPTIONS="bds";;
- lt--tj*) XMAP="tj";;
- lt--lv*) XMAP="lv";;
- lt--mt*) XMAP="mt_us";;
- lt--tr*) XMAP="tr"; OPTIONS="tr_f";;
lt--uz*) XMAP="uz";;
+ lt--vn*) XMAP="vn";;
lt--*) XMAP="lt";;
+ lv-latin4--*) XMAP="lv";;
mac-us-std--*) XMAP="us";;
- mac-de2-ext--*) XMAP="de"; OPTIONS="nodeadkeys";;
- mac-fr2-ext--*) XMAP="fr";;
+ mac-us-ext--*) XMAP="us";;
+ mac-de2-ext--*) XMAP="de"; VARIANT="nodeadkeys";;
mac-fr3--*) XMAP="fr";;
mac-es--*) XMAP="es";;
- mk--tr*) XMAP="tr"; OPTIONS="tr_f";;
+ mk--hr*) XMAP="hr";;
mk--sr*) XMAP="sr";;
- mk--hr*) XMAP="hr";;
+ mk--tr*) XMAP="tr"; VARIANT="f";;
no-latin1--*) XMAP="no";;
pl--by*) XMAP="by";;
+ pl--hr*) XMAP="hr";;
pl--ru*) XMAP="ru";;
- pl--ua*) XMAP="ua";;
- pl--by*) XMAP="by";;
pl--tj*) XMAP="tj";;
- pl--hr*) XMAP="hr";;
pl--tr*) XMAP="tr";;
+ pl--ua*) XMAP="ua";;
pl--uz*) XMAP="uz";;
pl--*) XMAP="pl";;
pt-latin1--*) XMAP="pt";;
- uk--en_IE) XMAP="ie";;
- uk--*) XMAP="gb";;
ru--ge*) XMAP="ge_ru";;
- lt--ge*) XMAP="ge_la";;
- lt--*) XMAP="lt";;
- lv-latin4--*) XMAP="lv";;
se-latin1--*) XMAP="se";;
- sg-latin1--ch_DE) XMAP="ch"; OPTIONS="de";;
- sg-latin1--ch_FR) XMAP="ch"; OPTIONS="fr";;
- sg-latin1--ch*) XMAP="ch"; OPTIONS="de";;
- sg-latin1--de*) XMAP="ch"; OPTIONS="de";;
- sg-latin1--fr*) XMAP="ch"; OPTIONS="fr";;
- sk-qwerty--cz*) XMAP="cz_querty";;
- sk-qwerty--*) XMAP="sk_querty";;
- sr-cy--tr*) XMAP="tr"; OPTIONS="tr_f";;
+ sg-latin1--ch_DE) XMAP="ch"; VARIANT="de";;
+ sg-latin1--ch_FR) XMAP="ch"; VARIANT="fr";;
+ sg-latin1--ch*) XMAP="ch"; VARIANT="de";;
+ sg-latin1--de*) XMAP="ch"; VARIANT="de";;
+ sg-latin1--fr*) XMAP="ch"; VARIANT="fr";;
+ sk-qwerty--cz*) XMAP="cz"; VARIANT="querty";;
+ sk-qwerty--*) XMAP="sk"; VARIANT="querty";;
+# slovene?
+ sr-cy--tr*) XMAP="tr"; VARIANT="f";;
sr-cy--yu*) XMAP="yu";;
sr-cy--*) XMAP="sr";;
- trfu--hu*) XMAP="hu"; OPTIONS="qwerty";;
+ tralt--*) XMAP="tr"; VARIANT="alt";;
+ trfu--hu*) XMAP="hu"; VARIANT="qwerty";;
trfu--yu*) XMAP="yu";;
- trfu--*) XMAP="tr"; OPTIONS="tr_f";;
+ trf--*) XMAP="tr"; VARIANT="f";;
+ trfu--*) XMAP="tr"; VARIANT="f";;
+ trq--*) XMAP="tr";;
+ *trqalt*) XMAP="tr"; VARIANT="alt";;
trqu--*) XMAP="tr";;
- ua--tr*) XMAP="tr"; OPTIONS="tr_f";;
ua--by*) XMAP="by";;
+ ua--tr*) XMAP="tr"; VARIANT="f";;
ua--*) XMAP="ua";;
+ uk--en_IE) XMAP="ie";;
+ uk--ie*) XMAP="ie";;
uk--mt*) XMAP="mt";;
- uk--ie*) XMAP="ie";;
- uk--*) XMAP="gb"; OPTIONS="intl";;
+ uk--*) XMAP="gb"; VARIANT="intl";;
*--al*) XMAP="al"; LEVEL2="l2";;
*--am*) XMAP="am";;
*--ar*) XMAP="ar"; LEVEL2="l2";;
- *--az*) XMAP="az"; OPTIONS="latin";;
+ *--az*) XMAP="az"; VARIANT="latin";;
*--be*) XMAP="be";;
*--ben*) XMAP="ben"; LEVEL2="l2";;
- *--bg*) XMAP="bg"; OPTIONS="bds";;
+ *--bg*) XMAP="bg"; VARIANT="bds";;
*--bs*) XMAP="bs";;
*--by*) XMAP="by";;
*--cz*) XMAP="cz";;
- *--de_CH) XMAP="ch"; OPTIONS="de";;
- *--de_FR) XMAP="ch"; OPTIONS="fr";;
- *--de*) XMAP="de"; OPTIONS="nodeadkeys";;
+ *--de_CH) XMAP="ch"; VARIANT="de";;
+ *--de_FR) XMAP="ch"; VARIANT="fr";;
*--dev*) XMAP="dev";;
+ *--de*) XMAP="de"; VARIANT="nodeadkeys";;
*--dk*) XMAP="dk";;
*--dz*) XMAP="dz";;
*--ee*) XMAP="ee";;
@@ -1100,13 +1101,12 @@
*--en_CA) XMAP="us";;
*--en_GB) XMAP="gb";;
*--en_IE) XMAP="ie";;
- *--en_GB) XMAP="gb";;
*--en_US) XMAP="us";;
*--en*) XMAP="us";;
*--es*) XMAP="es";;
*--fi*) XMAP="fi";;
- *--fr_CA) XMAP="ca"; OPTIONS="fr";;
- *--fr_CH) XMAP="ch"; OPTIONS="fr";;
+ *--fr_CA) XMAP="ca"; VARIANT="fr";;
+ *--fr_CH) XMAP="ch"; VARIANT="fr";;
*--fr*) XMAP="fr";;
*--ge*) XMAP="ge_la";;
*--guj*) XMAP="guj";;
@@ -1118,7 +1118,7 @@
*--is*) XMAP="is";;
*--it*) XMAP="it";;
*--iu*) XMAP="iu";;
- *--jp*) XMAP="jp"; OPTIONS="jp106";;
+ *--jp*) XMAP="jp"; VARIANT="jp106";;
*--kan*) XMAP="kan";;
*--la*) XMAP="la";;
*--lo*) XMAP="lo";;
@@ -1134,7 +1134,7 @@
*--ogh*) XMAP="ogham";;
*--ori*) XMAP="ori";;
*--pl*) XMAP="pl";;
- *--pt_BR) XMAP="br"; OPTIONS="abnt2";;
+ *--pt_BR) XMAP="br";;
*--pt*) XMAP="pt";;
*--ro*) XMAP="ro";;
*--ru*) XMAP="ru";;
@@ -1163,10 +1163,19 @@
XMAP="us"
# prompt for layout if we ended up with French Canadian; apparently having
# US-layout keyboards is common there
- elif [ "$XMAP" = "ca" ] && [ "$OPTIONS" = "fr" ]; then
+ elif [ "$XMAP" = "ca" ] && [ "$VARIANT" = "fr" ]; then
PRIORITY=high
else
PRIORITY=low
+
+ # for Turkish, ensure to add "caps:shift" to make Caps Lock behave correctly
+ if [ "$XMAP" = "tr" ]; then
+ case "$OPTIONS" in
+ *caps:shift*) ;; # do nothing if it's already defined
+ "") OPTIONS="caps:shift" ;;
+ *) OPTIONS="$OPTIONS,caps:shift" ;;
+ esac
+ fi
fi
# we can't do non-Latin usernames, so people with Latin layouts need a US
@@ -1190,6 +1199,7 @@
XKBLAYOUT="$XMAP"
XKBOPTIONS="$OPTIONS"
+ XKBVARIANT="$VARIANT"
else
db_get xserver-xorg/config/inputdevice/keyboard/layout || debug_report_status "db_get xserver-xorg/config/inputdevice/keyboard/layout"
XKBLAYOUT="$RET"
@@ -1234,10 +1244,59 @@
if [ "$RET" = "us" ]; then
PRIORITY=low
elif [ "$RET" = "br" ]; then
- db_set xserver-xorg/config/inputdevice/keyboard/variant "abnt2"
+ XKBVARIANT=abnt2
fi
+
+db_set xserver-xorg/config/inputdevice/keyboard/variant "$XKBVARIANT"
MAY_BE_NULL=yes validate_string_db_input "$(priority_ceil $PRIORITY)" xserver-xorg/config/inputdevice/keyboard/variant
+# handle Turkish keyboard setup specially due to its oddities
+db_get xserver-xorg/config/inputdevice/keyboard/layout
+if [ "$RET" = "tr" ]; then
+ TR_KEYMAP="$CONFIG_DIR/xkb/symbols/pc/tr"
+
+ db_get xserver-xorg/config/inputdevice/keyboard/variant
+ TR_VARIANT="$RET"
+
+ case ",$TR_VARIANT," in
+ *,f,*|*,tr_f,*)
+ # X.Org version < 6.9 uses "tr_f", while >= 6.9 uses only "f"
+ if [ -e "$TR_KEYMAP" ] &&
+ grep -q "^[[:space:]]*xkb_symbols[[:space:]]*\"tr_f\"" $TR_KEYMAP; then
+ SANITIZED_TR_VARIANT="tr_f"
+ else
+ SANITIZED_TR_VARIANT="f"
+ fi
+ ;;
+ *,alt,*|*,tr_alt,*)
+ # X.Org version < 6.9 uses "tr_alt", while >= 6.9 uses only "alt"
+ if [ -e "$TR_KEYMAP" ] &&
+ grep -q "^[[:space:]]*xkb_symbols[[:space:]]*\"tr_alt\"" $TR_KEYMAP; then
+ SANITIZED_TR_VARIANT="tr_alt"
+ else
+ SANITIZED_TR_VARIANT="alt"
+ fi
+ ;;
+ esac
+
+ if [ -n "$SANITIZED_TR_VARIANT" ]; then
+ # remove the unsanitized variant
+ TR_VARIANT=$(echo $TR_VARIANT | \
+ sed -e "s/\<\(tr_\)*\(f\|alt\)[[:space:]]*,//g" \
+ -e "s/\(^\|,\)[[:space:]]*\(tr_\)*\(f\|alt\)[[:space:]]*$//g")
+
+ # add the sanitized variant
+ if [ -n "$TR_VARIANT" ]; then
+ TR_VARIANT="$SANITIZED_TR_VARIANT"
+ else
+ TR_VARIANT="$TR_VARIANT,$SANITIZED_TR_VARIANT"
+ fi
+
+ # now, re-commit the variant to debconf
+ db_set xserver-xorg/config/inputdevice/keyboard/variant "$TR_VARIANT"
+ fi
+fi
+
# ugly kludge, I know; map Apple->AltGr for most European Macs
db_get xserver-xorg/config/inputdevice/keyboard/model
if [ "$ARCH" = "powerpc" ] && [ "$RET" = "pc105" ]; then
Reply to: