diff --git a/Source/Emulator/voyager.c b/Source/Emulator/voyager.c index cab12e2..de03b70 100644 --- a/Source/Emulator/voyager.c +++ b/Source/Emulator/voyager.c @@ -487,9 +487,20 @@ int main(int argc, char *argv[]) { screenTexture = LoadTextureFromImage(blank); UnloadImage(blank); windowOpen = 1; - // The keyboard becomes the console's input, in place of a standard input the window - // does not have. - consoleSetInputHook(voyagerKey); + // ---- The keyboard becomes the console's input ---- + // + // In place of a standard input the window does not have. UNLESS A KEYBOARD FILE WAS + // NAMED, which used to be overridden here without a word: machineStart installs the + // file's hook and this replaced it, so --keyboard was a flag that did nothing behind + // a window and said nothing about it. + // + // Both together is the combination a demo wants. Recording a flight needs the typing + // that STARTS it to be the same every time - a human reaching the shell at a slightly + // different moment shifts every frame of the recording after it - while the flying + // itself comes from whatever is actually in somebody's hands. + if (options.keyboard == NULL) { + consoleSetInputHook(voyagerKey); + } // ---- A slice a frame ---- // // The machine gets its turn, then the window gets its turn. Closing the window stops diff --git a/demo.pad b/demo.pad new file mode 100644 index 0000000..5da401c Binary files /dev/null and b/demo.pad differ