throbber

`
`www.archive.0rg
`415.561.6767
`415.840-0391 c—fax
`
`Internet Archive
`300 Iiunston Avenue
`
`San Francisco, (f;\ 94118
`
`AFFIDAVIT OF CHRISTOPHER BUTLER
`
`1. I am the Office Manager at the Internet Archive. located in San Francisco,
`California. I make this declaration of my own personal knowledge.
`2. The Internet Archive is a website that provides access to a digital library of
`Internet sites and other cultural artifacts in digital form. Like a paper library, we provide
`free access to researchers, historians, scholars, and the general public. The Internet
`Archive has partnered with and receives support from various institutions, including the
`Library of Congress.
`3. The lntemet Archive has created a service known as the Wayback Machine. The
`Wayback Machine makes it possible to surf more than 450 billion pages stored in the
`lntemet Archive's web archive. Visitors to the Wayback Machine can search archives
`by URL (i.e., a website address). If archived records for a URL are available, the visitor
`will be presented with a list of available dates. The visitor may select one of those
`dates, and then begin surfing on an archived version of the Web. The links on the
`archived files, when served by the Wayback Machine, point to other archived files
`(whether HTML pages or images). If a visitor clicks on a link on an archived page, the
`Wayback Machine will serve the archived file with the closest available date to the page
`upon which the link appeared and was clicked.
`4. The archived data made viewable and browseable by the Wayback Machine is
`compiled using software programs known as crawlers, which surf the Web and
`automatically store copies of web files, preserving these files as they exist at the point of
`time of capture.
`5. The Internet Archive assigns a URL on its site to the archived files in the format
`http://web.archive.org/web/[Year in yyyy][Month in mm][Day in dd][Time code in
`hhzmmzss]/[Archived URL]. Thus, the Internet Archive URL
`http://web.archive.org/web/19970l26045828/http://www.archive.org/ would be the
`URL for the record of the lntemet Archive home page HTML file
`(http://www.archive.org/) archived on January 26, 1997 at 4:58 a.m. and 28 seconds
`(1997/01/26 at 04:58:28). A web browser may be set such that a printout from it will
`display the URL of a web page in the printout’s footer. The date assigned by the Internet
`Archive applies to the HTML file but not to image files linked therein. Thus images that
`appear on a page may not have been archived on the same date as the HTML file.
`Likewise, if a website is designed with "frames," the date assigned by the Internet
`Archive applies to the frameset as a whole, and not the individual pages within each
`frame.
`
`6. Attached hereto as Exhibit A are true and accurate copies of printouts of the
`Internet Archive's records of the HTML files or PDF files for the URLs and the dates
`
`specified in the footer of the printout (HTML) or attached coversheet (PDF).
`7. I declare under penalty of perjury that the foregoing is true and correct.
`
`DATE, 0t /za/I <0
`
`C4/(”\
`
`Christopher Butler
`
`APPLE INC.
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 1
`EXHIBIT 1018 - PAGE 1
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 1
`
`

`

`CALIFORNIA JURAT
`
`See Attached Document.
`
`A notary public or other officer completing this
`certificate verifies only the identity of the
`individual who signed the document to which this
`certificate is attached, and not the truthfulness,
`
`accuracy, or validity of that document.
`
`State of California
`
`County of San Francisco
`
`Subscribed and sworn to (or affirrned) before me on
`this
`
`Zfiiayof ,?_°_“‘:, by
`
`Christopher Butler,
`
`
`IVNN
`Mycomm.ExeiresFeb15.2019!
`Signature:
`I
`‘
`
`'
`
`TABITHA LECUE
`"
`Commission # 2100217
`Notary Public - camomla
`San Francisco county
`
`proved to me on the basis of satisfactory evidence to be
`the person who appear d before me.
`A
`
`APPLE INC.
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 2
`EXHIBIT 1018 - PAGE 2
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 2
`
`

`

`Exhibit A
`
`Exhibit A
`
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 3
`
`
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 3
`
`

`

`(cid:12)(cid:21)(cid:21)(cid:18)(cid:20)(cid:26)(cid:28)(cid:28)(cid:24)(cid:9)(cid:6)(cid:27)(cid:5)(cid:19)(cid:7)(cid:12)(cid:13)(cid:23)(cid:9)(cid:27)(cid:17)(cid:19)(cid:11)(cid:28)(cid:24)(cid:9)(cid:6)(cid:28)(cid:31)(cid:29)(cid:29)(cid:30)(cid:29)(cid:33)(cid:29)(cid:32)(cid:29)(cid:34)(cid:29)(cid:31)(cid:32)(cid:30)(cid:28)(cid:12)(cid:21)(cid:21)(cid:18)(cid:26)(cid:28)(cid:28)(cid:24)(cid:24)(cid:24)(cid:27)(cid:20)(cid:25)(cid:16)(cid:5)(cid:18)(cid:21)(cid:13)(cid:7)(cid:20)(cid:27)(cid:7)(cid:17)(cid:15)(cid:28)(cid:8)(cid:9)(cid:7)(cid:5)(cid:10)
`(cid:28)(cid:22)(cid:21)(cid:13)(cid:14)(cid:13)(cid:21)(cid:13)(cid:9)(cid:20)(cid:28)(cid:2)(cid:3)(cid:4)(cid:30)(cid:31)(cid:33)(cid:27)(cid:18)(cid:8)(cid:10)(cid:1)
`
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 4
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 4
`
`

`

`Synaptics TouchPad Interfacing Guide
`510-000080 - A
`Second Edition
`
`
`
`
`
`Created:
`Revision:
`Printed:
`
`2.0 March 25, 1998
`2.5
`January 18, 2000
`
`January 22, 2001
`
`Synaptics, Inc.
`2381 Bering Drive
`San Jose, California 95131
`(408) 434-0110
`Fax (408) 434-9819
`
`1. Overview
`This guide describes how computers and other hosts interface to the Synaptics TouchPad.
`The first section describes the TouchPad generally, including operating modes, features,
`host interactions, and principles of operation, with many historical notes comparing older
`versions of the Synaptics TouchPad with the present one, version 4.5. (See page 4.)
`
`The Synaptics TouchPad family supports a variety of protocols for communicating with
`the host computer. The next few sections describe the available protocols:
`
`•
`
`•
`
`•
`
`The PS/2 protocol is the method that most portable computers use to interface with
`keyboards and pointing devices. (See page 27.)
`
`The Serial protocol connects the pointing device to the host using a standard
`RS-232 serial port. (See page 50.)
`
`The ADB protocol is used by Apple Macintosh family computers. (See page 64.)
`
`In each case, the TouchPad supports the industry standard “mouse” protocol plus a
`number of TouchPad-specific extensions. This Guide describes the PS/2 and Serial
`protocols in complete detail, and the ADB protocol in all details not covered by Apple
`publications. System architects and developers can read these sections of the Guide to
`learn how to interface to the TouchPad hardware. (For detailed mechanical and electrical
`data, refer to the various Model TM41xx Product Specification sheets also available from
`Synaptics.)
`
`Most operating systems provide driver software to handle the TouchPad at the hardware
`level. Software developers will be more interested in the TouchPad Driver API, a high-
`level interface that Microsoft Windows® applications can use to take advantage of all the
`special abilities of the Synaptics TouchPad and the Synaptics drivers. (See page 73.)
`
`The Glossary/Index (page 79) defines all the technical terms that appear in this Guide.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`Page 1
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 5
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 5
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`1.1. Table of Contents
`
`1. Overview—1
`1.1. Table of Contents—2
`
`2. TouchPad Features—4
`2.1. Mouse-compatible Relative mode—4
`2.2. Packet rate—5
`2.3. Absolute mode—5
`2.3.1. Absolute mode state bits—6
`2.3.2. Absolute X and Y coordinates—7
`2.3.3. Absolute mode Z values—8
`2.3.4. Absolute mode W values—8
`2.4. Information queries—10
`2.4.1. TouchPad identification—10
`2.4.2. Model ID bits—11
`2.4.3. Coordinate resolution—13
`2.4.4. Extended capability bits—15
`2.4.5. Serial numbers—16
`2.4.6. Reading the mode byte—16
`2.5. Mode byte—17
`2.6. Principles of operation—20
`2.6.1. Sensing finger presence—20
`2.6.2. Filtering position data—20
`2.6.3. Sensing motion—21
`2.6.4. Sensing tapping gestures—21
`2.6.5. TouchPad calibration—22
`2.6.6. Host interface to TouchPad—22
`2.7. Synaptics TouchPad model numbers—25
`
`3. PS/2 Protocol—27
`3.1. Electrical interface—27
`3.1.1. Connector pinouts—28
`3.2. Byte transmission—29
`3.2.1. Output to host—29
`3.2.2. Input from host—30
`3.2.3. Acknowledgement of commands—31
`3.3. Power-on reset—31
`3.4. Command set—33
`3.5. TouchPad special command sequences—36
`3.5.1. Information queries—36
`3.5.2. Mode setting sequence—40
`3.6. Data reporting—40
`3.6.1. Default packet format—40
`3.6.2. Absolute packet format—41
`3.7. PS/2 implementations—43
`3.7.1. The keyboard controller—43
`3.7.2. Sample PS/2 implementation—45
`
`4. Serial Protocol—50
`4.1. Electrical interface—50
`4.1.1. TTL-level Serial TouchPad—53
`4.2. Byte transmission—54
`4.3. Power-on reset—54
`4.4. Command set—56
`4.4.1. Serial command timing—56
`4.4.2. Identify TouchPad command—57
`4.4.3. Read TouchPad Modes command—57
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§1.1 Page 2
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 6
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 6
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`4.4.4. Set TouchPad Modes command—58
`4.4.5. Read Model ID command—59
`4.4.6. Read Serial Number command—60
`4.4.7. Read Resolutions command—61
`4.5. Data reporting—62
`4.5.1. Default packet format—62
`4.5.2. Absolute packet format—63
`
`5. ADB Protocol—64
`5.1. Electrical interface—64
`5.2. Byte transmission—65
`5.3. Power-on reset—66
`5.4. Command set—66
`5.4.1. ADB Register 0—66
`5.4.2. ADB Register 1—67
`5.4.3. ADB Register 2—68
`5.4.4. ADB Register 3—70
`5.5. Data reporting—70
`5.5.1. Default packet format—70
`5.5.2. CDM Relative mode packet format—71
`5.5.3. Absolute packet format—71
`
`6. Driver API—73
`6.1. API basics—73
`6.2. Information available from the API—75
`6.3. Sample program—76
`
`7. Appendices—77
`7.1. Historical TouchPad features—77
`7.1.1. Old-style mode bytes—77
`7.1.2. Fast PS/2 mode byte access—78
`7.2. Glossary and Index—79
`7.3. References: Synaptics literature—90
`7.4. References: Other literature—90
`
`
`
`Synaptics is a registered trademark, and Edge Motion, Virtual Scrolling, and Palm Check are
`trademarks, of Synaptics, Inc.
`Apple and Macintosh are registered trademarks, and Apple Desktop Bus is a trademark, of Apple
`Computer, Inc.
`IBM and PS/2 are registered trademarks of International Business Machines Corporation.
`Microsoft, MS-DOS, Windows, Windows 95, and Windows NT are registered trademarks of Microsoft
`Corporation.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§1.1 Page 3
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 7
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 7
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`2. TouchPad Features
`The Synaptics TouchPad is a pointing device for computers and other electronic devices.
`To the user, the TouchPad is a flat, usually rectangular area of the computer which is
`sensitive to finger touch. By putting the finger on the TouchPad sensor and moving the
`finger around, the user can maneuver a cursor around the computer screen. By clicking a
`button or tapping directly on the pad, the user can select and drag objects on the screen.
`The TouchPad serves the same role in a computer system as a mouse or trackball, but its
`compact size, low cost, and lack of moving parts makes it ideal for portable computers.
`The Synaptics TouchPad’s advanced features make it the solution of choice for a variety
`of applications above and beyond simple mouse replacement.
`
`Synaptics offers a family of TouchPad models of various shapes and sizes, which connect
`to the rest of the computer system (the “host”) using several different protocols.
`However, there are also many things that all Synaptics TouchPads have in common:
`They support the same features and modes; they offer roughly the same set of commands
`and queries to the host; they operate according to the same principles. This first part of
`the Interfacing Guide describes the common aspects of the Synaptics TouchPad.
`
`2.1. Mouse-compatible Relative mode
`When power is applied, the Synaptics TouchPad identifies itself to the host computer as a
`regular mouse. This allows the TouchPad to be used with standard mouse drivers. This
`mouse-compatible mode is called Relative mode because finger actions are reported to
`the host in terms of relative mouse-like motions across the pad. The TouchPad reports
`this relative motion to the host in mouse-compatible packets. The TouchPad generates
`roughly 40–80 packets per second. Each packet reports the amount of motion in the X
`(horizontal) and Y (vertical) directions that has occurred since the previous packet.
`These amounts of motion are called deltas, and are written “(cid:4)X” and “(cid:4)Y”. The packet
`also reports information about the left and right “mouse” buttons.
`
`Field
`
`Size (bits)
`
`Range
`
`Meaning
`
`(cid:4)X
`
`(cid:4)Y
`Left
`
`Right
`
`8
`
`8
`
`1
`
`1
`
`±127
`
`±127
`0 or 1
`
`0 or 1
`
`Amount of horizontal finger motion
`
`Amount of vertical finger motion
`
`State of left physical button or tap/drag gesture
`
`State of right physical button
`
`Figure 2-1. Contents of Relative packet
`
`Because the Relative packet is designed to be compatible with the existing mouse
`protocol, the exact contents of the Relative packet vary from one protocol to another. See
`the later sections of this Guide for details. (For example, in the PS/2 protocol, the packet
`actually reports 9-bit deltas, plus a third “middle” button which is not supported by
`current Synaptics products. Also, positive (cid:4)Y values correspond to upward motion in the
`PS/2 protocol, but to downward motion in the Serial and ADB protocols.)
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.1 Page 4
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 8
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 8
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`In Relative mode, placing the finger on the pad does not automatically cause packets to
`be sent. However, moving the finger in any direction produces a sequence of packets that
`describe the motion. Pressing or releasing a mouse button causes the TouchPad to send a
`packet reporting this change in the state of the buttons. Tapping the finger quickly on the
`pad also simulates a brief click of the left mouse button, and the “tap-and-a-half” drag
`gesture simulates an extended motion with the left button held down. (Figure 2-17 of
`section 2.6.4 illustrates these gestures in a technical way; the on-line help that comes with
`Synaptics’ driver software has more user-oriented descriptions of the tapping gestures.)
`
`When there are no finger motions or button state changes to report, the TouchPad ceases
`to transmit packets and remains silent until the next motion or button activity.
`
`2.2. Packet rate
`The Synaptics TouchPad reports approximately 40 packets per second by default. By
`setting the Rate bit of the mode byte (see section 2.5), the host can double the packet rate
`to approximately 80 packets per second.
`
`The higher packet rate is preferable because it leads to the smoothest cursor motion.
`Versions 5.0 and later of the Synaptics TouchPad drivers for Windows® 95 and
`Windows NT® use the higher packet rate by default.
`
`The TouchPad defaults to the lower packet rate for the benefit of slower hosts that cannot
`keep up with 80 packets per second. Also, the low packet rate mode does more internal
`data filtering and so may perform better in environments of extreme electrical noise.
`
`2.3. Absolute mode
`Synaptics TouchPads also support an Absolute mode of operation, where the TouchPad
`transmits an extended packet which reports the absolute finger position on the pad (X, Y),
`the finger pressure or contact area (Z), and various other information such as the state of
`the buttons. The Synaptics Windows 95 and Windows NT drivers operate the pad in
`Absolute mode; they use advanced algorithms to transform the absolute (X, Y, Z) data
`into smooth relative cursor motion, plus a wide variety of tapping and scrolling gestures
`and other features such as Edge Motion™.
`
`In Absolute mode, the TouchPad reports packets continuously at the specified packet
`rate, either 40 or 80 packets per second, whenever the finger is on or near the pad.
`(Specifically, the TouchPad begins sending packets when Z is 8 or more.) The TouchPad
`also begins sending packets whenever any button is pressed or released. Once the
`TouchPad begins transmitting, it continues to send packets for one second after Z falls
`below 8 and the buttons stop changing. The TouchPad does this partly to allow host
`software to use the packet stream as a time base for gesture decoding, and also to
`minimize the impact if the system occasionally drops a packet.
`
`The standard Absolute packet contains the following information:
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.2 Page 5
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 9
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 9
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`Field
`
`Size (bits)
`
`Range
`
`Meaning
`
`X
`
`Y
`
`Z
`
`W
`
`Left
`
`Right
`
`Gesture
`
`Finger
`
`13
`
`13
`
`8
`
`4
`
`1
`
`1
`
`1
`
`1
`
`0–6143
`
`Horizontal finger position, 0 = far left
`
`0–6143
`
`Vertical finger position, 0 = far bottom
`
`0–255
`
`Pressure or contact area, 0 = no contact
`
`0–15
`
`0 or 1
`
`0 or 1
`
`0 or 1
`
`0 or 1
`
`Finger width and other state information
`
`State of left physical button, 0 = not pressed, 1 = pressed
`
`State of right physical button, 0 = not pressed, 1 = pressed
`
`Tap/drag gesture in progress, 0 = no gesture, 1 = gesture
`
`Finger presence, 0 = no finger, 1 = finger
`
`Figure 2-2. Contents of Absolute packet
`
`2.3.1. Absolute mode state bits
`The Absolute mode packet, like the Relative mode packet, contains several bits that
`report the state of the buttons. An important difference is that in Absolute mode, the
`physical buttons are reported separately from tap and drag gestures, whereas in mouse-
`compatible Relative mode, gestures and buttons are mixed together and there is no way
`for the host to distinguish them. (Naturally, if the host wishes for taps to act like left
`button clicks even in Absolute mode, the host is free to mix the separate state bits
`together itself.)
`
`The Left and Right button bits report the current state of the two respective buttons. Each
`bit is 1 if the button is currently pressed, or 0 if the button is not pressed. Note that most
`Synaptics TouchPad models do not contain buttons mounted directly on the TouchPad
`board, but rather supply two external connector pins to which the system designer can
`attach buttons. These pins are labeled “Left” and “Right”; it is up to the system designer
`to attach the pins to appropriately placed buttons.
`
`Some Synaptics TouchPads (the “MultiSwitch” pads) support two additional buttons
`labeled “Up” and “Down.” When these buttons exist, their state is also reported in the
`Absolute packet. (See section 3.6.2 for information on how these buttons are reported.)
`
`The Finger bit reports the state of the firmware’s internal finger-presence check. This is a
`simple test based on comparing Z against a threshold of 25–30 units.
`
`The Gesture bit reports the state of the “virtual” button; it is 1 during tap and drag
`gestures. (See section 2.6.4 for more details on the virtual button.)
`
`Note that the Finger and Gesture bits are fully redundant with the basic (X, Y, Z)
`information reported in the packet. In fact, the Synaptics drivers ignore these two bits
`and do their own more sophisticated finger and tap detection by examining Z directly.
`The Synaptics TouchPad provides these bits to simplify the use of the TouchPad in
`special applications where the Synaptics drivers cannot be used.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.3 Page 6
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 10
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 10
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`2.3.2. Absolute X and Y coordinates
`The X and Y values report the finger’s absolute location on the TouchPad surface at any
`given time. When Z is zero, X and Y cannot be calculated and so are reported as 0.
`When Z > 0, X and Y are calculated and scaled to lie in the ranges shown in Figure 2-3.
`All Synaptics TouchPad products are designed to scale their coordinates and pressure
`information to the same standard range regardless of the actual size of the sensor. This
`allows host software to interpret the coordinate data without needing to know the
`physical type of the TouchPad.
`
`
`
`X axis
`
`Y axis
`
`Absolute reportable limits
`
` 0–6143 ($0000–$17FF)
`
` 0–6143 ($0000–$17FF)
`
`Typical bezel limits
`
`1472–5472 ($05C0–$1560)
`
`1408–4448 ($0580–$1160)
`
`Typical edge margins
`
`1632–5312 ($0660–$14C0)
`
`1568–4288 ($0620–$10C0)
`
`Figure 2-3. Absolute X and Y coordinates
`
`(Note: “$” indicates hexadecimal notation.)
`
`In this table, the absolute reportable limits are guaranteed bounds on the values reported
`by the TouchPad under any circumstances. The typical bezel limits are approximate
`bounds on X and Y when fingers of typical size are used on TouchPads mounted in
`typical bezels. The typical edge margins are suitable limits for deciding whether the
`finger is on the edge or in the interior area of the pad surface; the finger is in the interior
`if X and Y lie within the edge margin limits.
`
`The following figure illustrates the various coordinate limits:
`
`(0,6143)
`
`(6143,6143)
`
`Finger A
`
`Finger B
`
`Absolute limits
`
`Actual bezel opening
`
`Typical bezel limits
`
`Typical edge margins
`
`
`
`(0,0)
`
`(6143,0)
`
`Figure 2-4. Coordinate limits (not to scale)
`
`Note that the typical bezel limits are inset a small distance from the “true” coordinates of
`the ideal bezel opening, because the TouchPad reports the coordinates of the center of the
`finger whereas the bezel constrains the perimeter of the finger. For any finger of
`reasonable size, the center will be inset a bit from the perimeter. For example, see
`finger A in the figure above. Similarly, the typical edge margins are inset somewhat
`from the bezel limits so that fingers of all sizes, such as the larger finger B shown above,
`will be able to fit within the edge zone.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.3 Page 7
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 11
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 11
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`For “portrait” oriented TouchPads, the X and Y axis limits in Figure 2-3 are
`interchanged; for example, the X bezel limits for a portrait pad would be 1408–4448.
`Figure 2-11(b) of section 2.4.2 illustrates the portrait orientation.
`
`The coordinate ranges in Figure 2-3 imply a resolution of 2000 dpi or more, depending
`on the physical size of the pad. (Section 2.4.3 lists the actual resolutions for different
`TouchPad models.) In practice, the usable X and Y resolution is often somewhat reduced
`by the effects of electrical noise and physical jitter. Host software may need to apply
`filtering or averaging to the X and Y values before using them for fine positioning;
`section 2.6.2 gives some examples. In general, please remember that a TouchPad is not a
`graphics tablet; designers should not expect a compact, finger-operated device to match
`the stability, linearity, and repeatability of a precision pen-operated tablet.
`
`2.3.3. Absolute mode Z values
`The Z value reports the total finger capacitance, which is a function of the finger’s
`contact area, which in turn is affected by the contact pressure and by the angle at which
`the finger is held. The following table illustrates some typical Z values.
`
`Value
`
`Z = 0
`
`Z = 10
`
`Z = 30
`
`Z = 80
`
`Interpretation
`
`No finger contact.
`
`Finger hovering near the pad surface.
`
`Very light finger contact.
`
`Normal finger contact.
`
`Z = 110
`
`Very heavy finger contact.
`
`Z = 200
`
`Finger lying flat on pad surface.
`
`Z = 255 Maximum reportable Z; whole palm flat on pad surface.
`
`Figure 2-5. Typical Z values
`
`Note that the measurement of Z is approximate; actual reported Z values will vary from
`one TouchPad to another and from one user to another. In fact, because capacitance is
`influenced by environmental effects such as the moisture of the skin, Z measurements
`may even vary from day to day for the same TouchPad and user.
`
`For Synaptics TouchPad models that can sense pens as well as fingers, note that the Z
`scales for pens and fingers may be different. In fact, current pen TouchPads are unable to
`measure the pressure of pen contact; they report all pen strokes with a constant Z of 80.
`
`2.3.4. Absolute mode W values
`Newer Synaptics TouchPads support an optional value in the Absolute packet called
`“W.” The W value is not available on all models of Synaptics TouchPads; when it is
`available, it is reported only when the host enables a special “W mode.” The W value
`supplies extra information about the character of the contact with the pad. The host can
`use W to distinguish among normal fingers, accidental palm contact, multiple fingers,
`and pens.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.3 Page 8
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 12
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 12
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`The following table shows the W values that are currently defined for Synaptics
`TouchPads:
`
`Value
`
`W = 0
`
`W = 1
`
`W = 2
`
`W = 3
`
`Needed capability
`
`Interpretation
`
`capMultiFinger
`
`Two fingers on the pad.
`
`capMultiFinger
`
`Three or more fingers on the pad.
`
`capPen
`
`Pen (instead of finger) on the pad.
`
`—
`
`Reserved.
`
`W = 4–7
`
`capPalmDetect
`
`Finger of normal width.
`
`W = 8–14
`
`capPalmDetect
`
`Very wide finger or palm.
`
`W = 15
`
`capPalmDetect Maximum reportable width; extremely wide contact.
`
`Figure 2-6. Absolute mode W values
`
`Sections 2.4.2 and 2.4.4 show how the host can query for multi-finger, pen, and palm
`detection capability in a particular pad, as well as for the capability to report W at all.
`
`If the capPalmDetect capability bit is set, then W values from 4 to 15 indicate that the
`pad has sensed a single finger of a particular width. The host can watch for especially
`wide “fingers” as evidence that the pad was activated by an accidental brush of the hand
`or palm rather than deliberate finger contact. (Note that the finger width measurement is
`very approximate; actual widths will vary from one TouchPad to another and from one
`user to another.)
`
`If the capMultiFinger capability bit is set, then W values 0 and 1 indicate a multi-finger
`touch. The TouchPad still reports a single pair of X and Y coordinates even when
`multiple fingers are on the pad. In current TouchPads, X and Y will report the point on
`the pad midway between the fingers. (Future TouchPads may use a different convention,
`e.g., always following the first or the last finger to make contact with the pad.)
`
`If the capPen capability bit is set, then a W value of 2 indicates that the pad is currently
`sensing a pen, not a finger. An object on the pad surface is considered a “finger” if it
`forms a significant contact area and is electrically attached to ground or to a large
`conductive body such as a human body. A “pen” is any other type of object, such as a
`non-conductive plastic stylus, that makes contact with the TouchPad surface. (Note that
`most Synaptics TouchPad products are unable to sense pens, and thus have capPen = 0;
`only certain “pen-input TouchPad” models are able to sense pens as well as fingers.)
`
`When the capPalmDetect, capMultiFinger, or capPen capability bits are clear (0), the
`corresponding W values are reserved for future definition by Synaptics and should be
`given no special interpretation by host software. For example, if capPen = 0 and the
`TouchPad reports a W value of 2, the host should not treat the contact as a pen stroke, but
`rather as a normal finger stroke with no unusual properties.
`
`When Z = 0, the X, Y, and W values cannot be measured and are reported as 0. When Z
`is positive but very small, e.g., less than 25, then the X and Y position, the finger width
`and count, and the finger/pen determination will be reported but they may not be very
`accurate.
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.3 Page 9
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 13
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 13
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`Historical notes:
`
`Older Synaptics TouchPads with the capExtended capability bit equal to 0 did not
`support “W mode.” Those pads had no way to measure or report the width or count of
`fingers.
`
`A very small number of early pen-capable TouchPads were built before the introduction
`of “W mode.” On pen TouchPads with capPen = 1 but capExtended = 0, pen strokes are
`distinguished using the Z value: Z is 255 during a pen stroke, Z is in the range 1–254
`during a finger stroke, and Z is 0 when no pen or finger is detected.
`
`2.4. Information queries
`The host can query the TouchPad for information describing the size, model, and
`capabilities of the TouchPad. The exact form of this query varies from one protocol to
`another, as described in later parts of this document. But the information itself is the
`same regardless of the protocol. The following sections describe the various available
`queries and the information they return.
`
`2.4.1. TouchPad identification
`The most basic query asks whether the device is a Synaptics TouchPad or some other
`mouse-compatible pointing device. In each protocol, this query is designed as a special
`command that can be sent to any mouse-compatible device, but which only a Synaptics
`TouchPad will recognize.
`
`The Identify TouchPad query returns the following information to the host:
`
`infoMajor
`The primary or “major” version of the TouchPad device and firmware.
`Most older Synaptics TouchPads had a major version of 3; the modern
`Synaptics TouchPads described in this document have a major version of 4.
`
`infoMinor
`The minor version number starts over at 0 with each new major version, and
`increases by one whenever minor changes are made to the device or its
`firmware. In a complete version number such as “4.5”, the major version is
`4 and the minor version is 5.
`
`infoModelCode
`This 4-bit field encodes very limited information about the TouchPad
`model. It is provided for compatibility only; modern TouchPads report
`much more detailed information about themselves in the queries described
`in the next few sections. New host software should not use the
`infoModelCode field.
`
`When this Guide uses the phrase “versions x.y and later” or “version (cid:2) x.y,” it refers to all
`TouchPads with greater major version, or equal major version and greater or equal minor
`version:
`
`“version a.b (cid:2) x.y” is equivalent to saying “( a > x ) or ( a = x and b (cid:2) y )”
`
`Copyright © 2001 Synaptics, Inc. 510-000080 - A
`
`§2.4 Page 10
`APPLE INC.
`CORRECTED EXHIBIT 1011 - Page 14
`
`APPLE INC.
`EXHIBIT 1018 - PAGE 14
`
`

`

`Synaptics TouchPad Interfacing Guide
`
`
`
`Second Edition
`
`2.4.2. Model ID bits
`Synaptics TouchPads starting with version 3.2 have supported a “model ID” query which
`allows the host to learn information about the physical type of the pad. The model ID
`consists of 24 bits divided into various bit-fields:
`
`Bit 23
`infoRot180
`
`
`
`Bit 22
`infoPortrait
`
`
`
`
`
`
`
`Bit 21
`
`Bit 20
`
`
`
`
`
`
`
`
`
`Bit 19
`infoSensor
`
`
`
`
`
`Bit 15
`
`Bit 14
`
`Bit 13
`
`
`
`
`
`
`
`
`
`
`
`
`
`Bit 12
`infoHardware
`
`
`
`
`
`
`
`Bit 11
`
`
`
`
`
`Bit 3
`
`
`
`Bit 18
`
`Bit 17
`
`Bit 16
`
`Bit 10
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Bit 9
`
`Reserved
`
`Bit 1
`
`
`
`
`
`Bit 8
`
`Bit 0
`
`Bit 7
`infoNewAbs
`
`
`
`
`
`Bit 6
`capPen
`
`
`
`
`
`Bit 5
`Bit 4
`infoSimplC Reserved
`
`
`
`Bit 2
`infoGeometry
`
`
`
`
`
`
`
`
`
`
`
`
`
`The model ID fields are defined as follows.
`
`Figure 2-7. TouchPad model ID bits
`
`infoSensor (bits 21–16)
`This 6-bit field identifies the type or model of TouchPad sensor; it allows
`the host to determine the size and physical type of the TouchPad. The
`following table lists the sensor types that have been defined as of this
`writing.
`
`infoSensor
`
`Model no.
`
`Definition
`
`0
`
`1
`
`2
`
`3
`
`7
`
`8
`
`9
`
`11
`
`12
`
`13
`
`15
`
`16
`
`—
`
`Unknown sensor type
`
`TM41xx134
`
`Standard TouchPad
`
`TM41xx156 Mini module
`
`TM41xx180
`
`Super module
`
`(discontinued) Flexible pad
`
`TM41xx220 Ultra-thin module
`
`TW41xx230 Wide pad module
`
`TM41xx240
`
`Stamp pad module
`
`TM41xx140
`
`SubMini module
`
`TBD
`
`MultiSwitch module
`
`TM41xx301 Advanced Technology Pad
`
`TM41xx221 Ultra-thin module, connector reversed
`
`other
`
`—
`
`Reserved
`
`Figure 2-8. Sensor types
`
`
`
`See section 2.7 for more informa

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