CN109890474B - 用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质 - Google Patents

用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质 Download PDF

Info

Publication number
CN109890474B
CN109890474B CN201680090307.2A CN201680090307A CN109890474B CN 109890474 B CN109890474 B CN 109890474B CN 201680090307 A CN201680090307 A CN 201680090307A CN 109890474 B CN109890474 B CN 109890474B
Authority
CN
China
Prior art keywords
controller device
virtual
virtual controller
input
assigned
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.)
Active
Application number
CN201680090307.2A
Other languages
English (en)
Other versions
CN109890474A (zh
Inventor
史都华·威尔斯
安东尼·P·卡萨诺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Razer Asia Pacific Pte Ltd
Original Assignee
Razer Asia Pacific Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Razer Asia Pacific Pte Ltd filed Critical Razer Asia Pacific Pte Ltd
Publication of CN109890474A publication Critical patent/CN109890474A/zh
Application granted granted Critical
Publication of CN109890474B publication Critical patent/CN109890474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

根据各种实施例,可提供一种仿真虚拟控制器装置的方法。该方法可包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。

Description

用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质
技术领域
各种实施例一般关于一种用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质。
背景技术
常用的游戏手把(gamepad)控制器可具有足够的输入,它们可以表示一个或多个虚拟游戏控制器。然而,虚拟现实应用程序可能不适用于现有的游戏手把控制器。
发明内容
根据各种实施例,可提供一种仿真虚拟控制器装置的方法。该方法可包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
根据各种实施例,可提供一种仿真器。该仿真器可包括:接收器,经配置以接收来自游戏控制器的输入;判定电路,经配置以判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;以及输出电路,经配置为如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据、以及经配置为如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
根据各种实施例,可提供一种计算机可读介质。该计算机可读介质可包括指令,当由计算机执行该指令时,使得该计算机执行一种仿真虚拟控制器装置的方法。该方法可包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
附图说明
在附图中,在所有不同视图中,相同附图标记一般表示相同部件。附图未必按比例绘制,而是一般着重于例示本发明的原理。为清晰起见,可任意扩大或缩小各种特征或组件的尺寸。在以下说明中,将参照以下附图来说明本发明的各种实施例,在附图中:
图1A显示Oculus Rift控制器的侧视图。
图1B显示Oculus Rift控制器的俯视图。
图1C显示Google Daydream控制器。
图1D显示TERIOS T-1蓝牙远程控制器VR游戏手把。
图1E显示PlayStation 4控制器。
图2A显示根据各种实施例的用于仿真虚拟控制器装置的方法的流程图。
图2B显示根据各种实施例的仿真器。
图3显示说明根据各种实施例的用于虚拟现实控制器的游戏控制器输入被分割的流程图。
图4显示说明根据各种实施例的方法的流程图。
图5显示说明根据各种实施例的方法的流程图。
具体实施方式
以下将参考随附附图进行详细说明,该附图以例示的方式显示可用以实现本发明的具体细节及实施例。将足够详细地说明这些实施例,以使本领域技术人员能够实现本发明。可使用其他实施例,且可在不背离本发明的范围下作出结构及逻辑上的改变。各种实施例未必相互排斥,由于一些实施例可与一个或多个其他实施例组合而形成新的实施例。
在本文中,如在此说明书中所述的仿真器可包括存储器,该存储器例如用于在仿真器内所执行的处理。实施例中所使用的存储器可以是易失性存储器,例如DRAM(动态随机存取存储器),或者是非易失性存储器,例如PROM(可编程只读存储器)、EPROM(可擦除PROM)、EEPROM(电可擦除PROM)、或闪存(例如浮栅存储器)、电荷俘获存储器、MRAM(磁阻式随机存取存储器)或PCRAM(相变随机存取存储器)。
在实施例中,“电路”可理解为任一种逻辑执行实体,其可为专用电路或处理器,该处理器用于执行储存于存储器、固件、或其任意组合中的软件。因此,在实施例中,“电路”可以是硬接线逻辑电路或可编程逻辑电路,例如可编程处理器,诸如微处理器(例如复杂指令集计算机(CISC)处理器或精简指令集计算机(RISC)处理器)。“电路”也可为用于执行软件的处理器,该软件例如是任一种计算机程序,诸如使用虚拟机程序代码(例如Java)的计算机程序。以下将更详细描述的各个功能的任何其他种类的实现方式也可根据可替代实施例而被理解为“电路”。
说明书中的用语“包括”应理解为具有广泛的含义,类似于用语“包含”,且将理解为意味包含所述的整体或步骤、或整体或步骤的群组,但不排除任何其他整体或步骤、或整体或步骤的群组。此定义也适用于用语“包括”(诸如“包含”)的变型。
在此说明书中参照的任何现有技术不是且不应被视为承认或以任何形式建议所引用的现有技术在澳大利亚(或任何其他国家)组成公知常识的一部分。
为使本发明可易于理解并实际实行,现在将经由举例而非限制方式参考附图来说明特定实施例。
针对装置提供各种实施例,并针对方法提供各种实施例。应理解,装置的基本性质也适用于方法,反之亦然。因此,为简洁起见,可省略对此种性质的重复说明。
应理解,本文针对特定装置所述的任一性质也可适用于本文所述的任一种装置。应理解,本文针对特定方法所述的任一性质也可适用于本文所述的任一种方法。此外,应理解,对于本文所述的任一种装置或方法,在所述装置或方法中未必必须包含所有所述组件或步骤,而是也可包含仅某些(而非全部)组件或步骤。
本文的用语“耦接”(或“连接”)可理解为电气耦接或机械耦接,例如附接或固定,或仅仅接触而无任何固定,并且应了解,可以提供直接耦接或间接耦接(换言之,并未直接接触的耦接)。
可提供一种虚拟现实控制器,例如Oculus Rift控制器、Google Daydream控制器、TERIOS T-1蓝牙远程控制器VR游戏手把。
图1A显示Oculus Rift控制器102的侧视图100。
图1B显示Oculus Rift控制器102的俯视图108。
图1C显示Google Daydream控制器110。
图1D显示TERIOS T-1蓝牙远程控制器VR游戏手把112。
显示在图1A至图1D中的控制器各自可具有按钮106和轴输入104的组合。这些控制器中的每一个的顶部区域可以是轴输入104,或者可使用表示哈希输入函数的触摸板进行设计。例如,可在控制器上提供两个至四个按钮106。
图1E显示作为常用游戏控制器(例如游戏手把控制器)的示例的PlayStation 4控制器114。
常用的游戏手把控制器可具有足够的输入,它们可以表示一个或多个虚拟游戏控制器。然而,(虚拟现实)应用程序可能不适用于现有的游戏手把控制器。
根据各种实施例,可提供表示一个或多个虚拟VR控制器的装置驱动器,因此应用程序利用现有的硬件。
根据各种实施例,可提供从标准游戏控制器获取输入并表示一个虚拟现实控制器或多个虚拟现实控制器(例如两个不同的虚拟现实控制器)的装置驱动器或用户空间应用程序。
根据各种实施例,可提供表示一个虚拟现实控制器或多个虚拟现实控制器的单个游戏控制器。
图2A显示根据各种实施例的用于仿真虚拟控制器装置的方法的流程图200。在步骤202中,可接收来自游戏控制器的输入。在步骤204中,其可判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置。在步骤206中,如果判定所接收的输入被分配给该第一虚拟控制器装置,则可输出与该第一虚拟控制器装置相关的数据。在步骤208中,如果判定所接收的输入被分配给该第二虚拟控制器装置,则可输出与该第二虚拟控制器装置相关的数据。
换言之,可接收对物理装置的输入,并且基于输入,可将输入模拟为与第一虚拟设备相关的输入或模拟为与第二虚拟设备相关的输入(或与第一虚拟设备和第二虚拟设备两种相关的输入)。
根据各种实施例,第一虚拟控制器装置及/或第二虚拟控制器装置可包括或可以是或可包括在与游戏控制器的类型为不同的类型的控制器。
根据各种实施例,该第一虚拟控制器装置可包括虚拟现实控制器的硬件按钮。根据各种实施例,该第二虚拟控制器装置可包括该虚拟现实控制器的加速度计。
根据各种实施例,该方法可进一步包括接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件中的每个输入组件可被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该输入可以是使用对计算机的硬件接口从该游戏控制器接收的。
根据各种实施例,该硬件接口可包括或可以是通用串行总线和蓝牙中的至少一个。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到驱动器接口;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到驱动器接口。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到操作系统的内核;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到操作系统的内核。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到用户空间应用程序;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到用户空间应用程序。
图2B显示根据各种实施例的仿真器210。该仿真器210可包括接收器212,经配置以接收来自游戏控制器的输入。该仿真器210可进一步包括判定电路214,经配置以判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置。该仿真器210可进一步包括输出电路216,经配置为如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据、以及经配置为如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。该接收器212、该判定电路214及该输出电路216可彼此耦接,如由线218指示,例如电气耦接,例如使用线或电缆及/或机械耦接。
根据各种实施例,该第一虚拟控制器装置及/或该第二虚拟控制器装置可包括或可以是或可包括在与该游戏控制器的类型为不同的类型的控制器。
根据各种实施例,该第一虚拟控制器装置可包括虚拟现实控制器的硬件按钮。根据各种实施例,该第二虚拟控制器装置可包括该虚拟现实控制器的加速度计。
根据各种实施例,该接收器212可进一步经配置以接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该接收器212可经配置为使用对计算机的硬件接口以接收来自该游戏控制器的输入。
根据各种实施例,该硬件接口可包括或可以是通用串行总线和蓝牙中的至少一个。
根据各种实施例,该输出电路216可经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到驱动器接口;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到驱动器接口。
根据各种实施例,该输出电路216可经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到操作系统的内核;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到操作系统的内核。
根据各种实施例,该输出电路216可经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到用户空间应用程序;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到用户空间应用程序。
根据各种实施例,可提供一种计算机可读介质。该计算机可读介质可包括指令,当由计算机执行该指令时,使得该计算机执行一种仿真虚拟控制器装置的方法。该方法可包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
根据各种实施例,该第一虚拟控制器装置及/或该第二虚拟控制器装置可包括或可以是或可包括在与该游戏控制器的类型为不同的类型的控制器。
根据各种实施例,该第一虚拟控制器装置可包括虚拟现实控制器的硬件按钮。根据各种实施例,该第二虚拟控制器装置可包括该虚拟现实控制器的加速度计。
根据各种实施例,该计算机可读介质可包括指令,当由计算机执行该指令时,使得该计算机执行接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件中的每个输入组件可被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该游戏控制器可包括多个输入组件,以及该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
根据各种实施例,该输入可以是使用对计算机的硬件接口从该游戏控制器接收的。
根据各种实施例,该硬件接口可包括或可以是通用串行总线和蓝牙中的至少一个。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到驱动器接口;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到驱动器接口。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到操作系统的内核;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到操作系统的内核。
根据各种实施例,如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据可被输出到用户空间应用程序;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据可被输出到用户空间应用程序。
应理解,对“虚拟”控制器的引用是指可以不是实体存在但是由根据各种实施例的游戏控制器模拟的控制器。虚拟控制器可例如是虚拟VR控制器或任何其他种类的控制器,例如任何类型的控制器、例如控制器的任何类型及/或例如其与正在模拟该虚拟控制器的控制器的类型为不同的类型的控制器。换言之,控制器的一种类型可以被转换成另一种类型的控制器。
根据各种实施例,可能不需要重写虚拟现实应用程序。
根据各种实施例,用于软件应用程序的游戏控制器可表示多个虚拟现实控制器。根据各种实施例,由操作系统装置驱动器接收的人性化接口装置(HID)描述符和(HID)报告可以决定哪个报告应该被转换成一个或多个虚拟现实控制器用的报告。现有游戏应用程序可能会看到与预期行为相对应的输入(或可能会看到事件),并可能相应地进行操作。
图3显示说明根据各种实施例的用于虚拟现实控制器的游戏控制器输入被分割的流程图300。在步骤302中,可以开始游戏控制。在步骤304中,可以提供接口(例如通用串行总线(USB)接口或蓝牙接口)。在步骤306中,可以判定是否操纵杆被移动或按钮被按压。如果在步骤306中判定操纵杆既不被移动且按钮也不被按压,则可在步骤304中进行处理。如果在步骤306中判定操纵杆被移动或按钮被按压,则可在步骤308中提供消耗HID数据的装置驱动器。在步骤310中,可以表示新的(第一)虚拟现实(VR)控制器。在步骤312中,可以表示新的(第二)虚拟现实(VR)控制器。因此,游戏可以看到如由步骤314指示的两个虚拟设备,例如第一虚拟现实控制器和第二虚拟现实控制器。
根据各种实施例,在操作系统(例如Windows,Linux或Android)上运行的应用程序可以看到标准游戏控制器,然后可以通过分离(或转换)信息来创建新的虚拟VR控制器,然后通知操作系统该一个或多个虚拟VR控制器可供使用。如果应用程序可以选择使用哪个控制器,则该方法(也如图4中所示)可以作用,使得该应用程序可以忽略实体游戏控制器,但可以利用可用的虚拟VR控制器。Windows、Linux和Android各自允许在应用程序空间中引入虚拟USB装置。Linux和Android也可允许将HID输入直接发送到内核,从而创建虚拟设备。
图4显示说明根据各种实施例的方法的流程图400。在步骤402中,可以开始游戏控制。在步骤404中,可以提供接口(例如通用串行总线(USB)接口或蓝牙接口)。在步骤406中,可以判定是否操纵杆被移动或按钮被按压。如果在步骤406中判定操纵杆既不被移动且按钮也不被按压,则可在步骤404中进行处理。如果在步骤406中判定操纵杆被移动或按钮被按压,则可在步骤408中建立游戏控制器表示。在步骤410中,应用程序可以创建一个或多个虚拟接口。在步骤412中,可以判定是否操纵杆被移动或按钮被按压。如果在步骤412中判定操纵杆既不被移动且按钮也不被按压,则可在步骤410中进行处理。如果在步骤412中判定操纵杆被移动或按钮被按压,则可在步骤414中判定哪个虚拟接口来表示移动,并且根据该判定,可以将关于该移动的信息发送到步骤416中的第一虚拟控制器或发送到步骤418中的第二虚拟控制器(或第一虚拟控制器和第二虚拟控制器两者)。
一些虚拟现实控制器可包含允许使用者的手臂移动由应用程序注册的加速度计。根据各种实施例,标准控制器(换言之,游戏控制器)可表示单个虚拟现实控制器,并且可取得标准控制器的第一子集(例如一半)来表示输入,以及标准控制器的第二子集(例如后半)允许用户使用按钮和轴控制来进入移动。此图示在图5中。
图5显示说明根据各种实施例的方法的流程图500。在步骤502中,可以开始游戏控制。在步骤504中,可以提供接口(例如通用串行总线(USB)接口或蓝牙接口)。在步骤506中,可以判定是否映射到VR控制器的按钮被按压或映射到VR控制器的轴被致动。如果在步骤506中判定映射到VR控制器的按钮既不被按压且映射到VR控制器的轴也不被致动,则可在步骤508中进行处理;否则,可在步骤510中进行处理。在步骤508中,可以判定是否映射到加速度计的按钮被按压或映射到加速度计的轴被致动。如果在步骤508中判定映射到加速度计的按钮既不被按压且映射到加速度计的轴也不被致动,则可在步骤504中进行处理;否则,可在步骤510中进行处理。在步骤510中,驱动器可将游戏控制器输入转换为VR表示(即为VR控制器输入或加速度计输入,取决于步骤510中的处理是否由步骤506中的处理或由步骤508中的处理引起的)。然后可将VR表示提供给虚拟控制器512。
各种实施例可允许在虚拟现实应用程序中使用现有的游戏控制器(其可被称为旧有控制器(legacy controllers))。这可能是有用的,例如,因为现有游戏不必被修改以利用这些旧有控制器中的任何一个。
以下示例关于另外的实施例。
示例1是一种仿真虚拟控制器装置的方法,该方法包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
在示例2中,示例1的目标可视需要包括:该第一虚拟控制器装置或该第二虚拟控制器装置中的至少一个包括与该游戏控制器的类型为不同的类型的控制器。
在示例3中,示例1至示例2中任一者的目标可视需要包括:该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;以及其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
在示例4中,示例1至示例3中任一者的目标可视需要包括:接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
在示例5中,示例1至示例4中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例6中,示例1至示例5中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例7中,示例1至示例6中任一者的目标可视需要包括:该输入是使用对计算机的硬件接口从该游戏控制器接收的。
在示例8中,示例7的目标可视需要包括:该硬件接口包括通用串行总线和蓝牙中的至少一个。
在示例9中,示例1至示例8中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到驱动器接口;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到驱动器接口。
在示例10中,示例1至示例9中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到操作系统的内核;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到操作系统的内核。
在示例11中,示例1至示例10中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到用户空间应用程序;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到用户空间应用程序。
示例12是一种仿真器,包括:接收器,经配置以接收来自游戏控制器的输入;判定电路,经配置以判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;以及输出电路,经配置为如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据、以及经配置为如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
在示例13中,示例12的目标可视需要包括:该第一虚拟控制器装置和该第二虚拟控制器装置中的至少一个包括与该游戏控制器的类型为不同的类型的控制器。
在示例14中,示例12至示例13中任一者的目标可视需要包括:该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
在示例15中,示例12至示例14中任一者的目标可视需要包括:该接收器进一步经配置以接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
在示例16中,示例12至示例15中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例17中,示例12至示例16中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例18中,示例12至示例17中任一者的目标可视需要包括:该接收器经配置为使用对计算机的硬件接口以接收来自该游戏控制器的输入。
在示例19中,示例18的目标可视需要包括:该硬件接口包括通用串行总线和蓝牙中的至少一个。
在示例20中,示例12至示例19中任一者的目标可视需要包括:该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到驱动器接口;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到驱动器接口。
在示例21中,示例12至示例20中任一者的目标可视需要包括:该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到操作系统的内核;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到操作系统的内核。
在示例22中,示例12至示例21中任一者的目标可视需要包括:该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到用户空间应用程序;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到用户空间应用程序。
示例23是一种计算机可读介质,包括指令,当由计算机执行该指令时,使得该计算机执行一种仿真虚拟控制器装置的方法,该方法包括:接收来自游戏控制器的输入;判定所接收的输入是否被分配给第一虚拟控制器装置或分配给第二虚拟控制器装置;如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据;以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据。
在示例24中,示例23的目标可视需要包括:该第一虚拟控制器装置和该第二虚拟控制器装置中的至少一个包括与该游戏控制器的类型为不同的类型的控制器。
在示例25中,示例23至示例24中任一者的目标可视需要包括:该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
在示例26中,示例23至示例25中任一者的目标可视需要包括:指令,当由计算机执行该指令时,使得该计算机执行:接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
在示例27中,示例23至示例26中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例28中,示例23至示例27中任一者的目标可视需要包括:该游戏控制器包括多个输入组件;其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
在示例29中,示例23至示例28中任一者的目标可视需要包括:该输入是使用对计算机的硬件接口从该游戏控制器接收的。
在示例30中,示例29的目标可视需要包括:该硬件接口包括通用串行总线和蓝牙中的至少一个。
在示例31中,示例23至示例30中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到驱动器接口;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到驱动器接口。
在示例32中,示例23至示例31中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到操作系统的内核;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到操作系统的内核。
在示例33中,示例23至示例32中任一者的目标可视需要包括:如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到用户空间应用程序;其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到用户空间应用程序。
尽管已参照具体实施例具体地显示并说明本发明,然而本领域技人员应理解,在不背离由随附权利要求书所界定的本发明的精神及范围的条件下,可对本发明作出形式及细节上的各种改变。本发明的范围因此由随附权利要求书表示,且因此旨在包括处于权利要求书的等效内容的意义及范围内的所有变化。

Claims (30)

1.一种仿真用于控制虚拟现实应用程序的控制器装置的方法,其中所仿真的控制器装置是非物理的虚拟控制器装置,所述方法包括:
接收来自旧有游戏控制器的输入,其中该旧有游戏控制器是物理装置并且包括至少一个按钮和轴控制;
基于该旧有游戏控制器的预定人性化接口描述符,判定所接收的来自该至少一个按钮的输入被分配给用于控制该虚拟现实应用程序的第一虚拟控制器装置和/或所接收的来自该轴控制的输入被分配给用于控制该虚拟现实应用程序的第二虚拟控制器装置,其中该第一虚拟控制器装置和该第二虚拟控制器装置是非物理的装置;
如果判定所接收的输入被分配给该第一虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该至少一个按钮的输入以表示来自该第一虚拟控制器装置的输入;以及
如果判定所接收的输入被分配给该第二虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该轴控制的输入以表示来自该第二虚拟控制器装置的输入。
2.如权利要求1所述的方法,其中该第一虚拟控制器装置和该第二虚拟控制器装置中的至少一个包括与该旧有游戏控制器的类型为不同的类型的控制器。
3.如权利要求1所述的方法,其中该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;以及
其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
4.如权利要求1所述的方法,进一步包括:接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
5.如权利要求1所述的方法,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
6.如权利要求1所述的方法,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
7.如权利要求1所述的方法,其中该输入是使用对计算机的硬件接口从该旧有游戏控制器接收的。
8.如权利要求7所述的方法,其中该硬件接口包括通用串行总线和蓝牙中的至少一个。
9.如权利要求1所述的方法,其中如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到驱动器接口;以及
其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到驱动器接口。
10.如权利要求1所述的方法,其中如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到操作系统的内核;以及
其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到操作系统的内核。
11.如权利要求1所述的方法,其中如果判定所接收的输入被分配给该第一虚拟控制器装置,则与该第一虚拟控制器装置相关的数据被输出到用户空间应用程序;以及
其中如果判定所接收的输入被分配给该第二虚拟控制器装置,则与该第二虚拟控制器装置相关的数据被输出到用户空间应用程序。
12.一种仿真用于控制虚拟现实应用程序的控制器装置的仿真器,其中所仿真的控制器装置是非物理的虚拟控制器装置,所述仿真器包括:
接收器,经配置以接收来自旧有游戏控制器的输入,其中该旧有游戏控制器是物理装置并且包括至少一个按钮和轴控制;
判定电路,经配置以基于该旧有游戏控制器的预定人性化接口描述符,判定所接收的来自该至少一个按钮的输入被分配给用于控制该虚拟现实应用程序的第一虚拟控制器装置和/或所接收的来自该轴控制的输入被分配给用于控制该虚拟现实应用程序的第二虚拟控制器装置,其中该第一虚拟控制器装置和该第二虚拟控制器装置是非物理的装置;以及
输出电路,经配置为如果判定所接收的输入被分配给该第一虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该至少一个按钮的输入以表示来自该第一虚拟控制器装置的输入、以及经配置为如果判定所接收的输入被分配给该第二虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该轴控制的输入以表示来自该第二虚拟控制器装置的输入。
13.如权利要求12所述的仿真器,其中该第一虚拟控制器装置和该第二虚拟控制器装置中的至少一个包括与该旧有游戏控制器的类型为不同的类型的控制器。
14.如权利要求12所述的仿真器,其中该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;以及
其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
15.如权利要求12所述的仿真器,其中该接收器进一步经配置以接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
16.如权利要求12所述的仿真器,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
17.如权利要求12所述的仿真器,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
18.如权利要求12所述的仿真器,其中该接收器经配置为使用对计算机的硬件接口以接收来自该旧有游戏控制器的输入。
19.如权利要求18所述的仿真器,其中该硬件接口包括通用串行总线和蓝牙中的至少一个。
20.如权利要求12所述的仿真器,其中该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到驱动器接口、以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到驱动器接口。
21.如权利要求12所述的仿真器,其中该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到操作系统的内核、以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到操作系统的内核。
22.如权利要求12所述的仿真器,其中该输出电路经配置为:如果判定所接收的输入被分配给该第一虚拟控制器装置,则输出与该第一虚拟控制器装置相关的数据到用户空间应用程序、以及如果判定所接收的输入被分配给该第二虚拟控制器装置,则输出与该第二虚拟控制器装置相关的数据到用户空间应用程序。
23.一种计算机可读介质,包括指令,当由计算机执行该指令时,使得该计算机执行一种仿真用于控制虚拟现实应用程序的控制器装置的方法,其中所仿真的控制器装置是非物理的虚拟控制器装置,该方法包括:
接收来自旧有游戏控制器的输入,其中该旧有游戏控制器是物理装置并且包括至少一个按钮和轴控制;
基于该旧有游戏控制器的预定人性化接口描述符,判定所接收的来自该至少一个按钮的输入被分配给用于控制该虚拟现实应用程序的第一虚拟控制器装置和/或所接收的来自该轴控制的输入被分配给用于控制该虚拟现实应用程序的第二虚拟控制器装置,其中该第一虚拟控制器装置和该第二虚拟控制器装置是非物理的装置;
如果判定所接收的输入被分配给该第一虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该至少一个按钮的输入以表示来自该第一虚拟控制器装置的输入;以及
如果判定所接收的输入被分配给该第二虚拟控制器装置,则模拟所接收的来自该旧有游戏控制器的该轴控制的输入以表示来自该第二虚拟控制器装置的输入。
24.如权利要求23所述的计算机可读介质,其中该第一虚拟控制器装置和该第二虚拟控制器装置中的至少一个包括与该旧有游戏控制器的类型为不同的类型的控制器。
25.如权利要求23所述的计算机可读介质,其中该第一虚拟控制器装置包括虚拟现实控制器的硬件按钮;以及
其中该第二虚拟控制器装置包括该虚拟现实控制器的加速度计。
26.如权利要求23所述的计算机可读介质,进一步包括指令,当由计算机执行该指令时,使得该计算机执行:
接收用于将所接收的输入分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置的用户输入。
27.如权利要求23所述的计算机可读介质,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件中的每个输入组件被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
28.如权利要求23所述的计算机可读介质,其中该旧有游戏控制器包括多个输入组件;以及
其中该多个输入组件的输入组件的组合被分配给该第一虚拟控制器装置或分配给该第二虚拟控制器装置。
29.如权利要求23所述的计算机可读介质,其中该输入是使用对计算机的硬件接口从该旧有游戏控制器接收的。
30.如权利要求29所述的计算机可读介质,其中该硬件接口包括通用串行总线和蓝牙中的至少一个。
CN201680090307.2A 2016-09-01 2016-09-01 用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质 Active CN109890474B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2016/050427 WO2018044229A1 (en) 2016-09-01 2016-09-01 Methods for emulating a virtual controller device, emulators, and computer-readable media

Publications (2)

Publication Number Publication Date
CN109890474A CN109890474A (zh) 2019-06-14
CN109890474B true CN109890474B (zh) 2023-04-04

Family

ID=61305225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680090307.2A Active CN109890474B (zh) 2016-09-01 2016-09-01 用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质

Country Status (7)

Country Link
US (1) US10974144B2 (zh)
EP (1) EP3506991A4 (zh)
CN (1) CN109890474B (zh)
AU (1) AU2016422147B2 (zh)
SG (1) SG11201901521WA (zh)
TW (1) TWI758315B (zh)
WO (1) WO2018044229A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3612940A4 (en) * 2017-04-21 2020-04-29 Razer (Asia-Pacific) Pte Ltd. TEST DEVICES AND METHOD FOR TESTING DEVICE DRIVER SOFTWARE
US11813522B2 (en) * 2021-05-25 2023-11-14 Sony Interactive Entertainment LLC Systems and methods for emulation of user input during a play of a legacy game
GB2620789A (en) * 2022-07-22 2024-01-24 Sony Interactive Entertainment Inc An entertainment system, a method and a computer program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103620544A (zh) * 2011-04-13 2014-03-05 雷蛇(亚太)私人有限公司 提供附加3d用户接口的计算机外围显示器和通讯装置
CN105477857A (zh) * 2015-02-13 2016-04-13 广州爱九游信息技术有限公司 游戏手柄适配方法、装置及系统
WO2016080906A1 (en) * 2014-11-18 2016-05-26 Razer (Asia-Pacific) Pte. Ltd. Gaming controller for mobile device and method of operating a gaming controller
KR20160063824A (ko) * 2014-11-27 2016-06-07 이동섭 전자기기의 제어를 위한 스마트 단말의 제어 인터페이스 설정 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421590A (en) 1993-07-23 1995-06-06 Commodore Electronics Limited Multiple linked game controllers
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6811491B1 (en) 1999-10-08 2004-11-02 Gary Levenberg Interactive video game controller adapter
GB2361083B (en) * 1999-12-16 2002-02-06 Richard Stammers An emulator device for a games system
US6884171B2 (en) * 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network
US9849372B2 (en) 2012-09-28 2017-12-26 Sony Interactive Entertainment Inc. Method and apparatus for improving efficiency without increasing latency in emulation of a legacy application title
US20060097453A1 (en) * 2002-12-04 2006-05-11 Philip Feldman Game controller with force sensing input devices and method of measuring applied forces to game controller input devices to interact with a gaming application
US8012025B2 (en) * 2002-12-13 2011-09-06 Applied Minds, Llc Video game controller hub with control input reduction and combination schemes
US7155305B2 (en) 2003-11-04 2006-12-26 Universal Electronics Inc. System and methods for home appliance identification and control in a networked environment
US7803054B1 (en) 2004-03-31 2010-09-28 Microsoft Corporation Multi-vehicle cross-network coordination
WO2006100540A1 (en) * 2005-03-23 2006-09-28 Nokia Corporation Method and mobile terminal device for mapping a virtual user input interface to a physical user input interface
US20070061126A1 (en) 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
JP4260814B2 (ja) 2006-03-09 2009-04-30 任天堂株式会社 ゲーム装置およびゲームプログラム
JP5037842B2 (ja) 2006-03-28 2012-10-03 任天堂株式会社 情報処理装置およびプログラム
JP4917347B2 (ja) 2006-05-09 2012-04-18 任天堂株式会社 ゲーム装置およびゲームプログラム
US8795078B1 (en) * 2006-07-14 2014-08-05 Ailive Inc. Method and system providing compatibility between two different controllers
US20090318223A1 (en) 2008-06-23 2009-12-24 Microsoft Corporation Arrangement for audio or video enhancement during video game sequences
US20110009195A1 (en) * 2009-07-08 2011-01-13 Gunjan Porwal Configurable representation of a virtual button on a game controller touch screen
TWM383434U (en) * 2009-12-25 2010-07-01 Univ Southern Taiwan Tech Game device to simulate the movement
US20110312417A1 (en) * 2010-06-17 2011-12-22 Mackay Gordon Team play game device
US8806054B1 (en) * 2010-12-15 2014-08-12 Amazon Technologies, Inc. Sending application input commands over a network
US8298084B2 (en) 2011-02-03 2012-10-30 Edmond Yee Multi-player game controller system with combinable hand-held game controllers
US9377863B2 (en) * 2012-03-26 2016-06-28 Apple Inc. Gaze-enhanced virtual touchscreen
US20130324236A1 (en) * 2012-06-04 2013-12-05 Techart Llc Protocol converter
US9248374B2 (en) * 2012-06-29 2016-02-02 Sony Computer Entertainment Inc. Replay and resumption of suspended game
US9931566B2 (en) 2014-01-29 2018-04-03 Eddie's Social Club, LLC Game system with interactive show control
US11185783B2 (en) 2013-03-14 2021-11-30 Sony Interactive Entertainment Inc. Controller emulation for cloud gaming
US10755003B2 (en) 2013-11-08 2020-08-25 Rockwell Automation Technologies, Inc. Time synchronization of signal transmission intervals for simulating a machine in industrial automation
US10286308B2 (en) * 2014-11-10 2019-05-14 Valve Corporation Controller visualization in virtual and augmented reality environments
US10318013B1 (en) * 2015-04-01 2019-06-11 Bansen Labs LLC System and method for converting input from alternate input devices
US9678566B2 (en) * 2015-06-03 2017-06-13 Oculus Vr, Llc Hand-held controllers for virtual reality system
US9999833B2 (en) * 2015-06-11 2018-06-19 Oculus Vr, Llc Hand-held controllers with capacitive touch sensors for virtual-reality systems
CN105894800A (zh) * 2016-05-10 2016-08-24 杭州联络互动信息科技股份有限公司 一种智能手柄以及设备控制系统
US20170346792A1 (en) * 2016-05-26 2017-11-30 Mark Nataros System and method for kernel level video operations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103620544A (zh) * 2011-04-13 2014-03-05 雷蛇(亚太)私人有限公司 提供附加3d用户接口的计算机外围显示器和通讯装置
WO2016080906A1 (en) * 2014-11-18 2016-05-26 Razer (Asia-Pacific) Pte. Ltd. Gaming controller for mobile device and method of operating a gaming controller
KR20160063824A (ko) * 2014-11-27 2016-06-07 이동섭 전자기기의 제어를 위한 스마트 단말의 제어 인터페이스 설정 방법
CN105477857A (zh) * 2015-02-13 2016-04-13 广州爱九游信息技术有限公司 游戏手柄适配方法、装置及系统

Also Published As

Publication number Publication date
TW201812539A (zh) 2018-04-01
AU2016422147A1 (en) 2019-04-11
WO2018044229A1 (en) 2018-03-08
US20190217193A1 (en) 2019-07-18
US10974144B2 (en) 2021-04-13
TWI758315B (zh) 2022-03-21
CN109890474A (zh) 2019-06-14
SG11201901521WA (en) 2019-03-28
EP3506991A4 (en) 2019-08-21
AU2016422147B2 (en) 2022-06-30
EP3506991A1 (en) 2019-07-10

Similar Documents

Publication Publication Date Title
US8448094B2 (en) Mapping a natural input device to a legacy system
CN109890474B (zh) 用于仿真虚拟控制器装置的方法、仿真器及计算机可读介质
RU2701988C2 (ru) Параметрическая инерция и интерфейсы прикладного программирования
US7568189B2 (en) Code translation and pipeline optimization
CN109491586B (zh) 虚拟对象控制方法及装置、电子设备、存储介质
US20140004949A1 (en) Haptic enhancements for emulated video game not originally designed with haptic capabilities
CN107297073B (zh) 外设输入信号的模拟方法、装置及电子设备
US20140004941A1 (en) Conversion of haptic events into screen events
CN111481923B (zh) 摇杆显示方法及装置、计算机存储介质、电子设备
CN111080755B (zh) 一种运动解算方法、装置、存储介质及电子设备
CN101868780B (zh) 增强的微处理器或微控制器
CN113868174B (zh) 验证平台搭建方法、装置及存储介质
US11625234B2 (en) Videogame patch data compilation system
AU2017410256B2 (en) Testing devices and methods for testing a device driver software
TWI614684B (zh) 即時韌體更新方法及其電腦可讀取媒介
Besari et al. Preliminary design of interactive visual mobile programming on educational robot ADROIT V1
WO2017029812A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
EP3161652B1 (en) Full virtual machine functionality
WO2013167394A1 (en) Instruction execution simulation method using trapped addresses and associated hardware
EP3961389A1 (en) Virtual machine for developing and testing target code for hardware designs
TWI389027B (zh) 中央處理單元及微控制器
CN115934526A (zh) 一种应用级物联网固件仿真执行方法及系统
CN116778787A (zh) 逻辑门电路的仿真显示方法、装置、电子设备及存储介质
CN115228087A (zh) 游戏角色控制优化方法、装置、电子设备及介质
Ogawa et al. Implementing the device driver of external human interaction device for the Android

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
GR01 Patent grant
GR01 Patent grant