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 ------------------------------------------------------------------------- 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