[Sugar-devel] Dbus signal when ebook switch is activated

Gonzalo Odiard gonzalo at laptop.org
Wed Oct 13 11:33:50 EDT 2010


I am trying to catch a event when the ebook switch in a XO-1.5 is activated
and read the switch state.
Using dbus-monitor I have found the signal emited, but the message does not
inform the switch state. It 's odd because send a array of booleans values,
but are always in False.
The signal is emited when the ebook switch or the lid switch are activated.
Simple test code:

[olpc at xo-a7-2b-49 ~]$ cat test-dbus.py
#!/usr/bin/env python

#def my_func(account, sender, message, conversation, flags):
def my_func(sender, message):
    print sender, "said:", message

import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SystemBus()

bus.add_signal_receiver(my_func,
                        dbus_interface="org.freedesktop.Hal.Device",
                        signal_name="PropertyModified")

loop = gobject.MainLoop()
loop.run()

I see this when activate the switchs:

[olpc at xo-a7-2b-49 ~]$ python test-dbus.py
1 said: dbus.Array([dbus.Struct((dbus.String(u'button.state.value'),
dbus.Boolean(False), dbus.Boolean(False)), signature=None)],
signature=dbus.Signature('(sbb)'))

I know I can read the switch state from
/proc/acpi/olpc-switch/ebook/EBK/state and /proc/acpi/button/lid/LID/state

The question is: the dbus message must send the state? i am doing anything
wrong?
Finally, there are a similar procedure to the XO-1?

I am doing all this to http://dev.laptop.org/ticket/10396

Thanks

Gonzalo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20101013/a473fc65/attachment.html>


More information about the Sugar-devel mailing list