Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhid/mouse/mousedev.c

    r4d3c13e r5f88293  
    229229/*----------------------------------------------------------------------------*/
    230230
    231 static bool usb_mouse_process_report(usb_hid_dev_t *hid_dev,
    232     usb_mouse_t *mouse_dev)
     231static bool usb_mouse_process_report(usb_hid_dev_t *hid_dev,
     232                                     usb_mouse_t *mouse_dev, uint8_t *buffer,
     233                                     size_t buffer_size)
    233234{
    234235        assert(mouse_dev != NULL);
     236       
     237        usb_log_debug2("got buffer: %s.\n",
     238            usb_debug_str_buffer(buffer, buffer_size, 0));
    235239       
    236240        if (mouse_dev->mouse_phone < 0) {
     
    240244
    241245        /*
     246         * parse the input report
     247         */
     248       
     249        usb_log_debug(NAME " Calling usb_hid_parse_report() with "
     250            "buffer %s\n", usb_debug_str_buffer(buffer, buffer_size, 0));
     251       
     252        uint8_t report_id;
     253       
     254        int rc = usb_hid_parse_report(hid_dev->report, buffer, buffer_size,
     255            &report_id);
     256       
     257        if (rc != EOK) {
     258                usb_log_warning(NAME "Error in usb_hid_parse_report(): %s\n",
     259                    str_error(rc));
     260                return true;
     261        }
     262       
     263        /*
    242264         * X
    243265         */
     
    248270            USB_HIDUT_USAGE_GENERIC_DESKTOP_X);
    249271
    250         usb_hid_report_path_set_report_id(path, hid_dev->report_id);
     272        usb_hid_report_path_set_report_id(path, report_id);
    251273
    252274        usb_hid_report_field_t *field = usb_hid_report_get_sibling(
     
    271293            USB_HIDUT_USAGE_GENERIC_DESKTOP_Y);
    272294
    273         usb_hid_report_path_set_report_id(path, hid_dev->report_id);
     295        usb_hid_report_path_set_report_id(path, report_id);
    274296
    275297        field = usb_hid_report_get_sibling(
     
    299321            USB_HIDUT_USAGE_GENERIC_DESKTOP_WHEEL);
    300322
    301         usb_hid_report_path_set_report_id(path, hid_dev->report_id);
     323        usb_hid_report_path_set_report_id(path, report_id);
    302324       
    303325        field = usb_hid_report_get_sibling(
     
    323345        path = usb_hid_report_path();
    324346        usb_hid_report_path_append_item(path, USB_HIDUT_PAGE_BUTTON, 0);
    325         usb_hid_report_path_set_report_id(path, hid_dev->report_id);
     347        usb_hid_report_path_set_report_id(path, report_id);
    326348       
    327349        field = usb_hid_report_get_sibling(
     
    488510/*----------------------------------------------------------------------------*/
    489511
    490 bool usb_mouse_polling_callback(usb_hid_dev_t *hid_dev, void *data)
     512bool usb_mouse_polling_callback(usb_hid_dev_t *hid_dev, void *data,
     513     uint8_t *buffer, size_t buffer_size)
    491514{
    492515        usb_log_debug("usb_mouse_polling_callback()\n");
     516        usb_debug_str_buffer(buffer, buffer_size, 0);
    493517       
    494518        if (hid_dev == NULL || data == NULL) {
     
    500524        usb_mouse_t *mouse_dev = (usb_mouse_t *)data;
    501525               
    502         return usb_mouse_process_report(hid_dev, mouse_dev);
     526        return usb_mouse_process_report(hid_dev, mouse_dev, buffer,
     527                                        buffer_size);
    503528}
    504529
Note: See TracChangeset for help on using the changeset viewer.