android hdmi开关,android4.0 系统层hdmi开关

这段代码展示了如何通过USB鼠标按键和移动以及USB键盘来唤醒HDMI显示。当检测到USB鼠标按键事件或移动,以及USB键盘输入时,会调用`hdmi_power_on()`函数,将`persist.sys.output_mode`属性设置为开启HDMI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

+#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

……

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值