Changeset 095b2017 in mainline for uspace/drv/usbkbd/kbddev.h
- Timestamp:
- 2011-03-25T17:13:02Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b8d453ec, fa3de85
- Parents:
- da88eb82 (diff), da3dafc (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 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbkbd/kbddev.h
rda88eb82 r095b2017 34 34 */ 35 35 36 #ifndef USB HID_KBDDEV_H_37 #define USB HID_KBDDEV_H_36 #ifndef USB_KBDDEV_H_ 37 #define USB_KBDDEV_H_ 38 38 39 39 #include <stdint.h> … … 45 45 #include <ddf/driver.h> 46 46 #include <usb/pipes.h> 47 #include <usb/devdrv.h> 47 48 48 #include " hiddev.h"49 #include "kbdrepeat.h" 49 50 50 51 /*----------------------------------------------------------------------------*/ 51 /**52 * Structure for keeping information needed for auto-repeat of keys.53 */54 typedef struct {55 /** Last pressed key. */56 unsigned int key_new;57 /** Key to be repeated. */58 unsigned int key_repeated;59 /** Delay before first repeat in microseconds. */60 unsigned int delay_before;61 /** Delay between repeats in microseconds. */62 unsigned int delay_between;63 } usbhid_kbd_repeat_t;64 65 52 /** 66 53 * USB/HID keyboard device type. … … 75 62 * being device-specific. 76 63 */ 77 typedef struct { 78 /** Structure holding generic USB/HID device information. */ 79 usbhid_dev_t *hid_dev; 64 typedef struct usb_kbd_t { 65 /** Structure holding generic USB device information. */ 66 //usbhid_dev_t *hid_dev; 67 usb_device_t *usb_dev; 80 68 81 69 /** Currently pressed keys (not translated to key codes). */ … … 96 84 97 85 /** Information for auto-repeat of keys. */ 98 usb hid_kbd_repeat_t repeat;86 usb_kbd_repeat_t repeat; 99 87 100 88 /** Mutex for accessing the information about auto-repeat. */ 101 89 fibril_mutex_t *repeat_mtx; 90 91 /** Report descriptor. */ 92 uint8_t *report_desc; 93 94 /** Report descriptor size. */ 95 size_t report_desc_size; 96 97 /** HID Report parser. */ 98 usb_hid_report_parser_t *parser; 102 99 103 100 /** State of the structure (for checking before use). … … 108 105 */ 109 106 int initialized; 110 } usb hid_kbd_t;107 } usb_kbd_t; 111 108 112 109 /*----------------------------------------------------------------------------*/ 113 110 114 int usbhid_kbd_try_add_device(ddf_dev_t *dev); 111 enum { 112 USB_KBD_POLL_EP_NO = 0, 113 USB_KBD_POLL_EP_COUNT = 1 114 }; 115 115 116 int usbhid_kbd_is_usable(const usbhid_kbd_t *kbd_dev);116 usb_endpoint_description_t *usb_kbd_endpoints[USB_KBD_POLL_EP_COUNT + 1]; 117 117 118 void usbhid_kbd_free(usbhid_kbd_t **kbd_dev);118 ddf_dev_ops_t keyboard_ops; 119 119 120 void usbhid_kbd_push_ev(usbhid_kbd_t *kbd_dev, int type, unsigned int key); 120 /*----------------------------------------------------------------------------*/ 121 121 122 #endif /* USBHID_KBDDEV_H_ */ 122 usb_kbd_t *usb_kbd_new(void); 123 124 int usb_kbd_init(usb_kbd_t *kbd_dev, usb_device_t *dev); 125 126 bool usb_kbd_polling_callback(usb_device_t *dev, uint8_t *buffer, 127 size_t buffer_size, void *arg); 128 129 void usb_kbd_polling_ended_callback(usb_device_t *dev, bool reason, 130 void *arg); 131 132 int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev); 133 134 int usb_kbd_is_ready_to_destroy(const usb_kbd_t *kbd_dev); 135 136 void usb_kbd_free(usb_kbd_t **kbd_dev); 137 138 void usb_kbd_push_ev(usb_kbd_t *kbd_dev, int type, unsigned int key); 139 140 #endif /* USB_KBDDEV_H_ */ 123 141 124 142 /**
Note:
See TracChangeset
for help on using the changeset viewer.