bool OnKeyAct(UIView &view, const KeyEvent &event) override;\r
\r
private:\r
- void OnKeyPress(void);\r
+ void OnKeyPress(const KeyEvent &event);\r
void OnKeyLongPress(const KeyEvent &event);\r
void OnKeyRelease(const KeyEvent &event);\r
void CallVolumeDipSwitchControl(VolumeChangeStatus status);\r
}
}
- void KeyInputListener::OnKeyPress()
+ void KeyInputListener::OnKeyPress(const KeyEvent &event)
{
pressFlag = 1; // 短按标志
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyPress: pressFlag = %d", pressFlag);
+ uint16 keyID = event.GetKeyId();
+ uint16_t currentViewId = NativeAbility::GetInstance().GetCurSliceId();
+ if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))
+ {
+ if (longPressFlag == 0 && pressFlag == 1)
+ {
+ HandlePowerKeyPress(currentViewId);
+ }
+ }
+ else if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_FUNC))
+ {
+ if (longPressFlag == 0 && pressFlag == 1)
+ {
+ HandleFuncKeyPress(currentViewId);
+ }
+ }
+ return;
}
void KeyInputListener::OnKeyLongPress(const KeyEvent &event)
uint16 keyID = event.GetKeyId();
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "OnKeyRelease: keyID = %d, currentViewId = %d, longPressFlag = %d, pressFlag = %d", keyID, currentViewId, longPressFlag, pressFlag);
-
+ #if 0
if (keyID == static_cast<uint16_t>(ZliteKeyCode::ZLITE_KEY_POWER))
{
if (longPressFlag == 0 && pressFlag == 1)
HandleFuncKeyPress(currentViewId);
}
}
+ #endif
// 重置标志
pressFlag = 0;
switch (state)
{
case InputDevice::STATE_PRESS:
- OnKeyPress();
+ OnKeyPress(event);
break;
#ifdef __LITEOS_M__
case InputDevice::STATE_LONG_PRESS: