ShareMouse 实现原理

FrogView 2018-01-04 09:24:18
谁能说说ShareMouse这种软件的实现原理,越详细越好,准备自己做一个类似的
或者哪里有相关的源码,也可以分享一下,
万分感谢
...全文
822 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FrogView 2018-03-23
  • 打赏
  • 举报
回复
自己已实现此功能,主要是服务端用鼠标钩子和键盘钩子获取鼠标和键盘事件,然后发送到客户端,客户端根据事件指令调用底层的API触发相应的事件即可
在工作中,有一台笔记本和一台个人PC,个人PC的键盘鼠标都相当难用,遂希望能找到一个能让我使用笔记本键盘和鼠标能直接实时操作另一台PC的办法,不负所望,发现了synergy这款软件。这款软件的好处在于:它可以跨操作系统使用,只要你的多台电脑是通过网络连接,在同一个网段(不同网段没有试验过),并且支持TCP/IP协议,那都可以轻松实现多台电脑的共享。 synergy的优点:使用synergy就好像把多台电脑的显示器拼接成了一个加长的显示器组,如果有三台电脑(B,A,C)的显示器依次从左到右排开,假设A作为服务器,当鼠标离开显示器A的屏幕左边缘时,瞬间鼠标就进入了B的操作系统;如果鼠标焦点在C的操作系统中,那么对A的键盘和鼠标的控制效果就会在C的屏幕上准确的显示出来。当然,在这期间,另外两台电脑的键盘和鼠标也可以分别对自己的电脑做任何私有操作。可能唯一的不足是多台电脑不能分别互相使用对方的鼠标键盘吧(如果真这么设计,可能就超级乱套了)。还有一个优点是:可以实现共享你复制在剪贴板中的文本。至于是否还有其他优点,有待大家发掘了。 现在言归正传,来说说synergy的安装和使用过程: 下载软件页面请到:http://synergy-foss.org/download/ 是synergy的主站,其中对如何下载配置都有很详细的介绍,可惜是全英文的,而且对一些学习Linux的新手来说,介绍的不够细致,第一次配置的话会让你狠头痛。愿意自行查阅的,相信能得到很多比这里介绍的更详细的信息。 如果使用Windows操作系统,请在下载页面选择Binaries,然后下载SynergyInstaller-1.3.1.exe 如果是使用Linux操作系统,请在下载页面选择Sources,下载:synergy-1.3.1.tar.gz 其他操作系统的估计很少了吧,我也没测试过,就自行参见配置目录吧。 安装:软件需要在所有的主机和从机上都安装成功才行。 1. Windows版本的下载后直接安装即可。 2. Linux版本稍微复杂一点,需要下载的是源代码,然后自行解压,编译,安装。(注意,可能还有更简单的办法,不过本人对Linux也是初学,还没掌握,如果被你发现了低智商操作,请见谅!) 2.1 第一步,先对synergy-1.3.1.tar.gz解压(解压前请将文件路径指向压缩包的目录), 命令:tar xvzf synergy-1.3.1.tar.gz 该命令会在和源码文件夹的同一目录下解压该压缩包,解压目录为synergy-1.3.1。 2.2 编译:先将路径定位到synergy-1.3.1, 执行:./configure 看看编译需要的库文件是否都准备齐,执行后会有一系列提示。如果报错的话,缺什么你就去下什么吧,不会的,下载过程可以google或者baidu一下。 如果一切OK的话就执行:make 成功编译以后再进行安装即可,执行:sudo make install 配置: 这个就比较麻烦了,还是从简单的说起吧: 1. 两台PC都是Windows操作系统 2. 两台PC都是Linux操作系统 3. 主机是Windows,从机是Linux 4. 主机是Linux,从机是Windows 1. 双机Windows操作系统 1.1 配置主机: 主机选择“Share this computer's keyboard and mouse(server)”单选框 然后点击“Configure...” 在“Screens:”列表框中添加需要串联的所有计算机名称(不知道的自行查看:我的电脑/属性/计算机名/完整的计算机名称),如果我要链接的计算机有两台,名字分别是office-1(作为主机,放在左边)和office-2(摆在office-1的右边),就把他们全部添加到Screens列表里面(各人的计算机名不一样,大家根据自己的名字作替换就可以了)。 再然后在“Links:”里面定位这两台计算机的相对坐标。注意Links列表框的下面有三个用红色边框圈起来的下拉列表框,添加方式是在这三个列表框中设计计算机的相对位置(强烈提醒:相对位置有两个,请见我的说明),比如按照我的设计,我就要添加两条语句,分别为:office-1 is left of office-2 和 office-2 is right of office-1。至于如何添加的,大家自己在

18,124

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧