android HID添加(二)---www按键添加

在http://blog.csdn.net/cuityanxi/article/details/17916165 我有写出怎样添加一个标准的HID,实际应用中经常有些特殊的功能键要处理,譬如“www”(两年前自己有给客户加过),本文就针对“www”如何添加做一个详细的说明吧。

  这里我就假设大家已经看过http://blog.csdn.net/cuityanxi/article/details/17916165


1、控制台获取“www”的物理按键值:0x6A


2、查看/kernel/drivers/hid/hid-input.c,6A对于“195”

static const unsigned char hid_keyboard[256] = {
 0,  0,  0,  0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38,
50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44,  2,  3,
 4,  5,  6,  7,  8,  9, 10, 11, 28,  1, 14, 15, 57, 12, 13, 26,
27, 43, 43, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106,
105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71,
72, 73, 82, 83, 86,127,116,117,197,184,195,196,187,188,189,190,



3、编辑Generic.kl,增加

key 195   KEY_WWW


4、KeyEvent,java

       a、增加:public static final int KEYCODE_KEY_WWW         = 211;

       b、

              names.append(KEYCODE_CALCULATOR, "KEYCODE_CALCULATOR");
              names.append(KEYCODE_KEY_WWW, "KEYCODE_KEY_WWW");

       c、

    public final boolean dispatch(Callback receiver, DispatcherState state,
            Object target) {
        switch (mAction) {
            case ACTION_DOWN: {
              ...
                        //yanxi add start forQT163 HID input(www )
                        boolean res;
                      if(KEYCODE_KEY_WWW == mKeyCode)
                       {
                       if( ((META_SHIFT_RIGHT_ON | META_SHIFT_ON)&this.mMetaState) == (META_SHIFT_RIGHT_ON | META_SHIFT_ON)) 
                       {
                       mScanCode = 195;//.com key value define in generic.kl
     //this.mKeyCode = KEYCODE_POUND;//Mark to use generic.kcm define
     res = receiver.onKeyDown(mKeyCode, this);
     //Log.v("test3","mKeyCode:"+mKeyCode);                        
                     }                   
                      else 
                       {
       this.mKeyCode = KEYCODE_W;
       mScanCode = 17;//define in generic.kl
                       receiver.onKeyDown(mKeyCode, this);
receiver.onKeyDown(mKeyCode, this);
                       res = receiver.onKeyDown(mKeyCode, this);
                       }                        
                       }//yanxi add end for soniq QT163 HID input(www .com)
                        else
                  {
                  res = receiver.onKeyDown(mKeyCode, this);
                  }


                 


  5、/external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h

    

kKEY_WWW_ANPKeyCode  = 211,


 6、/frameworks/base/core/res/res/values/attrs.xml

      

  <enum name="KEYCODE_KEY_WWW" value="211" />



 7、frameworks/base/include/ui/KeycodeLabels.h

     

    { "KEY_WWW", 211 },    


 8、frameworks/base/native/include/android/keycodes.h

 

   AKEYCODE_KEY_WWW         = 211,


   


     完...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值