|
CursorNode is designed to work with as many programs as possible. How well it works depends on the programs it is
working with. There are infinite ways in which programs can manipulate or implement the cursor. Therefore, it is
not extraordinary if some programs don't work with CursorNode. Also, not running CursorNode in the
correct mode or not using the appropriate CursorNode edition reduces its ability to work with other programs.
CursorNode can run in User, Administrator, and System modes. CursorNode comes in normal and pure 64-bit
editions.
CursorNode runs in user mode by default in a new installation. This mode is same as that used by Windows
notepad. This mode is least privileged, and most restrictive on CursorNode's ability to interact with other
programs to customize cursors. While running in user mode, CursorNode can customize cursors used by the OS
itself, such as the familiar arrow, text I-beam, etc. It can also customize program-specific cursors in
programs running in user mode.
While in user mode, CursorNode cannot customize program-specific cursors for programs running in
elevated administrator mode. If these elevated mode programs use copies of OS cursors, the copies become
program-specific even though they look identical to the OS cursors. If elevated mode programs use the OS cursors
directly, as opposed to copies, these cursors can be customized by user mode CursorNode.
It is not always obvious which program is running in user mode, and which running in elevated administrator mode.
Typically, programs running in elevated mode produce the UAC prompt on starting. However, not every program
running in elevated mode produces the UAC prompt. Many games run in elevated mode without producing the UAC
prompt. CursorNode itself is capable of running in elevated mode without producing the UAC prompt. The setup
program used for software installing, as well as any program started by it, usually runs in elevated mode.
Running CursorNode in administrator mode gives it the ability to customize cursors in administrator mode programs,
as well as in user mode programs. Administrator mode also gives CursorNode better performance because Windows
10 assigns greater CPU priority to administrator mode programs. From the user point of view, cursor customization
will appear to work more cohesively and give a better user experience. A limitation of administrator mode is that
it may not work for games protected by anti-cheats.
System mode is same as administrator mode, with additional enabling of low-level system functions. In system mode,
CursorNode gains the ability to customize cursors in games protected by well-known anti-cheats. The low-level
functions are only used when needed and CursorNode will decide for itself when to use them. If cursors in a program
can be customized using administrator mode, then CursorNode will continue to use administrator mode for the
program even if system mode is in effect. From the user point of view, system mode gives the best user experience
because compatibility of CursorNode with other programs is at the maximum level.
The Pure 64-bit edition is a special reduced capability edition of CursorNode. The Standard and Legacy editions are
full capability editions. The Pure 64-bit edition has no 32-bit support and unable to customize program-specific
cursors for 32-bit programs. Despite this limitation, the OS cursors (not copies) used by 32-bit programs can be
customized. Additionally, highlighters are not affected by the bit-ness of programs and can be used with all
programs. The most likely surprise the user will encounter when using the Pure 64-bit edition is that cursors in
old games cannot be customized. This is because most old games are 32-bit.
The Task Manager on Windows 10 gives an easy way to identify 32-bit programs. These programs are indicated with
'(32 bit)' in their process names. This facility is useful for identifying programs the Pure 64-bit edition
potentially have problems with.
Windows 10 introduced UWP programs. These programs are structured differently to conventional programs, making
these more restrictive for other programs to work with. Nevertheless, CursorNode is compatible with them, with
a notable limitation: customized program-specific cursors are only shown in their customized state if the UWP
program owning them is the last UPW program to gain focus. A UWP program losing focus to another UWP program
will cause any program-specific cursors to revert to their original appearance in the defocused program. This
limitation does not apply if the UWP program loses focus to a conventional program. Also not affected by this
limitation is any customized OS cursors used by a UWP program. It should be noted that copies of OS cursors
are program-specific and the limitation will apply.
There is no easy way of identifying a UWP program through a quick glance. The Window 10 Start-menu and
calculator are UWP programs. The Windows 10 notepad is not a UWP program. Many games and apps available from
the Windows Store are UWP programs, but not all. This shows how mixed the situation is.
The cursor used by the OS and typically by programs is a hardware device. Some programs forgo the advantages
of a hardware cursor and implement their own cursor through software. The difference is noticeable on the less
performant software cursor, where the movement can be seen to lag or be affected by system load. It is
not possible for CursorNode to customize the look of a software cursor because the software cursor is
just an arbitrary
graphics image indistinguishable from any other graphics object in the owning program. Nevertheless, a
CursorNode highlighter can be used for tracking a software cursor. The highlighter highlights the location
of the software cursor, compensating for any visibility deficiencies it has. The first step in
working with a software cursor is to determine if a software cursor is actually involved. This can be done with
the help of a CursorNode highlighter.
- CursorNode "Circle" cursor configured as a highlighter
- Game/app cursor being tracked by the highlighter. Because it is behind the highlighter, that makes
it a software cursor. The look of a software cursor cannot be customized by CursorNode.
- Game/app cursor being tracked by the highlighter. Because it is in front of the highlighter, that
makes it highly likely a hardware cursor. This is confirmed if the highlighter movement lags behind the
game/app cursor slightly. The look of a hardware cursor can be customized by CursorNode.
Using a CursorNode highlighter to track a software cursor is an excellent way to improve visibility of the
cursor when no other solution is possible. However, this won't always work because of the way software cursor
is implemented. Good implementations will report the software cursor coordinate to the OS. This enables
third-party programs, such as CursorNode, to work with them. Some implementations are bugged, and only report
correct software cursor coordinate when the program is running in non-full-screen windowed mode. Some implantations do not
report the software cursor coordinate to the OS at all, making it impossible for CursorNode to work with
them.
Virtual machines do not have the performance to accurately reproduce the normal running characteristics of
CursorNode. Various features may not work correctly. To properly evaluate CursorNode, use of a real machine is
recommended. It will not be possible to license a CursorNode installation inside a virtual machine.
If there is a need to customize cursors in a virtual machine, then CursorNode can be ran from the host system.
Cursors appearing in the client window of the virtual machine can be customized like cursors in any other
program window.
Cursor support is less advanced on Windows 7 and earlier, and in games using old graphics engines. Any
customized cursor larger than 64 pixels in width or height is not displayed in a game running in exclusive
full-screen mode. This leaves the user with no cursor on the screen. This issue can be corrected by using
a smaller custom cursor or running the game in windowed-full-screen mode. When running games in windowed mode,
all cursor sizes are usable.
On Windows Vista, it is only possible to use CursorNode after disabling User Account Control (UAC). This is
due to Vista's security system being different to later Windows.
|
|