为 PC 实现虚拟键盘
Posted
技术标签:
【中文标题】为 PC 实现虚拟键盘【英文标题】:Implementing virtual keyboard for PC 【发布时间】:2014-03-28 09:31:17 【问题描述】:我将实现一个用于控制 PC 的 android 虚拟键盘。 这是我希望此应用程序如何工作的方案:
手机应用连接到电脑上正在运行的客户端。
用户按下手机上的按钮。
应用程序向客户端发送指示按下了哪个按钮的信号。
客户端处理应用信号(虚拟按下设计按钮)。
我知道我将使用的大部分课程,但是我对 PC 客户端处理来自电话的信号一无所知(第 4 步)。如果你能告诉我应该为那些“虚拟印刷机”使用哪些类/类,那就太好了。谢谢。
【问题讨论】:
【参考方案1】:如果手机连接到 PC 上,则运行在 PC 上的应用程序将是服务器而不是客户端。
从 Java 应用程序发送键盘事件并不容易(尽管这可能是可能的),用 C 或 C++ 做一个简单的服务器可能更容易(我假设你的 PC 是基于 Windows 的)。 Win32 API 有一个 SendInput 方法来生成键盘事件(例如:http://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/)。
android 应用程序和 PC 之间的通信可以依赖于简单的 TCP 套接字(UDP 也是一个有效的选项,但如果您开始进行网络编程,TCP 可能更容易处理并且使用更广泛)。在 C/C++ 服务器上,查看函数 socket、bind、listen、accept 和 recv。在 android 应用上,Socket 和 DataOutputStream 类应该可以完成这项工作。
【讨论】:
以上是关于为 PC 实现虚拟键盘的主要内容,如果未能解决你的问题,请参考以下文章