Hi! Here is the related RBIL part for you:

--------B-1603-------------------------------
INT 16 - KEYBOARD - SET TYPEMATIC RATE AND DELAY
        AH = 03h
        AL = subfunction
            00h set default delay and rate (PCjr and some PS/2)
            01h increase delay before repeat (PCjr)
            02h decrease repeat rate by factor of 2 (PCjr)
            03h increase delay and decrease repeat rate (PCjr)
            04h turn off typematic repeat (PCjr and some PS/2)
            05h set repeat rate and delay (AT,PS)
                BH = delay value (00h = 250ms to 03h = 1000ms)
                BL = repeat rate (00h=30/sec to 0Ch=10/sec [def] to 1Fh=2/sec)
            06h get current typematic rate and delay (newer PS/2s)
                Return: BL = repeat rate (above)
                        BH = delay (above)
Return: AH destroyed by many BIOSes
Note:   use INT 16/AH=09h to determine whether some of the subfunctions are
          supported
SeeAlso: INT 16/AH=09h,AH=29h"HUNTER",AH=2Ah"HUNTER"



--------B-1609-------------------------------
INT 16 - KEYBOARD - GET KEYBOARD FUNCTIONALITY
        AH = 09h
Return: AL = supported keyboard functions (see #00585)
        AH destroyed by many BIOSes
Note:   this function is only available if bit 6 of the second feature byte
          returned by INT 15/AH=C0h is set (see #00509)
SeeAlso: AH=03h,AH=0Ah,AH=10h,AH=11h,AH=12h,AH=20h,AH=21h,AH=22h,INT 15/AH=C0h

Bitfields for supported keyboard functions:
Bit(s)  Description     (Table 00585)
 7      reserved
 6      INT 16/AH=20h-22h supported (122-key keyboard support)
 5      INT 16/AH=10h-12h supported (enhanced keyboard support)
 4      INT 16/AH=0Ah supported
 3      INT 16/AX=0306h supported
 2      INT 16/AX=0305h supported
 1      INT 16/AX=0304h supported
 0      INT 16/AX=0300h supported
SeeAlso: #00511

And here is what FreeDOS "MODE /?" has to say about it:

...

> MODE CON[:] [RATE=...] [DELAY=...]
> (default rate 20, default delay 1)
> Rate can be 1..32 for 2..30 char/sec,
> delay can be 1..4 for 1/4..4/4 sec.

Our MODE just calls the BIOS. There is no DOS typematic rate driver, DOS only asks the BIOS to set the rate for it.

Regards, Eric



Eric proposed:
"For this, you start DEBUG, then type:
a cs:100
mov ax,0305
mov bx,0000
int 16
int 20

g
q
"

As Ah=3 int 16h is marked as PCJr only:
INT 16 - KEYBOARD - SET DELAYS (PCjr ONLY)
  REG AH = 3
  AL = 0: RESET TYPEMATIC
  AL = 1: INCREASE INITIAL DELAY
  AL = 2: INCREASE CONTINUING DELAY
  AL = 3: INCREASE BOTH DELAYS
  AL = 4: TURN OFF TYPEMATIC
in https://groups.google.com/g/net.micro.pc/c/yg4oazZOA7g/m/uwO-gYOTi2gJ
I hesitate to go there... but did not get the full RBIL.

https://info.wsisiz.edu.pl/~bse26236/batutil/help/MODESTRS.HTM

but I am a bit unsure these options are supported by FreeDOS because:
http://wiki.freedos.org/wiki/index.php/Mode
does not mention them.

Last I was thinking many keyboards are now USB rather than PS/2...
and I think the 8042 chip handle typematic on DOS...
so I was first thinking about BIOS emulation of PS/2 keyboard and mouse in BIOS 
options...
but your keyboard would just not work if these options were causing problem I 
think.



_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to