首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有可能将Android编程为物理USB键盘?

有没有可能将Android编程为物理USB键盘?
EN

Stack Overflow用户
提问于 2012-03-21 21:35:39
回答 8查看 126.2K关注 0票数 82

我真正想知道的是,这到底是硬件问题,还是软件问题。我可以通过USB将我的android手机连接到电脑上,让它充当硬件键盘吗?我不想在电脑上安装任何东西,我想让android的行为像标准硬件一样。

编辑:澄清我想为android编写一个程序/库,使设备能够完全模拟普通键盘,以便操作系统将其报告为标准键盘设备,并且它可以在BIOS或任何其他键盘工作的地方工作。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-12-18 05:15:37

我已经修改了Nexus7上的内核,使其像标准的HID键盘和鼠标一样工作,而不会丢失MTP/ADB/其他USB功能。

您可以使用usb-gadget-test命令行实用程序将击键和鼠标移动发送到PC。我想创建一个远程管理应用程序稍后,它将发送关键事件和接收摄像机的视频。

内核补丁、二进制文件和说明:https://github.com/pelya/android-keyboard-gadget

编辑:I've published a proper app to Google Play,如果你的Nexus7是根的,你可以直接从应用程序中刷新内核,并用它发送按键。

票数 44
EN

Stack Overflow用户

发布于 2012-03-21 22:01:49

大多数USB键盘都需要驱动程序才能运行。超出standard HID drivers功能范围的任何键盘功能(非标准按钮)都需要在计算机上安装一些软件。

也就是说,可以使用Android的USB capabilities,如果默认的HID还不够,也可以编写一个自定义的驱动程序来实现您的目标。这可能是一项非常重要的任务。

编辑:我认为KristopherMicinski是正确的,你用现有的Android USB API获得的控制级别不足以达到这个目的。在我看来,他的两个解决方案:修改固件以使用HID标准进行通信,以及将Android附件协议转换为HID的硬件中间人,这两种解决方案似乎都是有效的。如果在计算机上安装驱动程序是不可能的,这可能是唯一的两个选项。

但是,如果您愿意为此行为安装驱动程序,则应该可以编写一个自定义驱动程序,该驱动程序可以处理Android USB协议,并正确转换为键盘功能的正确调用/中断。如果内存正常,我在过去10年中使用的每个外设键盘都需要安装一个驱动程序才能实现完整的功能,所以这可能不是非标准行为。(虽然这种方法只允许设备在windows中充当键盘,而不是在引导过程中)

票数 14
EN

Stack Overflow用户

发布于 2012-09-28 12:29:55

看起来终于有人这么做了,有点丑陋--但它是这样的:

http://forum.xda-developers.com/showthread.php?t=1871281

它涉及到一些内核重新编译和一些编辑,您将失去部分功能( MDC?)。但它已经完成了。

但就我个人而言,现在我看到了“真正的成本”,我可能会在Teency或其他设备上安装一个小适配器-假设Android可以通过USB与串行设备通信。但这是基于这样一个事实,我有一台三星手机,而且无论如何都需要一根特殊的电缆才能连接USB --如果我不得不随身携带这条该死的电缆,那么在USB连接的一端有一个小设备也不会有额外的痛苦。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9805731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档