Hi! In your situation, I would insert a "virtual screen" between your application and execution of ncurses calls. All write opertions should also be stored into an array hereby, and when reading, use this array instead of a real read from ncurses. This will be the only way to get around the re-mapping of ncurses.
Another way will be some more tricky: o Write a translation function which works with a dynamic list. This list is initially empty, so there will be no translation. o On program start, write all characters in a loop (always only one character) into position 1/1 on the sreen, then read it back. If the result is different, the original and the read-back value are added to the list of the translation function. o After that, proceed as usual with your program, but feed every read-back from screen through the translation routine. This way your program should automatically "learn" the translation of ncurses and can reverse it, as long as there is noextreme conversion. Keep in mind that ncurses is able to translate a graphical character, i.e. a horizontal bar, into a normal minus character. In this case, _every_ minus character from read-back, including true minuses!!!, would be translated back into a graphical horizintal bar! mfg Ing. Rainer Hantsch -- .---------------------------------------------------------------------. | \\|// Ing. Rainer HANTSCH - Hardware + Software | | (o o) Forget Windoze! -- We focus on L-I-N-U-X... | |--oOOo-(_)-oOOo------------------------------------------------------| | Ing. Rainer HANTSCH | mail: [EMAIL PROTECTED] | | Khunngasse 21/20 | www: http://www.hantsch.co.at | | A-1030 Vienna | tel: +43-1-79885380 fax: +43-1-798853818 | | ** A u s t r i a ** | handy: +43-664-9194382 UID-Nr: ATU 11134002 | '---------------------------------------------------------------------' _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal