From: GiWoong Kim Date: Mon, 9 Nov 2015 05:03:42 +0000 (+0900) Subject: hwkey: modified dual keycode handling for HW key X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~40^2~102 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=695ebdccf76d0abdad013dbd218bcf4b1cbbfccd;p=sdk%2Femulator%2Fqemu.git hwkey: modified dual keycode handling for HW key - hold down the HW key for up to 2 seconds: long press - under the 2 seconds: short press Change-Id: I7929bf1e53ddeb9c9ac86804cee62f7dc2eb1477 Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/ui/menu/contextmenu.cpp b/tizen/src/ui/menu/contextmenu.cpp index fa51376772..ad71007b27 100644 --- a/tizen/src/ui/menu/contextmenu.cpp +++ b/tizen/src/ui/menu/contextmenu.cpp @@ -52,19 +52,23 @@ ContextMenu::ContextMenu(QWidget *parent) : QMenu(parent) this->aboutDialog = NULL; this->screenshotDialog = NULL; - advancedMenu = NULL; - switchMenu = NULL; - scaleMenu = NULL; - controllerMenu = NULL; - - actionDetailedInfo = NULL; - actionTopMost = NULL; - actionShell = NULL; - actionControlPanel = NULL; - actionScreenShot = NULL; - actionAbout = NULL; - actionForceClose = NULL; - actionClose = NULL; + this->advancedMenu = NULL; + this->switchMenu = NULL; + this->scaleMenu = NULL; + this->controllerMenu = NULL; + + this->actionDetailedInfo = NULL; + this->actionTopMost = NULL; + this->actionShell = NULL; + this->actionControlPanel = NULL; + this->actionScreenShot = NULL; + this->actionAbout = NULL; + this->actionForceClose = NULL; + this->actionClose = NULL; + + this->switchMapper = NULL; + this->scaleMapper = NULL; + this->controllerMapper = NULL; vmName = this->parent->getUiInfo()->getVmName() + " : " + QString::number(get_device_serial_number()); diff --git a/tizen/src/ui/skinkeyitem.cpp b/tizen/src/ui/skinkeyitem.cpp index 3204eb6379..cae4c3a8af 100644 --- a/tizen/src/ui/skinkeyitem.cpp +++ b/tizen/src/ui/skinkeyitem.cpp @@ -84,6 +84,8 @@ void SkinKeyItem::mousePressEvent(QGraphicsSceneMouseEvent *event) } if (hwKey->hasLongPressKeycode() == true) { + qDebug() << "dual key pressed"; + /* long press checking first */ longPressTimer->start(); return; @@ -108,27 +110,39 @@ void SkinKeyItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) target, hwKey->getRect(), LayoutForm::normal)); } - int keycode = hwKey->getKeycode(); + const int keycode = hwKey->getKeycode(); if (hwKey->hasLongPressKeycode() == true) { if (longPressTimer->remainingTime() <= 0) { /* long press */ - keycode = hwKey->getKeycodeType()->getLongPressKeycode(); - qDebug() << hwKey->getName() << "key long pressed:" << keycode; + qDebug() << "dual key released"; + return; } else { /* short press */ longPressTimer->stop(); - qDebug() << hwKey->getName() << "key short pressed:" << keycode; + qDebug() << hwKey->getName() << "key short pressed:" << keycode; + do_hw_key_event(KEY_PRESSED, keycode); } - - do_hw_key_event(KEY_PRESSED, keycode); } qDebug() << hwKey->getName() << "key released:" << keycode; do_hw_key_event(KEY_RELEASED, keycode); } +void SkinKeyItem::longPressHook() +{ + /* long press detected */ + + if (hwKey->hasLongPressKeycode() == true) { + const int keycode = hwKey->getKeycodeType()->getLongPressKeycode(); + qDebug() << hwKey->getName() << "key long pressed:" << keycode; + do_hw_key_event(KEY_PRESSED, keycode); + qDebug() << hwKey->getName() << "key released:" << keycode; + do_hw_key_event(KEY_RELEASED, keycode); + } +} + /* override */ void SkinKeyItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { @@ -165,13 +179,6 @@ void SkinKeyItem::paint(QPainter *painter, } } -void SkinKeyItem::longPressHook() -{ - qDebug("key long press detected"); - - /* do nothing */ -} - SkinKeyItem::~SkinKeyItem() { if (longPressTimer) {