一种适配多种游戏手柄的方法及Android终端设备与流程

文档序号:12347166阅读:1200来源:国知局
一种适配多种游戏手柄的方法及Android终端设备与流程

本发明涉及一种Android终端设备,特别是涉及一种适配多种游戏手柄的方法及Android终端设备。



背景技术:

目前市面上的手柄参差不齐,手柄按键响应出来的功能也各有所不同,一 款游戏手柄适用于一种适配标准,而不同的游戏会支持不同的适配标准,若游戏支持该手柄的适配标准,则游戏手柄按键的键值与游戏功能按键的触控位置能够形成对应关系,该款游戏能够通过该游戏手柄进行操作;否则,若游戏不支持该手柄的适配标准,游戏手柄按键的键值与游戏功能按键的触控位置不能形成对应关系,游戏客户端不能根据键值查找到相对应的触控位置,该款游戏不能通过该游戏手柄进行操作,这样会造成部分游戏需要用到不同的手柄才能使用,因此会给玩家在使用上带来很多困扰不便。



技术实现要素:

本发明旨在解决因各类手柄键值差异化导致使用不便的问题。本发明主要以插件程序的方式存在于系统中,用户通过使用该程序可以无需担心自己使用的手柄是否可以操作游戏。

为了解决现有技术存在的不足,本发明的目的在于提供一种适配多种游戏手柄的方法及Android终端设备,实现同一个Android终端设备可以适配不同的游戏手柄。

为实现上述目的,本发明提供的适配多种游戏手柄的方法,包括以下步骤:

(1)向Android终端设备发送手柄事件;

(2)接收所述手柄事件并进行转换;

(3)将转换后的手柄事件分发至系统中;

(4)接收所述转换后的手柄事件,并进行回调。

其中,所述手柄事件为与摇杆、按键或者触摸三类操作相对应的事件。

进一步地,步骤(2)所述的对手柄事件进行转换,是对所述手柄事件的属性进行修改,完成对所述手柄事件的转换;其中,包括,按键转按键、摇杆转触摸及按键转触摸。

更进一步地,步骤(4)所述转换后的手柄事件进行回调,是通过onKey或/和onMotionEvent方法对转换后的手柄事件进行回调。

为实现上述目的,本发明还提出了一种Android终端设备,包括,手柄接口模块(210)、按键适配模块(220),以及应用模块(230),其中,

所述手柄接口模块(210),接收手柄事件,并将所述手柄事件传递给所述按键适配模块(220);

所述按键适配模块(220),其接收所述手柄接口模块(210)传递的所述手柄事件并进行转换,再将所述转换后的手柄事件分发至所述应用模块(230)

所述应用模块(230)接收所述按键适配模块(220)发送的所述转换后的手柄事件,并进行回调。

进一步地,所述按键适配模块(220)包括:事件转换模块(221)及事件分发模块(222),其中,

所述事件转换模块(221),对所述手柄事件的属性进行修改,完成对所述手柄事件的转换,其中,转换类型主要有按键转按键、摇杆转触摸及按键转触摸三类;

所述事件分发模块(222),其将所述转换后的手柄事件分发至所述应用模块(230)。

更进一步地,所述应用模块(230)包括:事件接收模块(231)及事件回调模块(232),其中,

所述事件接收模块(231),接收所述按键适配模块(220)分发的所述转换后的手柄事件,

所述事件回调模块(232),其通过onKey或/和onMotionEvent方法对所述转换后的手柄事件进行回调。

本发明的适配多种游戏手柄的方法及Android终端设备,通过对游戏手柄所发出的手柄事件的类型进行转换,使游戏手柄在不需要更改键值的情况下,与不同的游戏完成匹配关系,使同一游戏手柄可以对不同的游戏进行匹配操作,实现了同一个Android终端设备可以适配不同的游戏手柄,用户无需担心自己使用的手柄是否可以操作游戏,从而扩大了游戏手柄的使用范围,增加了游戏手柄的使用场合,使玩家在对不同的游戏进行操作的过程中,拥有一款游戏手柄即可。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的适配多种游戏手柄的方法流程图;

图2为根据本发明的Android终端设备原理框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的适配多种游戏手柄的方法流程图,下面将参考图1,对本发明的适配多种游戏手柄的方法进行详细描述。

首先,在步骤101,向Android终端设备发送手柄事件;

其中,手柄事件主要为与摇杆、按键及触摸等三类操作相对应的事件。

具体而言,摇杆操作分为左右摇杆操作,以摇杆所在空间建立直角坐标系,在一定坐标值范围(例如[-1,1])内,摇杆的移动轨迹。

按键操作则为按压按键的操作,按键操作所对应的事件通过整形数值进行标识。整形数值包括:上、下、左、右、A、B、X、Y、L1、L2、R1、R2等。

触摸操作则为触摸触控屏等触点输入装置的操作。

在步骤102,接收手柄事件并进行转换。

在该步骤中,在Android系统事件管理机制中,会将不同事件分发至不同的队列通道中进行处理。在分发的过程中,对事件的属性进行修改,从而完成事件的转换,其中,转换类型主要有按键转按键、摇杆转触摸及按键转触摸三类。

具体而言,在分发过程中,利用ioctl函数获取设备的属性来区分事件属性,因此只需在事件通道中对事件进行拦截并修改事件属性。之后可将修改完成的事件分发至对应的队列当中。

在步骤103,将转换后的手柄事件分发至系统中。

在该步骤中,Android框架层的InputDispatcher模块将转换后的手柄事件分发到对应的应用程序之中。应用程序可为一个以上,内置于同一个应用层中。

在步骤104,Android游戏接收转换后的手柄事件。

在该步骤中,Android游戏通过View模块接收分发到系统中的转换后的手柄事件,再通过onKey及onMotionEvent两个方法对接收到的转换后的手柄事件进行回调。

图2为根据本发明的Android终端设备原理框图,如图2所示,本发明的Android终端设备,包括,手柄接口模块210、按键适配模块220及应用模块230,其中,

手柄接口模块210,其接收手柄事件,并将手柄事件传递给按键适配模块220,

手柄事件主要为与摇杆、按键及触摸等三类操作相对应的事件。

具体而言,摇杆操作分为左右摇杆操作,以摇杆所在空间建立直角坐标系,在一定坐标值范围(例如[-1,1])内,摇杆的移动轨迹。

按键操作则为按压按键的操作,按键操作所对应的事件通过整形数值进行标识。整形数值包括:上、下、左、右、A、B、X、Y、L1、L2、R1、R2等。

触摸操作则为触摸触控屏等触点输入装置的操作。

按键适配模块220,其接收手柄接口模块210端传递的手柄事件并进行转换,再将转换后的手柄事件分发至应用模块230,

进一步地,按键适配模块220包括:事件转换模块221及事件分发模块222,其中,

事件转换模块221,其对手柄事件的属性进行修改,从而完成手柄事件的转换,其中,转换类型主要有按键转按键、摇杆转触摸及按键转触摸三类。

具体而言,在Android系统事件管理机制中,会将不同事件分发至不同的队列通道中进行处理。在分发的过程中,对事件的属性进行修改,从而完成事件的转换。在分发过程中,利用ioctl函数获取设备的属性来区分事件属性,因此只需在事件通道中对事件进行拦截并修改事件属性。之后可将修改完成的事件分发至对应的队列当中。

事件分发模块222,其将转换后的手柄事件分发至应用模块230。

其中,应用模块230可包括:Android游戏应用模块。具体而言,事件分发模块222将转换后的手柄事件分发到对应的应用模块之中。应用模块可为一个以上,内置于同一个应用层中。

应用模块230包括:事件接收模块231及事件回调模块232,其中,

事件接收模块231,应用模块230通过事件接收模块231接收事件分发模块222分发的转换后的手柄事件,

事件回调模块231,通过onKey或/和onMotionEvent方法对应用模块230接收到的转换后的手柄事件进行回调。

本发明的适配多种游戏手柄的方法及Android终端设备,通过对游戏手柄所发出的手柄事件的类型进行转换,使游戏手柄在不需要更改键值的情况下,与不同的游戏完成匹配关系,使同一游戏手柄可以对不同的游戏进行匹配操作,从而扩大了游戏手柄的使用范围,增加了游戏手柄的使用场合,使玩家在对不同的游戏进行操作的过程中,拥有一款游戏手柄即可。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1