[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

454.0. "Send Xevents elsewhere and stop the pointer?" by LARVAE::BULLARD (Play it again,SAMS) Wed Mar 22 1989 11:42

    	I am currently working with a customer who is considering using
    a VAXstation and DECwindows in conjunction with some Megatek kit.With
    the VAXstation keyboard and mouse the customer wants the cursor
    to roll from the VAX screen onto the MEGATEK screens.   
    	The application needs to intercept pointer events and send them 
    to the MEGATEK kit as the pointer reaches the edge of the VAXstation
    screen (the customer is happy to sort out the issues at the MEGATEK
    end,by simulating keyboard and mouse events).
    	I am happy that it would be possible to intercept the events
    such as movement,keyboard input and button presses and send them
    to the Megatek.However is it possible for the application to grab
    the server is such a way that the events come through to the
    application but the pointer does not move on the VAXStation screen
    until it logically should i.e. when the pointer rolls off the other
    screen again?                                              
    	In the customers eyes it is important that things behave in
    a visually logical way.
    	I am aware that a modified X-server is being worked on to 
    support a set up involving > 1 VAXstation and one keyboard,one mouse.
    Could this be use but instead of events going to the other screen,
    could they be sent to an application that then sends them to the
    Megatek?     
    	Any thoughts would be greatfully received
    
    regards Mark

T.RTitleUserPersonal
Name
DateLines
454.1 this might workCADSYS::YOSTWed Mar 22 1989 12:1336
    
    If I understand, the application has an event handler
    
      XtEventHandler AllPurposeMouser();
             :
      XtAddEventHandler(my_widget, PointerMotionMask | ButtonPressMask,
    		         0, AllPurposeMouser,0);
    
      XtEventHandler AllPurposeMouser(widget,tag,event)
       Widget widget;
       int tag;
       XEvent *event;
    {
        /* get the event type and x and y coor values */
       /* the hard part !, you want to manage the pointer over a larger
         screen space. 
          One way, when the pointer is moved full screen right, 
         erase (redefine cursor) snap back to the left side , cursor
         invisible on DEC screen but now visible on Megatek, etc.
         It would be easier if both screens were the same number of
         pixels ... pixel-paging on multiple screens what a concept!
       
          Maybe someone else has a easier/better way.
        */
      }
    
    hope this helps,
    clay
    
    
               
    
    
    }
    

454.2Couple of possibilitiesSTAR::BMATTHEWSWed Mar 22 1989 12:3619
Our Multi-head support in the driver does allow the the pointer to jump from
screen to screen between VAXstation screens. We are also working on a "dummy"
driver that is not hooked up to actual hardware. You could perhaps create
a pseudo dual head system where one head is the VAXstation and one head is
the dummy or pseudo device. The server would then pass back events on screen
0 for the VAXstation and screen 1 events would be what your app would send to
the megatek. The driver would also then cause the pointer to disappear when
it left the VAXstation screen and reappear when the logical cursor moved back
to the VAXstation screen.


Another approach might be to use a key to toggle the pointer between screens.
When your app sees the key sequence to trigger a toggle it can set the cursor
pattern so that the mask makes it appear in visible and you can grab all of
the pointer and keyboard strokes and send them off to the megatek until you
see the toggle sequence again.

						Bill