有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Android Java的硬件键盘上设置CAPS_LOCK和NUM_LOCK

我正在为我的外部键盘外设构建一个应用程序,当IMU检测到一次点击时,它将打开caps_lock,当IMU检测到两次点击时,它将打开num_lock

我能够很好地检测到敲击声,并且可以通过向终端打印确认信息来让手机做出响应

我似乎不能做的是触发外置键盘上的CAPS\u LOCK或NUM\u LOCK作为响应

我试过:

private void simulateKeyPress(int keyCode){
    BaseInputConnection mInputConnection = new BaseInputConnection( findViewById(R.id.report), true);
    KeyEvent kd = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
    KeyEvent ku = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
    mInputConnection.sendKeyEvent(kd);
    mInputConnection.sendKeyEvent(ku);
  }

private void simulateKeyPress2(int keyCode){
    KeyEvent kd = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
    KeyEvent ku = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
    dispatchKeyEvent(kd);
    dispatchKeyEvent(ku);
  }

其中R.id.report是一个文本字段。我可以用这种方法插入文本,但我无法让键盘响应锁定命令

当键盘插入手机时,如果我按键盘上的caps lock和num lock键,指示灯就会亮起,但如果触发了上述按键事件,则指示灯不会亮起。类似地,我可以从键盘输入字符,并将它们检测为键盘事件

我可以直接通过代码设置这些值(大写锁定开/关、num锁定开/关)吗

为了清楚起见,我需要键盘上的LED灯亮起


共 (0) 个答案