Patent Description:
Previously proposed arrangements are disclosed in <CIT>, <CIT> and <CIT>. Current game controllers have many buttons that are assigned functions by an application running on a computer or a video game console. Additionally, current game controllers have multiple types of buttons that operate in various different ways to better match the role to which they are assigned by the application. For example, a controller may have joysticks, a directional pad (d-pad), shoulder buttons, touch screens, and action buttons. Despite a heavy emphasis on ergonomic design, a number of buttons on the game controller may be out of reach for the average hand while using certain functions.

Thus, there is a need in the art, for a way to add more buttons to a game controller that are within the reach of the user while using certain functions.

The teachings of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:.

Although the following detailed description contains many specific details for the purposes of illustration, anyone of ordinary skill in the art will appreciate that many variations and alterations to the following details are within the scope of the invention. Accordingly, the exemplary embodiments of the invention described below are set forth without any loss of generality to, and without imposing limitations upon, the claimed invention.

In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. In this regard, directional terminology, such as "top," "bottom," "front," "back," "leading," "trailing," etc., is used with reference to the orientation of the figure(s) being described. Because components of embodiments of the present invention can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration and is in no way limiting. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

The present disclosure describes a controller add-on device configured to add additional customizable buttons to a controller. <FIG> depicts a bottom view of the controller add-on device. The controller add-on device comprises a housing <NUM> which is configured to couple to mechanically connect to the body of a controller. The housing also serves as a rigid attachment point for a plurality of buttons. Shown in <FIG> the add-on device comprises a right customizable button <NUM> and a left customizable button <NUM> but the scope of the present disclosure is not so limited. The plurality buttons <NUM>, <NUM> are configured to be within reach of a user's index, middle or ring fingers while holding the body of the game controller.

In some embodiments a portion of the housing <NUM> that includes the customizable buttons <NUM>, <NUM> may be coupled to the housing by way of a hinged controller interface <NUM>, seen in <FIG>. Alternatively, the customizable buttons may be mechanically connected to the housing by way of attachment to a switch mounted to a printed circuit board, the printed circuit board coupled to the housing by, e.g., screws, pins, glue, plastic hot-stakes, clips, or housing elements. In some embodiments, the controller add-on may have a display screen <NUM>. The display screen <NUM> may be coupled to the housing by way of rigid attachment means. The display screen may be associated with, e.g., mechanically incorporated into, an input interface, e.g., a mechanical button. Additionally the display screen may include user interface elements as touch screen, such as a capacitive touch screen or a resistive touch screen. In implementations where add-on includes the display screen <NUM> and the buttons <NUM>,<NUM>, the input interface may be configured to be within reach of a user's index, middle or ring fingers while holding the body of the game controller. In some implementations, the input interface and/or buttons may be within reach of the user's thumbs, as well.

In other embodiments, display screen may be replaced by other communication elements such as a speaker connected to a printed circuit board attached to the housing by rigid attachment means. In alternative embodiments the user interface may feature a plurality of lights. In additional embodiments the user interface may comprise both a display screen and a speaker. In some embodiments the display screen is connected to a printed circuit board attached to the housing by rigid attachment means. In other additional embodiments the speaker is attached to the housing by rigid attachment means.

<FIG> depicts a front view of the controller add-on device. As shown the housing <NUM> provides a cavity, which is configured to fit a controller body. A controller interface mount <NUM> is coupled to the housing <NUM>. The controller interface mount <NUM> may be rotatably coupled to the housing <NUM>, e.g., by a hinge <NUM>. The controller interface mount <NUM> comprises one or more controller interfaces, e.g., an analog interface <NUM> and a digital interface <NUM>. These one or more controller interfaces are configured to communicatively couple the plurality of buttons <NUM>, <NUM> to the controller. Additionally, the controller interface mount <NUM> is configured to tilt with from a first position in which the add-on device can make a physical and mechanical connection with the body of the game controller to a second position in which a portion of the housing <NUM> conformally contacts the body of a game controller. The one or more controller interfaces may include, e.g., Serial connectors, Universal Serial Bus interfaces (USB), co-axialjack (co-ax), audio jack, S/PDIF connector, parallel connector and the like. The housing may also have a conformal surface <NUM> located opposite the surface having the buttons <NUM>,<NUM>. The conformal surface <NUM> is configured to make conformal contact with a controller body. The conformal surface may include a pliable material to dampen vibration from button presses as well as to provide a solid contact surface with the controller body. The pliable material may be any suitable material such as rubber, silicone, soft plastic, leather, and the like.

<FIG> depicts a side view of the controller add-on device. As can be seen, the one or more controller interfaces <NUM>, <NUM> extend outward from the housing <NUM>. The housing has a curved portion <NUM> to better conform to the shape of the controller when mounted. The curved portion <NUM> in conjunction with the tilting interface mount <NUM> also allows the controller add-on devices to be placed in a first position to make physical and mechanical connection with the body of the controller, e.g., as depicted in <FIG>, and then tilted to a second position to make conformal contact with the body of the game controller, as depicted, e.g., in <FIG>. The curved arrow in <FIG> indicates the direction of tilt of the interface mount <NUM> to go from the second position to the first position.

<FIG> depicts a back view of the controller add-on device. This view shows an (optional) communication interface port <NUM>. This communication interface port <NUM> may be used to relay signals from the controller to additional devices such as headphones or other user interfaces. The communication interface port may also receive signals from devices such as microphones or other user interfaces and relay those signals back to the controller. The communication interface port <NUM> may be of a similar type as the one or more communication interfaces <NUM>, <NUM>.

As seen in the top-down view of the controller add-on device in <FIG>, one or more communication interfaces <NUM>, <NUM> may be coupled to the housing <NUM> so that the communication interfaces extend outward from the housing over the conformal surface <NUM>.

<FIG> depicts a side view of the orientation of the controller add-on device when initially coupled with a controller <NUM> (indicated by dashed lines). As shown, the tilting interface mount <NUM> allows the housing <NUM> to be tilted downward relative to the controller <NUM> when the analog interface <NUM> and the digital interface <NUM> connects to corresponding interfaces <NUM> on the controller. In the depicted implementation, the housing <NUM> is configured to fit securely between the two handholds <NUM> of the controller and not interfere with the joysticks <NUM>. After connection is made, the tilting interface mount <NUM> allows the housing <NUM> to tilt upward toward the controller <NUM> in the direction indicated by the arrow so that the conformal surface <NUM> opposite the plurality of buttons <NUM>, <NUM> can make conformal contact with the bottom of the controller. The curved arrow in the three-dimensional diagram of a controller add-on device shown in <FIG> indicates the direction of relative movement of the tilting interface mount <NUM> as the device rotates from the first position in which connection is made to the controller to the second position in which the conformal surface <NUM> conforms to the bottom of the controller.

<FIG> depicts a bottom view of the controller add-on device when coupled with a controller in the operational position. As shown, the controller add-on device is positioned between the two handholds of the controllers and the plurality of buttons <NUM>, <NUM> on the controller add-on device are configured to be within reach of a user's index, middle or ring fingers while holding the body of the game controller. The housing <NUM> is configured to fit on a side of the controller body opposite the two joysticks <NUM> so that operation of the buttons does not affect operation of the joysticks. The display screen <NUM> may be configured to face downward and be easily viewed when the controller body <NUM> is turned upside down. This can be advantageous when the display screen has an associated input device, e.g., a button or touch interface that can be operated by the user. While the depicted embodiment shows a display screen <NUM> mounted in the downward position when the controller add-on device is couple to the controller body <NUM>, the scope of this disclosure is not so limited. In other embodiments, the display screen may be configured face upward or frontward while the controller add-on device is coupled to the controller body.

The flow diagram of <FIG> illustrates a method for pre-set generation with a controller add-on device according to aspects of the present disclosure. The method begins when a pre-set customization entry mode input is received, as indicated at <NUM>. The pre-set customization entry mode input may be a button press, a combination of button press or a selection using a touch screen. The pre-set customization entry mode allows users to map the plurality of buttons of the controller add-on to the buttons or inputs of the controller. The pre-set customization mode allows button mappings to be saved as pre-sets and creates the ability for the user to easily switch between pre-sets when the controller add-on device is not in pre-set customization entry mode. Upon receiving pre-set customization entry, mode input the controller add-on device enters the pre-set customization entry mode <NUM>. The user may begin mapping keys by selecting a controller button and choosing a button of the plurality buttons <NUM>, <NUM> of the controller add-on to represent that controller button and provide that button's input when pressed. The controller add-on device receives this mapping from the user, as indicated at <NUM>. The mapping may be performed using a user interface such as an input device incorporated into the display screen <NUM> or may be performed using a separate program running on a host device such as a game console or a computer. The button mapping may be created, as a pre-set in a list of pre-set, each pre-set in the list of pre-set may be blank before the user creates a button mapping or may be set to a default button mapping that can be change easily by the user. Alternatively, new button mapping preset may be created by the user and added to a list of pre-sets that may unpopulated.

Upon creation of a button mapping pre-set the user may select to exit the pre-set customization entry mode. The user may take the necessary action to exit the pre-set customization mode, this action is received by the controller add-on device and subsequently the controller add-on device exits the pre-set customization entry mode <NUM>. According to aspects of the present disclosure, the user may exit the pre-set customization mode by pressing an exit button or entering series of button presses or selecting an option within a user interface. Alternatively, the user may exit the pre-set customization mode by refraining from pressing a button for a period. In some implementations, the exit button may be implemented using an input device, e.g., touch interface or mechanical button associated with the display screen <NUM>.

After exiting the pre-set customization entry mode, the controller add-on device saves the pre-set or presets entered by the user <NUM>. The pre-set or pre-sets entered by the user may be saved to a list of pre-sets stored in the memory of the controller add-on device. A very useful feature of the present disclosure is that after the pre-set entered by the user to the list of pre-sets the device may hide or otherwise makes un-selectable pre-sets that are empty, invalid or chosen to be hidden <NUM>. This allows users to quickly switch between valid pre-sets during operation of the controller add-on device, e.g., using a button or touch interface that can be operated by the user. This mode of operation can be advantageous if the display screen and associated input device face away from the user during operation. Reducing the available modes to a relatively small number, e.g., two, makes it easy for the user to toggle between them without having to look at the screen.

<FIG> depicts the method for switching between pre-sets according to aspects of the present disclosure. During operation of the controller, add-on device the user may desire to switch between two or more different presets on the preset list. To do this the user may press a button or a series of button, or make a selection using a touch screen. The controller add-on device receives the pre-set change input from the user <NUM>. Subsequently the controller add-on device selects the next pre-set in the pre-set list and applies that configuration to the plurality buttons <NUM>. A feature of the present disclosure is where, the next pre-set in the pre-set list is blank, invalid or otherwise hidden, the controller add-on device will skip that pre-set in the list and select the next pre-set instead. Additionally the user interface of the controller add-on device will display the selected pre-set <NUM>. After selection of a button mapping pre-set a button, press by the user on one of the plurality of button <NUM> triggers the pre-set button mapping. The pre-set button mapping sends a signal corresponding to the signal of the mapped button in the selected pre-set to the controller <NUM>. This signal is received by the controller, which interprets the signal as a button press for the mapped button.

By way of example and not by way limitation a pre-set button mapping may map an X-button of a game pad controller to the left button <NUM> and a O-button to the right button <NUM> of the controller add-on. When a user presses the left button <NUM> of the controller add-on device, the device sends a signal to the controller that the X-button has been pressed. The controller interprets this signal as though the X-button on the game pad controller has been pressed and communicates the X-button press signal to the game console.

As used herein, two objects, devices, or systems are "communicatively coupled" when information can be transmitted from one object to a second object by way of some form of signal. By way of example the signal may be an electric signal delivered through an electrically conductive interface, a mechanical signal delivered through a mechanical interface, an acoustic signal delivered through a sound-transmitting medium, or an electromagnetic signal such as a radio signal, microwave signal or a light signal, which may be delivered through a medium, such as a fiber-optic medium, a waveguide, or through free space. Communicative coupling encompasses the use of intermediary objects, devices, and systems such as transducers, transmitters, amplifiers, receivers, and signal processers, e.g., digital signal processers.

Communicative coupling is a distinct concept from mechanical connection, though the two concepts are not mutually exclusive. As a non-limiting example, communicative coupling via mechanical interface between two objects be distinguished from mechanical connection of the two objects. For example, an actuating stud on one component may press a button on a second object when the two objects are connected by means of screws. The stud-button interaction provides mechanical communicative coupling, while the screws provide mechanical connection.

According to embodiments of the present invention, a system with a controller having a controller add-on device and method of the type described above may be implemented as depicted in <FIG>. A system <NUM> may include a processor <NUM> and a memory <NUM> (e.g., RAM, DRAM, ROM, and the like). In addition, the system <NUM> may have multiple processors <NUM> if parallel processing is to be implemented. The memory <NUM> includes data <NUM> and game program code <NUM>, which may include portions that are configured as described above. Specifically, the memory <NUM> may include button mapping pre-set data <NUM>, which may include a stored pre-set list. The memory <NUM> may also contain programs for switching pre-sets and programs for pre-set creation <NUM>.

The system <NUM> may also include well-known support functions <NUM>, such as input/output (I/O) elements <NUM>, power supplies (P/S) <NUM>, a clock (CLK) <NUM> and cache <NUM>. The apparatus <NUM> may optionally include a mass storage device <NUM> such as a disk drive, CD-ROM drive, tape drive, or the like to store programs and/or data. The controller may also optionally include a display unit <NUM> and user interface unit <NUM> to facilitate interaction between the controller <NUM> and a user. The display unit <NUM> may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, graphical symbols or images. The user interface <NUM> may include a keyboard, mouse, joystick, light pen or other device. In addition, the user interface <NUM> may include a microphone, video camera or other signal-transducing device to provide for direct capture of a signal to be analyzed. The processor <NUM>, memory <NUM> and other components of the system <NUM> may exchange signals (e.g., code instructions and data) with each other via a system bus <NUM>.

A microphone array <NUM> may be coupled to the system <NUM> through the I/O functions <NUM>. An optional image capture unit <NUM> (e.g., a digital camera) may be coupled to the apparatus <NUM> through the I/O functions <NUM>. One or more pointing actuators <NUM> that are mechanically coupled to the camera may exchange signals with the processor <NUM> via the I/O functions <NUM>.

As used herein, the term I/O generally refers to any program, operation or device that transfers data to or from the system <NUM> and to or from a peripheral device. Every data transfer may be regarded as an output from one device and an input into another. Peripheral devices include input-only devices, such as keyboards and mice, output-only devices, such as printers as well as devices such as a writable CD-ROM that can act as both an input and an output device. The term "peripheral device" includes external devices, such as a mouse, keyboard, printer, monitor, microphone, game controller, camera, external Zip drive or scanner as well as internal devices, such as a solid state drive (SSD), CD-ROM drive, CD-R drive or internal modem or other peripheral such as a flash memory reader/writer, hard drive.

In certain embodiments of the invention, the system <NUM> may be a video game unit, which may include a controller <NUM> coupled to the processor via the I/O functions <NUM> either through wires (e.g., a USB cable) or wirelessly. Additionally in other embodiments, the system <NUM> may be a computer system with a peripheral controller <NUM>. The controller <NUM> may have analog joystick controls <NUM> and conventional buttons <NUM> that provide control signals commonly used during playing of video games. Such video games may be implemented as processor readable data and/or instructions from the program <NUM>, which may be stored in the memory <NUM>, or other processor readable medium such as one associated with the mass storage device <NUM>.

The controller <NUM> may include one or more inertial sensors <NUM>, which may provide position and/or orientation information to the processor <NUM> via an inertial signal. Orientation information may include angular information such as a tilt, roll or yaw of the controller <NUM>. By way of example, the inertial sensors <NUM> may include any number and/or combination of accelerometers, gyroscopes or tilt sensors. In addition, the joystick controller <NUM> may include one or more light sources <NUM>, such as light emitting diodes (LEDs). The light sources <NUM> may be used to distinguish one controller from the other.

The processor <NUM> may use inertial signals from the inertial sensors <NUM> in conjunction with optical signals from light sources <NUM> detected by an image capture unit to deduce information on the location and/or orientation of the controller <NUM> and/or its user.

Claim 1:
A controller add-on comprising:
a housing (<NUM>), wherein the housing is configured to mechanically couple to a body of a game controller (<NUM>), wherein a conformable surface of the housing is configured to conform with a bottom of the body of the game controller;
a plurality of buttons (<NUM>, <NUM>) coupled to the housing wherein the plurality of buttons are located opposite the conformable surface; and
a controller interface (<NUM>, <NUM>, <NUM>) coupled to the housing wherein the controller interface is configured to communicatively couple the plurality of buttons to the game controller, wherein the controller interface is further configured to tilt from a first position to make a physical and mechanical connection with the body of the game controller to a second position wherein the conformable surface contacts to the bottom of the body of game controller.