P96ScreenCx enables free multi-monitor mouse travel on P96 setups.
Thus, once properly configured, the mouse pointer can travel
horizontally and vertically between adjacent monitors.
For example, the output of two graphic cards are displayed on two
monitors side by side, the mouse enters the right monitor when
leaving the left monitor on the right side, and vice versa.
While intuition does (not yet?) allow free movements between monitors,
this commodity enables the mouse monitor to travel freely between
monitors.
----------------------------------------------------------------------
New in release 42.5:
- P96ScreenCx no longer switches screens while any of the
mouse buttons are pressed. This avoids trouble in case
a menu is open, or you drag a window.
----------------------------------------------------------------------
New in release 42.4:
- P96ScreenCx has to create synthetic mouse movement events to
position the mouse at the adjancent edge of the target screen.
The mechanism by which P96ScreenCx created these events was
overly complicated, and also caused side effects with other
commodities. This release uses a much simpler mechanism through
the commodities.library that improves compatibility with other
programs.
- Mouse pointer movement through Amiga/CBM+cursor keys did not
trigger screen flipping, i.e. the mouse pointer could not leave
the current screen if moved by cursor keys. This has been fixed,
P96ScreenCx now also recognizes pointer movements through cursor
keys.
----------------------------------------------------------------------
New in release 42.3:
- One of the direction-indicator bits in the internal movement
analysis was broken and could have placed the mouse pointer
incorrectly on vertical movements.
- A new tooltype / command line argument has been added.
ACTIVATE_SCREEN attempts to record the last active window on
a screen switched away from, and then attempts to restore the
input focus when switching back to the screen.
However, due to the intuition internal event handling, this
tooltype may have some impact on autoscroll screens such that
the screen may scroll away while the window activation is still
in process. Thus, mouse pointer re-position may be deferred if
if this enabled.
----------------------------------------------------------------------
New in release 42.2:
- The DONOTWAIT tooltype apparently confused the tool when started
from the workbench as it confused it with the monitor search path.
This was fixed.
- The default diagnostic output if run from the workbench goes now
into a console window.
- The commodity warns now if no switchable boards are found or all
boards are in the display chain.
----------------------------------------------------------------------
New in release 42.1:
- This is the first Aminet release.
----------------------------------------------------------------------
Installation:
- Copy P96ScreenCx to the WBStartup folder (on Os 3.9 or above)
- or RUN it in the Startup-Sequence
- Edit the monitor tooltypes to match the monitor arrangement,
see below.
P96ScreenCx does not have a graphical user interface. It reads its
configuration from its own tool types or command line interface, and
the tooltypes of the P96 monitors.
For configure the placement of the physical monitors, one of the
following new tooltypes can be added to the existing monitor icons:
LEFT_OF=<monitor name>
RIGHT_OF=<monitor name>
ABOVE=<monitor name>
BELOW=<monitor name>
<monitor name> is the BOARDTYPE of another P96 monitor, or the keyword
"Native" to configure placement relative to the native Amiga output.
For example, consider the following 3-monitor setup:
+-----------+ +----------+ +-----------+
| | | | | |
| GBA-PII++ | | Native | | CVision3D |
| | | | | |
+-----------+ +----------+ +-----------+
Then the tooltypes of the GBA-PII++ monitor icon in DEVS:Monitors
includes the following new tooltype:
LEFT_OF=Native
and the tool type of the CVision3D monitor icon includes the new
tooltype:
RIGHT_OF=Native
The following setup
+-----------+ +----------+ +-----------+
| | | | | |
| Native | | GBA-PII++| | CVision3D |
| | | | | |
+-----------+ +----------+ +-----------+
would be represented by:
RIGHT_OF=Native
in the GBA-PII++ icon and
RIGHT_OF=GBA-PII++
in the CVision3D icon -or-
LEFT_OF=CVision3D
in the GBA-PII++ icon.
There is no need to "double link" the CVIsion3D monitor
with the GBA-PII++ monitor icon, i.e. only one of the two
latter tool types need to be added: One tooltype in the
GBA-PII++ icon, one tooltype in the CVision3D monitor icon,
or two tooltypes in the GBA-PII++ icon and none in the
CVision3D monitor icon.
----------------------------------------------------------------------
P96 drivers only participate in multi-monitor switching if their
DISPLAYCHAIN tooltype is set to NO. Otherwise, they are assumed
to be displayed on the same monitor as the native Amiga video, and
thus do not receive their own set of tool types. Placement relative
to "shared" P96 cards in the display chain is indicated by the "Native"
monitor.
Thus, the following setup
+-----------+ +-----------+
| GBA-PII++ | | |
| Native | | CVision3D |
| | | |
+-----------+ +-----------+
with GBA-PII++ and Amiga output sharing the same screen is indicated
by a single tooltype in the CVision3D monitor icon, namely
RIGHT_OF=Native
Tooltypes of the GBA-PII++ monitor are not used.
----------------------------------------------------------------------
Quirks:
If you have a GBA-PII++ board, ensure that the P96 component is
named "GBA-PII++" WITH A DASH IN THE NAME. That is, LIBS:Picasso96
should contain a file named
GBA-PII++.card
If necessary, rename the file accordingly (with the dash) and update
the BOARDNAME tooltype of its monitor icon to
BOARDNAME=GBA-PII++
again with a dash. This is because the card driver identifies itself
as GBA-PII++ with dash. Unfortunately, some installations may have
named card drive and BOARDNAME incorrectly.
----------------------------------------------------------------------
P96ScreenCx command line arguments:
P96ScreenCx MONITORS/K,ACTIVATE_SCREEN/S,CX_PRIORITY/N
MONITORS The directory name where the P96 monitor icons are kept.
This should typically be DEVS:Monitors, but any other
directory can be configured as well.
CX_PRIORITY The priority of the P96ScreenCx "commodity" component
relative to all other commodities. The default is 0. This
is typically not required.
ACTIVATE_SCREEN If given as command line argument or as tool type, the
commodity attempts to restore the input focus on screens
being switched to. May defer window pointer repositioning
on autoscroll screens, though.
The above command line arguments are also recognized as ToolTypes of
the P96ScreenCx icon, if run from the workbench. In addition, the
following ToolType is also recognized:
WINDOW=<output path>
This is a path to a CON: window to which P96ScreenCx writes its
diagnostic output, if any. By default, the output goes to the console
if run from the shell, or to a newly opened console window if run
from the workbench.
----------------------------------------------------------------------
The THOR-Software Licence (v3, January 2nd 2021)
This License applies to the computer programs known as the "P96ScreenCx".
The "Program", below, refers to such program. The "Archive" refers to
the package of distribution, as prepared by the author of the Program,
Thomas Richter. Each licensee is addressed as "you".
The Program and the data in the archive are freely distributable
under the restrictions stated below, but are also Copyright (c)
Thomas Richter.
Distribution of the Program, the Archive and the data in the Archive by a
commercial organization without written permission from the author to any
third party is prohibited if any payment is made in connection with such
distribution, whether directly (as in payment for a copy of the Program) or
indirectly (as in payment for some service related to the Program, or
payment for some product or service that includes a copy of the Program
"without charge"; these are only examples, and not an exhaustive
enumeration of prohibited activities).
However, the following methods of distribution involving payment shall not
in and of themselves be a violation of this restriction:
(i) Distributing the Program on a physical data carrier (e.g. CD-ROM,
DVD, USB-Stick, Disk...) provided that:
a) the Archive is reproduced entirely and verbatim on such data carrier,
including especially this licence agreement;
b) the data carrier is made available to the public for a nominal
fee only, i.e. for a fee that covers the costs of the data carrier,
and shipment of the data carrier;
c) a data carrier with the Program installed is made available to the
author for free except for shipment costs, and
d) provided further that all information on said data carrier is
redistributable for non-commercial purposes without charge.
Redistribution of a modified version of the Archive, the Program or the
contents of the Archive is prohibited in any way, by any organization,
regardless whether commercial or non-commercial. Everything must be kept
together, in original and unmodified form.
Limitations.
THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO
WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.
IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE
AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS
LICENCE BY USING OR REDISTRIBUTING THE PROGRAM.
Thomas Richter
----------------------------------------------------------------------
Send ideas, improvements, bugreports (please as concrete as possible) to:
Thomas Richter
EMail: thomas.richter@alumni.tu-berlin.de
----------------------------------------------------------------------
Thomas Richter,
January 2022.
|