What I did in WB (Winboard) is just follow the seirawan variant of gating a piece. If a player wants to gate a Hawk at b-file, he may press the Hawk,
and then move the knight from b1 say to c3, and I will send the move to WB like below.
b1c3h
WB will update the board by moving the knight to c3 and gates the Hawk to b1.
In musketeer, piece selection and gating is part of move history, but WB does not support this, so what I did is build an option for the user to select the piece and gating file, before the game would start.
Piece selection:
File Selection:
For uci you can create such options like,
option name Hawk type check default falseoption name WHawkFile type combo default any var any var a-file var b-file ... var h-file
The value "any" would make musketeer play like seirawan i.e a player can gate a piece at any file.
I have read the move format at https://github.com/ianfab/Musketeer-Stockfish/wiki/Interface.
What I did in WB (Winboard) is just follow the seirawan variant of gating a piece. If a player wants to gate a Hawk at b-file, he may press the Hawk,
and then move the knight from b1 say to c3, and I will send the move to WB like below.
![](https://i.imgur.com/SYD9qCY.png)
b1c3h
WB will update the board by moving the knight to c3 and gates the Hawk to b1.In musketeer, piece selection and gating is part of move history, but WB does not support this, so what I did is build an option for the user to select the piece and gating file, before the game would start. Piece selection:![](https://i.imgur.com/XM8cV6X.png)
File Selection:![](https://i.imgur.com/5DdTCbD.png)
For uci you can create such options like,
option name Hawk type check default false
option name WHawkFile type combo default any var any var a-file var b-file ... var h-file
The value "any" would make musketeer play like seirawan i.e a player can gate a piece at any file.