throbber
(12) United States Patent
`Bathiche et al.
`
`(10) Patent NO.: US 7,145,551 BI
`(45) Date of Patent:
`Dec. 5,2006
`
`(54) TWO-HANDED COMPUTER INPUT DEVICE
`WITH ORIENTATION SENSOR
`
`(75)
`
`Inventors: Steven Bathiche, Seattle, WA (US);
`Mark K. Svancarek, Redmond, WA
`(US); Matthew J. Stipes, Woodinville,
`WA (US); Aditha M. Adams, Seattle,
`WA (US); Thomas W. Brooks, Seattle,
`WA (US); Melissa S. Jacobson, Seattle,
`WA (US); Wolfgang A. Mack, Seattle,
`WA (US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 892 days.
`
`(21) Appl. No.: 091251,519
`
`(22) Filed:
`
`Feb. 17, 1999
`
`(51) Int. C1.
`G09G 5/08
`(2006.01)
`(52) U.S. C1. ........................................ 3451158; 463137
`(58) Field of Classification Search ................ 3401711,
`3401706; 341122; 3451161, 158, 169, 7,
`3451156; 463137, 38, 3; 2731148 B; 3651428,
`3651629, 634,636,641,731,733,740,760,
`3651764; 35811.15, 1.18; 7071201, 203,
`7071217, 219, 10; 7091201, 206, 217, 219;
`7151517, 522, 526, 527, 530, 513
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,059,958 A * 1011991 Jacobs et al. ............... 3401706
`
`5,189,403 A * 211993 Franz et al. ................ 3401711
`5,396,265 A * 311995 Ulrich et al. ............... 3451158
`5,410,333 A * 411995 Conway ..................... 3451169
`5,624,117 A * 411997 Ohkubo et al. ......... 2731148 B
`5,643,087 A * 711997 Marcus et al. ................ 463138
`5,721,842 A * 211998 Beasley et al. ............. 3951311
`5,786,807 A * 711998 Couch et al. ............... 3451161
`5,820,462 A * 1011998 Yukoi et al. .................. 463137
`5,838,304 A * 1111998 Hall ........................... 3451157
`5,874,906 A * 211999 Willner et al. ................ 341122
`6,068,554 A *
`512000 Tyler ........................... 463138
`6,069,594 A *
`512000 Barnes et al. .................. 34517
`
`* cited by examiner
`Primary Examiner-Sumati Lefkowitz
`Assistant Examiner-Srilakshmi K Kumar
`(74) Attorney, Agent, or Firm-Leanne
`Westman, Champlin & Kelly, P.A.
`
`(57)
`
`ABSTRACT
`
`R. Taveggia;
`
`A hand held computer input device includes a first housing
`portion having at least one user actuable input device. A first
`extending handle is coupled to, and extends away from, the
`first housing portion. A second handle is also coupled to, and
`extends away from, the first housing portion. An orientation
`sensor is coupled to the first housing and is configured to
`sense a physical orientation of the first housing portion. The
`orientation sensor provides an orientation signal indicative
`of the physical orientation sensed.
`
`13 Claims, 11 Drawing Sheets
`
`Parrot Ex. 1008
`
`

`

`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 1 of 11
`
`DISPLAY
`DEVICE 16
`
`4
`
`COMPUTER
`20
`
`FIG. 1
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 2 of 11
`Sheet 2 0f 11
`
`US 7,145,551 B1
`
`FIG. 2
`FIG. 2
`
` COMPUTER 20
`
`_____
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 3 of 11
`Sheet 3 0f 11
`
`US 7,145,551 B1
`
`/’
`
`I
`
`re
`
`
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 4 of 11
`Sheet 4 0f 11
`
`US 7,145,551 B1
`
`A
`A»
`
`/0L/
`My
`
`
`
`

`

`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 5 of 11
`
`BIT
`0
`
`1
`
` 2
`
`3
`
`4
`
`5
`
`-
`
`6
`
`7
`
`
`
`FIG. 5
`
`BYTE 0
`
`BYTE I
`BYTE 2
`BYTE 3
`BYTE 4
`BYTE 5
`
`0,MAXM--
`
`T
`
`Y-AXIS
`(PITCH)
`
`MAX, MAXI2
`
`

`

`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 6 of 11
`
`SENSOR
`CALIBRATION
`CIRCUIT 110
`
`X AND Y AXIS
`TILT SENSORS
`AND CIRCUITRY
`108
`
`AID
`CONVERTER
`120
`
`+ MICROCONTROLLER 106
`b.
`
`TO COMPUTER
`
`b
`
`MODE
`INDICATOR
`
`BUTTON
`ARRAY 112
`
`ZONE
`CALIBRATION
`CIRCUIT 114
`
`WHEEL
`ENCODER
`CIRCUIT 116
`
`FIG. 4
`
`

`

`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 7 of 11
`
`US 7,145,551 BI
`
`1 24
`
`RECEIVE AND
`FILTER X,Y
`INFO
`
`FIG. 6
`
`POLL BUTTON
`ARRAY AND WHEEL
`ENCODER
`
`130
`
`132
`
`134
`
`YES
`
`7
`
`SET SENSOR
`MODE FLAG
`
`4
`
`SET MODE
`INDICATOR TO
`SHOWSENSOR
`MODE
`
`'I
`
`ASSEMBLE PACKET
`INCLUDING XY INFO,
`DPAD INFO AND
`REMAINING INFO
`
`136
`
`I
`
`4
`'I
`
`SEND
`PACKET
`
`138
`1
`
`SET BITS DO
`TOD3TO
`NULL VALUE
`
`140
`
`v
`REPLACE XY INFO
`WITH VALUES BASED
`ON DPAD INPUT
`
`142
`
`RESET
`SENSOR
`MODE FLAG.
`
`v
`SET MODE
`INDICATOR TO
`SHOW DISCRETE
`MODE
`
`144 -
`
`v
`ASSEMBLE
`REMAINING
`PACKET
`I
`
`I
`
`146
`u
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 8 of 11
`Sheet 8 0f 11
`
`US 7,145,551 B1
`
`
`COMPUTER 20
`
`
`FOCUS
`OPERATING
`
`
`APPLICATION
`SYSTEM (03)
`
`
`154
`35
`
`
`MESSAGE
`HOOK
`PROCEDURES
`152
`
`
`
`
`
`DRIVER 150
`
`
`
`INTERFACE
`148
`
`
`
`
`
`FIG. 7
`FIG. 7
`
`

`

`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 9 of 11
`
`INPUT
`DEVICE
`
`PACKET TO
`INTERFACE
`
`PACKET AT
`I INTERFACE I
`
`EXECUTE
`MESSAGE HOOK
`
`I PROCEDURES I
`
`RECEIVE
`PACKET AT
`APPLICATION
`
`164
`
`PACKET TO
`DRIVER
`
`EXAMINE
`MODE BIT
`
`\1
`
`PACKET TO
`
`168
`
`REPLACE XY INFO
`WITH VALUES BASED
`ON MULIT-SWITCH
`DEVICE
`CONFIGURATION
`170
`
`SET MULTI-SWITCH
`DEVICE INFO TO
`NULL SETTING
`
`178
`
`MANIPULATE OBJECT
`BEING DISPLAYED SO
`VALUES IN XY FIELD
`CORRESPOND TO
`MOVEMENT OF
`DISPLAYED OBJECT
`
`TAKE OTHER
`ACTIONS BASED
`
`ON PACKET INFO no
`I -
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 10 0f 11
`Sheet 10 of 11
`
`US 7,145,551 BI
`US 7,145,551 B1
`
`
`
`

`

`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 11 0f 11
`Sheet 11 of 11
`
`US 7,145,551 BI
`US 7,145,551 B1
`
`
`
`

`

`US 7,145,551 B1
`
`1
`TWO-HANDED COMPUTER INPUT DEVICE
`WITH ORIENTATION SENSOR
`
`REFERENCE TO CO-PENDING APPLICATIONS
`
`2
`translational movement (moving a joystick along the X or Y
`axis) while attempting to perform a rotational movement
`(while attempting to rotate the joystick). Such interface
`between these degrees of freedom is cross-axis interference.
`5 It is believed that the tendency toward cross-axis interfer-
`ence increases quadratically with each added degree of
`Reference is made to the following U.S. patent applica-
`freedom to any given input mode.
`tions:
`This same type of problem can be found in free-space type
`U.S. patent application Ser. No. 091251,5 19 filed on even
`user input devices. For example, one commercially available
`date herewith, entitled TWO-HANDED COMPUTER
`INPUT DEVICE WITH ORIENTATION SENSOR AND l o free-space type user input device is a globe or sphere which
`MULTIPLE MODES OF OPERATION, which is assigned
`is provided with orientation sensors that sense movement of
`to the same assignee as the present application and filed on
`the sphere about a pitch axis, a roll axis, and a yaw axis. It
`is very difficult for a user to attempt to execute rotation about
`even date herewith;
`the yaw axis without unintentionally executing rotation
`U.S. patent application Ser. No. 291097,150 filed Nov. 30, 15 about either the pitch axis, the roll axis, or both,
`1998, entitled "INPUT DEVICE", and assigned to the same
`Other types of free-space user input devices also exhibit
`assignee as the present
`(and which is
`other problems, For example, the Jacobs et al, U,S, Pat, No,
`fully incorporated by reference); and
`5,059,958 discloses a tilt sensitive non-joystick control box.
`U.S. patent application Ser. No. 091108,002 filed Jun. 30,
`However, the input device is simply a box with two buttons
`998,
`INPUT
`20 and with a tilt sensor disposed therein. Since one of the input
`and assigned to the same
`INCLINATION
`modes in the Jacobs et al. device is a tilt or orientation input,
`assignee as the present application.
`the configuration of the Jacobs et al. device can promote
`ergonomically deficient hand position resulting in fatigue or
`discomfort. For example, when attempting to manipulate the
`25 Jacobs et al. device, the user may be required to maintain
`hand and wrist positions outside of ergonomically neutral
`flexion/extension and ulnar deviation ranges. Similarly,
`Jacobs et a]. provides a very limited number of input modes.
`
`The present invention relates to a computer input device.
`
`More ~articularl~, the Present invention relates to a two-
`handed
`device with an
`disposed thereon.
`Many different types of user input devices are currently 30
`used for providing user input information to a computer.
`Such user input devices can include, for example, a point
`A hand held computer input device includes a first hous-
`and click device (which is commonly referred to as a
`ing portion having at least one user actuable input device. A
`computer mouse), a keyboard, a joystick, and a track ball.
`first extending handle is coupled to, and extends away from,
`Such user input devices all typically sense the n~~vement of 35 the first housing portion. A second handle is also coupled to,
`a movable element relative to a fixed base or housing portion
`An orien-
`and
`away from, the first housing
`and provide the computer with an input signal indicative of
`tation sensor is coupled t~ the first housing and is
`that relative movement.
`to sense a physical orientation of the first housing portion.
`Recently, free-space type user input devices have been
`The orientation sensor provides an orientation signal indica-
`introduced. Such devices use gravity sensing accelerometers 40 tive of the physical orientation sensed.
`to sense inclination of the user input device, in free space,
`The orientation can then be transmitted to the computer in
`relative to a gravity factor. Where a plurality of such sensors
`a data packet having an orientation field containing orien-
`are provided, the sensors sense inclination of the user input
`tation information.
`device about a plurality of inclination axes. Such informa-
`The device is operable in a number of different modes. In
`tion is provided to a computer to control a cursor, a player, 45 one mode, the orientation information is used to control a
`display, while in another mode, multiple-switch information,
`or a vehicle inside of a computer application or simulation,
`for example.
`from a multiple-switch device is used. In either case, only
`Many such input devices have one or more input modes.
`two degrees of freedom are assigned to any given input
`An input mode can be thought of as an input scheme that has
`mode.
`a particular form, which is mutually-exclusive (or indepen- 50
`Similarly, the present invention can include shapes and
`dent) of any other form of input. For example, pressing a
`dimensions and sensing ranges, along with actuator layouts,
`button may be one type of input mode, while pushing a
`that accommodate ergonomically desirable operation.
`joystick to one side or another, is another type of input mode,
`which is independent of the button pushing mode.
`Some types of user input devices assign more than two 55
`FIG. 1 is a block diagram of a computer system in which
`degrees of freedom to a single input mode. For example, a
`the input device in accordance with the present invention
`joystick which can be pushed along an X-axis, or a Y-axis
`Can be utik~ed.
`has two degrees of freedom, while a joystick which can be
`FIG. 2 is a block diagram of a computer which can be
`pushed along an X or Y axis and which also can be rotated
`about its longitudinal axis to provide an input to the corn- 60 used with the input device in accordance with the present
`invention.
`puter, has three degrees of freedom. It has been found that
`FIGS. 3A and 3B illustrate physical orientation sensing in
`this type of user input device (one which provides more than
`accordance with one feature of the present invention.
`two degrees of freedom per input mode) can exhibit a high
`FIG. 3C illustrates an output from the input device in
`degree of cross-axis interference. Cross-axis interference
`can be characterized by a user unintentionally actuating one 65 accordance with one aspect of the present invention.
`FIG. 4 is a high level functional block diagram of the
`degree of freedom while trying to actuate a separate degree
`present invention of the input device shown in FIG. 1.
`of freedom. In other words, it is very dificult to prevent
`
`BACKGROUND OF THE INVENTION
`
`SUMMARY OF THE INVENTION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`

`

`DETAILED DESCRIPTION OF THE
`ILLUSTRATIVE EMBODIMENTS
`
`FIG. 5 illustrates one embodiment of the an information
`packet generated by the input device illustrated in FIG. 4.
`FIG. 6 is a flow diagram illustrating the operation of the
`input device shown in FIG. 4 in generating an information
`packet.
`FIG. 7 is a functional block diagram of a computer
`coupled to the input device illustrated in FIG. 1.
`FIG. 8 is a flow diagram illustrating the operation of
`computer 20 in receiving and manipulating an information
`packet from the input device.
`FIGS. 9A-9C illustrate certain ergonomic features in
`accordance with one aspect of the present invention.
`
`personal computer or other computing device. Generally,
`program modules include routine programs, objects, com-
`ponents, data structures, etc. that perform particular tasks or
`implement particular abstract data types. Moreover, those
`5 skilled in the art will appreciate that the invention may be
`practiced with other computer system configurations,
`including hand-held devices, multiprocessor systems,
`microprocessor-based or programmable consumer electron-
`ics, network PCs, minicomputers, mainframe computers,
`10 and the like. The invention is also applicable in distributed
`computing environments where tasks are performed by
`remote processing devices that are linked through a com-
`munications network. In a distributed computing environ-
`ment, program modules may be located in both local and
`15 remote memory storage devices.
`With reference to FIG. 2, an exemplary environment for
`FIG. 1 is a partial block and partial pictorial diagram of
`the invention includes a general purpose computing device
`system 10 in accordance with one aspect of the present
`in the form of conventional personal computer 20, including
`invention. System 10 includes input device 14, computer
`processing unit 21, a system memory 22, and a system bus
`display device 16 and computer 20. Computer input device 20 23 that couples various system components including the
`14, in accordance with one aspect of the present invention,
`system memory to the processing unit 21. The system bus 23
`is provided with one or more orientation sensors which are
`may be any of several types of bus structures including a
`arranged to sense the physical orientation of computer input
`memory bus or memory controller, a peripheral bus, and a
`device 14 in space. Computer input device 14 is also
`local bus using any of a variety of bus architectures. The
`provided with an array 22 of buttons, a rotatable wheel 24, 25 system memory includes read only memory (ROM) 24 a
`random access memory (RAM) 25. A basic inputioutput
`a multiple switch input device 26 (such as a direction pad or
`hat switch), a shift button 28, a mode switch button 30, one
`system 26 (BIOS), containing the basic routine that helps to
`or more auxiliary buttons 32, and one or more triggers
`transfer information between elements within the personal
`(shown in greater detail in FIG. 3A). FIG. 1 also shows that
`computer 20, such as during start-up, is stored in ROM 24.
`user input device 14 has an upper housing portion which 30 The personal computer 20 further includes a hard disk drive
`exposes a control region or pad 15 and two depending
`27 for reading from and writing to a hard disk (not shown),
`handles 17 and 19, which depend from the control region 15
`a magnetic disk drive 28 for reading from or writing to
`removable magnetic disk 29, and an optical disk drive 30 for
`and are sized to fit comfortably within the hand of the user.
`Computer input device 14 includes a controller which
`reading from or writing to a removable optical disk 31 such
`receives information indicative of the various buttons, 35 as a CD ROM or other optical media. The hard disk drive 27,
`wheels, and orientation sensors on input device 14 and
`magnetic disk drive 28, and optical disk drive 30 are
`connected to the system bus 23 by a hard disk drive interface
`generates an information packet indicative of that informa-
`tion. The information packet is provided to computer 20
`32, magnetic disk drive interface 33, and an optical drive
`interface 34, respectively. The drives and the associated
`(one embodiment of which is described in greater detail in
`FIG. 2). Computer 20 illustratively includes an application 40 computer-readable media provide nonvolatile storage of
`program, such as a game or other program which utilizes the
`computer readable instructions, data structures, program
`information packet from input device 14. Computer 20
`modules and other data for the personal computer 20.
`operates to provide the information packet from input device
`Although the exemplary environment described herein
`14 to the application program running on computer 20,
`employs a hard disk, a removable magnetic disk 29 and a
`which can use the information to manipulate an object being 45 removable optical disk 31, it should be appreciated by those
`displayed on display device 16. In an illustrative embodi-
`skilled in the art that other types of computer readable media
`ment, computer 20 is a personal computer, and display
`which can store data that is accessible by a computer, such
`device 16 is a CRT-type monitor. However, computer 20 can
`as magnetic cassettes, flash memory cards, digital video
`take other forms as well, such as a dedicated gaming
`disks, Bernoulli cartridges, random access memories
`computer platform, examples of which include those sold 50 (RAMS), read only memory (ROM), and the like, may also
`under the tradenames Sega Dreamcast, Sony Playstation,
`be used in the exemplary operating environment.
`and Nintendo or other dedicated simulation or control com-
`A number of program modules may be stored on the hard
`puters. Similarly, display device 16 can include many dif-
`disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25,
`ferent types of displays including a television display, LCD
`including an operating system 35, one or more application
`displays, plasma displays, to name a few.
`55 programs 36, other program modules 37, and program data
`Of course, the information packet provided by computer
`38. A user may enter commands and information into the
`input device 14 to computer 20 can be used by computer 20
`personal computer 20 through input devices such as a
`(and the application program running thereon) to control
`keyboard 42 and pointing device 40. Other input devices
`other items, other than a display device 16. However, the
`(not shown) may include a microphone, joystick, game pad,
`present invention will be described primarily with respect to 60 satellite dish, scanner, or the like. These and other input
`controlling display device 16, for the sake of clarity.
`devices are often connected to the processing unit 21
`FIG. 2 and the related discussion are intended to provide
`through a serial port interface 46 that is coupled to the
`system bus 23, but may be connected by other interfaces,
`a brief, general description of a suitable computing envi-
`ronment in which the invention may be implemented.
`such as a sound card, a parallel port, a game port or a
`Although not required, the invention will be described, at 65 universal serial bus (USB). The monitor 16 or other type of
`display device is also connected to the system bus 23 via an
`least in part, in the general context of computer-executable
`interface, such as a video adapter 48. In addition to the
`instructions, such as program modules, being executed by a
`
`

`

`,
`
`
`
`L
`
`monitor 16, personal computers may typically include other
`sense the pitching and rolling movement of user input device
`14 and provide a signal indicative thereof. This signal, as
`peripheral output devices such as a speaker and printers (not
`shown).
`discussed briefly with respect to FIG. 1, can be provided to
`The personal computer 20 may operate in a networked
`computer 20 and used to control an object on a visual display
`environment using logic connections to one or more remote
`5 screen. For example, in FIG. 3A, an airplane 104 is illus-
`computers, such as a remote computer 49. The remote
`trated on the visual display screen of display device 16. As
`computer 49 may be another personal computer, a server, a
`the user rotates user input device 14 about the pitch axis (or
`router, a network PC, a peer device or other network node,
`Y axis), computer 20 controls airplane 14 on display device
`and typically includes many or all of the elements described
`16 such that its physical orientation pitches in a similar
`above relative to the personal computer 20, although only a
`10 fashion. In this way, the physical orientation or pitching
`memory storage device 50 has been illustrated in FIG. 2. The
`movement of user input device 14 is mapped directly to
`logic connections depicted in FIG. 2 include a local are
`obiect 104 on the screen of visual disnlav device 16.
`network (LAN) 51 and a wide area network (WAN) 52. Such
`Similarly, as illustrated in FIG. 38, as the user rotates user
`input device 14 about the roll axis (or X axis), computer 20
`in
`enter-
`are
`prise-wide computer network intranets and the Internet.
`15 receives such information and controls object 104 on the
`When used in a LAN networking
`the per-
`screen of display device 16 such that the object rolls in a
`sonal computer 20 is connected to the local area network 51
`fashion, Therefore, the rolling movement of
`53. When used in a
`through a network interface Or
`puter input device 14 is mapped directly to rolling move-
`the persona' computer 20
`WAN networkng
`ment of object 104. Of course, the user can manipulate input
`typically includes a modem 54 or other means for establish- 20 device 14 to execute pitch and roll movement simulta-
`ing communications Over the wide area network 52, such as
`neously with respect to both the pitch and roll axes.
`that
`the Internet. The modem 54, which may be
`Or
`instance, computer 20 illustratively controls object 104 such
`external, is connected to the system bus 23 via the serial port
`that the physical orientation of object 104 is similar to that
`interface 46. In a
`Program
`of computer input device 14, in that object 104 pitches and
`depicted relative to the personal computer 20, or portions 25 rolls at angles similar to those sensed by the orientation
`thereof, may be stored in the remote memory storage
`sensors in computer input device 14.
`devices. It will be appreciated that the network connections
`FIG. 3C illustrates one way in which the inclination or
`shown are exemplary and other means of establishing a
`orientation sensing values can be determined for the infor-
`communications link between the computers may be used,
`When computer 20 is a dedicated computer, the specific 3o mation packet which is transmitted back to computer 20.
`arcbtecture may differ from that illustrated in FIG, 2, The
`the and
`3c
`an array
`plotted
`axes' In the very center of the array is a
`labeled
`differences, however, are of no great consequence. All such
`maxi2, maxi2. This point
`computers include a mechanism for executing computer
`user
`device
`14 being in a completely neutral position, in which it is not
`software andor hardware that receives information from
`input devices 14 and utilizes the information received to 35 rotated about either the pitch or the roll axes beyond the
`position illustrated in FIG. 3A. As user input device 14 is
`modify the behavior or appearance of software andor hard-
`rotated about the roll axis (the X axis) the X value in the
`ware. Often, this results in a change that is visible on a
`array illustrated in FIG. 3C either increases or decreases,
`display device.
`depending upon the direction of rotation. Similarly, the Y
`FIG, 3A is a side view of one embodiment of input device
`14 and illustrates that computer input device 14 is provided 40
`in the
`which
`(the
`to rotation
`about the pitch axis) either increases or decreases as user
`with one or more triggers 101 located on a fornard portion
`input device 14 is rotated about the pitch axis, again depend-
`of user input device 14, for actuation by the user,s index
`the direction
`ing 'POn
`rotation.
`finger when the user's hand is located on depending handles
`Therefore, the upper left hand corner of the array has a
`17 and 19. While only one trigger 101 is shown in FIG. 3A,
`it will be appreciated that a second trigger 101 is disposed 45 value 0, 0, which corresponds to user input device being
`identically on the opposite side of device 14 from that shown
`rotated to the n ~ x i m u m sensing angle about both the pitch
`and roll axes. The lower right hand corner has a value max,
`in FIG. 3A.
`max, which corresponds to user input device being rotated
`FIGS, 3A and 3B also illustrate physical orientation
`to the opposite maximum sensing angle (in the opposite
`sensing in accordance with one aspect of the present inven-
`tion. In FIG. 3A, a side view of computer input device 14 is 50 direction) about the pitch and roll axes. Another illustrative
`point is labeled on the array in FIG. 3C and contains an
`illustrated relative to X, Y and Z axes. In the embodiment
`illustrative value 375, 50. This indicates that the physical
`illustrated in FIG. 3A, the X and Y axes lie
`in
`a horizontal plane while the z axis lies in a
`orientation of computer input device 14 corresponds to a
`position which is slightly below the neutral position along
`vertical plane. FIG. 3B illustrates computer input device 14
`relative to the X, Y and Z axes, but rotated 90 degrees from 55 the '011 axis, and quite far below the neutral position along
`the pitch axis. Of course, the array can be sized with any
`the view shown in FIG, 3A. ~
`
`
`
`
` ,~~hthe view shown in FIG,
`
`desired number of points, depending on such things as the
`3B is from the rear (or user side) of computer input device
`resolution of the orientation sensors, desired sensitivity, and
`14.
`desired dead zones in the sensing range. In this way, the
`In the embodiment illustrated in FIGS. 3A and 3B, the Y
`axis can be referred to as the pitch axis and the x axis can 6O hardware and software features of the present invention (as
`be referred to as the roll axis. Therefore, as user input device
`described in greater detail below) can be used together to
`14 rotates about the Y axis, user input device 14 pitches
`provide the total user experience.
`forward and backward as indicated by arrow 100. Similarly,
`FIG. 4 is a more detailed block diagram of user input
`as user input device 14 rotates about the X axis, user input
`device 14. FIG. 4 illustrates that user input device 14
`65 includes controller 106, X and Y tilt sensors and circuitry
`device 14 rolls side-to-side, as illustrated by arrow 102.
`Computer input device 14 includes sensing devices,
`108, sensor calibration circuit 110, button array 112 (which
`includes buttons 22, 28, 30, and 32, as well as triggers 101.
`described in greater detail later in the application, which
`
`

`

`Wheel encoder 116 is arranged relative to rotatable wheel
`Computer input device 14 also includes zone calibration
`24 on computer input device 14 to sense rotation, and the
`circuit 114, wheel encoder circuit 116, and mode indicator
`direction of rotation, of wheel 24. Wheel encoder circuit 116
`118.
`One illustrative embodiment of X and Y axis tilt sensors
`is simply a conventional rotational encoder circuit, such as
`and related circuitry 108 are described in greater detail in the 5
`that used to track rotation of a mouse wheel. One such wheel
`encoder circuit is described in U.S. Pat. No. 5,473,344,
`above-identified U.S. patent application which is hereby
`entitled 3-D CURSOR POSITIONING DEVICE, issued on
`fully incorporated by reference. Briefly, the illustrative sen-
`sors include accelerometers which have a sensitive axis.
`Dec. 5, 1995, assigned to the same assignee as the present
`application, and which is hereby incorporated by reference.
`Two such accelerometers are illustratively placed, at right
`angles to one another, and are offset by approximately 45 10 Other sensors can also be used, such as optical or mechani-
`degrees from the primary sensing axes of input device 14
`cal sensors or other types of electrical sensors, any of which
`can be used to sense rotation of wheel 24.
`(i.e., from the pitch and roll axes). Thus, as the input device
`14 is rotated about the pitch and roll axes, the signals from
`Mode indicator 118, in one illustrative embodiment, is a
`both of the accelerometers are used to obtain an ultimate
`light emitting diode (LED) which can assume either a red or
`orientation value based on an offset of the accelerometers 15 a green color (or other colors). As is described in greater
`detail below, switch 30 can be used to change the mode of
`from the gravity vector. Of course, the accelerometers need
`operation of computer input device 14. Therefore, with each
`not be offset from the primary sensing axes at all and can be
`depression of button 30, microcontroller 106 provides an
`placed at any other desired angle relative to one another,
`output to mode indicator 118 changing the color of the LED.
`other than ninety degrees.
`The signal from the accelerometers is provided to an 20 In addition, the LED which embodiesmode indicator 118 is
`analog-to-digital (AID) converter 120. In the illustrative
`also illustratively configurable with different luminous set-
`embodiment, converter 120 is integral with microcontroller
`tings (such as dim and bright settings). In order to accom-
`106. Of course, other discrete AID converters can be used as
`modate users who encounter difficulty distinguishing
`well. In one illustrative embodiment, X and Y axis tilt
`between red and green, controller 106 also illustratively
`sensors are made under the manufacturer designation num- 25 changes the luminous setting as it changes the color of the
`LED, so that the user has a more easily identifiable visual
`ber ADXL202 from Analog Devices. However, as is noted
`in the co-pending related patent application, any sensor
`indication of mode changes.
`Microcontroller 106 is also provided with an output
`which is suitable for sensing orientation or rotation about the
`suitable for being coupled to computer 20. In one illustrative
`pitch and roll axes can be used.
`In order to calibrate the X and Y axis tilt sensors and 30 embodiment, the output provided by microcontroller 106 is
`related circuitry 108, computer input device 14 is illustra-
`provided according to a game port protocol. In another
`tively placed in a test fixture which can be rotated among
`illustrative embodiment, the output from microcontroller
`106 is according to a universal serial bus (USB) protocol.
`precisely known angles. The computer input device is then
`rotated to a number of precisely known angles and the values
`Similarly, a USB converter cable can be coupled between
`output by X and Y axis tilt sensors 108 is trimmed to a 35 microcontroller 106 and computer 20 to accommodate the
`desired value using sensor calibration circuit 110, which in
`necessary transmission of data.
`one embodiment is simply a circuit of trim potentiometers
`Prior to discussing packet formation, it should be noted
`arranged to trim the output values of the X and Y tilt sensors.
`that computer input device 14, as briefly mentioned above,
`Other calibration circuits can be used as well, such as active
`may be operated in at least two different modes of operation.
`switching elements or signal level shifters.
`40 In the first mode of operation (referred to as the sensor
`mode) the X and Y axis tilt sensors 108 generate orientation
`Button array 112, in one illustrative embodiment, is
`simply an array of switches which provide signals indicative
`information indicative of the physical orientation of com-
`of their closure to microcontroller 106. Therefore, as any of
`puter input device 14 and provide that information to
`the buttons 22, 28, 30, 32 or triggers 101 are depressed by
`microcontroller 106 through AID converter 120. The appli-
`the user, the depression of those buttons or triggers causes a 45 cation program on computer 20 which is controlling the
`switch closure which is sensed by microcontroller 106.
`visual display uses the orientation information from X and
`Y tilt sensors 108 to control the display.
`Array 112 can also include optical sensors, capacitive sen-
`However, computer input device 14 can also illustratively
`sors, etc.
`Zone calibration circuit 114 is used to trim the active
`be used in a different mod

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket