XkbPtrActionY(3)
β¨ NAME β¨
XkbPtrActionY β Returns the high_YYY and low_YYY fields of act converted to a signed int. Bestie, this is from the XKB FUNCTIONS manual, page XkbPtrActionY(3), and yes it's exactly as niche as it sounds π
.
πΈ SYNOPSIS πΈ
int XkbPtrActionY (XkbPtrAction act);
π ARGUMENTS π
actβ the action from which to extract Y. That's the whole mood π«Ά.
π DESCRIPTION π
Okay so, actions associated with the XkbPtrAction structure move the pointer when keys are pressed and released. Literally pointer movement business β¨.
If the MouseKeys control is not enabled, KeyPress and KeyRelease events are treated as though the action is XkbSA_NoAction. No cap.
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. That's the whole chain, bestie π₯.
The type field of the XkbPtrAction structure is always XkbSA_MovePtr. Periodt.
The flags field is a bitwise inclusive OR of the masks shown in Table 1. Very "combine the vibes with OR" of it all π¦.
π Table 1 Pointer Action Types π
XkbSA_NoAccelerationβ If not set, and theMouseKeysAccelcontrol is enabled, theKeyPressinitiates 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 coordinates 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. Iconic little conversion moment β.
π§ 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;
mwah π β footer source/version/date vibes are literally X Version 11, libX11 1.8.14, and XkbPtrActionY(3). k bye bestie, go convert some signed 16-bit values π«Άπ
π¦ where this page comes from
- alpine 3.24: libx11-doc 1.8.14-r0 Β· X11
- arch rolling: libx11 1.8.14-1 Β· MIT AND X11
- nixos 26.05: libx11 1.8.14
- nixpkgs unstable: libx11 1.8.14
- Copyright (c) 1999, Oracle and/or its affiliates
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms