问题描述
我正在为我的外部键盘外围设备构建一个应用程序,当 IMU 检测到单击时将打开 caps_lock 并在 IMU 检测到双击时打开 num_lock。
我能够很好地检测到点击,并且可以通过向终端打印确认来让手机做出响应。
我似乎无法做的是在外部键盘上触发 CAPS_LOCK 或 NUM_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);
dispatchKeyEvent(kd);
dispatchKeyEvent(ku);
}
其中 R.id.report
是文本字段。这种方法可以插入文字,但是无法让键盘响应锁定命令。
如果我在将键盘插入手机时按下键盘上的 caps lock 和 num lock 键,LED 会亮起,但在触发上述按键事件时,它们不会亮起。同样,我可以从键盘输入字符并将它们检测为 KeyboardEvents。
我可以直接通过代码设置这些值(大写锁定开/关,数字锁定开/关)吗?
明确地说,我需要键盘上的 LED 灯才能亮起来。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)