CN114153321A - 一种虚拟键盘和鼠标实现远程控制的方法 - Google Patents
一种虚拟键盘和鼠标实现远程控制的方法 Download PDFInfo
- Publication number
- CN114153321A CN114153321A CN202111245332.2A CN202111245332A CN114153321A CN 114153321 A CN114153321 A CN 114153321A CN 202111245332 A CN202111245332 A CN 202111245332A CN 114153321 A CN114153321 A CN 114153321A
- Authority
- CN
- China
- Prior art keywords
- mouse
- keyboard
- event
- local computer
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000013459 approach Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03543—Mice or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种虚拟键盘和鼠标实现远程控制的方法,首先通过网络将本地计算机与远端设备进行连接;其次通过本地计算机操作系统的输入子系统捕获在本地计算机连接的键盘和鼠标事件,并将键盘和鼠标事件进行打包通过网络协议方式发送给远端设备;最后在远端设备上虚拟键盘鼠标事件设备,同时将所述键盘和鼠标事件写入上报,实现通过本地计算机键盘和鼠标来操作远端设备。本发明能够通过本地计算机键盘和鼠标来操作远端设备。
Description
技术领域
本发明涉及远程控制的技术领域,具体涉及一种虚拟键盘和鼠标实现远程控制的方法。
背景技术
传统应用中,在实际使用场景下会经常出现通过一套键盘和鼠标设备操作多台计算机的情况,这种场景可以使用KVM(Keyboard Video Mouse)的硬件切换的方式实现,但是这种方式需要硬件上进行连接且需要额外增加KVM设备,灵活性很低,成本也会比较高。
发明内容
有鉴于此,本发明提供了一种虚拟键盘和鼠标实现远程控制的方法,能够通过本地计算机键盘和鼠标来操作远端设备。
本发明采用的技术方案如下:
一种虚拟键盘和鼠标实现远程控制的方法,所述方法步骤如下:
步骤一,通过网络将本地计算机与远端设备进行连接;
步骤二,通过本地计算机操作系统的输入子系统捕获在本地计算机连接的键盘和鼠标事件,并将键盘和鼠标事件进行打包通过网络协议方式发送给远端设备;
步骤三,在远端设备上虚拟键盘鼠标事件设备,同时将所述键盘和鼠标事件写入上报,实现通过本地计算机键盘和鼠标来操作远端设备。
进一步地,所述步骤一的连接方式具体为:
步骤101,将本地计算机和远端设备通过以太网进行物理连接;
步骤102,通过编写套接字的方式来建立本地计算机和远端设备的网络通信。
进一步地,所述步骤二中网络协议方式为UDP或者TCP方式。
进一步地,所述步骤二还包括:通过编写键盘鼠标监测程序对键盘鼠标输入进行监测。
进一步地,监测的设备对应操作系统内的相应文件,所述监测方法具体为:
分别打开键盘和鼠标对应的文件,获取设备句柄;监测到有设备输入后由所述监测程序判断事件类型是键盘事件还是鼠标事件、鼠标左右按键以及按下抬起操作,同时获取对应的事件结构体,并将所述事件结构体发送给远端设备。
进一步地,所述事件结构体包括:事件发生时间、事件类型、键盘鼠标事件所对应的码值以及鼠标事件按键或键盘事件按键的按键值。
进一步地,所述本地计算机为触摸屏设备,操作系统的输入子系统捕获触摸屏信息,将触摸事件转换为鼠标事件发送。
进一步地,所述监测方法还包括:事件类型为鼠标事件时,进一步判断是物理鼠标还是触摸屏。
进一步地,所述步骤三通过远端设备虚拟程序对接收到键盘和鼠标事件进行响应。
进一步地,所述远端设备虚拟程序的具体操作为:
通过远端设备的输入子系统虚拟出键盘鼠标事件设备,将键盘鼠标设备打开,获得设备句柄;然后设置鼠标按键坐标事件,将远端设备解析后的事件写入对应的输入子系统所虚拟出的键盘鼠标事件设备中;并同步上报给自身操作系统。
有益效果:
本发明避免了额外增加KVM设备,利用本地计算机键盘和鼠标来操作远端设备,通过网络通信远程操控的方式即可实现一套键盘和鼠标设备操作多台计算机,灵活性高、成本低。
具体实施方式
下面举实施例,对本发明进行详细描述。
本发明提供了一种虚拟键盘和鼠标实现远程控制的方法,通过网络将本地计算机与远端的设备进行连接;通过本地计算机操作系统的输入子系统捕获在本地计算机连接的键盘和鼠标事件,并将键盘和鼠标事件进行打包通过用户数据报协议UDP(User DatagramProtocol)或者传输控制协议TCP(Transmission Control Protocol)的网络协议方式发送给远端设备;在远端设备上虚拟键盘鼠标事件设备,同时将该键盘和鼠标事件写入上报,实现通过本地计算机键盘和鼠标来操作远端设备。
方法具体步骤如下:
步骤一,将本地计算机和远端设备通过以太网进行物理连接;
步骤二,通过编写套接字的方式来建立本地计算机和远端设备的网络通信。
步骤三,通过编写键盘鼠标监测程序对键盘鼠标输入进行监测。监测的设备对应操作系统内的相应文件,本实施例中本地计算机的操作系统采用linux系统。监测的设备对应linux系统下/dev/input/eventX(事件文件路径),其中,eventX对应键盘鼠标事件设备中的事件设备。
首先通过open的方式分别打开键盘和鼠标对应的eventX设备获取设备句柄。监测到有设备输入后由键盘鼠标监测程序判断事件类型是键盘事件还是鼠标事件、鼠标左右按键及按下抬起操作,同时获取对应的事件结构体,并通过步骤二中的方式将事件结构体发送给远端设备。
事件结构体包括:事件发生时间、事件类型、键盘鼠标事件所对应的码值以及鼠标事件按键或键盘事件按键的按键值。本实施例中鼠标键盘事件通过以下结构体发送:
struct input_event{
struct timeval time; //记录事件发生时间
__u16 type;//事件类型
__u16 code;//键盘鼠标事件所对应的码值
__s32 value;//鼠标事件按键或键盘事件按键的按键值
}。
步骤四,通过远端设备虚拟程序对接收到键盘和鼠标事件进行响应和系统上报。首先通过input输入子系统虚拟出键盘鼠标事件设备,通过open将设备打开,获得设备句柄。然后设置鼠标按键坐标事件,将远端设备解析后的事件写入对应的input输入子系统所虚拟出的键盘鼠标事件设备中,并同步上报给自身操作系统,远端设备自身操作系统对虚拟鼠标键盘设备进行相应操作,实现最终目的。
若本地计算机为触摸屏设备,操作系统的input输入子系统捕获触摸屏信息,将触摸事件转换为鼠标事件发送。物理鼠标是相对位移,触摸屏是相对于左上角的绝对坐标,因此在步骤三中,键盘鼠标监测程序判断出事件类型为鼠标事件时,还要进一步判断是物理鼠标还是触摸屏,相应地,事件结构体内的码值以及按键值不同。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述方法步骤如下:
步骤一,通过网络将本地计算机与远端设备进行连接;
步骤二,通过本地计算机操作系统的输入子系统捕获在本地计算机连接的键盘和鼠标事件,并将键盘和鼠标事件进行打包通过网络协议方式发送给远端设备;
步骤三,在远端设备上虚拟键盘鼠标事件设备,同时将所述键盘和鼠标事件写入上报,实现通过本地计算机键盘和鼠标来操作远端设备。
2.如权利要求1所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述步骤一的连接方式具体为:
步骤101,将本地计算机和远端设备通过以太网进行物理连接;
步骤102,通过编写套接字的方式来建立本地计算机和远端设备的网络通信。
3.如权利要求1所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述步骤二中网络协议方式为UDP或者TCP方式。
4.如权利要求1所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述步骤二还包括:通过编写键盘鼠标监测程序对键盘鼠标输入进行监测。
5.如权利要求4所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,监测的设备对应操作系统内的相应文件,所述监测方法具体为:
分别打开键盘和鼠标对应的文件,获取设备句柄;监测到有设备输入后由所述监测程序判断事件类型是键盘事件还是鼠标事件、鼠标左右按键以及按下抬起操作,同时获取对应的事件结构体,并将所述事件结构体发送给远端设备。
6.如权利要求5所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述事件结构体包括:事件发生时间、事件类型、键盘鼠标事件所对应的码值以及鼠标事件按键或键盘事件按键的按键值。
7.如权利要求5所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述本地计算机为触摸屏设备,操作系统的输入子系统捕获触摸屏信息,将触摸事件转换为鼠标事件发送。
8.如权利要求7所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述监测方法还包括:事件类型为鼠标事件时,进一步判断是物理鼠标还是触摸屏。
9.如权利要求1-8任意一项所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述步骤三通过远端设备虚拟程序对接收到键盘和鼠标事件进行响应。
10.如权利要求9所述的虚拟键盘和鼠标实现远程控制的方法,其特征在于,所述远端设备虚拟程序的具体操作为:
通过远端设备的输入子系统虚拟出键盘鼠标事件设备,将键盘鼠标设备打开,获得设备句柄;然后设置鼠标按键坐标事件,将远端设备解析后的事件写入对应的输入子系统所虚拟出的键盘鼠标事件设备中;并同步上报给自身操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111245332.2A CN114153321A (zh) | 2021-10-26 | 2021-10-26 | 一种虚拟键盘和鼠标实现远程控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111245332.2A CN114153321A (zh) | 2021-10-26 | 2021-10-26 | 一种虚拟键盘和鼠标实现远程控制的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153321A true CN114153321A (zh) | 2022-03-08 |
Family
ID=80458811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111245332.2A Withdrawn CN114153321A (zh) | 2021-10-26 | 2021-10-26 | 一种虚拟键盘和鼠标实现远程控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153321A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974680A (zh) * | 2023-08-02 | 2023-10-31 | 纽扣数字智能科技(深圳)集团有限公司 | 一种基于外设鼠键的电脑桌面远程控制方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148874A (zh) * | 2011-03-30 | 2011-08-10 | 北京彩讯科技股份有限公司 | 对网络计算机的远程多键盘鼠标控制方法 |
US9563581B1 (en) * | 2015-11-24 | 2017-02-07 | Citrix Systems, Inc. | Remote-session keyboard and mouse input via generic device redirection |
CN109144300A (zh) * | 2018-07-27 | 2019-01-04 | 中国船舶重工集团公司第七0九研究所 | 一种多用途远程鼠键控制方法及系统 |
CN111813237A (zh) * | 2020-07-21 | 2020-10-23 | 山东超越数控电子股份有限公司 | 一种虚拟键盘和鼠标实现远程控制的实现方法 |
-
2021
- 2021-10-26 CN CN202111245332.2A patent/CN114153321A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102148874A (zh) * | 2011-03-30 | 2011-08-10 | 北京彩讯科技股份有限公司 | 对网络计算机的远程多键盘鼠标控制方法 |
US9563581B1 (en) * | 2015-11-24 | 2017-02-07 | Citrix Systems, Inc. | Remote-session keyboard and mouse input via generic device redirection |
CN109144300A (zh) * | 2018-07-27 | 2019-01-04 | 中国船舶重工集团公司第七0九研究所 | 一种多用途远程鼠键控制方法及系统 |
CN111813237A (zh) * | 2020-07-21 | 2020-10-23 | 山东超越数控电子股份有限公司 | 一种虚拟键盘和鼠标实现远程控制的实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974680A (zh) * | 2023-08-02 | 2023-10-31 | 纽扣数字智能科技(深圳)集团有限公司 | 一种基于外设鼠键的电脑桌面远程控制方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100504740C (zh) | 远程控制方法、装置以及计算机切换器 | |
CN105045548B (zh) | 一种无线传屏方法、扩展设备和无线传屏系统 | |
CN104618793B (zh) | 一种信息处理方法及电子设备 | |
CN106970720B (zh) | 一种虚拟仿真器及单机多鼠标独立并行操控方法 | |
CN109002269B (zh) | 一种单键鼠控制多终端的方法、客户端及系统 | |
CN104067202B (zh) | 鼠标同步的方法、装置和系统 | |
CN109144396A (zh) | 一种触摸信息处理方法、装置、设备和存储介质 | |
CN107273009B (zh) | 一种移动终端快速截屏的方法及系统 | |
CN103324348A (zh) | 一种基于智能移动终端的Windows桌面控制方法 | |
CN103150132A (zh) | 一种传屏方法及电子设备 | |
CN103973889A (zh) | 将智能手持设备作为无线usbhid设备的装置及方法 | |
JP2021504823A (ja) | 入力操作処理方法、処理装置およびコンピュータ読み取り可能な記憶媒体 | |
WO2016019495A1 (zh) | 终端、服务器及终端控制方法 | |
CN108011951A (zh) | 远程协助方法、装置、系统及电子设备 | |
CN104426990A (zh) | 一种控制方法和装置 | |
CN114153321A (zh) | 一种虚拟键盘和鼠标实现远程控制的方法 | |
CN107948566A (zh) | 实现即插即用传屏的方法及装置 | |
CN107948567A (zh) | Usb有线传屏的方法及装置 | |
CN104317417A (zh) | 一种键鼠平滑切换的方法、装置及系统 | |
CN111078104A (zh) | 一种云桌面上的多点触控设备的重定向方法及计算机设备 | |
CN107577542B (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN207557886U (zh) | 一种kvm切换器及控制系统 | |
CN109144300B (zh) | 一种多用途远程鼠键控制方法及系统 | |
US7886091B2 (en) | Methods and arrangements for performing desktop switching | |
CN114327201A (zh) | 云手机操控方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220308 |