Changeset a694a58 in mainline for uspace/drv/usbkbd/kbddev.c


Ignore:
Timestamp:
2011-04-07T21:18:37Z (14 years ago)
Author:
Matej Klonfar <maklf@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cf81757
Parents:
c156c2d
Message:

Output API modified for handle report ids

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbkbd/kbddev.c

    rc156c2d ra694a58  
    128128        0x15, 0x00,  //   Logical Minimum (0),
    129129        0x25, 0x01,  //   Logical Maximum (1),
     130        //0x85, 0x00,  //   Report ID,
     131        //0xA4,      //   Push
    130132        0x81, 0x02,  //   Input (Data, Variable, Absolute),   ; Modifier byte
    131         0x95, 0x01,  //   Report Count (1),
    132         0x75, 0x08,  //   Report Size (8),
     133        //0xB4,      //   Pop
     134        0x75, 0x08,  //   Report Size (1),
     135        0x95, 0x01,  //   Report Count (8),       
    133136        0x81, 0x01,  //   Input (Constant),                   ; Reserved byte
    134137        0x95, 0x05,  //   Report Count (5),
     
    557560        assert(kbd_dev != NULL);
    558561
    559         usb_log_debug("Got keys from parser: %s\n",
     562        usb_log_debug("Got keys from parser (report id: %d): %s\n", modifiers,
    560563            usb_debug_str_buffer(key_codes, count, 0));
    561564       
     
    608611        usb_hid_report_path_t *path = usb_hid_report_path();
    609612        usb_hid_report_path_append_item(path, USB_HIDUT_PAGE_KEYBOARD, 0);
    610        
    611         int rc = usb_hid_parse_report(kbd_dev->parser, buffer,
     613
     614        uint8_t *tmp_buf = malloc((actual_size+1)*sizeof(uint8_t));
     615        tmp_buf[0] = 0x00;
     616        memcpy(tmp_buf+1, buffer, actual_size);
     617       
     618        int rc = usb_hid_parse_report(kbd_dev->parser, tmp_buf,
    612619            actual_size, path, USB_HID_PATH_COMPARE_STRICT, callbacks, kbd_dev);
    613620
     
    730737       
    731738        /* Get the report descriptor and parse it. */
    732         rc = usb_hid_process_report_descriptor(kbd_dev->usb_dev,
    733             kbd_dev->parser);
    734         if (rc != EOK) {
     739        //rc = usb_hid_process_report_descriptor(kbd_dev->usb_dev,
     740        //    kbd_dev->parser);
     741        if (true || rc != EOK) {
    735742                usb_log_warning("Could not process report descriptor, "
    736743                    "falling back to boot protocol.\n");
     
    776783        kbd_dev->output_size = 0;
    777784        kbd_dev->output_buffer = usb_hid_report_output(kbd_dev->parser,
    778             &kbd_dev->output_size);
     785            &kbd_dev->output_size, 0x00);
    779786        if (kbd_dev->output_buffer == NULL) {
    780787                usb_log_warning("Error creating output report buffer.\n");
     
    788795        usb_hid_report_path_append_item(
    789796            kbd_dev->led_path, USB_HIDUT_PAGE_LED, 0);
     797        usb_hid_report_path_set_report_id(kbd_dev->led_path, 0x00);
    790798       
    791799        kbd_dev->led_output_size = usb_hid_report_output_size(kbd_dev->parser,
Note: See TracChangeset for help on using the changeset viewer.