[comp.sys.ibm.pc] key interception and translation

scottb@ogccse.ogc.edu (Scott Baker) (06/09/89)

I know this has been asked before, so please bear with me.  My current
keyboard has the CTRL and SHIFT keys in the opposite position than
any other keyboard I have ever used and it is awkward to use.  Can anyone
mail me the C source code for a memory resident program which will
intercept these keycodes and swap them?

		Thanks in Advance:

		Scott Baker
		!tektronix!midas!scottb

=======================================================

keithe@tekgvs.LABS.TEK.COM (Keith Ericson) (06/09/89)

In article <3127@ogccse.ogc.edu< scottb@ogccse.ogc.edu (Scott Baker) writes:
<I know this has been asked before, so please bear with me.  My current
<keyboard has the CTRL and SHIFT keys in the opposite position than
<any other keyboard I have ever used and it is awkward to use.  Can anyone
<mail me the C source code for a memory resident program which will
<intercept these keycodes and swap them?
<

Hey, Tom Almy -
	Another month has arrived (June): time to re(re(re(re...)))post
the key-switcher program....

kEITHe

robwah@auto-trol.UUCP (Robert Wahl) (06/10/89)

I'm afraid you may be out of luck.  Shift/control interpretation takes place
in the lowest level interrupts.  In order to do the job properly, you would
have to replace INT 9, and this requires knowledge of your system's
implementation of tables, etc.  In particular, the shift and control keys
have implications for other keyboard functions besides returning shifted or
control characters.  For example, the shift key toggles the operational mode
for the keypad.  Also, not all shifted keycodes have control counterparts,
so you can't just swap the keycodes that you get (pressing keys with shift/
alt/control states won't always give you a keycode, and even when it does,
you aren't guaranteed the keycode will reflect the shift state).  Insert
IBM flame here.  =:->
-- 
Rob Wahl  =:->  {...!ncar!ico!auto-trol!robwah}

jms@hcx.uucp (Michael Stanley) (06/11/89)

In article <182@auto-trol.UUCP>, robwah@auto-trol.UUCP (Robert Wahl) writes:
> I'm afraid you may be out of luck.  Shift/control interpretation takes place

Well actually you aren't out of luck, but things are still difficult.  There
are various TSR's (terminate-and-stay-resident) programs available which
will intercept interrupt 9 and do key swapping for you.  For the most part
they work well, but there are a few problems.  You see, there are a few
very good commercial programs out there which appear to intercept INT 9
themselves.  In other words, you can fool some programs some of the time,
but you can't fool all of the programs all of the time.  If that's not bad
enough, this can create an even more insideous problem.  For instance, I
used to swap my capslock and control keys.  But a word processor I have
checked for the control key itself requiring me to hit the control key
anyway.  But the key swapper program made sure that every time I hit the
control key, it also changed my capslock state.  The end result was that
while I used my word processor, my capslock key did nothing and my control
key did two things at once.  I finally got around this problem by using
a TSR I found which changed capslock to control, and shift-capslock to
capslock.  My word processor still requires me to use the old ctrl keys,
but at least I don't end up with a dual function key.  Anyway, good luck,
and try to enjoy that brain damaged IBM keyboard.

	Michael Stanley
	jms@hcx.uucp