VOGONS


First post, by lvm

User metadata
Rank Newbie
Rank
Newbie

dosbox 0.74 for linux, X keyboard delay rate is set to 250ms, however in dosbox it is at least 500ms. I tried to change it using various DOS programs but they return error messages indicating that it can't be done, e.g. DOS mode prints 'function not supported on this computer'. Keyboard repeat rate is fine - 30cps, like in X. So, how can I set the delay?

Last edited by lvm on 2010-12-04, 17:48. Edited 1 time in total.

Reply 1 of 4, by ykhwong

User metadata
Rank Oldbie
Rank
Oldbie

You can specify it in src/hardware/keyboard.cpp

--- ./src/hardware/keyboard.cpp	Sat May 28 14:41:26 2005
+++ ./src/hardware/keyboard.cpp Sat May 28 14:37:45 2005
@@ -324,7 +324,7 @@
keyb.command=CMD_NONE;
keyb.p60changed=false;
keyb.repeat.key=KBD_NONE;
- keyb.repeat.pause=500;
+ keyb.repeat.pause=200;
keyb.repeat.rate=33;
keyb.repeat.wait=0;
KEYBOARD_ClrBuffer();

Reply 2 of 4, by lvm

User metadata
Rank Newbie
Rank
Newbie

Thanks. Strange though, looks like there is fully functional int 16 handler in bios_keyboard.cpp...

Reply 3 of 4, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Iirc there is a third-party utility that would set the rate. Search the forum for Tetris maybe.

1+1=10

Reply 4 of 4, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

DOS mode prints 'function not supported on this computer'.

Strange, MODE.COM from MSDOS 5 and 6, and the MODE program from FreeDOS work in DOSBox for setting the keyboard typematic rates. The syntax is "mode con rate=r delay=d" where r=1-32 and d=1-4.