On Sun, Sep 12, 2010 at 18:33:51 +0200, Julien Cristau wrote: > Anton, do you have an idea how to fix this (or anyone else, for that > matter)? We need to parse the xorg.conf keywords and option names > case-insensitively, but the option values themselves are case-sensitive. > So an obvious, if ugly, solution would be the following...
Index: debian/keyboard-configuration.config =================================================================== --- debian/keyboard-configuration.config (revision 64697) +++ debian/keyboard-configuration.config (working copy) @@ -791,21 +791,20 @@ then awk_expr=' { - $0 = tolower($0); sub("#.*","") xkb = ""; } -/^[ \t]*section[ \t]+"inputdevice"/,/^[ \t]*endsection/ { - if ($1 == "option") { - if ($2 == "\"xkbmodel\"") { +/^[ \t]*[sS][eE][cC][tT][iI][oO][nN][ \t]+"[iI][nN][pP][uU][tT][dD][eE][vV][iI][cC][eE]"/,/^[ \t]*[eE][nN][dD][sS][eE][cC][tT][iI][oO][nN]/ { + if (tolower($1) == "option") { + if (tolower($2) == "\"xkbmodel\"") { xkb = "XKBMODEL"; - } else if ($2 == "\"xkblayout\"") { + } else if (tolower($2) == "\"xkblayout\"") { xkb = "XKBLAYOUT"; print "layout_priority=medium"; - } else if ($2 == "\"xkbvariant\"") { + } else if (tolower($2) == "\"xkbvariant\"") { xkb = "XKBVARIANT"; - } else if ($2 == "\"xkboptions\"") { + } else if (tolower($2) == "\"xkboptions\"") { xkb = "XKBOPTIONS"; } $1 = ""; That seems to do the right thing from some quick tests. Cheers, Julien
signature.asc
Description: Digital signature