Changeset 2c381250 in mainline for uspace/app/virtusbkbd/virtusbkbd.c


Ignore:
Timestamp:
2010-10-13T06:49:48Z (15 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7da3219
Parents:
fd17ab5
Message:

virtusb: add get_descriptor(config) handling

The virtusb framework is now able to handle the standard request for
obtaining configuration descriptor. This includes sending extra data
such as interface or endpoint descriptor.

Using this approach, the virtual keyboard sends also its HID descriptor.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/virtusbkbd/virtusbkbd.c

    rfd17ab5 r2c381250  
    8989};
    9090
     91usbvirt_device_configuration_extras_t extra_descriptors[] = {
     92        {
     93                .data = (uint8_t *) &std_interface_descriptor,
     94                .length = sizeof(std_interface_descriptor)
     95        },
     96        {
     97                .data = (uint8_t *) &hid_descriptor,
     98                .length = sizeof(hid_descriptor)
     99        },
     100        {
     101                .data = (uint8_t *) &endpoint_descriptor,
     102                .length = sizeof(endpoint_descriptor)
     103        }
     104};
     105
     106/** Keyboard configuration. */
     107usbvirt_device_configuration_t configuration = {
     108        .descriptor = &std_configuration_descriptor,
     109        .extra = extra_descriptors,
     110        .extra_count = sizeof(extra_descriptors)/sizeof(extra_descriptors[0])
     111};
     112
     113/** Keyboard standard descriptors. */
     114usbvirt_descriptors_t descriptors = {
     115        .device = &std_device_descriptor,
     116        .configuration = &configuration,
     117        .configuration_count = 1,
     118};
     119
    91120/** Keyboard device.
    92121 * Rest of the items will be initialized later.
     
    94123static usbvirt_device_t keyboard_dev = {
    95124        .ops = &keyboard_ops,
    96         .standard_descriptor = &std_descriptor,
     125        .descriptors = &descriptors,
    97126        .device_id_ = USBVIRT_DEV_KEYBOARD_ID
    98127};
Note: See TracChangeset for help on using the changeset viewer.