Introducing the Astrolabe Channel numerical pointer.

William Overington

Copyright 2001 William Overington

Tuesday 14 August 2001

I am very interested that end users using the DVB-MHP system for distance education should have mouse facilities available.

The minimum set of input events for a DVB-MHP terminal does not include a mouse unit.

So, I have devised a system that I am calling Astrolabe Channel numerical pointer which hopefully will go some way to providing a mouse style capability to DVB-MHP terminals.

The Astrolabe Channel numerical pointer is a method whereby a user of a DVB-MHP terminal that does not have a mouse unit may simulate the use of a pointer unit using the minimum set of input events.

A Java program running on the DVB-MHP platform may then be programmed to recognize input from the Astrolabe Channel numerical pointer as a substitute source for information that might otherwise be gathered by a mouse.

DVB-MHP terminals that do have a mouse attached may use the Astrolabe Channel numerical pointer in parallel with the mouse if so desired. Indeed, some of the features of the Astrolabe Channel numerical pointer are such that a DVB-MHP terminal with a mouse but without a keyboard may like to use the Astrolabe Channel numerical pointer in conjunction with the mouse unit. For example, the mouse event containing details of whether the shift key was being held down when the mouse event occurred.

The Astrolabe Channel numerical pointer universe has within it some storage space for location coordinates so that once a coordinate has been determined it may be stored in the storage space using an index number and used again later in the program by recalling it with an index number and a get command.

The Astrolabe Channel numerical pointer operates within its own universe where all 20 of the buttons in the minimum set of input events has its own meaning specific to the Astrolabe Channel numerical pointer system.

Indeed there are more than 20 button meanings possible within the Astrolabe Channel numerical pointer system. Sometimes the VK_UP and VK_DOWN buttons are used to pop and push software buttons and VK_LEFT and VK_RIGHT buttons are used to retrieve previously stored location coordinates and to store location coordinates respectively. Sometimes the VK_UP, VK_DOWN, VK_LEFT and VK_RIGHT buttons are used to make small adjustments to the position on the screen where the simulated mouse event is to be located after an initial general area location has been selected using the digit keys VK_0 through to VK_9.

This small adjustment process is not always necessary. For example, a location might, for some packages, need to only be within an area that is, say, about twenty pixels wide, perhaps to locate a drawn button on a toolbar. However, for some packages, such as a computer-aided design drawing package, the location might need to be to a specific pixel of the screen display. Careful use of the storage space within the Astrolabe Channel numerical pointer universe can also minimize the need to use the VK_UP, VK_DOWN, VK_LEFT and VK_RIGHT buttons to make small adjustments to the position on the screen where the simulated mouse event is to be located.

Entry to the Astrolabe Channel numerical pointer universe from a Java program is, whenever possible, by pushing the VK_TELETEXT button. This has been chosen because the VK_TELETEXT button is less likely to be required for use in a DVB-MHP Java program than might be other buttons and so can be available in many programs to enter the Astrolabe Channel numerical pointer universe. In circumstances where the DVB-MHP rules do not allow the VK_TELETEXT button to be used in this manner, some other button may be used to enter the Astrolabe Channel numerical pointer universe. The VK_COLORED_KEY_1 button is the choice that I suggest, that is the button that is often coloured green. However, programmers may choose to enter the Astrolabe Channel numerical pointer universe in whatever manner they wish.

Once in the Astrolabe Channel numerical pointer universe the operating point of the Java program that is running upon a DVB-MHP terminal would essentially stay in the Astrolabe Channel numerical pointer universe until the VK_ENTER button is pushed. A display of the parameters of the Astrolabe Channel numerical pointer event that is being set up is viewable upon the screen of the DVB-MHP terminal while the operating point of the Java program is in the Astrolabe Channel numerical pointer universe. The setXORMode is used to provide an on screen indication as to where the Astrolabe Channel numerical pointer is pointing so that it may be adjusted until the end user is happy with the position and he or she then pushes the VK_ENTER button for the operating point of the Java program to leave the Astrolabe Channel numerical pointer universe.

Unless the end user specifies otherwise the event response that is produced by Astrolabe Channel numerical pointer is the same as for a left mouse button press. The user may, however, whilst within the Astrolabe Channel numerical pointer universe, specify that an event the same as for a right mouse button press is produced. In addition, other types of mouse event may be specified instead of the mouse button press. Responses equivalent to all seven of the mouse event types that can be produced with the Java mouse listener and the Java mouse motion listener can be produced.

The method used is that the Astrolabe Channel numerical pointer universe has a number of software buttons in it which may be set and reset as desired while within the Astrolabe Channel numerical pointer universe and only have any effect in producing a response to go to the main program when the VK_ENTER button is pushed. Some of these software buttons are organized as individual software buttons, some are arranged as a set of radio buttons. An example of the individual software buttons is the software button that decides whether the shift key of a simulated keyboard is being held down. An example of a set of radio buttons is the choice of which type of mouse event is being simulated.

The Astrolabe Channel numerical pointer is designed to produce the same net effect to a computer program as an ordinary mouse unit. In order to provide maximum facilities the Astrolabe Channel numerical pointer also contains a facility to generate any unicode character. This works by simply pushing down a particular software button inside the Astrolabe Channel numerical pointer universe. The numerical value of the character is input by the end user. Pushing the VK_ENTER button causes the character to be produced and could be used as if it had been entered at a keyboard, regardless of whether there is actually any keyboard attached. In this case, no mouse event equivalent is produced.

An additional facility is that the system is designed as a three-dimensional simulation with horizontal, vertical and inward axes. A facility for negative values is included for use when the Astrolabe Channel numerical pointer is being used as a three-dimensional unit so that three-dimensional models may be made around the origin of a set of three-dimensional axes. In using an Astrolabe Channel numerical pointer as a two-dimensional mouse one simply ignores the inward axis.

I have done some tests on a software simulated DVB-MHP system along the lines of the simulations that are in the other documents in this series and the results are quite effective. I am hoping to place a document with details about the Astrolabe Channel numerical pointer into this webspace in due course.

At the present time the research is all in simulation and it really needs to be run on a real DVB-MHP system to prove the concept.

However, results in simulation are very encouraging and I am hopeful that Astrolabe Channel numerical pointer will become a useful facility within Java programs running on DVB-MHP terminals where mouse style input is desired yet where there is no mouse unit attached to the particular DVB-MHP terminal that an end user has available to use.

Astrolabe Channel numerical pointer will hopefully dramatically increase the range of distance education applications that it will be possible to run on a minimum configuration DVB-MHP terminal residing in a domestic television set.

 

Astrolabe Channel

Copyright 2001 William Overington

This file is accessible as follows.

http://www.users.globalnet.co.uk/~ngo/ast01100.htm