💾 Archived View for cugi.ie › aminet › 1681529107.gmi captured on 2023-11-04 at 12:14:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-04-19)

-=-=-=-=-=-=-

P96 Multi-Monitor Mouse Movement

   Author:       thomas.richter at alumni.tu-berlin.de (Thomas Richter)
   Uploader:     thomas ricther alumni tu-berlin de (Thomas Richter)
   Type:         util/cdity
   Version:      42.5
   Requires:     P96 >= 3.1.0
   Architecture: m68k-amigaos >= 3.1
   Date:         2023-04-14
   Readme:       http://aminet.net/util/cdity/P96ScreenCx.readme
   Downloads:    656

http://aminet.net/util/cdity/P96ScreenCx.lha

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 at alumni.tu-berlin.de

----------------------------------------------------------------------

Thomas Richter,

January 2022.

Contents of util/cdity/P96ScreenCx.lha

PERMISSION  UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP     NAME
---------- ----------- ------- ------- ------ ---------- ------------ ----------
[unknown]                 3030    4656  65.1% -lh5- c19a Apr 14 14:49 P96ScreenCx
[unknown]                 4116   10863  37.9% -lh5- ecf6 Apr 14 14:56 P96ScreenCx.readme
[unknown]                  505    1129  44.7% -lh5- a173 Jan 24  2022 P96ScreenCx.info
[unknown]                  369     852  43.3% -lh5- 1547 Jan 24  2022 P96ScreenCx.readme.info
---------- ----------- ------- ------- ------ ---------- ------------ ----------
 Total         4 files    8020   17500  45.8%            Apr 15 03:25

Aminet © 1992-2023 Urban Müller and the Aminet team. Aminet contact address: <aminet aminet net>