On Mon, Feb 28, 2011 at 03:35:25AM +0300, Van de Bugger wrote: > If setxkbmap fails to load rules file, it is not possible to find > out where setxkbmap looks for it. Increasing verbosity level does > not help: > > $ ./setxkbmap -v 10 > Setting verbose level to 10 > locale is C > Couldn't find rules file (evdev) > > The problem fixed by adding two messages: before loading file and > after successful loading. Messages are displayed if verbosity level > is 8 or higher: > > $ ./setxkbmap -v 10 > Setting verbose level to 10 > locale is C > Trying to load rules file ./rules/evdev... > Trying to load rules file /usr/local/share/X11/xkb/rules/evdev... > Couldn't find rules file (evdev) > > Signed-off-by: Van de Bugger <van.de.bug...@gmail.com> > --- > > Changes after review: > > 1. Extra semicolon removed. >
applied, thanks. Cheers, Peter > setxkbmap.c | 18 ++++++++++++++++-- > 1 files changed, 16 insertions(+), 2 deletions(-) > > diff --git a/setxkbmap.c b/setxkbmap.c > index 04c3fdf..88adea7 100644 > --- a/setxkbmap.c > +++ b/setxkbmap.c > @@ -186,6 +186,7 @@ FILE *findFileInPath(char *name); > Bool addStringToOptions(char *opt_str, list_t *opts); > char *stringFromOptions(char *orig, list_t *newOpts); > Bool applyConfig(char *name); > +XkbRF_RulesPtr tryLoadRules(char *name, char *locale, Bool wantDesc, Bool > wantRules); > Bool applyRules(void); > Bool applyComponentNames(void); > void printKeymap(void); > @@ -804,6 +805,19 @@ applyConfig(char *name) > return True; > } > > +XkbRF_RulesPtr > +tryLoadRules(char *name, char *locale, Bool wantDesc, Bool wantRules) > +{ > + XkbRF_RulesPtr rules = NULL; > + VMSG1(7, "Trying to load rules file %s...\n", name); > + rules = XkbRF_Load(name, locale, wantDesc, wantRules); > + if (rules) > + { > + VMSG(7, "Success.\n"); > + } > + return rules; > +} > + > /** > * If any of model, layout, variant or options is specified, then compile the > * options into the > @@ -839,7 +853,7 @@ applyRules(void) > > if (rfName[0] == '/') > { > - rules = XkbRF_Load(rfName, settings.locale.value, True, True); > + rules = tryLoadRules(rfName, settings.locale.value, True, True); > } > else > { > @@ -854,7 +868,7 @@ applyRules(void) > inclPath.item[i], rfName); > continue; > } > - rules = XkbRF_Load(buf, settings.locale.value, True, True); > + rules = tryLoadRules(buf, settings.locale.value, True, True); > } > } > if (!rules) > -- > 1.7.4 > > _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel