VirtualBox

Changeset 80040 in vbox


Ignore:
Timestamp:
Jul 29, 2019 10:49:00 AM (5 years ago)
Author:
vboxsync
Message:

scm.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Input/PS2M.cpp

    r80039 r80040  
    5252 * commands with arguments 200, 200, 80 switch to ImEx mode. The Read ID (0F2h)
    5353 * command will report the currently selected protocol.
    54  * 
     54 *
    5555 * There is an extended ImEx mode with support for horizontal scrolling. It is
    5656 * entered from ImEx mode with a 200, 80, 40 sequence of Set Sampling Rate
     
    9595 * | Byte 4 |   0    |   0    | Btn 5  | Btn 4  |  Z mov't delta (two's complement) |
    9696 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+
    97  * 
     97 *
    9898 *   - The Z delta values are in practice only -1/+1; some mice (A4tech?) report
    9999 *     horizontal scrolling as -2/+2.
     
    106106 * | Byte 4 |   V    |   H    |      Z or W movement delta (two's complement)       |
    107107 * +--------+--------+--------+--------+--------+--------+--------+--------+--------+
    108  * 
     108 *
    109109 *   - Buttons 4 and 5 are reported as with the regular ImEx protocol, but not when
    110110 *     scrolling. This is a departure from the usual logic because when the mouse
    111111 *     sends scroll events, the state of buttons 4/5 is not reported and the last
    112112 *     reported state should be assumed.
    113  * 
     113 *
    114114 *   - When the V bit (bit 7) is set, vertical scroll (Z axis) is being reported.
    115115 *     When the H bit (bit 6) is set, horizontal scroll (W axis) is being reported.
    116116 *     The H and V bits are never set at the same time (also see below). When
    117117 *     the H and V bits are both clear, button 4/5 state is being reported.
    118  * 
     118 *
    119119 *   - The Z/W delta is extended to 6 bits. Z (vertical) values are not restricted
    120120 *     to -1/+1, although W (horizontal) values are. Z values of at least -20/+20
    121121 *     can be seen in practice.
    122  * 
     122 *
    123123 *   - Horizontal and vertical scroll is mutually exclusive. When the button is
    124124 *     tilted, no vertical scrolling is reported, i.e. horizontal scrolling
    125125 *     has priority over vertical.
    126  * 
     126 *
    127127 *   - Positive values indicate down/right direction, negative values up/left.
    128  * 
     128 *
    129129 *   - When the scroll button is tilted to engage horizontal scrolling, the mouse
    130130 *     keeps sending events at a rate of 4 or 5 per second as long as the button
    131131 *     is tilted.
    132  * 
     132 *
    133133 * All report formats were verified with a real Microsoft IntelliMouse Explorer 4.0
    134134 * mouse attached through a PS/2 port.
    135  * 
     135 *
    136136 * The button "accumulator" is necessary to avoid missing brief button presses.
    137137 * Without it, a very fast mouse button press + release might be lost if it
    138138 * happened between sending reports. The accumulator latches button presses to
    139139 * prevent that.
    140  * 
     140 *
    141141 */
    142142
     
    634634            {
    635635               /* ImEx + horizontal reporting Horizontal scroll has
    636                 * precedence over vertical. Buttons cannot be reported 
    637                 * this way. 
     636                * precedence over vertical. Buttons cannot be reported
     637                * this way.
    638638                */
    639639               if (pThis->iAccumW)
     
    10171017                    pThis->u8State & AUX_STATE_ENABLED ? "enabled" : "disabled");
    10181018    pHlp->pfnPrintf(pHlp, "Protocol: %s, scaling %u:1\n",
    1019                     pcszProtocols[pThis->enmProtocol], 
     1019                    pcszProtocols[pThis->enmProtocol],
    10201020                    pThis->u8State & AUX_STATE_SCALING ? 2 : 1);
    10211021    pHlp->pfnPrintf(pHlp, "Active command %02X\n", pThis->u8CurrCmd);
     
    10691069
    10701070    /* Ditch accumulated data that can't be reported by the current protocol.
    1071      * This avoids sending phantom empty reports when un-reportable events 
    1072      * are received. 
     1071     * This avoids sending phantom empty reports when un-reportable events
     1072     * are received.
    10731073     */
    10741074    if (pThis->enmProtocol < PS2M_PROTO_IMEX_HORZ)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette