Changeset 60c0573 in mainline for uspace/drv/usbhid/kbd


Ignore:
Timestamp:
2011-04-10T15:17:22Z (15 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ba358ed
Parents:
dc4c19e
Message:

Preparation for HID subdrivers.

  • Preparation for registering subdriver callbacks based on some device identifiers.
  • HID driver now uses one general callback which calls all the registered subdriver callbacks.
  • Other callbacks for init, deinit and polling ended.
  • Setting boot keyboard and mouse callbacks separately (special cases).

TODO maybe also functions and function classes may be per-subdriver

(so a hybrid keyboard/pointing device may register itself as

both keyboard and mouse).

TODO the current keyboard and mouse subdrivers should fall back to the

booot protocol by default.

Location:
uspace/drv/usbhid/kbd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhid/kbd/kbddev.c

    rdc4c19e r60c0573  
    856856/*----------------------------------------------------------------------------*/
    857857
    858 bool usb_kbd_polling_callback(usb_device_t *dev, uint8_t *buffer,
    859      size_t buffer_size, void *arg)
    860 {
    861         if (dev == NULL || buffer == NULL || arg == NULL) {
     858bool usb_kbd_polling_callback(usb_hid_dev_t *hid_dev, uint8_t *buffer,
     859     size_t buffer_size)
     860{
     861        if (hid_dev == NULL || buffer == NULL) {
    862862                // do not continue polling (???)
    863863                return false;
    864864        }
    865        
    866         usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)arg;
    867865       
    868866        // TODO: add return value from this function
     
    916914/*----------------------------------------------------------------------------*/
    917915
    918 void usb_kbd_deinit(struct usb_hid_dev_t *hid_dev)
     916void usb_kbd_deinit(usb_hid_dev_t *hid_dev)
    919917{
    920918        if (hid_dev == NULL) {
  • uspace/drv/usbhid/kbd/kbddev.h

    rdc4c19e r60c0573  
    4949#include "kbdrepeat.h"
    5050
    51 struct usb_hid_dev_t;
     51struct usb_hid_dev;
    5252
    5353/*----------------------------------------------------------------------------*/
     
    115115/*----------------------------------------------------------------------------*/
    116116
    117 int usb_kbd_init(struct usb_hid_dev_t *hid_dev);
     117int usb_kbd_init(struct usb_hid_dev *hid_dev);
    118118
    119 bool usb_kbd_polling_callback(usb_device_t *dev, uint8_t *buffer,
    120      size_t buffer_size, void *arg);
     119bool usb_kbd_polling_callback(struct usb_hid_dev *hid_dev, uint8_t *buffer,
     120    size_t buffer_size);
    121121
    122122int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev);
     
    126126void usb_kbd_free(usb_kbd_t **kbd_dev);
    127127
    128 void usb_kbd_push_ev(struct usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev,
     128void usb_kbd_push_ev(struct usb_hid_dev *hid_dev, usb_kbd_t *kbd_dev,
    129129    int type, unsigned int key);
    130130
    131 void usb_kbd_deinit(struct usb_hid_dev_t *hid_dev);
     131void usb_kbd_deinit(struct usb_hid_dev *hid_dev);
    132132
    133 int usb_kbd_set_boot_protocol(struct usb_hid_dev_t *hid_dev);
     133int usb_kbd_set_boot_protocol(struct usb_hid_dev *hid_dev);
    134134
    135135#endif /* USB_KBDDEV_H_ */
Note: See TracChangeset for help on using the changeset viewer.