View Single Post
somebody's Avatar
Posts: 128 | Thanked: 487 times | Joined on Oct 2010 @ Novosibirsk, Russia
#8
Originally Posted by neboja View Post
WOW! HOW did you get a hardware +/- buttons to change default behavior????????????
Code:
#define MM_KEY_UP (73)
#define MM_KEY_DOWN (74)

....
// This connects application to D-Bus event from zoom keys

QDBusConnection::systemBus().connect(QString(), QString(),                 "com.nokia.tklock.signal", "mm_key_press", this, SLOT(_zoom_keys_handler(quint32,quint32)));

....

void DBusClient::_zoom_keys_handler(quint32 code, quint32 /*ignored*/) {
	emit zoomKeyPressed(code);
}

...

if (code == MM_KEY_DOWN) {
    if (behavior == "track") {
        _player_form->next();
        _dbus_client.setVolume(_system_volume);
    }
} else if (code == MM_KEY_UP) {
    if (behavior == "track") {
        _player_form->prev();
        _dbus_client.setVolume(_system_volume);
    }
}
And every 60 seconds we have to unlock zoom keys:
Code:
_unpause_keys_message = QDBusMessage::createMethodCall("com.nokia.mce", "/com/nokia/mce/request", "com.nokia.mce.request", "req_keypad_off_pause");

....

void DBusClient::_unpause_keys() {
	QDBusConnection::systemBus().call(_unpause_keys_message);
}

Last edited by somebody; 2011-02-27 at 14:56.
 

The Following 14 Users Say Thank You to somebody For This Useful Post: