I love this program. I hope this is the right place for suggestions. Without bloating the program too much it would be great to:
1) Be able to use alternate keys for entering "possible numbers" (PN) (Shift+1..Shift+9). I would like to be able to use either the keypad 1..9 to be PNs, or even QWEASDZXC as 789456123 (mimicking numpad) or QWERTYUIO as 123456789 (the row just below 123456789). That way I wouldn't need that infernal Shift key pressed. Alternatively, allow CAPSLOCK on to signal PNs.
2) Undo last action(s) (e.g., Alt+Z or "U").
3) Allow Branching by Saving current board and Restoring to that state
4) Save undo's when program exits and restarts
5) Be able to see/replay last N actions (esp. when program exits and restarts)
6) Have a timer that shows elapsed time on current puzzle
7) Have a "duplicate" key (ctrl+D?) that copies PNs from one square to another. I would use this when, for example, I determine that the two remaining squares can be either 1 or 5, so I would use PN1, PN5, go to next square, Ctrl+D. Therefore, the program would need to always remember the immediately previous sequence of PNs.
2 thru 5 could be done by saving all moves in a state file that could then be displayed, replayed, reversed, etc.
Thanks for listening!