Page 1 of 1

Redefine MS-DOS Keyboard Functions?

Posted: 08 Nov 2016 14:59
by Clueless in Seattle
I'm trying to use an old DOS outlining program from the 80s I bought on eBay.*

I'm having trouble with the way the <Del> and <BkSp> keys behave.

The <Del> now acts like a destructive backspace, i.e., it deletes the character to the left of the cursor instead of the character at the cursor position.

And the <BkSp> now acts like a <Left Arrow> key, i.e., it simply moves the cursor one space to the left, but without deleting the character in the new cursor position.

I'd like to try to figure out some way to change the way those two keys behave so that:

    1. The <Del> key deletes the character at the cursor position and...

    2. The <BkSp> key moves the cursor one space to the left and deletes the character to the left of the cursor position (in other words, a "destructive backspace").

(The Thoughtline program uses the WordStar cursor movement command set, so I have available to me within the program itself the ^G command for deleting the character at the cursor position, and the ^S command for moving the cursor on space to the left).

I'd be grateful if some of you could brainstorm with me to come up with some way to get those keys to behave in the way I expect them to. For example could there be a DOS program that I could run first that would continue runnning in the background that would intercept the <Del> and <BkSp> keys and have them feed these control key combinations to the Thoughtline program?

    <Del> = ^G
    <BkSp>= ^S^G

If so, then perhaps I could run Thoughtline in its own Virtual Box with the keyboard reconfigured to modify those two keys.

Will in Seattle
a.k.a. "Clueless"

BTW: If any of you are interested, the Thoughtline program I'm trying to relearn how to use was written by Norman Worthington:

http://articles.chicagotribune.com/1986-06-15/news/8602120848_1_outline-wordstar-paragraph

I had the CP/M version of it back in the 80s, and did a lot of writing with it. But I left it behind when I switched to MS-DOS. Then a while back I discovered on eBay a DOS version of it, which I purchased and have been trying to figure out how to use it ever since. It turns out to be a kind of slap-dash affair, not very well thought out, but still, I think, worth my investing some time in learning how to use, because outlining is such a powerful writing tool.

And as far as I know it is a completely different progam from another DOS program, also called "Thoughtline,"written by Dan E. Burns, which according to a web page I found, was an earlier DOS version of a Windows program called WriteEZ https://www.projectkickstart.com/products/WriteEZ.cfm )

Re: Redefine MS-DOS Keyboard Functions?

Posted: 08 Nov 2016 15:41
by penpen
The <Del> now acts like a destructive backspace, i.e., it deletes the character to the left of the cursor instead of the character at the cursor position.

And the <BkSp> now acts like a <Left Arrow> key, i.e., it simply moves the cursor one space to the left, but without deleting the character in the new cursor position.
Does this happen in your outlining program only?
Then i would search the program for any settings to change such a behaviour.

Or may it be that this also happens anywhere else within your DOS?
Then you may define another keboard driver when loading:
http://www.i8086.de/dos-befehle/keyb.html.


penpen

Re: Redefine MS-DOS Keyboard Functions?

Posted: 08 Nov 2016 19:49
by Clueless in Seattle
penpen wrote:Does this happen in your outlining program only?
Then i would search the program for any settings to change such a behaviour.

Or may it be that this also happens anywhere else within your DOS?
Then you may define another keboard driver when loading:
http://www.i8086.de/dos-befehle/keyb.html.

Hi penpen! Thanks for the reply!

The odd keyboard behavior I described is confined to the Thoughtline program. I seem to recall reading somewhere in the scattershot Thoughtline manual that the programmer intentionally modified the behavior of these two keys for reasons that are beyond me. And, as far as I can tell, there is no way for the user to change those settings.

So I'm interested in your suggestion that I might be able to "define another keyboard driver." So, then, if I were to run Thoughtline in a VirtualBox, could I create a custom keyboard driver that would run only in that VirtualBox?

The link you provided me takes me to a page that seems to be all in German. And I'm afraid it's been 57 years since my high school German class and jetzt kann ich mich nur an eine kleine Hand voll deutscher Worte erinnern, (Danke, Google Translate!)

Do you think you could help me create a custom keyboard driver for MS-DOS that would make those troublesome keys behave the way they do in the rest of my DOS programs?

Will in Seattle
a.k.a. "Clueless"

Re: Redefine MS-DOS Keyboard Functions?

Posted: 09 Nov 2016 04:05
by penpen
Clueless in Seattle wrote:The link you provided me takes me to a page that seems to be all in German. And I'm afraid it's been 57 years since my high school German class and jetzt kann ich mich nur an eine kleine Hand voll deutscher Worte erinnern, (Danke, Google Translate!)
:oops: ... sorry for that, here is an english version:
http://info.wsisiz.edu.pl/~bse26236/batutil/help/KEYB_S.HTM

Clueless in Seattle wrote:So I'm interested in your suggestion that I might be able to "define another keyboard driver." So, then, if I were to run Thoughtline in a VirtualBox, could I create a custom keyboard driver that would run only in that VirtualBox?

Do you think you could help me create a custom keyboard driver for MS-DOS that would make those troublesome keys behave the way they do in the rest of my DOS programs?
If i remember right, there are only a fixed subset of physical keyboards (== mapping from scancodes to character codes) that are supported, so you (probably) cannot write your own keyboard driver,
but i'm not firm with writing own device drivers - so maybe it is possible (this were the cleanest solution).

Another option were to patch the dos files... but how to change a(/add another) keyboard identifier (Is it possible at all? Is it located within keyb.exe / keyb.com / ... ? Which data format? Side effects (and how to catch)?).

But i think you first should try to remap the keyboard keys using ANSI.SYS:
http://www.vfrazee.com/ms-dos/6.22/help/ansi.sys.htm

I hope this works for you - but it may fail if the Thoughtline programmers have done something similar;
depending on if they access scan codes directly, it also could be that even any keyboard driver is bypassed.


penpen