Hi,<br><br>I've found what I think is a better workaround for the Xephyr problem seen<br>running sugar-emulator, in which keyboard mappings are not inherited from<br>the main X server.<br><br>One workaround known so far is to go into the Terminal activity<br>
and run<br><br> setxkbmap us<br><br>(or whatever keyboard map & options you want). However, that doesn't fix all keys,<br>in particular it doesn't fix the arrow keys (at least for me). What does work<br>is to execute, in a host shell outside of the sugar emulator,<br>
<br> xkbcomp $DISPLAY :100<br><br>replacing :100 with the actual X display of the Xephyr X server;<br>$DISPLAY is of course the name of the encompassing X display in<br>which Xephyr runs as a client. This copies the XKB settings from<br>
the encompassing display to the display under Xephyr.<br><br>You have to run xkbcomp after having sent some keyboard events<br>to Xephyr -- if you do it before that, it seems not to work for some reason<br>that I don't understand well.<br>
<br>That leads me to a really hackish patch to:<br><br> sugar-jhbuild/source/sugar/bin/sugar-emulator<br><br>adding a -k option that does the xkbcomp to copy the XKB settings to<br>Xephyr before starting sugar. The most awkward bit is that I had to<br>
add code to put an ugly little window in the Xephyr server waiting for an<br>initial keystroke before calling xkbcomp. I know very little about X; maybe<br>someone can figure out how to avoid that bit.<br><br>If you use the patch, start sugar-emulator as follows:<br>
<br> $ ./sugar-jhbuild run sugar-emulator -k &<br><br>Briefly tested only under Fedora 11. Enjoy,<br><br>[1] <a href="http://dev.sugarlabs.org/ticket/342">http://dev.sugarlabs.org/ticket/342</a>