SuperIC社区_

标题: android中修改飞鼠按键 [打印本页]

作者: AlexWeng    时间: 2022-5-17 09:13
标题: android中修改飞鼠按键
以某客户的飞鼠为例,需要将MENU配好及File配成Source键。
首先,通过打印查看这两个按键的android  keycode。其中MENU为132,File为136。
其次,查看ics\frameworks\base\core\java\android\view\KeyEvent.java,可知:
public  static final int KEYCODE_MENU            = 82;
public static final int  KEYCODE_F2              = 132;
public static final int  KEYCODE_F6              = 136;
public static final int  KEYCODE_TV_INPUT        =  178;
即,此时MENU键在android中已经映射为KEYCODE_F2,File键映射为KEYCODE_F6。
最后,在TvApp中将所有出现KEYCODE_MENU 和KEYCODE_TV_INPUT的地方都加上KEYCODE_F2及KEYCODE_F6
比如tvsettingui中Atvmanualtuning.java.中:
public boolean onKeyDown(int keyCode, KeyEvent event)
{
            case  KeyEvent.KEYCODE_BACK:
             case KeyEvent.KEYCODE_MENU:
             case KeyEvent.KEYCODE_F2:
                 if  (ts.GetTsStatus() != TV_TS_STATUS.E_TS_NONE)
                  {
                     ts.atvSetManualTuningEnd();
                  }
                 intent.setClass(Atvmanualtuning.this, MainMenuActivity.class);
                  intent.putExtra("currentPage", 2);
                  startActivity(intent);
                 finish();
                  break;
}

关键在于理解KEYCODE_F2和KEYCODE_F2与其他按键是一样的,我们可以在任何onKey、onKeyDown、onKeyUp中去响应它们。
之前没反应,只是因为我们没有去定义这些键的行为而已。飞鼠上的大部分按键都是android本身就支持的,只有新增的电视上的
按键需要单独去配置,所以直接在TvApp中去添加按键响应即可。  





欢迎光临 SuperIC社区_ (/) Powered by Discuz! X3.3