CN117797467A - 一种显示设备及对游戏手柄的响应方法 - Google Patents
一种显示设备及对游戏手柄的响应方法 Download PDFInfo
- Publication number
- CN117797467A CN117797467A CN202311473668.3A CN202311473668A CN117797467A CN 117797467 A CN117797467 A CN 117797467A CN 202311473668 A CN202311473668 A CN 202311473668A CN 117797467 A CN117797467 A CN 117797467A
- Authority
- CN
- China
- Prior art keywords
- key value
- key
- game
- page
- control information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000004044 response Effects 0.000 title claims abstract description 36
- 239000012792 core layer Substances 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 description 27
- 239000010410 layer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种显示设备及对游戏手柄的响应方法。显示设备在外接游戏手柄之后,如果接收到游戏手柄发送的控制信息,则将该控制信息存储至核心层的缓冲区。根据当前所处的场景,获取前台页面所要响应的目标信息。其中,在游戏场景下,前台页面为游戏页面,目标信息为从缓冲区读取到的控制信息,游戏页面执行与控制信息对应的操作;在非游戏场景下,前台页面为非游戏页面,目标信息为转换控制信息得到的按键信息,非游戏页面执行与按键信息对应的操作。这样,无论在游戏场景或者非游戏场景,用户均可以通过游戏手柄控制显示设备。而且,在游戏场景下,可以有效提高显示设备对游戏手柄的控制的响应速度。
Description
技术领域
本申请涉及显示设备技术领域,尤其涉及一种显示设备及对游戏手柄的响应方法。
背景技术
显示设备是指能够输出具体显示画面的终端设备,可以是智能电视、移动终端、智能广告屏、投影仪等终端设备。以智能电视为例,智能电视是基于Internet应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体的电视产品,用于满足用户多样化和个性化需求。
游戏手柄(gamepad)是显示设备的外接设备,用户通过显示设备玩游戏时,可以使用游戏手柄进行游戏操作。显示设备通常只在游戏场景下响应用户通过游戏手柄输入的指令,如果在非游戏场景下,则显示设备不会响应用户通过游戏手柄输入的指令,即在非游戏场景下,用户无法通过游戏手柄对显示设备进行控制。然而,在游戏场景下,显示设备对用户通过游戏手柄输入的指令的响应速度较慢,则会产生游戏手柄的控制延迟,降低用户的游戏体验。
发明内容
本申请提供了一种显示设备及对游戏手柄的响应方法,可以在非游戏场景下响应游戏手柄的控制,以及在游戏场景下提高对游戏手柄的控制的响应速度。
第一方面,本申请提供了一种显示设备,包括:
接收器,被配置为:接收游戏手柄发送的控制信息;
存储器,被配置为:存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
控制器,被配置为:
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,获取所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为从所述缓冲区读取到的所述控制信息;在所述非游戏场景下,所述目标信息为第一键值,所述第一键值由从所述缓冲区读取的所述控制信息转换得到,所述第一键值属于所述键值映射表;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
在本申请的一些实施例中,所述游戏页面属于网页游戏或者第三方游戏应用。
在本申请的一些实施例中,所述控制信息包括摇杆移动后的第一位置在预设坐标系中对应的第一坐标值,在所述非游戏场景下,所述控制器获取所述前台页面所要响应的目标信息,被配置为:
根据所述第一坐标值,计算所述第一位置相对于所述预设坐标系的中心点的第一偏移量;
根据所述第一偏移量和第一偏移量阈值判断是否将所述控制信息转换为所述第一键值,所述第一键值为第一方向键的键值;
其中,如果所述第一偏移量大于或者等于所述第一偏移量阈值,则根据所述第一位置在所述预设坐标系中所属的第一区域,将所述第一坐标值转换为第一方向键的键值,所述预设坐标系包括多个预设的区域,每个所述预设的区域对应一个方向,所述第一区域为所述预设的区域,所述第一方向键指示所述第一区域对应方向;
如果所述第一偏移量小于所述第一偏移量阈值,则不转换所述控制信息。
在本申请的一些实施例中,如果所述第一偏移量大于或者等于第一偏移量阈值,则所述控制器根据所述第一坐标值在所述预设坐标系中所属的第一区域,将所述第一坐标值转换为第一方向键的键值之后,还被配置为:
以预设时长为时间单元,检测所述摇杆在每个所述时间单元内是否发生移动;
如果发生移动,则获取所述摇杆移动后的第二位置在所述预设坐标系中对应的第二坐标值;
根据所述第二坐标值计算所述第二位置相对于所述中心点的第二偏移量,以及确定所述第二位置在所述预设坐标系中所属的第二区域;
根据所述第二偏移量和所述第二区域,确定所述第一方向键对应的状态键值;
其中,如果所述第二偏移量小于第二偏移量阈值,和/或所述第二区域与所述第一区域不对应,则确定所述第一方向键对应的状态键值为抬起键值,并由所述前台页面执行与所述第一方向键的键值和所述抬起键值对应的第三操作,所述第二偏移量阈值小于所述第一偏移量阈值,所述第三操作为结束在所述第一方向键所指示方向上的移动;
如果所述第二偏移量大于或者等于所述第二偏移量阈值,且所述第二区域与所述第一区域相对应,则确定所述第一方向键对应的状态键值为重复键值,并由所述前台页面执行与所述第一方向键的键值和所述重复键值对应的第四操作,所述第四操作为在所述第一方向键所指示方向上连续移动;
如果未发生移动,则确定所述第一方向键对应的状态键值为所述重复键值,并由所述前台页面执行与所述第一方向键的键值和所述重复键值对应的所述第四操作。
在本申请的一些实施例中,在同一组的N(N为大于0的正整数)个所述时间单元中,首个所述时间单元对应的所述预设时长长于其它所述时间单元对应的所述预设时长,其中,在确定所述第一方向键对应的状态键值为所述抬起键值之后,开启下一组的时间单元。
在本申请的一些实施例中,所述控制器根据所述第二偏移量和所述第二区域,确定所述第一方向键对应的状态键值,被配置为:
根据所述第二坐标值计算所述第二位置与所述中心点的第一连线与x轴的第一夹角;
根据所述第一夹角,确定所述第二位置在所述预设坐标系中所属的第三区域,所述第三区域为所述预设的区域;
如果所述第三区域与所述第一区域不同,且所述第三区域是所述第一区域的相邻两个所述预设的区域中靠近所述第一位置的区域,则根据所述第一夹角判断所述第二位置是否属于所述第一区域的扩大区域;
其中,如果所述第二位置属于所述第一区域的扩大区域,则所述第二区域与所述第一区域相对应;
如果所述第二位置不属于所述第一区域的扩大区域,则所述第二区域与所述第一区域不对应。
在本申请的一些实施例中,所述控制信息包括所述游戏手柄的第一按键的键值,在所述非游戏场景下,所述控制器获取所述前台页面所要响应的目标信息,被配置为:
根据所述第一按键的键值和所述键值映射表确定所述第一键值,所述第一键值为所述键值映射表中与所述第一按键的键值对应的目标键值,其中,所述第一按键的键值包括所述游戏手柄上方向键的键值和其它按键的键值,所述预存的键值映射表包括所述显示设备的控制设备的第二按键的键值、操作与所述第一按键的键值的映射关系。
在本申请的一些实施例中,所述第一按键的键值为所述游戏手柄上方向键的键值,所述控制器根据所述第一按键的键值和所述键值映射表确定所述第一键值之后,还被配置为:
以预设时长为时间单元,检测在每个所述时间单元内接收到的所述第一按键的键值是否相同;
如果相同,则确定所述目标键值的状态键值为重复键值,并由所述前台页面执行与所述目标键值和所述重复键值对应的第五操作,所述第五操作为在所述目标键值所指示方向上连续移动;
如果不同,则确定所述目标键值的状态键值为抬起键值,并由所述前台页面执行与所述目标键值和所述抬起键值对应的第六操作,所述第六操作为结束在所述目标键值所指示方向上的移动。
在本申请的一些实施例中,所述控制器,还被配置为:
响应于用户输入的控制指令,控制显示器显示设置菜单和引导信息,所述引导信息用于引导用户按照指定方法进入按键设置页面,所述指定方法包括长按预设时长所述其它按键;
在接收到长按所述预设时间的所述其它按键的键值之后,显示所述按键设置页面,所述按键设置页面包括可供定义所述其它按键的功能的对象;
响应于用户基于目标对象输入的选择指令,在所述预设的键值映射表中添加所述其它按键的键值和所述目标对象对应的预设键值的映射关系。
第二方面,本申请还提供了一种显示设备,包括:
接收器,被配置为:接收游戏手柄发送的控制信息;
存储器,被配置为:存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
控制器,被配置为:
从所述缓冲区读取所述控制信息,并获取第一键值,所述第一键值由所述控制信息转换得到;
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,确定所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为所述控制信息;在所述非游戏场景下,所述目标信息为所述第一键值;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
第三方面,本申请还提供了一种对游戏手柄的响应方法,应用于如第一方面中任一所述的显示设备,所述显示设备接收游戏手柄发送的控制信息,所述显示设备存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
所述方法包括:
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,获取所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为从所述缓冲区读取到的所述控制信息;在所述非游戏场景下,所述目标信息为第一键值,所述第一键值由从所述缓冲区读取的所述控制信息转换得到,所述第一键值属于所述键值映射表;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
第四方面,本申请还提供了一种对游戏手柄的响应方法,应用于如第二方面所述的显示设备,所述显示设备接收游戏手柄发送的控制信息,所述显示设备存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
所述方法包括:
从所述缓冲区读取所述控制信息,并获取第一键值,所述第一键值由所述控制信息转换得到;
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,确定所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为所述控制信息;在所述非游戏场景下,所述目标信息为所述第一键值;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
显示设备在外接游戏手柄之后,如果接收到游戏手柄发送的控制信息,则将该控制信息存储至核心层的缓冲区。根据当前所处的场景,获取前台页面所要响应的目标信息。其中,在游戏场景下,前台页面为游戏页面,目标信息为从缓冲区读取到的控制信息,游戏页面执行与控制信息对应的操作;在非游戏场景下,前台页面为非游戏页面,目标信息为转换控制信息得到的按键信息,非游戏页面执行与按键信息对应的操作。这样,无论在游戏场景或者非游戏场景,用户均可以通过游戏手柄控制显示设备。而且,在游戏场景下,可以有效提高显示设备对游戏手柄的控制的响应速度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中显示设备的使用场景;
图2为本申请实施例中控制设备的配置框图;
图3为本申请实施例中显示设备的配置图;
图4为本申请实施例中显示设备的操作系统配置图;
图5为本申请实施例中与响应游戏手柄的控制相关的系统架构的示意图;
图6为本申请实施例中显示设备响应游戏设备的控制的流程图;
图7为本申请实施例中显示设备在运行网页游戏时响应游戏手柄的控制的流程图;
图8为本申请实施例中显示设备在运行第三方游戏应用时响应游戏手柄的控制的流程图;
图9为本申请实施例中显示设备响应游戏设备的控制的流程图;
图10为本申请实施例中显示设备在运行网页游戏时响应游戏手柄的控制的流程图;
图11为本申请实施例中显示设备在运行第三方游戏应用时响应游戏手柄的控制的流程图;
图12为本申请实施例中显示设备由系统服务转换控制信息的流程图;
图13为本申请实施例中预设坐标系的示意图;
图14为本申请实施例中显示设备由系统服务确定第一方向键的状态键值的流程图;
图15为本申请实施例中预设坐标系的示意图;
图16为本申请实施例中显示设备由系统服务判断第一区域与第二区域是否对应的流程图;
图17为本申请实施例中预设坐标系的示意图;
图18为本申请实施例中预设坐标系的示意图;
图19为本申请实施例中显示设备由系统服务响应基于游戏手柄上的按键输入的控制信息的流程图;
图20为本申请实施例中显示设备自定义游戏手柄中普通按键的功能的流程图;
图21为本申请实施例中显示设备自定义游戏手柄中普通按键的功能的交互图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是智能电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等,也可以是手机、平板电脑、智能手表等带有显示屏的设备。图1和图2为本申请的显示设备的一种具体实施方式。
图1为根据实施例中显示设备的使用场景示意图。如图1所示,用户可通过控制设备100操作显示设备200,显示设备200可以通过服务器300获取网络数据,或者通过卫星获得直播信号。
图2是控制设备100的配置框图。在一些实施例中,控制设备100可以是遥控器,遥控器和显示设备200的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
图3示出了根据示例性实施例中显示设备200的配置框图。
显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与控制设备100或服务器300建立控制信号和数据信号的发送和接收。在一些实施例中,检测器230包括声音采集器。显示设备200可以通过声音采集器采集用户语音,并将采集到的用户语音传输至控制器250进行处理。在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。在一些实施例中,控制器250包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM(Random Access Memory),ROM(Read-OnlyMemory),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。在一些实施例中,显示器260包括用于呈现页面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器250输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。在一些实施例中,显示器260可以为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。在一些实施例中,用户可在显示器260上显示的图形用户界面(Graphic User Interface,GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。在一些实施例中,“用户界面”是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,显示设备200基于VIDAA软件平台,如图4所示,基于Linux平台的操作系统分为三层,从上至下分别为应用层、中间件层和硬件层。其中,应用层包括各类应用以及应用框架。中间件层包括各类协议以及组件。硬件层包括各类接口以及硬件和驱动。
在一些实施例中,显示设备200存储有键值映射表(keymap),该键值映射表包括控制设备100的按键的键值与操作的映射关系。显示设备200接收到控制设备100发送的键值之后,根据键值映射表映射到该键值对应的操作,进而执行该操作,以实现该键值对应的功能。以控制设备100为遥控器为例,用户按压遥控器上的向右键,遥控器向显示设备200发送键值“Key_Right”。如果键值映射表包括Key_Right,Key_Right映射至操作,如向右移动焦点的功能或者指令,则显示设备200根据键值“Right”和键值映射表执行向右移动焦点的操作。
游戏手柄(gamepad)是显示设备200的外接设备。显示设备200可以通过通信器220接入游戏手柄,例如,显示设备200通过蓝牙与游戏手柄连接。显示设备200也可以通过外部装置接口240接入游戏手柄,例如,显示设备200通过USB接口接入游戏手柄。如图1所示,在显示设备200接入游戏手柄400之后,如果用户使用显示设备200玩游戏,即显示设备200前台显示游戏页面,则用户可以通过游戏手柄400在游戏页面上进行操作。
用户通过游戏手柄400在游戏页面上进行操作时,通过游戏手柄400的摇杆和按键向显示设备200输入控制信息。在一些实施例中,游戏手柄400的摇杆可以为单个摇杆,该单个摇杆可以位于游戏手柄400机身的左侧、右侧或者中间位置。游戏手柄400的摇杆可以为双摇杆,该双摇杆可以分别位于游戏手柄400机身的左侧和右侧,其中,位于机身左侧的摇杆可以称为左摇杆,位于机身右侧的摇杆可以称为右摇杆。
游戏手柄400检测到摇杆位置发生移动时,将摇杆移动后的位置作为控制信息发送至显示设备200。例如,游戏手柄400以摇杆事件的方式发送摇杆移动后的位置,该摇杆事件的事件类型为EV_ABS。游戏手柄400可以以坐标的方式表示摇杆移动后的位置,以摇杆的移动范围建立预设坐标系,其中,该预设坐标系的中心点为摇杆的初始位置,预设坐标系的x轴为对摇杆预先配置的水平向左移动或者水平向右移动时所在的动线,预设坐标系的y轴为对摇杆预先配置的竖直向上移动或者竖直向下移动时所在的动线。摇杆的移动范围为一个以中心点为圆心,以预设距离为半径的圆。以预设距离为Max为例,摇杆在x轴和y轴上的移动区间为(-Max,Max)。在Linux下,Max可以为32768。在以坐标表示摇杆事件时,左摇杆x轴返回ABS_X类型坐标值,左摇杆y轴返回ABS_Y类型坐标值;右摇杆x轴返回ABS_Z类型坐标值,右摇杆y轴返回ABS_RY类型坐标值。
用户在移动摇杆之后,游戏手柄400识别摇杆移动后的位置在该预设坐标系中对应的坐标,并将该坐标作为控制信息发送至显示设备200,显示设备200在接收到该控制信息之后,将该控制信息传递至游戏页面,由游戏页面处理该控制信息,执行与该控制信息对应的操作。例如,游戏页面处理该控制信息,确定与该控制信息对应的操作为水平向右移动游戏中的目标对象,将该目标对象向右移动。
游戏手柄400检测到用户按压方向键时,将该方向键的按键信息作为控制信息发送至显示设备200。例如,游戏手柄400以按键事件的方式发送该方向键的按键信息,该按键事件的事件类型为EV_ABS。显示设备200接收到该控制信息之后,将该控制信息传递至游戏页面,由游戏页面处理该控制信息,执行与该控制信息对应的操作。例如,游戏页面处理该控制信息,确定该方向键为向右键,以及与向右键对应的操作为水平向右移动焦点,将焦点向右移动。
游戏手柄400检测到用户按压其它按键(普通按键,如X、Y、A、B、LB、RB、LT、RT、Select、Start等按键)时,如将该普通按键的按键信息作为控制信息发送至显示设备200。例如,游戏手柄400以按键事件的方式发送该普通按键的按键信息,该按键事件的事件类型为EV_KEY。显示设备200接收到该控制信息之后,将该控制信息传递至游戏页面,由游戏页面处理该控制信息,执行与该控制信息对应的操作。例如,游戏页面处理该控制信息,确定该普通按键为Select键,以及与Select键对应的操作为选中对象,选中焦点当前所在的对象。
根据当前获得焦点的前台页面的类型,可以将显示设备200当前所处的场景划分为游戏场景和非游戏场景。其中,如果前台页面为游戏页面,如网页游戏的页面、第三方游戏应用的页面,则显示设备200当前所处的场景为游戏场景;如果前台页面为非游戏页面,如非游戏的网页、非游戏类的第三方应用的页面、显示设备200的主页面、直播电视页面等,则显示设备200当前所处的场景为非游戏场景。如果前台页面为浏览器页面,则显示设备200可以识别获得焦点的页面的页面内容,确定前台页面是否为游戏页面,其中,如果获得焦点的页面的页面内容为游戏,则确定前台页面为游戏页面。如果前台页面为第三方应用的页面,则显示设备200可以识别该第三方应用的应用类型,确定前台页面是否为游戏页面,其中,如果识别到该第三方应用的应用类型为游戏,则确定前台页面为游戏页面。
在游戏场景下,虽然用户可以通过游戏手柄400控制游戏页面上的操作,但是游戏手柄400仅支持控制网页游戏,而无法支持控制第三方游戏应用,即用户可以使用游戏手柄400玩网页游戏,不能使用游戏手柄400玩第三方游戏应用。在非游戏场景下,显示设备200接收到游戏手柄400发送的控制信息并将其传递至非游戏页面,而非游戏页面不会响应该控制信息,即用户无法通过游戏手柄400控制非游戏页面上的操作。可见,游戏手柄400所支持场景的局限性较大。
而且,在游戏场景下,由于显示设备200首先将游戏手柄400发送的控制信息发送至中间件层,再通过中间件层中的相关中间件将该控制信息传递至游戏页面,会延长游戏页面接收到控制信息的时长,从而导致游戏页面无法及时处理控制信息,并执行相应的操作,对游戏手柄400的控制的响应速度较慢,用户可能会感受到显示设备200对游戏手柄400的控制的响应延迟,降低用户的游戏体验。
为了解决上述问题,本申请实施例提供的显示设备200配置有如图5所示的与响应游戏手柄400的控制相关的系统架构。该与响应游戏手柄400的控制相关的系统架构包括应用层、核心层和驱动层。应用层包括:非游戏页面UI、网页游戏的页面、第三方应用(Third-party App)、系统服务(system server)和浏览器(Browser)。核心层(Linux Kernel)包括:缓冲区。驱动层包括:用于接入游戏手柄400的驱动,如蓝牙BT驱动和USB驱动。
其中,蓝牙BT驱动和USB驱动用于为云游戏提供游戏手柄400的支持;核心层用于将接收到的来自游戏手柄400的控制信息写入缓冲区。系统服务用于从缓冲区读取控制信息、转换控制信息、以及分发转换后的控制信息,其中,系统服务可以通过Direct FB从缓冲区读取控制信息。UI可以响应系统服务分发的转换后的控制信息。浏览器用于为网页提供所需的网络等支持,可以从缓冲区读取控制信息,并向网页分发控制信息。网页游戏的页面用于响应浏览器分发的控制信息。如果第三方应用为游戏应用,则可以兼容游戏手柄400,从缓冲区读取控制信息,以及处理该控制信息。
基于图5所示的系统架构,显示设备200接收到游戏手柄400发送的控制信息之后,将该控制信息写入核心层的缓冲区。
在一些实施例中,显示设备200可以按照图6所示的流程响应游戏设备400的控制,具体步骤如下:
S601,识别当前所处的场景。
当前所处的场景包括游戏场景和非游戏场景。
S602,根据当前所处的场景,获取前台页面所要响应的目标信息。
在游戏场景下,显示设备200在监听到缓冲区写入控制信息之后,直接从缓冲区读取该控制信息,该控制信息即为目标信息。
在非游戏场景下,显示设备200在监听到缓冲区写入控制信息之后,直接从缓冲区读取该控制信息,并将读取到的控制信息转换为第一键值,该第一键值属于显示设备200内预置的键值映射表,该第一键值即为目标信息。
S603,由前台页面执行与目标信息对应的操作。
在游戏场景下,由游戏页面执行与控制信息对应的第一操作。也即,在游戏场景下,游戏页面可以响应游戏手柄400发送的原始数据(控制信息),执行与该控制信息对应的第一操作。基于图5所示的系统架构可知,控制信息在写入核心层的缓冲区之后,系统服务和浏览器读取控制信息的路径为:直接从缓冲区读取控制信息,而无需经过中间件层,可以有效缩短读取控制信息的路径,进而缩短游戏页面获取到控制信息的时长,有效提高游戏页面响应该控制信息的效率,即有效提高对游戏手柄400的控制的响应速度。
在非游戏场景下,由非游戏页面执行与第一键值对应的第二操作。也即,在非游戏场景下,可以先将游戏手柄400发送的原始数据(控制信息)转换为非游戏页面支持处理的键值,再由非游戏页面响应该键值执行对应的第二操作。这样,不仅可以提高读取控制信息的效率,还可以令非游戏页面响应该控制信息,即可以在非游戏场景下响应游戏手柄400的控制,以及提高对游戏手柄400的控制的响应速度。
在本实施例中,显示设备200支持在网页游戏和第三方游戏应用下对游戏手柄400的响应。
结合图7对显示设备200在运行网页游戏时响应游戏手柄400的控制的过程进行说明。
显示设备200在接入游戏手柄400之后,接收游戏手柄400发送的控制信息,并由核心层将该控制信息写入缓冲区。显示设备200可以通过网页引擎(webengine)加载(load)网页,以进入网页游戏。显示设备200可以在接入游戏手柄400之前或者之后启动网页游戏。
由网页引擎识别当前所处的场景。
在一些实施例中,当游戏页面在前台时,游戏页面将调用网页引擎的游戏手柄接口(gamepad API)以获取游戏手柄400发送的控制信息,网页引擎根据该调用请求可以确定当前处于游戏场景。如果网页引擎未收到该调用请求,或者在收到该调用请求之后检测到游戏手柄接口停止被调用,则可以确定当前处于非游戏场景。
网页引擎根据当前所处的场景,获取前台页面所要响应的目标信息。
在游戏场景下,即在网页引擎接收到游戏页面的调用请求之后,网页引擎开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息,并将相关的标志位(flag)设置为true,该标志位表示游戏页面期望响应游戏手柄400的原始数据(控制信息)。
网页引擎在监听到缓冲区写入控制信息之后,从缓冲区读取该控制信息。并且,网页引擎向系统服务发送第一通知,该第一通知包括由网页引擎分发控制信息。系统服务根据该第一通知停止从缓冲区读取控制信息,或者在从缓冲区读取控制信息之后,丢弃该控制信息。其中,系统服务丢弃控制信息包括不将该控制信息转换为第一键值,且不分发该控制信息,或者将该控制信息转换为第一键值,且不分发该第一键值。网页引擎在读取到控制信息之后,将该控制信息发送至游戏页面。
由游戏页面执行与该控制信息对应的第一操作,从而实现用户通过游戏手柄400控制网页游戏上的操作。
在非游戏场景下,即网页引擎未收到游戏页面的调用请求,或者,在接收到调用请求之后检测到该接口停止被调用,网页引擎将相关的标志位设置为false,该标志位表示非游戏页面期望响应键值。
网页引擎向系统服务发送第二通知,该第二通知包括由系统服务分发控制信息。系统服务根据该第二通知监听缓冲区是否写入控制信息,并在监听到写入控制信息之后,从缓冲区读取该控制信息。系统服务在读取到控制信息之后,将该控制信息转换为第一键值,并将该第一键值分发至网页引擎。网页引擎接收到该第一键值之后,将该第一键值发送至非游戏页面。
网页引擎可以停止对缓冲区写入的控制信息的监听;或者,网页引擎监听缓冲区是否写入控制信息,即使监听到写入控制信息,也不读取该控制信息;又或者,网页引擎监听缓冲区是否写入控制信息,并在监听到写入控制信息之后,读取该控制信息,但是不向非游戏页面发送该控制信息。
由非游戏页面执行与第一键值对应的第二操作,从而实现用户通过游戏手柄400控制非游戏页面上的操作。
其中,加载游戏页面与加载非游戏页面的过程无先后顺序。
在上述过程中,系统服务始终监听是否接收到控制设备100发送的第二键值,在监听到第二键值之后,将该第二键值发送至网页引擎,网页引擎将该第二键值发送至前台页面(游戏页面或者非游戏页面),并由前台页面执行与第二键值对应的操作。由此,可以实现用户通过控制设备100控制前台页面的操作。
结合图8对显示设备200在运行第三方游戏应用时响应游戏手柄400的控制的过程进行说明。
显示设备200在接入游戏手柄400之后,接收游戏手柄400发送的控制信息,并由核心层将该控制信息写入缓冲区。显示设备200可以在接入游戏手柄400之前或者之后进入第三方游戏应用。
由系统服务识别当前所处的场景。
在一些实施例中,系统服务获取当前获得焦点的焦点应用的应用信息,如焦点应用的应用名称,并根据该应用名称和第三方游戏应用的应用名称进行对比,以确定第三方游戏是否为焦点应用。其中,如果第三方游戏应用是焦点应用,则系统服务可以确定当前处于游戏场景;如果第三方游戏应用不是焦点应用,则系统服务可以确定当前处于非游戏场景。
系统服务根据当前所处的场景,获取前台页面所要响应的目标信息。
在游戏场景下,即在系统服务识别到焦点应用为第三方游戏应用之后,系统服务将相关的标志位设置为true,该标志位表示焦点应用期望响应游戏手柄400的原始数据(控制信息)。系统服务向第三方游戏应用发送第三通知,该第三通知包括由第三方游戏应用读取控制信息。第三方游戏应用根据该第三通知,监听缓冲区内是否写入游戏手柄400发送的控制信息,并在监听到缓冲区内写入控制信息之后,读取该控制信息。由第三方游戏应用将读取到的控制信息发送至游戏页面。
系统服务可以不启动,或者在启动之后,停止对缓冲区写入的控制信息的监听;或者,系统服务监听缓冲区是否写入控制信息,即使监听到写入控制信息,也不读取该控制信息;又或者,系统服务监听缓冲区是否写入控制信息,并在监听到写入控制信息之后,读取该控制信息,但是丢弃该控制信息。其中,系统服务丢弃控制信息包括不将该控制信息转换为第一键值,且不分发该控制信息,或者将该控制信息转换为第一键值,且不分发该第一键值。
由游戏页面执行与该控制信息对应的第一操作,从而实现用户通过游戏手柄400控制第三方游戏应用的操作。
在非游戏场景下,即在系统服务识别到焦点应用不是第三方游戏应用之后,系统服务开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息,并将相关的标志位设置为false,该标志位表示焦点应用期望响应键值。系统服务向第三方游戏应用发送第四通知,该第四通知包括由系统服务分发键值。第三方游戏应用根据该第四通知,不启动,或者在启动之后,停止对缓冲区写入的控制信息的监听;或者,第三方游戏应用监听缓冲区是否写入控制信息,即使监听到写入控制信息,也不读取该控制信息;又或者,第三方游戏应用监听缓冲区是否写入控制信息,并在监听到写入控制信息之后,读取该控制信息,但是不响应该控制信息。
系统服务在监听到缓冲区写入控制信息之后,读取该控制信息,并将读取到的控制信息转换为第一键值。系统服务将第一键值发送至焦点应用,并由该焦点应用将接收到的第一键值传递至非游戏页面。
由非游戏页面执行与第一键值对应的第二操作,从而实现用户通过游戏手柄400控制非游戏页面上的操作。
在上述过程中,系统服务始终监听是否接收到控制设备100发送的第二键值,在监听到第二键值之后,无论标志位是true或者是false,均将该第二键值发送至焦点应用(第三方游戏应用或者其它应用),焦点应用将该第二键值发送至前台页面(游戏页面或者非游戏页面),并由前台页面执行与第二键值对应的操作。由此,可以实现用户通过控制设备100控制前台页面的操作。
在一些实施例中,显示设备200可以按照图9所示的流程响应游戏设备400的控制,具体步骤如下:
S901,从缓冲区读取控制信息,并获取第一键值。
显示设备200在监听到缓冲区写入控制信息之后,从缓冲区读取控制信息,以及将读取到的控制信息转换为第一键值。显示设备200同时持有控制信息和第一键值。
S902,识别当前所处的场景。
当前所处的场景包括游戏场景和非游戏场景。
S903,根据当前所处的场景,确定前台页面所要响应的目标信息。
在游戏场景下,可以确定读取到的控制信息为目标信息。
在非游戏场景下,可以确定转换后的第一键值为目标信息。
S904,由前台页面执行与目标信息对应的操作。
步骤S904与步骤S603相类似,此处不赘述。
基于步骤S901-S904,将读取到的控制信息转换为第一键值的过程,并行于后续识别场景的过程,而无需等待场景的识别结果,可以进一步缩短前台页面接收目标信息的时长,从而进一步提高前台页面对游戏手柄400的控制的响应速度。
在本实施例中,显示设备200支持在网页游戏和第三方游戏应用下对游戏手柄400的响应。
结合图10对显示设备200在运行网页游戏时响应游戏手柄400的控制的过程进行说明。
显示设备200在接入游戏手柄400之后,接收游戏手柄400发送的控制信息,并由核心层将该控制信息写入缓冲区。显示设备200可以通过网页引擎加载(load)网页,以进入网页游戏。显示设备200可以在接入游戏手柄400之前或者之后启动网页游戏。
由网页引擎从缓冲区读取控制信息,以及由系统服务获取第一键值。
在接入游戏手柄400之后,或者在进入网页应用之后,网页引擎开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息。在接入游戏手柄400之后,系统服务开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息。
网页引擎监听到缓冲区写入控制信息之后,网页引擎从缓冲区获取该控制信息。系统服务监听到缓冲区写入控制信息之后,系统服务从缓冲区读取该控制信息,系统服务在读取到该控制信息,自动将该控制信息转换为第一键值,并且将该第一键值分发至网页引擎。由网页引擎管理控制信息和第一键值。
由网页引擎识别当前所处的场景。
网页引擎识别当前所处的场景的过程可以参考图7所示流程中网页引擎识别当前所处的场景的过程,此处不赘述。
由网页引擎根据当前所处的场景,确定前台页面所要响应的目标信息。
在游戏场景下,即在网页引擎接收到游戏页面的调用请求之后,网页引擎如果识别到该第一键值为由控制信息转换得到的,且识别到标志位为true,则可以确定前台页面为游戏页面,前台页面所要响应的目标信息为控制信息。由此,网页引擎丢弃第一键值,将控制信息传递至游戏页面。
由游戏页面执行与该控制信息对应的第一操作,从而实现用户通过游戏手柄400控制网页游戏上的操作。
在非游戏场景下,即网页引擎未收到游戏页面的调用请求,或者,在接收到调用请求之后检测到该接口停止被调用,网页引擎如果识别到标志位为false,则可以确定前台页面为非游戏页面,前台页面所要响应的目标信息为第一键值。由此,网页引擎丢弃控制信息,将第一键值传递至非游戏页面。
由非游戏页面执行与第一键值对应的第二操作,从而实现用户通过游戏手柄400控制非游戏页面上的操作。
在上述过程中,系统服务始终监听是否接收到控制设备100发送的第二键值,在监听到第二键值之后,将该第二键值发送至网页引擎,网页引擎如果识别出该第二键值为控制设备100发送的键值,则无论标志位是true或者是false,均将该第二键值发送至前台页面(游戏页面或者非游戏页面),并由前台页面执行与第二键值对应的操作。由此,可以实现用户通过控制设备100控制前台页面的操作。
结合图11对显示设备200在运行第三方游戏应用时响应游戏手柄400的控制的过程进行说明。
显示设备200在接入游戏手柄400之后,接收游戏手柄400发送的控制信息,并由核心层将该控制信息写入缓冲区。显示设备200可以在接入游戏手柄400之前或者之后进入第三方游戏应用。
由第三方游戏应用从缓冲区读取控制信息,以及由系统服务获取第一键值。
在进入第三方游戏应用之后,第三方游戏应用开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息。在接入游戏手柄400之后,系统服务开启线程监听缓冲区内是否写入游戏手柄400发送的控制信息。
第三方游戏应用监听到缓冲区写入控制信息之后,第三方游戏应用从缓冲区获取该控制信息。系统服务监听到缓冲区写入控制信息之后,系统服务从缓冲区读取该控制信息,系统服务在读取到该控制信息,自动将该控制信息转换为第一键值。如果焦点应用是游戏应用,则焦点应用持有控制信息;如果焦点应用是非游戏应用,则焦点应用未持有控制信息和第一键值。
由系统服务识别当前所处的场景。
系统服务识别当前所处的场景的过程可以参考图8所示流程中系统服务识别当前所处的场景的过程,此处不赘述。系统服务根据识别结果设置相关的标志位,例如,如果识别到处于游戏场景,则将标志位设置为true;如果识别到处于非游戏场景,则将标志位设置为false。
由系统服务根据当前所处的场景,确定前台页面所要响应的目标信息。
在游戏场景下,即系统服务识别到标志位为true,则可以确定前台页面为游戏页面,前台页面所要响应的目标信息为控制信息。由此,系统服务丢弃第一键值,第三方游戏应用确定未接收到来自系统服务的第一键值之后,将控制信息传递至游戏页面。
由游戏页面执行与该控制信息对应的第一操作,从而实现用户通过游戏手柄400控制第三方游戏应用上的操作。
在非游戏场景下,即系统服务识别到标志位为false,则可以确定前台页面为非游戏页面,前台页面所要响应的目标信息为第一键值。由此,系统服务将第一键值传递至焦点应用,焦点应用在接收到该第一键值之后,将该第一键值传递至非游戏页面。
由非游戏页面执行与第一键值对应的第二操作,从而实现用户通过游戏手柄400控制非游戏页面上的操作。
在上述过程中,系统服务始终监听是否接收到控制设备100发送的第二键值,在监听到第二键值之后,无论标志位是true或者是false,均将该第二键值发送至焦点应用(第三方游戏应用或者其它应用),焦点应用将该第二键值发送至前台页面(游戏页面或者非游戏页面),并由前台页面执行与第二键值对应的操作。由此,可以实现用户通过控制设备100控制前台页面的操作。
在上述实施例中,控制信息可以包括摇杆移动后的第一位置在预设坐标系中对应的第一坐标值、游戏手柄400的第一按键的键值。系统服务根据不同的控制信息,将其转换为对应的第一键值。
如果控制信息为摇杆移动后的第一位置在预设坐标系中对应的第一坐标值,则显示设备200可以由系统服务按照图12所示的流程转换控制信息,具体步骤如下:
S1201,根据第一坐标值,计算第一位置相对于预设坐标系的中心点的第一偏移量。
第一偏移量为第一位置与中心点的直线距离,可以按照如下公式计算第一偏移量:
其中,x代表第一坐标值中的x坐标,y代表第一坐标值中的y坐标,z代表第一偏移量。
S1202,根据第一偏移量和第一偏移量阈值判断是否将控制信息转换为第一键值,该第一键值为键值映射表中方向键的键值。
如果控制信息为第一坐标值,则说明用户想要通过在目标方向上移动摇杆向显示设备200发送移动指令,该移动指令指示按照目标方向移动。由此,第一坐标值对应的第一键值为方向键的键值,该方向键对应该目标方向。
在一些实施例中,如果第一偏移量大于0,则说明摇杆发生了移动,即可触发将该第一坐标值转换为第一键值的任务。这样,可以响应用户细微地操作,提高响应的灵敏度。
在另一些实施例中,根据第一偏移量和第一偏移量阈值判断是否将第一坐标值转换为第一键值。
S1203,如果第一偏移量大于或者等于第一偏移量阈值,则根据第一位置在预设坐标系中所属的第一区域,将第一坐标值转换为第一方向键的键值。
如果第一偏移量大于或者等于第一偏移量阈值,则说明摇杆与中心点的距离较大,该摇杆的移动不属于轻微晃动,是用户有意识移动的结果。此时,将第一坐标值转换为第一方向键的键值,该第一方向键的键值指示的方向与第一区域对应的方向相同,以令显示设备200可以准确地响应游戏手柄400的控制。
以图13所示的预设坐标系为例,中心点为O,第一偏移量阈值为Mt,如果第一偏移量z大于或者等于Mt,则第一位置位于环形区域1301(以灰色示出)内,触发将第一坐标值转换为第一方向键的键值的任务。
预设坐标系包括多个预设的区域,每个预设的区域对应一个方向,每个方向对应键值映射表中的一个方向键的键值。例如,预设坐标系包括4个预设的区域,分别对应上(up)、下(down)、左(left)、右(right)。可以根据游戏手柄400的机身结构和/或用户的操作习惯划分预设的区域,各预设的区域可以对应相同大小的角度范围,也可以对应不同大小的角度范围。以图13所示的预设坐标系为例,以经过中心点,且与坐标轴呈45°夹角的直线A和直线B划分该预设坐标系,直线A与移动范围的交点分别为A1和A2,直线B与移动范围的交点分别为B1和B2。其中,位于OA1与OB1之间的区域S1对应up,位于OA2与OB2之间的区域S2对应down,位于OA2与OB1之间的区域S3对应left,位于OA1与OB2之间的区域S4对应right。区域S1、区域S2、区域S3、区域S4对应相同大小的角度范围,均为90°。
在转换过程中,系统服务根据第一坐标值确定第一位置在预设坐标系中所属的第一区域,该第一区域属于预设的区域,并根据该第一区域确定对应的方向,进而确定该方向在键值映射表中对应的方向键的键值。以图13所示的预设坐标系为例,如果根据第一坐标值确定第一位置位于区域S1,则可以确定对应的方向为up,进而可以确定在键值映射表中对应的方向键的键值为KEY_UP,将该键值作为第一键值。
S1204,如果第一偏移量小于第一偏移量阈值,则不转换控制信息。
如果第一偏移量小于第一偏移量阈值,则说明摇杆的移动属于轻微晃动,不是用户有意识移动的结果。此时,不触发转换第一坐标值的任务,以兼容摇杆的轻微晃动,避免由于响应摇杆的轻微晃动产生的抖动。
以图13所示的预设坐标系为例,如果第一偏移量z小于Mt,则第一位置位于区域1302(以白色示出)内,不触发转换第一坐标值的任务。
在一些实施例中,基于步骤S1203,在将第一坐标值转换为第一方向键的键值之后,显示设备200可以由系统服务按照图14所示的流程确定第一方向键的状态键值,具体步骤如下:
S1401,以预设时长为时间单元,检测摇杆在每个时间单元内是否发生移动。
摇杆可以配置为具有自动复位的功能,摇杆移动至第一位置之后,如果用户不对摇杆施加作用力,则摇杆将自动移动至中心点位置。
摇杆可以配置为不具有自动复位的功能,即摇杆的每一次移动均依赖用户施加的作用力。
S1402,如果发生移动,则获取摇杆移动后的第二位置在预设坐标系中对应的第二坐标值。
基于步骤S1402,执行步骤S1403-S1406。
S1403,根据第二坐标值计算第二位置相对于中心点的第二偏移量,以及确定第二位置在预设坐标系中所属的第二区域。
步骤S1403与步骤S1201和S1203相类似,此处不赘述。
S1404,根据第二偏移量和第二区域,确定第一方向键对应的状态键值。
方向键的状态键值用于该方向键的状态,状态键值包括按压(press)键值、抬起(release)键值和重复(repeat)键值。显示设备200根据状态键值执行对应的操作,其中,根据press执行发送当前方向键的键值;根据release释放当前方向键的键值;根据repeat执行重复发送当前方向键的键值。
S1405,如果第二偏移量小于第二偏移量阈值,和/或第二区域与第一区域不对应,则确定第一方向键对应的状态键值为抬起键值,并由前台页面执行与第一方向键的键值和抬起键值对应的第三操作。
在一些实施例中,第二偏移量阈值等于第一偏移量阈值,以图13所示的预设坐标系为例,如果摇杆再次移动之后的第二偏移量z’小于第二偏移量阈值,则再次移动后的摇杆不在环形区域1301内,不触发将第二坐标值转换为方向键的键值的任务,即显示设备200不响应该摇杆的移动动作。相应的,将第一方向键的状态键值确定为抬起键值,以指示释放第一方向键的键值。
在另一些实施例中,第二偏移量阈值小于第一偏移量阈值,以图15所示的预设坐标系为例,与图13所示的预设坐标系相比,图15所示的预设坐标系包括第二偏移量阈值为Mt-m,即基于第二偏移量阈值的环形区域相较于基于第一偏移量阈值的环形区域1301扩大环形区域1501(以阴影示出)。如果摇杆再次移动之后的第二偏移量z’小于第二偏移量阈值,则再次移动后的摇杆不在基于第二偏移量阈值形成的环形区域内,不触发将第二坐标值转换为方向键的键值的任务,即显示设备200不响应该摇杆的移动动作。相应的,将第一方向键的状态键值确定为抬起键值,以指示停止响应第一方向键的键值。
第二区域与第一区域用于判断摇杆再次移动后所属区域对应的方向是否发生变化,其中,如果第二区域与第一区域不对应,则对应的方向发生变化;如果第二区域与第一区域对应,则对应的方向未发生变化。如果对应的方向发生变化,则说明变化后的方向不再对应第一方向键的键值,可以将第一方向键的状态键值确定为抬起键值,以指示释放第一方向键的键值。
前台页面接收到抬起键值之后,根据第一方向键的键值和抬起键值执行第三操作,如结束在第一方向键指示方向上的移动。
S1406,如果第二偏移量大于或者等于第二偏移量阈值,且第二区域与第一区域相对应,则确定第一方向键对应的状态键值为重复键值,并由前台页面执行与第一方向键的键值和重复键值对应的第四操作。
在一些实施例中,第二偏移量阈值等于第一偏移量阈值,以图13所示的预设坐标系为例,如果摇杆再次移动之后的第二偏移量z’大于或者等于第二偏移量阈值,则再次移动后的摇杆仍位于环形区域1301内,仍然会触发将第二坐标值转换为方向键的键值的任务,即显示设备200需要响应该摇杆的移动动作。
在另一些实施例中,第二偏移量阈值小于第一偏移量阈值,以图15所示的摇杆的移动范围为例,如果摇杆再次移动之后的第二偏移量z’大于或者等于第二偏移量阈值,则即使再次移动后的摇杆不在环形区域1301内,只要再次移动后的摇杆位于环形区域1501内,仍然会触发将第二坐标值转换为方向键的键值的任务,即显示设备200仍需要响应该摇杆的移动动作。
在一些应用场景中,如果摇杆前一次的位置位于环形区域1301内,且靠近以第一偏移量阈值形成的圆形的边界,则在摇杆发生轻微晃动时,摇杆移动后的位置容易移出环形区域1301,而如果摇杆再次轻微晃动,又会重新回到环形区域1301内,即摇杆的位置在以第一偏移量阈值形成的圆形的边界处来回移动,这会导致频繁释放和重新发送第一方向键的键值的问题。在摇杆第一次移动至环形区域1301之后,通过扩大该环形区域,并以该扩大后的环形区域(即第二偏移量阈值)为基准,判定是否释放第一方向键的键值,可以有效减少由于摇杆轻微晃动移出环形区域1301,而将该第一方向键判定为抬起状态的次数,以及降低由于摇杆轻微晃动再次回到环形区域1301内,而重新发送第一方向键的键值的次数,进而可以更好地兼容摇杆在以第一偏移量阈值形成的圆形的边界的轻微晃动的问题。
如果第二区域与第一区域相对应,则说明变化后的方向仍然对应第一方向键的键值。
在预设时长内,如果判定摇杆再次移动后的位置仍然可以触发转换键值的任务,且对应的方向未发生变化,则可以将第一方向键的状态键值确定为重复键值,以指示连续响应第一方向键的键值。
前台页面接收到重复键值之后,根据第一方向键的键值和重复键值执行第四操作,如在第一方向键所指示方向上连续移动。
S1407,如果未发生移动,则确定第一方向键对应的状态键值为重复键值,并由前台页面执行与第一方向键的键值和重复键值对应的第四操作。
如果未发生移动,则说明在预设时长内摇杆再次移动后的位置仍然可以触发转换键值的任务,且对应的方向未发生变化,可以将第一方向键的状态键值确定为重复键值,以指示连续响应第一方向键的键值。
前台页面接收到重复键值之后,根据第一方向键的键值和重复键值执行第四操作,如在第一方向键所指示方向上连续移动。
在一些实施例中,在同一组的N(N为大于0的正整数)个时间单元中,首个时间单元对应的预设时长长于其它时间单元对应的预设时长。其中,在确定第一方向键对应的状态键值为抬起键值之后,开启下一组的时间单元。
例如,在执行步骤S1203之后,开启一组时间单元中的首个时间单元,该首个时间单元的预设时长可以为T_first,可以通过计时器实现该首个时间单元。如果在T_first内执行步骤S1405,则终止该组时间单元。在终止该组时间单元之后,如果再次执行步骤S1203,则重新开启一组时间单元。如果在T_first内执行步骤S1406,则开启该组时间单元中的其它时间单元,该其它时间单元的预设时长可以为T_repeat,T_repeat和T_first可以以300毫秒为基准浮动设置,其中,T_repeat<T_first。如果在T_repeat内执行步骤S1405,则终止该组时间单元。在终止该组时间单元之后,如果再次执行步骤S1203,则重新开启一组时间单元。如果在T_repeat内行步骤S1406,则继续开启该组时间单元中的其它时间单元,直至在T_repeat内执行步骤S1405。
由于首个时间单元的预设时长大于其它时间单元的预设时长,因此,前台页面在执行第四操作时,用户可以感知到前台页面在执行一次移动操作之后,存在一个停顿,然后开始连续执行移动操作。
在一些实施例中,在执行步骤S1405时,如果第二区域与第一区域不对应,且第二偏移量大于或者等于第一偏移量阈值,则触发将第二坐标值转换为第二方向键的键值的任务,该过程可以参考步骤S1203,此处不赘述。前台页面执行与第二方向键的键值对应的操作。
在另一些实施例中,在执行步骤S1405时,如果第二区域与第一区域不对应,且第二偏移量大于或者等于第一偏移量阈值,则释放第一方向键的键值,但不触发将第二坐标值转换为第二方向键的键值的任务,即前台页面不响应该移动操作。如果在再次开启的时间单元内,摇杆未发生移动,或者再次发生移动,而移动后的位置的偏移量大于或者等于第一偏移量阈值,且移动后的位置所属区域与第二区域相对应,则触发将第二坐标值转换为第二方向键的键值的任务。在一些实施例中,在将第二坐标值转换为第二方向键的键值之后,可以按照步骤S1401-S1407进行响应,此时,可以将同组的N个时间单元中的第二个时间单元作为首个时间单元,并动态延长该第二个时间单元的时长,以令用户可以感知到连续移动过程中的停顿。
在一些实施例中,显示设备200可以由系统服务按照图16所示的流程判断第一区域与第二区域是否对应,具体步骤如下:
S1601,根据第二坐标值计算第二位置与中心点的第一连线与x轴的第一夹角。
可以按照如下公式计算第一夹角:
其中,x代表第二坐标值中的x坐标,y代表第二坐标值中的y坐标,α代表第一夹角。
S1602,根据第一夹角,确定第二位置在预设坐标系中所属的第三区域。
第三区域为预设坐标系中预设的区域。
以图13所示的预设坐标系为例,如果α>45°,且y>0,则第二位置属于区域S1;如果α>45°,且y<0,则第二位置属于区域S2;如果α<45°,且x<0,则第二位置属于区域S3;如果α<45°,且x>0,则第二位置属于区域S4。其中,第三区域可以为区域S1、区域S2、区域S3或者区域S4。
S1603,如果第三区域与第一区域不同,且第三区域是第一区域的相邻两个预设的区域中靠近第一位置的区域,则根据第一夹角判断第二位置是否属于第一区域的扩大区域。
根据第一坐标值可以确定第一位置所属的第一区域,该过程可以参考步骤S1502,此处不赘述。其中,第一区域可以为区域S1、区域S2、区域S3或者区域S4。
如果第三区域和第一区域为同一个区域,则第三区域与第一区域相同;如果第三区域和第一区域不是同一个区域,则第三区域与第一区域不同。
如果第三区域与第一区域相同,则该第三区域即为第二区域,第二区域与第一区域相对应。
如果第三区域与第一区域不同,且第三区域是与第一区域的相邻两个预设的区域中靠近第一位置的区域,则需要根据第一夹角进一步判断第二位置是否属于第一区域的扩大区域。
例如,第一区域为区域S1,第一区域相邻两个预设的区域为区域S3和区域S4,假设第一位置更靠近区域S4,如果第三区域不是区域S4,则该第三区域即为第二区域,第二区域与第一区域不对应;如果第三区域是区域S4,则根据第一夹角进一步判断。
在确定第二位置所对应的方向时,扩大第一位置所属第一区域的角度范围,得到第一区域的扩大区域。
如果第一位置在第一区域与相邻区域的边界线附近,则在摇杆出现轻微晃动时,摇杆的位置可能会在第一区域和相邻区域之间来回移动,导致频繁交替发送该两个区域对应的方向键的键值,前台页面响应频繁交替接收到的两个方向键的键值,会出现抖动的情况。在摇杆第一次移动至第一区域之后,通过扩大该第一区域的角度范围,并以第一区域的扩大区域为基准,判断再次移动的摇杆是否指示不同的方向,可以有效减少由于摇杆轻微晃动在第一区域和相邻区域内交替出现,而判定指示新的方向的次数,进而可以更好地兼容摇杆在第一区域与相邻区域的边界线的轻微晃动的问题。
以图17所示的预设坐标系为例,与图13所示的预设坐标系相比,如果第一区域为区域S1或者区域S2,则第一区域的扩大区域相较于第一区域扩大的区域对应角度大小为γ°。例如,区域S1的扩大区域相较于区域S1扩大的区域包括区域1701和区域1702,其中,区域1701属于区域S3,区域1702属于区域S4,区域1701和区域1702对应角度大小均为γ°。区域S2的扩大区域相较于区域S2扩大的区域包括区域1703和区域1704,其中,区域1703属于区域S3,区域1704属于区域S4,区域1703和区域1704对应角度大小均为γ°。
其中,如果α<(45+γ)°,则第二位置属于第一区域的扩大区域,第二区域与第一区域相对应;如果α>(45+γ)°,且y>0,则第二位置不属于第一区域的扩大区域,第二位置属于区域S1;如果α>(45+γ)°,且y<0,则第二位置不属于第一区域的扩大区域,第二位置属于区域S2。
以图18所示的预设坐标系为例,与图13所示的预设坐标系相比,如果第一区域为区域S3或者区域S4,则第一区域的扩大区域相较于第一区域扩大的区域对应角度大小为γ°。例如,区域S3的扩大区域相较于区域S3扩大的区域包括区域1801和区域1802,其中,区域1801属于区域S1,区域1802属于区域S2,区域1801和区域1802对应角度大小均为γ°。区域S4的扩大区域相较于区域S4扩大的区域包括区域1803和区域1804,其中,区域1803属于区域S1,区域1804属于区域S2,区域1803和区域1804对应角度大小均为γ°。
其中,如果α>(45-γ)°,则第二位置属于第一区域的扩大区域,第二区域与第一区域相对应;如果α<(45-γ)°,且x>0,则第二位置不属于第一区域的扩大区域,第二位置属于区域S4;如果α<(45-γ)°,且x<0,则第二位置不属于第一区域的扩大区域,第二位置属于区域S3。
S1604,如果第二位置属于第一区域的扩大区域,则第二区域与第一区域相对应。
如果第二位置属于第一区域的扩大区域,则说明第二位置虽然位于第一区域的相邻区域内,但仍位于第一区域扩大的区域内,可以重新定义第二位置所属的区域为第二区域,该第二区域是第一区域的扩大区域。第二区域与第一区域对应相同的方向,第二区域与第一区域相对应。
S1605,如果第二位置不属于第一区域的扩大区域,则第二区域与第一区域不对应。
如果第二位置不属于第一区域的扩大区域,则说明即使扩大第一区域的范围,第二位置仍然不属于该扩大后的区域,可以重新定义第二位置所属的区域为第二区域,该第二区域是第三区域中不属于第一区域的扩大区域的区域。第二区域与第一区域对应不同的方向,第二区域与第一区域不对应。
如果控制信息为游戏手柄400的第一按键的键值,则显示设备200可以由系统服务根据该第一按键的键值和键值映射表确定转换后的第一键值,该第一键值为键值映射表中与第一按键的键值对应的目标键值。其中,第一按键的键值包括游戏手柄400上方向键的键值和其它按键的键值,预存的键值映射表包括控制设备100的第二按键的键值、操作与第一按键的键值的映射关系。
以控制设备100为遥控器为例,键值映射表包括遥控器的向上键(第二按键)的键值(KEY_UP)、操作(向上移动)与游戏手柄400的向上键(第一按键)的键值(EV_ABS_UP)的映射关系。系统服务接收到游戏手柄400发送的EV_ABS_UP之后,根据该键值映射表可以映射至KEY_UP,即目标键值为KEY_UP,进而根据目标键值KEY_UP映射至对应的操作,如向上移动。其中,KEY_UP即为非游戏页面所要响应的目标信息,非游戏页面执行与KEY_UP对应的第二操作,即向上移动。
显示设备200可以由系统服务按照图19所示的流程响应基于游戏手柄400上的按键输入的控制信息,具体步骤如下:
S1901,以预设时长为时间单元,检测在每个时间单元内接收到的第一按键的键值是否相同。
在一些实施例中,在同一组的M(M为大于0的正整数)个时间单元中,首个时间单元对应的预设时长长于其它时间单元对应的预设时长。其中,在确定第一按键的键值不同时,开启下一组的时间单元。
S1902,如果相同,则确定目标键值的状态键值为重复键值,并由前台页面执行与该目标键值和重复键值对应的第五操作。
如果第一按键的键值均相同,即用户长按游戏手柄400上的同一个按键,向显示设备200输入控制信息,则可以确定目标键值的状态键值为重复键值。
前台页面接收到该重复键值之后,根据目标键值和重复键值执行第五操作,如在目标键值所指示方向上连续移动。
S1903,如果不同,则确定目标键值的状态键值为抬起键值,并由前台页面执行与该目标键值和抬起键值对应的第六操作。
如果第一按键的键值不同,即用户切换至按压游戏手柄400上的另一个按键,向显示设备200输入控制信息,或者用户不再按压游戏手柄400上的按键,则可以确定目标键值的状态键值为抬起键值。
前台页面接收到该抬起键值之后,根据目标键值和抬起键值执行第六操作,如结束在目标键值所指示方向上的移动。
在一些实施例中,显示设备200可以按照图20所示的流程自定义游戏手柄400中普通按键的功能,具体步骤如下:
S2001,响应于用户输入的控制指令,显示设置菜单和引导信息。
用户可以通过控制设备100或者游戏手柄400输入控制指令,该控制指令指示进入设置菜单。显示设备200在进入设置菜单之后,还显示引导信息。该引导信息用于引导用户按照指定方法进入按键设置页面。该指定方法可以包括长按预设时长button键。
设置菜单包括按键设置页面的入口。可以参考图21中①所示的前台页面,该前台页面可以为游戏页面和非游戏页面。显示设备200响应于控制指令,显示设置菜单2101,并显示提示信息,如“长按需要自定义的button键达到3s进入自定义”。
S2002,在接收到长按预设时间的其它按键的键值之后,显示按键设置页面。该按键设置页面包括可供定义该其它按键的功能的对象。
显示设备200在接收到其它按键的键值之后,识别该键值是否为游戏手柄400的原始数据,即是否为游戏手柄400上按键的键值。在确定该键值为游戏手柄400上按键的键值时,显示按键设置页面。
按键设置页面中的可供选择的对象可以包括信号源Input和/或应用程序的图标。如图21中②所示,显示设备200接收到长按3s的A键的键值之后,显示按键设置页面。该按键设置页面包括Input的选项,如TV、HDMI1、HDMI2、HDMI3、HDMI4,还包括Apps的选项,如应用a、应用b和应用c。按键设置页面还包括保存(save)选项和取消(cancel)选项。按键设置页面还可以包括引导语,以引导用户如何建立映射,如“选择一个信号源或者应用来定义此button键”。
S2003,响应于用户基于目标对象输入的选择指令,在预设的键值映射表中添加其它按键的键值和该目标对象对应的预设键值的映射关系。
用户可以通过控制设备100或者游戏手柄400控制焦点移动至目标对象上,并输入选择指令,并移动至保存选项输入确认指令,以指示将其它按键与该目标对象做映射。显示设备200在键值映射表中添加该其它按键的键值与该目标对象对应的预设键值的映射关系。目标对象对应的预设键值与控制设备100上的按键相对应,并在键值映射表中对应操作进入该目标对象。由此,完成对button键的自定义。
这样,当显示设备200再次接收到该其它按键的键值之后,可以根据更新后的键值映射表映射到目标对象的预设键值,并进一步映射到操作进入该目标对象。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开的内容,从而使得本领域技术人员更好的使用实施方式。
Claims (12)
1.一种显示设备,其特征在于,包括:
接收器,被配置为:接收游戏手柄发送的控制信息;
存储器,被配置为:存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
控制器,被配置为:
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,获取所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为从所述缓冲区读取到的所述控制信息;在所述非游戏场景下,所述目标信息为第一键值,所述第一键值由从所述缓冲区读取的所述控制信息转换得到,所述第一键值属于所述键值映射表;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
2.根据权利要求1所述的显示设备,其特征在于,所述游戏页面属于网页游戏或者第三方游戏应用。
3.根据权利要求1所述的显示设备,其特征在于,所述控制信息包括摇杆移动后的第一位置在预设坐标系中对应的第一坐标值,在所述非游戏场景下,所述控制器获取所述前台页面所要响应的目标信息,被配置为:
根据所述第一坐标值,计算所述第一位置相对于所述预设坐标系的中心点的第一偏移量;
根据所述第一偏移量和第一偏移量阈值判断是否将所述控制信息转换为所述第一键值,所述第一键值为第一方向键的键值;
其中,如果所述第一偏移量大于或者等于所述第一偏移量阈值,则根据所述第一位置在所述预设坐标系中所属的第一区域,将所述第一坐标值转换为第一方向键的键值,所述预设坐标系包括多个预设的区域,每个所述预设的区域对应一个方向,所述第一区域为所述预设的区域,所述第一方向键指示所述第一区域对应方向;
如果所述第一偏移量小于所述第一偏移量阈值,则不转换所述控制信息。
4.根据权利要求3所述的显示设备,其特征在于,如果所述第一偏移量大于或者等于第一偏移量阈值,则所述控制器根据所述第一坐标值在所述预设坐标系中所属的第一区域,将所述第一坐标值转换为第一方向键的键值之后,还被配置为:
以预设时长为时间单元,检测所述摇杆在每个所述时间单元内是否发生移动;
如果发生移动,则获取所述摇杆移动后的第二位置在所述预设坐标系中对应的第二坐标值;
根据所述第二坐标值计算所述第二位置相对于所述中心点的第二偏移量,以及确定所述第二位置在所述预设坐标系中所属的第二区域;
根据所述第二偏移量和所述第二区域,确定所述第一方向键对应的状态键值;
其中,如果所述第二偏移量小于第二偏移量阈值,和/或所述第二区域与所述第一区域不对应,则确定所述第一方向键对应的状态键值为抬起键值,并由所述前台页面执行与所述第一方向键的键值和所述抬起键值对应的第三操作,所述第二偏移量阈值小于所述第一偏移量阈值,所述第三操作为结束在所述第一方向键所指示方向上的移动;
如果所述第二偏移量大于或者等于所述第二偏移量阈值,且所述第二区域与所述第一区域相对应,则确定所述第一方向键对应的状态键值为重复键值,并由所述前台页面执行与所述第一方向键的键值和所述重复键值对应的第四操作,所述第四操作为在所述第一方向键所指示方向上连续移动;
如果未发生移动,则确定所述第一方向键对应的状态键值为所述重复键值,并由所述前台页面执行与所述第一方向键的键值和所述重复键值对应的所述第四操作。
5.根据权利要求4所述的显示设备,其特征在于,在同一组的N(N为大于0的正整数)个所述时间单元中,首个所述时间单元对应的所述预设时长长于其它所述时间单元对应的所述预设时长,其中,在确定所述第一方向键对应的状态键值为所述抬起键值之后,开启下一组的时间单元。
6.根据权利要求4所述的显示设备,其特征在于,所述控制器根据所述第二偏移量和所述第二区域,确定所述第一方向键对应的状态键值,被配置为:
根据所述第二坐标值计算所述第二位置与所述中心点的第一连线与x轴的第一夹角;
根据所述第一夹角,确定所述第二位置在所述预设坐标系中所属的第三区域,所述第三区域为所述预设的区域;
如果所述第三区域与所述第一区域不同,且所述第三区域是所述第一区域的相邻两个所述预设的区域中靠近所述第一位置的区域,则根据所述第一夹角判断所述第二位置是否属于所述第一区域的扩大区域;
其中,如果所述第二位置属于所述第一区域的扩大区域,则所述第二区域与所述第一区域相对应;
如果所述第二位置不属于所述第一区域的扩大区域,则所述第二区域与所述第一区域不对应。
7.根据权利要求1所述的显示设备,其特征在于,所述控制信息包括所述游戏手柄的第一按键的键值,在所述非游戏场景下,所述控制器获取所述前台页面所要响应的目标信息,被配置为:
根据所述第一按键的键值和所述键值映射表确定所述第一键值,所述第一键值为所述键值映射表中与所述第一按键的键值对应的目标键值,其中,所述第一按键的键值包括所述游戏手柄上方向键的键值和其它按键的键值,所述预存的键值映射表包括所述显示设备的控制设备的第二按键的键值、操作与所述第一按键的键值的映射关系。
8.根据权利要求7所述的显示设备,其特征在于,所述第一按键的键值为所述游戏手柄上方向键的键值,所述控制器根据所述第一按键的键值和所述键值映射表确定所述第一键值之后,还被配置为:
以预设时长为时间单元,检测在每个所述时间单元内接收到的所述第一按键的键值是否相同;
如果相同,则确定所述目标键值的状态键值为重复键值,并由所述前台页面执行与所述目标键值和所述重复键值对应的第五操作,所述第五操作为在所述目标键值所指示方向上连续移动;
如果不同,则确定所述目标键值的状态键值为抬起键值,并由所述前台页面执行与所述目标键值和所述抬起键值对应的第六操作,所述第六操作为结束在所述目标键值所指示方向上的移动。
9.根据权利要求7所述的显示设备,其特征在于,所述控制器,还被配置为:
响应于用户输入的控制指令,控制显示器显示设置菜单和引导信息,所述引导信息用于引导用户按照指定方法进入按键设置页面,所述指定方法包括长按预设时长所述其它按键;
在接收到长按所述预设时间的所述其它按键的键值之后,显示所述按键设置页面,所述按键设置页面包括可供定义所述其它按键的功能的对象;
响应于用户基于目标对象输入的选择指令,在所述预设的键值映射表中添加所述其它按键的键值和所述目标对象对应的预设键值的映射关系。
10.一种显示设备,其特征在于,包括:
接收器,被配置为:接收游戏手柄发送的控制信息;
存储器,被配置为:存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
控制器,被配置为:
从所述缓冲区读取所述控制信息,并获取第一键值,所述第一键值由所述控制信息转换得到;
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,确定所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为所述控制信息;在所述非游戏场景下,所述目标信息为所述第一键值;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
11.一种对游戏手柄的响应方法,其特征在于,应用于如权利要求1-9中任一所述的显示设备,所述显示设备接收游戏手柄发送的控制信息,所述显示设备存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
所述方法包括:
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,获取所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为从所述缓冲区读取到的所述控制信息;在所述非游戏场景下,所述目标信息为第一键值,所述第一键值由从所述缓冲区读取的所述控制信息转换得到,所述第一键值属于所述键值映射表;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
12.一种对游戏手柄的响应方法,其特征在于,应用于如权利要求10所述的显示设备,所述显示设备接收游戏手柄发送的控制信息,所述显示设备存储有键值映射表,所述键值映射表包括控制设备的按键的键值与操作的映射关系,以及在位于核心层的缓冲区内存储所述控制信息;
所述方法包括:
从所述缓冲区读取所述控制信息,并获取第一键值,所述第一键值由所述控制信息转换得到;
识别当前所处的场景,所述当前所处的场景包括游戏场景和非游戏场景,其中,在所述游戏场景下获得焦点的前台页面为游戏页面,在所述非游戏场景下所述前台页面为非游戏页面;
根据所述当前所处的场景,确定所述前台页面所要响应的目标信息,其中,在所述游戏场景下,所述目标信息为所述控制信息;在所述非游戏场景下,所述目标信息为所述第一键值;
由所述前台页面执行与所述目标信息对应的操作;
其中,由所述游戏页面执行与所述控制信息对应的第一操作;由所述非游戏页面执行与所述第一键值对应的第二操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311473668.3A CN117797467A (zh) | 2023-11-07 | 2023-11-07 | 一种显示设备及对游戏手柄的响应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311473668.3A CN117797467A (zh) | 2023-11-07 | 2023-11-07 | 一种显示设备及对游戏手柄的响应方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117797467A true CN117797467A (zh) | 2024-04-02 |
Family
ID=90425633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311473668.3A Pending CN117797467A (zh) | 2023-11-07 | 2023-11-07 | 一种显示设备及对游戏手柄的响应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117797467A (zh) |
-
2023
- 2023-11-07 CN CN202311473668.3A patent/CN117797467A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9288665B2 (en) | In-car information system, in-car device, and information terminal | |
CN1956516B (zh) | 通过图片结合语音显示电视功能界面的方法 | |
WO2022228021A1 (zh) | 显示设备及多设备投屏同屏显示的控制方法 | |
CN104335148A (zh) | 显示装置 | |
CN112527174B (zh) | 一种信息处理方法及电子设备 | |
CN112272417B (zh) | 一种双蓝牙音响回连方法及显示设备 | |
CN111050199A (zh) | 显示设备及显示设备蓝牙通信资源的调度方法 | |
KR20080039642A (ko) | 시각적 멀티태스킹 수행방법 및 이를 수행하기 위한이동통신단말기 | |
WO2020248924A1 (zh) | 显示设备及扫描外部蓝牙设备的方法 | |
CN116366797A (zh) | 一种视频通话方法和显示设备 | |
CN115904290A (zh) | 显示设备、通信终端及投屏控制方法 | |
US20230362782A1 (en) | Data Sharing Method, Electronic Device, and System | |
CN112351334B (zh) | 一种文件传输进度显示方法及显示设备 | |
CN117797467A (zh) | 一种显示设备及对游戏手柄的响应方法 | |
CN115243082B (zh) | 一种显示设备及终端控制方法 | |
US10652657B2 (en) | System, terminal apparatus, main apparatus, and method | |
CN116347166A (zh) | 显示设备及窗口显示方法 | |
CN114286153B (zh) | 一种基于蓝牙aoa的窗口调节方法以及显示设备 | |
WO2022246819A1 (zh) | 一种远程控制系统、方法及存储介质 | |
CN111324255B (zh) | 一种基于双屏终端的应用处理方法及通信终端 | |
CN117311568A (zh) | 控制方法及装置、电子设备 | |
CN117812315A (zh) | 一种显示设备及焦点的移动方法 | |
KR20230143872A (ko) | 전자 장치 및 그 동작 방법 | |
CN117998128A (zh) | 显示设备和显示方法 | |
CN117707363A (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 |