]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/KBDGSTAT.ASM
4 title CP
/DOS KbdGetStatus
11 kbddata
segment word public 'kbddata'
14 KbdBitMask dw CookedModeOn
or EchoOn
16 public KbdTurnAroundCharacter
17 KbdTurnAroundCharacter dw 0dh
19 public KbdInterimCharFlags
20 KbdInterimCharFlags dw 0
24 kbdxxx
segment byte public 'kbd'
25 assume
cs:kbdxxx
,ds:nothing
,es:nothing
,ss:nothing
27 ; ************************************************************************* *
29 ; * MODULE: kbdGetStatus
34 ; *************************************************************************
41 handle dw ?
; kbd handle
42 data dd ?
; data area pointer
47 Enter KbdGetStatus
; push registers
49 les di,[bp].data ; setup area where status is
55 mov ax,KbdBitMask
; save kbd bit mask in
56 mov es:[di].Bit_Mask
,ax ; return data area
58 mov ax,KbdTurnAroundCharacter
; save turn around character
59 mov es:[di].Turn_Around_Char
,ax
61 mov ax,KbdInterimCharFlags
; save interim character flag
62 mov es:[di].Interim_Char_Flags
,ax
65 int 16h
; get kbd shift status
68 mov es:[di].Status_Shift_State
,ax ; save it in return data
70 Mexit
; restore registers
72 ret size
str - 6 ; return