Fastmmi按键测试增加一个KEY

Fastmmi中如何增加一个测试按键

源码版本android7.1
基于qcom android7.1源码的fastmmi部分,源码中有按键测试部分,在此基础上增加自己需要的按键值。

1.代码修改文件input_listener_key.cpp

vendor/qcom/proprietary/fastmmi/mmi/input_listener_key.cpp
源码位置

bool input_listener_key::dispatch_event(input_event ev) {

    layout *lay = this->get_lay();
    char btn_name[64] = { 0 };

    __u16 type = ev.type;
    __u16 code = ev.code;
    __u32 value = ev.value;
    mod_ev_t modev;

    modev.mod = this->get_module();

    int down = ! !value;

    if(type == EV_KEY) {
        switch (code) {
        case KEY_BACK:
            strlcpy(btn_name, KEY_STR_BACK, sizeof(btn_name));
            break;

        case KEY_HOMEPAGE:
            ev.code = KEY_HOME; //change the code to KEY_HOMEPAGE
        case KEY_HOME:
            strlcpy(btn_name, KEY_STR_HOME, sizeof(btn_name));
            break;

        case KEY_MENU:
            strlcpy(btn_name, KEY_STR_MENU, sizeof(btn_name));
            break;
            //此处之后的代码省略了,增加的按键代码加在
            //case 中,如下增加按键1
         case 2:
            strlcpy(btn_name, KEY_STR_1, sizeof(btn_name));
            break;
        }
    }
}

增加代码

       case 2:
            strlcpy(btn_name, KEY_STR_1, sizeof(btn_name));
            break;

2.代码修改/common.h

vendor/qcom/proprietary/fastmmi/libmmi/common.h
中增加

#define KEY_STR_1 "1"

3.代码修改layout_key.xml

vendor/qcom/proprietary/fastmmi/res/layout/layout_key.xml

下增加如下代码,
name 是按键名
text 是代码中存储的按键名称
w_rel 是显示的宽度
h_rel 是显示的高度
x_rel 是x坐标
y_rel 是y坐标
color 显示的颜色

   

4.代码修改strings-zh-rCN.xml

使用的是中文,所以修改vendor/qcom/proprietary/fastmmi/res/values/strings-zh-rCN.xml
在按键相关处增加

    1

5.代码修改mmi.xml

vendor/qcom/proprietary/fastmmi/res/config/mmi.xml
android7.1配置test的文件是mmi.xml
一般mmi.xml中会有多个芯片的KEY设置,找到对应芯片处修改,或者把多处都修改一下。
parameter=“keys:volumeup,volumedown,power;timeout:10;”
中增加 1

        

你可能感兴趣的:(Android,Linux,Fastmmi)