[comp.sys.apollo] how do you detect shift/ctrl key with mouse down in GPR?

freedman@ksi_mistaya.UCalgary.CA (Dan Freedman) (02/21/89)

A researcher here at the U. of Calgary is porting a large VLSI
design system to our DN4500's running SR 10.1.  He is using GPR
to do i/o to the screen and keyboard, and is operating in direct
mode.  In order to get the user interface to behave as it does
on other systems (ie: suns), he needs to be able to detect
whether or not the shift or control keys are down when a mouse
button is pressed.  If they are, then different actions should
be performed than when they are up.  The manuals unfortunately don't
say how to do this.  I know that it is possible to do so in some way,
since X windows (at least under 9.7 in borrow mode) is able to
do it.  Any ideas?
Dan Freedman
University of Calgary Computer Science Department
2500 University Drive N.W.			      freedman@cpsc.UCalgary.CA
Calgary, Alberta, T2N 1N4	                   ...!alberta!calgary!freedman

ganek@apollo.COM (Dan Ganek) (02/24/89)

>From: freedman@ksi_mistaya.UCalgary.CA (Dan Freedman @ Knowledge Science Lab, U. of Calgary, Calgary, Canada.)
>
>A researcher here at the U. of Calgary is porting a large VLSI
>design system to our DN4500's running SR 10.1.  He is using GPR
>to do i/o to the screen and keyboard, and is operating in direct
>mode.  In order to get the user interface to behave as it does
>on other systems (ie: suns), he needs to be able to detect
>whether or not the shift or control keys are down when a mouse
>button is pressed.  If they are, then different actions should
>be performed than when they are up.  The manuals unfortunately don't
>say how to do this.  I know that it is possible to do so in some way,
>since X windows (at least under 9.7 in borrow mode) is able to
>do it.  Any ideas?

Shift/ctrl mouse buttons are not available via GPR in SR10.1. 
The borrow mode X server uses function keys for shift, control, and 
meta - not the actual shift or control keys.

The DM does define shift/control mouse buttons so you could use 
pad_$def_pfk to redefine M1S, M1C, etc. The application would then
have to wait on both gpr input and stdin.

Shift/control mouse buttons will be available with the GPR that 
ships with DOMAIN/X11 V1.1. This is the "share-mode" X11 for sr10.1. 
DOMAIN/X11 V1.1 is currently in beta and we expect FCS in a few months. 
In addition, we will be merging DOMAIN/X11 into the base Apollo 
software in a future release.  

/dan ganek       ganek@apollo.com