2012-09-09 35 views
1

我正在修改ConnectBot以利用硬件鍵盤,我需要捕獲所有Ctrl-?印刷機。我禁用了所有的字母菜單快捷鍵(例如Ctrl-C用於複製),但按鍵仍然沒有被onKey事件接收。捕獲所有Ctrl-?在Android

我對Android開發相當陌生(從字面上今天開始修復ConnectBot來處理硬件鍵盤)和快速谷歌搜索似乎沒有任何關於捕獲Ctrl-?按鍵。

如何讓Android將這些直接傳遞給onKey處理程序?

回答

1

事實證明keyCode被設置爲正確的字符值(例如'C')。但是,getUnicodeChar()的結果是0,因爲正在保持CTRL。

所有這一切都需要的是增加處理得到的Unicode字符不管正在舉行打倒元鍵:

if (event.isCtrlPressed()) 
    event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode); 

再後來就是必要的編碼「CTRL正在壓低「正在發送的關鍵數據中的信息,這已經是由ConnectBot代碼提供的功能。