On Wed, Mar 25, 2009 at 10:10 PM, Martin Dengler
<martin(a)martindengler.com> wrote:
On Sat, Mar 21, 2009 at 04:26:17AM +0530, Sayamindu Dasgupta wrote:
> [olpc set /etc/sysconfig/keyboard from OFW's data and had no UI for
> keyboard configuration]
We could just get rid of the keyboard configure GUI and have people
edit the file still (and automatically maintain it as you suggest).
The range of choices available in the config file is huge, and I'm not
sure what it really adds to give people a very limited UI.
But that will work only on the XO :-).
> In the long term, I believe Sugar should have its own keyboard
> configuration system, based on libxkb (or maybe libxklavier), and
> enable whatever keyboard(s) that is/are chosen by the user during
> startup. I believe Martin has been working on a control-panel item to
> make this work, and I would be glad to help with this.
Please help. All the code's at
http://git.sugarlabs.org/projects/sugar/repos/mtd-sugar/commits/a8b0f026f...
and forks are welcome :). I suppose the one advantage is we won't be
worse than GNOME if we just merge it as-is, but the code's
off-the-cuff and the UI has been "designed" by me so I don't think
we'll want to do that.
Ok - I'll take a look.
> As Martin points out, [writing our own X and console keyboard
config
> system] is going to be a pain, since there is virtually no way
> (AFAIK) to manipulate/query xkb stuff using Python - but this
> feature needs to be added.
When I said "it is going to be a pain" I should've said "it would be
a
sign of insanity" :) to create our own X and console keyboard
configuration system. wish there was something "upstream" to crib
from at least. Perhaps KDE has something? I was quite surprised to
find absolutely nothing but rhpl's hardcoded list[1].
I'm trying to implement a very basic python module for handling XKB
stuff. It is based on libxklavier[1], and can currently show the
layouts available, as well as the variants for each layout. I will put
this into Git as soon as I have figured out how to set the XKB
configuration as well.
libxklavier is Gobject based, but the standard PyGobject wrapping
stuff (h2def, etc) did not work for me, so I decided to do a
simplified module instead, which should take care of all our
requirements for the time being.
Thanks,
Sayamindu
[1]
http://freedesktop.org/wiki/Software/LibXklavier
--
Sayamindu Dasgupta
[
http://sayamindu.randomink.org/ramblings]