📄 kdfcp.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
GRAVE_PROC: ;;
;;
IFF GRAVE,NOT ;;
GOTO NON_DEAD ;;
ENDIFF ;;
;;
RESET_NLS1 ;;
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 ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
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 ;;
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_LAT ;;
IFF CAPS_STATE ;;
XLATT ALPHA_LOWER_LAT ;;
ELSEF ;;
XLATT ALPHA_UPPER_LAT ;;
ENDIFF ;;
ELSEF ;;
XLATT NON_ALPHA_LOWER_LAT ;;
IFF CAPS_STATE ;;
XLATT ALPHA_UPPER_LAT ;;
ELSEF ;;
XLATT ALPHA_LOWER_LAT ;;
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
;; 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: CIRCUMFLEX Lower Case
;; 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 30,'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -