FTxxxx系列------系统通过属性获取virtualkey

 之前我们知道如何在driver里定义好virtual key然后就可以了,那么framework里到底做了什么来获取virtualkey的信息的。慢慢来看

我们创建的节点是

root@ASUS_Z00L_63:/sys/board_properties # ls
virtualkeys.ft5x06_ts


这个东东哪里用了

./native/services/inputflinger/EventHub.cpp:    path.append("/sys/board_properties/virtualkeys.");


看看这个

status_t EventHub::loadVirtualKeyMapLocked(Device* device) {
    // The virtual key map is supplied by the kernel as a system board property file.
    String8 path;
    path.append("/sys/board_properties/virtualkeys.");
    path.append(device->identifier.name);
    if (access(path.string(), R_OK)) {
        return NAME_NOT_FOUND;
    }
    return VirtualKeyMap::load(path, &device->virtualKeyMap);
}

这个函数在

status_t EventHub::openDeviceLocked(const char *devicePath) {

if ((device->classes & INPUT_DEVICE_CLASS_TOUCH)) {
        // Load the virtual keys for the touch screen, if any.
        // We do this now so that we can make sure to load the keymap if necessary.
        status_t status = loadVirtualKeyMapLocked(device);
        if (!status) {
            device->classes |= INPUT_DEVICE_CLASS_KEYBOARD;
        }
    }

所以就是在一开始加载设备的时候就导入了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值