Changeset 8a20380 in mainline for uspace/drv/usbhid/kbddev.c
- Timestamp:
- 2011-03-06T18:55:51Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4ed80ce8, d4beec3
- Parents:
- a60150a (diff), 24d5432 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/kbddev.c
ra60150a r8a20380 63 63 static const size_t BOOTP_BUFFER_SIZE = 8; 64 64 static const size_t BOOTP_BUFFER_OUT_SIZE = 1; 65 static const uint8_t BOOTP_ERROR_ROLLOVER = 1; 65 66 static const uint8_t IDLE_RATE = 0; 66 67 … … 181 182 usb_debug_str_buffer(buffer, BOOTP_BUFFER_OUT_SIZE, 0)); 182 183 183 uint16_t value = 0;184 value |= (USB_HID_REPORT_TYPE_OUTPUT << 8);185 186 184 assert(kbd_dev->hid_dev != NULL); 187 185 assert(kbd_dev->hid_dev->initialized); 188 usbhid_req_set_report(kbd_dev->hid_dev, value, buffer,189 BOOTP_BUFFER_OUT_SIZE);186 usbhid_req_set_report(kbd_dev->hid_dev, USB_HID_REPORT_TYPE_OUTPUT, 187 buffer, BOOTP_BUFFER_OUT_SIZE); 190 188 } 191 189 … … 322 320 const uint8_t *key_codes) 323 321 { 324 // TODO: phantom state!!325 326 322 unsigned int key; 327 323 unsigned int i, j; 324 325 /* 326 * First of all, check if the kbd have reported phantom state. 327 */ 328 i = 0; 329 // all fields should report Error Rollover 330 while (i < kbd_dev->keycode_count && 331 key_codes[i] == BOOTP_ERROR_ROLLOVER) { 332 ++i; 333 } 334 if (i == kbd_dev->keycode_count) { 335 usb_log_debug("Phantom state occured.\n"); 336 // phantom state, do nothing 337 return; 338 } 328 339 329 340 // TODO: quite dummy right now, think of better implementation … … 344 355 key = usbhid_parse_scancode(kbd_dev->keycodes[j]); 345 356 usbhid_kbd_push_ev(kbd_dev, KEY_RELEASE, key); 346 usb_log_debug2(" \nKey released: %d\n", key);357 usb_log_debug2("Key released: %d\n", key); 347 358 } else { 348 359 // found, nothing happens … … 364 375 // not found, i.e. new key pressed 365 376 key = usbhid_parse_scancode(key_codes[i]); 366 usb_log_debug2(" \nKey pressed: %d (keycode: %d)\n", key,377 usb_log_debug2("Key pressed: %d (keycode: %d)\n", key, 367 378 key_codes[i]); 368 379 usbhid_kbd_push_ev(kbd_dev, KEY_PRESS, key); … … 375 386 // if (key_codes[i] != 0) { 376 387 // key = usbhid_parse_scancode(key_codes[i]); 377 // usb_log_debug2(" \nKey pressed: %d (keycode: %d)\n", key,388 // usb_log_debug2("Key pressed: %d (keycode: %d)\n", key, 378 389 // key_codes[i]); 379 390 // usbhid_kbd_push_ev(kbd_dev, KEY_PRESS, key);
Note:
See TracChangeset
for help on using the changeset viewer.