[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xfree-i18n
Subject:    Re: [I18n]Re: setxkbmap ... -variant nodeadkeys broken?
From:       Ivan Pascal <pascal () info ! tsu ! ru>
Date:       2001-04-28 11:07:30
[Download RAW message or body]


> >  But if you call "setxkbmap no" immediately after
> >"setxkbmap no -variant nodeadkeys" it is equivalent to previous command.
> >Such error can occurs if you previously called setxkbmap (maybe for another
> >layout) with variant name that don't match to any section name from 'no'
> >symbols file.
> 
> Yes, that is the problem I'm seeing.  Is this considered a legit
> bug in setxkbmap or XFree86?  David?

  I consider it as bug of setxkbmap. It keeps all names (arguments) and tries
to reuse all these names in next calls. It can be usefull for 'model',
'layout', 'options' but not always for 'variant'.
  As I said 'variant' is only name of section in symbols file (as the chapter
in book) and become useless when layout (and so symbols) changed.
  But on the other hand reusing of variant usefull if one want to change
(for example) 'options' only.
  So the rule is simple - variant must not be reused without layout and
setxkbmap must to forget it if layout is changed.
  I can fix it soon.
(But there is one point - if layout was specified in setxkbmap call does
it mean that it is changed? Or it is changed when it really changed i.e.
not the same that saved from previous call?)

> What happens is our installer calls:
> 
> setxkbmap -model no
  Do you mean '-layout no'??

> when you choose "no", and if you click on our "Disable Deadkeys"
> option, it calls:
> 
> setxkbmap -model no -variant nodeadkeys
> 
> That works.  However if you then choose "Enable Deadkeys", it
> runs:
> 
> setxkbmap -model no
> 
> Which fails to re-enable deadkeys.
> 
> I've found using:
> 
> setxkbmap -model no -variant basic
> 
> works for some setups and not for others.
  Of course. It's the same problem - not all symbols file have 'basic'
section.

>  Basically there is no
> universal way of setting up keyboard variations IMHO, which makes
> it difficult to write a nice clean installer tool without special
> casing every random keyboard setup that exists right now.

  First of all we need to fix bug in setxkbmap.
  But as far as I understand your installer have 'enable/disable deadkeys
option' that separated from layout choosing. Is it right?
  If it's right - your installer allow to choose layout that have not
'nodeadkeys' variant and so you reproduce the same bug but in another
program.

  BTW you can make your installer more clever by using symbols.dir file
(in X11/xkb directory). This file is generated automaticaly at installation
time and contains list of all posible symbols/variant names.
Also it have strongly formalized format so is easy to parse.
  This file can help to figure out
- have specified simbols file 'nodeadkeys' section
- what section is default even its name isn't 'basic'.
  The problem is that it contain _symbols_ file names not _layout_ names.
Of course symbols names can be computed from layout names but it's the same
what setxkbmap do.

> >  There is only one right way - to write 'nodeadkeys' sections correctly.
> 
> Ok.  Is somene out there knowledgeable about this stuff
> interested in working on it?  I can clean up some of the stuff,
> but I do not use it, so it would be best done by someone
> experienced in these matters.
  I can say the same about me.
  I can find all missed deadkeys keysym and formaly change they to
corresponded 'non-dead' keysyms. But I'm not sure what 'nodeadkeys' mean
for all national keyboards.

  Maybe Pablo Saratxaga can help at least with keyboard description URL's.
-- 
 Ivan U. Pascal         |   e-mail: pascal@tsu.ru
   Administrator of     |   Tomsk State University
     University Network |       Tomsk, Russia
_______________________________________________
I18n mailing list
I18n@XFree86.Org
http://XFree86.Org/mailman/listinfo/i18n

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic