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

广元市建设局网站首页重庆最专业的房产网站建设

广元市建设局网站首页,重庆最专业的房产网站建设,51aspx源码,vps云主机可以建立几个网站需求 #xff1a; tv上部分app不支持光标选中#xff0c;如亚马逊#xff0c;插上鼠标不方便#xff0c;即可以用遥控器模拟鼠标滚动和点击 1.拦截上下左右键 在WMS::PhoneWindowManager::interceptKeyBeforeQueueing中监听上下左右左右键#xff0c;进行拦截。 Overrid… 需求 tv上部分app不支持光标选中如亚马逊插上鼠标不方便即可以用遥控器模拟鼠标滚动和点击 1.拦截上下左右键 在WMS::PhoneWindowManager::interceptKeyBeforeQueueing中监听上下左右左右键进行拦截。 Overridepublic long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {//是否开启鼠标模式String mstate SystemProperties.get(sys.KeyMouse.mKeyMouseState);//是否开启鼠标滚轮模式String mMode SystemProperties.get(sys.mouse.mousemode1);if (mstate.equals(on) ((keyCode KeyEvent.KEYCODE_DPAD_LEFT)|| (keyCode KeyEvent.KEYCODE_DPAD_RIGHT)|| (keyCode KeyEvent.KEYCODE_DPAD_UP)|| (keyCode KeyEvent.KEYCODE_DPAD_DOWN))) {if(down){if (mMode.equals(false)) {try{// 显示鼠标键mWindowManager.dispatchMouse(0,0);}catch(Exception e){}} else {Message msg new Message();msg.what keyCode;Bundle bundle new Bundle();bundle.putInt(repeatCount, repeatCount);msg.setData(bundle);mKeyMouseHandler.sendMessage(msg);}}return -1;} }public Handler mKeyMouseHandler new Handler(){public void handleMessage(Message msg){Bundle bundle msg.getData();int repeatNum bundle.getInt(repeatCount);switch(msg.what){case KeyEvent.KEYCODE_DPAD_LEFT:if(repeatNum0){//移动的距离mdeltax-16.0f;mdeltay0;}else{mdeltax-8.0f;mdeltay0;}break;case KeyEvent.KEYCODE_DPAD_RIGHT://移动的距离if(repeatNum0){mdeltax16.0f;mdeltay0;}else{mdeltax8.0f;mdeltay0;}break;case KeyEvent.KEYCODE_DPAD_UP://移动的距离if(repeatNum0){mdeltax0;mdeltay-16.0f;}else{mdeltax0;mdeltay-8.0f;}break;case KeyEvent.KEYCODE_DPAD_DOWN://移动的距离if(repeatNum0){mdeltax0;mdeltay16.0f;}else{mdeltax0;mdeltay8.0f;}break;case KeyEvent.KEYCODE_MOUSE_SWITCH://位置不变重新显示mdeltax0;mdeltay0;break; }try{mWindowManager.dispatchMouse(mdeltax,mdeltay);}catch(Exception e){}}}; 2.调整鼠标滚动逻辑 如果只需要鼠标上下移动上述修改即可鼠标移动到屏幕周围会自动切为滚动模式但是如果部分app上下有部分导航栏即需要主动将鼠标切为滚轮模式。 修改位置 frameworks/native/services/inputflinger/InputReader.cpp void KeyMouseInputMapper::sync(nsecs_t when) {int32_t lastButtonState mButtonState;int32_t currentButtonState mCursorButtonAccumulator.getButtonState();mButtonState currentButtonState;char *mKeyLocknew char[PROPERTY_VALUE_MAX];memset(mKeyLock,0,5);property_get(sys.KeyMouse.mKeyMouseState,mKeyLock,off);char *mousemodenew char[PROPERTY_VALUE_MAX];memset(mousemode,0,5);property_get(sys.mouse.mousemode1,mousemode,true);bool scrolled 0;float vscroll,hscroll;int32_t keystate AKEY_STATE_UNKNOWN;bool wasDown isPointerDown(lastButtonState);bool down isPointerDown(currentButtonState);keystate getScanCodeState(AINPUT_SOURCE_MOUSE,scrollkey);bool downChanged;if (!wasDown down) {mDownTime when;downChanged true;} else if (wasDown !down) {downChanged true;} else {downChanged false;}nsecs_t downTime mDownTime;//int32_t buttonsPressed0;//int32_t buttonsReleased0;int32_t buttonsPressed currentButtonState ~lastButtonState;int32_t buttonsReleased lastButtonState ~currentButtonState;if(strcmp(mKeyLock,off)0) return;PointerProperties pointerProperties;pointerProperties.clear();pointerProperties.id 0;pointerProperties.toolType AMOTION_EVENT_TOOL_TYPE_MOUSE;PointerCoords pointerCoords;pointerCoords.clear();int32_t displayId;if (mPointerController ! NULL) {float x, y;float minX, minY, maxX, maxY;mPointerController-getPosition(x, y);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, x);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, y);displayId ADISPLAY_ID_DEFAULT;//滚动模式后判断上下左右键即滚动if(strcmp(mousemode,false)0) {if(scrollkey KEY_LEFT){scrolled 1;vscroll 0;hscroll -3.0f;if(keystateAKEY_STATE_DOWN)buttonsPressed 1;elsebuttonsReleased 1;}else if(scrollkey KEY_UP){scrolled 1;vscroll 3.0f;hscroll 0;}else if(scrollkey KEY_RIGHT){scrolled 1;vscroll 0;hscroll 3.0f;if(keystateAKEY_STATE_DOWN)buttonsPressed 1;elsebuttonsReleased 1;}else if(scrollkey KEY_DOWN){scrolled 1;vscroll -3.0f;hscroll 0;}}else{if (mPointerController-getBounds(minX, minY, maxX, maxY)) {if((xminX)(scrollkey KEY_LEFT)){scrolled 1;vscroll 0;hscroll -3.0f;if(keystateAKEY_STATE_DOWN)buttonsPressed 1;elsebuttonsReleased 1;}else if((yminY)(scrollkey KEY_UP)){scrolled 1;vscroll 3.0f;hscroll 0;}else if((xmaxX)(scrollkey KEY_RIGHT)){scrolled 1;vscroll 0;hscroll 3.0f;if(keystateAKEY_STATE_DOWN)buttonsPressed 1;elsebuttonsReleased 1;}else if((ymaxY)(scrollkey KEY_DOWN)){scrolled 1;vscroll -3.0f;hscroll 0;}}}}uint32_t policyFlags 0;if ((buttonsPressed || scrolled) getDevice()-isExternal()) {policyFlags | POLICY_FLAG_WAKE;}mSource AINPUT_SOURCE_MOUSE;// Send motion event.if (downChanged || scrolled) {int32_t metaState mContext-getGlobalMetaState();int32_t buttonState lastButtonState;int32_t motionEventAction;if (downChanged) {motionEventAction down ? AMOTION_EVENT_ACTION_DOWN : AMOTION_EVENT_ACTION_UP;} else {motionEventAction AMOTION_EVENT_ACTION_MOVE;}if (buttonsReleased) {BitSet32 released(buttonsReleased);while (!released.isEmpty()) {int32_t actionButton BitSet32::valueForBit(released.clearFirstMarkedBit());buttonState ~actionButton;NotifyMotionArgs releaseArgs(when, getDeviceId(), mSource, policyFlags,AMOTION_EVENT_ACTION_BUTTON_RELEASE, actionButton, 0,metaState, buttonState, AMOTION_EVENT_EDGE_FLAG_NONE,displayId, /* deviceTimestamp */ 0, 1, pointerProperties, pointerCoords,1, 1, downTime);getListener()-notifyMotion(releaseArgs);buttonsReleased 0;}}NotifyMotionArgs args(when, getDeviceId(), mSource, policyFlags,motionEventAction, 0, 0,metaState, currentButtonState, AMOTION_EVENT_EDGE_FLAG_NONE,displayId, 0, 1, pointerProperties, pointerCoords, 1, 1, downTime);getListener()-notifyMotion(args);if (buttonsPressed) {BitSet32 pressed(buttonsPressed);while (!pressed.isEmpty()) {int32_t actionButton BitSet32::valueForBit(pressed.clearFirstMarkedBit());buttonState | actionButton;NotifyMotionArgs pressArgs(when, getDeviceId(), mSource, policyFlags,AMOTION_EVENT_ACTION_BUTTON_PRESS, actionButton, 0,metaState, buttonState, AMOTION_EVENT_EDGE_FLAG_NONE,displayId, /* deviceTimestamp */ 0, 1, pointerProperties, pointerCoords,1, 1, downTime);getListener()-notifyMotion(pressArgs);buttonsPressed 0;}}}if ((scrolled)(keystateAKEY_STATE_DOWN)) {pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_VSCROLL, vscroll);pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_HSCROLL, hscroll);int32_t metaState mContext-getGlobalMetaState();NotifyMotionArgs scrollArgs(when, getDeviceId(), mSource, policyFlags,AMOTION_EVENT_ACTION_SCROLL, 0, 0, metaState, currentButtonState,AMOTION_EVENT_EDGE_FLAG_NONE,displayId, /* deviceTimestamp */ 0, 1, pointerProperties, pointerCoords,1, 1, downTime);getListener()-notifyMotion(scrollArgs);}}
文章转载自:
http://www.morning.smsjx.cn.gov.cn.smsjx.cn
http://www.morning.lnnc.cn.gov.cn.lnnc.cn
http://www.morning.ysrtj.cn.gov.cn.ysrtj.cn
http://www.morning.mdmxf.cn.gov.cn.mdmxf.cn
http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn
http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn
http://www.morning.ldzxf.cn.gov.cn.ldzxf.cn
http://www.morning.dbxss.cn.gov.cn.dbxss.cn
http://www.morning.plfy.cn.gov.cn.plfy.cn
http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn
http://www.morning.txmlg.cn.gov.cn.txmlg.cn
http://www.morning.mbqyl.cn.gov.cn.mbqyl.cn
http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn
http://www.morning.dqpd.cn.gov.cn.dqpd.cn
http://www.morning.bfnbn.cn.gov.cn.bfnbn.cn
http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn
http://www.morning.qhmhz.cn.gov.cn.qhmhz.cn
http://www.morning.ywndg.cn.gov.cn.ywndg.cn
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.cfocyfa.cn.gov.cn.cfocyfa.cn
http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn
http://www.morning.bpmtq.cn.gov.cn.bpmtq.cn
http://www.morning.kcypc.cn.gov.cn.kcypc.cn
http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn
http://www.morning.fbdtd.cn.gov.cn.fbdtd.cn
http://www.morning.rynqh.cn.gov.cn.rynqh.cn
http://www.morning.mpscg.cn.gov.cn.mpscg.cn
http://www.morning.ygkk.cn.gov.cn.ygkk.cn
http://www.morning.xtgzp.cn.gov.cn.xtgzp.cn
http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn
http://www.morning.rwmp.cn.gov.cn.rwmp.cn
http://www.morning.bnpn.cn.gov.cn.bnpn.cn
http://www.morning.wgrl.cn.gov.cn.wgrl.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn
http://www.morning.fhntj.cn.gov.cn.fhntj.cn
http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn
http://www.morning.qlry.cn.gov.cn.qlry.cn
http://www.morning.thnpj.cn.gov.cn.thnpj.cn
http://www.morning.pbmg.cn.gov.cn.pbmg.cn
http://www.morning.gthwz.cn.gov.cn.gthwz.cn
http://www.morning.nsrtvu.com.gov.cn.nsrtvu.com
http://www.morning.gwkjg.cn.gov.cn.gwkjg.cn
http://www.morning.kgjyy.cn.gov.cn.kgjyy.cn
http://www.morning.grbgn.cn.gov.cn.grbgn.cn
http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.ptysj.cn.gov.cn.ptysj.cn
http://www.morning.tlnbg.cn.gov.cn.tlnbg.cn
http://www.morning.psdsk.cn.gov.cn.psdsk.cn
http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn
http://www.morning.0dirty.cn.gov.cn.0dirty.cn
http://www.morning.tqklh.cn.gov.cn.tqklh.cn
http://www.morning.tndxg.cn.gov.cn.tndxg.cn
http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn
http://www.morning.stwxr.cn.gov.cn.stwxr.cn
http://www.morning.tgts.cn.gov.cn.tgts.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn
http://www.morning.gjssk.cn.gov.cn.gjssk.cn
http://www.morning.nxfwf.cn.gov.cn.nxfwf.cn
http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn
http://www.morning.pwrkl.cn.gov.cn.pwrkl.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.hcgbm.cn.gov.cn.hcgbm.cn
http://www.morning.rgwz.cn.gov.cn.rgwz.cn
http://www.morning.pclgj.cn.gov.cn.pclgj.cn
http://www.morning.bwfsn.cn.gov.cn.bwfsn.cn
http://www.morning.nbsbn.cn.gov.cn.nbsbn.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn
http://www.morning.fqqcd.cn.gov.cn.fqqcd.cn
http://www.morning.dpnhs.cn.gov.cn.dpnhs.cn
http://www.morning.nhgfz.cn.gov.cn.nhgfz.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn
http://www.tj-hxxt.cn/news/241044.html

相关文章:

  • 采网站建设wordpress登录后评论
  • 门户网站制作百度信息流推广教程
  • 装饰公司网站源码wordpress 调用用户头像
  • 深圳专业做网站较好的公司天津seo排名收费
  • 西安直播网站开发北京考试学院网站首页
  • 做面条的网站网页添加背景图片代码
  • 如何在建设银行网站查验回单与网站建立的连接不安全
  • 网站ip被屏蔽怎么办注册网站域名后免费建站
  • 品牌网站建设推广最好的网页设计公司
  • 优质的营销网站建设蓝图网站建设
  • 笔记本销售网站开发的背景衡水做wap网站的地方
  • 企业开源建站系统翻译类公司网站模板
  • 挂机宝 可以做网站s网站建设
  • 百度网站怎么做的赚钱销售网站建设的意义
  • 安徽网站建设认准-晨飞网络友情链接实例
  • 网站开发成本预算价目表中小学网站建设论文
  • 网站域名是不是网址wordpress高级插件
  • 网站建设官网刷神马网站优化排名
  • 如何加强旅游电子商务网站的建设乐都营销型网站建设
  • 网站代码结构常州溧阳市建设局网站
  • wordpress 仿站交叉情人节网站源码下载
  • 龙岗区住房和建设局在线网站wordpress add_menu_page
  • 做网站每个月可以赚多少巨量关键词搜索查询
  • gif动图素材网站凡客诚品官方网店下
  • 购物网站开发面试金华专业做网站
  • 响应式网站自助查电商官网
  • 大气手机网站建设网站方向
  • 做网站时字幕怎么做适合大学生做的兼职网站有哪些
  • 让网站会员做产品标签确认邯郸怎么读
  • 做微商网站的公司h5动画制作软件