Changes in / [00db345a:474d08e] in mainline
- Location:
- uspace/drv
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified uspace/drv/uhci-hcd/main.c ¶
r00db345a r474d08e 158 158 { 159 159 sleep(3); 160 usb_log_enable(USB_LOG_LEVEL_ INFO, NAME);160 usb_log_enable(USB_LOG_LEVEL_DEBUG, NAME); 161 161 162 162 return ddf_driver_main(&uhci_driver); -
TabularUnified uspace/drv/usbhid/hidreq.c ¶
r00db345a r474d08e 143 143 /*----------------------------------------------------------------------------*/ 144 144 145 int usbhid_req_set_idle(usbhid_dev_t *hid_dev, uint8_t duration)146 {147 if (hid_dev == NULL) {148 usb_log_error("usbhid_req_set_idle(): no HID device "149 "structure given.\n");150 return EINVAL;151 }152 153 /*154 * No need for checking other parameters, as they are checked in155 * the called function (usb_control_request_set()).156 */157 158 int rc, sess_rc;159 160 sess_rc = usb_endpoint_pipe_start_session(&hid_dev->ctrl_pipe);161 if (sess_rc != EOK) {162 usb_log_warning("Failed to start a session: %s.\n",163 str_error(sess_rc));164 return sess_rc;165 }166 167 usb_log_debug("Sending Set_Idle request to the device ("168 "duration: %u, iface: %d).\n", duration, hid_dev->iface);169 170 uint16_t value = duration << 8;171 172 rc = usb_control_request_set(&hid_dev->ctrl_pipe,173 USB_REQUEST_TYPE_CLASS, USB_REQUEST_RECIPIENT_INTERFACE,174 USB_HIDREQ_SET_IDLE, value, hid_dev->iface, NULL, 0);175 176 sess_rc = usb_endpoint_pipe_end_session(&hid_dev->ctrl_pipe);177 178 if (rc != EOK) {179 usb_log_warning("Error sending output report to the keyboard: "180 "%s.\n", str_error(rc));181 return rc;182 }183 184 if (sess_rc != EOK) {185 usb_log_warning("Error closing session: %s.\n",186 str_error(sess_rc));187 return sess_rc;188 }189 190 return EOK;191 }192 193 /*----------------------------------------------------------------------------*/194 195 145 /** 196 146 * @} -
TabularUnified uspace/drv/usbhid/hidreq.h ¶
r00db345a r474d08e 50 50 int usbhid_req_set_protocol(usbhid_dev_t *hid_dev, usb_hid_protocol_t protocol); 51 51 52 int usbhid_req_set_idle(usbhid_dev_t *hid_dev, uint8_t duration);53 54 52 /*----------------------------------------------------------------------------*/ 55 53 -
TabularUnified uspace/drv/usbhid/kbddev.c ¶
r00db345a r474d08e 38 38 #include <str_error.h> 39 39 #include <fibril.h> 40 #include <stdio.h>41 40 42 41 #include <io/keycode.h> … … 63 62 static const size_t BOOTP_BUFFER_SIZE = 8; 64 63 static const size_t BOOTP_BUFFER_OUT_SIZE = 1; 65 static const uint8_t IDLE_RATE = 125;66 64 67 65 /** Keyboard polling endpoint description for boot protocol class. */ … … 230 228 231 229 if (mod_mask != 0) { 230 usb_log_debug2("\n\nChanging mods and lock keys\n"); 231 usb_log_debug2("\nmods before: 0x%x\n", kbd_dev->mods); 232 usb_log_debug2("\nLock keys before:0x%x\n\n", 233 kbd_dev->lock_keys); 234 232 235 if (type == KEY_PRESS) { 236 usb_log_debug2("\nKey pressed.\n"); 233 237 /* 234 238 * Only change lock state on transition from released … … 243 247 usbhid_kbd_set_led(kbd_dev); 244 248 } else { 249 usb_log_debug2("\nKey released.\n"); 245 250 kbd_dev->lock_keys = kbd_dev->lock_keys & ~mod_mask; 246 251 } 247 252 } 248 253 254 usb_log_debug2("\n\nmods after: 0x%x\n", kbd_dev->mods); 255 usb_log_debug2("\nLock keys after: 0x%x\n\n", kbd_dev->lock_keys); 256 249 257 if (key == KC_CAPS_LOCK || key == KC_NUM_LOCK || key == KC_SCROLL_LOCK) { 250 258 // do not send anything to the console, this is our business … … 273 281 ev.key = key; 274 282 ev.mods = kbd_dev->mods; 283 284 if (ev.mods & KM_NUM_LOCK) { 285 usb_log_debug("\n\nNum Lock turned on.\n\n"); 286 } 275 287 276 288 ev.c = layout[active_layout]->parse_ev(&ev); … … 377 389 } 378 390 } 379 // // report all currently pressed keys380 // for (i = 0; i < kbd_dev->keycode_count; ++i) {381 // if (key_codes[i] != 0) {382 // key = usbhid_parse_scancode(key_codes[i]);383 // usb_log_debug2("\nKey pressed: %d (keycode: %d)\n", key,384 // key_codes[i]);385 // usbhid_kbd_push_ev(kbd_dev, KEY_PRESS, key);386 // }387 // }388 391 389 392 memcpy(kbd_dev->keycodes, key_codes, kbd_dev->keycode_count); 390 393 391 char *kc = (char *)malloc(kbd_dev->keycode_count * 4 + 1);394 usb_log_debug2("\nNew stored keycodes: "); 392 395 for (i = 0; i < kbd_dev->keycode_count; ++i) { 393 snprintf(kc + (i * 4), 5, "%4d", key_codes[i]); 394 } 395 usb_log_debug("New stored keycodes: %s\n", kc); 396 usb_log_debug2("%d ", kbd_dev->keycodes[i]); 397 } 396 398 } 397 399 … … 408 410 return; 409 411 } 412 413 usb_log_debug2("Got keys from parser: "); 414 unsigned i; 415 for (i = 0; i < count; ++i) { 416 usb_log_debug2("%d ", key_codes[i]); 417 } 418 usb_log_debug2("\n"); 410 419 411 420 usbhid_kbd_t *kbd_dev = (usbhid_kbd_t *)arg; 412 421 assert(kbd_dev != NULL); 413 414 unsigned i;415 char *kc = (char *)malloc(kbd_dev->keycode_count * 4 + 1);416 for (i = 0; i < kbd_dev->keycode_count; ++i) {417 snprintf(kc + (i * 4), 5, "%4d", key_codes[i]);418 }419 usb_log_debug("Got keys from parser: %s\n", kc);420 422 421 423 if (count != kbd_dev->keycode_count) { … … 444 446 //usb_hid_parse_report(kbd_dev->parser, buffer, actual_size, callbacks, 445 447 // NULL); 446 /* //usb_log_debug2("Calling usb_hid_boot_keyboard_input_report() with size"448 /*usb_log_debug2("Calling usb_hid_boot_keyboard_input_report() with size" 447 449 " %zu\n", actual_size);*/ 448 450 //dump_buffer("bufffer: ", buffer, actual_size); … … 557 559 * Set boot protocol. 558 560 * Set LEDs according to initial setup. 559 * Set Idle rate560 561 */ 561 562 assert(kbd_dev->hid_dev != NULL); … … 564 565 565 566 usbhid_kbd_set_led(kbd_dev); 566 567 usbhid_req_set_idle(kbd_dev->hid_dev, IDLE_RATE);568 567 569 568 kbd_dev->initialized = 1; -
TabularUnified uspace/drv/usbhid/main.c ¶
r00db345a r474d08e 80 80 int main(int argc, char *argv[]) 81 81 { 82 usb_log_enable(USB_LOG_LEVEL_ DEBUG, NAME);82 usb_log_enable(USB_LOG_LEVEL_INFO, NAME); 83 83 return ddf_driver_main(&kbd_driver); 84 84 }
Note:
See TracChangeset
for help on using the changeset viewer.