Compatible accessory module

By designing a universal compatible accessory module, using haptic drivers and LED drivers to simulate the shape and haptics of motion accessories, the problem that existing virtual reality game controllers cannot simulate actual motion accessories is solved, achieving better user experience and gaming performance.

CN119183392APending Publication Date: 2024-12-24CTRL-LABS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380040063.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-24
Filing Date
2023-05-23
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

Existing virtual reality game controllers are unable to effectively simulate the shape, balance and touch of actual sports accessories, resulting in poor user experience and gaming performance.

Method used

A universal compatible accessory module is designed, including haptic drivers, LED drivers, batteries, multiple LEDs and mechanical actuators, which can be interchanged with different shapes of moving accessories through unique geometric shapes and cluster identification to provide precise haptic Feedback and experience.

Benefits of technology

It enhances user experience and game performance, allowing players to feel similar feelings and experiences to actual activities in virtual reality games, and improves the processing efficiency of tactile feedback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119183392A_ABST
    Figure CN119183392A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure may include a generic compliant accessory module that includes a haptic driver. Embodiments may also include a light emitting diode (LED) driver. Embodiments may also include a battery. Embodiments may also include a plurality of LEDs controlled by an LED driver, the plurality of LEDs positioned along an outer edge of the module according to a unique geometry. Embodiments may also include at least one mechanical actuator controlled by the haptic driver.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to haptic feedback in peripheral accessories, and more particularly to universally compatible accessory modules. Background Art

[0002] Video and computer games started out as simple two-dimensional games that users viewed on a display during game play, but have evolved into more complex three-dimensional (3D) games, and even virtual reality games. Even these games can quickly become routine and boring without something more exciting for the player.

[0003] Today's virtual reality games (e.g., sports games) require the development of accessories that enhance user experience and game performance. Examples of general sports accessories include, but are not limited to, table tennis rackets, tennis rackets, fishing rods, and lightsabers that can be used as game controllers for corresponding virtual reality games.

[0004] Existing game controllers can be mechanically mounted to these universal motion accessories. However, "hacking" a game controller into a universal motion accessory usually does not have the same shape or balance to provide the same feel as the actual action during game play. Summary of the invention

[0005] The invention relates to a universally compatible accessory module according to the independent claim. Advantageous embodiments may comprise the features of the dependent claims.

[0006] The subject disclosure provides a universally compatible accessory module. Allows a user to participate in virtual reality games using gaming accessories that enhance user experience and gaming performance by mimicking the shape, balance, and overall feel of the actual accessory to provide the same feel as the actual activity during game play. For example, the universally compatible accessory module can be interchangeable with a variety of different form factors (e.g., tennis rackets, table tennis rackets, and fishing rods) that closely mimic the feel and experience of the activity with a closely corresponding shape, weight, and precise tactile feel of the actual accessory.

[0007] According to a first aspect of the present disclosure, a universally compatible accessory module is provided, wherein the universally compatible accessory module includes: a tactile driver; a light emitting diode (LED) driver; a battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometry; and at least one mechanical actuator, the at least one mechanical actuator being controlled by the tactile driver.

[0008] In some embodiments, the mechanical actuators may be at least one of magnetic actuators and piezoelectric actuators.

[0009] In some embodiments, the unique geometry can include spacing the plurality of LEDs at a uniform distance and then perturbing the spacing by about 1 centimeter (cm).

[0010] In some embodiments, the unique geometry may be asymmetrical.

[0011] In some embodiments, there may be six LEDs.

[0012] In some embodiments, the modules may include pairs of modules including one module for each hand.

[0013] In some embodiments, the universally-compatible accessory module can also include at least one button, at least one trigger, and / or at least one analog input.

[0014] In some embodiments, the module may be implemented as an on-board portion and an off-board portion, wherein the control electronics may be disposed on the on-board portion and the plurality of LEDs may be disposed on the off-board portion.

[0015] In some embodiments, the haptic driver and the light emitting diode (LED) driver can be disposed on the onboard portion.

[0016] In some embodiments, the at least one mechanical actuator may be disposed on the panel outer portion.

[0017] In some embodiments, the on-board portion may be linked to the off-board portion via a wireless connector.

[0018] In some embodiments, the control electronics of the onboard portion may be at least partially implemented on a printed circuit board (PCB).

[0019] In some embodiments, the onboard portion can be interchangeably coupled with a variety of different accessories.

[0020] In some embodiments, these different attachment types can be identified by constellations.

[0021] In some embodiments, the left and right sides of individual accessories of the same type can be identified by the cluster.

[0022] In some embodiments, the orientations of the different accessories may be identified by the cluster.

[0023] In some embodiments, the control electronics can accommodate each of the different accessories based on the cluster.

[0024] In some embodiments, the control electronics can accommodate each of these different accessories in terms of size, shape, feel, and weight.

[0025] According to a second aspect of the present disclosure, a universally compatible accessory module is provided, wherein the universally compatible accessory module includes: a tactile driver; a light emitting diode (LED) driver; a battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometry; and at least one mechanical actuator, the at least one mechanical actuator being controlled by the tactile driver, wherein the tactile driver and the LED driver are interchangeably coupled with a variety of different accessories, the different accessories including at least one of the following: a sports accessory, an inclusive controller, and / or a glove.

[0026] According to a third aspect of the present disclosure, a universally compatible accessory module is provided, wherein the universally compatible accessory module includes: a tactile driver; a light emitting diode (LED) driver; a battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometry; at least one mechanical actuator, the at least one mechanical actuator being controlled by the tactile driver; an off-board portion having the plurality of LEDs; and an on-board portion having control electronics, the control electronics including at least the tactile driver and the LED driver, wherein the on-board portion is interchangeably coupled with a variety of different accessories, the different accessories being uniquely identified by clusters of at least some of the plurality of LEDs, and wherein the different accessories include at least one of: a sports accessory, an inclusive controller, and / or a glove.

[0027] According to another aspect of the present disclosure, a universally compatible accessory module is provided, wherein the universally compatible accessory module includes a means for driving a haptic. Embodiments may also include a means for driving a light source. Embodiments may also include a means for providing power. Embodiments may also include a plurality of means for emitting light through the means for driving a light source, the plurality of means for emitting light being positioned along an outer edge of the module according to a unique geometry. Embodiments may also include at least one means for actuation, the at least one means for actuation being controlled by the means for driving a haptic.

[0028] It will be understood that any feature described herein as being suitable for incorporation into one or more aspects or embodiments of the present disclosure is intended to be applicable to any and all aspects and embodiments of the present disclosure. Other aspects of the present disclosure can be understood by those skilled in the art based on the specification, claims and drawings of the present disclosure. The foregoing general description and the following detailed description are exemplary and illustrative only and do not limit the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] To easily identify the discussion of any particular element or act, the most significant digit(s) in a reference number refers to the figure number in which the element is first introduced.

[0030] Figure 1 is a high-level block diagram illustrating on-board and off-board components of an example universally compatible accessory module in accordance with one or more embodiments.

[0031] Figure 2 is a perspective view of example table tennis racket and tennis racket sporting accessories in which example universally compatible accessory modules may be implemented in accordance with one or more embodiments.

[0032] Figure 3 is a perspective view of an example fishing pole sport accessory in which an example universally compatible accessory module may be implemented in accordance with one or more embodiments.

[0033] Figure 4 A universally compatible accessory module is shown in accordance with one or more implementations.

[0034] Figure 5 is a block diagram illustrating an example computer system (eg, representing both clients and servers) that can be used to implement aspects of the subject technology.

[0035] In one or more embodiments, not all of the components depicted in each of the figures may be required, and one or more embodiments may include additional components not shown in the figures. The arrangement and type of components may be varied without departing from the scope of the subject disclosure. Additional components, different components, or fewer components may be used within the scope of the subject disclosure. DETAILED DESCRIPTION

[0036] In the following detailed description, many specific details are set forth to provide a comprehensive understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that embodiments of the present disclosure may be practiced without some of these specific details. In other cases, well-known structures and techniques are not shown in detail to avoid obscuring the present disclosure.

[0037] Currently, game controllers for virtual reality games are typically manufactured for different games. Game controllers can be mechanically mounted to a universal attachment for use with different types of games (e.g., a steering wheel for a driving game). However, game controllers mounted in this way often do not have the correct shape, weight, and feel, and therefore cannot closely simulate the feel and experience of the actual activity.

[0038] The subject disclosure provides a universally compatible accessory module. The universally compatible accessory module includes gaming accessories that enhance user experience and gaming performance by simulating the shape, balance, and overall feel of actual accessories to provide a gaming experience that closely resembles the experience of an actual activity. For example, the universally compatible accessory module can be interchangeable with a variety of different form factors (e.g., tennis rackets, table tennis rackets, and fishing poles) that closely simulate the feel and experience of an activity with a closely corresponding shape, weight, and precise tactile feel of the actual accessory.

[0039] The embodiments described herein address the aforementioned and other disadvantages by providing a universally compatible accessory module that can be used with a variety of different form factors (e.g., tennis rackets, table tennis rackets, and fishing poles). The accessory module closely simulates the feel and experience of the activity with shape, weight, and precise tactile sensations. In an example, interchangeable control electronics can be provided for a range of accessories that can recognize a specific form factor with a custom cluster and match the tactile feedback for the activity. In an example, the accessory module can also be used with an already existing game.

[0040] Figure 1 1 is a high-level block diagram illustrating components of an on-board portion 110 and off-board portion 120 of an example universally compatible accessory module 100, according to one or more embodiments. In an example, control electronics are disposed on the on-board portion 110. For example, a haptic driver 111 and a light emitting diode (LED) driver 112 are disposed on the on-board portion 110. Similar to a conventional game controller, an LED 121 and user controls 122 such as one or more buttons, triggers, one or more thumbwheels, a home button, etc. are disposed on the off-board portion 120. At a minimum, the off-board portion 120 includes buttons, triggers (which may be binary), and analog inputs. One or more mechanical actuators may also be disposed on the off-board portion.

[0041] The control electronics of the onboard portion 110 may include one or more processors 115, a haptic driver 111, an infrared LED 113 (e.g., for status), a charging unit 114 (e.g., for charging a battery), an inertial measurement unit (IMU) 116, a home button 117, and a load switch 118. Further examples of control electronics may include, but are not limited to, an LED boost and LED driver 112 (e.g., powered by an onboard battery 140). A buck converter 119 may be provided to eliminate the need for a boost integrated circuit. A USB type connector 150 may be provided for power input (e.g., for charging a battery).

[0042] The onboard portion 110 is linked to the offboard portion 120 by physical and / or wireless connectors 130, 135. Such a configuration enables the onboard portion 110 of the accessory module 100 to interface with different form factors that accommodate the offboard portion 120, while the offboard portion 120 is unique to the form factor. By way of illustration, the onboard portion 110 of the module 100 may include an electronics platform, such as one or more circuit boards or PCBs having control electronics for controlling the various different form factors (e.g., see Figure 2 and Figure 3 ). In an example, the control electronics of the onboard portion 110 are at least partially implemented on a printed circuit board (PCB). An LED 121 may be provided for each form factor, and the LED 121 may be unique to each form factor. This enables the LED 121 to identify different accessories or types of form factors for the control electronics.

[0043] In an example, the control electronics accommodate each of the different accessories or form factors based on clusters (e.g., by cluster tracking). As an illustration, the LEDs 121 can identify the type of form factor used for the control electronics by a particular cluster. The LEDs 121 can identify the left and right sides of a separate accessory of the same type by cluster. The LEDs can identify the orientation of different accessories by cluster. In an example, the control electronics of the onboard portion 120 accommodate each of the different accessories by size, shape, feel, and weight.

[0044] In an example, clusters are defined by the geometry of the LEDs on the form factor. As an illustration, six (6) LEDs may be arranged on the edge of a form factor (e.g., along the handle of a tennis racket). The LED placement may be spaced uniformly apart from one another, and then the position of the LEDs may be "perturbed," such as by about 1 centimeter, to break the symmetry and create a unique cluster for each particular form factor. That is, each form factor has a unique cluster, thereby identifying the form factor (e.g., as a table tennis racket or a tennis racket).

[0045] In an example, the onboard portion 110 may also execute firmware and / or software. Example executions may include pairing a controller with a gaming device, issuing commands and / or feedback based on a cluster, or controlling haptics (e.g., specific to a form factor). In an example, the software and / or firmware supports writing custom LED / IMU calibration files and FW updates through a debug interface. In an example, tracking services may support custom LED / IMU geometries. The software and / or firmware may support reuse of current games that allow modified controllers.

[0046] Figure 2 is a perspective view of example table tennis racket 200 and tennis racket 205 sporting accessories that may implement example universally compatible accessory module 210 according to one or more embodiments. In the example, the overall shape of the form factor closely simulates an actual device (e.g., an actual table tennis racket, an actual tennis racket, etc.). It should be noted that Figure 2 The example table tennis racket 200 and tennis racket 205 shown in the example table tennis racket 200 and tennis racket 205 represent off-board portions of the module that simulate actual devices, but are not actual devices with game controllers bound to them. Instead, the example table tennis racket 200 and tennis racket 205 sports accessories are specially configured as part of the overall module for use with the on-board portion of the module 210.

[0047] All electronics are located on the onboard portion of module 210 (e.g. Figure 2 200 or the like), so all of the electronics are "built-in" when the onboard portion of module 210 is added to a form factor (e.g., inserted into the handle of table tennis racket 200 or tennis racket 205). Thus, a conventional game controller does not need to be strapped to the device when playing games. In addition, the onboard portion of module 210 can be moved between different form factors (e.g., in Figure 2The table tennis racket 200 and tennis racket 205 sports accessories shown in the figure can be interchanged between them, so that only one of the onboard parts of the module 210 with control electronics needs to be provided for each different form factor. For each form factor, form factor-specific (e.g., table tennis racket 200-specific and tennis racket 205-specific) haptics can be uniquely provided and adaptively controlled by mechanical actuators (e.g., magnetic actuators and / or piezoelectric actuators) of the onboard control electronics of the table tennis racket 200 or the tennis racket 205.

[0048] Figure 3 is a perspective view of an example fishing rod sport accessory 300 that may implement an example universally compatible accessory module 310 according to one or more embodiments. In the example, the overall shape of the form factor (e.g., Figure 3 The fishing rod sports attachment 300 in the embodiment of the present invention closely simulates the actual equipment (e.g., Figure 3 Fishing rod 320 shown at top). Likewise, all electronics are located on the onboard portion of module 310 (e.g., Figure 3 ), so when the onboard portion of module 310 is added to a form factor (e.g., inserted into fishing rod handle 300) all the electronics are "built-in" and a conventional game controller does not need to be tied to fishing rod device 320 when playing games. In addition, the onboard portion of module 310 can be switched between different form factors (e.g., Figure 3 Fishing rod handle 300 with Figure 2 200 or tennis racket 205 shown in FIG. 20). Only one of the onboard portions of module 310 with control electronics is required for each of the different form factors. For each form factor, form factor-specific (e.g., Figure 3 The invention also provides tactile sensations of the fishing rod handle 300 in the embodiment of the present invention, and adaptively controls these tactile sensations through mechanical actuators (e.g., magnetic actuators and / or piezoelectric actuators) of the onboard control electronics.

[0049] The disclosed system or systems solve a problem in conventional haptic feedback technology related to computer technology, namely, the technical problem of providing a user with a gaming experience that closely simulates the feeling of actual activity. The disclosed system solves this technical problem by providing a solution that is also rooted in computer technology, namely, by providing a universally compatible accessory module. The disclosed subject technology further improves the functionality of the computer itself because it improves the process and efficiency of providing haptic feedback.

[0050] Figure 4is a block diagram illustrating a universally compatible accessory module 400 according to another embodiment of the present disclosure. In some embodiments, the universally compatible accessory module 400 can include a haptic driver 410, a light emitting diode (LED) driver 420, a battery 430, a plurality of LEDs 440 controlled by the LED driver 420, at least one mechanical actuator 450 controlled by the haptic driver 410, at least one button 460, at least one trigger 470, and at least one analog input 480. The plurality of LEDs 440 can be positioned along an outer edge of the module 400 according to a unique geometry.

[0051] The haptic driver 410 may be any suitable driver that provides driving capability (e.g., 1 kilohertz (kHz)) to cover a wide range of sensitivity to human touch. The haptic driver 410 is disposed on the onboard portion to drive one or more haptic actuators and one or more motors on the off-board portion to provide a realistic haptic experience for the user.

[0052] The LED driver 420 may be any suitable driver that regulates the power of an LED or LEDs 440. The LED driver 420 may be a constant current LED driver and / or a constant voltage LED driver for providing a fixed power output to the LEDs 440. Any suitable LEDs 440 may be provided. In examples, the same and / or separate LEDs 440 may be provided for clustering, status, and / or other user feedback.

[0053] Any suitable mechanical actuator 450 may be provided. In an example, the mechanical actuator 450 provides variable frequency, variable amplitude, and / or mechanical vibration to a game controller.

[0054] The buttons 460, at least one trigger 470, and at least one analog input 480 may be provided as conventional input / output devices for a game controller, and / or may be specially configured for use with an off-board portion of the module. For example, specially configured buttons, triggers, and analog inputs specific to the type of form factor (e.g., a tennis racket or fishing rod handle) may be provided.

[0055] In some embodiments, the mechanical actuator 450 can be at least one of a magnetic actuator and a piezoelectric actuator. In some embodiments, the unique geometry can include spacing the LEDs 440 at a uniform distance and then perturbing the spacing by about 1 centimeter. In some embodiments, the unique geometry can be asymmetric. In some embodiments, there can be six LEDs 440. In some embodiments, the modules 400 can be in pairs, the pair of modules including one module for each hand.

[0056] Magnetic actuators operate on the principle of the Lorentz force. That is, a current-carrying conductor is placed in a static magnetic field to create a field around the conductor that interacts with the electrostatic field and creates a force. Piezoelectric actuators operate by converting electrical signals into physical displacements. In either case (magnetic and piezoelectric), the force causes displacement of a mechanical structure, such as that found in the form factor of a gaming device.

[0057] In some embodiments, module 400 can be implemented as an onboard portion and an off-board portion. Control electronics can be provided on the on-board portion and LEDs can be provided on the off-board portion. In some embodiments, a tactile driver 410 and a light emitting diode (LED) driver 420 can be provided on the on-board portion. In some embodiments, at least one mechanical actuator 450 can be provided on the off-board portion. In some embodiments, the on-board portion can be linked to the off-board portion via a wireless connector. In some embodiments, the control electronics of the on-board portion can be implemented at least partially on a printed circuit board (PCB).

[0058] In some embodiments, the onboard portion can be interchangeably coupled with a variety of different accessories. Any of a variety of different accessories (or "form factors" as referred to herein) can be implemented. Examples include Figure 2 Table tennis rackets and tennis rackets shown in Figure 3 However, other form factors may also be provided, both known form factors and form factors that may be developed in the future.

[0059] In some embodiments, different types of accessories can be identified by clustering. As used herein, the term "cluster" refers to a group of lights (e.g., formed by output from one or more of a plurality of LEDs) that form a recognizable pattern, group, or cluster. The clustering can be based at least in part on the physical location of the LEDs on the form factor and / or based on the operation of the LEDs (e.g., timing the illumination and / or light output of the LEDs). In some embodiments, the left and right sides of separate accessories of the same type can be identified by clustering. In some embodiments, the orientation of different accessories can be identified by clustering.

[0060] In some embodiments, the control electronics may adapt to each of the different accessories based on the cluster. By adapting, the control electronics may implement different input / output scenarios specific to the form factor and / or the game being played (e.g., by executing firmware, software, and / or various routines embodied in program code). In some embodiments, the control electronics may adapt to each of the different accessories based on size, shape, touch, and weight. In some embodiments, the sports accessory may include at least one of a sports accessory, an inclusive controller, and / or a glove. In some embodiments, the sports accessory may include at least one of a tennis racket, a ping-pong racket, a lightsaber, a beatsaber, and a fishing rod.

[0061] In a particular embodiment, one or more objects (e.g., content or other types of objects) of a computing system may be associated with one or more privacy settings. The one or more objects may be stored on or otherwise associated with any suitable computing system or application, such as a social networking system, a client system, a third-party system, a social networking application, a messaging application, a photo sharing application, or any other suitable computing system or application. Although the examples discussed herein are in the context of an online social network, these privacy settings may be applied to any other suitable computing system. Privacy settings (or "access settings") for an object may be stored, for example, in any suitable manner, such as in a manner associated with the object, in an index on an authorization server, in another suitable manner, or in any suitable combination thereof. Privacy settings for an object may specify how an object (or specific information associated with the object) may be accessed, stored, or otherwise used (e.g., viewed, shared, modified, copied, executed, displayed, or identified). When a privacy setting for an object allows a particular user or other entity to access the object, the object may be described as "visible" relative to the user or other entity. By way of example and not limitation, a user of an online social network may specify privacy settings for a user profile page that identify a set of users who may access work experience information on the user profile page, thereby excluding other users from accessing that information.

[0062] In certain embodiments, the privacy settings for an object may specify a "block list" of users or other entities that should not be allowed to access certain information associated with the object. In certain embodiments, the block list may include third-party entities. The block list may specify one or more users or entities that are not visible to the object. As an example and not limitation, a user may specify a group of users that may not access an album associated with the user, thereby excluding these users from accessing the album (while also allowing certain users who are not in the specified user group to access the album). In certain embodiments, privacy settings may be associated with certain social graph elements. Privacy settings for social graph elements such as nodes or edges may specify how an online social network may be used to access the social graph element, information associated with the social graph element, or an object associated with the social graph element. As an example and not limitation, a specific concept node corresponding to a specific photo may have a privacy setting that specifies that the photo can be accessed only by the user tagged in the photo and the friends of the user tagged in the photo. In certain embodiments, privacy settings may allow users to opt in or out of having their content, information, or actions stored / recorded by the social networking system or shared with other systems (e.g., third-party systems). Although this disclosure describes using particular privacy settings in particular manners, this disclosure contemplates using any suitable privacy settings in any suitable manner.

[0063] In certain embodiments, privacy settings may be based on one or more nodes or edges of a social graph. Privacy settings may be specified for one or more edges or edge types of a social graph, or may be specified relative to one or more nodes or node types of a social graph. A privacy setting applied to a specific edge connecting two nodes may control whether the relationship between two entities corresponding to the nodes is visible to other users of the online social network. Similarly, a privacy setting applied to a specific node may control whether a user or concept corresponding to the node is visible to other users of the online social network. As an example and not limitation, a first user may share an object to a social networking system. The object may be associated with a concept node connected to the user node of the first user by an edge. The first user may specify a privacy setting applied to a specific edge of the concept node connected to the object, or may specify a privacy setting applied to all edges connected to the concept node. As another example and not limitation, the first user may share a group of objects (e.g., a group of images) of a specific object type. The first user may specify a privacy setting for all objects associated with the first user of the specific object type as having a specific privacy setting (e.g., specifying that all images posted by the first user are visible only to the first user's friends and / or users tagged in the image).

[0064] In certain embodiments, the social networking system may present a "privacy wizard" to the first user (e.g., within a webpage, module, one or more dialog boxes, or any other suitable interface) to assist the first user in specifying one or more privacy settings. The privacy wizard may display instructions, appropriate privacy-related information, current privacy settings, one or more input fields for accepting one or more inputs from the first user for changes or confirmation of the specified privacy settings, or any suitable combination thereof. In certain embodiments, the social networking system may provide the first user with a "dashboard" function that may display the first user's current privacy settings to the first user. The dashboard function may be displayed to the first user at any suitable time (e.g., after input from the first user invoking the dashboard function, after a particular event or triggering action occurs). The dashboard function may allow the first user to modify one or more of the first user's current privacy settings at any time in any suitable manner (e.g., redirecting the first user to the privacy wizard).

[0065] The privacy settings associated with an object may specify any suitable granularity at which access is allowed or denied. By way of example and not limitation, access may be allowed or denied for specific users (e.g., only me, my roommate, my boss), users within a specific degree of separation (e.g., friends, friends of friends), user groups (e.g., a gaming club, my family), user networks (e.g., employees of a specific employer, students or alumni of a specific university), all users ("public"), no users ("private"), users of third-party systems, specific applications (e.g., third-party applications, external websites), other suitable entities, or any suitable combination thereof. Although the present disclosure describes a specific granularity at which access is allowed or denied, the present disclosure contemplates any suitable granularity at which access is allowed or denied.

[0066] In certain embodiments, one or more servers may be authorization / privacy servers for implementing privacy settings. In response to a request from a user (or other entity) for a particular object stored in a data repository, the social networking system may send a request for the object to the data repository. The request may identify a user associated with the request, and the object may only be sent to the user (or the user's client system) if the authorization server determines that the user is authorized to access the object based on the privacy settings associated with the object. If the requesting user is not authorized to access the object, the authorization server may prevent the requested object from being retrieved from the data repository, or may prevent the requested object from being sent to the user. In the context of a search query, the object may be provided as a search result only if the querying user is authorized to access the object (e.g., if the privacy settings for the object allow the object to be presented to the querying user, discovered by the querying user, or otherwise visible to the querying user). In certain embodiments, the object may represent content visible to the user through the user's news feed. As an example and not limitation, one or more objects may be visible to the user's "Trending" page. In certain embodiments, the object may correspond to a specific user. The object may be content associated with the particular user, or may be an account of the particular user or information stored on a social networking system or other computing system. As an example and not limitation, a first user may view one or more second users of an online social network through a "people you may know" feature of the online social network or by viewing the first user's friend list. As an example and not limitation, a first user may specify that they do not want to see objects associated with a particular second user in their news feed or friend list. If the privacy settings for the object do not allow it to be presented to the user, discovered by the user, or visible to the user, the object may be excluded from the search results. Although the present disclosure describes implementing privacy settings in a particular manner, the present disclosure contemplates implementing privacy settings in any suitable manner.

[0067] In certain embodiments, different objects of the same type associated with a user may have different privacy settings. Different types of objects associated with a user may have different types of privacy settings. As an example and not limitation, a first user may specify that the first user's status update is public, but any images shared by the first user are visible only to the first user's friends on an online social network. As another example and not limitation, a user may specify different privacy settings for different types of entities (such as individual users, friends of friends, followers, user groups, or corporate entities). As another example and not limitation, a first user may specify a group of users who may view videos posted by the first user while preventing these videos from being visible to the first user's employer. In certain embodiments, different privacy settings may be provided for different user groups or user demographics. As an example and not limitation, for example, a first user may specify that other users who attend the same university as the first user may view the first user's photos, but other users who are family members of the first user may not view these photos.

[0068] In certain embodiments, the social networking system may provide one or more default privacy settings for each object of a certain object type. The privacy settings for an object that are set as default may be changed by a user associated with the object. As an example and not limitation, all images posted by a first user may have a default privacy setting that is visible only to the first user's friends, and for a particular image, the first user may change the privacy setting for the image to be visible to friends and friends of friends.

[0069] In certain embodiments, privacy settings may allow a first user to specify (e.g., by opting out, by not opting in) whether a social networking system may receive, collect, record, or store certain objects or information associated with the user for any purpose. In certain embodiments, privacy settings may allow a first user to specify whether a certain application or process may access, store, or use certain objects or information associated with the user. Privacy settings may allow a first user to opt in or opt out of objects or information accessed, stored, or used by a certain application or process. The social networking system may access such information in order to provide certain functionality or services to the first user without requiring the social networking system to access the information for any other purpose. Prior to accessing, storing, or using such objects or information, the social networking system may prompt the user to provide privacy settings that specify which applications or processes, if any, may access, store, or use the object or information before allowing any such actions. By way of example and not limitation, a first user may send a message to a second user via an application associated with an online social network (e.g., a messaging application), and may specify a privacy setting that such messages should not be stored by the social networking system.

[0070] In certain embodiments, a user may specify whether a particular type of object or information associated with a first user may be accessed, stored, or used by the social networking system. By way of example and not limitation, the first user may specify that images sent by the first user through the social networking system may not be stored by the social networking system. By way of another example and not limitation, the first user may specify that messages sent from the first user to a particular second user may not be stored by the social networking system. By way of yet another example and not limitation, the first user may specify that all objects sent via a particular application may be saved by the social networking system.

[0071] In certain embodiments, the privacy settings may allow the first user to specify whether a particular object or information associated with the first user may be accessed from a particular client system or a third-party system. The privacy settings may allow the first user to opt-in or opt-out of accessing objects or information from a particular device (e.g., a phone book on a user's smartphone), from a particular application (e.g., a messaging application), or from a particular system (e.g., an email server). The social networking system may provide default privacy settings for each device, system, or application, and / or may prompt the first user to specify a specific privacy setting for each context. As an example and not limitation, the first user may utilize the location services feature of the social networking system to provide recommendations for restaurants or other places near the user. The first user's default privacy settings may specify that the social networking system may use location information provided from the first user's client device to provide location-based services, but the social networking system may not store the first user's location information or provide the first user's location information to any third-party system. The first user may then update the privacy settings to allow the location information to be used by a third-party image sharing application to geotag photos.

[0072] In certain embodiments, privacy settings may allow a user to specify one or more geographic locations where an object may be accessible. Access or denial of access to an object may depend on the geographic location of the user attempting to access the object. As an example and not limitation, a user may share an object and specify that only users in the same city may access or view the object. As another example and not limitation, a first user may share an object and specify that the object is visible to a second user only when the first user is in a particular location. If the first user leaves the particular location, the object may no longer be visible to the second user. As another example and not limitation, the first user may specify that an object is visible only to a second user who is within a threshold distance of the first user. If the first user subsequently changes location, the second user who originally had access to the object may lose access, and a new group of second users may gain access when they come within a threshold distance of the first user.

[0073] In certain embodiments, changes to privacy settings may take effect retroactively, affecting the visibility of objects and content shared before the change. As an example and not limitation, a first user may share a first image and specify that the first image will be public to all other users. Later, the first user may specify that any images shared by the first user should be visible only to the first user group. The social networking system may determine that the privacy setting also applies to the first image and make the first image visible only to the first user group. In certain embodiments, changes to privacy settings may only take effect in the future. Continuing with the example above, if the first user changes the privacy setting and then shares the second image, the second image may be visible only to the first user group, but the first image may remain visible to all users. In certain embodiments, in response to the user action of changing the privacy setting, the social networking system may further prompt the user to indicate whether the user wants to apply the change to the privacy setting retroactively. In certain embodiments, the user's change to the privacy setting may be a one-time change specific to one object. In certain embodiments, the user's change to privacy may be a global change for all objects associated with the user.

[0074] In certain embodiments, the social networking system may determine that the first user may want to change one or more privacy settings in response to a triggering action associated with the first user. The triggering action may be any suitable action on the online social network. By way of example and not limitation, the triggering action may be a change in the relationship between the first user and the second user of the online social network (e.g., "unfriending" the user, changing the relationship status between the users). In certain embodiments, after determining that the triggering action has occurred, the social networking system may prompt the first user to change the privacy settings regarding the visibility of the object associated with the first user. The prompt may redirect the first user to a workflow to edit the privacy settings regarding one or more entities associated with the triggering action. The privacy settings associated with the first user may only be changed in response to explicit input from the first user, and may not be changed without the approval of the first user. By way of example and not limitation, the workflow may include providing the first user with the current privacy settings regarding the second user or a group of users (e.g., untag the first user or the second user from a particular object, change the visibility of a particular object regarding the second user or a group of users), and receiving an indication from the first user to change the privacy settings based on any method described herein, or retaining the existing privacy settings.

[0075] In certain embodiments, a user may need to provide verification of privacy settings before the user is allowed to perform a certain action on an online social network, or may need to provide verification before changing a certain privacy setting. When performing a certain action or changing a certain privacy setting, a prompt may be presented to the user to remind the user of his or her current privacy setting and to ask the user to verify the privacy setting for the certain action. In addition, before proceeding with a certain action, the user may need to provide confirmation, double confirmation, authentication, or other suitable types of verification, and the action may not be completed before providing such verification. As an example and not limitation, a user's default privacy setting may indicate that a person's relationship status is visible to all users (i.e., "public"). However, if the user changes his or her relationship status, the social networking system may determine that such an action may be sensitive and may prompt the user to confirm that his or her relationship status should remain public before continuing. As another example and not limitation, a user's privacy setting may specify that the user's posts are only visible to the user's friends. However, if the user changes the privacy setting of his or her posts to public, the social networking system may prompt the user of the user's current privacy setting that the user's posts are only visible to friends, and warn that the change will make all of the user's past posts visible to the public. The user may then be required to provide a second verification, enter authentication credentials, or provide other types of verification before continuing to change the privacy settings. In certain embodiments, the user may be required to provide verification of the privacy settings on a regular basis. Prompts or reminders may be sent to the user periodically based on the amount of time that has passed or the number of user actions. As an example and not limitation, the social networking system may send a reminder to the user every six months or after every ten photo posts to confirm his or her privacy settings. In certain embodiments, privacy settings may also allow the user to control access to objects or information on a per-request basis. As an example and not limitation, whenever a third-party system attempts to access information associated with the user, the social networking system may notify the user and require the user to provide verification that access should be allowed before continuing.

[0076] The techniques described herein may be implemented as one or more methods performed by one or more physical computing devices; as one or more non-transitory computer-readable storage media storing instructions that, when executed by one or more computing devices, cause the one or more methods to be performed; or as one or more physical computing devices specifically configured with a combination of hardware and software that causes the one or more methods to be performed.

[0077] Figure 5is a block diagram illustrating an exemplary computer system 500 that can be used to implement aspects of the subject technology. In some aspects, computer system 500 can be implemented using hardware or a combination of software and hardware, either in a dedicated server, integrated into another entity, or distributed among multiple entities.

[0078] The computer system 500 (e.g., a server and / or client) includes a bus 508 or other communication mechanism for communicating information, and a processor 502 coupled to the bus 508 for processing information. As an example, the computer system 500 can be implemented with one or more processors 502. The processor 502 can be a general-purpose microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a state machine, gated logic, discrete hardware components, or any other suitable entity that can perform calculations or other processing of information.

[0079] In addition to hardware, the computer system 500 may also include code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them stored in the included memory 504, which includes a memory 504 (such as a random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable PROM (EPROM), registers, hard disk, removable disk, CD-ROM, DVD, or any other suitable storage device) coupled to the bus 508 for storing information and instructions to be executed by the processor 502. The processor 502 and the memory 504 may be supplemented by, or incorporated in, special purpose logic circuitry.

[0080] The instructions may be stored in memory 504 and implemented in one or more computer program products (i.e., one or more computer program instruction modules encoded on a computer-readable medium) for execution by computer system 500 or for controlling the operation of computer system 500, and executed according to any method known to those skilled in the art, including but not limited to computer languages, such as data-oriented languages ​​(e.g., SQL, dBase), system languages ​​(e.g., C, Objective-C, C++, Assembly), architecture languages ​​(e.g., Java, .NET), and application languages ​​(e.g., PHP, Ruby, Perl, Python). The instructions may also be implemented in a computer language such as an array language, an aspect-oriented language, an assembly language, an authoring language, a command line interface language, a compiled language, a concurrent language, a curly brace language, a data flow language, a data structured language, a declarative language, an esoteric language, an extended language, a fourth generation language, a functional language, an interactive mode language, an interpreted language, an iterative language, a list-based language, a small language, a logic-based language, a machine language, a macro language, a metaprogramming language, a multi-paradigm language, a numerical analysis, a non-English-based language, an object-oriented class-based language, an object-oriented prototype-based language, an offside rule language, a procedural language, a reflective language, a rule-based language, a scripting language, a stack-based language, a synchronous language, a syntax processing language, a visual language, a wirth language, and an xml-based language. The memory 504 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 502.

[0081] The computer programs discussed herein do not necessarily correspond to files in a file system. A program may be stored in a portion of a file containing other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordination files (e.g., multiple files storing one or more modules, subroutines, or partial codes). A computer program may be deployed to execute on a single computer, or on multiple computers located at a site and interconnected by a communication network, or on multiple computers distributed at multiple sites and interconnected by a communication network. The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating outputs.

[0082] The computer system 500 also includes a data storage device 506 (e.g., a disk or optical disk) coupled to the bus 508 for storing information and instructions. The computer system 500 can be coupled to various devices through an input / output module 510. The input / output module 510 can be any input / output module. An exemplary input / output module 510 includes a data port such as a USB port. The input / output module 510 is configured to connect to a communication module 512. An exemplary communication module 512 includes a network interface card, such as an Ethernet card and a modem. In some aspects, the input / output module 510 is configured to connect to multiple devices, such as an input device 514 and / or an output device 516. An exemplary input device 514 includes a keyboard and a pointing device, such as a mouse or a trackball, through which a user can provide input to the computer system 500. Other types of input devices 514 can also be used to provide interaction with a user, such as a tactile input device, a visual input device, an audio input device, or a brain-computer interface device. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, voice, tactile, or brainwave input. Exemplary output devices 516 include display devices, such as LCD (liquid crystal display) monitors, for displaying information to the user.

[0083] According to one aspect of the present disclosure, the above-mentioned game system can be implemented using computer system 500 in response to processor 502 executing one or more sequences of one or more instructions contained in memory 504. Such instructions can be read into memory 504 from another machine-readable medium (e.g., data storage device 506). The execution of the instruction sequence contained in main memory 504 causes processor 502 to perform the process steps described herein. One or more processors in a multi-processing arrangement can also be used to execute the instruction sequence contained in memory 504. In alternative aspects, hard-wired circuits can be used to replace software instructions or to implement various aspects of the present disclosure in combination with software instructions. Therefore, various aspects of the present disclosure are not limited to any specific combination of hardware circuits and software.

[0084] Various aspects of the subject matter described in this specification may be implemented in a computing system including a back-end component (e.g., a data server), or in a computing system including a middleware component (e.g., an application server), or in a computing system including a front-end component (e.g., a client computer with a graphical user interface or a web browser, through which a user can interact with an embodiment of the subject matter described in this specification), or in a computing system including any combination of one or more such back-end components, middleware components, or front-end components. The components of the system may be interconnected by digital data communication (e.g., a communication network) in any form or medium. The communication network may include, for example, any one or more of a LAN, a WAN, and the Internet. In addition, the communication network may include, but is not limited to, for example, any one or more of the following network topologies, including a bus network, a star network, a ring network, a mesh network, a star bus network, or a tree or hierarchical network, etc. The communication module may be, for example, a modem or an Ethernet card.

[0085] Computer system 500 can include client and server.Client and server are usually far away from each other, and usually interact through communication network.The relationship between client and server is produced by means of computer programs running on respective computers and having client-server relationship between each other.Computer system 500 can be, for example, but not limited to desktop computer, laptop computer or tablet computer.Computer system 500 can also be embedded in another device, for example, but not limited to mobile phone, PDA, mobile audio player, global positioning system (Global Positioning System, GPS) receiver, video game console and / or TV set-top box.

[0086] As used herein, the term "machine-readable storage medium" or "computer-readable medium" refers to any one or more media that participate in providing instructions to processor 502 for execution. Such media can take a variety of forms, including, but not limited to, non-volatile media, volatile media, and transmission-type media. Non-volatile media include, for example, optical or magnetic disks, such as data storage device 506. Volatile media include dynamic memory, such as memory 504. Transmission-type media include coaxial cables, copper wires, and optical fibers, including wires that make up bus 508. Common forms of machine-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs, any other optical media, punch cards, paper tapes, any other physical media with hole patterns, RAM, PROMs, EPROMs, FLASH EPROMs, any other memory chips or cassettes, or any other media that a computer can read. A machine-readable storage medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable propagation signal, or a combination of one or more of them.

[0087] When the user computing system 500 reads the game data and provides the game, information may be read from the game data and stored in a memory device such as memory 504. Additionally, data from a memory 504 server or data storage 506 accessed via the network bus 508 may be read and loaded into the memory 504. Although the data is described as being present in the memory 504, it should be understood that the data need not be stored in the memory 504 and may be stored in other memory accessible to the processor 502 or distributed across several media such as the data storage 506.

[0088] As used herein, the phrase "at least one of..." following a list of items, together with the terms "and" or "or" used to separate any of the items, modifies the list as a whole, rather than modifying each element of the list (i.e., each item). The phrase "at least one of..." does not require selection of at least one item; rather, the phrase is meant to include at least one of any of the items, and / or at least one of any combination of the items, and / or at least one of each of the items. For example, the phrases "at least one of A, B, and C" or "at least one of A, B, or C" each refer to: only A, only B, or only C; any combination of A, B, and C; and / or at least one of each of A, B, and C.

[0089] To the extent that the terms "including," "having," and the like are used in the specification or claims, the terms are intended to be inclusive in a manner similar to the term "comprising," as interpreted when "comprising" is used as a transitional word in the claims. The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.

[0090] Unless otherwise specified, reference to an element in the singular is not intended to mean "one and only one", but rather "one or more". All structural and functional equivalents of the elements of the various configurations described throughout this disclosure that are known or later known to those of ordinary skill in the art are intended to be covered by the subject technology. In addition, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is explicitly recorded in the above description.

[0091] Although this specification contains many details, these details should not be viewed as limitations on the scope of the claims, but rather as descriptions of specific implementations of the subject matter. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable subcombination in multiple embodiments. In addition, although features may be described above as acting in a certain combination and may even be initially claimed as such, in some cases, one or more features from the claimed combination may be deleted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.

[0092] The subject matter of this specification has been described with respect to specific aspects, but other aspects may also be implemented and are within the scope of the appended claims. For example, although operations are depicted in a particular order in the drawings, this should not be understood as requiring that these operations must be performed in the particular order or sequential order shown, or that all the operations shown must be performed to achieve the desired result. The actions described in the claims can be performed in different orders and still achieve the desired results. As an example, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of the various system components in the various aspects described above should not be understood as requiring such separation in all aspects, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged in multiple software products. Various variations fall within the scope of the appended claims.

Claims

1. A universal compatible accessory module, the universal compatible accessory module comprising: Haptic actuators; Light emitting diode (LED) drivers; Battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometric shape; as well as At least one mechanical actuator controlled by the haptic driver.

2. The universally compatible accessory module of claim 1, wherein: The mechanical actuator is at least one of a magnetic actuator and a piezoelectric actuator.

3. The universally compatible accessory module according to claim 1 or 2, wherein: The unique geometry involves spacing the plurality of LEDs at a uniform distance and then perturbing the spacing by approximately 1 cm.

4. A universally compatible accessory module according to any one of the preceding claims, wherein: The unique geometry is asymmetrical.

5. A universally compatible accessory module according to any one of the preceding claims, wherein: There are six LEDs.

6. A universally compatible accessory module according to any one of the preceding claims, wherein: The modules include pairs of modules including one module for each hand.

7. The universally compatible accessory module of any of the preceding claims, further comprising at least one button, at least one trigger and / or at least one analog input.

8. A universally compatible accessory module according to any one of the preceding claims, wherein: The module is implemented as an on-board part and an off-board part, wherein the control electronics are arranged on the on-board part and the plurality of LEDs are arranged on the off-board part.

9. The universally compatible accessory module of claim 8, wherein: The haptic driver and the light emitting diode (LED) driver are disposed on the onboard portion; and / or wherein the at least one mechanical actuator is arranged on the outer portion of the panel; and / or wherein the on-board part is linked to the off-board part via a wireless connector; and / or Therein, the control electronics of the onboard part are at least partially implemented on a printed circuit board (PCB).

10. The universally compatible accessory module according to any one of claims 8 to 9, wherein: The onboard portion is interchangeably couplable with a variety of different accessories.

11. The universally compatible accessory module of claim 10, wherein: The types of the different attachments are identified by clusters; and / or Therein, the left and right sides of individual attachments of the same type are identified by the cluster.

12. The universally compatible accessory module of claim 11, wherein: The orientations of the different attachments are identified by the cluster; and / or wherein said control electronics accommodates each of said different accessories according to said cluster.

13. A universally compatible accessory module according to any one of claims 10 to 12, wherein: The control electronics accommodate each of the different accessories in terms of size, shape, feel and weight.

14. A universal compatible accessory module, the universal compatible accessory module comprising: Haptic actuators; Light emitting diode (LED) drivers; Battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometric shape; as well as at least one mechanical actuator, the at least one mechanical actuator being controlled by the haptic driver, Wherein, the haptic driver and the LED driver are interchangeably coupled with a variety of different accessories, the different accessories including at least one of the following: a sports accessory, an inclusive controller and / or a glove.

15. A universal compatible accessory module, the universal compatible accessory module comprising: Haptic actuators; Light emitting diode (LED) drivers; Battery; a plurality of LEDs, the plurality of LEDs being controlled by the LED driver, the plurality of LEDs being positioned along an outer edge of the module according to a unique geometric shape; at least one mechanical actuator, the at least one mechanical actuator being controlled by the haptic driver; an off-board portion, the off-board portion having the plurality of LEDs; as well as an onboard portion having control electronics including at least the haptic driver and the LED driver, wherein the onboard portion is interchangeably couplable with a plurality of different accessories, the different accessories being uniquely identified by clusters of at least some of the plurality of LEDs, Wherein, the different accessories include at least one of the following: a sports accessory, an inclusive controller and / or a glove.