input reader对virtual key的处理
来源:互联网 发布:风刑软件站 编辑:程序博客网 时间:2024/05/19 02:27
inputreader中对virtualkey的处理
在void TouchInputMapper::sync(nsecs_t when) 中有个
if (consumeRawTouches(when, policyFlags)) {
mCurrentRawPointerData.clear();
}
继续看bool TouchInputMapper::consumeRawTouches(nsecs_t when, uint32_t policyFlags)
里面有
1.dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_UP,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
| AKEY_EVENT_FLAG_CANCELED);
}
2.dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_UP,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
| AKEY_EVENT_FLAG_CANCELED);
}
3. dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_DOWN,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY);
看看void TouchInputMapper::dispatchVirtualKey(nsecs_t when, uint32_t policyFlags,
int32_t keyEventAction, int32_t keyEventFlags) {
int32_t keyCode = mCurrentVirtualKey.keyCode;
int32_t scanCode = mCurrentVirtualKey.scanCode;
nsecs_t downTime = mCurrentVirtualKey.downTime;
int32_t metaState = mContext->getGlobalMetaState();
policyFlags |= POLICY_FLAG_VIRTUAL;
NotifyKeyArgs args(when, getDeviceId(), AINPUT_SOURCE_KEYBOARD, policyFlags,
keyEventAction, keyEventFlags, keyCode, scanCode, metaState, downTime);
getListener()->notifyKey(&args);
}
最后还是用了 getListener()->notifyKey(&args)发送出去了,和void QueuedInputListener::flush()做的一样
在void TouchInputMapper::sync(nsecs_t when) 中有个
if (consumeRawTouches(when, policyFlags)) {
mCurrentRawPointerData.clear();
}
继续看bool TouchInputMapper::consumeRawTouches(nsecs_t when, uint32_t policyFlags)
里面有
1.dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_UP,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
| AKEY_EVENT_FLAG_CANCELED);
}
2.dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_UP,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY
| AKEY_EVENT_FLAG_CANCELED);
}
3. dispatchVirtualKey(when, policyFlags,
AKEY_EVENT_ACTION_DOWN,
AKEY_EVENT_FLAG_FROM_SYSTEM | AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY);
看看void TouchInputMapper::dispatchVirtualKey(nsecs_t when, uint32_t policyFlags,
int32_t keyEventAction, int32_t keyEventFlags) {
int32_t keyCode = mCurrentVirtualKey.keyCode;
int32_t scanCode = mCurrentVirtualKey.scanCode;
nsecs_t downTime = mCurrentVirtualKey.downTime;
int32_t metaState = mContext->getGlobalMetaState();
policyFlags |= POLICY_FLAG_VIRTUAL;
NotifyKeyArgs args(when, getDeviceId(), AINPUT_SOURCE_KEYBOARD, policyFlags,
keyEventAction, keyEventFlags, keyCode, scanCode, metaState, downTime);
getListener()->notifyKey(&args);
}
最后还是用了 getListener()->notifyKey(&args)发送出去了,和void QueuedInputListener::flush()做的一样
0 0
- input reader对virtual key的处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- Android tp的虚拟按键(virtual key)处理
- ft5x06的virtual key的实现
- 实现细节,hash对key为 null的处理,对重哈希的处理
- 回顾 android 1.6下的 virtual key
- 我对google reader的感情
- 对virtual关键字的思考
- input事件的处理
- input事件的处理
- Virtual-Key Codes
- Virtual-Key Codes
- keyboard Virtual-Key Codes
- 汇编语言 第三版 王爽 实验7 寻址方式在结构化数据访问中的应用
- [Flashback]Oracle flashback存储过程
- Oracle shutdown immediate无法关闭数据库解决方法
- java修改JPG图片DPI 不改变分辨率
- opencv 网址
- input reader对virtual key的处理
- Qualcomm MSM Camera Dtsi documentation
- TObject *Sender
- ubuntu deb安装包制作方法介绍
- 编写一个以C 语言为基础的DSP程序
- java加密算法非对称加密算法——数字信封 DH
- javascript提取顶级域名 js获取一级域名
- Android应用开发SharedPreferences存储数据的使用方法
- ASIHTTPRequest 详解, http 请求终结者