﻿0.3.11
- Fixed a bug in USB-to-ADB mode that caused devices to be ignored if their report descriptors were larger than 255 bytes. This affected
  many types of keyboards and mice with more complex functions, extra buttons, etc. Also fixed several other areas where USB communications
  could potentially misbehave or stall.

0.3.10
- Added more troubleshooting information about attached USB devices when in USB-to-ADB mode for the Control-Shift-Capslock-I help command.
  All the detected keyboard and mouse devices are listed, but only the devices at index 1 are used. If your device is listed here but
  is not at index 1, another device of the same type has taken priority and your device is being ignored. If your device is not
  listed here at all, its HID report descriptor probably couldn't be parsed by the Wombat's firmware.
  
0.3.9
- Added support for changing the Wombat's built-in mouse scaling for USB-to-ADB mode. When the mouse wheel button is pressed and held
  for more than 0.5 seconds, it switches between scale factors of 16/8/4/2/1. This is helpful for some USB mice where the default
  number of counts per inch is outside the range where the computer OS's mouse settings can compensate.
- Suppressed HID_ERR_BadLogicalMax while parsing the USB HID report descriptor. This enables some devices with errors in their 
  report descriptors to work, including the Razer Basilisk v2 mouse.

0.3.8
- Fixes a problem with the latching caps lock key in ADB-to-USB mode, if you half-press caps lock without engaging the latch.

0.3.7
- Fixes problems with ADB devices using a Logitech chipset

0.3.6
- Fixes issue with keyup events for the Power Key

0.3.5
- Added support for remapping the Power Key for ADB-to-USB mode
- Added an option to disable 'mouse wheel arrow keys' behavior for USB-to-ADB mode, using the key mapping tool
- Enabled separate keycodes for left/right side modifier keys for Apple Extended Keyboard II

0.3.4
- Restored the USB device descriptor tables from version 0.3.2
- Changed the device's USB PID, to avoid any possible OS confusion if a previously-seen VID:PID unexpectedly changes its USB descriptor.

0.3.3
- Fixed caps lock LED handling in ADB-to-USB mode. Resolves problem with AEK II on modern MacOS systems
- Reversed the positions of the keyboard and mouse in the USB device descriptor tables for ADB-to-USB mode
- Changed the device's USB PID, to avoid any possible OS confusion if a previously-seen VID:PID unexpectedly changes its USB descriptor.

0.3.2
- Fixed USB-to-ADB compatibility problems with Apple Magic Keyboard A1644, and other USB keyboards with a Report ID in their Report Data

0.3.1
- Reorganized the USB device descriptor tables and HID reports that are used by ADB-to-USB mode. This should make the Wombat more compatible with
  operating systems like MacOS 9 that didn't like the old method of combining mouse and keyboard HID data in a single interface/endpoint. This 
  required major code changes, so watch out for any possible new bugs.
- Changed the device's USB PID, to avoid any possible OS confusion if a previously-seen VID:PID unexpectedly changes its USB descriptor.

0.3.0
- Added support for custom keycode mapping tables. See keymap tool at https://www.bigmessowires.com/wombat-keymap.html

0.2.2
- Added factory test mode for manufacturing

0.2.1
- ADB-to-USB support for Kensington Turbo Mouse 4.0

0.2.0
- Changes to support multi-button mice, in both conversion directions
- USB mouse wheel movements send up/down arrow events to the host. Works well for open file dialogs and document scrolling.
- USB mouse right button can operate in one of two modes:
  1. Macintosh mode (default): right click sends control + left click event to the host. Works for context menus in Mac OS 8 and later.
  2. NeXT mode: right click sends a true right click event to the host.
  Toggle between Macintosh and NeXT modes by clicking the USB mouse wheel button (button 3).
- ADB mice and trackballs with more than one button can now use the extra buttons under Windows, OSX, or Linux. Tested with a 4-button
  Kensington Turbo Mouse 5 model 64210. Other multi-button ADB devices using extended Apple mouse protocol should work too. ADB devices using 
  proprietary protocols may not work.

0.1.16
- Rebranding: updated name references to "USB Wombat"

0.1.15
- The state of the right mouse button is now passed in the standard protocol for USB-to-ADB mode. Is this useful for anything? Maybe works on NeXT?
- Fixed a bug that prevented ADB keyboard caps lock from functioning with macOS Sierra
- Fixed initilization of the ADB keyboard LEDs

0.1.14
- Changed the keymap types to US-GENERIC (ANSI QWERTY), ISO-GENERIC (UK and other non-US QWERTY), ISO-FR (AZERTY), and ISO-DE (QWERTZ)
- New help command Control-Shift-Capslock-G shows the current keymap type
- Fixed the output from help commands to appear correctly when using a non-QWERTY keyboard
- Fixed the key 3rd-right from L on Apple-brand USB ISO keyboards (UK-QWERTY \| key, FR-AZERTY `£, DE-QWERTZ #')

When using an ISO keyboard (USB or ADB), Retro USB needs to be set to keymap type ISO. This will happen automatically at startup if an Apple-brand
ISO keyboard is detected (untested). If you have a non-Apple ISO keyboard, you'll need to switch to ISO mode manually with Ctrl-Shift-Capslock-T. 

Key mappings for some symbol keys may be incorrect when using a PC-type USB ISO keyboard. This is normal, and is due to layout differences between
Apple and PC-type USB ISO keyboards. For best results, use an Apple-brand ISO keyboard or any brand of US-ANSI keyboard.

The three variants of keymap type ISO are all equivalent for the purposes of normal keyboard usage (typing stuff), and only affect the way
output from help commands is displayed for non-QWERTY keyboards. For normal keyboard typing, *any* ISO keyboard will work in the ISO-GENERIC mode: 
Danish, Estonian, Spanish, Swiss-German, etc.    

0.1.12
- Adds support for Retro USB hardware version 1.1. Earlier firmware won't work with board revision 1.1.

0.1.11
- Fixed Ctrl-Shift-Capslock-I help command (displays keyboard/mouse ID) in USB-to-ADB mode

0.1.10
- Fixed a bug in ADB-to-USB mode that could cause missed keyboard events if the ADB mouse is moved while typing

0.1.9
- Fixed a bug that sometimes caused device initializations to fail when using multiple cascaded hubs (including keyboards with built-in hubs)
- Disabled debug logging that was accidentally left in 0.1.8

0.1.8
- Added support for ISO keyboards, commonly used outside the USA. This should fix the key mapping for the ^ or @ key (the key to the left of 1)
  and the <> key (the key to the right of the left shift). Mostly untested since I don't have any ISO keyboards.
- Keymap type can be cycled between ANSI, ISO, and JIS (currently non-functional) with the new help command Ctrl-Shift-Capslock-T
- The keymap type is automatically set to ISO at startup if an Apple-brand ISO keyboard is detected (untested). If you have a non-Apple ISO keyboard,
  you'll need to switch to ISO manually with Ctrl-Shift-Capslock-T.  
- Single-function USB devices are now prioritized over composite devices. Prevents a mouse with a keyboard macro feature from usurping the role of keyboard.
- New help command shows the USB vid:pid or ADB handler ID of the keyboard and mouse: Ctrl-Shift-Capslock-I
- Disabled HID report descriptor parser's error check for report items with count = 0. Some real USB devices do this, like the Logitech RX 250 mouse.
- Added 250ms delay at startup in ADB-to-USB mode, before attempting any external communication

If you have an ISO keyboard, and you've previously used Retro USB with firmware earlier than 0.1.8 on an OSX Mac, you'll 
need to delete the OSX keyboard preferences to make it "forget" Retro USB. Delete the file 
/Library/Preferences/com.apple.keyboardtype.plist, then restart. If you don't do this, your key mappings may be incorrect.
 
0.1.7
- Permanently enables USB composite device support
- Increases mouse speed by 20% in USB-to-ADB mode

0.1.6 experimental
- Enables experimental support for USB composite devices, such as many wireless keyboard/mouse combos. Don't use this unless you're sure you need it, there are likely bugs.
- Fixes a bug introduced in 0.1.3 that broke the text output from help commands

0.1.5
- LED A now illuminates when there’s a working ADB or USB connection to the host computer. LED B blinks when there’s keyboard or mouse activity.
- F13 now functions as an ADB power key in standby mode, just like PRINT SCREEN. Some USB keyboards don’t have a PRINT SCREEN key, some don’t have F13, so you can’t please everybody.
- Special ADB keycodes for the right-side shift, control, and alt keys are no longer sent unless the host computer specifically requests them. This fixes some weirdness with these keys on the Apple IIGS at the BASIC prompt.

0.1.3
- Recompiled to use updated bootloader

0.1.2
- first release