# Cursor handling

Correct mouse position | MODIFYMOUSE | Compensate for X,Y mouse coordinates when the window is moved or resized. It should be typically set for most games.
Position message processing | MESSAGEPROC | Some programs get the current mouse position via the dedicated GetCursorPos API, but others analyze the POINT coordinates that are includes in every window message the program receives. This flag enables a Windows hook that receives messages and compensates for windowed mode's displacement of mouse coordinates by adjusting them to the equivalent fullscreen coordinates.
Force cursor clipping | CLIPCURSOR | Set hardware cursor clipping within the window's region. This greatly improves the game's playability in some cases (namely, the Dungeon Keeper series).
Keep cursor within window | KEEPCURSORWITHIN | Avoid moving the cursor outside the window area. This was used as a “Cursor OFF” directive in some games.
Keep cursor fixed | KEEPCURSORFIXED | Inhibits the SetCursorPos() API. In some cases, it affects the program's behavior (e.g. the game Necrodrome).
Intercept GDI cursor clipping | ENABLECLIPPING | Disables GDI clipping, avoiding unpleasant effects such as preventing the mouse from moving within the whole window.
Fix WM_NCHITTEST | FIXNCHITTEST | Fixes the WM_NCHITTEST message X,Y coordinates. When the window's border behaves strangely, set this flag to correct the position of the mouse cursor.
Slow down mouse polling | SLOW | Some old programs have this bad habit of continuously looping through the mouse status polling with no delay, hogging 100% of CPU resources. This flag introduces a minimal and unnoticeable delay between mouse polls, saving CPU resources.
Release mouse outside window | RELEASEMOUSE | Normally, when the mouse is placed outside the window and the window keeps receiving mouse messages, the mouse cursor is placed on the corresponding window border and the program performs video scrolling or so forth. There are some cases in which you don't want this to happen: for instance, when you want to alternate between two programs, such as a game and a keyboard simulator. Checking this flag causes DxWnd to detect the "mouse outside window" condition, and in this case it places the cursor right in the middle of the screen, where it is supposed to cause no harm.
Enable virtual joystick | VIRTUALJOYSTICK | Some games require a joystick. If a joystick is not connected, this flag emulates a rudimentary joystick, controlled by mouse movement. The X and Y axes are controlled by mouse movement, the two primary joystick buttons are controlled by left and right click, and the joystick centering function is controlled by the middle mouse button (if available). The joystick's position and its button states are shown in a cross-shaped viewfinder that overlaps the game window.