These files revise the ums mouse driver in FreeBSD 6.x. The current driver accomodates only mice which offer a single input report, with the exception of a few mice which have been "quirked" or special-cased. The revised driver will also recognize and attach mice which offer multiple input reports. Quirks are not needed for HID conforming mice, and existing quirks and specialized code branches have been removed from the code. The driver also includes several ioctl targets which allow user-level application code access to mouse data. MULTIPLE INPUT REPORTS may be included in the report descriptor of wireless USB keyboard/mouse "kits" which share a common receiver, of mice with "private" usages (apparently common in Microsoft mice), of USB keyboards with builtin mice, etc. The revised driver will pick out the report which contains position and button information for the mouse.. If you install this driver you will be able to use 'mouse-report' (also found here) to explore the question of why those other reports are present in the report descriptor. Code is also present in ums.c which allows data from "tilt" wheels to be transmitted to the X display driver if appropriate patches are applied to the Xorg mouse driver and OS-dependent layer of the Xorg server. This requires an extended "sysmouse" protocol to provide space for the additional information. Mouse driver patches may be made available separately, later. This protocol change would also require sysmouse/moused changes (and possibly psm driver changes if USB and PS2 mice were used simultaneously). This revised driver SHOULD handle all spec-conforming mice which properly identify themselves, but there is a huge opportunity for regressions, particularly since most quirks and special-case code has been deleted, on the (possibly ignorant) assumption that the new code will handle those cases. The driver has been tested on 5 mice (on FreeBSD 4.11 and 6.3). I will be more likely to make extravagant claims when that number reaches 50. The new driver has been tested on the following 5 mice [2 Logitech, 2 Microsoft, and 1 HP (BTC)]: ums0: Logitech N48, class 0/0, rev 1.00/4.01, addr 4, iclass 3/1 (Old, corded, roller ball) ums1: Microsoft Microsoft Wireless Optical Mouse® 1.00, class 0/0, rev 2.00/0.07, addr 2, iclass 3/1 (Microsoft Wireless Notebook Optical Mouse 3000, Model 1056) ums2: Microsoft Microsoft® 2.4GHz Transceiver V2.0, class 0/0, rev 2.00/2.50, addr 3, iclass 3/1 (Microsoft 2.4 Ghz wireless notebook mouse) ums3: BTC USB Multimedia Cordless Kit, rev 2.00/1.30, addr 2, iclass 3/1 (HP Model 5189URF) ums4: Logitech USB-PS/2 Optical Mouse, class 0/0, rev 2.00/27.20, addr 6, iclass 3/1 (Logitech Model M-BZ96C) So please test, and report successes or failures to the following address. Please include identifying information for the device ('mouse_report -sDIr -ri 0', if possible). ---------------------- duane.hesser@gmail.com