You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1331 lines
42 KiB
1331 lines
42 KiB
PAGE ,132
|
|
|
|
; * IBM CONFIDENTIAL * Jan 9 1990 *
|
|
|
|
TITLE PC DOS 3.30 LAD Keyboard Definition File
|
|
;; LATEST CHANGE ALT & CTL
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; PC DOS 3.3 - LAD Keyboard Support - Keyboard Defintion File
|
|
; (C) Copyright IBM Corp 1987
|
|
;
|
|
; This file contains the keyboard tables for Latin American.
|
|
; The data for this file is taken from the project named
|
|
; CARNIVAL (developed in Toronto, Canada - May 86).
|
|
;
|
|
; The LAD keyboard support is based on the following:
|
|
; PC - 246 (Spanish)
|
|
; PC/AT - 246 (Spanish)
|
|
; PC, PC/XT - 246 (Spanish)
|
|
; Ferrari G - 171
|
|
; Ferrari P (?) - 171
|
|
;
|
|
; AUTHOR: Gordon Giddings, 28969
|
|
; IBM Canada Ltd.
|
|
;
|
|
; DATE: September 15, 1986
|
|
;
|
|
;
|
|
; To update KEYBOARD.SYS....enter the following info into KDF.ASM
|
|
;
|
|
; FILE HEADER
|
|
; ===========
|
|
; DB 'LA' ; language code
|
|
; DW OFFSET LA_LANG_ENT,0 ; language ptr
|
|
;
|
|
; LANGUAGE ENTRY
|
|
; ==============
|
|
; EXTRN LA_LOGIC:NEAR
|
|
; EXTRN LA_437_XLAT:NEAR
|
|
; EXTRN LA_850_XLAT:NEAR
|
|
;
|
|
; LA_LANG_ENT: DB 'LA' ;
|
|
; DW 0 ; reserved
|
|
; DW OFFSET LA_LOGIC,0 ; pointer to LANG kb table
|
|
; DW 2 ; number of code pages
|
|
; DW 437 ; code page
|
|
; DW OFFSET LA_437_XLAT,0 ; table pointer
|
|
; DW 850 ; code page
|
|
; DW OFFSET LA_850_XLAT,0 ; table pointer
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
INCLUDE KEYBSHAR.INC ;
|
|
INCLUDE POSTEQU.INC ;
|
|
INCLUDE KEYBMAC.INC ;
|
|
;
|
|
PUBLIC LA_LOGIC ;
|
|
PUBLIC LA_437_XLAT ;
|
|
PUBLIC LA_850_XLAT ;
|
|
;
|
|
CODE SEGMENT PUBLIC 'CODE' ;
|
|
ASSUME CS:CODE,DS:CODE ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; Standard translate table options are a liner search table
|
|
; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; SP State Logic
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
LA_LOGIC: ;
|
|
DW LOGIC_END-$ ; length
|
|
DW 0 ; special features
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; 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 ;;
|
|
SET_FLAG DEAD_UPPER ;;
|
|
ELSEF ;;
|
|
SET_FLAG DEAD_LOWER ;;
|
|
ENDIFF ;;
|
|
ENDIFF ;;
|
|
IFF EITHER_SHIFT,NOT ;;
|
|
IFKBD XT_KB+AT_KB ;;
|
|
IFF EITHER_CTL ;;
|
|
ANDF ALT_SHIFT ;;
|
|
SET_FLAG DEAD_THIRD ;;
|
|
ENDIFF ;;
|
|
ELSEF ;;
|
|
IFF EITHER_CTL,NOT ;;
|
|
ANDF R_ALT_SHIFT ;;
|
|
SET_FLAG DEAD_THIRD ;;
|
|
ENDIFF ;;
|
|
ENDIFF ;;
|
|
ENDIFF ;;
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; ACUTE ACCENT TRANSLATIONS
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
ACUTE_PROC: ;
|
|
;
|
|
IFF ACUTE,NOT ;
|
|
GOTO DIARESIS_PROC ;
|
|
ENDIFF ;
|
|
;
|
|
RESET_NLS ;
|
|
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 ;
|
|
IFF R_ALT_SHIFT,NOT ;
|
|
XLATT DIARESIS_SPACE ; exist for 437 so beep for
|
|
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 CIRCUMFLEX_PROC ;
|
|
ENDIFF ;
|
|
;
|
|
RESET_NLS ;
|
|
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 ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CIRCUMFLEX ACCENT TRANSLATIONS
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
CIRCUMFLEX_PROC: ;
|
|
;
|
|
IFF CIRCUMFLEX,NOT ;
|
|
GOTO NON_DEAD ;
|
|
ENDIFF ;
|
|
;
|
|
RESET_NLS ;
|
|
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 ;
|
|
;;***BD ADDED FOR ALT, CTRL CASES ;
|
|
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 ;
|
|
;;***BD END OF ADDITION
|
|
;
|
|
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.
|
|
;;***BD ADDED FOR NUMERIC PAD
|
|
IFF NUM_STATE,NOT ;
|
|
XLATT NUMERIC_PAD ;
|
|
ENDIFF ;
|
|
;;***BD END OF ADDITION
|
|
XLATT NON_ALPHA_UPPER ;
|
|
IFF CAPS_STATE ;
|
|
XLATT ALPHA_LOWER ;
|
|
ELSEF ;
|
|
XLATT ALPHA_UPPER ;
|
|
ENDIFF ;
|
|
ELSEF ;
|
|
;;***BD ADDED FOR NUMERIC PAD
|
|
IFF NUM_STATE ;
|
|
XLATT NUMERIC_PAD ;
|
|
ENDIFF ;
|
|
;;***BD END OF ADDITION
|
|
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 ;
|
|
;
|
|
EXIT_STATE_LOGIC ;
|
|
;
|
|
LOGIC_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; SP 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 LA_COMMON_XLAT ;
|
|
LA_COMMON_XLAT: ;
|
|
;
|
|
DW COMMON_XLAT_END-$ ; length of section
|
|
DW -1 ; code page
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Lower Shift Dead Key
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Flag Table
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_DK_LO_K1_END-$ ; length of state section
|
|
DB DEAD_LOWER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
; Set Flag Table
|
|
DW 1 ; number of entries
|
|
DB 26 ; scan code
|
|
FLAG ACUTE ;
|
|
;
|
|
COM_DK_LO_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Lower Shift Dead Key
|
|
; KEYBOARD TYPES: AT + XT +
|
|
; TABLE TYPE: Flag Table
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
DW COM_DK_LO_K2_END-$ ; length of state section
|
|
DB DEAD_LOWER ; State ID
|
|
DW AT_KB+XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
; Set Flag Table
|
|
DW 2 ; number of entries
|
|
DB 26 ; scan code
|
|
FLAG ACUTE ; flag bit to set
|
|
DB 27 ;
|
|
FLAG GRAVE ;
|
|
;
|
|
;
|
|
COM_DK_LO_K2_END: ;
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Upper Shift Dead Key
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Flag Table
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_DK_UP_K1_END-$ ; length of state section
|
|
DB DEAD_UPPER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
; Set Flag Table
|
|
DW 1 ; number of entries
|
|
DB 26 ; scan code
|
|
FLAG DIARESIS ;
|
|
;
|
|
COM_DK_UP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Third Shift Dead Key
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Flag Table
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_TH_DK_UP_K1_END-$ ; length of state section
|
|
DB DEAD_THIRD ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
; Set Flag Table
|
|
DW 2 ; number of entries
|
|
DB 40 ; scan code
|
|
FLAG CIRCUMFLEX ;
|
|
DB 43 ; scan code
|
|
FLAG GRAVE ;
|
|
;
|
|
COM_TH_DK_UP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Upper Shift Dead Key
|
|
; KEYBOARD TYPES: AT + XT +
|
|
; TABLE TYPE: Flag Table
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
DW COM_DK_UP_END-$ ; length of state section
|
|
DB DEAD_UPPER ; State ID
|
|
DW AT_KB+XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
; Set Flag Table
|
|
DW 2 ; number of entries
|
|
DB 26 ; scan code
|
|
FLAG DIARESIS ; flag bit to set
|
|
DB 27 ;
|
|
FLAG CIRCUMFLEX ;
|
|
;
|
|
COM_DK_UP_END: ;
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Lower Case
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_LO_GP_K1_END-$ ; length of state section
|
|
DB ALPHA_LOWER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_LO_GP_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 1 ; number of entries
|
|
DB 39,164 ; n-tilde
|
|
COM_AL_LO_GP_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_LO_GP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Lower Case
|
|
; KEYBOARD TYPES: AT
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_LO_K1_END-$ ; length of state section
|
|
DB ALPHA_LOWER ; State ID
|
|
DW AT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_LO_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 2 ; number of entries
|
|
DB 39,164 ; n-tilde
|
|
DB 43,135 ; c-cedilla
|
|
COM_AL_LO_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_LO_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Numeric Key Pad
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_PAD_K1_END-$ ; length of state section
|
|
DB NUMERIC_PAD ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_PAD_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 1 ; number of entries
|
|
DB 83,'.' ; decimal seperator = .
|
|
COM_PAD_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_PAD_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; BD - ADDED FOR ALT CASE
|
|
;
|
|
; CODE PAGE: Common
|
|
; STATE: Alt Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_ALT_K1_END-$ ; length of state section
|
|
DB ALT_CASE ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_ALT_K1_T1_END-$ ; Size of xlat table
|
|
DB TYPE_2_TAB ; xlat options:
|
|
DB 0 ; number of entries
|
|
;;***BD THIS ENTRY IS A TEST ENTRY
|
|
;; DB 53,225,0 ; TEST ENTRY
|
|
COM_ALT_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_ALT_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; BD - ADDED FOR CTRL CASE
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; CODE PAGE: Common
|
|
;; STATE: Ctrl Case
|
|
;; KEYBOARD TYPES: AT
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
DW COM_CTRL_K1_END-$ ;; length of state section
|
|
DB CTRL_CASE ;; State ID
|
|
DW AT_KB ;; Keyboard Type
|
|
DB -1,-1 ;; Buffer entry for error character
|
|
;;
|
|
DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
|
|
DB TYPE_2_TAB ;; xlat options:
|
|
DB 2 ;; number of entries
|
|
;;***BD THIS ENTRY IS A TEST ENTRY
|
|
;; DB 53,226,0 ;; TEST ENTRY
|
|
DB 43,-1,-1 ;; invalid slash
|
|
DB 41,28,41 ;; valid slash
|
|
COM_CTRL_K1_T1_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
COM_CTRL_K1_END: ;;
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; CODE PAGE: Common
|
|
;; STATE: Ctrl Case
|
|
;; KEYBOARD TYPES: XT_KB
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
DW COM_CTRL_K2_END-$ ;; length of state section
|
|
DB CTRL_CASE ;; State ID
|
|
DW XT_KB ;; Keyboard Type
|
|
DB -1,-1 ;; Buffer entry for error character
|
|
;;
|
|
DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
|
|
DB TYPE_2_TAB ;; xlat options:
|
|
DB 1 ;; number of entries
|
|
;;***BD THIS ENTRY IS A TEST ENTRY
|
|
;; DB 53,226,0 ;; TEST ENTRY
|
|
DB 43,-1,-1 ;; invalid slash
|
|
COM_CTRL_K2_T2_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
COM_CTRL_K2_END: ;;
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Lower Case
|
|
; KEYBOARD TYPES: XT +
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_LO_K2_END-$ ; length of state section
|
|
DB ALPHA_LOWER ; State ID
|
|
DW XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_LO_K2_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 2 ; number of entries
|
|
DB 39,164 ; n-tilde
|
|
DB 41,135 ; c-cedilla
|
|
COM_AL_LO_K2_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_LO_K2_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Upper Case
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_UP_GP_K1_END-$ ; length of state section
|
|
DB ALPHA_UPPER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_UP_GP_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 1 ; number of entries
|
|
DB 39,165 ; N-tilde
|
|
COM_AL_UP_GP_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_UP_GP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Upper Case
|
|
; KEYBOARD TYPES: AT
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_UP_K1_END-$ ; length of state section
|
|
DB ALPHA_UPPER ; State ID
|
|
DW AT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_UP_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 2 ; number of entries
|
|
DB 39,165 ; N-tilde
|
|
DB 43,128 ; C-cedilla
|
|
COM_AL_UP_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_UP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Alpha Upper Case
|
|
; KEYBOARD TYPES: XT +
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_AL_UP_K2_END-$ ; length of state section
|
|
DB ALPHA_UPPER ; State ID
|
|
DW XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_AL_UP_K2_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 2 ; number of entries
|
|
DB 39,165 ; N-tilde
|
|
DB 41,128 ; C-cedilla
|
|
COM_AL_UP_K2_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_AL_UP_K2_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Lower Case
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_NA_LO_GP_K1_END-$ ; length of state section
|
|
DB NON_ALPHA_LOWER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_LO_GP_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 8 ; number of entries
|
|
DB 12,"'" ; '
|
|
DB 13,'¨' ; ¨
|
|
DB 27,'+' ; +
|
|
DB 40,'{' ; |
|
|
DB 41,'|' ; |
|
|
DB 43,'}' ; |
|
|
DB 53,'-' ; -
|
|
DB 86,'<' ; <
|
|
COM_NA_LO_GP_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_LO_GP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Lower Case
|
|
; KEYBOARD TYPES: AT
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_NA_LO_K2_END-$ ; length of state section
|
|
DB NON_ALPHA_LOWER ; State ID
|
|
DW AT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_LO_K2_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 3 ; number of entries
|
|
DB 40,';' ; ;
|
|
DB 41,'<' ; <
|
|
DB 53,"'" ; quote
|
|
COM_NA_LO_K2_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_LO_K2_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Lower Case
|
|
; KEYBOARD TYPES: XT +
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_NA_LO_K3_END-$ ; length of state section
|
|
DB NON_ALPHA_LOWER ; State ID
|
|
DW XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_LO_K3_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 3 ; number of entries
|
|
DB 40,';' ; ;
|
|
DB 43,'<' ; <
|
|
DB 53,"'" ; quote
|
|
COM_NA_LO_K3_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_LO_K3_END: ;
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Upper Case
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_NA_UP_GP_K1_END-$ ; length of state section
|
|
DB NON_ALPHA_UPPER ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_UP_GP_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 16 ; number of entries
|
|
DB 3,'"' ; "
|
|
DB 7,'&' ; &
|
|
DB 8,'/' ; /
|
|
DB 9,'(' ; (
|
|
DB 10,')' ; )
|
|
DB 11,'=' ; =
|
|
DB 12,'?' ; ?
|
|
DB 13,'' ;
|
|
DB 27,'*' ; *
|
|
DB 40,'[' ; [
|
|
DB 41,'ø' ; ø
|
|
DB 43,']' ; ]
|
|
DB 51,';' ; ;
|
|
DB 52,':' ; :
|
|
DB 53,'_' ; _
|
|
DB 86,'>' ; >
|
|
COM_NA_UP_GP_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_UP_GP_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Upper Case
|
|
; KEYBOARD TYPES: AT
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_NA_UP_K2_END-$ ; length of state section
|
|
DB NON_ALPHA_UPPER ; State ID
|
|
DW AT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_UP_K2_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 8 ; number of entries
|
|
DB 41,'>' ;
|
|
DB 2,0ADH ; UPSIDE DOWN
|
|
DB 3,168 ; UPSIDE DOWN ?
|
|
DB 7,'/' ;
|
|
DB 40,':' ;
|
|
DB 51,'?' ;
|
|
DB 52,'!' ;
|
|
DB 53,'"' ;
|
|
COM_NA_UP_K2_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_UP_K2_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Non-Alpha Upper Case
|
|
; KEYBOARD TYPES: XT +
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
DW COM_NA_UP_K3_END-$ ; length of state section
|
|
DB NON_ALPHA_UPPER ; State ID
|
|
DW XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_NA_UP_K3_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 8 ; number of entries
|
|
DB 43,'>' ;
|
|
DB 2,0ADH ; UPSIDE DOWN
|
|
DB 3,168 ; UPSIDE DOWN ?
|
|
DB 7,'/' ;
|
|
DB 40,':' ;
|
|
DB 51,'?' ;
|
|
DB 52,'!' ;
|
|
DB 53,'"' ;
|
|
COM_NA_UP_K3_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_NA_UP_K3_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Third Shift
|
|
; KEYBOARD TYPES: G + P12
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_THIRD_K1_END-$ ; length of state section
|
|
DB THIRD_SHIFT ; State ID
|
|
DW G_KB+P12_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_THIRD_K1_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 4 ; number of entries
|
|
DB 12,'\' ; \
|
|
DB 16,'@' ; @
|
|
DB 27,'~' ; ~
|
|
DB 41,'ª' ; ª
|
|
COM_THIRD_K1_T1_END: ;
|
|
;
|
|
DW 0 ; Last xlat table
|
|
COM_THIRD_K1_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Third Shift
|
|
; KEYBOARD TYPES: AT
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_THIRD_K2_END-$ ; length of state section
|
|
DB THIRD_SHIFT ; State ID
|
|
DW AT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_THIRD_K2_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 4 ; number of entries
|
|
DB 41,'\' ;
|
|
DB 3,'@' ;
|
|
DB 26,'[' ;
|
|
DB 27,']' ;
|
|
COM_THIRD_K2_T1_END: ;
|
|
;
|
|
DW 0 ; Last xlat table
|
|
COM_THIRD_K2_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Third Shift
|
|
; KEYBOARD TYPES: XT +
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_THIRD_K3_END-$ ; length of state section
|
|
DB THIRD_SHIFT ; State ID
|
|
DW XT_KB ; Keyboard Type
|
|
DB -1,-1 ; Buffer entry for error character
|
|
;
|
|
DW COM_THIRD_K3_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE ; xlat options:
|
|
DB 3 ; number of entries
|
|
DB 3,'@' ;
|
|
DB 26,'[' ;
|
|
DB 27,']' ;
|
|
COM_THIRD_K3_T1_END: ;
|
|
;
|
|
DW 0 ; Last xlat table
|
|
COM_THIRD_K3_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Acute Lower Case
|
|
; KEYBOARD TYPES: All
|
|
; 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 5 ; number of scans
|
|
; DB 18,'‚' ; scan code,ASCII - e
|
|
; DB 30,' ' ; scan code,ASCII - a
|
|
; DB 24,'¢' ; scan code,ASCII - o
|
|
; DB 22,'£' ; scan code,ASCII - u
|
|
; DB 23,'¡' ; scan code,ASCII - i
|
|
;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: All
|
|
;; 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,'�' ; scan code,ASCII - e
|
|
;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: All
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; DW COM_AC_LA_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_LA_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_LA_T1_END: ;
|
|
; ;
|
|
; DW 0 ; Size of xlat table - null table
|
|
; ;
|
|
;COM_AC_LA_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; CODE PAGE: Common
|
|
;; STATE: Diaresis Lower Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_DI_LO_END-$ ; length of state section
|
|
DB DIARESIS_LOWER ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 249,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,'‰' ; scan code,ASCII - e
|
|
DB 30,'„' ; scan code,ASCII - a
|
|
DB 24,'”' ; scan code,ASCII - o
|
|
DB 22,'�' ; scan code,ASCII - u
|
|
DB 23,'‹' ; scan code,ASCII - i
|
|
DB 21,'˜' ; scan code,ASCII - y
|
|
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 Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_DI_UP_END-$ ; length of state section
|
|
DB DIARESIS_UPPER ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 249,0 ; 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 30,'Ž' ; scan code,ASCII - a
|
|
DB 24,'™' ; scan code,ASCII - o
|
|
DB 22,'š' ; scan code,ASCII - u
|
|
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: Grave Lower
|
|
; KEYBOARD TYPES: All
|
|
; 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 30,'…' ; scan code,ASCII - a
|
|
DB 24,'•' ; scan code,ASCII - o
|
|
DB 22,'—' ; scan code,ASCII - u
|
|
DB 23,'�' ; scan code,ASCII - i
|
|
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: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_GR_LA_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_LA_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_LA_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_GR_LA_END: ; length of state section
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Circumflex Lower
|
|
; KEYBOARD TYPES: All
|
|
; 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 30,'ƒ' ; scan code,ASCII - a
|
|
DB 24,'“' ; scan code,ASCII - o
|
|
DB 22,'–' ; scan code,ASCII - u
|
|
DB 23,'Œ' ; scan code,ASCII - i
|
|
COM_CI_LO_T1_END: ;
|
|
;
|
|
DW 0 ;
|
|
;
|
|
COM_CI_LO_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Common
|
|
; STATE: Circumflex Space Bar
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW COM_CI_LA_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_LA_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_LA_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
COM_CI_LA_END: ; length of state section
|
|
;
|
|
DW 0 ; Last State
|
|
COMMON_XLAT_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; SP Specific Translate Section for 437
|
|
; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
PUBLIC LA_437_XLAT ;
|
|
LA_437_XLAT: ;
|
|
;
|
|
DW CP437_XLAT_END-$ ; length of section
|
|
DW 437 ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Specific 437
|
|
; STATE: Acute Lower Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP437_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 CP437_AC_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 30,' ' ; scan code,ASCII - a
|
|
DB 24,'¢' ; scan code,ASCII - o
|
|
DB 22,'£' ; scan code,ASCII - u
|
|
DB 23,'¡' ; scan code,ASCII - i
|
|
CP437_AC_LO_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
CP437_AC_LO_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: 437
|
|
; STATE: Acute Upper Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP437_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 CP437_AC_UP_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
|
|
DB 1 ; number of scans
|
|
DB 18,'�' ; scan code,ASCII - e
|
|
CP437_AC_UP_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
CP437_AC_UP_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: 437
|
|
; STATE: Acute Space Bar
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP437_AC_LA_END-$ ; length of state section
|
|
DB ACUTE_SPACE ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 39,0 ; error character = standalone accent
|
|
;
|
|
DW CP437_AC_LA_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
|
|
CP437_AC_LA_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
CP437_AC_LA_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW 0 ; LAST STATE
|
|
;
|
|
CP437_XLAT_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; SP Specific Translate Section for 850
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
PUBLIC LA_850_XLAT ;
|
|
LA_850_XLAT: ;
|
|
;
|
|
DW CP850_XLAT_END-$ ; length of section
|
|
DW 850 ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: Specific 850
|
|
; STATE: Acute Lower Case
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP850_AC_LO_END-$ ; length of state section
|
|
DB ACUTE_LOWER ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 0EFH,0 ; error character = standalone accent
|
|
;
|
|
DW CP850_AC_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 30,' ' ; scan code,ASCII - a
|
|
DB 24,'¢' ; scan code,ASCII - o
|
|
DB 22,'£' ; scan code,ASCII - u
|
|
DB 23,'¡' ; scan code,ASCII - i
|
|
; DB 21,0ECH add in later date ; 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: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP850_AC_UP_END-$ ; length of state section
|
|
DB ACUTE_UPPER ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 0EFH,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 18,'�' ; scan code,ASCII - e
|
|
DB 30,0B5H ; A acute
|
|
DB 23,0D6H ; I acute
|
|
DB 24,0E0H ; O acute
|
|
DB 22,0E9H ; U acute
|
|
; DB 21,0EDH add in later date ; Y acute
|
|
CP850_AC_UP_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
CP850_AC_UP_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: 850
|
|
; STATE: Acute Space Bar
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP850_AC_LA_END-$ ; length of state section
|
|
DB ACUTE_SPACE ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 0EFH,0 ; error character = standalone accent
|
|
;
|
|
DW CP850_AC_LA_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
|
|
DB 1 ; number of scans
|
|
DB 57,0EFH ; scan code,ASCII - SPACE
|
|
CP850_AC_LA_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
;
|
|
CP850_AC_LA_END: ;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: 850
|
|
; STATE: Diaresis Upper
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP850_DI_UP_END-$ ; length of state section
|
|
DB DIARESIS_UPPER ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 249,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: Diaresis Space Bar
|
|
; KEYBOARD TYPES: All
|
|
; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
DW CP850_DI_LA_END-$ ; length of state section
|
|
DB DIARESIS_SPACE ; State ID
|
|
DW ANY_KB ; Keyboard Type
|
|
DB 249,0 ; error character = standalone accent
|
|
;
|
|
DW CP850_DI_LA_T1_END-$ ; Size of xlat table
|
|
DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
|
|
DB 1 ; number of scans
|
|
DB 57,249 ; error character = standalone accent
|
|
CP850_DI_LA_T1_END: ;
|
|
;
|
|
DW 0 ; Size of xlat table - null table
|
|
CP850_DI_LA_END: ; length of state section
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
; CODE PAGE: 850
|
|
; STATE: Grave Upper
|
|
; KEYBOARD TYPES: All
|
|
; 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: Circumflex Upper
|
|
; KEYBOARD TYPES: All
|
|
; 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 ;
|
|
|