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

Reply via email to