当前位置: 首页 > news >正文

长沙长沙网站建设wordpress阅读积分

长沙长沙网站建设,wordpress阅读积分,兰州做网站的公司,网站双机热备怎么做要求:主屏在左,副屏在右。这种排列情况下鼠标仅可通过主屏的最右侧移入副屏的最左侧,或从副屏的最左侧移入主屏最右侧。 1.RK默认设计 1.1 RK的代码设计是当sys.mouse.presentation1时,鼠标在屏幕边缘的时候就会移入另一个屏幕 …

要求:主屏在左,副屏在右。这种排列情况下鼠标仅可通过主屏的最右侧移入副屏的最左侧,或从副屏的最左侧移入主屏最右侧。

1.RK默认设计
1.1 RK的代码设计是当sys.mouse.presentation=1时,鼠标在屏幕边缘的时候就会移入另一个屏幕
  • frameworks/native/services/inputflinger/reader/mapper/CursorInputMapper.cpp
void CursorInputMapper::sync(nsecs_t when) {...if (mSource == AINPUT_SOURCE_MOUSE) {if (moved || scrolled || buttonsChanged) {mPointerController->setPresentation(PointerControllerInterface::PRESENTATION_POINTER);if (moved) {mPointerController->move(deltaX, deltaY);}if (buttonsChanged) {mPointerController->setButtonState(currentButtonState);}mPointerController->unfade(PointerControllerInterface::TRANSITION_IMMEDIATE);}mPointerController->getPosition(&xCursorPosition, &yCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, xCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, yCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_Y, deltaY);char mMousePresentation[PROPERTY_VALUE_MAX] = {0};property_get("sys.mouse.presentation", mMousePresentation, "0");if (strcmp(mMousePresentation, "1") == 0) {displayId = mDisplayId;float minX, minY, maxX, maxY;if (mPointerController->getBounds(&minX, &minY, &maxX, &maxY)) {// 如果鼠标位置在屏幕四周边缘,进入另外的屏幕,重新赋值displayIdif (xCursorPosition==minX||xCursorPosition==maxX||yCursorPosition==minY||yCursorPosition==maxY{displayId=getPolicy()->notifyDisplayIdChanged();mDisplayId=displayId;}}}else{displayId = mPointerController->getDisplayId();}} else {pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, deltaX);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, deltaY);displayId = ADISPLAY_ID_NONE;}
}
1.2 鼠标进入不同屏,默认居中显示
  • frameworks/base/libs/input/PointerController.cpp
void PointerController::setDisplayViewport(const DisplayViewport& viewport) {...// Reset cursor position to center if size or display changed.if (oldViewport.displayId != viewport.displayId|| oldDisplayWidth != newDisplayWidth|| oldDisplayHeight != newDisplayHeight) {float minX, minY, maxX, maxY;if (getBoundsLocked(&minX, &minY, &maxX, &maxY)) {mLocked.pointerX = (minX + maxX) * 0.5f;mLocked.pointerY = (minY + maxY) * 0.5f;// Reload icon resources for density may be changed.loadResourcesLocked();} else {mLocked.pointerX = 0;mLocked.pointerY = 0;}fadeOutAndReleaseAllSpotsLocked();} else if (oldViewport.orientation != viewport.orientation) {
}
2.修改鼠标进入方式

hdmi接入状态

  • /frameworks/base/services/core/java/com/android/server/WiredAccessoryManager.java
public Pair<Integer, Integer> parseState(ExtconInfo extconInfo, String status) {...if (status.contains("HDMI")){SystemProperties.set("hdmi.plugged", status.contains("HDMI=1") ? "1":"0");}
}
2.1 主屏在左,副屏在右边模式下修改鼠标进入方式
  • frameworks/native/services/inputflinger/reader/mapper/CursorInputMapper.cpp
void CursorInputMapper::sync(nsecs_t when) {...if (mSource == AINPUT_SOURCE_MOUSE) {if (moved || scrolled || buttonsChanged) {mPointerController->setPresentation(PointerControllerInterface::PRESENTATION_POINTER);if (moved) {mPointerController->move(deltaX, deltaY);}if (buttonsChanged) {mPointerController->setButtonState(currentButtonState);}mPointerController->unfade(PointerControllerInterface::TRANSITION_IMMEDIATE);}mPointerController->getPosition(&xCursorPosition, &yCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, xCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, yCursorPosition);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_Y, deltaY);char mMousePresentation[PROPERTY_VALUE_MAX] = {0};property_get("sys.mouse.presentation", mMousePresentation, "0");if (strcmp(mMousePresentation, "1") == 0) {//displayId = mDisplayId;char mHdmiPlugged[PROPERTY_VALUE_MAX] = {0};property_get("hdmi.plugged", mHdmiPlugged, "0");if (strcmp(mHdmiPlugged, "1") == 0){displayId = mDisplayId;} else {// 鼠标在副屏时,拔掉hdmi导致鼠标没有功能,强制id为主屏0displayId = 0;}  float minX, minY, maxX, maxY;if (mPointerController->getBounds(&minX, &minY, &maxX, &maxY)){// 鼠标在主屏屏幕右边缘位置,重新赋值displayId,位置改变if (displayId == 0 && xCursorPosition==maxX) {displayId=getPolicy()->notifyDisplayIdChanged();mDisplayId=displayId;// 设置鼠标在副屏左侧显示if ((strcmp(mHdmiPlugged, "1") == 0)){mPointerController->setPosition(minX+10, yCursorPosition);}}// 鼠标在副屏屏幕左边缘位置,重新赋值displayId,位置改变((主屏id默认为0,副屏id切换后递增))if (displayId != 0 && xCursorPosition==minX){displayId=getPolicy()->notifyDisplayIdChanged();mDisplayId=displayId;// 设置鼠标在主屏右侧显示mPointerController->setPosition(maxX-10, yCursorPosition);}} }else{displayId = mPointerController->getDisplayId();}} else {pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, deltaX);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, deltaY);displayId = ADISPLAY_ID_NONE;}
}
http://www.yayakq.cn/news/892786/

相关文章:

  • 做网站的准备什么360收录提交入口
  • 永康网站建设制作自助网站建设公司电话
  • 四川建设厅电话网站seo优化的作用
  • 辽宁住房和建设厅网站首页马云谈2025的房价3500
  • 网站建设分哪几种做业精灵官方网站
  • 西安建设高端网站网站中图片加水印
  • 网站源代码怎么下载厦门网站建设培训机构
  • 做标书要不要做网站电商平台设计包括哪些内容
  • 关于个人工作室网站模板dede换网站
  • .net 网站开发项目结构手机怎样建立网站
  • 威海网站建设排名榜嘉兴市做网站优化
  • 网站建设中 什么意思襄阳网站建设首选公司哪家好
  • 在线动画手机网站模板下载安装苏州app开发
  • 天津网站建设推广服务网站定制化开发
  • 企业手机建站系统青岛销售系统app开发
  • 一起做单网站怎么样门户网站建设工作总结
  • 长春网站优化方案如何自己建公司网站
  • 站长 网站对比十大软件公司
  • 干网站建设销售怎么样互联网怎么打广告推广
  • 网站备案容易通过吗旅游网站哪个做的好
  • 企业如何通过地方网站宣传网站网络营销的10个特点
  • 做网站获流量做网站实名认证有什么用
  • 生小孩去什么网站做登记wordpress支持建多个站点吗
  • wordpress课件站模板商城推广文案
  • 连云港网站优化方案云空间wordpress
  • 网站开发开源架构php 数据录入网站
  • 遵义市网站制作凡科网账号怎么注销
  • 岳阳县住房和城乡建设局网站自己做的网站怎么实现结算功能
  • 宁波外贸网站推广优化关键词优化难度分析
  • wordpress 主题 名站开封市住房和城乡建设局