XkbGetKeyExplicitComponents(3)


NAME

   XkbGetKeyExplicitComponents  -  Obtain  the  explicit  components  (the
   explicit array) for a subset of the keys in a keyboard description

SYNOPSIS

   Status XkbGetKeyExplicitComponents (Display *dpy, unsigned  int  first,
          unsigned int num, XkbDescPtr xkb);

ARGUMENTS

   - dpy  connection to server

   - first
          keycode of first key to fetch

   - num  number of keys for which to get explicit info

   - xkb  Xkb description in which to put results

DESCRIPTION

   Whenever a client remaps the keyboard using core protocol requests, Xkb
   examines the map to determine likely default values for the  components
   that  cannot  be  specified  using the core protocol (see Core Keyboard
   Mapping to Xkb Keyboard Mapping Transformation for more information  on
   how Xkb chooses the default values).

   DO  THE  FOUR  PAGES  OF "CORE KEYBOARD MAPPING TO XKB KEYBOARD MAPPING
   TRANSFORMATION" NEED TO BE ADDED HERE?

   This automatic remapping might replace definitions explicitly requested
   by  an application, so the Xkb keyboard description defines an explicit
   components mask for each key. Any aspects of  the  automatic  remapping
   listed in the explicit components mask for a key are not changed by the
   automatic keyboard mapping.

   The explicit components masks are held in the  explicit  field  of  the
   server  map,  which  is an array indexed by keycode. Each entry in this
   array is a mask that is a bitwise inclusive OR of the values  shown  in
   Table 1.

                  Table 1 Explicit Component Masks
   
   Bit in Explicit Mask   Value    Protects Against
   
   ExplicitKeyType1       (1<<0)   Automatic determination of the
                                   key   type   associated   with
                                   Group1.
   ExplicitKeyType2       (1<<1)   Automatic determination of the
                                   key   type   associated   with
                                   Group2.
   ExplicitKeyType3       (1<<2)   Automatic determination of the
                                   key   type   associated   with
                                   Group3.
   ExplicitKeyType4       (1<<3)   Automatic determination of the
                                   key   type   associated   with
                                   Group4.
   ExplicitInterpret      (1<<4)   Application   of  any  of  the
                                   fields     of     a     symbol
                                   interpretation  to  the key in
                                   question.

   ExplicitAutoRepeat     (1<<5)   Automatic   determination   of
                                   auto-repeat   status  for  the
                                   key, as specified in a  symbol
                                   interpretation.
   ExplicitBehavior       (1<<6)   Automatic  assignment  of  the
                                   XkbKB_Lock  behavior  to   the
                                   key,  if  the XkbSI_LockingKey
                                   flag  is  set  in   a   symbol
                                   interpretation.
   ExplicitVModMap        (1<<7)   Automatic determination of the
                                   virtual modifier map  for  the
                                   key   based   on  the  actions
                                   assigned to the  key  and  the
                                   symbol   interpretations  that
                                   match the key.

   XkbGetKeyExplicitComponents sends a request to the server to obtain the
   explicit  components  for  num  keys  on the keyboard starting with key
   first.  It waits for a reply and returns the explicit components in the
   server->explicit      array      of      xkb.       If      successful,
   XkbGetKeyExplicitComponents returns Success. The xkb parameter must  be
   a pointer to a valid Xkb keyboard description.

   If  the  server  map  in  the  xkb  parameter  has  not been allocated,
   XkbGetKeyExplicitComponents  allocates  and   initializes   it   before
   obtaining the actions.

   If  the  server  does  not have a compatible version of Xkb, or the Xkb
   extension      has      not      been       properly       initialized,
   XkbGetKeyExplicitComponents  returns BadMatch. If num is less than 1 or
   greater  than   XkbMaxKeyCount,   XkbGetKeyExplicitComponents   returns
   BadValue.  If  any allocation errors occur, XkbGetKeyExplicitComponents
   returns BadAlloc.

DIAGNOSTICS

   BadAlloc       Unable to allocate storage

   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





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.