Changes in uspace/drv/usbhid/kbd/kbddev.c [313775b:e8a69913] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/kbd/kbddev.c
r313775b re8a69913 46 46 #include <fibril.h> 47 47 #include <fibril_synch.h> 48 49 #include <ddf/log.h>50 48 51 49 #include <usb/usb.h> … … 410 408 memcpy(kbd_dev->keys_old, kbd_dev->keys, kbd_dev->key_count * 4); 411 409 412 char key_buffer[512]; 413 ddf_dump_buffer(key_buffer, 512, 414 kbd_dev->keys_old, 4, kbd_dev->key_count, 0); 415 usb_log_debug2("Stored keys %s.\n", key_buffer); 410 usb_log_debug2("New stored keys: "); 411 for (i = 0; i < kbd_dev->key_count; ++i) { 412 usb_log_debug2("%d ", kbd_dev->keys_old[i]); 413 } 414 usb_log_debug2("\n"); 416 415 } 417 416 … … 435 434 * usb_hid_parse_report(). 436 435 */ 437 static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev) 436 static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev, 437 uint8_t *buffer, size_t actual_size) 438 438 { 439 439 assert(hid_dev->report != NULL); 440 440 assert(hid_dev != NULL); 441 441 assert(kbd_dev != NULL); 442 443 usb_log_debug("Calling usb_hid_parse_report() with " 444 "buffer %s\n", usb_debug_str_buffer(buffer, actual_size, 0)); 442 445 443 446 usb_hid_report_path_t *path = usb_hid_report_path(); 444 447 usb_hid_report_path_append_item(path, USB_HIDUT_PAGE_KEYBOARD, 0); 445 448 446 usb_hid_report_path_set_report_id (path, hid_dev->report_id); 449 uint8_t report_id; 450 int rc = usb_hid_parse_report(hid_dev->report, buffer, actual_size, 451 &report_id); 452 453 if (rc != EOK) { 454 usb_log_warning("Error in usb_hid_parse_report():" 455 "%s\n", str_error(rc)); 456 } 457 458 usb_hid_report_path_set_report_id (path, report_id); 447 459 448 460 // fill in the currently pressed keys … … 744 756 /*----------------------------------------------------------------------------*/ 745 757 746 bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, void *data) 747 { 748 if (hid_dev == NULL/* || buffer == NULL*/ || data == NULL) { 758 bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, void *data, 759 uint8_t *buffer, size_t buffer_size) 760 { 761 if (hid_dev == NULL || buffer == NULL || data == NULL) { 749 762 // do not continue polling (???) 750 763 return false; … … 755 768 756 769 // TODO: add return value from this function 757 usb_kbd_process_data(hid_dev, kbd_dev );770 usb_kbd_process_data(hid_dev, kbd_dev, buffer, buffer_size); 758 771 759 772 return true; … … 791 804 if ((*kbd_dev)->repeat_mtx != NULL) { 792 805 //assert(!fibril_mutex_is_locked((*kbd_dev)->repeat_mtx)); 793 // FIXME - the fibril_mutex_is_locked may not cause794 // fibril scheduling795 806 while (fibril_mutex_is_locked((*kbd_dev)->repeat_mtx)) {} 796 807 free((*kbd_dev)->repeat_mtx);
Note:
See TracChangeset
for help on using the changeset viewer.