# # ChangeLog for uspace/drv/usbhid/kbd in mainline # # Generated by Trac 1.6 # 2026-07-28T15:12:41Z Sat, 07 May 2011 14:28:51 GMT Matej Klonfar [cc5908e] * .bzrignore (modified) * boot/Makefile.common (modified) * uspace/Makefile (modified) * uspace/app/lsusb/Makefile (moved) * uspace/app/lsusb/main.c (moved) * uspace/app/usbinfo/main.c (modified) * uspace/app/virtusbkbd/descriptor.h (deleted) * uspace/app/virtusbkbd/kbdconfig.c (deleted) * uspace/app/virtusbkbd/keys.c (deleted) * uspace/app/virtusbkbd/keys.h (deleted) * uspace/app/virtusbkbd/virtusbkbd.c (deleted) * uspace/app/vuhid/device.c (modified) * uspace/app/vuhid/hids/bootkbd.c (modified) * uspace/app/vuhid/items.h (moved) * uspace/app/vuhid/main.c (modified) * uspace/app/vuhid/report.h (moved) * uspace/app/vuhid/virthid.h (modified) * uspace/doc/doxygroups.h (modified) * uspace/drv/ehci-hcd/main.c (modified) * uspace/drv/ohci/hc.c (modified) * uspace/drv/ohci/hc.h (modified) * uspace/drv/ohci/main.c (modified) * uspace/drv/ohci/ohci.c (modified) * uspace/drv/ohci/pci.c (modified) * uspace/drv/ohci/root_hub.c (modified) * uspace/drv/ohci/root_hub.h (modified) * uspace/drv/uhci-hcd/uhci.c (modified) * uspace/drv/usbhid/generic/hiddev.c (modified) * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) * uspace/drv/usbhid/mouse/mousedev.h (modified) * uspace/drv/usbhid/subdrivers.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) * uspace/drv/usbhub/ports.c (modified) * uspace/drv/vhc/main.c (modified) * uspace/drv/vhc/transfer.c (modified) * uspace/lib/c/generic/devman.c (modified) * uspace/lib/c/include/devman.h (modified) * uspace/lib/c/include/ipc/devman.h (modified) * uspace/lib/usb/Makefile (modified) * uspace/lib/usb/include/usb/classes/hid_report_items.h (modified) * uspace/lib/usb/include/usb/classes/hidtypes.h (modified) * uspace/lib/usb/include/usb/host.h (moved) * uspace/lib/usb/include/usb/usb.h (modified) * uspace/lib/usb/src/hiddescriptor.c (modified) * uspace/lib/usb/src/hidparser.c (modified) * uspace/lib/usb/src/host.c (moved) * uspace/lib/usbvirt/Makefile (modified) * uspace/lib/usbvirt/include/usbvirt/device.h (modified) * uspace/lib/usbvirt/include/usbvirt/ipc.h (modified) * uspace/lib/usbvirt/src/ctrltransfer.c (modified) * uspace/lib/usbvirt/src/device.c (added) * uspace/lib/usbvirt/src/ipc.c (deleted) * uspace/lib/usbvirt/src/ipc_dev.c (added) * uspace/lib/usbvirt/src/ipc_hc.c (added) * uspace/lib/usbvirt/src/private.h (modified) * uspace/lib/usbvirt/src/stdreq.c (modified) * uspace/lib/usbvirt/src/transfer.c (modified) * uspace/srv/devman/main.c (modified) Development changes merged Sat, 07 May 2011 10:53:41 GMT Matej Klonfar [bd2394b] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/lib/usb/include/usb/classes/hidparser.h (modified) * uspace/lib/usb/src/hiddescriptor.c (modified) * uspace/lib/usb/src/hidparser.c (modified) Removed functions for returning size of report for usage path Sat, 07 May 2011 08:59:58 GMT Lubos Slovak [1b7dc5e9] * uspace/drv/usbhid/kbd/kbddev.c (modified) Fixed autorepeat of keys (#119) Fri, 06 May 2011 15:26:45 GMT Lubos Slovak [f8e549b] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) * uspace/drv/usbhid/mouse/mousedev.h (modified) * uspace/drv/usbhid/usbhid.c (modified) Mouse wheel acting as arrow keys. - Added some debug output. - ... Fri, 06 May 2011 08:30:10 GMT Lubos Slovak [310c4df] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) Fixes in USB HID driver. - Missing loop in mouse subdriver. - ... Tue, 03 May 2011 09:16:39 GMT Lubos Slovak [31cfee16] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.h (modified) * uspace/drv/usbhid/main.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) Creating DDF functions in subdrivers + saving input report. - ... Fri, 29 Apr 2011 09:29:47 GMT Lubos Slovak [323b0ec] * uspace/drv/usbhid/kbd/kbddev.c (modified) Fixed usb_kbd_free() and usb_kbd_deinit() Fri, 22 Apr 2011 10:10:40 GMT Matej Klonfar [7304663] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/lib/usb/src/hidparser.c (modified) Tiket #200 fixed Thu, 21 Apr 2011 21:14:11 GMT Lubos Slovak [1775ebc] * uspace/drv/usbhid/kbd/kbddev.c (modified) Some comment Thu, 21 Apr 2011 21:12:09 GMT Lubos Slovak [f240d30] * uspace/drv/uhci-hcd/hc.c (modified) * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) Fixes Thu, 21 Apr 2011 21:01:58 GMT Lubos Slovak [6513110] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) Fixes Thu, 21 Apr 2011 20:57:21 GMT Lubos Slovak [eb393ad] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/lib/usb/include/usb/classes/hidparser.h (modified) * uspace/lib/usb/src/hidparser.c (modified) Merged fixes from maklf Thu, 21 Apr 2011 20:24:14 GMT Matej Klonfar [cfbbe1d3] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/lib/usb/include/usb/classes/hidparser.h (modified) * uspace/lib/usb/src/hidparser.c (modified) new hid report structure bug fixes Thu, 21 Apr 2011 19:58:20 GMT Lubos Slovak [e60436b] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/kbd/kbddev.h (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) Properly ported HID driver and KBD subdriver to the new parser API. Thu, 21 Apr 2011 19:47:59 GMT Lubos Slovak [3bcac68] * uspace/drv/usbhid/kbd/conv.c (modified) Fixed missing backslash. The key is documented in USB HID Usage ... Thu, 21 Apr 2011 17:11:28 GMT Lubos Slovak [020559c9] * uspace/drv/usbhid/kbd/kbddev.c (modified) Small fix in debug output Thu, 21 Apr 2011 08:33:44 GMT Lubos Slovak [63517c2] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/drv/usbkbd/kbddev.h (modified) * uspace/lib/usb/include/usb/classes/hid.h (modified) * uspace/lib/usb/include/usb/classes/hidparser.h (modified) * uspace/lib/usb/include/usb/classes/hidreport.h (modified) * uspace/lib/usb/src/hidparser.c (modified) * uspace/lib/usb/src/hidreport.c (modified) Changes to HID parser (report structure) Mon, 18 Apr 2011 20:06:55 GMT Vojtech Horky [4125b7d] * uspace/drv/ehci-hcd/main.c (modified) * uspace/drv/ehci-hcd/pci.c (modified) * uspace/drv/ohci/batch.c (modified) * uspace/drv/ohci/endpoint_list.c (modified) * uspace/drv/ohci/hc.c (modified) * uspace/drv/ohci/iface.c (modified) * uspace/drv/ohci/ohci.c (modified) * uspace/drv/ohci/pci.c (modified) * uspace/drv/uhci-hcd/batch.c (modified) * uspace/drv/uhci-hcd/hc.c (modified) * uspace/drv/uhci-hcd/hw_struct/transfer_descriptor.c (modified) * uspace/drv/uhci-hcd/iface.c (modified) * uspace/drv/uhci-hcd/main.c (modified) * uspace/drv/uhci-hcd/pci.c (modified) * uspace/drv/uhci-hcd/transfer_list.c (modified) * uspace/drv/uhci-hcd/uhci.c (modified) * uspace/drv/uhci-rhd/main.c (modified) * uspace/drv/uhci-rhd/port.c (modified) * uspace/drv/usbflbk/main.c (modified) * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhub/ports.c (modified) * uspace/drv/usbhub/usbhub.c (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/drv/usbmouse/main.c (modified) * uspace/drv/vhc/conndev.c (modified) * uspace/lib/usb/include/usb/debug.h (modified) * uspace/lib/usb/src/devpoll.c (modified) * uspace/lib/usb/src/hidparser.c (modified) * uspace/lib/usb/src/hidreport.c (modified) usb_log_printf() checks for printf correctness It is surprising how ... Sun, 17 Apr 2011 19:17:55 GMT Matej Klonfar [e50cd7f] * .bzrignore (modified) * boot/arch/amd64/Makefile.inc (modified) * kernel/Makefile (modified) * kernel/arch/mips32/include/atomic.h (modified) * kernel/generic/include/ipc/ipc.h (modified) * kernel/generic/src/ipc/sysipc.c (modified) * kernel/generic/src/main/main.c (modified) * uspace/Makefile (modified) * uspace/app/bdsh/cmds/modules/cat/cat.c (modified) * uspace/app/trace/trace.c (modified) * uspace/app/usbinfo/dev.c (modified) * uspace/doc/doxygroups.h (modified) * uspace/drv/ehci-hcd/hc_iface.c (modified) * uspace/drv/isa/isa.c (modified) * uspace/drv/ohci/Makefile (modified) * uspace/drv/ohci/batch.c (modified) * uspace/drv/ohci/batch.h (modified) * uspace/drv/ohci/endpoint_list.c (added) * uspace/drv/ohci/endpoint_list.h (added) * uspace/drv/ohci/hc.c (modified) * uspace/drv/ohci/hc.h (modified) * uspace/drv/ohci/hcd_endpoint.c (added) * uspace/drv/ohci/hcd_endpoint.h (moved) * uspace/drv/ohci/hw_struct/completion_codes.h (modified) * uspace/drv/ohci/hw_struct/endpoint_descriptor.c (added) * uspace/drv/ohci/hw_struct/endpoint_descriptor.h (modified) * uspace/drv/ohci/hw_struct/hcca.h (modified) * uspace/drv/ohci/hw_struct/transfer_descriptor.c (added) * uspace/drv/ohci/hw_struct/transfer_descriptor.h (modified) * uspace/drv/ohci/iface.c (modified) * uspace/drv/ohci/ohci.ma (modified) * uspace/drv/ohci/ohci_regs.h (modified) * uspace/drv/ohci/root_hub.c (modified) * uspace/drv/ohci/root_hub.h (modified) * uspace/drv/ohci/utils/malloc32.h (modified) * uspace/drv/uhci-hcd/batch.c (modified) * uspace/drv/uhci-hcd/batch.h (modified) * uspace/drv/uhci-hcd/hc.c (modified) * uspace/drv/uhci-hcd/hc.h (modified) * uspace/drv/uhci-hcd/hw_struct/queue_head.h (modified) * uspace/drv/uhci-hcd/hw_struct/transfer_descriptor.c (modified) * uspace/drv/uhci-hcd/hw_struct/transfer_descriptor.h (modified) * uspace/drv/uhci-hcd/iface.c (modified) * uspace/drv/uhci-hcd/main.c (modified) * uspace/drv/uhci-hcd/pci.c (modified) * uspace/drv/uhci-hcd/root_hub.c (modified) * uspace/drv/uhci-hcd/root_hub.h (modified) * uspace/drv/uhci-hcd/transfer_list.c (modified) * uspace/drv/uhci-hcd/transfer_list.h (modified) * uspace/drv/uhci-hcd/uhci.c (modified) * uspace/drv/uhci-hcd/uhci.h (modified) * uspace/drv/uhci-rhd/port.c (modified) * uspace/drv/uhci-rhd/port.h (modified) * uspace/drv/uhci-rhd/root_hub.c (modified) * uspace/drv/uhci-rhd/root_hub.h (modified) * uspace/drv/usbhid/Makefile (added) * uspace/drv/usbhid/generic/hiddev.c (added) * uspace/drv/usbhid/generic/hiddev.h (moved) * uspace/drv/usbhid/kbd.h (added) * uspace/drv/usbhid/kbd/conv.c (added) * uspace/drv/usbhid/kbd/conv.h (added) * uspace/drv/usbhid/kbd/kbddev.c (added) * uspace/drv/usbhid/kbd/kbddev.h (added) * uspace/drv/usbhid/kbd/kbdrepeat.c (added) * uspace/drv/usbhid/kbd/kbdrepeat.h (added) * uspace/drv/usbhid/kbd/layout.h (added) * uspace/drv/usbhid/kbd/main.c (added) * uspace/drv/usbhid/layout.h (added) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.c (added) * uspace/drv/usbhid/lgtch-ultrax/lgtch-ultrax.h (added) * uspace/drv/usbhid/main.c (added) * uspace/drv/usbhid/mouse/mousedev.c (added) * uspace/drv/usbhid/mouse/mousedev.h (added) * uspace/drv/usbhid/subdrivers.c (added) * uspace/drv/usbhid/subdrivers.h (added) * uspace/drv/usbhid/usbhid.c (added) * uspace/drv/usbhid/usbhid.h (added) * uspace/drv/usbhid/usbhid.ma (added) * uspace/drv/usbhub/Makefile (modified) * uspace/drv/usbhub/port_status.h (modified) * uspace/drv/usbhub/ports.c (modified) * uspace/drv/usbhub/ports.h (modified) * uspace/drv/usbhub/usbhub.c (modified) * uspace/drv/usbhub/usbhub.h (modified) * uspace/drv/usbhub/usbhub_private.h (modified) * uspace/drv/usbhub/utils.c (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/drv/usbkbd/main.c (modified) * uspace/drv/usbkbd/usbkbd.ma (modified) * uspace/drv/usbmast/Makefile (added) * uspace/drv/usbmast/cmds.h (added) * uspace/drv/usbmast/main.c (added) * uspace/drv/usbmast/mast.c (added) * uspace/drv/usbmast/mast.h (added) * uspace/drv/usbmast/scsi.h (added) * uspace/drv/usbmast/usbmast.ma (added) * uspace/drv/usbmid/main.c (modified) * uspace/drv/usbmouse/main.c (modified) * uspace/drv/vhc/connhost.c (modified) * uspace/lib/c/arch/mips32/include/atomic.h (modified) * uspace/lib/c/generic/adt/measured_strings.c (modified) * uspace/lib/c/generic/async.c (modified) * uspace/lib/c/generic/vfs/vfs.c (modified) * uspace/lib/c/include/async.h (modified) * uspace/lib/c/include/ipc/dev_iface.h (modified) * uspace/lib/drv/generic/dev_iface.c (modified) * uspace/lib/drv/generic/driver.c (modified) * uspace/lib/drv/generic/remote_usbhc.c (modified) * uspace/lib/drv/generic/remote_usbhid.c (added) * uspace/lib/drv/include/remote_usbhid.h (added) * uspace/lib/drv/include/usbhc_iface.h (modified) * uspace/lib/drv/include/usbhid_iface.h (added) * uspace/lib/net/generic/generic.c (modified) * uspace/lib/net/generic/net_checksum.c (modified) * uspace/lib/net/generic/packet_client.c (modified) * uspace/lib/net/il/ip_client.c (modified) * uspace/lib/net/tl/icmp_client.c (modified) * uspace/lib/net/tl/socket_core.c (modified) * uspace/lib/net/tl/tl_common.c (modified) * uspace/lib/packet/generic/packet_server.c (modified) * uspace/lib/softint/generic/multiplication.c (modified) * uspace/lib/usb/Makefile (modified) * uspace/lib/usb/include/usb/classes/hid/iface.h (added) * uspace/lib/usb/include/usb/classes/hidparser.h (modified) * uspace/lib/usb/include/usb/classes/hub.h (modified) * uspace/lib/usb/include/usb/classes/massstor.h (added) * uspace/lib/usb/include/usb/devdrv.h (modified) * uspace/lib/usb/include/usb/devpoll.h (added) * uspace/lib/usb/include/usb/host/batch.h (modified) * uspace/lib/usb/include/usb/host/device_keeper.h (modified) * uspace/lib/usb/include/usb/host/endpoint.h (modified) * uspace/lib/usb/include/usb/host/usb_endpoint_manager.h (modified) * uspace/lib/usb/include/usb/hub.h (modified) * uspace/lib/usb/include/usb/pipes.h (modified) * uspace/lib/usb/include/usb/request.h (modified) * uspace/lib/usb/include/usb/usb.h (modified) * uspace/lib/usb/src/altiface.c (added) * uspace/lib/usb/src/devdrv.c (modified) * uspace/lib/usb/src/devpoll.c (modified) * uspace/lib/usb/src/hidiface.c (added) * uspace/lib/usb/src/hidparser.c (modified) * uspace/lib/usb/src/hidreport.c (modified) * uspace/lib/usb/src/hidreq.c (modified) * uspace/lib/usb/src/host/batch.c (modified) * uspace/lib/usb/src/host/device_keeper.c (modified) * uspace/lib/usb/src/host/endpoint.c (modified) * uspace/lib/usb/src/host/usb_endpoint_manager.c (modified) * uspace/lib/usb/src/hub.c (modified) * uspace/lib/usb/src/pipepriv.c (added) * uspace/lib/usb/src/pipepriv.h (added) * uspace/lib/usb/src/pipes.c (modified) * uspace/lib/usb/src/pipesinit.c (modified) * uspace/lib/usb/src/pipesio.c (modified) * uspace/lib/usb/src/recognise.c (modified) * uspace/lib/usb/src/request.c (modified) * uspace/srv/bd/ata_bd/ata_bd.c (modified) * uspace/srv/bd/ata_bd/ata_hw.h (modified) * uspace/srv/devman/devman.c (modified) * uspace/srv/devman/devman.h (modified) * uspace/srv/devman/main.c (modified) * uspace/srv/fs/fat/fat_ops.c (modified) * uspace/srv/net/il/ip/ip.c (modified) * uspace/srv/net/nil/eth/eth.c (modified) * uspace/srv/net/tl/tcp/tcp.c (modified) * uspace/srv/net/tl/tcp/tcp.h (modified) * uspace/srv/net/tl/udp/udp.c (modified) * uspace/srv/vfs/vfs_file.c (modified) new report structure fixes Tue, 12 Apr 2011 18:57:45 GMT Lubos Slovak [a6610d4] * uspace/drv/usbhid/kbd/kbddev.c (modified) Keyboard callback made static, removed unused report ID Sun, 10 Apr 2011 15:35:28 GMT Lubos Slovak [ba358ed] * uspace/drv/usbhid/generic/hiddev.h (modified) * uspace/drv/usbhid/kbd/conv.h (modified) * uspace/drv/usbhid/kbd/kbddev.h (modified) * uspace/drv/usbhid/kbd/kbdrepeat.h (modified) * uspace/drv/usbhid/layout.h (modified) * uspace/drv/usbhid/mouse/mousedev.h (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) Minor changes - ifdef guards renamed Sun, 10 Apr 2011 15:17:22 GMT Lubos Slovak [60c0573] * uspace/drv/usbhid/generic/hiddev.c (modified) * uspace/drv/usbhid/generic/hiddev.h (modified) * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/kbd/kbddev.h (modified) * uspace/drv/usbhid/main.c (modified) * uspace/drv/usbhid/mouse/mousedev.c (modified) * uspace/drv/usbhid/mouse/mousedev.h (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) Preparation for HID subdrivers. - Preparation for registering ... Fri, 08 Apr 2011 09:15:02 GMT Lubos Slovak [74a1ba9] * uspace/drv/usbhid/generic/hiddev.h (modified) * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/kbd/kbddev.h (modified) Removed unused code, fixed some typos Fri, 08 Apr 2011 07:47:06 GMT Lubos Slovak [73ae3373] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/kbd/kbddev.h (modified) Fixed default connection handler + typo Thu, 07 Apr 2011 21:48:37 GMT Lubos Slovak [7f2e33a] * uspace/drv/usbhid/kbd/kbddev.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.ma (modified) * uspace/drv/usbkbd/kbddev.c (modified) * uspace/drv/usbkbd/usbkbd.ma (modified) * uspace/lib/usb/src/devpoll.c (modified) Fixed requested Report ID, some debugging stuff. Thu, 07 Apr 2011 20:19:24 GMT Lubos Slovak [61257f4] * uspace/drv/usbhid/Makefile (modified) * uspace/drv/usbhid/generic/hidd.c (added) * uspace/drv/usbhid/generic/hidd.h (added) * uspace/drv/usbhid/kbd.h (added) * uspace/drv/usbhid/kbd/conv.c (added) * uspace/drv/usbhid/kbd/conv.h (added) * uspace/drv/usbhid/kbd/kbddev.c (added) * uspace/drv/usbhid/kbd/kbddev.h (added) * uspace/drv/usbhid/kbd/kbdrepeat.c (added) * uspace/drv/usbhid/kbd/kbdrepeat.h (added) * uspace/drv/usbhid/kbd/layout.h (added) * uspace/drv/usbhid/kbd/main.c (added) * uspace/drv/usbhid/layout.h (added) * uspace/drv/usbhid/main.c (modified) * uspace/drv/usbhid/usbhid.c (modified) * uspace/drv/usbhid/usbhid.h (modified) * uspace/drv/usbhid/usbhid.ma (modified) Initial implementation of general HID driver. - Should handle: - ...