Agora que o A Simões perguntou sobre uma getsys é que vi esse detalhe.
Pra quem for usar multithread, precisa uma alteração relativamente simples: alterar STATIC var pra THREAD STATIC var.
Motivo simples: se não fizer isso, vai ficar misturado o controle das duas janelas, com resultado imprevisto
Pelo menos a getsys original do 5.2... tinha esquecido que fiz essa alteração.
Nenhuma alteração extraordinária, apenas alterações relativamente simples, que considero úteis, ou que o Clipper 5.2 precisava, ou que surgiu depois...
Multithread:
Salvar os valores ANTES DE UM GET, e comparar depois DESSE GET pra ver se mudou alguma coisa. Se mudou, atualiza a tela. Falta isso inclusive no Harbour.
Limite de tempo. Se inkey retorna 0, significa que o tempo acabou, então troca por ESC.
Não aceita caracteres especiais
O clique do mouse, limitado a um único get
E a rotina auxiliar pra calcular o tamanho do get
São pequenas alterações, não corre o risco de criar problemas.