📄 kdfbr2.asm
字号:
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+XT_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.
; <verav>: support for numeric pad comma/del key ;;
iff NUM_STATE,NOT ;;
xlatt NUMERIC_PAD ;;
endiff ;;
; <verav> ;;
XLATT NON_ALPHA_UPPER ;;
IFF CAPS_STATE ;;
XLATT ALPHA_LOWER ;;
ELSEF ;;
XLATT ALPHA_UPPER ;;
ENDIFF ;;
ELSEF ;;
; <verav>: support for numeric pad comma/del key ;;
iff NUM_STATE ;;
xlatt NUMERIC_PAD ;;
endiff ;;
; <verav> ;;
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 ;; retirei o bloco
; 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
andf EITHER_CTL ;; Cuidado!!!!!!
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 BR2_COMMON_XLAT ;;
BR2_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 1ah ;; scan code
FLAG ACUTE ;; flag bit to set
DB 28H ;; <verav 12/91>
FLAG TILDE ;;
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 28h ;; scan code <verav 12/91>
FLAG CIRCUMFLEX ;; flag bit to set
DB 7 ;; <verav 12/91>
FLAG DIARESIS ;;
DB 1ah ;; <verav 12/91>
FLAG GRAVE ;;
;;
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,'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -