+#include namespace android {
+/* cjcheng add for hdmi on start */
+void hdmi_power_on(void)
+{
+ char hdmi_status[4];
+ property_get("persist.sys.output_mode", hdmi_status, NULL);
+ if (strcmp(hdmi_status, "2") == 0)
+ property_set("persist.sys.output_mode", "1");
+}
+/* cjcheng add for hdmi on start */
+
// USB鼠标按键唤醒HDMI
void CursorButtonAccumulator::process(const RawEvent* rawEvent) {
if (rawEvent->type == EV_KEY) {
switch (rawEvent->scanCode) {
case BTN_LEFT:
mBtnLeft = rawEvent->value;
break;
case BTN_RIGHT:
mBtnRight = rawEvent->value;
break;
case BTN_MIDDLE:
mBtnMiddle = rawEvent->value;
break;
case BTN_BACK:
mBtnBack = rawEvent->value;
break;
case BTN_SIDE:
mBtnSide = rawEvent->value;
break;
case BTN_FORWARD:
mBtnForward = rawEvent->value;
break;
case BTN_EXTRA:
mBtnExtra = rawEvent->value;
break;
case BTN_TASK:
mBtnTask = rawEvent->value;
break;
}
+ hdmi_power_on(); // cjcheng add for hdmi on
}
}
// USB鼠标移动唤醒HDMI
void CursorMotionAccumulator::process(const RawEvent* rawEvent) {
if (rawEvent->type == EV_REL) {
switch (rawEvent->scanCode) {
case REL_X:
mRelX = rawEvent->value;
break;
case REL_Y:
mRelY = rawEvent->value;
break;
}
+ hdmi_power_on(); // cjcheng add for hdmi on
}
}
// USB键盘唤醒HDMI
void KeyboardInputMapper::processKey(nsecs_t when, bool down, int32_t keyCode,
int32_t scanCode, uint32_t policyFlags) {
if (down) {
// Rotate key codes according to orientation if needed.
if (mParameters.orientationAware && mParameters.associatedDisplayId >= 0) {
keyCode = rotateKeyCode(keyCode, mOrientation);
}
+ hdmi_power_on(); // cjcheng add hdmi on
……
}
}
}