v0.0.8 (31/08/2000) : - It seems that the problem of the missing digit in UPC-E codes is a problem from the CueCat itself. So to compensate, the driver now reconstructs that last digit (the check digit) from the rest of the barcode and appends it to the barcode, so that the final result looks like it comes from a working CueCat. - Changed the sample cueact configuration file to use deBarcode instead of the Universal Directory of Commercial Items because deBarcode knows about all kinds of UPC codes where the UDCI seems to know only UPC-A codes. v0.0.7 (31/08/2000) : - Added a SUPPORTED_BARCODE that lists all that is known about what a CueCat can scan and how it does it. - Reduced the size of the maximum number of scancodes that the CueCat can send, now that we have determined the limits of what it can scan. - Corrected the driver, following Ben Winslow's changes, to make sure the timeout thread is setup properly - Added an option in the configuration to enable the driver by default, for people who don't want to enable /proc filesystem support, or don't want to write a small script to enable the driver, for whatever reason. v0.0.6 (31/08/2000) : - Corrected a serious bug where codes with an incomplete trailing triplet would get their last digit(s) corrupted because of a wrong padding for the missing triplet characters. v0.0.5 (30/08/2000) : - Added the new CueAct utility. CueAct is distributed as part of the CueCat driver software. It is in version 0.0.1. - Now the kernel driver doesn't allow more than one process to open the device file. v0.0.4 (28/08/2000) : - The kernel driver now measures the timeout between scancodes when decoding a possible barcode, and rejects the ongoing decoding if the scancodes don't come fast enough. As a result, unless someone types on the keyboard while scanning a barcode, (which the driver can't do anything about), it is now quite hard to fool the driver and let a barcode miss the decoder and slip into the console. Also, it means that ALT-F10s are now undetectably slower, instead of being held up in the driver's scancode buffer until the user types something to unblock it. - Added proc filesystem support. /proc/cuecat is used to turn the driver on and off by echoing "CC=1" or "CC=0" to it. Also, the driver now starts disabled by default, and it has to be explicitely enabled with /proc/cuecat. - The decoder takes care of barcodes with a trailing partial encoded triplet of 3 characters, and tentatively lets those with trailing partial encoded triplets of 1 character, instead of rejecting them. This enables the proper decoding of Michael Rothwell's test barcodes. v0.0.3 (27/08/2000) : - Now the decoder takes care of the last character in a barcode which coded data has a length that is not multiple of 4 (typically in ISBN codes). - Added '+', '-', and '=' in the scancode table, has '+' and '-' are apparently valid characters from a CueCat (I have never seen coded triplets with these in them though) - Updated the README and forked off the credits in a separate CREDITS file v0.0.2 (26/08/2000) : - Barcode decoder totally rewritten as an FSM instead of a flat string parser : the code is a bit more complicated but the architecture is right and allows for precise scancode filtering in the kernel. - Changed the silly brain-dead transcoding tables for the nice generic algorithm from Colin Cross (colin@MIT.EDU). Once you understand exactly how it's done, the code immediately becomes more elegant :) - Made handle_scancode() in driver/char/keyboard.c reentrant, so the driver can call it back to spit buffered scancodes. - Made the driver recognize barcode sequences as early as possible and squelch the normal scancode route when a barcode is coming, so we don't mess the console anymore. w0.0.1 (24/08/2000) : - First release