[Sugar-devel] XO-1 keyboard issues, partial setxkbmap workaround

Sayamindu Dasgupta sayamindu at gmail.com
Wed Mar 25 17:53:39 EDT 2009

On Wed, Mar 25, 2009 at 10:10 PM, Martin Dengler
<martin at 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/a8b0f026f21b4789b8c250764cb962eb06389189
> 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.


[1] http://freedesktop.org/wiki/Software/LibXklavier
Sayamindu Dasgupta

More information about the Sugar-devel mailing list