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 |
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.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
454.1 | this might work | CADSYS::YOST | Wed Mar 22 1989 12:13 | 36 | |
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.2 | Couple of possibilities | STAR::BMATTHEWS | Wed Mar 22 1989 12:36 | 19 | |
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 |