📄 kdfcf.asm
字号:
;;
IFF CEDILLA,NOT ;;
GOTO TILDE_PROC ;;
ENDIFF ;;
;;
RESET_NLS1 ;;
CEDILLA_ON: ;;
IFF R_ALT_SHIFT,NOT ;;
XLATT CEDILLA_SPACE ;;
ENDIFF ;;
IFF EITHER_CTL,NOT ;;
ANDF EITHER_ALT,NOT ;;
IFF EITHER_SHIFT ;;
IFF CAPS_STATE ;;
XLATT CEDILLA_LOWER ;;
ELSEF ;;
XLATT CEDILLA_UPPER ;;
ENDIFF ;;
ELSEF ;;
IFF CAPS_STATE ;;
XLATT CEDILLA_UPPER ;;
ELSEF ;;
XLATT CEDILLA_LOWER ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;
INVALID_CEDILLA: ;;
PUT_ERROR_CHAR CEDILLA_LOWER ;; standalone accent
BEEP ;; Invalid dead key combo.
GOTO NON_DEAD ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TILDE ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
TILDE_PROC: ;;
;;
IFF TILDE,NOT ;;
GOTO NON_DEAD ;;
ENDIFF ;;
;;
RESET_NLS1 ;;
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 ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
NON_DEAD: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Upper, lower and third shifts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;
;;
IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
IFF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
IFF RUS_MODE,NOT ;;
ANDF LC_E0,NOT ;; Enhanced keys are not
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 ;; Third and Fourth shifts
ELSEF
IFF LC_E0, NOT
IFF EITHER_SHIFT ;;
XLATT NON_ALPHA_UPPER_SEC ;;
IFF CAPS_STATE ;;
XLATT ALPHA_LOWER_SEC ;;
ELSEF ;;
XLATT ALPHA_UPPER_SEC ;;
ENDIFF ;;
ELSEF ;;
XLATT NON_ALPHA_LOWER_SEC ;;
IFF CAPS_STATE ;;
XLATT ALPHA_UPPER_SEC ;;
ELSEF ;;
XLATT ALPHA_LOWER_SEC ;;
ENDIFF ;;
ENDIFF
ENDIFF
ENDIFF ;;
ELSEF ;; ctl off, alt on at this point
IFF R_ALT_SHIFT ;; ALTGr
ANDF EITHER_SHIFT,NOT ;;
XLATT THIRD_SHIFT ;;
ENDIFF ;;
ENDIFF ;;
ELSEF
IFF EITHER_ALT,NOT ;;
XLATT CTRL_CASE
ELSEF ;;
IFKBD XT_KB+AT_KB ;; XT, AT, keyboards.
IFF EITHER_SHIFT,NOT ;; only.
XLATT THIRD_SHIFT ;; ALT + Ctrl
ENDIFF ;;
ENDIFF ;;
ENDIFF
ENDIFF ;;
;;
;**************************************;;
;;
EXIT_STATE_LOGIC ;;
;;
LOGIC_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;**********************************************************************
;; CF Common Translate Section
;; This section contains translations for the lower 128 characters
;; only since these will never change from code page to code page.
;; Some common Characters are included from 128 - 165 where appropriate.
;; In addition the dead key "Set Flag" tables are here since the
;; dead keys are on the same keytops for all code pages.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
PUBLIC CF_COMMON_XLAT ;;
CF_COMMON_XLAT: ;;
;;
DW COMMON_XLAT_END-$ ;; length of section
DW -1 ;; code page
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: COMMON
;; STATE: low shift Dead_lower_SEC
;; KEYBOARD TYPES: G SECONDARY MODE
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_SC_LO_END-$ ;; length of state section
DB DEAD_LOWER_SEC ;; State ID
DW ANY_KB ;; Keyboard Type
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW 3 ;; number of entries
DB 27 ;;
FLAG TILDE ;;
DB 13 ;;
FLAG CEDILLA ;;
DB 39 ;;
FLAG ACUTE ;;
;;
COM_SC_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: COMMON
;; STATE: low shift Dead_lower
;; KEYBOARD TYPES: G
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_PL_LO_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 1 ;; number of entries
DB 26 ;;
FLAG CIRCUMFLEX ;;
;;
COM_PL_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: COMMON
;; STATE: low shift Dead_UPPER
;; KEYBOARD TYPES: G
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_PL_UP_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 1 ;; number of entries
DB 26 ;;
FLAG DIARESIS ;;
;;
COM_PL_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: COMMON
;; STATE: Third Shift Dead Key
;; KEYBOARD TYPES: G
;; TABLE TYPE: Flag Table
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CZ_TH_END-$ ;; length of state section
DB DEAD_THIRD ;; State ID
DW ANY_KB ;; Keyboard Type
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW 1 ;; number of entries
DB 26 ;;
FLAG GRAVE ;;
;;
COM_CZ_TH_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Upper Case
;; KEYBOARD: G_KB, P_KB, P12_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_UP_1_END-$ ;; Length of state section
DB NON_ALPHA_UPPER ;;
DW G_KB+P_KB+P12_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_005300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 4 ;; number of scans
DB 7,'?' ;;
DB 41,'\' ;;
DB 51,27H ;; single quote
DB 52,'"' ;; double quote
CF_005300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_UP_1_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Upper Case SECONDARY KEYBOARD MODE
;; KEYBOARD: all
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_UP_2_END-$ ;; Length of state section
DB NON_ALPHA_UPPER_SEC ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_005301-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 6 ;; number of scans
DB 2,161 ;; This character may be wrong!!!
DB 4,156 ;;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -