====> project: frameworks/base diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 1469c715815..bb685873e7b 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -4287,8 +4287,19 @@ public class PhoneWindowManager implements WindowManagerPolicy { || event.isWakeKey(); //VaS, ignore event.isWakeKey() defined in KeyEvent.java - if("true".equals(SystemProperties.get("sys.passive.standby"))) + if("true".equals(SystemProperties.get("sys.passive.standby"))) { isWakeKey = (policyFlags & WindowManagerPolicy.FLAG_WAKE) != 0; + if(isWakeKey) { + if("true".equals(SystemProperties.get("sys.stb.passive.enter"))) { + if(keyCode == KeyEvent.KEYCODE_POWER) + SystemProperties.set("sys.stb.passive.on.reason", "power_key"); + else if (keyCode == KeyEvent.KEYCODE_SKB_FUNC_57) + SystemProperties.set("sys.stb.passive.on.reason", "netflix_key"); + else if (keyCode == KeyEvent.KEYCODE_SKB_FUNC_58) + SystemProperties.set("sys.stb.passive.on.reason", "bplay_key"); + } + } + } if (interactive || (isInjected && !isWakeKey)) { // When the device is interactive or the key is injected pass the ====> project: frameworks/native diff --git a/services/inputflinger/InputReader.cpp b/services/inputflinger/InputReader.cpp index 60d2526c7..56346303a 100644 --- a/services/inputflinger/InputReader.cpp +++ b/services/inputflinger/InputReader.cpp @@ -2429,7 +2429,7 @@ void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t scanCode, // each wake key individually. // TODO: Use the input device configuration to control this behavior more finely. if (down && getDevice()->isExternal() && !isMediaKey(keyCode)) { - if (keyCode == 26) //VaS, power wake only + if ((keyCode == AKEYCODE_POWER) || (keyCode == AKEYCODE_SKB_FUNC_57) || (keyCode == AKEYCODE_SKB_FUNC_58) ) //VaS, Power Key or Netflix key or bplay_key ; policyFlags |= POLICY_FLAG_WAKE; } ====> project: syna-release/boot diff --git a/bootloader/sm_rom/core/source/sm_ir.c b/bootloader/sm_rom/core/source/sm_ir.c index bb846a1..aba1be4 100644 --- a/bootloader/sm_rom/core/source/sm_ir.c +++ b/bootloader/sm_rom/core/source/sm_ir.c @@ -582,7 +582,9 @@ hresult mv_sm_process_key(unsigned int module_id, unsigned int key) /*FIXME*/ //VaS Jim, wake up only from power key, 0x8000200 - if ( (key & 0xFFFF) != MV_IR_KEY_POWER ) { + if ( ((key & 0xFFFF) != MV_IR_KEY_POWER) && + ((key & 0xFFFF) != MV_IR_KEY_SA02_NETFLIX) && + ((key & 0xFFFF) != MV_IR_KEY_SA02_OCEAN)) { //PRT_INFO("----- 0x%8x key hit in suspend state, ignore\n", key); break; }