XkbSetDeviceInfo man page on QNX

Printed from http://www.polarhome.com/service/man/?qf=XkbSetDeviceInfo&af=0&tf=2&of=QNX

XkbSetDeviceInfo(3)		 XKB FUNCTIONS		   XkbSetDeviceInfo(3)

NAME
       XkbSetDeviceInfo	 -  Modify  some or all of the characteristics of an X
       Input Extension device

SYNOPSIS
       Bool XkbSetDeviceInfo (Display *dpy, unsigned int  which,  XkbDeviceIn‐
	      foPtr device_info);

ARGUMENTS
       - dpy  connection to X server

       - which
	      mask indicating characteristics to modify

       - device_info
	      structure defining the device and modifications

DESCRIPTION
       To change characteristics of an X Input Extension device in the server,
       first modify a local copy of the device structure and then  use	either
       XkbSetDeviceInfo, or, to save network traffic, use an XkbDeviceChanges‐
       Rec structure and call XkbChangeDeviceInfo to download the  changes  to
       the server.

       XkbSetDeviceInfo sends a request to the server to modify the character‐
       istics of the device specified in the device_info structure.  The  par‐
       ticular	characteristics	 modified  are	identified  by the bits set in
       which and take their values from the  relevant  fields  in  device_info
       (see  Table  1).	 XkbSetDeviceInfo returns True if the request was suc‐
       cessfully sent to the server. If the X server implementation  does  not
       allow  interaction between the X input extension and the Xkb Extension,
       the function does nothing and returns False.
				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 which parameter specifies which aspects of  the  device  should  be
       changed	and is a bitmask composed of an inclusive OR or one or more of
       the following bits: XkbXI_ButtonActionsMask,  XkbXI_IndicatorNamesMask,
       XkbXI_IndicatorMapsMask. If the features requested to be manipulated in
       which are valid for the device, but the server does not support assign‐
       ment  of one or more of them, that particular portion of the request is
       ignored.

       If the device specified in device_info->device_spec  does  not  contain
       buttons and a request affecting buttons is made, or the device does not
       contain indicators and a request affecting indicators is made,  a  Bad‐
       Match protocol error results.

       If  the	XkbXI_ButtonActionsMask	 bit  is  set  in  the	supported mask
       returned by XkbGetDeviceInfo, the Xkb extension allows applications  to
       assign key actions to buttons on input extension devices other than the
       core keyboard device. If the XkbXI_ButtonActionsMask is set  in	which,
       the  actions  for  all  buttons specified in device_info are set to the
       XkbActions specified in device_info->btn_acts.  If the number  of  but‐
       tons requested to be updated is not valid for the device, XkbSetDevice‐
       Info returns False and a BadValue protocol error results.

       If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set
       in  the	supported mask returned by XkbGetDeviceInfo, the Xkb extension
       allows applications to assign maps and / or names to the indicators  of
       nonkeyboard extension devices. If supported, maps and / or names can be
       assigned to all extension device indicators, whether they are part of a
       keyboard feedback or part of an indicator feedback.

       If  the	XkbXI_IndicatorMapsMask and / or XkbXI_IndicatorNamesMask flag
       is  set	in  which,  the	 indicator  maps  and  /  or  names  for   all
       device_info->num_leds  indicator devices specified in device_info->leds
       are set to the maps and /  or  names  specified	in  device_info->leds.
       device_info->leds->led_class  and  led_id  specify  the input extension
       class and device ID for each indicator device to modify; if  they  have
       invalid	values, a BadValue protocol error results and XkbSetDeviceInfo
       returns False. If they have legal values but do not specify a  keyboard
       or  indicator  class  feedback  for  the device in question, a BadMatch
       error results.  If any of the values  in	 device_info->leds->names  are
       not a valid Atom or None, a BadAtom protocol error results.

RETURN VALUES
       True	      The   XkbSetDeviceInfo  function	returns	 True  if  the
		      request was successfully sent to the server.

       False	      The XkbSetDeviceInfo function returns  False  if	the  X
		      server implementation does not allow interaction between
		      the X input extension and the Xkb Extension.

STRUCTURES
       Changes to an Xkb extension device may be tracked by listening to  Xkb‐
       DeviceExtensionNotify  events and accumulating the changes in an XkbDe‐
       viceChangesRec structure. The changes noted in the structure  may  then
       be  used	 in subsequent operations to update either a server configura‐
       tion or a local copy of an  Xkb	extension  device  configuration.  The
       changes structure is defined as follows:

       typedef struct _XkbDeviceChanges {
	   unsigned int	   changed;    /∗ bits indicating what has changed */
	   unsigned short  first_btn;  /∗ number of first button which changed, if any */
	   unsigned short  num_btns;   /∗ number of buttons that have changed */
	   XkbDeviceLedChangesRec leds;
       } XkbDeviceChangesRec,*XkbDeviceChangesPtr;

DIAGNOSTICS
       BadAtom	      A name is neither a valid Atom or None

       BadMatch	      A	 compatible  version  of  Xkb was not available in the
		      server or an argument has correct type and range, but is
		      otherwise invalid

       BadValue	      An argument is out of range

SEE ALSO
       XkbChangeDeviceInfo(3), XkbGetDeviceInfo(3)

X Version 11			 libX11 1.3.5		   XkbSetDeviceInfo(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server QNX

List of man pages available for QNX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net