On Fri, 2007-12-28 at 14:23 +0100, pgeorges wrote: > Ben Hague a écrit : > > Hi, > > I've just got a Dream Cheeky USB Roll-Up Chess Game. > > http://www.dreamlink.info/product/roll-up-chess-game.php . This uses a > > very simple protocol where you press on the origin square and then the > > destination square. I have written a simple driver and added support on > > SCID by using the text move entry interface. The code is > > > > proc openCheekyChess {} { > > set cheeky [open "/tmp/cheeky_chess" RDONLY] > > fconfigure $cheeky -buffering line -blocking 0 > > fileevent $cheeky readable [list readCheekyChess $cheeky] > > return $cheeky > > } > > > > proc readCheekyChess {cheeky args} { > > global moveEntry > > if {![eof $cheeky]} { > > set moveEntry(Text) [read $cheeky] > > set moveEntry(List) [sc_pos matchMoves $moveEntry(Text) > > $moveEntry(Coord)] > > set len [llength $moveEntry(List)] > > if {$len == 1} { > > set move [string tolower [lindex $moveEntry(List) 0]] > > > > if {$moveEntry(AutoExpand) > 0 || > > ![string compare [string tolower $moveEntry(Text)] $move]} { > > moveEntry_Complete > > } > > } > > updateStatusBar > > } > > } > > > > openCheekyChess > > > > at the bottom of main.tcl. The problems I have are that this is Linux > > only, doesn't fail gracefully and should be a configurable option. > > However I know very little about tcl so I'm not clear on how this should > > be done, particularly how to fit it into SCID properly. > > Also, it seems to would be nice to have all possible input devices, such > > as the DGT or Citrine in the same place, but they appear to work in > > rather different ways, so would this be possible? > > > > If anyone is interested in the driver code let me know. > > > > Ben Hague > > > Hi, > > This is nice to see this device working with Scid. I just ordered a > Novag Citrine, and I will try to make it work with Scid also. > Can you tell us a bit more about Dream Cheeky ? Is it reliable ? > > Considering the driver, I suppose you wrote a kernel module ? Wouldn't > it be possible to use a user space program ? Maybe using sockets for > IPC, hence making something more portable between various OS. I don't > know if this would suffice to open /dev/ttyUSB0 for example without any > driver under Linux, then the only configuration needed is to point to > the correct /dev/ node.
The board is a cheap one, it's plastic and just over 1/4 the size of a normal board. The big advantage it's got is the price, the Novag seems to be around £250, and the DGT £350 while this is about £30. I don't know about reliability yet, not really had it long enough, but it's so simple there isn't much to go wrong. It appears as a usb hid device, so I've used libhid to write a userspace driver. libhid appears to be cross-platform, but the Windows side looks to be very much a work in progress so I don't know how well it would work. I'll look into sockets for IPC. Ben Hague ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Scid-users mailing list Scid-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scid-users