Суть в следующем. Пусть имеется следующий код:
int main() { vga_init(); keyboard_init(); vga_setmode(somemode); // vga_hasmode(somemode) is OK // ... // то, что здесь, не важно // ... vga_setmode(TEXT); keyboard_close(); return 0; }
Ежели это выполнить, то после завершения проги консоль окажется перенастроенной, в частности, будет -echo. Это лечится, конечно, командой stty sane. Но если вставить перед return строчку
system("stty sane");
то она не произведет ровно никакого эффекта! Почему??
А вот если keyboard_init() вызвать после vga_setmode(), консоль не сбивается. Почему?.. Хотя ответ на этот второй вопрос, конечно, в сырцах svgalib...