v0.1.5 (13/09/2000) : - Added #ifdef CONFIG_PROC_FS I had forgotten around proc filesystem related pieces of code in the driver v0.1.4 (11/09/2000) : - Now the driver has an official major number 10 (misc) and an official minor 199. I put back the frontend of the driver like it was before v0.1.3 : there is now only one device file, which is now /dev/scanners/cuecat, and the inputs from all CueCat scanners are made available throught that one device file. - Now, the device file is fully buffered, as it should always have been. - Corrected an omission in the scancode to ASCII table - New improved version of CueAct v0.1.3 (10/09/2000) : - Restructured the decoder to be able to work on different incoming barcodes at the same time. Also restructured the decoder to handle several CueCats : now it is possible to have one CueCat on a PC/AT keyboard port, and another one on a PS/2 mouse port. SUPPORT FOR THE PS/2 CUECAT IS EXPERIMENTAL ! - Corrected a bug where the decoder would drop a valid single character barcode. - CueCat now uses major number 60 until a new major is agreed upon. NOTE : CHANGE YOUR /DEV/FILE FILE ! - Corrected minor bug in read_cuecat.c v0.1.2 (08/09/2000) : - Corrected the scancode buffer flushing routines in the kernel driver. Now the buffer is not flushed twice anymore when the timeout thread kicks in first. - Corrected the cuecat_read() function in the kernel driver : before, it was sending the whole barcode regardless of how big the calling process' buffer was (not good). Now it is careful of not overflowing the buffer. v0.1.1 (07/09/2000) : - Corrected the portion of code that recalculate the check digit for broken UPC-E codes - New version of the CueAct utility v0.1.0 (06/09/2000) : - Reorganized the driver and made it modular - Redone and cleaned up the patch to keyboard.c so that we don't need to patch drivers/char/pc_keyb.c or include/linux/kbd_ll.h and it doesn't break the USB keyboard driver anymore - Added the EAN-13 type of barcode as a valid barcode in the SUPPORTED_BARCODES file v0.0.9 (03/09/2000) : - New (debugged) version of the CueAct utility - Added the "Cue" barcode type in the SUPPORTED_BARCODE file (silly, I forgot that one :) 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. 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