Escape keys

Visa melhor legibilidade de código no tratamento de retornos obtidos pelo comando ACCEPT TECLA FROM ESCAPE KEY. Supondo que o usuário tenha pressionado a tecla Esc, o item TECLA receberia o valor  01. Assim, para tratar este evento, seria codificado   "IF TECLA = 01", utilizando CWKEYS, a declaração passa para "IF ESC"  facilitando a compreensão do código.

Cada nome de tecla possui uma constante com o prefixo CODE para ser usado na passagem de parâmetros, por exemplo criando um push button que deve retornar o código da tecla esc quando pressionado.

EXEC COBOLware Object PUSH-BUTTON
           CAPTION "~Processar"
           LINE
23 COLUMN 03
           KEY CODE-F2 TAB-OFF
END-EXEC

ACCEPT tecla FROM ESCAPE KEY

IF   F2
      PERFORM PROCESSAR
END-IF

Encontra-se em CWKEYS.CPY. Para obter a definição utilize o comando [COPY CWKEYS] logo após a declaração do campo receptor do código da tecla.

      ******************************************************************
      * Nomes de condicao para teclas (ACCEPT XX FROM ESCAPE KEY)      *
      ******************************************************************

            88 CURSOR-DOWN       VALUE 00.
            88 ENTER-KEY         VALUE 00.
            88 TAB               VALUE 00.
            88 ESC               VALUE 01.
            88 F1                VALUE 02.
            88 F2                VALUE 03.
            88 F3                VALUE 04.
            88 F4                VALUE 05.
            88 F5                VALUE 06.
            88 F6                VALUE 07.
            88 F7                VALUE 08.
            88 F8                VALUE 09.
            88 F9                VALUE 10.
            88 F10               VALUE 11.
            88 SHIFT-F1          VALUE 12.
            88 SHIFT-F2          VALUE 13.
            88 SHIFT-F3          VALUE 14.
            88 SHIFT-F4          VALUE 15.
            88 SHIFT-F5          VALUE 16.
            88 SHIFT-F6          VALUE 17.
            88 SHIFT-F7          VALUE 18.
            88 SHIFT-F8          VALUE 19.
            88 SHIFT-F9          VALUE 20.
            88 SHIFT-F10         VALUE 21.
            88 CONTROL-F1        VALUE 22.
            88 CONTROL-F2        VALUE 23.
            88 CONTROL-F3        VALUE 24.
            88 CONTROL-F4        VALUE 25.
            88 CONTROL-F5        VALUE 26.
            88 CONTROL-F6        VALUE 27.
            88 CONTROL-F7        VALUE 28.
            88 CONTROL-F8        VALUE 29.
            88 CONTROL-F9        VALUE 30.
            88 CONTROL-F10       VALUE 31.
            88 ALT-F1            VALUE 32.
            88 ALT-F2            VALUE 33.
            88 ALT-F3            VALUE 34.
            88 ALT-F4            VALUE 35.
            88 ALT-F5            VALUE 36.
            88 ALT-F6            VALUE 37.
            88 ALT-F7            VALUE 38.
            88 ALT-F8            VALUE 39.
            88 ALT-F9            VALUE 40.
            88 ALT-F10           VALUE 41.
            88 ALT-1             VALUE 42.
            88 ALT-2             VALUE 43.
            88 ALT-3             VALUE 44.
            88 ALT-4             VALUE 45.
            88 ALT-5             VALUE 46.
            88 ALT-6             VALUE 47.
            88 ALT-7             VALUE 48.
            88 ALT-8             VALUE 49.
            88 ALT-9             VALUE 50.
            88 ALT-0             VALUE 51.
            88 ALT-TRACE         VALUE 52.
            88 ALT-EQUAL         VALUE 53.
            88 PAGE-UP           VALUE 54 74.
            88 PAGE-DOWN         VALUE 55 82.
            88 CONTROL-PAGE-UP   VALUE 56.
            88 CONTROL-PAGE-DOWN VALUE 57.
            88 ALT-A             VALUE 66.
            88 ALT-B             VALUE 67.
            88 ALT-C             VALUE 68.
            88 ALT-D             VALUE 69.
            88 ALT-E             VALUE 70.
            88 ALT-F             VALUE 71.
            88 ALT-G             VALUE 72.
            88 ALT-H             VALUE 73.
            88 ALT-I             VALUE 74.
            88 ALT-J             VALUE 75.
            88 ALT-K             VALUE 76.
            88 ALT-L             VALUE 77.
            88 ALT-M             VALUE 78.
            88 ALT-N             VALUE 79.
            88 ALT-O             VALUE 80.
            88 ALT-P             VALUE 81.
            88 ALT-Q             VALUE 82.
            88 ALT-R             VALUE 83.
            88 ALT-S             VALUE 84.
            88 ALT-T             VALUE 85.
            88 ALT-U             VALUE 86.
            88 ALT-V             VALUE 87.
            88 ALT-W             VALUE 88.
            88 ALT-X             VALUE 89.
            88 ALT-Y             VALUE 90.
            88 ALT-Z             VALUE 91.
            88 F11               VALUE 92.
            88 F12               VALUE 93.
            88 SHIFT-F11         VALUE 94.
            88 SHIFT-F12         VALUE 95.
            88 CONTROL-F11       VALUE 96.
            88 CONTROL-F12       VALUE 97.
            88 ALT-F11           VALUE 98.
            88 ALT-F12           VALUE 99.
            88 SHIFT-TAB         VALUE 99.
            88 CURSOR-UP         VALUE 99.
            78 CODE-CURSOR-DOWN       VALUE 00.
            78 CODE-ENTER-KEY         VALUE 00.
            78 CODE-TAB               VALUE 00.
            78 CODE-ESC               VALUE 01.
            78 CODE-F1                VALUE 02.
            78 CODE-F2                VALUE 03.
            78 CODE-F3                VALUE 04.
            78 CODE-F4                VALUE 05.
            78 CODE-F5                VALUE 06.
            78 CODE-F6                VALUE 07.
            78 CODE-F7                VALUE 08.
            78 CODE-F8                VALUE 09.
            78 CODE-F9                VALUE 10.
            78 CODE-F10               VALUE 11.
            78 CODE-SHIFT-F1          VALUE 12.
            78 CODE-SHIFT-F2          VALUE 13.
            78 CODE-SHIFT-F3          VALUE 14.
            78 CODE-SHIFT-F4          VALUE 15.
            78 CODE-SHIFT-F5          VALUE 16.
            78 CODE-SHIFT-F6          VALUE 17.
            78 CODE-SHIFT-F7          VALUE 18.
            78 CODE-SHIFT-F8          VALUE 19.
            78 CODE-SHIFT-F9          VALUE 20.
            78 CODE-SHIFT-F10         VALUE 21.
            78 CODE-CONTROL-F1        VALUE 22.
            78 CODE-CONTROL-F2        VALUE 23.
            78 CODE-CONTROL-F3        VALUE 24.
            78 CODE-CONTROL-F4        VALUE 25.
            78 CODE-CONTROL-F5        VALUE 26.
            78 CODE-CONTROL-F6        VALUE 27.
            78 CODE-CONTROL-F7        VALUE 28.
            78 CODE-CONTROL-F8        VALUE 29.
            78 CODE-CONTROL-F9        VALUE 30.
            78 CODE-CONTROL-F10       VALUE 31.
            78 CODE-ALT-F1            VALUE 32.
            78 CODE-ALT-F2            VALUE 33.
            78 CODE-ALT-F3            VALUE 34.
            78 CODE-ALT-F4            VALUE 35.
            78 CODE-ALT-F5            VALUE 36.
            78 CODE-ALT-F6            VALUE 37.
            78 CODE-ALT-F7            VALUE 38.
            78 CODE-ALT-F8            VALUE 39.
            78 CODE-ALT-F9            VALUE 40.
            78 CODE-ALT-F10           VALUE 41.
            78 CODE-ALT-1             VALUE 42.
            78 CODE-ALT-2             VALUE 43.
            78 CODE-ALT-3             VALUE 44.
            78 CODE-ALT-4             VALUE 45.
            78 CODE-ALT-5             VALUE 46.
            78 CODE-ALT-6             VALUE 47.
            78 CODE-ALT-7             VALUE 48.
            78 CODE-ALT-8             VALUE 49.
            78 CODE-ALT-9             VALUE 50.
            78 CODE-ALT-0             VALUE 51.
            78 CODE-ALT-TRACE         VALUE 52.
            78 CODE-ALT-EQUAL         VALUE 53.
            78 CODE-PAGE-UP           VALUE 54.
            78 CODE-PAGE-DOWN         VALUE 55.
            78 CODE-CONTROL-PAGE-UP   VALUE 56.
            78 CODE-CONTROL-PAGE-DOWN VALUE 57.
            78 CODE-ALT-A             VALUE 66.
            78 CODE-ALT-B             VALUE 67.
            78 CODE-ALT-C             VALUE 68.
            78 CODE-ALT-D             VALUE 69.
            78 CODE-ALT-E             VALUE 70.
            78 CODE-ALT-F             VALUE 71.
            78 CODE-ALT-G             VALUE 72.
            78 CODE-ALT-H             VALUE 73.
            78 CODE-ALT-I             VALUE 74.
            78 CODE-ALT-J             VALUE 75.
            78 CODE-ALT-K             VALUE 76.
            78 CODE-ALT-L             VALUE 77.
            78 CODE-ALT-M             VALUE 78.
            78 CODE-ALT-N             VALUE 79.
            78 CODE-ALT-O             VALUE 80.
            78 CODE-ALT-P             VALUE 81.
            78 CODE-ALT-Q             VALUE 82.
            78 CODE-ALT-R             VALUE 83.
            78 CODE-ALT-S             VALUE 84.
            78 CODE-ALT-T             VALUE 85.
            78 CODE-ALT-U             VALUE 86.
            78 CODE-ALT-V             VALUE 87.
            78 CODE-ALT-W             VALUE 88.
            78 CODE-ALT-X             VALUE 89.
            78 CODE-ALT-Y             VALUE 90.
            78 CODE-ALT-Z             VALUE 91.
            78 CODE-F11               VALUE 92.
            78 CODE-F12               VALUE 93.
            78 CODE-SHIFT-F11         VALUE 94.
            78 CODE-SHIFT-F12         VALUE 95.
            78 CODE-CONTROL-F11       VALUE 96.
            78 CODE-CONTROL-F12       VALUE 97.
            78 CODE-ALT-F11           VALUE 98.
            78 CODE-ALT-F12           VALUE 99.
            78 CODE-SHIFT-TAB         VALUE 99.
            78 CODE-CURSOR-UP         VALUE 99.

Exemplo: O programa CWCADS  ilustra o uso da tabela.