Changeset e69f10b in mainline for uspace/drv/usbhid/kbddev.h
- Timestamp:
- 2011-03-10T19:07:11Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a8def7d
- Parents:
- 7351dc3 (diff), 45dd8bf (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.h
r7351dc3 re69f10b 39 39 #include <stdint.h> 40 40 41 #include <fibril_synch.h> 42 41 43 #include <usb/classes/hid.h> 42 44 #include <usb/classes/hidparser.h> … … 47 49 48 50 /*----------------------------------------------------------------------------*/ 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; 49 64 50 65 /** 51 * @brief USB/HID keyboard device type. 66 * USB/HID keyboard device type. 67 * 68 * Holds a reference to generic USB/HID device structure and keyboard-specific 69 * data, such as currently pressed keys, modifiers and lock keys. 70 * 71 * Also holds a IPC phone to the console (since there is now no other way to 72 * communicate with it). 73 * 74 * @note Storing active lock keys in this structure results in their setting 75 * being device-specific. 52 76 */ 53 77 typedef struct { 78 /** Structure holding generic USB/HID device information. */ 54 79 usbhid_dev_t *hid_dev; 55 80 56 uint8_t *keycodes; 57 size_t keycode_count; 81 /** Currently pressed keys (not translated to key codes). */ 82 uint8_t *keys; 83 /** Count of stored keys (i.e. number of keys in the report). */ 84 size_t key_count; 85 /** Currently pressed modifiers (bitmap). */ 58 86 uint8_t modifiers; 59 87 88 /** Currently active modifiers including locks. Sent to the console. */ 60 89 unsigned mods; 90 91 /** Currently active lock keys. */ 61 92 unsigned lock_keys; 62 93 94 /** IPC phone to the console device (for sending key events). */ 63 95 int console_phone; 64 96 97 /** Information for auto-repeat of keys. */ 98 usbhid_kbd_repeat_t repeat; 99 100 /** Mutex for accessing the information about auto-repeat. */ 101 fibril_mutex_t *repeat_mtx; 102 65 103 usb_hid_report_parser_t *parser; 66 104 105 /** State of the structure (for checking before use). */ 67 106 int initialized; 68 107 } usbhid_kbd_t; … … 72 111 int usbhid_kbd_try_add_device(ddf_dev_t *dev); 73 112 113 void usbhid_kbd_push_ev(usbhid_kbd_t *kbd_dev, int type, unsigned int key); 114 74 115 #endif /* USBHID_KBDDEV_H_ */ 75 116
Note:
See TracChangeset
for help on using the changeset viewer.