1

我正在修改 ConnectBot 以利用硬件键盘,我需要捕获所有 Ctrl-?压力机。我已禁用所有字母菜单快捷方式(例如用于复制的 Ctrl-C),但 onKey 事件似乎仍未收到按键。

我对 Android 开发相当陌生(实际上是从今天开始修复 ConnectBot 以处理硬件键盘),并且快速的 Google 搜索似乎没有发现任何关于捕获 Ctrl-?按键。

我如何告诉 Android 将这些直接传递给 onKey 处理程序?

4

1 回答 1

1

事实证明,keyCode 被设置为正确的字符值(例如'C')。但是,getUnicodeChar() 的结果为 0,因为 CTRL 被按住。

所需要的只是添加处理以获取 unicode 字符,而不管被按下的元键如何:

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

后来,有必要在正在发送的关键数据中对“CTRL 被按住”信息进行编码,这已经是 ConnectBot 代码提供的功能。

于 2012-09-09T07:05:57.593 回答