Home Handling Bluetooth Headphone Event with QmKeys in Harmattan

Handling Bluetooth Headphone Event with QmKeys in Harmattan

This Article Is from Qt ,Maemo and some other stuff
Currently I am working on upgrade of Audiobook reader bluetooth-headphone-event-with.html application. As part of upgrade I am planing to support bluthooth headset support. In this upgrade I am planning to support only play/pause event.
Harmattan has QmSystem Qt library that provide events for various system activity. I used QmKeys API from QmSystem to capture and handle handling-bluetooth-headphone-event-with.htm bluetooth headset event.
This is first time I am using QmSystem Library so I thought to put whatever I learned in blogpost in hope that it might help someone.
Following is my code to capture bluetooth headset event. It can be used to capture other system key event as well like Powekey, Volume key, Camera , keyboard slider and others.
First add qmsystem2 to CONFIG Qt project file.

CONFIG += qmsystem2

And also you need to include qmkeys.h.

#include <qmkeys.h>

. Then need to create instace of QmKeys and connect its keyEvent SIGNAL to our SLOT.

mQmkeys = new MeeGo::QmKeys(this);
connect(mQmkeys, SIGNAL(keyEvent(MeeGo::QmKeys::Key, MeeGo::QmKeys::State)),
       this, SLOT(keyEvent(MeeGo::QmKeys::Key, MeeGo::QmKeys::State)));

Now our slot keyEvent will get called when ever there is key event. I am instrested only in play/pause event so following code list only those event.

void HeadsetKeyListener::keyEvent(MeeGo::QmKeys::Key key,
    MeeGo::QmKeys::State state) {
    if( state != MeeGo::QmKeys::KeyDown ) {
        return;
    }
    switch( key) {
    case MeeGo::QmKeys::Play:
        emit playPauseClicked();
        break;
    case MeeGo::QmKeys::Pause:
        emit playPauseClicked();
        break;
    }
}

 
Source Qt ,Maemo and some other stuff

About ReadWrite’s Editorial Process

The ReadWrite Editorial policy involves closely monitoring the tech industry for major developments, new product launches, AI breakthroughs, video game releases and other newsworthy events. Editors assign relevant stories to staff writers or freelance contributors with expertise in each particular topic area. Before publication, articles go through a rigorous round of editing for accuracy, clarity, and to ensure adherence to ReadWrite's style guidelines.

Get the biggest tech headlines of the day delivered to your inbox

    By signing up, you agree to our Terms and Privacy Policy. Unsubscribe anytime.

    Tech News

    Explore the latest in tech with our Tech News. We cut through the noise for concise, relevant updates, keeping you informed about the rapidly evolving tech landscape with curated content that separates signal from noise.

    In-Depth Tech Stories

    Explore tech impact in In-Depth Stories. Narrative data journalism offers comprehensive analyses, revealing stories behind data. Understand industry trends for a deeper perspective on tech's intricate relationships with society.

    Expert Reviews

    Empower decisions with Expert Reviews, merging industry expertise and insightful analysis. Delve into tech intricacies, get the best deals, and stay ahead with our trustworthy guide to navigating the ever-changing tech market.