发明内容
为了解决上述问题,本申请提供了一种云游戏控制方法,包括:
获取远端客户端的触发事件;
根据所述触发事件模拟客户端的输入信号,并将所述输入信号通过硬件接口传输至云游戏装置;
所述云游戏装置根据所述输入信号控制云游戏进程。
优选地,所述远端客户端的触发事件通过软件接口获取。
优选地,所述软件接口为API。
优选地,所述根据所述触发事件模拟客户端的输入信号进一步包括将所述触发事件转换为接口信号;以及将所述接口信号转换为客户端的输入信号。
优选地,所述输入信号包括鼠标信号和键盘信号。
相应的,本申请还提供了一种云游戏控制系统,包括:
获取装置,用于获取远端客户端的触发事件;
模拟装置,用于根据所述触发事件模拟客户端的输入信号,并将所述输入信号通过硬件接口传输至云游戏装置;
云游戏装置,用于根据所述输入信号控制云游戏进程。
优选地,所述获取装置进一步包括软件接口,用于获取所述远端客户端的触发事件。
优选地,所述模拟装置进一步包括第一转换模块,用于将所述触发事件转换为接口信号;以及第二转换模块,用于将所述接口信号转换为客户端的输入信号。
优选地,所述硬件接口选自串行接口、PS/2接口或USB接口。
与现有技术相比,本申请在云游戏端模拟鼠标、键盘在远端客户端的输入信号,并通过硬件接口传输至云游戏装置。通过硬件接口输入至云游戏装置的鼠标信号或键盘信号能够不限于操作系统的类型而被云游戏装置所识别,从而控制云游戏的进程,实现了跨平台的云游戏控制。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种云游戏控制方法实施例1的流程图。
步骤S11:获取远端客户端的触发事件。
客户端可以是PC机、电视、便携终端、平板、投影机等具有显示和解码能力的装置。客户端可以安装windows、Linux、Mac等操作系统。客户端的输入装置包括鼠标、键盘等。
鼠标大致分机械式,光机式和光电式,其工作原理是基本相同的,即都是通过将鼠标的移动方向与距离转换为坐标偏移量,以实现光标的定位。机械式鼠标底部装有一个可四向滚动的胶质小球。这个小球在滚动时会带动一对转轴转动(分别为X转轴、Y转轴),在转轴的末端有一个圆形的译码轮,译码轮上附有金属导电片与电刷直接接触。当转轴转动时,这些金属导电片与电刷就会依次接触,出现“接通”或“断开”两种形态,前者对应二进制数“1”、后者对应二进制数“0”。接下来,这些二进制信号被送交鼠标内部的专用芯片作解析处理并产生对应的坐标变化信号。只要鼠标在平面上移动,小球就会带动转轴转动,进而使译码轮的通断情况发生变化,产生一组组不同的坐标偏移量,反应到屏幕上,就是光标可随着鼠标的移动而移动。光机式鼠标同样拥有一个胶质的小滚球,并连接着X、Y转轴,所不同的是光机鼠标不再有圆形的译码轮,代之的是两个带有栅缝的光栅码盘,并且增加了发光二极管和感光芯片。当鼠标在桌面上移动时,滚球会带动X、Y转轴的两只光栅码盘转动,而X、Y发光二极管发出的光便会照射在光栅码盘上,由于光栅码盘存在栅缝,在恰当时机二极管发射出的光便可透过栅缝直接照射在两颗感光芯片组成的检测头上。如果接收到光信号,感光芯片便会产生“1”信号,若无接收到光信号,则将之定为信号“0”。接下来,这些信号被送入专门的控制芯片内运算生成对应的坐标偏移量,确定光标在屏幕上的位置。光电式鼠标是通过检测鼠标器的位移,将位移信号转换为电脉冲信号,再通过程序的处理和转换来控制屏幕上的光标箭头的移动。光电鼠标用光电传感器代替了滚球。还有一种可以代替光电鼠标的光学鼠标,其核心部件是发光二极管、微型摄像头、光学引擎和控制芯片。工作时发光二极管发射光线照亮鼠标底部的表面,同时微型摄像头以一定的时间间隔不断进行图像拍摄。鼠标在移动过程中产生的不同图像传送给光学引擎进行数字化处理,最后再由光学引擎中的定位DSP芯片对所产生的图像数字矩阵进行分析。由于相邻的两幅图像总会存在相同的特征,通过对比这些特征点的位置变化信息,便可以判断出鼠标的移动方向与距离,这个分析结果最终被转换为坐标偏移量实现光标的定位。
键盘上有一个称为键盘编码器的处理器(Intel8048或兼容芯片)专门用来扫描收集所有按键按下和松开的状态信息(即扫描码),并发送到主机主板上键盘控制器中。当一个键被按下时,键盘发送的扫描码称为接通扫描码(Make code),或简称为接通码;当一个被按下的键放开时发送的扫描码被称为断开扫描码(Break code),或简称为断开码。
主机键盘控制器专门用来对接收到的键盘扫描码进行解码,并把解码后的数据发送到操作系统的键盘数据队列中。因为每个按键的接通和断开码都是不同的,所以键盘控制器根据扫描码就可以确定用户在操作哪个键。整个键盘上所有按键的接通和断开码就组成了键盘的一个扫描码集(Scan CodeSet)。根据计算机的发展,目前已有三套扫描码集可供使用。
第一套扫描码集:原始XT键盘扫描码集。第二套扫描码集:现代键盘默认使用的扫描码集,通常称为AT键盘扫描码集。第三套扫描码集:PS/2键盘扫描码集。AT键盘默认发送的是第二套扫描码集。虽然如此,主机键盘控制器为了与PC/XT的软件兼容,仍然会把所有接收到的第二套键盘扫描码转换成第一套扫描码。
所述触发事件是指鼠标在屏幕上的移动、点击等动作指令,以及键盘按下或抬起等动作指令。触发事件通过软件接口获取。所述软件接口为API。在本发明一实施例中,客户端安装windows操作系统,客户端将鼠标的移动方向与距离和键盘的按下或抬起等指令分别转换为光标的位置和按键扫描码之后,通过调用windows自带的相应的API函数获取光标的位置和键盘的代码,并通过调用网络通信函数,如socket将光标的位置和键盘的代码信息通过网络传输给云服务器端,云服务器端通过调用接收函数接收光标的位置和键盘的代码信息。
步骤S12:根据所述触发事件模拟客户端的输入信号,并将所述输入信号通过硬件接口传输至云游戏装置。
云游戏端具有一输入信号模拟装置及云游戏装置,两个装置通过硬件接口进行通信,该硬件接口选自串行接口、PS/2接口或USB接口。云游戏装置可为云服务器,其是一种类似VPS服务器的虚拟化技术,VPS是采用虚拟软件,VZ或VM在一台服务器上虚拟出多个类似独立服务器的部分,每个部分都有云服务器的一个镜像,都可以做单独的操作系统,管理方法同服务器一样。输入信号模拟装置中嵌入一模拟程序模块,用于将接收到的光标的位置和键盘的代码信息转换为符合接口通信协议的鼠标信号或键盘信号,其中,鼠标信号可以是光标位置,键盘信号可以是按键的扫描码。输入信号模拟装置的作用相当于将远端客户端的鼠标、键盘等输入设备输入的信号直接通过硬件接口输入至云游戏装置。
步骤S13:所述云游戏装置根据所述输入信号控制云游戏进程。
云游戏装置通过硬件接口接收到鼠标的光标位置和键盘的扫描码后发给游戏进程,游戏程序通过调用相应的函数将光标位置和键盘的扫描码运行相应的进程。
参照图2,示出了本申请一种云游戏控制方法实施例2的流程图。
步骤S21:获取远端客户端的触发事件。
步骤S22:将所述触发事件转换为接口信号;以及将所述接口信号转换为客户端的输入信号,并将所述输入信号通过硬件接口传输至云游戏装置。
云游戏端具有一输入信号模拟装置及云游戏装置,两个装置通过硬件接口进行通信,该硬件接口选自串行接口、PS/2接口或USB接口。云游戏装置可为云服务器,其是一种类似VPS服务器的虚拟化技术,VPS是采用虚拟软件,VZ或VM在一台服务器上虚拟出多个类似独立服务器的部分,每个部分都有云服务器的一个镜像,都可以做单独的操作系统,管理方法同服务器一样。
该输入信号模拟装置可包括一计算机及一输入信号转换装置,计算机用于将接收到的触发事件,即光标的位置和键盘的代码信息通过相应的算法,如datagen等转换为接口信号,并传输给计算机的接口。该接口可以为网络接口、串行接口、PS/2接口、USB接口或其他任意可以传输数据的接口。该接口将接口信号传输给输入信号转换装置,再由输入信号转换装置将接口信号转换为客户端的输入信号,其中,鼠标信号可以是光标位置,键盘信号可以是按键的扫描码。输入信号模拟装置的作用相当于将远端客户端的鼠标、键盘等输入设备输入的信号直接通过硬件接口输入至云游戏装置。
步骤S23:所述云游戏装置根据所述输入信号控制云游戏进程。
其中,步骤S21和步骤S23与实施例1中的步骤S11和步骤S13相同,在此不再赘述。
结合本文中所公开的实施例描述的方法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
参照图3,示出了本申请一种云游戏控制系统实施例1的示意图。
该云游戏控制系统300包括:
获取装置301,用于获取远端客户端的触发事件;
模拟装置302,用于根据所述触发事件模拟客户端的输入信号,并将所述输入信号通过硬件接口305传输至云游戏装置;
云游戏装置303,用于根据所述输入信号控制云游戏进程。
优选地,所述获取装置301进一步包括软件接口304,用于获取所述远端客户端的触发事件。
优选地,所述硬件接口选自串行接口、PS/2接口或USB接口。
参照图4,示出了本申请一种云游戏控制系统实施例2的示意图。
该云游戏控制系统400包括:
获取装置401,用于获取远端客户端的触发事件;
模拟装置402,用于根据所述触发事件模拟客户端的输入信号,并将所述输入信号通过硬件接口407传输至云游戏装置;
云游戏装置403,用于根据所述输入信号控制云游戏进程。
优选地,所述获取装置401进一步包括软件接口404,用于获取所述远端客户端的触发事件。
优选地,所述模拟装置402进一步包括第一转换模块405,用于将所述触发事件转换为接口信号;以及第二转换模块406,用于将所述接口信号转换为客户端的输入信号。
优选地,所述硬件接口选自串行接口、PS/2接口或USB接口。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明优选应用于嵌入式系统中。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本申请所提供的一种云游戏控制方法和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。