; * IBM CONFIDENTIAL * Jan 9 1990 * ;; XT section enabled ;; ************* CNS 12/18/86 PAGE ,132 TITLE PC DOS 3.3 Keyboard Definition File ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; PC DOS 3.3 - NLS Support - Keyboard Defintion File ;; (c) Copyright IBM Corp 198?,... ;; ;; This file contains the keyboard tables for Brazil ;; ;; Linkage Instructions: ;; Refer to KDF.ASM. ;; ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986 ;; Adapted for Brazil by Mihindu Senanayake (Microsoft) - Oct 1990 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; INCLUDE KEYBSHAR.INC ;; INCLUDE POSTEQU.INC ;; INCLUDE KEYBMAC.INC ;; ;; PUBLIC BR_LOGIC ;; PUBLIC BR_437_XLAT ;; PUBLIC BR_850_XLAT ;; ;; CODE SEGMENT PUBLIC 'CODE' ;; ASSUME CS:CODE,DS:CODE ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Standard translate table options are a linear search table ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; BR State Logic ;;*************************************** ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; BR_LOGIC: DW LOGIC_END-$ ;; length ;; DW 0 ;; special features ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE ;; OPTIONS: If we find a scan match in ;; an XLATT or SET_FLAG operation then ;; exit from INT 9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; OPTION EXIT_IF_FOUND ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dead key definitions must come before ;; dead key translations to handle ;; dead key + dead key. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; IFF EITHER_ALT,NOT ;; ANDF EITHER_CTL,NOT ;; IFF EITHER_SHIFT ;; IFF CIRCUMFLEX ;; RESET_NLS ;; XLATT CIRCUMFLEX_CIRCUMFLEX ;; SET_FLAG DEAD_UPPER ;; GOTO CIRCUMFLEX_ON ;; ENDIFF ;; IFF TILDE ;; RESET_NLS ;; XLATT TILDE_TILDE ;; SET_FLAG DEAD_UPPER ;; GOTO TILDE_ON ;; ENDIFF ;; IFF DIARESIS ;; RESET_NLS ;; XLATT DIARESIS_DIARESIS ;; SET_FLAG DEAD_UPPER ;; GOTO DIARESIS_ON ;; ENDIFF ;; SET_FLAG DEAD_UPPER ;; ELSEF IFF GRAVE ;; RESET_NLS ;; XLATT GRAVE_GRAVE ;; SET_FLAG DEAD_LOWER GOTO GRAVE_ON ;; ENDIFF ;; IFF ACUTE ;; RESET_NLS ;; XLATT ACUTE_ACUTE ;; SET_FLAG DEAD_LOWER GOTO ACUTE_ON ;; ENDIFF ;; SET_FLAG DEAD_LOWER ENDIFF ;; ENDIFF ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ACUTE ACCENT TRANSLATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ACUTE_PROC: ;; IFF ACUTE,NOT ;; GOTO DIARESIS_PROC ;; ENDIFF ;; ;; RESET_NLS ;; ACUTE_ON: ;; IFF R_ALT_SHIFT,NOT ;; XLATT ACUTE_SPACE ;; ENDIFF ;; IFF EITHER_CTL,NOT ;; ANDF EITHER_ALT,NOT ;; IFF EITHER_SHIFT ;; IFF CAPS_STATE ;; XLATT ACUTE_LOWER ;; ELSEF ;; XLATT ACUTE_UPPER ;; ENDIFF ;; ELSEF ;; IFF CAPS_STATE ;; XLATT ACUTE_UPPER ;; ELSEF ;; XLATT ACUTE_LOWER ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; INVALID_ACUTE: ;; PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT BEEP ;; failed or we are ina bad shift state. GOTO NON_DEAD ;; Either is invalid so BEEP and fall ;; through to generate the second char. ;; Note that the dead key flag will be ;; reset before we get here. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DIARESIS ACCENT TRANSLATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DIARESIS_PROC: ;; ;; IFF DIARESIS,NOT ;; GOTO GRAVE_PROC ;; ENDIFF ;; ;; RESET_NLS ;; DIARESIS_ON: ;; IFF R_ALT_SHIFT,NOT ;; XLATT DIARESIS_SPACE ;; ENDIFF ;; IFF EITHER_CTL,NOT ;; ANDF EITHER_ALT,NOT ;; IFF EITHER_SHIFT ;; IFF CAPS_STATE ;; XLATT DIARESIS_LOWER ;; ELSEF ;; XLATT DIARESIS_UPPER ;; ENDIFF ;; ELSEF ;; IFF CAPS_STATE ;; XLATT DIARESIS_UPPER ;; ELSEF ;; XLATT DIARESIS_LOWER ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; INVALID_DIARESIS: ;; PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent BEEP ;; Invalid dead key combo. GOTO NON_DEAD ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GRAVE ACCENT TRANSLATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GRAVE_PROC: ;; ;; IFF GRAVE,NOT ;; GOTO TILDE_PROC ;; ENDIFF ;; ;; RESET_NLS ;; GRAVE_ON: ;; IFF R_ALT_SHIFT,NOT ;; XLATT GRAVE_SPACE ;; ENDIFF ;; IFF EITHER_CTL,NOT ;; ANDF EITHER_ALT,NOT ;; IFF EITHER_SHIFT ;; IFF CAPS_STATE ;; XLATT GRAVE_LOWER ;; ELSEF ;; XLATT GRAVE_UPPER ;; ENDIFF ;; ELSEF ;; IFF CAPS_STATE,NOT ;; XLATT GRAVE_LOWER ;; ELSEF ;; XLATT GRAVE_UPPER ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; INVALID_GRAVE: ;; PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent BEEP ;; Invalid dead key combo. GOTO NON_DEAD ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; TILDE ACCENT TRANSLATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TILDE_PROC: ;; ;; IFF TILDE,NOT ;; GOTO CIRCUMFLEX_PROC ;; ENDIFF ;; ;; RESET_NLS ;; TILDE_ON: ;; IFF R_ALT_SHIFT,NOT ;; XLATT TILDE_SPACE ;; ENDIFF ;; IFF EITHER_CTL,NOT ;; ANDF EITHER_ALT,NOT ;; IFF EITHER_SHIFT ;; IFF CAPS_STATE ;; XLATT TILDE_LOWER ;; ELSEF ;; XLATT TILDE_UPPER ;; ENDIFF ;; ELSEF ;; IFF CAPS_STATE ;; XLATT TILDE_UPPER ;; ELSEF ;; XLATT TILDE_LOWER ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; INVALID_TILDE: ;; PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent BEEP ;; Invalid dead key combo. GOTO NON_DEAD ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CIRCUMFLEX ACCENT TRANSLATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CIRCUMFLEX_PROC: ;; ;; IFF CIRCUMFLEX,NOT ;; GOTO NON_DEAD ;; ENDIFF ;; ;; RESET_NLS ;; CIRCUMFLEX_ON: ;; IFF R_ALT_SHIFT,NOT ;; XLATT CIRCUMFLEX_SPACE ;; ENDIFF ;; IFF EITHER_CTL,NOT ;; ANDF EITHER_ALT,NOT ;; IFF EITHER_SHIFT ;; IFF CAPS_STATE ;; XLATT CIRCUMFLEX_LOWER ;; ELSEF ;; XLATT CIRCUMFLEX_UPPER ;; ENDIFF ;; ELSEF ;; IFF CAPS_STATE,NOT ;; XLATT CIRCUMFLEX_LOWER ;; ELSEF ;; XLATT CIRCUMFLEX_UPPER ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; INVALID_CIRCUMFLEX: ;; PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent BEEP ;; Invalid dead key combo. GOTO NON_DEAD ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Upper, lower and third shifts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; NON_DEAD: ;; ;; IFKBD G_KB+P12_KB ;; Avoid accidentally translating ANDF LC_E0 ;; the "/" on the numeric pad of the EXIT_STATE_LOGIC ;; G keyboard ENDIFF ;; ;; IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK. IFF EITHER_SHIFT ;; Numeric keys are not. XLATT NON_ALPHA_UPPER ;; IFF CAPS_STATE ;; XLATT ALPHA_LOWER ;; ELSEF ;; XLATT ALPHA_UPPER ;; ENDIFF ;; ELSEF ;; XLATT NON_ALPHA_LOWER ;; IFF CAPS_STATE ;; XLATT ALPHA_UPPER ;; ELSEF ;; XLATT ALPHA_LOWER ;; ENDIFF ;; ENDIFF ;; ELSEF ;; IFF EITHER_SHIFT,NOT ;; IFKBD XT_KB+AT_KB ;; IFF EITHER_CTL ;; ANDF ALT_SHIFT ;; XLATT THIRD_SHIFT ;; ENDIFF ;; ELSEF ;; IFF EITHER_CTL,NOT ;; ANDF R_ALT_SHIFT ;; XLATT THIRD_SHIFT ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;**************************************;; IFF EITHER_SHIFT,NOT ;; IFKBD XT_KB+AT_KB ;; IFF EITHER_CTL ;; ANDF ALT_SHIFT ;; XLATT ALT_CASE ;; ENDIFF ;; ENDIFF ;; IFKBD G_KB+P12_KB ;; IFF EITHER_CTL ;; ANDF ALT_SHIFT ;; IFF R_ALT_SHIFT,NOT ;; XLATT ALT_CASE ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;**************************************;; IFKBD AT_KB+XT_KB ;; IFF EITHER_CTL,NOT ;; IFF ALT_SHIFT ;; ALT - case XLATT ALT_CASE ;; ENDIFF ;; ELSEF ;; IFF EITHER_ALT,NOT ;; CTRL - case XLATT CTRL_CASE ;; ENDIFF ;; ENDIFF ;; ENDIFF ;; ;; IFKBD G_KB+P12_KB ;; IFF EITHER_CTL,NOT ;; IFF ALT_SHIFT ;; ALT - case ANDF R_ALT_SHIFT,NOT ;; XLATT ALT_CASE ;; ENDIFF ;; ELSEF ;; IFF EITHER_ALT,NOT ;; CTRL - case XLATT CTRL_CASE ;; ENDIFF ;; ENDIFF ;; IFF EITHER_CTL ;; ANDF ALT_SHIFT ;; ANDF R_ALT_SHIFT,NOT ;; XLATT ALT_CASE ;; ENDIFF ;; ENDIFF ;; ;; EXIT_STATE_LOGIC ;; ;; LOGIC_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; BR Common Translate Section ;; This section contains translations for the lower 128 characters ;; only since these will never change from code page to code page. ;; In addition the dead key "Set Flag" tables are here since the ;; dead keys are on the same keytops for all code pages. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; PUBLIC BR_COMMON_XLAT ;; BR_COMMON_XLAT: ;; ;; DW COMMON_XLAT_END-$ ;; length of section DW -1 ;; code page ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Lower Shift Dead Key ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Flag Table ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DK_LO_K1_END-$ ;; length of state section DB DEAD_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB -1,-1 ;; Buffer entry for error character ;; Set Flag Table DW 2 ;; number of entries DB 40 ;; scan code FLAG ACUTE ;; flag bit to set DB 41 ;; FLAG GRAVE ;; ;; ;; COM_DK_LO_K1_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Upper Shift Dead Key ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Flag Table ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DK_UP_K1_END-$ ;; length of state section DB DEAD_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB -1,-1 ;; Buffer entry for error character ;; Set Flag Table DW 3 ;; number of entries DB 7 ;; scan code FLAG CIRCUMFLEX ;; flag bit to set DB 40 ;; FLAG DIARESIS ;; DB 41 ;; FLAG TILDE ;; ;; COM_DK_UP_K1_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Grave Lower ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_GR_LO_END-$ ;; length of state section DB GRAVE_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 96,0 ;; error character = standalone accent ;; DW COM_GR_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 5 ;; number of scans DB 18,'' ;; scan code,ASCII - e DB 22,'' ;; scan code,ASCII - u DB 23,'' ;; scan code,ASCII - i DB 24,'' ;; scan code,ASCII - o DB 30,'' ;; scan code,ASCII - a ;; COM_GR_LO_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_GR_LO_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Grave Space Bar ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_GR_SP_END-$ ;; length of state section DB GRAVE_SPACE ;; State ID DW ANY_KB ;; Keyboard Type DB 96,0 ;; error character = standalone accent ;; DW COM_GR_SP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 57,96 ;; STANDALONE GRAVE ;; COM_GR_SP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_GR_SP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Grave Twice ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_GR_GR_END-$ ;; length of state section DB GRAVE_GRAVE ;; State ID DW ANY_KB ;; Keyboard Type DB 96,0 ;; error character = standalone accent ;; DW COM_GR_GR_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 41,96 ;; STANDALONE GRAVE ;; COM_GR_GR_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_GR_GR_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Circumflex Lower ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_CI_LO_END-$ ;; length of state section DB CIRCUMFLEX_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 94,0 ;; error character = standalone accent ;; DW COM_CI_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 5 ;; number of scans DB 18,'' ;; scan code,ASCII - e DB 22,'' ;; scan code,ASCII - u DB 23,'' ;; scan code,ASCII - i DB 24,'' ;; scan code,ASCII - o DB 30,'' ;; scan code,ASCII - a ;; COM_CI_LO_T1_END: ;; ;; DW 0 ;; ;; COM_CI_LO_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Circumflex Space Bar ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_CI_SP_END-$ ;; length of state section DB CIRCUMFLEX_SPACE ;; State ID DW ANY_KB ;; Keyboard Type DB 94,0 ;; error character = standalone accent ;; DW COM_CI_SP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 57,94 ;; STANDALONE CIRCUMFLEX ;; COM_CI_SP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_CI_SP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Circumflex Twice ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_CI_CI_END-$ ;; length of state section DB CIRCUMFLEX_CIRCUMFLEX ;; State ID DW ANY_KB ;; Keyboard Type DB 94,0 ;; error character = standalone accent ;; DW COM_CI_CI_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 7,94 ;; STANDALONE CIRCUMFLEX ;; COM_CI_CI_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_CI_CI_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Tilde Lower ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_TI_LO_K1_END-$ ;; length of state section DB TILDE_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 07EH,0 ;; error character = standalone accent ;; DW COM_TI_LO_K1_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 49,0A4H ;; scan code,ASCII - ;; COM_TI_LO_K1_T1_END: ;; ;; DW 0 ;; ;; COM_TI_LO_K1_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Tilde Upper Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_TI_UP_K1_END-$ ;; length of state section DB TILDE_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 07EH,0 ;; error character = standalone accent ;; DW COM_TI_UP_K1_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 49,0A5H ;; scan code,ASCII - ;; COM_TI_UP_K1_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_TI_UP_K1_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Tilde Space Bar ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_TI_SP_END-$ ;; length of state section DB TILDE_SPACE ;; State ID DW ANY_KB ;; Keyboard Type DB 07EH,0 ;; error character = standalone accent ;; DW COM_TI_SP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 57,07EH ;; STANDALONE TILDE ;; COM_TI_SP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_TI_SP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Tilde Twice ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_TI_TI_END-$ ;; length of state section DB TILDE_TILDE ;; State ID DW ANY_KB ;; Keyboard Type DB 07EH,0 ;; error character = standalone accent ;; DW COM_TI_TI_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 41,07EH ;; STANDALONE TILDE ;; COM_TI_TI_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_TI_TI_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Acute Lower Case ;; KEYBOARD TYPES: Any, ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_AC_LO_END-$ ;; length of state section DB ACUTE_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW COM_AC_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 6 ;; number of scans DB 18,'' ;; scan code,ASCII - e DB 22,'' ;; scan code,ASCII - u DB 23,'' ;; scan code,ASCII - i DB 24,'' ;; scan code,ASCII - o DB 30,'' ;; scan code,ASCII - a DB 46,'' ;; scan code,ASCII - c-cedilla ;; COM_AC_LO_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_AC_LO_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Acute Upper Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_AC_UP_END-$ ;; length of state section DB ACUTE_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW COM_AC_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 2 ;; number of scans DB 18,090H ;; scan code,ASCII - E DB 46,080H ;; C cedilla ;; COM_AC_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_AC_UP_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Acute Space Bar ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_AC_SP_END-$ ;; length of state section DB ACUTE_SPACE ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW COM_AC_SP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 57,39 ;; scan code,ASCII - SPACE ;; COM_AC_SP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_AC_SP_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Acute Twice ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_AC_AC_END-$ ;; length of state section DB ACUTE_ACUTE ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW COM_AC_AC_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 40,39 ;; scan code,ASCII - ACUTE ;; COM_AC_AC_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_AC_AC_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Diaresis Lower ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DI_LO_END-$ ;; length of state section DB DIARESIS_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB '"',0 ;; error character = standalone accent ;; DW COM_DI_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 6 ;; number of scans DB 18,089H ;; e diaeresis DB 21,098H ;; y diaeresis DB 22,081H ;; u diaeresis DB 23,08BH ;; i diaeresis DB 24,094H ;; o diaeresis DB 30,084H ;; a diaeresis ;; COM_DI_LO_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_DI_LO_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Diaresis Upper ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DI_UP_END-$ ;; length of state section DB DIARESIS_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB -1,-1 ;; error character = standalone accent ;; DW COM_DI_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 3 ;; number of scans DB 22,09AH ;; U diaeresis DB 24,099H ;; O diaeresis DB 30,08EH ;; A diaeresis ;; COM_DI_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_DI_UP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Diaresis Space Bar ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DI_SP_END-$ ;; length of state section DB DIARESIS_SPACE ;; State ID DW ANY_KB ;; Keyboard Type DB '"',0 ;; error character = standalone accent ;; DW COM_DI_SP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 57,'"' ;; scan code,ASCII - SPACE ;; COM_DI_SP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_DI_SP_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: Common ;; STATE: Diaresis Twice ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW COM_DI_DI_END-$ ;; length of state section DB DIARESIS_DIARESIS ;; State ID DW ANY_KB ;; Keyboard Type DB '"',0 ;; error character = standalone accent ;; DW COM_DI_DI_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 40,'"' ;; scan code,ASCII - SPACE ;; COM_DI_DI_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; COM_DI_DI_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW 0 ;; Last State COMMON_XLAT_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;*************************************** ;; BR Specific Translate Section for 437 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; PUBLIC BR_437_XLAT ;; BR_437_XLAT: ;; ;; DW CP437_XLAT_END-$ ;; length of section DW 437 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DW 0 ;; LAST STATE ;; CP437_XLAT_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; BR Specific Translate Section for 850 ;;*************************************** ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; PUBLIC BR_850_XLAT ;; BR_850_XLAT: ;; ;; DW CP850_XLAT_END-$ ;; length of section DW 850 ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Alt Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_ALT_K1_END-$ ;; length of state section DB ALT_CASE ;; State ID DW ANY_KB ;; Keyboard Type DB -1,-1 ;; error character = standalone accent ;; DW CP850_ALT_K1_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 40,0EFH ;; scan code, acute ;; CP850_ALT_K1_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_ALT_K1_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Third Shift ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_THIRD_K1_END-$ ;; length of state section DB THIRD_SHIFT ;; State ID DW ANY_KB ;; Keyboard Type DB -1,-1 ;; Buffer entry for error character ;; DW CP850_THIRD_K1_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE ;; xlat options: DB 1 ;; number of entries DB 40,0F9H ;; scan code, diaresis ;; CP850_THIRD_K1_T1_END: ;; ;; DW 0 ;; Last xlat table CP850_THIRD_K1_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Acute Lower Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_AC_LO_END-$ ;; length of state section DB ACUTE_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW CP850_AC_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 1 ;; number of scans DB 21,0ECH ;; y acute ;; CP850_AC_LO_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_AC_LO_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Acute Upper Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_AC_UP_END-$ ;; length of state section DB ACUTE_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 39,0 ;; error character = standalone accent ;; DW CP850_AC_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 5 ;; number of scans DB 21,0EDH ;; Y acute DB 22,0E9H ;; U acute DB 23,0D6H ;; I acute DB 24,0E0H ;; O acute DB 30,0B5H ;; A acute ;; CP850_AC_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_AC_UP_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Diaresis Lower ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_DI_LO_END-$ ;; length of state section DB DIARESIS_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB '"',0 ;; error character = standalone accent ;; DW CP850_DI_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 0 ;; number of scans ;; CP850_DI_LO_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_DI_LO_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Diaresis Upper ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_DI_UP_END-$ ;; length of state section DB DIARESIS_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB '"',0 ;; error character = standalone accent ;; DW CP850_DI_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 2 ;; number of scans DB 18,0D3H ;; E diaeresis DB 23,0D8H ;; I diaeresis ;; CP850_DI_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_DI_UP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Grave Upper ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_GR_UP_END-$ ;; length of state section DB GRAVE_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 96,0 ;; error character = standalone accent ;; DW CP850_GR_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 5 ;; number of scans DB 30,0B7H ;; A grave DB 18,0D4H ;; E grave DB 23,0DEH ;; I grave DB 24,0E3H ;; O grave DB 22,0EBH ;; U grave CP850_GR_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_GR_UP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Tilde Lower ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_TI_LO_END-$ ;; length of state section DB TILDE_LOWER ;; State ID DW ANY_KB ;; Keyboard Type DB 07EH,0 ;; error character = standalone accent ;; DW CP850_TI_LO_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 2 ;; number of scans DB 30,0C6H ;; scan code,ASCII - a tilde DB 24,0E4H ;; scan code,ASCII - o tilde ;; CP850_TI_LO_T1_END: ;; ;; DW 0 ;; ;; CP850_TI_LO_END: ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Tilde Upper Case ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_TI_UP_END-$ ;; length of state section DB TILDE_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 07eH,0 ;; error character = standalone accent ;; DW CP850_TI_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 2 ;; number of scans DB 30,0C7H ;; scan code,ASCII - A tilde DB 24,0E5H ;; scan code,ASCII - O tilde ;; CP850_TI_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_TI_UP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE PAGE: 850 ;; STATE: Circumflex Upper ;; KEYBOARD TYPES: Any ;; TABLE TYPE: Translate ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW CP850_CI_UP_END-$ ;; length of state section DB CIRCUMFLEX_UPPER ;; State ID DW ANY_KB ;; Keyboard Type DB 94,0 ;; error character = standalone accent ;; DW CP850_CI_UP_T1_END-$ ;; Size of xlat table DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: DB 5 ;; number of scans DB 30,0B6H ;; A circumflex DB 18,0D2H ;; E circumflex DB 23,0D7H ;; I circumflex DB 24,0E2H ;; O circumflex DB 22,0EAH ;; U circumflex ;; CP850_CI_UP_T1_END: ;; ;; DW 0 ;; Size of xlat table - null table ;; CP850_CI_UP_END: ;; length of state section ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; DW 0 ;; LAST STATE ;; CP850_XLAT_END: ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; CODE ENDS ;; END ;;