A friend and I played around with this today for several hours and it worked great! However after stopping for a while I also ran into the can't control anything bug. It pestered me after enabling the VERBOSITY setting (I wanted a list of the keypad control codes)
After some testing here is what happened when I was having issues:
Start DF, load game from DF, gain control once loaded, worked
Start DF, gain control, try to click, no dice
Start DF, get into first sub menu, gain control, no dice
Start DF, gain control, load game from DF, no dice
Start DF, gain control, release control, load game from DF, no dice
Gain control, start DF (through another PuTTY window), load game from DF, no dice
Seems the only way I could get it to load was by not doing anything until the main screen was up, which was odd since I loaded a few times via the console before. Additionally it did not help to have the second console follow the right rules if the first did not.
I will look into it more and see if I see any patterns. BTW here is the result of my looking into Numpad in Application Mode
connections.cc line 82 (end of setupEscapeSequences())
//Numpad Keys in Application Mode of Putty
escs_to_vcode["\x1b\x4f\x50"] = VK_NUMLOCK;
escs_to_vcode["\x1b\x4f\x51"] = VK_DIVIDE;
escs_to_vcode["\x1b\x4f\x52"] = VK_MULTIPLY;
escs_to_vcode["\x1b\x4f\x53"] = VK_SUBTRACT;
escs_to_vcode["\x1b\x4f\x6C"] = VK_ADD;
escs_to_vcode["\x1b\x4f\x6E"] = VK_DECIMAL;
escs_to_vcode["\x1b\x4f\x4D"] = VK_SEPARATOR; //NumEnter
escs_to_vcode["\x1b\x4f\x70"] = VK_KEYPAD0;
escs_to_vcode["\x1b\x4f\x71"] = VK_KEYPAD1;
escs_to_vcode["\x1b\x4f\x72"] = VK_KEYPAD2;
escs_to_vcode["\x1b\x4f\x73"] = VK_KEYPAD3;
escs_to_vcode["\x1b\x4f\x74"] = VK_KEYPAD4;
escs_to_vcode["\x1b\x4f\x75"] = VK_KEYPAD5;
escs_to_vcode["\x1b\x4f\x76"] = VK_KEYPAD6;
escs_to_vcode["\x1b\x4f\x77"] = VK_KEYPAD7;
escs_to_vcode["\x1b\x4f\x78"] = VK_KEYPAD8;
escs_to_vcode["\x1b\x4f\x79"] = VK_KEYPAD9;
The code is untested since it seems to be non-trivial to compile the program, especially on Windows. All the codes were taken via VERBOSITY: 1, although they may not be 100% accurate due to the continuous nature of the log.
Keep up the good work, although I will say a simple Dwarf Therapist style assignment mode would be the only thing it appears to lack, but of course that would require a CLII rewrite from what I can tell since no one makes CLIs anymore it seems
.