maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   Python/gtk/hildon: zoom buttons (https://talk.maemo.org/showthread.php?t=58503)

antoarts 2010-07-15 10:03

Python/gtk/hildon: zoom buttons
 
Anyone have any ideas on how to access the N900's zoom buttons using python (without Qt, but with hildon and gtk). I have this far only found ways to do it in C/C++...

Help greatly appreciated :)

dannym 2010-07-15 19:42

Re: Python/gtk/hildon: zoom buttons
 
See http://talk.maemo.org/showthread.php...t=headset+dbus
In short:
bus = dbus.SystemBus()

headset = bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/devices/platform_retu_headset_logicaldev_input')
headset_iface = dbus.Interface(headset, dbus_interface='org.freedesktop.Hal.Device')
headset_iface.connect_to_signal("Condition", handler)

http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Porting_Existing_GTK%2B_Application_to_Maemo_5

"Enabling volume/zoom keys"

qwerty12 2010-07-15 20:25

Re: Python/gtk/hildon: zoom buttons
 
Code:

import gtk
import hildon

def enable_zoom_cb(window):
        window.window.property_change(gtk.gdk.atom_intern("_HILDON_ZOOM_KEY_ATOM"), gtk.gdk.atom_intern("INTEGER"), 32, gtk.gdk.PROP_MODE_REPLACE, [1]);

def enable_zoom_keys(window):
        if window.flags() & gtk.REALIZED:
                enable_zoom_cb(window)
        else:
                window.connect("realize", enable_zoom_cb)


def key_press_handler(widget, event):
        if event.keyval in [hildon.KEY_DECREASE, hildon.KEY_INCREASE]:
                hildon.hildon_banner_show_information(widget, "None", "A zoom key hit")
                return True
        return False

window = hildon.Window()
enable_zoom_keys(window)
window.connect("key-press-event", key_press_handler)
window.show_all()
gtk.main()



All times are GMT. The time now is 14:39.

vBulletin® Version 3.8.8