Dec 282017
RXMOUSE – A function package for Personal Rexx allowing access to a mouse. Includes C source code. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
RXMOUSE.C | 13177 | 2602 | deflated |
RXMOUSE.DOC | 5321 | 1651 | deflated |
RXMOUSE.EXE | 11433 | 6846 | deflated |
RXMOUSE.MAK | 144 | 89 | deflated |
TSTMOUSE.REX | 1081 | 421 | deflated |
Download File RXMOUSE.ZIP Here
Contents of the RXMOUSE.DOC file
RXMOUSE - A function package for Personal Rexx allowing access to a mouse
Patrick J. Mueller - 1989
installation and removal:
------------------------
To install the function package, execute the command
RXMOUSE
To install without any messages being printed, execute the command
RXMOUSE > NUL
To un-install the function package, execute the command
RXMOUSE UNLOAD
This will NOT release the memory, it will only make the functions
inaccesible for REXX programs.
To un-install the function package AND release the memory, execute the command
RXUNLOAD RXMOUSE
RXUNLOAD is a utility provided by Mansfield. It is advertised as only
working with some Mansfield supplied programs, but seems to work well
with this package as well. Maybe someday it will stop working. In this
case, the RXMOUSE UNLOAD call should be made to un-install the functions,
and some other program should be used to release the memory.
demonstration:
--------------
The TSTMOUSE.REX file included is an example of how the functions
may be used.
functions included:
------------------
The functions included were ones that are available with the INT 33
interface provided with the Microsoft Mouse device driver. The
functions are not described well in the manual I have, so my descriptions
aren't too great either
mouse_init()
------------
initialize the mouse to default values
returns
mouse_show_cursor()
-------------------
turn on cursor
mouse_hide_cursor()
-------------------
turn off cursor
mouse_get_but_pos()
-------------------
returns a string of 4 numbers with the following values
word 1 - x coordinate
word 2 - y coordinate
word 3 - 1 if left button is depressed, 0 otherwise
word 4 - 1 if right button is depressed, 0 otherwise
mouse_set_cur_pos(x,y)
----------------------
set the cursor to the desired position.
mouse_get_but_press()
---------------------
returns a string of 8 numbers with the following values
word 1 - left button - status
word 2 - left button - number of times button has been pressed
since the last time this function was called
word 3 - left button - x coordinate at last press
word 4 - left button - y coordinate at last press
word 5 - right button - status
word 6 - right button - number of times button has been pressed
since the last time this function was called
word 7 - right button - x coordinate at last press
word 8 - right button - y coordinate at last press
mouse_get_but_release()
-----------------------
returns a string of 8 numbers with the following values
word 1 - left button - status
word 2 - left button - number of times button has been released
since the last time this function was called
word 3 - left button - x coordinate at last release
word 4 - left button - y coordinate at last release
word 5 - right button - status
word 6 - right button - number of times button has been released
since the last time this function was called
word 7 - right button - x coordinate at last release
word 8 - right button - y coordinate at last release
mouse_xy_range(x_min,x_max,y_min,y_max)
---------------------------------------
sets the minimum and maximum values that can be returned from the
mouse.
mouse_text_cursor()
-------------------
set the mouse to work in text graphic modes - uses a default 'reverse'
mask for the mask so it can be found easily.
notes:
------
- only two buttons of the mouse are supported and assumed
- a mouse_init() call should be made at the start of your programs
- mouse_show_cursor and mouse_hide_cursor update a variable that
determines whether the mouse should be displayed. mouse_show_cursor
increments the flag, and mouse_hide_cursor decrements the flag. When
the flag is less than 0, the mouse is hidden, otherwise it is
displayed. After a mouse_init() the flag is set to -1.
- corrdinates used by this function package are in pixels. In
non-graphics video modes, these values will be multiples of 8,
where the origin (0,0) is the upper-left corner of the screen.
x is the horizontal axis and y is the vertical axis.
recompiling the source:
----------------------
The source and a make file are included for Microsoft QuickC. It should
run under IBM C/2 and Microsoft C 5.?+. In particular, notice the call
to EXEMOD to change the maximum allocated space. This is done only to
change the size of the loaded function pacakge from 80K to about 20K.
RXMOUSE can be run without it, although it will use a lot more memory.
I have had problems using RXUNLOAD with the max < 100, but it seems to
work fine at 200.
Also, in the link statement I link REXX.LIB. This is a library I created
from the .OBJ files provided by Mansfield.
Patrick J. Mueller - 1989
installation and removal:
------------------------
To install the function package, execute the command
RXMOUSE
To install without any messages being printed, execute the command
RXMOUSE > NUL
To un-install the function package, execute the command
RXMOUSE UNLOAD
This will NOT release the memory, it will only make the functions
inaccesible for REXX programs.
To un-install the function package AND release the memory, execute the command
RXUNLOAD RXMOUSE
RXUNLOAD is a utility provided by Mansfield. It is advertised as only
working with some Mansfield supplied programs, but seems to work well
with this package as well. Maybe someday it will stop working. In this
case, the RXMOUSE UNLOAD call should be made to un-install the functions,
and some other program should be used to release the memory.
demonstration:
--------------
The TSTMOUSE.REX file included is an example of how the functions
may be used.
functions included:
------------------
The functions included were ones that are available with the INT 33
interface provided with the Microsoft Mouse device driver. The
functions are not described well in the manual I have, so my descriptions
aren't too great either
mouse_init()
------------
initialize the mouse to default values
returns
mouse_show_cursor()
-------------------
turn on cursor
mouse_hide_cursor()
-------------------
turn off cursor
mouse_get_but_pos()
-------------------
returns a string of 4 numbers with the following values
word 1 - x coordinate
word 2 - y coordinate
word 3 - 1 if left button is depressed, 0 otherwise
word 4 - 1 if right button is depressed, 0 otherwise
mouse_set_cur_pos(x,y)
----------------------
set the cursor to the desired position.
mouse_get_but_press()
---------------------
returns a string of 8 numbers with the following values
word 1 - left button - status
word 2 - left button - number of times button has been pressed
since the last time this function was called
word 3 - left button - x coordinate at last press
word 4 - left button - y coordinate at last press
word 5 - right button - status
word 6 - right button - number of times button has been pressed
since the last time this function was called
word 7 - right button - x coordinate at last press
word 8 - right button - y coordinate at last press
mouse_get_but_release()
-----------------------
returns a string of 8 numbers with the following values
word 1 - left button - status
word 2 - left button - number of times button has been released
since the last time this function was called
word 3 - left button - x coordinate at last release
word 4 - left button - y coordinate at last release
word 5 - right button - status
word 6 - right button - number of times button has been released
since the last time this function was called
word 7 - right button - x coordinate at last release
word 8 - right button - y coordinate at last release
mouse_xy_range(x_min,x_max,y_min,y_max)
---------------------------------------
sets the minimum and maximum values that can be returned from the
mouse.
mouse_text_cursor()
-------------------
set the mouse to work in text graphic modes - uses a default 'reverse'
mask for the mask so it can be found easily.
notes:
------
- only two buttons of the mouse are supported and assumed
- a mouse_init() call should be made at the start of your programs
- mouse_show_cursor and mouse_hide_cursor update a variable that
determines whether the mouse should be displayed. mouse_show_cursor
increments the flag, and mouse_hide_cursor decrements the flag. When
the flag is less than 0, the mouse is hidden, otherwise it is
displayed. After a mouse_init() the flag is set to -1.
- corrdinates used by this function package are in pixels. In
non-graphics video modes, these values will be multiples of 8,
where the origin (0,0) is the upper-left corner of the screen.
x is the horizontal axis and y is the vertical axis.
recompiling the source:
----------------------
The source and a make file are included for Microsoft QuickC. It should
run under IBM C/2 and Microsoft C 5.?+. In particular, notice the call
to EXEMOD to change the maximum allocated space. This is done only to
change the size of the loaded function pacakge from 80K to about 20K.
RXMOUSE can be run without it, although it will use a lot more memory.
I have had problems using RXUNLOAD with the max < 100, but it seems to
work fine at 200.
Also, in the link statement I link REXX.LIB. This is a library I created
from the .OBJ files provided by Mansfield.
December 28, 2017
Add comments