Summary: I updated <http://wiki.laptop.org/go/Enabling_XO_features_on_other_distributions> <http://wiki.laptop.org/go/Keyboard_shortcuts> and several other pages, but mysteries remain.
p...@laptop.org usefully responded: >> I have zero clue where to find the keymapping >> file or configuration utility. > > i just booted ubuntu to see how they do it -- turns out it's easy. > they use a program called "xbindkeys" to bind all of the "special" XO > keys. the configuration for that is in /home/olpc/.xbindkeysrc -- you'll > see an entry in there that invokes /usr/bin/rotate_screen.py. I added this to <http://wiki.laptop.org/go/Enabling_XO_features_on_other_distributions> Folks, this is the page where distros note their tweaks for the benefit of humanity. I think Sugar doesn't use that technique. The same page points to <http://dev.laptop.org/git?p=sugar;a=blob;f=src/jarabe/view/keyhandler.py;hb=HEAD> , but what hooks this code to keyboard events? BTW, keyhandler.py also lists some nifty undocumented equivalents for some of the XO's buttons and keys: # the following are intended for emulator users '<alt><shift>f' : 'frame', '<alt><shift>q' : 'quit_emulator', '<alt><shift>o' : 'open_search', '<alt><shift>r' : 'rotate', '<alt><shift>s' : 'say_text' and indeed, <alt><shift>f/o/r work on my XO in 8.2.0. I couldn't find any documentation for these, so I added them to the table in http://wiki.laptop.org/go/Keyboard_shortcuts and mentioned them in http://wiki.laptop.org/go/Emulating_the_XO/Help_and_tips#How_to Tomeu wrote > It's sugar who listens for the keycode 0xEB and asks xrandr to rotate > the screen. According to http://wiki.laptop.org/go/Ec_specification#KeyCodes_for_Buttons , the keycode for rotate are make=0x69, break=0xE9. How do these become 0xEB? I tried all the xkb* command-line programs to find the keymap, it seems that xmodmap -pk shows it. But it doesn't show anything relevant to the special buttons around the screen, I guess because they aren't part of the keyboard itself. The olpc keyboard mappings in /usr/share/X11/xkb/*/olpc do map several XO keys to keysyms, e.g. key <I147> { [ XF86TaskPane ] }; // frame key (the top-right key) but I think Sugar doesn't use the keysym, it looks directly for the key or its keystroke equivalent. It seems the olpc X11 keyboard mappings are to make the XO-1's keys mean something when running other desktop environments than Sugar. Keyboard handling is spread across lots of subsystems and pages, I'll improve them with any information I receive. -- =S _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel