[Sugar-devel] [PATCH] Touchpad icon: update for upstream kernel API

Sascha Silbe sascha-ml-reply-to-2011-4 at silbe.org
Mon Nov 28 08:51:50 EST 2011


Excerpts from Daniel Drake's message of 2011-11-25 21:10:04 +0100:

> The HGPK pentablet selection code has gone upstream, but with a
> different interface from the version included in previous OLPC kernels.
> The interface is now:
> 
>     echo -n pentablet > hgpk_mode
> 
> Port the touchpad icon to this new API.

You're doing more than this. The additional changes are fine, but should
be mentioned.

> Compatibility with the old non-upstream API has been dropped; I don't
> anticipate users running this new sugar with an old kernel.

FWIW, I'm still running a 2.6.35 kernel on my XO-1 (but Sugar from
sugar-jhbuild, i.e. mainline/master). Not sure if anyone who cares about
this Frame device icon does, though.


[extensions/deviceicon/touchpad.py]
> @@ -31,19 +31,15 @@ from sugar.graphics import style
>  
>  from jarabe.frame.frameinvoker import FrameWidgetInvoker
>  
> -TOUCHPAD_MODE_CAPACITIVE = 'capacitive'
> -TOUCHPAD_MODE_RESISTIVE = 'resistive'
> -TOUCHPAD_MODES = [TOUCHPAD_MODE_CAPACITIVE, TOUCHPAD_MODE_RESISTIVE]
> -STATUS_TEXT = {
> -    TOUCHPAD_MODE_CAPACITIVE: _('finger'),
> -    TOUCHPAD_MODE_RESISTIVE: _('stylus'),
> -}
> -STATUS_ICON = {
> -    TOUCHPAD_MODE_CAPACITIVE: 'touchpad-' + TOUCHPAD_MODE_CAPACITIVE,
> -    TOUCHPAD_MODE_RESISTIVE: 'touchpad-' + TOUCHPAD_MODE_RESISTIVE,
> -}

> +TOUCHPAD_MODE_MOUSE = 'mouse'
> +TOUCHPAD_MODE_PENTABLET = 'pentablet'

Do we need these as individual constants? I don't see them used anywhere
except when defining TOUCHPAD_MODES and since we seem to change the name
of the constants any time the content changes, I see no reason to use
them at all. Especially since we don't do the same for STATUS_TEXT and
STATUS_ICON:


> +TOUCHPAD_MODES = (TOUCHPAD_MODE_MOUSE, TOUCHPAD_MODE_PENTABLET)
> +STATUS_TEXT = (_('finger'), _('stylus'))
> +STATUS_ICON = ('touchpad-capacitive', 'touchpad-resistive')


[...]
> +def _read_touchpad_mode():
> +    """ Read the touchpad mode and return the mode indice. """

Typo: s/indice/index/


> +    mode_str = _read_touchpad_mode_str()
> +    if not mode_str in TOUCHPAD_MODES:
> +        return None
> +    return TOUCHPAD_MODES.index(mode_str)

I find "if a not in b" easier to read than "if not a in b"; YMMV.


[...]
> +def _write_touchpad_mode(mode_num):
> +    """ Look up the mode (by indice) and write to node path. """

See above (indice).

Sascha

-- 
http://sascha.silbe.org/
http://www.infra-silbe.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20111128/48e921c1/attachment.pgp>


More information about the Sugar-devel mailing list