`(12) Patent Application Publication (10) Pub. No.: US 2010/0073283 A1
`Enright
`(43) Pub. Date:
`Mar. 25, 2010
`
`US 20100073283Al
`
`(54) CONTROLLER WITH USER-SELECTABLE
`DISCRETE BUTTON EMULATION
`
`(22) Filed:
`
`Sep. 19, 2008
`
`Publication Classi?cation
`
`(76) Inventor:
`
`Robert Enright, BrentWood, NY
`(Us)
`
`(51) Int CL
`G09G 5/00
`
`(2006.01)
`
`Correspondence Address:
`
`(52) US. Cl. ...................................................... .. 345/156
`
`BARKUME & ASSOCIATES, RC.
`20 GATEWAY LANE
`MANORVILLE, NY 11949 (US)
`
`(21) Appl, No.1
`
`12/233,803
`
`ABSTRACT
`
`57
`(
`)
`A user device With a position control device such as a thumb
`stick may be used to emulate discrete button presses via user
`selection of a mode sWitch on the device.
`
`I’ - _ _ _ — — _ T _ _ _ _ _ — — - - - - - - - - - - _ _ _ — — - - - - _ _ _ _
`
`i
`=
`i
`:
`:
`:
`E
`g
`i
`i
`:
`i
`A.‘ w; :
`PROCESSING
`"\ B i
`Posmo" COORD'NATE DATA
`5
`Asggggl'g“ A" I:
`i
`i
`:
`
`=
`:
`DISCRETE aunous A10
`: ®®®®
`i
`i
`5
`:
`
`—-
`
`l
`
`l
`
`I
`
`I
`
`'
`
`MODE swn'cu
`
`4
`
`'
`
`‘A
`posmggvféumm l___
`
`.
`
`A 6
`
`|
`
`'
`I
`'
`I
`-
`.
`=
`:
`:
`I.
`|
`'
`-
`:
`l ______________ _ _U_SER_D_El/IEE_ _____________ _ _-:(\ 2
`
`r - _ _ _ - - - - _ _ - - - _ _ _ - - _ _
`
`I
`
`I
`
`l
`
`|
`
`I
`I
`.
`I
`:
`'
`:
`L _ _ Poacouvurmc DEVICE
`
`|
`
`‘
`
`|
`|
`I
`:
`:
`l
`{A11
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000001
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 1 of 8
`
`US 2010/0073283 A1
`
`.3
`
`zo:<o_#E<
`
`s.<moo~E
`
`
`
`m4<zo_mzotamm._.mmom_o
`
`
`
`
`
`<._.<Om:.<z_omoouzo:._wo._
`
`
`
`
`
`mo_>mooz.Sn=2ou.50:
`
`
`
`—.mm:u_n_
`
`
`
`mzotammfimoma
`
`QQUQUQU
`
`
`
`.._om»zouzoEwoa
`
`wo_>mo
`
`PETITIONER VALVE CORPORATION, EX. 1003
`
`p.000002
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000002
`
`
`
`
`
`
`
`
`
`Patent Application Publication Mar. 25, 2010 Sheet 2 of 8
`
`US 2010/0073283 A1
`
`__._.__..._....
`
`._.—.._...____
`
`.3
`
`Ezfiwmooma_
`
`55.005._zo_»<u:%_<
`
`._<zo_mmoo:
`
`
`
`<55m»<z_amoouzoEmo._
`
`
`
`
`
`m._<zo_mzo._..5mmpmmoma
`
`
`
`
`
`a7:».mosmoozE.Es_ooBo:
`
`Nmane:
`
`
`
`mzotbmw.E¢um_o
`
`°@®OU
`
`
`
`4om._.zouzo_.:mo._
`
`mo_>mo
`
`PETITIONER VALVE CORPORATION, EX. 1003
`
`p.000003
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000003
`
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 3 0f 8
`
`US 2010/0073283 Al
`
`_
`
`.
`
`u n -
`
`. (I
`
`_ 20:53am‘.
`_ 2560mm
`
`
`
`
`
`" wzawwuoE 5:26 woos
`
`
`
`n 3/\ wzotnm wEmumE
`
`u @9 6 m0
`
`N MKDUE
`
`
`
`(w. .muSmn $5285.
`
`_. |||||||||||||||||||||||||||||||||||||||||||||| | |
`
`_ muSma
`
`. .6158 2250“.
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000004
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 4 0f 8
`
`US 2010/0073283 A1
`
`FIGURE 4
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000005
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 5 0f 8
`
`US 2010/0073283 A1
`
`FIGURE 5
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000006
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 6 0f 8
`
`US 2010/0073283 A1
`
`FIGURE 6
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000007
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 7 0f 8
`
`US 2010/0073283 A1
`
`46
`
`FIGURE 7A
`
`52
`
`46
`
`FIGURE 78
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000008
`
`
`
`Patent Application Publication
`
`Mar. 25, 2010 Sheet 8 0f 8
`
`US 2010/0073283 A1
`
`EXISTING SOFTWARE
`MANAGES INPUT TO AND
`OUTPUT FROM INPUT
`DEVICE
`
`A80
`
`INPUT: POSITIONAL
`COORDINATE DATA
`AND MODE SIGNAL
`FROM INPUT DEVICE
`
`IS
`MODE SWITCH
`PRESSED
`7
`
`OUTPUT NEUTRAL
`POSITION COORDINATE
`DATA FOR
`ASSOCIATED
`POSITIONAL POINTER
`
`USE POSITION COORDINATE
`DATA INPUT TO DETERMINE
`THE POSITION OF THE
`POINTER
`
`A90
`
`DETERMINE WHICH
`PREDEFINED REGION THE
`POSITIONAL POINTER
`RESIDES IN
`
`OUTPUT THE VALUE
`OF THE BUTTON
`ASSOCIATED WITH
`THAT REGION
`
`FIGURE8
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000009
`
`
`
`US 2010/0073283 A1
`
`Mar. 25, 2010
`
`CONTROLLER WITH USER-SELEC TABLE
`DISCRETE BUTTON EMULATION
`
`could be activated by sWeeping the position control pointer
`through multiple sections as de?ned by the application.
`
`TECHNICAL FIELD
`
`DISCLOSURE OF THE INVENTION
`
`[0001] This invention relates to input controller devices
`such as video game controllers and the like, and in particular
`to a system and method for implementing a user-selectable
`button emulation mode Wherein the position data from a
`thumbstick or the like may be interpreted as presses of a
`discrete button.
`
`BACKGROUND OF THE INVENTION
`
`[0002] As electronic devices become more complex, With a
`growing list of functions, the associated user input devices
`have become more complex and harder to use. Looking for
`the correct button to implement a desired function has
`become a dif?cult task, and When coupled With a need for
`speedy inputs (such as gaming), it has become an intimidating
`task for the user to move their ?nger from one button to next
`desired button. In addition, video equipment such as playback
`devices and set-top boxes have controllers that are clogged
`With small buttons placed close together, making it dif?cult to
`?nd and press only the desired button.
`[0003] In addition, in the video gaming ?eld, game control
`lers such as an XBOX360 controller include a position con
`trol device, such as a thumbstick, that enables the user to
`direct the gaming application to move a character in a desired
`direction or to control a camera vieW angle. The user normally
`Will manipulate the thumbstick as desired during game play,
`but then may need to depress one or more of several available
`discrete buttons in order to perform additional desired func
`tions, such as having the character jump or kick. Moving the
`?nger from the thumbstick to a button on the controller and
`then back to the thumbstick is a dif?cult task for many users,
`especially novice users.
`[0004] In addition, many applications such as video games
`Will require the user to select tWo buttons at the same time in
`order to generate a certain function. That is, in order to gen
`erate a ?rst function the user must press button X, in order to
`generate a second function the user must press buttonY, and
`in order to generate a third function the user must press
`buttons X andY simultaneously. This is also a dif?cult task
`for many users, especially since it requires taking the ?nger
`off of the thumbstick and positioning the thumb over the
`control button Without looking aWay from the game display.
`[0005] It is therefore desired to provide a user-operated
`controller device that can alloW a user to easily select discrete
`button commands on the controller Without looking at the
`buttons or having to move his ?nger off of the thumbstick or
`other type of position control device.
`[0006] It is also desired to provide a user-operated control
`ler device that can alloW a user to easily select button com
`mands on the controller that Would otherWise require simul
`taneous selection of more than one button.
`[0007] It is further desired to provide a user-operated con
`troller device that can alloW a user to easily select additional
`button commands on the controller in addition to those
`assigned to existing buttons on the controller (i.e. to provide
`neW additional options).
`[0008] It is also desired to assist memoriZation of com
`mands for in-game actions by relating those actions to spe
`ci?c pointer/thumb movements. For example, sWinging a bat
`
`[0009] The present invention accomplishes these obj ec
`tives by selectively using the positional data from a position
`control device (such as a thumbstick) to mimic or emulate
`existing physical input buttons or to add functionality Without
`having to provide additional buttons. Positional data, typi
`cally X and Y coordinates, are used to de?ne a point on a
`plane. Multiple X,Y data sets are typically used to determine
`movement of that point on the plane de?ned by the physical
`movement range of the X-Y input device. These movement
`data sets are then output to the controlled device (such as a
`gaming console or a personal computer).
`[0010] This invention Will alloW the plane de?ned by the
`movement area of the position control input devices to be
`divided logically into various regions, and to assign a unique
`output value to each section. If the physical movement range
`of the X-Y input device de?nes a circular plane, then multiple
`Wedge-shaped regions of that circular plane Would be de?ned
`by their X,Y values. The present invention reinterprets X,Y
`input data to determine Which assigned discrete button value
`should be output to the controlled device.
`[0011] Thus, by de?ning regions of the plane as discrete
`buttons, the need to remove a ?nger from one button and
`move it to the next is eliminated. If desired, the cost and siZe
`of the input device can also be reduced With the elimination of
`each button that is noW assigned to a section of the plane
`de?ned by the X-Y input devices physical movement range.
`[0012] The user is able to select betWeen a position mode,
`for Which the positional data from the position control device
`is interpreted as position data as in the prior art, and a discrete
`mode, for Which the positional data from the position control
`device is interpreted as discrete button press information as
`described herein.
`[0013] Accordingly, the present invention in a ?rst embodi
`ment is a device that includes a housing and a user-control
`lable mode sWitch connected to the housing enabling a user to
`select a position mode or a discrete mode. A position control
`device (such as a thumbstick or trackball) is also connected to
`the housing, and it is manipulatable by a user to provide
`position coordinate data that varies in accordance With a
`position of the position control device (such as X-Y coordi
`nate data). Processing circuitry is coupled to the mode sWitch
`and the position control device, and is adapted to determine if
`a user has selected the position mode or the discrete mode.
`When the mode sWitch is in the position mode, the position
`coordinate data is output as a function of the position of the
`position control device. When the mode sWitch is in the
`discrete mode, at least one discrete signal may be output as a
`function of the position of the position control device.
`[0014] The position control device may be adapted to track
`manipulation thereof by a user over a prede?ned coverage
`area, Wherein the coverage area is logically divided into a
`plurality of regions, and Wherein each discrete signal is asso
`ciated With one of the regions, such that manipulation of the
`position control device into a region Will cause the processing
`circuitry to output the discrete signal associated With that
`region When the mode sWitch is in the discrete mode. The
`output of a discrete signal may emulate a single button selec
`tion by the user, or it may emulate a dual button selection by
`the user, or any other function as de?ned by the application
`program.
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000010
`
`
`
`US 2010/0073283 A1
`
`Mar. 25, 2010
`
`[0015] A plurality of buttons may also be connected to the
`housing and coupled to the processing circuitry, Wherein
`selection by the user of a button Will cause the processing
`circuitry to output a discrete signal associated With that but
`ton, and further When the mode sWitch is in the discrete mode,
`a discrete signal output by the processing circuitry as a func
`tion of the position of the position control device emulates the
`selection by the user of an associated button. The housing
`may be a user input or control device such as, but not limited
`to, a video game controller, a computer mouse, or a gyro
`scopic control device.
`[0016] In a second embodiment of the invention, a system is
`provided that includes a user device and a host computing
`device interconnectable With the user device. The user device
`includes a housing, a user-controllable mode sWitch con
`nected to the housing, and a position control device connected
`to the housing. The mode sWitch outputs a mode signal that
`indicates if a user has selected a position mode or a discrete
`mode. The position control device is manipulatable by a user
`to provide position coordinate data that varies in accordance
`With a position of the position control device. The user device
`also has means for transmitting the mode signal and the
`position coordinate data to a host computing device, Which
`may for example be a Wireless or a Wired connection. The host
`computing device includes means for receiving the mode
`signal and the position coordinate data from the user device,
`and processing circuitry that is adapted to determine ifa user
`has selected the position mode or the discrete mode based on
`the mode signal. When the mode signal indicates that the
`mode sWitch is in the position mode, then the position coor
`dinate data is processed as a function of the position of the
`position control device. When, hoWever, the mode signal
`indicates that the mode sWitch is in the discrete mode, then the
`position coordinate data is processed as at least one discrete
`signal as a function of the position of the position control
`device.
`[0017] In a third embodiment of the invention, an integrated
`hand-holdable computing system is provided, that includes a
`housing, a user-controllable mode sWitch connected to the
`housing, a position control device connected to the housing,
`and processing circuitry. Optionally a display and/ or speakers
`are provided. The mode sWitch outputs a mode signal that
`indicates if a user has selected a position mode or a discrete
`mode. The position control device is manipulatable by a user
`to provide position coordinate data that varies in accordance
`With a position of the position control device. The processing
`circuitry is adapted to determine if a user has selected the
`position mode or the discrete mode based on the mode signal.
`When the mode signal indicates that the mode sWitch is in the
`position mode, then the position coordinate data is processed
`as a function of the position of the position control device.
`When, hoWever, the mode signal indicates that the mode
`sWitch is in the discrete mode, then the position coordinate
`data is processed as at least one discrete signal as a function of
`the position of the position control device.
`[0018] Provided also is a method of operating a device by
`enabling a user to operate a mode sWitch in order to select a
`position mode or a discrete mode, enabling the user to
`manipulate a position control device to provide position coor
`dinate data that varies in accordance With a position of the
`position control device, and determining if the mode sWitch is
`in the position mode or the discrete mode. If the mode sWitch
`is in the position mode, then the position coordinate data is
`processed as a function of the position of the position control
`
`device, but if the mode sWitch is in the discrete mode, then at
`least one discrete signal is processed as a function of the
`position of the position control device.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`[0019] FIG. 1 is a block diagram of a ?rst embodiment of
`the present invention Which is implemented completely in a
`controller device that is separate from a host device.
`[0020] FIG. 2 is a block diagram of a second embodiment
`of the present invention Which is implemented in a combina
`tion controller device and a separate host device.
`[0021] FIG. 3 is a block diagram of a third embodiment of
`the present invention Which is implemented in an integrated
`hand-holdable computing system.
`[0022] FIG. 4 shoWs an exemplary user device that may be
`utiliZed in accordance With the present invention.
`[0023] FIG. 5 illustrates the underside of the housing of the
`user device of FIG. 4.
`[0024] FIG. 6 illustrates the housing of the user device of
`FIG. 4, With the thumbstick controller partially removed to
`illustrate the operation of the thumbstick.
`[0025] FIG. 7A illustrates implementation of a four-region
`position control device, and FIG. 7B illustrates implementa
`tion of an eight-region position control device.
`[0026] FIG. 8 illustrates a ?owchart of the operation of the
`present invention.
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`
`[0027] The present invention may be implemented in at
`least any of the three embodiments that Will noW be described
`With reference to the Figures. FIG. 1 is a block diagram of a
`?rst embodiment of the present invention Which is imple
`mented completely in a user controller device 2 that is sepa
`rate from a host computing device 12. For example, the user
`device 2 may be a video game controller (Wired or Wireless)
`and the host computing device 12 may be a gaming console
`such as an XBOX3 60 or a personal computer. The user device
`2 includes a housing that has a user-controllable mode sWitch
`4 and a position control device 6 (such as a thumbstick)
`connected thereto, for example at least partially on the outside
`of the housing so as to give a user access to control of these
`devices. Processing circuitry 8 and supporting memory reside
`in the housing, and are coupled to the mode sWitch 4 and the
`position control device 6. Optionally, a set of discrete buttons
`10 (including for example, the X, Y, A and B buttons) are also
`provided on the housing. Other user control devices such as
`triggers, D-pads, and additions thumbsticks may be provided
`as knoWn in the art.
`[0028] The mode sWitch 4 is preferably a tWo-position
`sWitch that may be selectively set to either a position mode or
`a discrete mode by the user during operation. For example,
`the mode sWitch may be a momentary sWitch that is normally
`biased in the position mode, but Which is then momentarily
`set to the discrete mode by the user When desired. One of the
`functions of the processing circuitry, as Will be further
`described herein, is to detect if the mode sWitch 4 is in the
`position mode or the discrete mode. When the processing
`circuitry detects the position mode, it Will cause the position
`coordinate data generated by the position control device (eg
`the X-Y data) to be transmitted to the host computing device
`12 and processed by the application program 14 in a normal
`prior art manner. Thus, in the case Wherein the host comput
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000011
`
`
`
`US 2010/0073283 A1
`
`Mar. 25, 2010
`
`ing device 12 is a gaming console such as an XBOX360, and
`the user device 2 is an XBOX360 controller adapted in accor
`dance With this invention, then the user device Will send the
`X-Y data as generated by the position control device (thumb
`stick) 6 as knoWn in the art. When, hoWever, the user selects
`the discrete mode by operating the mode sWitch 4, then the
`processing circuitry Will analyZe the position coordinate data
`from the thumbstick 6 in accordance With this invention, and
`as a result output various discrete (button) signals to the host
`computing device 12. This particular methodology Will be
`described further beloW. When the user re-selects the position
`mode (such as by letting go of the mode sWitch 4 if it is biased
`to return to the position mode), then the position control data
`Will resume being transmitted to the host computing device as
`in the prior art. In this embodiment of the invention, the
`processing and intelligence of the invention resides in the user
`device 2, and the host computing device is unaWare as to hoW
`the various button press signals are generated. Thus, the user
`device 2 of this ?rst embodiment may be used to retro?t
`existing game consoles and the like Without requiring adap
`tation to the console or gaming softWare executing thereon.
`[0029] FIG. 2 is a block diagram of a second embodiment
`of the present invention Which is implemented in a combina
`tion controller device and a separate host device. Here, the
`processing and intelligence to ascertain if the position control
`data should be interpreted as position control data or as button
`presses Will reside in the host computing device 12. In FIG. 2,
`the processing circuitry of the user device 2 is shoWn as
`omitted for purposes of this invention, although it is under
`stood that some processing circuitry Will exist in the user
`device 2 as knoWn in the art. In this case, the mode signal from
`the mode sWitch 4 is transmitted along With the position
`coordinate data (and optional discrete data from additional
`hardWired buttons if desired) directly to the processing and
`application program 16 of the host computing device 12.
`Here, the transmitting means may be any knoW device such as
`a USB transmitter, bluetooth transmitter etc., and the receiv
`ing means in the host computing device may be any knoWn
`compatible device such as a USB receiver, bluetooth receiver,
`etc. The determination of hoW to process the position coordi
`nate date (i.e. as position coordinate data or as discrete button
`presses) Will be made by the processing and application pro
`gram 16. Thus, the invention in this embodiment is distributed
`amongst the user device 2 and the host computing device 12.
`It is noted that the application program itself (such as a video
`game program) may provide the analysis of the signal infor
`mation from the user device 2, or the host operating system
`may be programmed accordingly and control the game soft
`Ware if desired.
`[0030] FIG. 3 is a block diagram of a third embodiment of
`the present invention Which is implemented in an integrated
`hand-holdable computing system 22, such as a SONY PSP
`device. In this case, all functionality of the invention as
`described herein resides in the same hand-holdable housing.
`[0031] Referring back to the ?rst embodiment, further
`details of the present invention are noW provided. FIG. 4
`shoWs an exemplary user device 2 that may be utiliZed in
`accordance With the present invention. Hand-holdable hous
`ing 24 is knoWn in the art and is easily held by a user. The
`housing 24 contains at least one position control device,
`Which in this example is the right-thumb thumbstick 26. Also
`shoWn in the housing 24 is a D-pad 28, a second (left-thumb)
`thumbstick 30, and a set of discrete buttons Which include the
`X, Y, A and B buttons 25. The operation of this invention may
`
`provide for the thumbstick 26 to emulate the pressing of any
`or all of the buttons 25 alone or in selected combination, or it
`may emulate additional button presses of buttons not other
`Wise provided on the housing. This top side of the housing 24
`Will appear to the user as any conventional game controller
`device as knoWn in the art.
`[0032] FIG. 5 illustrates the underside of the housing 24,
`With a ?rst mode sWitch 32 and a second mode sWitch 34
`provided. These have been added in accordance With the
`present invention and are not found in controllers of the prior
`art. TWo mode sWitches 32, 34 are shoWn, although only one
`such mode sWitch is required for this invention. The device
`may be con?gured such that either of the mode sWitches 32,
`34 Will change the mode of the thumbstick 26 in accordance
`With this invention. This Will accommodate left-handed as
`Well as right-handed users as desired. Or, if desired, one mode
`sWitch may operate in conjunction With the thumbstick 26
`and the other may operate in conjunction With the thumbstick
`30. Of course, it may be desired to provide only of these mode
`sWitches 32 or 34. For purposes of explanation We Will refer
`to the mode sWitch 32 but the invention applies equally to the
`use of mode sWitch 34. In addition, these mode sWitches are
`shoWn in FIG. 5 on the underside since they Will reside near
`the user’s ?nger(s), Which makes for easy operation of the
`invention. That is, the user naturally grasps the housing 24
`such that one hand curls around the left grip 35 and the other
`hand curls around the right grip 33, making placement near
`the mode sWitches 32, 34 optimal. It is noted that the sWitches
`may be located elseWhere on the housing if ergonomically
`desired.
`[0033] FIG. 6 illustrates the housing 24 of FIG. 4, With the
`cap of thumbstick controllers 26 and 30 partially removed to
`illustrate the operation of the thumbstick. As can be seen, the
`thumbstick may be manipulated in tWo degrees of freedom,
`that is, in the X-Y plane. In the position mode (the normal
`prior art mode), the manipulation of the thumbstick by the
`user Will provide a set of X-Y coordinates that indicate the
`relative location of the thumbstick. So, if the user is control
`ling the movement of a character in a video game With the
`thumb stick, he may push the thumbstick all the Way to the left
`to get the character to go the left. Similarly, he may have the
`character go partially to the left and partially forWard by
`moving the thumbstick accordingly. Thumbstick technolo
`gies (or any position control technology) are Well knoWn the
`art and need not be discussed further herein; suf?ce it to state
`that X-Y coordinate data is generated by movement of the
`thumbstick from the center (quiescent or null) position.
`[0034] When the user selects the mode sWitch 32 to be in
`the discrete mode, hoWever, then the processing circuitry Will
`interpret the position control data (the X-Y data) from the
`thumbstick to generate discrete signals indicative of associ
`ated button presses. FIGS. 7A and 7B illustrate the coverage
`area of the thumbstick in this embodiment. In this case, the
`area is logically divided into four regions (FIG. 7A) or into
`eight regions (FIG. 7B). In both instances an additional null
`region 56 is provided in the center. Referring to FIG. 7A,
`When the user manipulates the thumbstick to be anyWhere in
`region 40, then a discrete signal is generated by the process
`ing circuitry 8 to indicate an associated button press by the
`user. In this embodiment, region 40 Will cause the processing
`circuitry to signal that button A has been pressed by the user.
`LikeWise, When the user manipulates the thumbstick to be
`anyWhere in region 42, then a discrete signal is generated by
`the processing circuitry 8 to indicate that associated button
`
`PETITIONER VALVE CORPORATION, Ex. 1003
`
`p. 000012
`
`
`
`US 2010/0073283 A1
`
`Mar. 25, 2010
`
`press B has been made by the user; when the user manipulates
`the thumbstick to be anywhere in region 44, then a discrete
`signal is generated by the processing circuitry 8 to indicate
`that associated button press Y has been made by the user; and
`when the user manipulates the thumb stick to be anywhere in
`region 46, then a discrete signal is generated by the process
`ing circuitry 8 to indicate that associated button press X has
`been made by the user.
`[0035] So, when in the discrete mode, the user device 2 will
`output discrete button signals to the host device 12 whether
`they were generated by actually pressing the button on the
`housing or by manipulating the thumbstick as described
`above. The application program 14 running in the host com
`puting device 12 is unaware of how the button presses were
`made by the user and operates on them regardless of their
`origin. By using the discrete mode of the present invention,
`the user may quickly depress the mode switch 32, 34 when he
`or she desires to emulate a button press of X,Y, A or B without
`having to move his thumb off of the thumbstick, and then
`return to normal by releasing the mode switch when desired.
`[0036] In the alternative to emulating button presses of
`pre-existing buttons X, Y, A and B (or others on the housing),
`the present invention may be useful to emulate button presses
`of new buttons that have no hardware equivalent. That is, the
`application software may bene?t from additional button
`presses without having to add buttons to the housing. So, ifa
`housing has ten buttons in hardware, the application software
`may be adapted to accept fourteen buttons, which would be
`the ten existing hardware buttons and the four new emulation
`buttons from implementing the present invention. For
`example, as shown in FIG. 6, region B9 will cause buttonY to
`be emulated. Likewise, region B10 will cause buttonA to be
`emulated, region B11 will cause button X to be emulated, and
`region B12 will cause button B to be emulated. In the same
`manner, regions B5, B6, B7 and B8 in thumbstick 30 will
`optionally be associated with other discrete buttons for the
`device.
`[0037] This invention is not limited to emulation of four
`buttons, and may be extended further. As shown in FIG. 7B,
`the coverage area of the thumbstick may be logically divided
`into eight distinct regions 40, 42, 44, 46, 48, 50, 52, and 54, as
`well as null region 56 in the center. In this example, the
`processing circuitry is programmed to output discrete button
`signals for both buttons A and B when region 48 is entered.
`This is useful for the situation where a user needs to make a
`dual-button press, such as by pressing A and B simulta
`neously the character will jump and kick. This can be an
`especially dif?cult move to make, and by allowing the user to
`select the discrete mode, and then manipulate the thumb stick
`into region 48, this otherwise dif?cult move is made much
`easier to implement. The same is true for region 50 (B andY
`presses emulated), region 52 (X andY presses emulated), and
`region 54 (A and X presses emulated). Likewise, any of these
`eight regions may be logically associated with any existing
`button or combination of buttons on the controller, or they
`may emulate additional buttons if desired.
`[0038] The null region 56 is provided for a quiescent posi
`tion in which no button press is emulated and thus no discrete
`signals are generated by the processing circuitry 8. When the
`thumbstick is in the middle quiescent position, it will reside
`over the null region, and no signals are generated. Once the
`user manipulates the thumbstick into the desired region, how
`
`ever, a predetermined threshold is reached and the corre
`sponding button press(s) will be generated as described
`above.
`[0039] The present invention may operate optionally in a
`single press mode or in a repeat press mode. In the single press
`mode, the user manipulates the thumbstick into the desired
`region to generate the desired button press, and must exit that
`region (either to the null region or another button region) and
`then return to generate another of the same button press. In the
`alternative, in the repeat press mode, a timer function is used
`to determine if the thumb stick remains in the region for more
`than a prede?ned time. If the thumbstick remains in that
`region then successive button presses are generated by the
`processing circuitry until the user manipulates the thumb stick
`to another region or to the null region 56. This is similar to a
`repeat mode of a keypad wherein holding a certain key down
`will cause successive key entries until released.
`[0040] Various types of position control devices 6 may be
`used with this invention. There exist various types of thumb
`stick or joystick controllers, both of the analog and digital
`type, that are useful in this invention. One example of an
`analog joystick uses a magnet, along with four small sensors.
`The sensors are arranged like a compass, with one at each of
`the cardinal points (north, south, east, west). The base of the
`joystick is shaped like a ball, with tiny spokes radiating out.
`The ball sits in a socket above the sensors. Spikes on the
`socket ?t between the spokes on the ball. This allows for
`movement without letting the joystick twist out of alignment
`with the sensors. As the joystick is moved, the magnet in the
`base moves closer to one or two of the sensors, and farther
`from the others. The processing circuitry monitors the
`changes in induction caused by the magnet’s movement to
`calculate the position of the joystick.
`[0041] In another type of analog joystick, two wheels are
`positioned at right angles to each other below the joystick.
`Whenever the joystick is moved, the two wheels turn slightly.
`Tiny slots are arranged around the perimeter of each wheel.
`The wheels are each mounted between an LED (Light Emit
`ting Diode) and a photocell. Light from the LED, shining
`through the slots in the wheel on the cell, creates a small
`amount of current. When the amount of light changes, the
`level of current changes. By monitoring the output of each
`photo cell, the processing circuitry can determine the exact
`angle at which the joystick is being held.
`[0042] In a further type of analog joystick, two potentiom
`eters are positioned at right angles to each other below the
`joystick. Current ?ows constantly through each one, but the
`amount of current is determined by the amount of resistance.
`Resistance is increased or decreased based on the position of
`the joystick