Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbhid/kbd/kbddev.h

    r378bf85 r9d58539  
    4545#include <usb/dev/pipes.h>
    4646#include <usb/dev/driver.h>
    47 #include "../usbhid.h"
     47
    4848#include "kbdrepeat.h"
    4949
     50struct usb_hid_dev;
     51
     52/*----------------------------------------------------------------------------*/
    5053/**
    5154 * USB/HID keyboard device type.
     
    6265typedef struct usb_kbd_t {
    6366        /** Link to HID device structure */
    64         usb_hid_dev_t *hid_dev;
    65        
     67        struct usb_hid_dev *hid_dev;
     68
    6669        /** Previously pressed keys (not translated to key codes). */
    6770        int32_t *keys_old;
     
    7275        /** Currently pressed modifiers (bitmap). */
    7376        uint8_t modifiers;
    74        
     77
    7578        /** Currently active modifiers including locks. Sent to the console. */
    76         unsigned int mods;
    77        
     79        unsigned mods;
     80
    7881        /** Currently active lock keys. */
    79         unsigned int lock_keys;
    80        
    81         /** IPC session to client (for sending key events). */
    82         async_sess_t *client_sess;
    83        
     82        unsigned lock_keys;
     83
     84        /** IPC session to the console device (for sending key events). */
     85        async_sess_t *console_sess;
     86
     87        /** @todo What is this actually? */
     88        ddf_dev_ops_t ops;
     89
    8490        /** Information for auto-repeat of keys. */
    8591        usb_kbd_repeat_t repeat;
    86        
     92
    8793        /** Mutex for accessing the information about auto-repeat. */
    8894        fibril_mutex_t repeat_mtx;
    89        
     95
    9096        uint8_t *output_buffer;
    91        
     97
    9298        size_t output_size;
    93        
     99
    94100        size_t led_output_size;
    95        
     101
    96102        usb_hid_report_path_t *led_path;
    97        
     103
    98104        int32_t *led_data;
    99        
     105
    100106        /** State of the structure (for checking before use).
    101          *
     107         * 
    102108         * 0 - not initialized
    103109         * 1 - initialized
     
    105111         */
    106112        int initialized;
    107        
     113
    108114        /** DDF function */
    109115        ddf_fun_t *fun;
    110116} usb_kbd_t;
    111117
     118/*----------------------------------------------------------------------------*/
     119
    112120extern const usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description;
    113121
    114 extern const char *HID_KBD_FUN_NAME;
    115 extern const char *HID_KBD_CATEGORY;
     122const char *HID_KBD_FUN_NAME;
     123const char *HID_KBD_CLASS_NAME;
    116124
    117 extern int usb_kbd_init(usb_hid_dev_t *, void **);
    118 extern bool usb_kbd_polling_callback(usb_hid_dev_t *, void *);
    119 extern int usb_kbd_is_initialized(const usb_kbd_t *);
    120 extern int usb_kbd_is_ready_to_destroy(const usb_kbd_t *);
    121 extern void usb_kbd_destroy(usb_kbd_t *);
    122 extern void usb_kbd_push_ev(usb_kbd_t *, int, unsigned int);
    123 extern void usb_kbd_deinit(usb_hid_dev_t *, void *);
    124 extern int usb_kbd_set_boot_protocol(usb_hid_dev_t *);
     125/*----------------------------------------------------------------------------*/
     126
     127int usb_kbd_init(struct usb_hid_dev *hid_dev, void **data);
     128
     129bool usb_kbd_polling_callback(struct usb_hid_dev *hid_dev, void *data);
     130
     131int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev);
     132
     133int usb_kbd_is_ready_to_destroy(const usb_kbd_t *kbd_dev);
     134
     135void usb_kbd_destroy(usb_kbd_t *kbd_dev);
     136
     137void usb_kbd_push_ev(usb_kbd_t *kbd_dev,
     138    int type, unsigned int key);
     139
     140void usb_kbd_deinit(struct usb_hid_dev *hid_dev, void *data);
     141
     142int usb_kbd_set_boot_protocol(struct usb_hid_dev *hid_dev);
    125143
    126144#endif /* USB_HID_KBDDEV_H_ */
Note: See TracChangeset for help on using the changeset viewer.