XkbSetPtrActionY(3)
Bestie, welcome to XkbSetPtrActionY(3) from the XKB FUNCTIONS manual. This one is all about setting pointer-action Y fields, and yes, itβs giving keyboard-nerd main character energy. π
β¨
π NAME π
XkbSetPtrActionYβ Sets thehigh_YYYandlow_YYYfields ofactfrom the signed integer valuey. π«Ά
πΈ SYNOPSIS πΈ
void XkbSetPtrActionY (XkbPtrAction act, int y);
π¦ ARGUMENTS π¦
actβ action in which to set Y. β¨yβ new value to set. π
π₯ DESCRIPTION π₯
Okay so actions associated with the XkbPtrAction structure move the pointer when keys are pressed and released. Periodt. π±οΈβ¨
If the MouseKeys control is not enabled, KeyPress and KeyRelease events are treated as though the action is XkbSA_NoAction. Literally no-action vibes. π
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. No cap. β±οΈ
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 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. π§β¨
π 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;
This page is brought to you by X Version 11 and libX11 1.8.14, and itβs the XkbSetPtrActionY(3) manual β mwah, go set those Y fields bestie ππ
π«Ά
π¦ 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