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

成都网站建设报价表wordpress数据库主机名

成都网站建设报价表,wordpress数据库主机名,seo综合查询是什么意思,网站添加百度地图导航Android 10-13鼠标右键返回功能适配 文章目录 Android 10-13鼠标右键返回功能适配一、前言二、鼠标右键适配修改1、Android 10 以及更低版本2、Android11 或者更高版本三、总结1、鼠标右键返回功能修改主要代码2、标右键返回修改代码系统源码搜索3、其他 一、前言 Android 原生…

Android 10-13鼠标右键返回功能适配

文章目录

  • Android 10-13鼠标右键返回功能适配
    • 一、前言
    • 二、鼠标右键适配修改
      • 1、Android 10 以及更低版本
      • 2、Android11 或者更高版本
      • 三、总结
      • 1、鼠标右键返回功能修改主要代码
      • 2、标右键返回修改代码系统源码搜索
      • 3、其他

一、前言

Android 原生代码代码中接入usb鼠标,点击右键,一般默认是没有反应的。
如果要鼠标点击右键设置成返回功能,就要适配系统代码。

一般Android板子调试初期没有触摸的情况,适配鼠标右键,是对操作使用是带来较大方便的。

本文介绍不同版本的Android 鼠标右键返回功能适配。

二、鼠标右键适配修改

1、Android 10 以及更低版本

Android 9、10 的修改位置:

frameworks\native\services\inputflinger\InputReader.cpp

uint32_t CursorButtonAccumulator::getButtonState() const {uint32_t result = 0;if (mBtnLeft) {result |= AMOTION_EVENT_BUTTON_PRIMARY;}// Mediatek Android Patch Begin// change the mouse key event, right->back, middle-> menu ....if (mBtnRight) {result |= AMOTION_EVENT_BUTTON_BACK; //右键返回功能}if (mBtnMiddle) {result |= AMOTION_EVENT_BUTTON_MENU; //中间按键菜单功能}。。。return result;
}

2、Android11 或者更高版本

Android 11或者更新的版本的修改位置:

frameworks\native\services\inputflinger\reader\mapper\accumulator\CursorButtonAccumulator.cpp

uint32_t CursorButtonAccumulator::getButtonState() const {uint32_t result = 0;if (mBtnLeft) {result |= AMOTION_EVENT_BUTTON_PRIMARY;}if (mBtnRight) {result |= AMOTION_EVENT_BUTTON_BACK;//change by liwenzhi}if (mBtnMiddle) {result |= AMOTION_EVENT_BUTTON_TERTIARY;}
。。return result;
}

RK Android12 方案的修改:

uint32_t CursorButtonAccumulator::getButtonState() const {uint32_t result = 0;if (mBtnLeft) {result |= AMOTION_EVENT_BUTTON_PRIMARY;}if (mBtnRight) {char targetProduct[PROPERTY_VALUE_MAX] = {0};//根据属性值 ro.target.product,决定鼠标右键是否为回退功能。property_get("ro.target.product", targetProduct, "");if (strcmp(targetProduct, "box") == 0 || strcmp(targetProduct, "atv") == 0 ) { //在括号)前面加一个条件 || strcmp(targetProduct, "tablet") == 0 即可result |= AMOTION_EVENT_BUTTON_BACK;} else {result |= AMOTION_EVENT_BUTTON_SECONDARY;}}
...
}

ro.target.product 属性大致是产品类型的意思,基本是固定的不会更改。

box 盒子,atv 电视机,tablet 平板, phone 手机

但是很多大屏设备其实是tablet

在rk方案设备获取ro.target.product属性可以得到验证:

130|rk3588_s_skg:/ $ getprop ro.target.product
tablet

rk 方案代码,加入上面判断逻辑,鼠标右键就会执行回退功能。

其实也可以自定义添加一个属性进行判断即可。

三、总结

其实不管什么方案或者版本只需 getButtonState 在点击右键的情况返回的键值是 AMOTION_EVENT_BUTTON_BACK 就会执行返回功能。

1、鼠标右键返回功能修改主要代码

路径:
Android11 之前
frameworks\native\services\inputflinger\InputReader.cpp

Android11及之后版本
frameworks\native\services\inputflinger\reader\mapper\accumulator\CursorButtonAccumulator.cpp

具体修改:

CursorButtonAccumulator::getButtonState() const {if (mBtnRight) {result |= AMOTION_EVENT_BUTTON_BACK;}return result;
}

2、标右键返回修改代码系统源码搜索

看上面不管哪个版本的源码都是在 getButtonState 方法中进行鼠标按键适配即可。

所以全局/framework 遍历CursorButtonAccumulator::getButtonState() 关键字即可找到需要修改的地方。

可以使用命令:grep -nr “CursorButtonAccumulator::getButtonState()”

release/framework$ grep -nr "CursorButtonAccumulator::getButtonState()"
./native/services/inputflinger/reader/mapper/accumulator/CursorButtonAccumulator.cpp:95:uint32_t CursorButtonAccumulator::getButtonState() const {

或者 find . -name “*.cpp” | xargs grep “CursorButtonAccumulator::getButtonState()”

release/frameworks$ find . -name "*.cpp" | xargs grep "CursorButtonAccumulator::getButtonState()"
./native/services/inputflinger/reader/mapper/accumulator/CursorButtonAccumulator.cpp:uint32_t CursorButtonAccumulator::getButtonState() const {
release/frameworks$ 

鼠标右键返回功能,基本是调试板初期获取大屏使用也有可能是特定需求,正常手机开发基本用不到。

3、其他

屏蔽鼠标右键滑动事件,添加鼠标右键Menu功能:

https://blog.csdn.net/u010664697/article/details/131071327

这个估计更少用,需要的可以参考。

http://www.yayakq.cn/news/765495/

相关文章:

  • 怎么做一个个人网页展示型网站一样做seo优化吗
  • 青岛网站建设市场分析向公司申请建设网站申请书
  • 网站注册模板信息技术 网站建设教案
  • 72建站网如何建设一个药材网站wordpress初级教程
  • 企业网站设计布局网站改版301设置
  • 网站制作技巧017如皋网站建设公司
  • 东莞网站推广哪里好wordpress 动态特效
  • 南平高速建设有限公司网站查手表的app哪个好用
  • 深圳建网站技术西宁网站建设报价ew君博贴心
  • 营销型企业网站建站asp网站开发模板
  • 网站备案最新备案号乐山网站营销推广哪家公司好
  • 网站设计策划书模板基本网络架构图
  • h5响应式网站源码下载全球跨境电商平台排名
  • 龙港做网页网站制作博罗做网站技术
  • 各位大哥给个网站我为本公司想建个网站
  • 网站建设h5贵阳做网站软件
  • python做电商网站赤峰城乡建设局网站
  • 4s店建设网站的目的丹徒建设网官方网站
  • 哈尔滨网站设计公司哪家更好怎么制作网站模板
  • 织梦做单页面网站太原招聘网站开发
  • 企业网站 下载设计网站最重要的是要有良好的
  • 酒店类网站建设开发书怎么在网站底部添加备案号
  • 各大电商购物网站转化率报表五莲网站建设维护推广
  • 门户网站有哪几个卖高仿名牌手表网站
  • 学校网站怎么做优化制作一个有用户网站
  • 做帮助手册的网站wordpress搜索页制作
  • 河间市做网站哈尔滨餐饮加盟网站建设
  • 自己能做网站吗做电力招聘的有哪些网站
  • 汕头市建设局造价信息网站南京cms建站
  • 什么源码做有趣的网站网上提供免费主页空间的网站