android input子系统之-常用命令及技巧

Qt之 读取 /dev/input/event*设备 并解析 qt 读取/dev/input/event 设备,并解析数据 阅读详情

1).      getevent  :动态查看event输入事件
getevnet -l

getevent –h  (查看支持的参数,有时候借助不同的参数有很大帮助)

Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v[mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device]

getevent命令能获取数据,说明input驱动层OK,且Eventhub.cpp层也能获取到数据

getevent命令打印数据格式:type=%d, code=%d, value=%d

 

2).      dumpsysinput  可查看各个输入设备信息,包括设备对应的kl, kcm等信息,
以及当前指定的app信息
3).      catproc/bus/input/devices  查所有input device信息

       @EventHub.cpp –》new 首先new一个设备结构,然后存放上述设备的信 息

4).      catproc/bus/input/handlers 查看支持的所有handlers信息
5).      catsys/class/input/eventX/device/XX

eg:cat sys/class/input/event0/device/capabilities/key

6).      ll dev/input/  查看所有注册的input设备节点及它们的主,次设备号

crw-rw-rw- root    input     13,  64 2013-01-01 08:00 event0

crw-rw-rw- root     input    13,  65 2013-01-01 08:00 event1

7).      查看系统中存在的布局文件:

ls system/usr/keylayout  --》XX.kl文件

ls system/usr/keychars --》XX.kcm文件

ls system/usr/idc ??

 

8).      Input 调试命令

    input text <string>   eg:输入字符串 如:input textmy_string

    input keyevent <key code number orname> 

eg:模拟power键输入inputkeyevent KEYCODE_POWER 或 inputkeyevent 26

    input [touchscreen|touchpad] tap <x><y>

    input [touchscreen|touchpad] swipe<x1> <y1> <x2> <y2>

    input trackball press  //按下确认

input trackball roll <dx> <dy>

9).      logcat过滤信息 tag :WindowManager ,EventHub

系统拦截键值PhoneWindowManager.java-》interceptKeyBeforeDispatching函数

增加logcat信息 ,打印keycode ,scancode 等

PhoneWindowManager.java  : logcat -s WindowManager

interceptKeyBeforeQueueing(){

。。。。。。。

final int keyCode =event.getKeyCode();       

final int scanCode = event.getScanCode();

Log.e(TAG, "andy@----> keycode :" + event.keyCodeToString(keyCode) + " " + keyCode + " ,scanCode " + scanCode);

。。。。。

}

 

…………………………………………………………………………………………………………………………………………………

getevent 命令: (以音量+按键为例)

格式:type=%d, code=%d, value=%d

/dev/input/event0: 0001 0073 00000001   // 73 十六进制,对应十进制115 ,为scancode

/dev/input/event0: 0000 0000 00000000

/dev/input/event0: 0001 0073 00000000

/dev/input/event0: 0000 0000 00000000

 

对应的getevent –l 命令:

/dev/input/event0: EV_KEY       KEY_VOLUMEUP         DOWN              

/dev/input/event0: EV_SYN       SYN_REPORT           00000000            

/dev/input/event0: EV_KEY       KEY_VOLUMEUP         UP                 

/dev/input/event0: EV_SYN       SYN_REPORT           00000000 

其中KEY_VOLUMEUP为scancode 115的宏定义,要在getevent中显示这个红名字,需要在内核的input.h和JB\system\core\toolbox\getevent.c

 

通过/dev/input/event0 可找到对应的输入设备,看当前是使用的哪个设备,如红外还是RC遥控器等,对应dumpsys input信息,可以找到对应的kl文件

…………………………………………………………………………………………………………………………………………………

Linux 嵌入式驱动 INPUT 子系统:应用程序读取上报事件CPU占用率0%及read()出错 文章目录1. 应用程序读取上报事件CPU占用率0%1.1 问题描述1.2 现象分析1.3上报流程分析2. 应用程序接收上报事件read()出错2.1 问题描述2.2 操作背景2.3 解放方法2.4 问题分析 1. 应用程序读取上报事件CPU占用率0% 1.1 问题描述 考虑到应用程序使用 while(1) 循环 read() 上报事件,类似于普通按键实验,cpu 占用率拉满 并且在正点原子关于 input 子系统实验讲解中,有较多朋友提到 cpu 占用率高 加载驱动程序,后台运行测试程序,top 查看应用 阅读详情

相关推荐

Android Input子系统:Input进程的创建,监听线程的启动

今天分享的文章是来自小米的Cheeeelok同学,本文主要从系统源码的角度带你一步步了解Android Input子系统。今天是周六,不知道有多少同学周末还会看技术文章呢?觉得文章不错,可以打赏或转发,文章的打赏将归作者所有。 原文地址:https://zhuanlan.zhihu.com/p/29152319 从我个人的理解来看,Android的Input系统其实就是系统级的事件处理

技术视界 984

/dev/input/event0 键盘输入

在linux中读取键盘输入也是通过设备文件进行的, 如/dev/input/event0就对应的键盘输入,可是键盘一般是有编码的,读取的按键并不只对应一个码,而是对应一串,需要读入后,进行解析来决定当前按下的是哪个按键。 下面是简单的测试:

烟台 嵌入式产品开发 1万+

Android Input 子系统初探

在之前的内容中,我们提到了Input Device、Input Handler等名词,但还没有详细说明。本节将介绍Input子系统中的几个重要结构体,以便于后续的理解。

新程序圆 1201

Linux驱动之input输入子系统

输入子系统用于实现Linux系统输入设备(鼠标 键盘 触摸屏 游戏杆)驱动的一种框架。 输入子系统从下到上分为输入驱动层、输入核心层、输入事件处理层,最终给用户空间提供可访问的设备节点。

qq_53221728的博客 3960

Android Input——输入子系统(三)

Android 设备可以同时连接多个输入设备,如触摸屏、键盘、鼠标等。每当用户在任何一个设备上产生输入操作时,都会触发一个中断。这些中断经过 Linux 内核的中断处理机制以及相应的设备驱动程序转换为事件(Event),并最终传递给用户空间的应用程序进行处理。同时,每个输入设备都有其特定的驱动程序,数据接口也各不相同。要在单个线程(例如 InputReader Thread)中捕获所有用户的输入,Linux 内核的输入子系统发挥了关键作用。

小旭的专栏 1493

数仓 - 促销敏感度、评论敏感度

1. 促销敏感度 步骤1. 首先按照最后一次下单时间及有无复购情况将用户分为四大群体: 近一年有购物行为且复购的用户 -- L1 (今年复购用户) 近一年有购物行为但无复购的用户 --L2 (今年一单购用户) 最后一次下单时间在1年之前且有复购的用户 --L3 (今年无购且只有一单用户) 最后一次下单时间在1年之前但无复购的用户 -- L4 (今年无购多单用户) 步骤2. 每一类用户群再根据优惠订单占比、每单优惠金额占比的平均值、优惠金额这三个指标进行k-means聚类,分为: 非常敏感 -

weixin_41332009的博客 1899

input 子系统

先来了解什么是输入设备?常见的输入设备有键盘、 鼠标、 遥控杆、 书写板、 触摸屏等等,用户通过这些输入设备与 Linux 系统进行数据交换。什么是输入系统?输入设备种类繁多, 能否统一它们的接口?既在驱动层面统一, 也在应用程序层面统一?可以的。Linux 系统为了统一管理这些输入设备, 实现了一套能兼容所有输入设备的框架: 输入系统。驱动开发人员基于这套框架开发出程序, 应用开发人员就可以使用统一的 API 去使用设备。

weixin_48006170的博客 1926

SPI模式下的SD卡读写,为什么你的数据总出错?详解时序与状态机避坑指南

本文深入探讨SPI模式下SD卡读写数据出错的根本原因,提供时序优化与状态机设计的实战指南。针对时钟周期计数、状态机跳转和忙检测等核心问题,详解命令时序细节、状态机同步策略及高级避坑技巧,帮助开发者提升SD卡在SPI模式下的稳定性和性能。

weixin_30514745的博客 261

Android Input子系统浅谈

Android Input子系统浅谈本文主要讲解[Android Input 子系统][6],我会从一下几个方面讲解: linux kernel的input子系统框架 以触摸屏驱动为例讲解内核input子系统 Android framework层Input子系统的框架 Input子系统的应用程序接口 linux kernel的Input子系统框架

tiantangniaochao的博客 1669

银河麒麟V10离线环境下的Python项目迁移:从Windows依赖到ARM架构适配

本文详细介绍了在银河麒麟V10离线环境下将Python项目从Windows迁移到ARM架构的完整流程。重点讲解了离线安装pip、virtualenv等基础工具的方法,以及如何解决ARM架构兼容性问题,确保项目依赖正确迁移。文章还提供了常见问题解决方案和性能优化建议,帮助开发者顺利完成国产化平台适配工作。

weixin_42639246的博客 423

微信小程序scroll-view,点击menu,滚动到锚点;滚动到锚点,激活menu。

首先看看效果图1、首先是点击菜单,滚动列表,这个实现比较简单。直接使用scroll-view 的 scroll-into-view属性,小程序文档。&lt;view class='container'&gt; &lt;!-- 菜单 --&gt; &lt;view class='menu'&gt; &lt;ul&gt; &lt;!-- scrollList 修改cate --&g...

weixin_39834214的博客 1万+

高通安卓12-Input子系统

键值相关宏定义在:frameworks/base/core/java/android/view/KeyEvent.java。在/external/toybox/toys/android/sendevent.c)键值相关宏定义在:/usr/include/linux/input-event-codes.h。以上数据的格式为:/dev/input/event0: "事件类型" "参数位定义" "值"相关宏定义在:/usr/include/linux/input-event-codes.h。

Jun626的博客 1237

Ubuntu20.04配置PX4环境启动或编译jmavsim 出现的错误及解决办法

错误1:ant命令未找到

Iamsonice的博客 8856

android input子系统详解

Input子系统是一个庞大的系统,为了简单明了的介绍该系统,我们采用分模块以及倒序追踪的方式来一步步解开它的面纱。   一、java层事件传递过程                                  我们从这个button被点击来研究input子系统中事件的传递。 废话不多说,对button加一个OnTouchListener,在其onTouch方法上加一个断点,直接利用ec

5382

MITRE ATT&CK超详细学习笔记-01(背景,术语,案例)

MITRE是一个向美国政府提供系统工程、研究开发和信息技术支持的非营利性组织,于1958年从麻省理工学院林肯实验室分离出来后参与了许多最高机密的政府项目,开展了大量的网络安全实践。例如,MITRE公司在1999年发起了常见披露漏洞项目(CVE,CommonVulnera-bilitiesandExposures)并维护至今。其后,MITRE公司还维护了常见缺陷列表(CWE,CommonWeaknessEnumeration)这个安全漏洞词典。.........

Zichel77的博客 1万+

【LIN总线测试】——LIN主节点数据链路层测试

LIN总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。本章节主要介绍LIN主节点数据链路层如何测试?

测试领域技术分享 2613

input子系统整体框架

2.模块结构 下图是input输入子系统框架,输入子系统linux层由输入子系统核心层( Core层 ),驱动层和事件处理层(Event Handler)三部份组成。Android层操作input子系统由Native层、Java框架层、应用程序三部分组成。 图1: input输入子系统层次图     一个输入事件,如手指触摸,键盘按键按下,横竖屏转动等等通过 input driv

zjngogo的博客 3052

Android16 RK3576修改亮度调节为线性调节

文章摘要: 本文分析了Android系统中亮度调节的非线性问题,并提供了线性化改造方案。首先通过追踪Settings和SystemUI代码,发现亮度调节使用了BrightnessUtils类中的非线性Gamma空间转换算法。然后重点修改了BrightnessUtils类,将原有的Hybrid Log Gamma(HLG)算法替换为简单的线性映射公式。最后在自定义工具窗口中实现了基于系统标准接口的亮度调节功能,通过SeekBar的0-100%百分比值线性映射到1-255的系统亮度值。改造后的亮度调节更加直观,

tzj1058756809的博客 75

Android Input子系统 - kernel

上一节有展示Android Input子系统的架构图,这里我们关心Linux kernel层输入子系统设备驱动:处理与硬件相关的信息,调用input API注册输入设备,并把数据往上报输入子系统核心层:为事件处理层和设备驱动层提供API接口调用输入子系统事件处理:通过核心层的API获取输入事件上报的数据,定义input API与应用层交互。

Jimmy的专栏 898

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android Linux Input 子系统

本文系统分析了Linux内核及Android用户空间的Input子系统架构。内核部分剖析了Input子系统的目录结构、核心数据结构(如input_dev、input_event)以及硬件中断到用户空间的数据流(约16字节/事件)。Android部分展示了从内核事件经Native层(EventHub、InputReader/Dispatcher)到Java框架的多层处理管道,重点解析了事件数据结构转换链(16字节→24-40字节→MotionEvent对象)及"半零拷贝"优化。文章还对比了

zhilin_tang的专栏 1069

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android Input子系统介绍(一)

摘要:Android Input系统负责处理用户输入操作,支持触摸屏、键盘等多种外设。输入事件通过设备驱动转换为内核事件并写入/dev/input节点。系统核心组件包括EventHub(监控设备节点)、InputReader(获取事件)、InputDispatcher(分发事件)和InputManagerService(中央调度)。这些组件协作将硬件输入转换为上层应用可识别的KeyEvent或MotionEvent对象,完成从硬件到应用的完整输入流程。

lzz214的博客 539

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

input子系统详解

Input子系统详解 一.Input子系统架构 Linux系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动,下面是Input子系统架构: Input子系统架构 二.Input系统的组成 输入子系统由驱动层(Driver

ylyuanlu的专栏 2万+

Android Input子系统 -- Linux

前言上一节有展示Android Input子系统的架构图,这里我们关心Linux kernel层 可以看到kernel层分为三层: 输入子系统设备驱动:处理与硬件相关的信息,调用input API注册输入设备,并把数据往上报 输入子系统核心层:为事件处理层和设备驱动层提供API接口调用 输入子系统事件处理:通过核心层的API获取输入事件上报的数据,定义inpu...

zhangjie201412的专栏 618

android input输入子系统,input子系统

input 子系统框架input子系统由driver,input core, eventhandler 三部分组成。例如一个设备按键是通过driver——》inputcore——》eventhandler——》 userspace 的,具体每一部分的作用如下。driver 设备驱动层:负责和底层的硬件设备打交道,将底层硬件设备对用户输入的响应转换为标准的输入事件以后再向上发送给输入子系统核心层(I...

weixin_30899023的博客 656

【安卓12源码】Input子系统(1) - input启动流程

Android Input 体系中,大致有两种类型的事件:实体按键 key 事件,屏幕点击触摸事件。如果根据事件类型的不同我们还能细分为基础实体按键的 key(power,volume up/down,recents,back,home),实体键盘按键,屏幕点击 (多点,单点),屏幕滑动等等的事件。在 Android 整个 Input 体系中有三个格外重要的成员:Eventhub,InputReader,InputDispatcher。

mike_jun的博客 2588
上一篇: 工作笔记之-svn 常用技巧及命令总结
下一篇: android 5.0 64bit系统加载库文件失败问题浅析
杨毅
博客等级 码龄14年 26粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值