Changes in uspace/drv/usbhid/kbddev.h [2391aaf:a8def7d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbhid/kbddev.h
r2391aaf ra8def7d 39 39 #include <stdint.h> 40 40 41 #include <fibril_synch.h> 42 41 43 #include <usb/classes/hid.h> 44 #include <usb/classes/hidparser.h> 42 45 #include <ddf/driver.h> 43 46 #include <usb/pipes.h> … … 46 49 47 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; 48 64 49 65 /** 50 * @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. 51 76 */ 52 77 typedef struct { 78 /** Structure holding generic USB/HID device information. */ 53 79 usbhid_dev_t *hid_dev; 54 80 55 uint8_t *keycodes; 56 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). */ 57 86 uint8_t modifiers; 58 87 88 /** Currently active modifiers including locks. Sent to the console. */ 59 89 unsigned mods; 90 91 /** Currently active lock keys. */ 60 92 unsigned lock_keys; 61 93 94 /** IPC phone to the console device (for sending key events). */ 62 95 int console_phone; 63 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 103 /** State of the structure (for checking before use). */ 64 104 int initialized; 65 105 } usbhid_kbd_t; … … 69 109 int usbhid_kbd_try_add_device(ddf_dev_t *dev); 70 110 111 void usbhid_kbd_push_ev(usbhid_kbd_t *kbd_dev, int type, unsigned int key); 112 71 113 #endif /* USBHID_KBDDEV_H_ */ 72 114
Note:
See TracChangeset
for help on using the changeset viewer.