VirtualBox

Changeset 46818 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Jun 26, 2013 11:00:51 PM (11 years ago)
Author:
vboxsync
Message:

Devices/Input/UsbMouse: added the specification multi-touch descriptor, not yet active.

File:
1 edited

Legend:

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

    r46767 r46818  
    303303 */
    304304#define REPORTID_MOUSE 1
     305#define REPORTID_MTOUCH 2
     306#define REPORTID_MAX_COUNT 3
     307#define REPORTID_FEATURE 4
    305308
    306309static const uint8_t g_UsbHidTReportDesc[] =
     
    344347    /* End Collection */            0xC0,
    345348    /* End Collection */            0xC0,
     349};
     350
     351static const uint8_t g_UsbHidMTReportDesc[] =
     352{
     353    /* Usage Page */                0x05, 0x0D,     /* Digitisers */
     354    /* Usage */                     0x09, 0x04,     /* Touch Screen */
     355    /* Collection */                0xA1, 0x01,     /* Application */
     356    /* Report ID */                 0x85, REPORTID_MTOUCH,
     357    /* Usage */                     0x09, 0x22,     /* Finger */
     358    /* Collection */                0xA1, 0x02,     /* Logical */
     359    /* Usage */                     0x09, 0x42,     /* Tip Switch */
     360    /* Logical Minimum */           0x15, 0x00,     /* 0 */
     361    /* Logical Maximum */           0x25, 0x01,     /* 1 */
     362    /* Report Size */               0x75, 0x01,     /* 1 */
     363    /* Report Count */              0x95, 0x01,     /* 1 */
     364    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     365    /* Usage */                     0x09, 0x32,     /* In Range */
     366    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     367    /* Report Count */              0x95, 0x06,     /* 6 */
     368    /* Input */                     0x81, 0x03,     /* Constant, Value, Absolute, Bit field */
     369    /* Report Size */               0x75, 0x08,     /* 8 */
     370    /* Usage */                     0x09, 0x51,     /* Contact Identifier */
     371    /* Report Count */              0x95, 0x01,     /* 1 */
     372    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     373    /* Collection */                0xA1, 0x00,     /* Physical */
     374    /* Usage Page */                0x05, 0x01,     /* Generic Desktop */
     375    /* Logical Maximum */           0x26, 0xff,0x0f,/* 4095 */
     376    /* Report Size */               0x75, 0x10,     /* 16 */
     377    /* Unit Exponent   */           0x55, 0x0e,     /* -2 */
     378    /* Unit            */           0x65, 0x33,     /* Inch,EngLinear */
     379    /* Usage */                     0x09, 0x30,     /* X */
     380    /* Physical Minimum */          0x35, 0x00,     /* 0 */
     381    /* Physical Maximum */          0x46, 0xb5,0x04,/* 1205 */
     382    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     383    /* Physical Maximum */          0x46, 0x8a,0x03,/* 906 */
     384    /* Usage */                     0x09, 0x31,     /* Y */
     385    /* Physical Maximum */          0x45, 0x00,     /* 0 (reset) */
     386    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     387    /* End Collection */            0xC0,
     388    /* End Collection */            0xC0,
     389    /* Usage Page */                0x05, 0x0d,     /* Digitisers */
     390    /* Usage */                     0x09, 0x22,     /* Finger */
     391    /* Collection */                0xA1, 0x02,     /* Logical */
     392    /* Usage */                     0x09, 0x42,     /* Tip Switch */
     393    /* Logical Minimum */           0x15, 0x00,     /* 0 */
     394    /* Logical Maximum */           0x25, 0x01,     /* 1 */
     395    /* Report Size */               0x75, 0x01,     /* 1 */
     396    /* Report Count */              0x95, 0x01,     /* 1 */
     397    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     398    /* Usage */                     0x09, 0x32,     /* In Range */
     399    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     400    /* Report Count */              0x95, 0x06,     /* 6 */
     401    /* Input */                     0x81, 0x03,     /* Constant, Value, Absolute, Bit field */
     402    /* Report Size */               0x75, 0x08,     /* 8 */
     403    /* Usage */                     0x09, 0x51,     /* Contact Identifier */
     404    /* Report Count */              0x95, 0x01,     /* 1 */
     405    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     406    /* Collection */                0xA1, 0x00,     /* Physical */
     407    /* Usage Page */                0x05, 0x01,     /* Generic Desktop */
     408    /* Logical Maximum */           0x26, 0xff,0x0f,/* 4095 */
     409    /* Report Size */               0x75, 0x10,     /* 16 */
     410    /* Unit Exponent   */           0x55, 0x0e,     /* -2 */
     411    /* Unit            */           0x65, 0x33,     /* Inch,EngLinear */
     412    /* Usage */                     0x09, 0x30,     /* X */
     413    /* Physical Minimum */          0x35, 0x00,     /* 0 */
     414    /* Physical Maximum */          0x46, 0xb5,0x04,/* 1205 */
     415    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     416    /* Physical Maximum */          0x46, 0x8a,0x03,/* 906 */
     417    /* Usage */                     0x09, 0x31,     /* Y */
     418    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     419    /* End Collection */            0xC0,
     420    /* End Collection */            0xC0,
     421    /* Usage Page */                0x05, 0x0d,     /* Digitizers */
     422    /* Usage */                     0x09, 0x54,     /* Contact Count */
     423    /* Report Count */              0x95, 0x01,     /* 1 */
     424    /* Report Size */               0x75, 0x08,     /* 8 */
     425    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     426    /* Report ID */                 0x85, REPORTID_MAX_COUNT,
     427    /* Usage */                     0x09, 0x55,     /* Contact Count Maximum */
     428    /* Report Count */              0x95, 0x01,     /* 1 */
     429    /* Logical Maximum */           0x25, 0x02,     /* 2 */
     430    /* Feature        */            0xB1, 0x03,     /* Constant, Value, Absolute, Bit field */
     431    /* End Collection */            0xC0,
     432    /* Usage */                     0x09, 0x0E,     /* Configuration */
     433    /* Collection */                0xA1, 0x01,     /* Application */
     434    /* Report ID */                 0x85, REPORTID_FEATURE,
     435    /* Usage */                     0x09, 0x23,     /* Device Settings */
     436    /* Collection */                0xA1, 0x02,     /* logical */
     437    /* Usage */                     0x09, 0x52,     /* Input Mode */
     438    /* Usage */                     0x09, 0x53,     /* Device Index */
     439    /* Logical Minimum */           0x15, 0x00,     /* 0 */
     440    /* Logical Maximum */           0x25, 0x0a,     /* 10 */
     441    /* Report Size */               0x75, 0x08,     /* 8 */
     442    /* Report Count */              0x95, 0x02,     /* 2 */
     443    /* Feature        */            0xB1, 0x02,     /* Data, Value, Absolute, Bit field */
     444    /* End Collection */            0xC0,
     445    /* End Collection */            0xC0,
     446    /* Usage Page */                0x05, 0x01,     /* Generic Desktop */
     447    /* Usage */                     0x09, 0x02,     /* Mouse */
     448    /* Collection */                0xA1, 0x01,     /* Application */
     449    /* Report ID */                 0x85, REPORTID_MOUSE,
     450    /* Usage */                     0x09, 0x01,     /* Pointer */
     451    /* Collection */                0xA1, 0x00,     /* Physical */
     452    /* Usage Page */                0x05, 0x09,     /* Button */
     453    /* Usage Minimum */             0x19, 0x01,     /* Button 1 */
     454    /* Usage Maximum */             0x29, 0x02,     /* Button 2 */
     455    /* Logical Minimum */           0x15, 0x00,     /* 0 */
     456    /* Logical Maximum */           0x25, 0x01,     /* 1 */
     457    /* Report Size */               0x75, 0x01,     /* 1 */
     458    /* Report Count */              0x95, 0x02,     /* 2 */
     459    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     460    /* Report Count */              0x95, 0x06,     /* 6 */
     461    /* Input */                     0x81, 0x03,     /* Constant, Value, Absolute, Bit field */
     462    /* Usage Page */                0x05, 0x01,     /* Generic Desktop */
     463    /* Usage */                     0x09, 0x30,     /* X */
     464    /* Usage */                     0x09, 0x31,     /* Y */
     465    /* Report Size */               0x75, 0x10,     /* 16 */
     466    /* Report Count */              0x95, 0x02,     /* 2 */
     467    /* Logical Minimum */           0x15, 0x00,     /* 0 */
     468    /* Logical Maximum */           0x26, 0xff,0x7f,/* 32767 */
     469    /* Input */                     0x81, 0x02,     /* Data, Value, Absolute, Bit field */
     470    /* End Collection */            0xC0,
     471    /* End Collection */            0xC0
    346472};
    347473
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