dwww Home | Manual pages | Find package

XkbGetDeviceInfo(3)              XKB FUNCTIONS             XkbGetDeviceInfo(3)

NAME
       XkbGetDeviceInfo  - Determine whether the X server allows Xkb access to
       particular capabilities of input devices other than  the  core  X  key-
       board, or to determine the status of indicator maps, indicator names or
       button actions on a non-KeyClass extension device

SYNOPSIS
       XkbDeviceInfoPtr XkbGetDeviceInfo (Display *dpy,  unsigned  int  which,
              unsigned  int  device_spec, unsigned int ind_class, unsigned int
              ind_id);

ARGUMENTS
       dpy    connection to X server

       which  mask indicating information to return

       device_spec
              device ID, or XkbUseCoreKbd

       ind_class
              feedback class for indicator requests

       ind_id feedback ID for indicator requests

DESCRIPTION
       To determine whether the X server allows Xkb access to particular capa-
       bilities  of input devices other than the core X keyboard, or to deter-
       mine the status of indicator maps, indicator names or button actions on
       a non-KeyClass extension device, use XkbGetDeviceInfo.

       XkbGetDeviceInfo  returns  information about the input device specified
       by device_spec.  Unlike the device_spec parameter  of  most  Xkb  func-
       tions, device_spec does not need to be a keyboard device. It must, how-
       ever, indicate either the core keyboard or a valid  X  Input  Extension
       device.

       The which parameter is a mask specifying optional information to be re-
       turned. It is an inclusive OR of one or more of the values from Table 1
       and causes the returned XkbDeviceInfoRec to contain values for the cor-
       responding fields specified in the table.

                                Table 1 XkbDeviceInfoRec Mask Bits
       ____________________________________________________________________________________
       Name                         XkbDeviceInfoRec Value     Capability If Set
                                    Fields Effected
       ____________________________________________________________________________________
       XkbXI_KeyboardsMask                           (1L <<0) Clients can use all
                                                              Xkb requests and events
                                                              with KeyClass devices
                                                              supported by the input
                                                              device extension.

       XkbXI_ButtonActionsMask       num_btns        (1L <<1) Clients can assign key
                                     btn_acts                 actions to buttons
                                                              non-KeyClass input
                                                              extension devices.

       XkbXI_IndicatorNamesMask      leds->names     (1L <<2) Clients can assign
                                                              names to indicators on
                                                              non-KeyClass input
                                                              extension devices.

       XkbXI_IndicatorMapsMask       leds->maps      (1L <<3) Clients can assign
                                                              indicator maps to
                                                              indicators on
                                                              non-KeyClass input
                                                              extension devices.

       XkbXI_IndicatorStateMask      leds->state     (1L <<4) Clients can request
                                                              the status of indicators
                                                              on non-KeyClass input
                                                              extension devices.

       XkbXI_IndicatorsMask          sz_leds         (0x1c)   XkbXI_IndicatorNamesMask |
                                     num_leds                 XkbXI_IndicatorMapsMask |
                                     leds->*                  XkbXI_IndicatorStateMask

       XkbXI_UnsupportedFeaturesMask unsupported     (1L <<15)

       XkbXI_AllDeviceFeaturesMask   Those selected  (0x1e)   XkbXI_IndicatorsMask |
                                     by Value Column          XkbSI_ButtonActionsMask
                                     masks

       XkbXI_AllFeaturesMask         Those selected  (0x1f)   XkbSI_AllDeviceFeaturesMask |
                                     by Value Column          XkbSI_KeyboardsMask
                                     masks

       XkbXI_AllDetailsMask          Those selected  (0x801f) XkbXI_AllFeaturesMask |
                                     by Value column          XkbXI_UnsupportedFeaturesMask
                                     masks

       The XkbDeviceInfoRec returned by XkbGetDeviceInfo always has values for
       name  (may  be  a  null  string,  ""),  type,  supported,  unsupported,
       has_own_state, dflt_kbd_fd, and dflt_kbd_fb.  Other fields  are  filled
       in as specified by which.

       Upon  return,  the  supported  field will be set to the inclusive OR of
       zero or more bits from Table 1; each bit set indicates an optional  Xkb
       extension  device feature supported by the server implementation, and a
       client may modify the associated behavior.

       If the XkbButtonActionsMask bit is set in which,  the  XkbDeviceInfoRec
       returned  will  have  the button actions (btn_acts field) filled in for
       all buttons.

       If which includes one of the bits in XkbXI_IndicatorsMask, the feedback
       class  of  the indicators must be specified in ind_class, and the feed-
       back ID of the indicators must be specified in ind_id.  If the  request
       does not include any of the bits in XkbXI_IndicatorsMask, the ind_class
       and ind_id parameters are ignored. The class and ID can be obtained via
       the input device extension XListInputDevices request.

       If  any of the XkbXI_IndicatorsMask bits are set in which, the XkbDevi-
       ceInfoRec returned will have filled in the portions of the leds  struc-
       ture  corresponding  to  the indicator feedback identified by ind_class
       and ind_id.  The leds vector of the XkbDeviceInfoRec  is  allocated  if
       necessary and sz_leds and num_leds filled in. The led_class, led_id and
       phys_indicators fields of the leds entry corresponding to ind_class and
       ind_id  are  always  filled in. If which contains XkbXI_IndicatorNames-
       Mask, the names_present and names fields of the leds  structure  corre-
       sponding  to  ind_class  and ind_id are returned. If which contains Xk-
       bXI_IndicatorStateMask, the corresponding state field  is  updated.  If
       which  contains  XkbXI_IndicatorMapsMask,  the  maps_present  and  maps
       fields are updated.

       Xkb provides convenience functions to request subsets of  the  informa-
       tion  available via XkbGetDeviceInfo.  These convenience functions mir-
       ror some of the mask bits. The functions all take  an  XkbDeviceInfoPtr
       as an input argument and operate on the X Input Extension device speci-
       fied by the device_spec field of the structure. Only the parts  of  the
       structure indicated in the function description are updated. The XkbDe-
       viceInfoRec structure used in the function  call  can  be  obtained  by
       calling XkbGetDeviceInfo or can be allocated by calling XkbAllocDevice-
       Info.

STRUCTURES
       Information about X Input Extension devices is  transferred  between  a
       client program and the Xkb extension in an XkbDeviceInfoRec structure:

       typedef struct {
           char *               name;          /* name for device */
           Atom                 type;          /* name for class of devices */
           unsigned short       device_spec;   /* device of interest */
           Bool                 has_own_state; /* True=>this device has its own state */
           unsigned short       supported;     /* bits indicating supported capabilities */
           unsigned short       unsupported;   /* bits indicating unsupported capabilities */
           unsigned short       num_btns;      /* number of entries in btn_acts */
           XkbAction *          btn_acts;      /* button actions */
           unsigned short       sz_leds;       /* total number of entries in LEDs vector */
           unsigned short       num_leds;      /* number of valid entries in LEDs vector */
           unsigned short       dflt_kbd_fb;   /* input extension ID of default (core kbd) indicator */
           unsigned short       dflt_led_fb;   /* input extension ID of default indicator feedback */
           XkbDeviceLedInfoPtr  leds;          /* LED descriptions */
       } XkbDeviceInfoRec, *XkbDeviceInfoPtr;

SEE ALSO
       XkbAllocDeviceInfo(3), XListInputDevices(3)

X Version 11                     libX11 1.8.4              XkbGetDeviceInfo(3)

Generated by dwww version 1.15 on Sun Jun 23 21:36:40 CEST 2024.