【问题标题】:Capture all Ctrl-? under Android捕获所有 Ctrl-?安卓下
【发布时间】:2012-09-09 06:50:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: android keyboard-shortcuts hardware


    【解决方案1】:

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

    所需要的只是添加处理以获取 unicode 字符,而不考虑被按住的元键:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 2013-09-11
      • 1970-01-01
      • 2015-09-24
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2014-08-16
      相关资源
      最近更新 更多