[net.micro.pc] How does SideKick work?

drk@well.UUCP (Doug Kaye) (10/26/85)

We are about to embark upon a development project for a memory-resident
Terminal emulator. This emulator will be activated via so-called
Hot Keys, as is Sidekick. We are concerned that our emulator and
Sidekick be able to co exist, including the ability to invoke
SK on top of our emulator (and vice versa?). 

First of all, does anyone know which (or both) technique SK uses for
grabbing the keyboard?
	(1) Intercept keyboard interrupts, and/or
	(2) Intercept BIOS calls for keyboard.

If anyone is interested in giving us some pointers in memory-resident
"keyboard-takeover" applications, please contact me directly. On the
other hand, if you're interested in sharing your knowledge with others
why not start it out right here.             

	Doug Kaye
	Rational Data Systems, Inc.
	5725 Paradise Drive
	Corte Madera, CA 94925
	415/924-0840

	ihnp4!hplabs!well!drk

faisal@smu (10/29/85)

SideKick installs in the timer interrupt.  Here is the basic algorithm:

at every timer tick do
 {
  execute the orignal timer tick interrupt;
  if (the keybaord status word indicates that Ctl and Alt are held down)
   if ((the system is stable)&&(sk is not currently active))
    enter sidekick
    else beep;
 }

Once sidekick has been entered, I believe the standard keyboard interrupts 
are used.

Off the track but indirectly related:
One of the things you have to watch out for when running a resident prog., 
which alters the display, and SK is this sequence:
 1) bring up SK
 2) bring up second program which rewrites screen
 3) close SK
 4) close 2nd prog.
 5) bring up SK.
 Surprise!!!  When SK was closed at step 3, it saved the display contents
 (which were generated at step 2), and now it redisplays this stuff because
 it thinks it is the SK window.

Faisal @ SMU

mjm@cantor.UUCP (Michael Markowitz) (10/31/85)

> First of all, does anyone know which (or both) technique SK uses for
> grabbing the keyboard?
> 	(1) Intercept keyboard interrupts, and/or
> 	(2) Intercept BIOS calls for keyboard.
> 
> 	Doug Kaye
> 	Rational Data Systems, Inc.
> 	5725 Paradise Drive
> 	Corte Madera, CA 94925
> 	415/924-0840
> 
> 	ihnp4!hplabs!well!drk

Sidekick intercepts the following interrupts:

		08, 09, 10, 13, 16, 1C, 21, 25, 26, 28

Unfortunately that's all I know--hope it helps.

	Michael Markowitz
	Dept. of Math. Sciences
	Loyola Univ. of Chicago
	Chicago, IL  60626
	(312) 508-3567

	ihnp4!gargoyle!cantor!abel!mjm