[sugar] [PATCH] remove non-contentious keyboard shortcuts

Eben Eliason eben.eliason at gmail.com
Sat Apr 26 11:31:18 EDT 2008


Hmmm, isn't this going to pose problems with emulation of Sugar?  When
testing, for instance, the only way I can activate the Frame is alt-F,
and alt-Q is the only way to release the display when closing the
emulator window.  Clearly alt-n and alt-p should go, since they are
redundant anyway.  The rotate shortcut certainly isn't needed on an
XO, but perhaps emulating the rotation would be useful for testing as
well.  Is there any way to map some of these keys when we detect
emulation, and not otherwise?

As much as ctrl-q makes sense to me personally, I suppose that there's
no sense in having redundancy there.  ctrl-escape is, at least,
semantically appropriate it seems.

Finally, it seems that the 'previous activity' shortcut should be
alt-shift-tab instead, which is consistent with the semantics defined
for the modifier keys.

- Eben


On Sat, Apr 26, 2008 at 11:10 AM, Martin Dengler
<martin at martindengler.com> wrote:
> Interpret Eben's reply to bemasc on #4646:
>
>  > > My primary concern is that activities be able to override and
>  > > deactivate shortcuts, for whatever bizarre uses they desire. Only
>  > > a handful of special keys should be trapped by Sugar, to ensure
>  > > minimal functionality like the ability to exit the activity.
>  >
>  > This is fair enough. The ability to override the defaults could be a
>  > reasonable option.
>
>  ...as:
>
>  1) NOT allowing removal of any keyboard shortcut involving a keyboard
>  key that has an XO-specific image/glyph (this reserves all the F-keys,
>  and the XO-only keys on the keyboard and monitor like search, overlay,
>  rotate, dpad, etc.) and/or are obviously required for minimal sugar
>  functionality (this reserves ctrl-esc for exit/quit activity and
>  alt-tab and ctrl-alt-tab for obvious window-switching features) - this
>  is all justified, IMHO, by eben agreeing with bemacs's
>  "only a handful of special keys should be trapped by sugar, to ensure
>  minimal functionality . . ."; and
>
>  2) allowing removal of any keyboard shortcut that is not required by
>  minimal sugar functionality - this is all justified both as the
>  converse of what eben's agreement with bemasc means and also as a
>  consequence of eben explictly not objecting to removing the Ctrl-O
>  shortcut ("I wouldn't be sad if [the ctrl-o/open] shortcut went away").
>
>  The only contentiousness I can possibly see (if I've interpreted
>  eben/bemasc sympathetically) with this patch is that non-XO users of
>  sugar could lose access to the functionality now only available with
>  the XO-only keys (e.g., rotate, overlay).  I argue 1) this is not a
>  concern for any deployment; and 2) this can easily be addressed by
>  choosing different, less likely-to-interfere shortcuts.  As I'm less
>  comfortable choosing these shortcuts and without these shortcuts all
>  deployments can still make full use of Sugar/XO, I will defer any
>  choice of these alternates to a different patch so this patch can
>  easily be cherry-picked.
>  ---
>   src/view/keyhandler.py |    7 -------
>   1 files changed, 0 insertions(+), 7 deletions(-)
>
>  diff --git a/src/view/keyhandler.py b/src/view/keyhandler.py
>  index 38f8a22..132eb7c 100644
>  --- a/src/view/keyhandler.py
>  +++ b/src/view/keyhandler.py
>  @@ -47,19 +47,12 @@ _actions_table = {
>      '<ctrl>F11'      : 'volume_min',
>      '<ctrl>F12'      : 'volume_max',
>      '<alt>1'         : 'screenshot',
>  -    '<alt>f'         : 'frame',
>      '0x93'           : 'frame',
>      '0xEB'           : 'rotate',
>  -    '<alt>r'         : 'rotate',
>  -    '<alt>q'         : 'quit_emulator',
>      '<alt>Tab'       : 'next_window',
>  -    '<alt>n'         : 'next_window',
>      '<ctrl><alt>Tab' : 'previous_window',
>  -    '<alt>p'         : 'previous_window',
>      '<ctrl>Escape'   : 'close_window',
>  -    '<ctrl>q'        : 'close_window',
>      '0xDC'           : 'open_search',
>  -    '<alt>s'         : 'say_text'
>   }
>
>   J_DBUS_SERVICE = 'org.laptop.Journal'
>  --
>  1.5.4.1
>
>  _______________________________________________
>  Sugar mailing list
>  Sugar at lists.laptop.org
>  http://lists.laptop.org/listinfo/sugar
>


More information about the Sugar mailing list