NAME
XkbPtrActionX - Returns the high_XXX and low_XXX fields of act
converted to a signed int
SYNOPSIS
int XkbPtrActionX (XkbPtrAction act);
ARGUMENTS
- act action from which to extract X
DESCRIPTION
Actions associated with the XkbPtrAction structure move the pointer
when keys are pressed and released.
If the MouseKeys control is not enabled, KeyPress and KeyRelease events
are treated as though the action is XkbSA_NoAction.
If the MouseKeys control is enabled, a server action of type
XkbSA_MovePtr instructs the server to generate core pointer
MotionNotify events rather than the usual KeyPress event, and the
corresponding KeyRelease event disables any mouse keys timers that were
created as a result of handling the XkbSA_MovePtr action.
The type field of the XkbPtrAction structure is always XkbSA_MovePtr.
The flags field is a bitwise inclusive OR of the masks shown in Table
1.
Table 1 Pointer Action Types
----------------------------------------------------------------
Action Type Meaning
----------------------------------------------------------------
XkbSA_NoAcceleration If not set, and the MouseKeysAccel
control is enabled, the KeyPress
initiates a mouse keys timer for this
key; every time the timer expires, the
cursor moves.
XkbSA_MoveAbsoluteX If set, the X portion of the structure
specifies the new pointer X coordinate.
Otherwise, the X portion is added to the
current pointer X coordinate to
determine the new pointer X coordinate.
XkbSA_MoveAbsoluteY If set, the Y portion of the structure
specifies the new pointer Y coordinate.
Otherwise, the Y portion is added to the
current pointer Y coordinate to
determine the new pointer Y coordinate.
Each of the X and Y coordinantes of the XkbPtrAction structure is
composed of two signed 16-bit values, that is, the X coordinate is
composed of high_XXX and low_XXX, and similarly for the Y coordinate.
Xkb provides the following macros, to convert between a signed integer
and two signed 16-bit values in XkbPtrAction structures.
STRUCTURES
typedef struct _XkbPtrAction {
unsigned char type; /∗ XkbSA_MovePtr */
unsigned char flags; /∗ determines type of pointer motion */
unsigned char high_XXX; /∗ x coordinate, high bits*/
unsigned char low_XXX; /∗ y coordinate, low bits */
unsigned char high_YYY; /∗ x coordinate, high bits */
unsigned char low_YYY; /∗ y coordinate, low bits */
} XkbPtrAction;