Abstract:
A text input device for attachment to a game controller includes a small-sized housing, upper and lower faces, a plurality of text entry keys disposed on the upper face, and an attachment interface disposed on the lower face. A bracket for attaching the text input device to a game controller includes an arm portion having first and second ends. An attachment plate is fixed to the first end and has at least one engaging member protruding therefrom and engaging the attachment interface of the text input device. The bracket further includes at least one retaining member protruding from the second end in a position such that, when the attachment plate is coupled to a first part of a game controller and the retaining member is in contact with a second part of the game controller, a force is applied to a face of the retaining member by the second part of the game controller so as to maintain the coupling of the attachment plate to the game controller first part. The attachment plate engaging member is non-destructively disengagable from the attachment interface of the text input device, and is subsequently re-engagable so as to permit subsequent non-destructive disengagement.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS  
       [0001]    This application is related to the U.S. patent application titled “Controller with Removably Attachable Text Input Device,” filed simultaneously herewith and having attorney docket number 3797.00554. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    This invention relates game controllers and other devices used for providing input in connection with computer game play. More particularly, this invention relates to a text input device that can be adapted to a hand-held game controller.  
         BACKGROUND OF THE INVENTION  
         [0003]    Games have long been an important aspect of computer technology, both from hardware and software standpoints. As computer technology has advanced, so too has the quality and sophistication of computer games. Computer games may be played on personal computers and other hardware and software environments that have non-game uses. Games may also be played in environments dedicated or oriented to game play. For example, a game “console” may include a computer processor, memory and other hardware that is dedicated to game play. Often, game consoles provide audio and visual output through a television, and may be designed to read various data storage media in order to play different games.  
           [0004]    In both console and other types of computer games, a user often provides input to the game by way of a game controller. Typically, a game controller is a handheld device that a game player can conveniently hold in one or two hands while playing a game. Designs vary widely, but most game controllers have multiple buttons and other controls which a user can press or otherwise manipulate, and which cause particular signals to be sent to the computer on which the game is running. The game controller, depending on the game software that is currently operating, may then interpret that signal in a manner consistent with the game program. For example, pushing a D-pad or thumb stick in one direction may cause an object in the game to move in a particular manner. Pushing a button or squeezing a trigger may cause a virtual weapon to be fired. These and other types of game play input are well known.  
           [0005]    In another aspect of computer games known as on-line play, game players are able to play games with users who may be in distant locations. Instead of requiring all players to be playing a game on the same game console or other computer (which often limits play to persons in the same room), on-line play allows players using different game consoles or other computers to connect those consoles via the Internet or other network connection. With on-line play, persons in different geographic regions can simultaneously play against (or with) each other in the same game. The continued growth of the Internet and proliferation of broadband access to the Internet has no doubt increased the popularity of on-line game playing. It is now possible for tens or even hundreds of persons to be simultaneously playing the same game.  
           [0006]    In addition to simulating weapons discharge, character and screen object movements and other types of game-related interactions, inter-player communication is common in on-line game play. Many games allow players to coordinate their efforts, and communication between players is thus helpful. Some games may allow players to trade weapons or other virtual items, to call for help from other players, or to otherwise exchange information. In many cases, players may wish to communicate simply to pass time or for social interaction unrelated to the game they may be playing.  
           [0007]    Many games allow players to communicate verbally. A player might speak into a microphone, and other players are then able to hear him or her. Although convenient, this method of communication can be less useful as the number of players increases. For example, if twenty people are playing a game and also sending messages, the chatter level may become so frequent that a player cannot effectively listen for messages of interest and still play the game. A player may also want to limit message recipients out of privacy concerns, to avoid communicating tactics to opposing players, and for various other reasons.  
           [0008]    Many games and/or on-line gaming environments allow players to direct textual messages to specific players in the game. However, most game controllers either lack the ability to provide textual input to the game, or have extremely limited text input capabilities. To send a text message, a player is thus required to put down the game controller and use a keyboard. Moreover, many games are played in a living room or other setting in which the player may be sitting on a couch, floor or other location where it might be inconvenient to hold a keyboard while trying to type a message, and where there may be no convenient place to rest a keyboard. It would therefore be useful if a hand-held game controller could also provide the ability to conveniently input text.  
           [0009]    There have been various attempts to provide a hand-held device that can be used for both game play and text input. U.S. Pat. No. 6,512,511 (Willner et al.) describes a “hand grippable combined keyboard and game controller system” which is purportedly usable for both textual input and game play. The device is separable into two halves, each of which can be held in one hand and perform the function of the other half. The &#39;511 patent also describes a small computer being interposed between the two halves. However, the described device requires a user to learn a scheme for text input in which multiple buttons dispersed on various surfaces of the device correspond to certain letters or other characters. The user cannot visualize all of those buttons at once. In other words, the user must turn the device over to expose additional buttons positioned on the device underside. U.S. Pat. Nos. 6,288,709, 5,984,548 and 5,874,906 (all to Willner at al.) describe further embodiments of handheld data entry systems that can alternately be used for text entry or game play. However, these additional embodiments also require a user to learn a scheme by which letters and other characters are mapped to particular buttons dispersed across the device, which buttons cannot be simultaneously visualized. The above-described Willner patents also describe activation of a “mode selection switch” to signal whether the device buttons are providing text or character input.  
           [0010]    In another line of development, a game controller and keyboard have been combined into a “keyboard controller” sold by the Ascii Co. of Japan. This device comprises a keyboard that is approximately the size of a laptop computer keyboard, and has hand grips and game play controls located at the sides. Although this device does combine game control with text entry, its size may not be optimal under certain conditions. For example, many users could not input text using the keyboard while holding the game controller grips at the side of the device, and would thus have to place the device on a table or other surface in order to enter text.  
           [0011]    For these and other reasons, there remains a need for systems and methods that permit convenient text input while using a game controller.  
         SUMMARY OF THE INVENTION  
         [0012]    The present invention addresses the challenges described above by providing a small-sized text input device that can be attached to and removed from a game controller. In some embodiments, the invention includes an attachment bracket for coupling a text input device to a game controller. In one embodiment, a text input device includes a housing having relatively small dimensions, and further includes upper and lower faces. A plurality of text entry keys is located on the upper face, and an attachment interface is disposed on the lower face. A plurality of conformal wings protrudes from the housing. In another embodiment, a text input device has a small housing, the housing having upper and lower faces. A plurality of text entry keys is located on the upper face and an attachment interface is disposed on the lower face. A cable emanates from the housing for communication of signals resulting from user activation of one or more text entry keys, and a connector is attached to the cable.  
           [0013]    In another embodiment, the invention includes an attachment bracket for coupling a text input device to a game controller. The bracket has an arm portion with first and second ends and an attachment plate fixed to the first end. The attachment plate has at least one engaging member fixed to the plate. At least one retaining member protrudes from the second end. The retaining member is positioned such that, when the attachment plate is coupled to a first part of a game controller and the retaining member is in contact with a second part of the game controller, a force is applied to a face of the retaining member by the second part of the game controller. In this manner, the coupling of the attachment plate to the game controller first part is maintained.  
           [0014]    Further aspects and advantages of the invention are described below, or will be apparent to persons skilled in the art once such persons are provided with the information contained herein. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]    [0015]FIG. 1 illustrates an exemplary gaming system.  
         [0016]    [0016]FIG. 2 is a block diagram of the gaming system of FIG. 1.  
         [0017]    [0017]FIG. 3 illustrates a network gaming system in which the gaming system of FIG. 1 is connected via a network to other consoles and services.  
         [0018]    [0018]FIG. 4 is a top plan view of an example game controller.  
         [0019]    [0019]FIG. 5 is a top plan view of the game controller of FIG. 4, but with outlines of a player&#39;s hands to show movement of the game play controls.  
         [0020]    [0020]FIG. 6 is a bottom plan view of the game controller of FIG. 4.  
         [0021]    [0021]FIG. 7 is a front view of the game controller of FIG. 4.  
         [0022]    [0022]FIG. 8 is a rear (or player side) view of the game controller of FIG. 4.  
         [0023]    [0023]FIG. 9 is a top plan view of the game controller of FIG. 4, with an attached text input device, and with outlines of a player&#39;s hands to show input of text.  
         [0024]    [0024]FIG. 10 is a top plan view of an example text input device.  
         [0025]    [0025]FIG. 11 is a bottom plan view of the text input device of FIG. 10.  
         [0026]    [0026]FIG. 12 is a perspective view of an attachment bracket according to one embodiment of the invention.  
         [0027]    [0027]FIG. 13 is a top plan view of the bracket of FIG. 12.  
         [0028]    [0028]FIG. 14 is a bottom plan view of the bracket of FIG. 12 attached to the text input device of FIG. 10.  
         [0029]    [0029]FIG. 15A is a cross section taken along lines  15 A- 15 A of FIG. 14 and rotated 180°.  
         [0030]    [0030]FIG. 15B is a cross section taken along lines  15 B- 15 B of FIG. 14 and rotated 180°.  
         [0031]    [0031]FIG. 16 is a top plan view of the game controller of FIG. 4 with attached text input device of FIG. 10, with a portion of the text input device removed.  
         [0032]    [0032]FIG. 17 is a bottom plan view of the game controller of FIG. 4 with attached text input device of FIG. 10 and bracket of FIG. 12.  
         [0033]    [0033]FIG. 18 is a side view of the game controller of FIG. 4 with attached text input device of FIG. 10 and bracket of FIG. 12.  
         [0034]    [0034]FIG. 19 is an exploded perspective view of the text input device of FIG. 10.  
         [0035]    [0035]FIG. 20 is a block diagram of a game controller and text input device according to one embodiment of the invention.  
         [0036]    [0036]FIG. 21 is a top plan view of a second example game controller.  
         [0037]    [0037]FIG. 22 is a bottom plan view of the game controller of FIG. 21.  
         [0038]    [0038]FIG. 23 is a front view of the game controller of FIG. 21.  
         [0039]    [0039]FIG. 24 is a rear (or player side) view of the game controller of FIG. 21.  
         [0040]    [0040]FIG. 25 is a perspective view of an attachment bracket according to another embodiment of the invention.  
         [0041]    [0041]FIG. 26 is a top plan view of the bracket of FIG. 25.  
         [0042]    [0042]FIG. 27 is a bottom plan view of the bracket of FIG. 25.  
         [0043]    [0043]FIG. 28 is a top plan view of the game controller of FIG. 21 with attached text input device of FIG. 10, with a portion of the text input device removed.  
         [0044]    [0044]FIG. 29 is a bottom plan view of the game controller of FIG. 21 with attached text input device of FIG. 10 and bracket of FIG. 25.  
         [0045]    [0045]FIG. 30 is a side view of the game controller of FIG. 21 with attached text input device of FIG. 10 and bracket of FIG. 25. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0046]    Definitions  
         [0047]    Unless otherwise indicated, various terms as used in this specification and in the claims have the following meanings.  
         [0048]    Game play control: A control device which can be moved or otherwise selectively activated by a user so as to generate (or modify) a signal, which signal is recognized by game software and causes some event or action in a computer game that is played by executing instructions in that software. Examples of game play controls include buttons, switches, D-pads (i.e., a direction pad, also known as a cross-key pad), thumb wheels, track balls, joysticks, thumb sticks (i.e., small joysticks positioned so as to be movable by a player&#39;s thumb when used for computer game play) and triggers. A game play control may be mechanically activated by a user (e.g., by physically moving a switch, button, or other control) or activated by non-mechanical actions (e.g., by sensing body heat, sensing changes in capacitive or RF field, etc.).  
         [0049]    Game controller: A device having multiple game play controls.  
         [0050]    Simultaneously viewable: A group of keys on a device are simultaneously viewable if all keys in the group can be viewed from a single angle, i.e., without having to rotate or otherwise reposition the device.  
         [0051]    Text characters: Letters, numerals, punctuation marks and symbols (e.g.,          ,          , ✓, →, $, *, @, £, ¥, §, ®) that can be represented by unique codes (e.g., ASCII, Unicode, etc.). Text characters also include non-English language (e.g., Japanese, Chinese, Korean, Arabic, Russian, etc.) characters, as well as recognized codes such as a space, a line or page break, etc.  
         [0052]    Text input device: An input device having a plurality of text keys. Each text key generates a specific code that corresponds to a letter, numeral, symbol or other text character. A text key may, in combination with one or more other keys, generate a different code that corresponds to a different text character. Although a standard keyboard is an example of a text input device, other devices having fewer or more features than a keyboard could also be text input devices. A text input device may have keys, buttons or other controls that are not text keys.  
         [0053]    Example Operating Environment  
         [0054]    [0054]FIG. 1 shows an exemplary gaming system  10 . Although gaming system  10  will be described in some detail and used as an example to describe the invention, the invention is not limited to the particular example(s) provided. Instead, the invention is only limited by the attached claims. Gaming system  10  includes a game console  12  and up to four game controllers, as represented by game controllers  14 ( 1 ) and  14 ( 2 ). Game console  12  is equipped with an internal hard disk drive (see FIG. 2) and a portable media drive  16  that supports various forms of portable storage media as represented by optical storage disc  18 . Examples of suitable portable storage media include DVD, CD-ROM, game discs, and so forth.  
         [0055]    Game console  12  has four slots  20  on its front face to support up to four game controllers, although the number and arrangement of slots may be modified. A power button  22  and an eject button  24  are also positioned on the front face of game console  12 . Power button  22  switches power to the game console and eject button  24  alternately opens and closes a tray of the portable media drive  16  to allow insertion and extraction of storage disc  18 .  
         [0056]    Game console  12  connects to a television or other display (not shown) via AN interfacing cables  26 . A power cable  28  provides power to the game console. Game console  12  may further be configured with broadband capabilities, as represented by the cable or modem connector  30  to facilitate access to a network, such as the Internet.  
         [0057]    Each game controller  14  is coupled to game console  12  via a wire or wireless interface. In the illustrated implementation, the game controllers are USB (Universal Serial Bus) compatible and are connected to game console  12  via serial cables  32 ( 1 ) and  32 ( 2 ). Game controllers  14 ( 1 ) and  14 ( 2 ) may be equipped with any of a wide variety of game play controls. As illustrated in FIG. 1, each game controller  14  is equipped with two thumb sticks  34 , a D-pad  36 , buttons  38 , and two triggers  40 . These mechanisms are merely representative, and other known control mechanisms may be substituted for or added to those shown in FIG. 1.  
         [0058]    A memory unit (MU)  42  may be inserted into game controller  14  or game console  12  to provide additional and portable storage. Portable memory units enable users to store game parameters and port them for play on other consoles. For example, a user can save a game to a memory unit  42  using a particular game console then use that saved game data with a game executed on a different game console. In the described implementation, each game controller is configured to accommodate up to two memory units  42 , although more or less than two units may be employed in other implementations. A particular game console  12  may be configured to accommodate any number of memory units  42 .  
         [0059]    Gaming system  10  may also be capable of playing music and videos in addition to games. With the different storage offerings, titles can be played from the hard disk drive or portable medium  18  in drive  16 , from an online source, or from a memory unit  42 . A sample of what gaming system  10  is capable of playing back could include: (1) game titles played from CD and DVD discs, from the hard disk drive, or from an online source; (2) digital music played from a CD in portable media drive  16 , from a file on the hard disk drive (e.g., WINDOWS MEDIA Audio (WMA) format), or from online streaming sources; and/or (3) digital audio/video played from a DVD disc in the portable media drive  16 , from a file on the hard disk drive (e.g., Active Streaming Format), or from online streaming sources.  
         [0060]    [0060]FIG. 2 shows functional components of gaming system  10  in more detail. Game console  12  has a central processing unit (CPU)  50  and a memory controller  52  that facilitates processor access to various types of memory, including flash ROM (Read Only Memory)  54 , a RAM (Random Access Memory)  56 , a hard disk drive  58 , and portable media drive  16 . CPU  50  is equipped with a level  1  cache  60  and a level  2  cache  62  to temporarily store data and hence reduce the number of memory access cycles, thereby improving processing speed and throughput.  
         [0061]    CPU  50 , memory controller  52 , and various memory devices are interconnected via one or more buses, including serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus, also known as a Mezzanine bus.  
         [0062]    As one suitable implementation, CPU  50 , memory controller  52 , ROM  54 , and RAM  56  are integrated onto a common module  64 . In this implementation, ROM  54  is configured as a flash ROM that is connected to memory controller  52  via a PCI (Peripheral Component Interconnect) bus and a ROM bus (neither of which are shown). RAM  56  is configured as multiple DDR SDRAM (Double Data Rate Synchronous Dynamic RAM) that are independently controlled by the memory controller  52  via separate buses (not shown). Hard disk drive  58  and portable media drive  16  are connected to the memory controller via the PCI bus and an ATA (AT Attachment) bus  66 .  
         [0063]    A 3D graphics processing unit  68  and a video encoder  70  form a video processing pipeline for high speed and high resolution graphics processing. Data is carried from the graphics processing unit  68  to video encoder  70  via a digital video bus (not shown). An audio processing unit  72  and an audio codec (coder/decoder)  74  form a corresponding audio processing pipeline with high fidelity and stereo processing. Audio data is carried between audio processing unit  72  and audio codec  74  via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port  76  for transmission to a television or other display. In the illustrated implementation, video and audio processing components  68 - 76  are mounted on module  64 .  
         [0064]    Also implemented on module  64  are a USB host controller  78  and a network interface  80 . USB host controller  78  is coupled to CPU  50  and memory controller  52  via a bus (e.g., PCI bus) and serves as host for the peripheral game controllers  14 . The network interface  80  provides access to a network (e.g., the Internet, home network, etc.) and may be any of a wide variety of various wired or wireless interface components including an Ethernet card, a modem, a BLUETOOTH module, a cable modem, and the like.  
         [0065]    Game console  12  has two dual controller support subassemblies  82 ( 1 ) and  82 ( 2 ), with each subassembly supporting two of game controllers  14 ( 1 )- 14 ( 4 ). A front panel I/O subassembly  84  supports the functionality of power button  22  and eject button  24 , as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the game console. Subassemblies  82 ( 1 ),  82 ( 2 ), and  84  are coupled to the module  64  via one or more cable assemblies  86 .  
         [0066]    Eight memory units  42 ( 1 )- 42 ( 8 ) are illustrated as being connectable to the four game controllers  14 ( 1 )- 14 ( 4 ), i.e., two memory units for each game controller. Each memory unit  42  offers additional storage on which games, game parameters, and other data can be stored. When inserted into a game controller, a memory unit  42  can be accessed by the memory controller  52 . Additionally, one or more memory units  42  may be inserted into game console  12  and accessed by memory controller  52 .  
         [0067]    A system power supply module  88  provides power to the components of gaming system  10 . A fan  90  cools the circuitry within game console  12 .  
         [0068]    Game console  12  implements a uniform media portal model that provides a consistent user interface and navigation hierarchy to move users through various entertainment areas. The portal model offers a convenient way to access content from multiple different media types—game data, audio data, and video data—regardless of the media type inserted into portable media drive  16 . To implement the uniform media portal model, a console user interface (UI) application  92  is stored on hard disk drive  58 . When the game console is powered on, various portions of console application  92  are loaded into RAM  56  and/or caches  60 ,  62  and executed on CPU  50 . Console application  92  presents a graphical user interface that provides a consistent user experience when navigating to different media types available on the game console.  
         [0069]    Gaming system  10  may be operated as a standalone system by simply connecting the system to a television or other display. In this standalone mode, gaming system  10  allows one or more players to play games, watch movies, or listen to music. However, with the integration of broadband connectivity made available through network interface  80 , gaming system  10  may further be operated as a participant in a larger network gaming community.  
         [0070]    [0070]FIG. 3 shows an exemplary network gaming environment  100  that interconnects multiple gaming systems  10 ( 1 ), . . . ,  10 ( g ) via a network  102 . Network  102  represents any of a wide variety of data communications networks. It may include public portions (e.g., the Internet) as well as private portions (e.g., a residential Local Area Network (LAN)), as well as combinations of public and private portions. Network  102  may be implemented using any one or more of a wide variety of conventional communications media including both wired and wireless media. Any of a wide variety of communications protocols can be used to communicate data via network  102 , including both public and proprietary protocols. Examples of such protocols include TCP/IP, IPX/SPX, NetBEUI, etc.  
         [0071]    In addition to gaming systems  10 , one or more online services  104 ( 1 ), . . . ,  104 ( s ) may be accessible via network  102  to provide various services for the participants, such as hosting online games, serving downloadable music or video files, hosting gaming competitions, serving streaming audio/video files, and the like. Network gaming environment  100  may further involve a key distribution center  106  that plays a role in authenticating individual players and/or gaming systems  10  to one another as well as online services  104 . Distribution center  106  distributes keys and service tickets to valid participants that may then be used to form games amongst multiple players or to purchase services from online services  104 .  
         [0072]    Network gaming environment  100  introduces another memory source available to individual gaming systems  10 —online storage. In addition to portable storage medium  18 , hard disk drive  58 , and memory unit(s)  42 , gaming system  10 ( 1 ) can also access data files available at remote storage locations via network  102 , as exemplified by remote storage  108  at online service  104 ( s ).  
         [0073]    Game Controller and Text Input Device  
         [0074]    [0074]FIG. 4 is a top view of one of the game controllers  14  from FIG. 1. As seen in FIG. 4, game controller  14  includes two grip portions  110   LEFT ,  110   RIGHT  on either side of a main body portion  112 . In use, a player typically holds left grip  110   LEFT  such that the left edge  111   LEFT  is in or near the palm of the user&#39;s left hand, and holds the right grip portion  110   RIGHT  such that the right edge  111   RIGHT  is in or near the palm of the user&#39;s right hand. In this fashion, and as shown in phantom lines in FIG. 5, the user can thereby access thumb sticks  34 , D-pad  36  and buttons  38  with his or her thumbs, and can access triggers  40  (not shown in FIG. 5) with his or her index fingers. As seen in FIGS. 4 and 5, a user holding game controller  14  in both hands, in the game playing position and with both palms in full contact, will have his or her palms separated by a maximum distance of D. In a preferred embodiment, D is 7.5 inches or less. In another preferred embodiment, D does not exceed 6 inches. In still another preferred embodiment, D is between 5.63 and 6.38 inches. Because main body portion  112  only extends across the upper portion of game controller  14 , there is an open region between the ends  116   LEFT  and  116   RIGHT  of grip portions  110   LEFT  and  110   RIGHT , and below main body portion  112 . FIG. 6 is a bottom plan view of game controller  14 , and shows the underside  166  of main body portion  112 . Extending from the forward part of the main body portion is serial cable  32  which communicates with game console  12 . In other embodiments, game controller  14  could communicate with game console  12  by wireless communication. For example, game controller  14  could communicate with game console  12  in accordance with the BLUETOOTH standard for wireless communications, as described in, e.g., “Specification of the Bluetooth System,” version 1.1 (dated Feb. 22, 2001), available from Bluetooth SIG, Inc. at &lt;http://www.bluetooth.com&gt;.  
         [0075]    [0075]FIG. 7 is a front view of game controller  14 , and shows two connection ports  118   UPPER  and  118   LOWER . As previously discussed, connection ports  118  could be used for, e.g., insertion of one or more memory units  42 . As another example, a connection port  118  could be used to connect a headset or other audio transmitter/receiver device. FIG. 8 is rear view of game controller  14 , and shows the side of the game controller that would usually face the player when the controller is being used for game play.  
         [0076]    As shown in FIG. 9, text input device  120  can be attached to game controller  14  so as to fit in (or covering) the open region between grip ends  116 . By locating text input device  120  in this area, a user can access keys  122  with his or her thumbs without substantially moving his or her hands from a game playing position (or with only a slight shift in the position of the grips in his or her hands), and without putting down game controller  14 . More specifically, and as shown by the phantom line outlines of a user&#39;s hands, a user can easily reach any of the keys  122  on text input device  120  with one of his or her thumbs. A user can thereby quickly change from entering game play input via thumb sticks  34 , D-pad  36 , buttons  38  and/or triggers  40  to entering text via keys  122 , and then quickly revert to providing game play input. A user could also control a game with one hand while entering text (or otherwise using text input device  120 ) with the other hand.  
         [0077]    [0077]FIG. 10 is a top view of text input device  120 . Text input device  120  includes multiple rows of keys  122 . In one preferred embodiment, all of keys  122  are single position buttons. In other words, each key  122  only has two states: pressed and not pressed. This is distinguished from a D-pad, rocker switch or other control mechanism that may have more than two states, e.g., a first or not pressed state, a second state where the control is pressed in a first position (or direction), a third state where the control is pressed in a second position (or direction), etc. In that embodiment, the majority of keys  122  are arranged in a single array  123  (outlined) having 3 rows and 10 columns. The columns and/or rows of the array may be curved, straight or in combinations of curved and straight formations. The curves may face in any direction. For example, the curved rows may curve downward in a “frown” (as shown), or may curve upward in a “smile.” 
         [0078]    Many of keys  122  correspond to a specific letter or other text character. The specific character may be marked on the key or in close proximity thereto. Some keys may, similar to a standard keyboard, correspond to multiple characters. For example, pressing key  122   A  alone could generate a lower case “a,” while pressing key  122   SHIFT  and key  122   A  in sequence could generate an upper case “A.” So as to reduce the number of required keys, other key combinations can be used to add further characters to a key. For example, a second character may be printed on many of keys  122  in a second color, and a separate key pressed to generate the character printed in that second color. Referring to key  122   A , a forward slash (“/”) is printed above the “A,” but in blue. Key  122   BLUE  has a blue spot printed on its surface. By pressing and holding key  122   BLUE  and then key  122   A , a forward slash is generated. Similarly, a third character could be printed on or near a key in a third color, and another key pressed to generate that third color character. Again using key  122   A  as an example, a back slash is printed above key  122   A  in green, and key  122   GREEN  has a green spot on its surface. By pressing and holding key  122   GREEN  and then pressing key  122   A , a back slash is generated. Other keys may have specific functions assigned by a particular game program. For example, certain keys could, similar to the F1, F2, F3, etc. keys on a standard keyboard, each generate a specific signal that is interpreted differently by different game programs. Other keys could function similar to the arrow keys (↑, ↓, →, ←) on a standard keyboard and move a text cursor up, down, left or right within a block of text. Other keys could also function similar to keys on a standard keyboard such as the space bar, backspace key, “DEL” key, etc.  
         [0079]    Text input device  120  could have more or less of keys  122  than shown. In a preferred embodiment, text input device  120  has a sufficient number of simultaneously-viewable keys to accommodate the most commonly-used characters of the intended language (i.e., the language of persons for whom the keyboard is primarily intended). In one preferred embodiment, text input device  120  has at least 26 simultaneously-viewable text keys. In a more preferred embodiment, each of those 26 text keys generates a letter of the alphabet in an individual key press (i.e., without requiring a shift or other key combination). In other embodiments, text input device  120  may have between 20 and 30 simultaneously-viewable text keys. In still other embodiments, text input device  120  could have over 30 simultaneously-viewable text keys.  
         [0080]    Extending laterally from either side of text input device  122  are conformal wings  124   LEFT  and  124   RIGHT . As described in more detail below, wings  124  may in some embodiments cooperate with a portion of the game controller  14  to hold the text input device  120  firmly in place.  
         [0081]    [0081]FIG. 11 is a bottom view of text input device  120 . Undersides  126   LEFT  and  126   RIGHT  can be shaped to conform to the surface contour(s) of portions of a game controller. In one preferred embodiment, undersides  126   LEFT  and  126   RIGHT  have shapes substantially conforming to the outer surfaces of portions of grip ends  116  on which wings  124  rest when text input device  120  is attached to game controller  14 . Wings  124   LEFT  and  124   RIGHT  may have rubber or some other compressible, high-friction material on the undersides  126   LEFT  and  126   RIGHT  of wings  124 . Such a material could compress slightly when text input device  120  is installed on game controller  14 , thereby minimizing the effects of any size tolerances or manufacturing defects. Such a material could also, by increasing friction between the wing undersides  126  and the game controller  14 , prevent the text input device from slipping from position. A cheek area  128  could also be covered with rubber or other rubber-like material. In one embodiment, the rubber material covering undersides  126   LEFT  and  126   RIGHT  and cheek area  128  is a rubber-like thermoplastic elastomer such as SANTOPRENE (available from Advanced Elastomer Systems of Akron, Ohio.). Located inboard of the wings on the bottom side of text input device  120  are retaining slots  130 . Located between slots  130  is a cover plate  132 , the center portion of which forms a tongue  134 . Located at the end of tongue  134  is a retaining button  136 . Because of the elasticity of tongue  134 , button  136  can be pressed in, but is then biased outward to its original position. Also emanating from the underside of text input device  120  is a connecting cable  138  having a connector  140  at the end.  
         [0082]    [0082]FIG. 12 is a perspective view of an attachment bracket  142 . Attachment bracket  142  includes an attachment plate  144 , a connecting arm  146 , and retaining shoulders  148 . Connecting arm  146  has a “U-shaped” cross section and contoured edges  150 . Located on either side of attachment plate  144  and extending above the surface  152  of attachment plate  144  are clips  154 . FIG. 13 is a top plan view of bracket  142 , and shows the interior of arm  146 . Located at the bottom of arm  146  is a cable retaining groove  156 , the operation of which is described below. FIG. 14 is a bottom plan view of bracket  142  when attached to text input device  120 . As seen in FIG. 14 and in FIG. 15A, a cross section taken along lines  15 A- 15 A of FIG. 14, clips  154  fit upward into slots  130 . As bracket  142  is then moved toward the front  158  of text input device  120 , the interior portions  160  of clips  154  contact and hold the forward lip  162  of each slot  130 . When attachment plate  144  is fully forward, button  136  is biased outward into a circular cutout  164  in attachment plate  144 , as seen in FIG. 15B (a cross section taken along lines  15 B- 15 B of FIG. 14). In this manner, attachment plate  144  cannot be removed from text input device  120  without first pressing button  136  inward. In other embodiments, button  136  could be omitted. In such an embodiment, bracket  142  could retain text input device  120  by the pinching action of clip  154  on the portion of lower case  180  that is proximate to lip  162 . In such an embodiment, circular cutout  164  could also be omitted. Alternatively, the general region of attachment plate  144  in which circular cutout  164  is located could be slotted or grooved to accommodate protrusions on the bottom of text input device  120 .  
         [0083]    In use, arm  146  of bracket  142  acts a flexible beam to hold text input device  120  in place. In particular, attachment plate  144  is first attached to text input device  120  as described above. Next, undersides  126  of wings  124  are placed in contact with grip ends  116 , and the cheek portion  128  is placed in contact with a lower portion of main body portion  112 . Arm  146  is then bowed slightly outward. In other words, the ends of arm  146  are moved in the direction opposite to that in which the tips of the “U” of the arm cross-section point, while the middle of arm  146  is moved slightly in the opposite direction. As it is being bowed, the retaining shoulders  148  slip over and contact the lower edge of front  170 . The elasticity of the arm  146  then causes the inside faces of the shoulders  148  to be pressed against the lower edge of front  170 , while the undersides  126  of wings  124  are pulled into contact with grip ends  116  (and cheek portion  128  is pulled into contact with main body portion  112 ). In this manner, text input device  120  can be attached to game controller  14  without cutting into or otherwise modifying the outer housing of game controller  14 .  
         [0084]    [0084]FIGS. 16-18 show installation of text input device  120  on game controller  14 . FIG. 16 is a top plan view of game controller  14  with text input device  120  attached. The left side of text input device  120  has been removed, with the outline shown in broken lines, to further illustrate the attachment. Wings  124  of text input device  120  extend over the interior portions of grip ends  116 . The undersides  126  of wings  124  conform to and rest upon the outer upper surfaces of grip ends  116 , and cheek portion  128  of the underside of text input device  120  rests upon the lower part of main body portion  112 . FIG. 17 is a bottom plan view of game controller  14  with text input device  120  and bracket  142  attached, and further shows that the undersides  126  of wings  124  are covered by grip ends  116 . Arm  146  of bracket  142  extends to the front of main body portion  112 , with the upper edges  150  of arm  146  (see FIG. 12) conforming to the underside  166  of main body portion  112 . Retaining shoulders  148  wrap over the bottom edge  168  of main body portion  112  and extend over the front  170  of game controller  14 . In this manner, bracket  142  holds text input device  120  against the top surfaces of main body portion  112  and grips  110 . Connector  140  plugs into one of ports  118  (FIG. 7). FIG. 18 is a side view of game controller  14  with installed text input device  120 , and further shows cooperation of the various components.  
         [0085]    As seen in FIGS. 12-14 and  17 , a pair of tabs  157  extend from the retaining shoulders  148  of bracket  142 . Tabs  157  allow convenient removal of bracket  142  (and attached text input device  120 ) from game controller  14 . By pushing downward on tabs  157  from the top side of game controller  14 , bracket  142  can be disengaged from game controller  14 .  
         [0086]    [0086]FIG. 19 is an exploded perspective view of text input device  120 . Text input device  120  includes an upper case  172 , a set of keys  174 , printed circuit board  176 , an electrostatic discharge shield  178 , and a lower case  180 . The box-like structure to the side of the opening in lower case  180  covers (or partially covers) a retaining slot  130 . So as not to obscure the drawing, a similar box-like structure on the opposite side of the opening is not shown. In one embodiment, keys  174  are molded from silicone rubber, and form inverted domes which, when pushed downward, close membrane or metal dome switches (not shown) located on printed circuit board  176 . Located on the underside of printed circuit board  176  (also not shown) are various electronic components which cause appropriate text character codes to be generated when various of keys  122  are pressed. The design of circuits and components for such purposes is known in the art, and thus not further described herein. Any suitable components for generating text character codes in response to key presses can be implemented.  
         [0087]    Also shown in FIG. 19 is an exploded view of connector  140 . Cable  138  terminates in a right angle fitting  182 . In particular, fitting  182  causes cable  138  to exit from connector  140  in a direction that is substantially perpendicular to the direction in which connector  140  is inserted into port  118 . Extending from fitting  182  are multiple contacts  184 . When connector  140  is inserted into port  118 , contacts  184  form electrical connections with corresponding contacts inside of port  118 . Upper and lower connector housings  186  and  188 , when attached to one another, capture and retain fitting  182 . By use of right angle fitting  182 , a shorter cable may be used to connect text input device  120  to game controller  14 . Right angle fitting  182  further avoids a loop of cable  138  extending beyond the end of connector  140  and then wrapping back around into connector  140 . In other embodiments, a fitting causing cable  138  to exit connector  140  at other angles could be used.  
         [0088]    [0088]FIG. 20 is a block diagram of text input device  120  and game controller  14 . In a preferred embodiment, game controller  14  contains a USB hub  200  with multiple ports  202 ,  204  and  206 . One of those ports ( 202 ) is connected to thumb sticks  34 , D-pad  36 , buttons  38  and triggers  40 , and is used for communicating game input to game console  12 . The remaining ports  204  and  206  correspond to connection ports  118   UPPER  and  118   LOWER  (FIG. 7), and are available for a variety of purposes, such as the aforementioned memory units  42  or a headset. In a preferred embodiment, text input device  120  connects to one of those ports. When so connected, game controller  14  and text input device  120  are recognized by game console  12  as two separate USB devices. In this manner, it is thus possible for a user to alternate between game play input with game controller  14  and text input with text input device  120  without having to actuate a mode selection switch each time the user alternates from one to the other. In other words, the game play controls of the game controller provide output recognized as game play input without requiring a separate signal to indicate whether game controller output should be regarded as text or game play input. Similarly, text keys of the text input device provide output recognized as text input without requiring a separate signal to indicate whether the text input device output should be regarded as text input or game play input. Similarly; it is not necessary to provide a “controller off/text input on” switch to go from use of the game controller to use of the text input device, or to provide a “controller on/text input off” switch to go from use of the text input device to use of the game controller. The operation of multiple USB devices by a computer is known in the art, and is described in Universal Serial Bus Specification Revision 2.0 (Apr. 27, 2000), available from USB Implementers Forum, Inc. at &lt;http://www.usb.org/home&gt;.  
         [0089]    According to another aspect of the invention, a single text input device can be manufactured for attachment to different types of game controllers. Respectively shown in FIGS. 21-24 are top plan, bottom plan, front and rear (player side) views of a second type of game controller  14 ′. Game controller  14 ′ is similar to game controller  14  of FIGS. 4-8, but has different physical dimensions and a different shape. For example, grips  110 ′ LEFT  and  110 ′ RIGHT  of game controller  14 ′ are larger and more widely spaced than is the case with controller  14 . In a preferred embodiment, the width w of controller  14 ′ is less than 8 inches. In order to attach text input device  120  to game controller  14 ′, a different attachment bracket  142 ′ may be used. As seen in FIG. 25, a perspective view of attachment bracket  142 ′, bracket  142 ′ has an attachment plate  144 ′ having clips  154 ′, as well as a connecting arm  146 ′ and retaining shoulders  148 ′. Bracket  142 ′ further has contoured edges  150 ′ on arm  146 ′. FIG. 26 is a top plan view of bracket  142 ′, and shows the interior of arm  146 ′. Located at the bottom of arm  146 ′ is a cable retaining groove  156 ′, the operation of which is described below. FIG. 27 is a bottom plan view of bracket  142 ′. Attachment plate  144 ′ of bracket  142 ′ attaches to text input device  120  similar to attachment plate  144  of bracket  142 , as previously described. Alternatively, and as discussed in connection with bracket  142 , button  136  could be omitted from text input device  120 , with bracket  142 ′ retaining text input device  120  by the pinching action of clips  154 ′. As with bracket  142 , a pair of tabs  157 ′ extend from the retaining shoulders  148 ′ of bracket  142 ′. Tabs  157 ′ allow convenient removal of bracket  142 ′ (and attached text input device  120 ) from game controller  14 ′. By pushing downward on tabs  157 ′ from the top side of game controller  14 ′, bracket  142 ′ can be disengaged from game controller  14 ′.  
         [0090]    Similar to bracket  142 , arm  146 ′ of bracket  142 ′ acts a flexible beam to hold text input device  120  in place. In particular, attachment plate  144 ′ is first attached to text input device  120  in a manner similar to attachment plate  144 . Unlike game controller  14 , however, wings  124  do not rest upon grips  110 ′ when text input device  120  is attached to game controller  14 ′. Instead, tips  145 ′ of attachment plate  144 ′ rest upon the lower portion of the upper face of main body portion  112 ′ of game controller  14 ′. Specifically, the undersides of tips  145 ′ are placed in contact with main body portion  112 ′. Arm  146 ′ is then bowed slightly outward. In other words, the ends of arm  146 ′ are moved in the direction opposite to that in which the tips of the “U” of the arm cross-section point, while the middle of arm  146 ′ is moved slightly in the opposite direction. As it is being bowed, the retaining shoulders  148 ′ slip over and contact the lower edge of front  170 ′. The elasticity of the arm  146 ′ then causes the inside faces of the shoulders  148 ′ to be pressed against the lower edge of front  170 ′, while the undersides of tips  145 ′ are pulled into contact with main body portion  112 ′. In this manner, text input device  120  can be attached to game controller  14 ′ without cutting into or otherwise modifying the outer housing of game controller  14 ′.  
         [0091]    [0091]FIGS. 28-30 show installation of text input device  120  on game controller  14 ′. FIG. 28 is a top plan view of game controller  14 ′ with text input device  120  attached. The left side of text input device  120  has been removed, with the outline shown in broken lines, to further illustrate the attachment. Text input device  120  rests between the inside outer surfaces  113 ′ LEFT  and  113 ′ RIGHT  of grips  110 ′. FIG. 29 is a bottom plan view of game controller  14 ′ with text input device  120  and bracket  142 ′ attached, and further shows that wings  124  are separated from grips  110 ′. Arm  146 ′ of bracket  142 ′ extends to the front of main body portion  112 ′, with the upper edges  150 ′ of arm  146 ′ (see FIG. 25) conforming to the underside  166 ′ of main body portion  112 ′. Retaining shoulders  148 ′ wrap over the bottom edge  168 ′ of main body portion  112 ′ and extend over the front  170 ′ of game controller  14 ′. Connector  140  plugs into one of ports  118 ′ (FIG. 23). FIG. 30 is a side view of game controller  14 ′ with installed text input device  120 , and further shows cooperation of the various components.  
         [0092]    As seen by comparison of FIGS. 13 and 26, the shape of groove  156  is different from that of groove  156 ′. In each case, the groove serves to restrain cable  138  inside of arm  146  or  146 ′. Grooves  156  and  156 ′ are sized such that cable  138  can be easily pressed into the groove, but then removed by pulling lightly upward. Because game controller  14  is slightly smaller than game controller  14 ′, arm  146  is slightly shorter than arm  146 ′. So as to gather the excess length of cable  138  when text input device  120  is attached to game controller  14 , groove  156  in arm  146  is serpentine in shape. Conversely, groove  156 ′ of arm  146 ′ is straight. Grooves  156  and  156 ′ need not extend as far toward the ends of brackets  142  and  142 ′ as is shown in FIGS. 13 and 26. In some embodiments, groove  156  (or  156 ′) terminates at a point that is more distant from the front end (i.e., the end that is positioned toward the front of the game controller) of bracket  142  (or  142 ′) than is shown. In one embodiment, groove  156  (or groove  156 ′) terminates approximately one inch from the point on the front of bracket  142  (or bracket  142 ′) from which cable  138  exits.  
         [0093]    By providing a single text input device and different attachment brackets, different types of game controllers can be more economically retrofit with a text input device. Because each bracket is a relatively simple structure and has few (one) components and fabrication steps, it is less expensive to fabricate multiple types of attachment arm and a single type of text input device than to fabricate multiple types of text input devices. The outside of arm  146  or of arm  146 ′ can have any desired shape.  
         [0094]    Upper and lower housings  172  and  180  of text input device  120  may be formed from any suitable materials. In a preferred embodiment, housings  172  and  180  are molded from glass-filled polycarbonate. Similarly, brackets  142  and  142 ′ may also be molded from glass-filled polycarbonate. Use of such a material provides enhanced creep resistance.  
         [0095]    Although several examples of carrying out the invention have been described, those skilled in the art will appreciate that there are numerous variations and permutations of the above described examples that fall within the spirit and scope of the invention. The physical shapes and configurations shown are merely examples. Numerous other shapes and configurations are possible. Numerous modifications and other implementations are within the scope of the invention, which is only limited by the following claims.