【问题标题】:Controlling Android keyboard without using touchscreen在不使用触摸屏的情况下控制 Android 键盘
【发布时间】:2013-11-07 17:08:56
【问题描述】:
我正在尝试开发一个由外部硬件信号控制的安卓键盘。触摸屏将无法工作。外部硬件将像 Windows 上的 TAB 键一样,在接收到单个信号时前进到下一个键盘键。连续的两个信号将是键的选择。
我一直在寻找 SoftKeyboard 示例,但不知道从哪里开始。
我在考虑这两个选项:
1) 创建一个基于 IME 的键盘,并添加一个光标,该光标会步进到屏幕上的每个键位置 (x, y)。
2) 创建一个基于android UI 的带有按钮的键盘。
有什么建议吗?您认为最佳做法是什么?
谢谢
【问题讨论】:
标签:
android
keyboard
key
touchscreen
【解决方案1】:
只需使用鼠标即可。将鼠标插入 USB 端口(可能需要适配器,具体取决于设备),鼠标就会神奇地出现。
如果您的设备充当 HID 键盘:在您的活动中覆盖 dispatchKeyEvent(KeyEvent event) 方法。
int id = event.getDeviceId();
if (id > 0) {
//Then the device is a physical keyboard
//Now you just have to decide what to do
}
从这个示例中可以看出,您会收到关键事件。从那里你可以决定做什么。一旦你确定了你想要触摸的东西的位置,你就可以使用活动的dispatchTouchEvent 发送一个事件。