diff options
author | marha <marha@users.sourceforge.net> | 2010-09-04 16:22:11 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-09-04 16:22:11 +0000 |
commit | a0fa440dee24b4b39d30c1b04579691d42efba65 (patch) | |
tree | 871ba76fa2620c406a09c0529312691d40f37495 | |
parent | 28d9e16b745a3127287215888b0b5f12acb255af (diff) | |
download | vcxsrv-a0fa440dee24b4b39d30c1b04579691d42efba65.tar.gz vcxsrv-a0fa440dee24b4b39d30c1b04579691d42efba65.tar.bz2 vcxsrv-a0fa440dee24b4b39d30c1b04579691d42efba65.zip |
libx11 git update 4/9/2010
222 files changed, 29942 insertions, 29942 deletions
diff --git a/libX11/COPYING b/libX11/COPYING index 3872978aa..e15e3ecab 100644 --- a/libX11/COPYING +++ b/libX11/COPYING @@ -1,942 +1,942 @@ -The following is the 'standard copyright' agreed upon by most contributors, -and is currently the canonical license preferred by the X.Org Foundation. -This is a slight variant of the common MIT license form published by the -Open Source Initiative at http://www.opensource.org/licenses/mit-license.php - -Copyright holders of new code should use this license statement where -possible, and insert their name to this list. Please sort by surname -for people, and by the full name for other entities (e.g. Juliusz -Chroboczek sorts before Intel Corporation sorts before Daniel Stone). - -See each individual source file or directory for the license that applies -to that file. - -Copyright (C) 2003-2006,2008 Jamey Sharp, Josh Triplett -Copyright © 2009 Red Hat, Inc. -Copyright © 1990-1992,1999,2000,2004,2009 Sun Microsystems, Inc. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - - ---------------------------------------------------------------------- - -The following licenses are 'legacy' - usually MIT/X11 licenses with the name -of the copyright holder(s) in the license statement: - -Copyright 1984-1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -X Window System is a trademark of The Open Group. - - ---------------------------------------- - -Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium -Copyright 2000 The XFree86 Project, Inc. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from the X Consortium. - -Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by -Digital Equipment Corporation - -Portions Copyright 1990, 1991 by Tektronix, Inc. - -Permission to use, copy, modify and distribute this documentation for -any purpose and without fee is hereby granted, provided that the above -copyright notice appears in all copies and that both that copyright notice -and this permission notice appear in all copies, and that the names of -Digital and Tektronix not be used in in advertising or publicity pertaining -to this documentation without specific, written prior permission. -Digital and Tektronix makes no representations about the suitability -of this documentation for any purpose. -It is provided ``as is'' without express or implied warranty. - - ---------------------------------------- - -Copyright (c) 1999-2000 Free Software Foundation, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the Free Software Foundation -shall not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization from the -Free Software Foundation. - - ---------------------------------------- - -Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc. - All Rights Reserved - -This file is a component of an X Window System-specific implementation -of Xcms based on the TekColor Color Management System. TekColor is a -trademark of Tektronix, Inc. The term "TekHVC" designates a particular -color space that is the subject of U.S. Patent No. 4,985,853 (equivalent -foreign patents pending). Permission is hereby granted to use, copy, -modify, sell, and otherwise distribute this software and its -documentation for any purpose and without fee, provided that: - -1. This copyright, permission, and disclaimer notice is reproduced in - all copies of this software and any modification thereof and in - supporting documentation; -2. Any color-handling application which displays TekHVC color - cooordinates identifies these as TekHVC color coordinates in any - interface that displays these coordinates and in any associated - documentation; -3. The term "TekHVC" is always used, and is only used, in association - with the mathematical derivations of the TekHVC Color Space, - including those provided in this file and any equivalent pathways and - mathematical derivations, regardless of digital (e.g., floating point - or integer) representation. - -Tektronix makes no representation about the suitability of this software -for any purpose. It is provided "as is" and with all faults. - -TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE, -INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY -SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -(c) Copyright 1995 FUJITSU LIMITED -This is source code modified by FUJITSU LIMITED under the Joint -Development Agreement for the CDE/Motif PST. - - ---------------------------------------- - -Copyright 1992 by Oki Technosystems Laboratory, Inc. -Copyright 1992 by Fuji Xerox Co., Ltd. - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of Oki Technosystems -Laboratory and Fuji Xerox not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. -Oki Technosystems Laboratory and Fuji Xerox make no representations -about the suitability of this software for any purpose. It is provided -"as is" without express or implied warranty. - -OKI TECHNOSYSTEMS LABORATORY AND FUJI XEROX DISCLAIM ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OKI TECHNOSYSTEMS -LABORATORY AND FUJI XEROX BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE -OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1990, 1991, 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - - -Copyright (c) 1995 David E. Wexelblat. All rights reserved - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL DAVID E. WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of David E. Wexelblat shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from David E. Wexelblat. - - ---------------------------------------- - -Copyright 1990, 1991 by OMRON Corporation - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name OMRON not be used in -advertising or publicity pertaining to distribution of the software without -specific, written prior permission. OMRON makes no representations -about the suitability of this software for any purpose. It is provided -"as is" without express or implied warranty. - -OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by -Digital Equipment Corporation - -Portions Copyright 1990, 1991 by Tektronix, Inc - -Rewritten for X.org by Chris Lee <clee@freedesktop.org> - -Permission to use, copy, modify, distribute, and sell this documentation -for any purpose and without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -Chris Lee makes no representations about the suitability for any purpose -of the information in this document. It is provided \`\`as-is'' without -express or implied warranty. - - ---------------------------------------- - -Copyright 1993 by Digital Equipment Corporation, Maynard, Massachusetts, -Copyright 1994 by FUJITSU LIMITED -Copyright 1994 by Sony Corporation - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Digital, FUJITSU -LIMITED and Sony Corporation not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. - -DIGITAL, FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL, FUJITSU LIMITED -AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - - -Copyright 1991 by the Open Software Foundation - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of Open Software Foundation -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. Open Software -Foundation makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -OPEN SOFTWARE FOUNDATION DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN BE -LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1990, 1991, 1992,1993, 1994 by FUJITSU LIMITED -Copyright 1993, 1994 by Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of FUJITSU LIMITED and Sony Corporation -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. FUJITSU LIMITED and -Sony Corporation makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD -TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL FUJITSU LIMITED OR SONY CORPORATION BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright (c) 1993, 1995 by Silicon Graphics Computer Systems, Inc. - -Permission to use, copy, modify, and distribute this -software and its documentation for any purpose and without -fee is hereby granted, provided that the above copyright -notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting -documentation, and that the name of Silicon Graphics not be -used in advertising or publicity pertaining to distribution -of the software without specific prior written permission. -Silicon Graphics makes no representation about the suitability -of this software for any purpose. It is provided "as is" -without any express or implied warranty. - -SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1991, 1992, 1993, 1994 by FUJITSU LIMITED -Copyright 1993 by Digital Equipment Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of FUJITSU LIMITED and -Digital Equipment Corporation not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. FUJITSU LIMITED and Digital Equipment Corporation -makes no representations about the suitability of this software for -any purpose. It is provided "as is" without express or implied -warranty. - -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1992, 1993 by FUJITSU LIMITED -Copyright 1993 by Fujitsu Open Systems Solutions, Inc. -Copyright 1994 by Sony Corporation - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED, -Fujitsu Open Systems Solutions, Inc. and Sony Corporation not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. -FUJITSU LIMITED, Fujitsu Open Systems Solutions, Inc. and -Sony Corporation make no representations about the suitability of -this software for any purpose. It is provided "as is" without -express or implied warranty. - -FUJITSU LIMITED, FUJITSU OPEN SYSTEMS SOLUTIONS, INC. AND SONY -CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, -IN NO EVENT SHALL FUJITSU OPEN SYSTEMS SOLUTIONS, INC., FUJITSU LIMITED -AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE -OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1987, 1988, 1990, 1993 by Digital Equipment Corporation, -Maynard, Massachusetts, - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - - ---------------------------------------- - -Copyright 1993 by SunSoft, Inc. -Copyright 1999-2000 by Bruno Haible - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the names of SunSoft, Inc. and -Bruno Haible not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. SunSoft, Inc. and Bruno Haible make no representations -about the suitability of this software for any purpose. It is -provided "as is" without express or implied warranty. - -SunSoft Inc. AND Bruno Haible DISCLAIM ALL WARRANTIES WITH REGARD -TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS, IN NO EVENT SHALL SunSoft, Inc. OR Bruno Haible BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1991 by the Open Software Foundation -Copyright 1993 by the TOSHIBA Corp. - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the names of Open Software Foundation and TOSHIBA -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. Open Software -Foundation and TOSHIBA make no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -OPEN SOFTWARE FOUNDATION AND TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN OR TOSHIBA BE -LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1988 by Wyse Technology, Inc., San Jose, Ca., - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name Wyse not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -WYSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - - ---------------------------------------- - - -Copyright 1991 by the Open Software Foundation -Copyright 1993, 1994 by the Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the names of Open Software Foundation and -Sony Corporation not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior permission. -Open Software Foundation and Sony Corporation make no -representations about the suitability of this software for any purpose. -It is provided "as is" without express or implied warranty. - -OPEN SOFTWARE FOUNDATION AND SONY CORPORATION DISCLAIM ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OPEN -SOFTWARE FOUNDATIONN OR SONY CORPORATION BE LIABLE FOR ANY SPECIAL, -INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1992, 1993 by FUJITSU LIMITED -Copyright 1993 by Fujitsu Open Systems Solutions, Inc. - -Permission to use, copy, modify, distribute and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED and -Fujitsu Open Systems Solutions, Inc. not be used in advertising or -publicity pertaining to distribution of the software without specific, -written prior permission. -FUJITSU LIMITED and Fujitsu Open Systems Solutions, Inc. makes no -representations about the suitability of this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED AND FUJITSU OPEN SYSTEMS SOLUTIONS, INC. DISCLAIMS ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJITSU OPEN SYSTEMS -SOLUTIONS, INC. AND FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT -OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1993, 1994 by Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of Sony Corporation -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -Sony Corporation makes no representations about the suitability of -this software for any purpose. It is provided "as is" without -express or implied warranty. - -SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1986, 1998 The Open Group -Copyright (c) 2000 The XFree86 Project, Inc. - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -X CONSORTIUM OR THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Except as contained in this notice, the name of the X Consortium or of the -XFree86 Project shall not be used in advertising or otherwise to promote the -sale, use or other dealings in this Software without prior written -authorization from the X Consortium and the XFree86 Project. - - ---------------------------------------- - -Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, - and Nippon Telegraph and Telephone Corporation -Copyright 1991 by the Open Software Foundation -Copyright 1993 by the FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the names of OMRON, NTT Software, NTT, and -Open Software Foundation not be used in advertising or publicity -pertaining to distribution of the software without specific, -written prior permission. OMRON, NTT Software, NTT, and Open Software -Foundation make no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -OMRON, NTT SOFTWARE, NTT, AND OPEN SOFTWARE FOUNDATION -DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT -SHALL OMRON, NTT SOFTWARE, NTT, OR OPEN SOFTWARE FOUNDATION BE -LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 1988 by Wyse Technology, Inc., San Jose, Ca, -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - - -Copyright 1991, 1992 by Fuji Xerox Co., Ltd. -Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of Fuji Xerox, -FUJITSU LIMITED not be used in advertising or publicity pertaining -to distribution of the software without specific, written prior -permission. Fuji Xerox, FUJITSU LIMITED make no representations -about the suitability of this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJI XEROX, FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJI XEROX, -FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA -OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 2006 Josh Triplett - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - - ---------------------------------------- - -(c) Copyright 1996 by Sebastien Marineau and Holger Veit - <marineau@genie.uottawa.ca> - <Holger.Veit@gmd.de> - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF -OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Except as contained in this notice, the name of Sebastien Marineau or Holger Veit -shall not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization from Holger Veit or -Sebastien Marineau. - - ---------------------------------------- - -Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, - and Nippon Telegraph and Telephone Corporation -Copyright 1991 by the Open Software Foundation -Copyright 1993 by the TOSHIBA Corp. -Copyright 1993, 1994 by Sony Corporation -Copyright 1993, 1994 by the FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the names of OMRON, NTT Software, NTT, Open -Software Foundation, and Sony Corporation not be used in advertising -or publicity pertaining to distribution of the software without specific, -written prior permission. OMRON, NTT Software, NTT, Open Software -Foundation, and Sony Corporation make no representations about the -suitability of this software for any purpose. It is provided "as is" -without express or implied warranty. - -OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, AND SONY -CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT -SHALL OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, OR SONY -CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright 2000 by Bruno Haible - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of Bruno Haible not -be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. Bruno Haible -makes no representations about the suitability of this software for -any purpose. It is provided "as is" without express or implied -warranty. - -Bruno Haible DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN -NO EVENT SHALL Bruno Haible BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS -OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE -OR PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright © 2003 Keith Packard - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of Keith Packard not be used in -advertising or publicity pertaining to distribution of the software without -specific, written prior permission. Keith Packard makes no -representations about the suitability of this software for any purpose. It -is provided "as is" without express or implied warranty. - -KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ---------------------------------------- - -Copyright (c) 2007-2009, Troy D. Hanson -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ---------------------------------------- - -Copyright 1992, 1993 by TOSHIBA Corp. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of TOSHIBA not be used in advertising -or publicity pertaining to distribution of the software without specific, -written prior permission. TOSHIBA make no representations about the -suitability of this software for any purpose. It is provided "as is" -without express or implied warranty. - -TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - - - ---------------------------------------- - -Copyright IBM Corporation 1993 - -All Rights Reserved - -License to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of IBM not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS, AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS, IN NO EVENT SHALL -IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - - ---------------------------------------- - -Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation, - and Nippon Telegraph and Telephone Corporation - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the names of OMRON, NTT Software, and NTT -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. OMRON, NTT Software, -and NTT make no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -OMRON, NTT SOFTWARE, AND NTT, DISCLAIM ALL WARRANTIES WITH REGARD -TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS, IN NO EVENT SHALL OMRON, NTT SOFTWARE, OR NTT, BE -LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - +The following is the 'standard copyright' agreed upon by most contributors,
+and is currently the canonical license preferred by the X.Org Foundation.
+This is a slight variant of the common MIT license form published by the
+Open Source Initiative at http://www.opensource.org/licenses/mit-license.php
+
+Copyright holders of new code should use this license statement where
+possible, and insert their name to this list. Please sort by surname
+for people, and by the full name for other entities (e.g. Juliusz
+Chroboczek sorts before Intel Corporation sorts before Daniel Stone).
+
+See each individual source file or directory for the license that applies
+to that file.
+
+Copyright (C) 2003-2006,2008 Jamey Sharp, Josh Triplett
+Copyright © 2009 Red Hat, Inc.
+Copyright 1990-1992,1999,2000,2004,2009 Oracle and/or its affiliates.
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------------------------------------
+
+The following licenses are 'legacy' - usually MIT/X11 licenses with the name
+of the copyright holder(s) in the license statement:
+
+Copyright 1984-1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+X Window System is a trademark of The Open Group.
+
+ ----------------------------------------
+
+Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+Copyright 2000 The XFree86 Project, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from the X Consortium.
+
+Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+Digital Equipment Corporation
+
+Portions Copyright 1990, 1991 by Tektronix, Inc.
+
+Permission to use, copy, modify and distribute this documentation for
+any purpose and without fee is hereby granted, provided that the above
+copyright notice appears in all copies and that both that copyright notice
+and this permission notice appear in all copies, and that the names of
+Digital and Tektronix not be used in in advertising or publicity pertaining
+to this documentation without specific, written prior permission.
+Digital and Tektronix makes no representations about the suitability
+of this documentation for any purpose.
+It is provided ``as is'' without express or implied warranty.
+
+ ----------------------------------------
+
+Copyright (c) 1999-2000 Free Software Foundation, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+FREE SOFTWARE FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the Free Software Foundation
+shall not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from the
+Free Software Foundation.
+
+ ----------------------------------------
+
+Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
+ All Rights Reserved
+
+This file is a component of an X Window System-specific implementation
+of Xcms based on the TekColor Color Management System. TekColor is a
+trademark of Tektronix, Inc. The term "TekHVC" designates a particular
+color space that is the subject of U.S. Patent No. 4,985,853 (equivalent
+foreign patents pending). Permission is hereby granted to use, copy,
+modify, sell, and otherwise distribute this software and its
+documentation for any purpose and without fee, provided that:
+
+1. This copyright, permission, and disclaimer notice is reproduced in
+ all copies of this software and any modification thereof and in
+ supporting documentation;
+2. Any color-handling application which displays TekHVC color
+ cooordinates identifies these as TekHVC color coordinates in any
+ interface that displays these coordinates and in any associated
+ documentation;
+3. The term "TekHVC" is always used, and is only used, in association
+ with the mathematical derivations of the TekHVC Color Space,
+ including those provided in this file and any equivalent pathways and
+ mathematical derivations, regardless of digital (e.g., floating point
+ or integer) representation.
+
+Tektronix makes no representation about the suitability of this software
+for any purpose. It is provided "as is" and with all faults.
+
+TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
+INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA, OR PROFITS, WHETHER IN AN ACTION OF
+CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR THE PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+(c) Copyright 1995 FUJITSU LIMITED
+This is source code modified by FUJITSU LIMITED under the Joint
+Development Agreement for the CDE/Motif PST.
+
+ ----------------------------------------
+
+Copyright 1992 by Oki Technosystems Laboratory, Inc.
+Copyright 1992 by Fuji Xerox Co., Ltd.
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of Oki Technosystems
+Laboratory and Fuji Xerox not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+Oki Technosystems Laboratory and Fuji Xerox make no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+OKI TECHNOSYSTEMS LABORATORY AND FUJI XEROX DISCLAIM ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OKI TECHNOSYSTEMS
+LABORATORY AND FUJI XEROX BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1990, 1991, 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+
+Copyright (c) 1995 David E. Wexelblat. All rights reserved
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL DAVID E. WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of David E. Wexelblat shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from David E. Wexelblat.
+
+ ----------------------------------------
+
+Copyright 1990, 1991 by OMRON Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name OMRON not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. OMRON makes no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+Digital Equipment Corporation
+
+Portions Copyright 1990, 1991 by Tektronix, Inc
+
+Rewritten for X.org by Chris Lee <clee@freedesktop.org>
+
+Permission to use, copy, modify, distribute, and sell this documentation
+for any purpose and without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+Chris Lee makes no representations about the suitability for any purpose
+of the information in this document. It is provided \`\`as-is'' without
+express or implied warranty.
+
+ ----------------------------------------
+
+Copyright 1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+Copyright 1994 by FUJITSU LIMITED
+Copyright 1994 by Sony Corporation
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital, FUJITSU
+LIMITED and Sony Corporation not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission.
+
+DIGITAL, FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL, FUJITSU LIMITED
+AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+
+Copyright 1991 by the Open Software Foundation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Open Software Foundation
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. Open Software
+Foundation makes no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+OPEN SOFTWARE FOUNDATION DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1990, 1991, 1992,1993, 1994 by FUJITSU LIMITED
+Copyright 1993, 1994 by Sony Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of FUJITSU LIMITED and Sony Corporation
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. FUJITSU LIMITED and
+Sony Corporation makes no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL FUJITSU LIMITED OR SONY CORPORATION BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright (c) 1993, 1995 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1991, 1992, 1993, 1994 by FUJITSU LIMITED
+Copyright 1993 by Digital Equipment Corporation
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of FUJITSU LIMITED and
+Digital Equipment Corporation not be used in advertising or publicity
+pertaining to distribution of the software without specific, written
+prior permission. FUJITSU LIMITED and Digital Equipment Corporation
+makes no representations about the suitability of this software for
+any purpose. It is provided "as is" without express or implied
+warranty.
+
+FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR
+ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1992, 1993 by FUJITSU LIMITED
+Copyright 1993 by Fujitsu Open Systems Solutions, Inc.
+Copyright 1994 by Sony Corporation
+
+Permission to use, copy, modify, distribute and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED,
+Fujitsu Open Systems Solutions, Inc. and Sony Corporation not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+FUJITSU LIMITED, Fujitsu Open Systems Solutions, Inc. and
+Sony Corporation make no representations about the suitability of
+this software for any purpose. It is provided "as is" without
+express or implied warranty.
+
+FUJITSU LIMITED, FUJITSU OPEN SYSTEMS SOLUTIONS, INC. AND SONY
+CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+IN NO EVENT SHALL FUJITSU OPEN SYSTEMS SOLUTIONS, INC., FUJITSU LIMITED
+AND SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1987, 1988, 1990, 1993 by Digital Equipment Corporation,
+Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1993 by SunSoft, Inc.
+Copyright 1999-2000 by Bruno Haible
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the names of SunSoft, Inc. and
+Bruno Haible not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission. SunSoft, Inc. and Bruno Haible make no representations
+about the suitability of this software for any purpose. It is
+provided "as is" without express or implied warranty.
+
+SunSoft Inc. AND Bruno Haible DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL SunSoft, Inc. OR Bruno Haible BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1991 by the Open Software Foundation
+Copyright 1993 by the TOSHIBA Corp.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Open Software Foundation and TOSHIBA
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. Open Software
+Foundation and TOSHIBA make no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+OPEN SOFTWARE FOUNDATION AND TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL OPEN SOFTWARE FOUNDATIONN OR TOSHIBA BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1988 by Wyse Technology, Inc., San Jose, Ca.,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name Wyse not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+WYSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+ ----------------------------------------
+
+
+Copyright 1991 by the Open Software Foundation
+Copyright 1993, 1994 by the Sony Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Open Software Foundation and
+Sony Corporation not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior permission.
+Open Software Foundation and Sony Corporation make no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+OPEN SOFTWARE FOUNDATION AND SONY CORPORATION DISCLAIM ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL OPEN
+SOFTWARE FOUNDATIONN OR SONY CORPORATION BE LIABLE FOR ANY SPECIAL,
+INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1992, 1993 by FUJITSU LIMITED
+Copyright 1993 by Fujitsu Open Systems Solutions, Inc.
+
+Permission to use, copy, modify, distribute and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED and
+Fujitsu Open Systems Solutions, Inc. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.
+FUJITSU LIMITED and Fujitsu Open Systems Solutions, Inc. makes no
+representations about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED AND FUJITSU OPEN SYSTEMS SOLUTIONS, INC. DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJITSU OPEN SYSTEMS
+SOLUTIONS, INC. AND FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT
+OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1993, 1994 by Sony Corporation
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of Sony Corporation
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Sony Corporation makes no representations about the suitability of
+this software for any purpose. It is provided "as is" without
+express or implied warranty.
+
+SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1986, 1998 The Open Group
+Copyright (c) 2000 The XFree86 Project, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM OR THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium or of the
+XFree86 Project shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the X Consortium and the XFree86 Project.
+
+ ----------------------------------------
+
+Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation,
+ and Nippon Telegraph and Telephone Corporation
+Copyright 1991 by the Open Software Foundation
+Copyright 1993 by the FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of OMRON, NTT Software, NTT, and
+Open Software Foundation not be used in advertising or publicity
+pertaining to distribution of the software without specific,
+written prior permission. OMRON, NTT Software, NTT, and Open Software
+Foundation make no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+OMRON, NTT SOFTWARE, NTT, AND OPEN SOFTWARE FOUNDATION
+DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
+SHALL OMRON, NTT SOFTWARE, NTT, OR OPEN SOFTWARE FOUNDATION BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1988 by Wyse Technology, Inc., San Jose, Ca,
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+
+Copyright 1991, 1992 by Fuji Xerox Co., Ltd.
+Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of Fuji Xerox,
+FUJITSU LIMITED not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior
+permission. Fuji Xerox, FUJITSU LIMITED make no representations
+about the suitability of this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJI XEROX, FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJI XEROX,
+FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
+OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 2006 Josh Triplett
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+ ----------------------------------------
+
+(c) Copyright 1996 by Sebastien Marineau and Holger Veit
+ <marineau@genie.uottawa.ca>
+ <Holger.Veit@gmd.de>
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of Sebastien Marineau or Holger Veit
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Holger Veit or
+Sebastien Marineau.
+
+ ----------------------------------------
+
+Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation,
+ and Nippon Telegraph and Telephone Corporation
+Copyright 1991 by the Open Software Foundation
+Copyright 1993 by the TOSHIBA Corp.
+Copyright 1993, 1994 by Sony Corporation
+Copyright 1993, 1994 by the FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of OMRON, NTT Software, NTT, Open
+Software Foundation, and Sony Corporation not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. OMRON, NTT Software, NTT, Open Software
+Foundation, and Sony Corporation make no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+
+OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, AND SONY
+CORPORATION DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
+SHALL OMRON, NTT SOFTWARE, NTT, OPEN SOFTWARE FOUNDATION, OR SONY
+CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 2000 by Bruno Haible
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of Bruno Haible not
+be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. Bruno Haible
+makes no representations about the suitability of this software for
+any purpose. It is provided "as is" without express or implied
+warranty.
+
+Bruno Haible DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+NO EVENT SHALL Bruno Haible BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
+OR PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright © 2003 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Keith Packard makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ ----------------------------------------
+
+Copyright (c) 2007-2009, Troy D. Hanson
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ ----------------------------------------
+
+Copyright 1992, 1993 by TOSHIBA Corp.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of TOSHIBA not be used in advertising
+or publicity pertaining to distribution of the software without specific,
+written prior permission. TOSHIBA make no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+
+TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+ ----------------------------------------
+
+Copyright IBM Corporation 1993
+
+All Rights Reserved
+
+License to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of IBM not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS, AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS, IN NO EVENT SHALL
+IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+ ----------------------------------------
+
+Copyright 1990, 1991 by OMRON Corporation, NTT Software Corporation,
+ and Nippon Telegraph and Telephone Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of OMRON, NTT Software, and NTT
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. OMRON, NTT Software,
+and NTT make no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+OMRON, NTT SOFTWARE, AND NTT, DISCLAIM ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL OMRON, NTT SOFTWARE, OR NTT, BE
+LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/libX11/configure.ac b/libX11/configure.ac index d5389470b..2d82d55d9 100644 --- a/libX11/configure.ac +++ b/libX11/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.60)
AC_INIT([libX11],
- 1.3.4,
+ 1.3.99.901,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
libX11)
AC_CONFIG_SRCDIR([Makefile.am])
diff --git a/libX11/man/Compose.man b/libX11/man/Compose.man index 7925d0862..22fe51e9c 100644 --- a/libX11/man/Compose.man +++ b/libX11/man/Compose.man @@ -1,4 +1,4 @@ -.\" Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 2009 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/XAddHost.man b/libX11/man/XAddHost.man index 8032d6c25..63407704b 100644 --- a/libX11/man/XAddHost.man +++ b/libX11/man/XAddHost.man @@ -1,378 +1,378 @@ -.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium -.\" -.\" All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the -.\" "Software"), to deal in the Software without restriction, including -.\" without limitation the rights to use, copy, modify, merge, publish, -.\" distribute, and/or sell copies of the Software, and to permit persons -.\" to whom the Software is furnished to do so, provided that the above -.\" copyright notice(s) and this permission notice appear in all copies of -.\" the Software and that both the above copyright notice(s) and this -.\" permission notice appear in supporting documentation. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.\" Except as contained in this notice, the name of a copyright holder -.\" shall not be used in advertising or otherwise to promote the sale, use -.\" or other dealings in this Software without prior written authorization -.\" of the copyright holder. -.\" -.\" X Window System is a trademark of The Open Group. -.\" -.\" Copyright 2004 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by -.\" Digital Equipment Corporation -.\" -.\" Portions Copyright \(co 1990, 1991 by -.\" Tektronix, Inc. -.\" -.\" Permission to use, copy, modify and distribute this documentation for -.\" any purpose and without fee is hereby granted, provided that the above -.\" copyright notice appears in all copies and that both that copyright notice -.\" and this permission notice appear in all copies, and that the names of -.\" Digital and Tektronix not be used in in advertising or publicity pertaining -.\" to this documentation without specific, written prior permission. -.\" Digital and Tektronix makes no representations about the suitability -.\" of this documentation for any purpose. -.\" It is provided ``as is'' without express or implied warranty. -.\" -.\" -.ds xT X Toolkit Intrinsics \- C Language Interface -.ds xW Athena X Widgets \- C Language X Toolkit Interface -.ds xL Xlib \- C Language X Interface -.ds xC Inter-Client Communication Conventions Manual -.na -.de Ds -.nf -.\\$1D \\$2 \\$1 -.ft 1 -.\".ps \\n(PS -.\".if \\n(VS>=40 .vs \\n(VSu -.\".if \\n(VS<=39 .vs \\n(VSp -.. -.de De -.ce 0 -.if \\n(BD .DF -.nr BD 0 -.in \\n(OIu -.if \\n(TM .ls 2 -.sp \\n(DDu -.fi -.. -.de FD -.LP -.KS -.TA .5i 3i -.ta .5i 3i -.nf -.. -.de FN -.fi -.KE -.LP -.. -.de IN \" send an index entry to the stderr -.. -.de C{ -.KS -.nf -.D -.\" -.\" choose appropriate monospace font -.\" the imagen conditional, 480, -.\" may be changed to L if LB is too -.\" heavy for your eyes... -.\" -.ie "\\*(.T"480" .ft L -.el .ie "\\*(.T"300" .ft L -.el .ie "\\*(.T"202" .ft PO -.el .ie "\\*(.T"aps" .ft CW -.el .ft R -.ps \\n(PS -.ie \\n(VS>40 .vs \\n(VSu -.el .vs \\n(VSp -.. -.de C} -.DE -.R -.. -.de Pn -.ie t \\$1\fB\^\\$2\^\fR\\$3 -.el \\$1\fI\^\\$2\^\fP\\$3 -.. -.de ZN -.ie t \fB\^\\$1\^\fR\\$2 -.el \fI\^\\$1\^\fP\\$2 -.. -.de hN -.ie t <\fB\\$1\fR>\\$2 -.el <\fI\\$1\fP>\\$2 -.. -.de NT -.ne 7 -.ds NO Note -.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2 -.if \\n(.$ .if !'\\$1'C' .ds NO \\$1 -.ie n .sp -.el .sp 10p -.TB -.ce -\\*(NO -.ie n .sp -.el .sp 5p -.if '\\$1'C' .ce 99 -.if '\\$2'C' .ce 99 -.in +5n -.ll -5n -.R -.. -. \" Note End -- doug kraft 3/85 -.de NE -.ce 0 -.in -5n -.ll +5n -.ie n .sp -.el .sp 10p -.. -.ny0 -.TH XAddHost __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS" -.SH NAME -XAddHost, XAddHosts, XListHosts, XRemoveHost, XRemoveHosts, XSetAccessControl, XEnableAccessControl, XDisableAccessControl, XHostAddress, XServerInterpretedAddress \- control host access and host control structure -.SH SYNTAX -.HP -int XAddHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^); -.HP -int XAddHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP, -int \fInum_hosts\fP\^); -.HP -XHostAddress *XListHosts\^(\^Display *\fIdisplay\fP, int *\fInhosts_return\fP, -Bool \fIstate_return\fP\^); -.HP -int XRemoveHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^); -.HP -int XRemoveHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP, int \fInum_hosts\fP\^); -.HP -int XSetAccessControl\^(\^Display *\fIdisplay\fP, int \fImode\fP\^); -.HP -int XEnableAccessControl\^(\^Display *\fIdisplay\fP\^); -.HP -int XDisableAccessControl\^(\^Display *\fIdisplay\fP\^); -.SH ARGUMENTS -.IP \fIdisplay\fP 1i -Specifies the connection to the X server. -.ds Ho added or removed -.IP \fIhost\fP 1i -Specifies the host that is to be \*(Ho. -.ds Ho added or removed -.IP \fIhosts\fP 1i -Specifies each host that is to be \*(Ho. -.IP \fImode\fP 1i -Specifies the mode. -You can pass -.ZN EnableAccess -or -.ZN DisableAccess . -.IP \fInhosts_return\fP 1i -Returns the number of hosts currently in the access control list. -.IP \fInum_hosts\fP 1i -Specifies the number of hosts. -.IP \fIstate_return\fP 1i -Returns the state of the access control. -.SH DESCRIPTION -The -.ZN XAddHost -function adds the specified host to the access control list for that display. -The server must be on the same host as the client issuing the command, or a -.ZN BadAccess -error results. -.LP -.ZN XAddHost -can generate -.ZN BadAccess -and -.ZN BadValue -errors. -.LP -The -.ZN XAddHosts -function adds each specified host to the access control list for that display. -The server must be on the same host as the client issuing the command, or a -.ZN BadAccess -error results. -.LP -.ZN XAddHosts -can generate -.ZN BadAccess -and -.ZN BadValue -errors. -.LP -The -.ZN XListHosts -function returns the current access control list as well as whether the use -of the list at connection setup was enabled or disabled. -.ZN XListHosts -allows a program to find out what machines can make connections. -It also returns a pointer to a list of host structures that -were allocated by the function. -When no longer needed, -this memory should be freed by calling -.ZN XFree . -.LP -The -.ZN XRemoveHost -function removes the specified host from the access control list -for that display. -The server must be on the same host as the client process, or a -.ZN BadAccess -error results. -If you remove your machine from the access list, -you can no longer connect to that server, -and this operation cannot be reversed unless you reset the server. -.LP -.ZN XRemoveHost -can generate -.ZN BadAccess -and -.ZN BadValue -errors. -.LP -The -.ZN XRemoveHosts -function removes each specified host from the access control list for that -display. -The X server must be on the same host as the client process, or a -.ZN BadAccess -error results. -If you remove your machine from the access list, -you can no longer connect to that server, -and this operation cannot be reversed unless you reset the server. -.LP -.ZN XRemoveHosts -can generate -.ZN BadAccess -and -.ZN BadValue -errors. -.LP -The -.ZN XSetAccessControl -function either enables or disables the use of the access control list -at each connection setup. -.LP -.ZN XSetAccessControl -can generate -.ZN BadAccess -and -.ZN BadValue -errors. -.LP -The -.ZN XEnableAccessControl -function enables the use of the access control list at each connection setup. -.LP -.ZN XEnableAccessControl -can generate a -.ZN BadAccess -error. -.LP -The -.ZN XDisableAccessControl -function disables the use of the access control list at each connection setup. -.LP -.ZN XDisableAccessControl -can generate a -.ZN BadAccess -error. -.SH STRUCTURES -The -.ZN XHostAddress -structure contains: -.LP -.Ds 0 -.TA .5i 3i -.ta .5i 3i -typedef struct { - int family; /\&* for example FamilyInternet */ - int length; /\&* length of address, in bytes */ - char *address; /\&* pointer to where to find the address */ -} XHostAddress; -.De -.LP -The family member specifies which protocol address family to use -(for example, TCP/IP or DECnet) and can be -.ZN FamilyInternet , -.ZN FamilyInternet6 , -.ZN FamilyServerInterpreted , -.ZN FamilyDECnet , -or -.ZN FamilyChaos . -The length member specifies the length of the address in bytes. -The address member specifies a pointer to the address. -.LP -For the ServerInterpreted family, the length is ignored and the address -member is a pointer to a -.ZN XServerInterpretedAddress -structure which contains: -.LP -.Ds 0 -.TA .5i 3i -.ta .5i 3i -typedef struct { - int typelength; /\&* length of type string, in bytes */ - int valuelength; /\&* length of value string, in bytes */ - char *type; /\&* pointer to where to find the type string */ - char *value; /\&* pointer to where to find the address */ -} XServerInterpretedAddress; -.De -.LP -The type and value members point to strings representing the type and value of -the server interpreted entry. These strings may not be NULL-terminated so care -should be used when accessing them. The typelength and valuelength members -specify the length in byte of the type and value strings. -.SH DIAGNOSTICS -.TP 1i -.ZN BadAccess -A client attempted -to modify the access control list from other than the local -(or otherwise authorized) host. -.TP 1i -.ZN BadValue -Some numeric value falls outside the range of values accepted by the request. -Unless a specific range is specified for an argument, the full range defined -by the argument's type is accepted. Any argument defined as a set of -alternatives can generate this error. -.SH "SEE ALSO" -XFree(__libmansuffix__) -.br -\fI\*(xL\fP +.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\"
+.\" All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the
+.\" "Software"), to deal in the Software without restriction, including
+.\" without limitation the rights to use, copy, modify, merge, publish,
+.\" distribute, and/or sell copies of the Software, and to permit persons
+.\" to whom the Software is furnished to do so, provided that the above
+.\" copyright notice(s) and this permission notice appear in all copies of
+.\" the Software and that both the above copyright notice(s) and this
+.\" permission notice appear in supporting documentation.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of a copyright holder
+.\" shall not be used in advertising or otherwise to promote the sale, use
+.\" or other dealings in this Software without prior written authorization
+.\" of the copyright holder.
+.\"
+.\" X Window System is a trademark of The Open Group.
+.\"
+.\" Copyright 2004 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+.\" Digital Equipment Corporation
+.\"
+.\" Portions Copyright \(co 1990, 1991 by
+.\" Tektronix, Inc.
+.\"
+.\" Permission to use, copy, modify and distribute this documentation for
+.\" any purpose and without fee is hereby granted, provided that the above
+.\" copyright notice appears in all copies and that both that copyright notice
+.\" and this permission notice appear in all copies, and that the names of
+.\" Digital and Tektronix not be used in in advertising or publicity pertaining
+.\" to this documentation without specific, written prior permission.
+.\" Digital and Tektronix makes no representations about the suitability
+.\" of this documentation for any purpose.
+.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\"
+.ds xT X Toolkit Intrinsics \- C Language Interface
+.ds xW Athena X Widgets \- C Language X Toolkit Interface
+.ds xL Xlib \- C Language X Interface
+.ds xC Inter-Client Communication Conventions Manual
+.na
+.de Ds
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.\".ps \\n(PS
+.\".if \\n(VS>=40 .vs \\n(VSu
+.\".if \\n(VS<=39 .vs \\n(VSp
+..
+.de De
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+.de FD
+.LP
+.KS
+.TA .5i 3i
+.ta .5i 3i
+.nf
+..
+.de FN
+.fi
+.KE
+.LP
+..
+.de IN \" send an index entry to the stderr
+..
+.de C{
+.KS
+.nf
+.D
+.\"
+.\" choose appropriate monospace font
+.\" the imagen conditional, 480,
+.\" may be changed to L if LB is too
+.\" heavy for your eyes...
+.\"
+.ie "\\*(.T"480" .ft L
+.el .ie "\\*(.T"300" .ft L
+.el .ie "\\*(.T"202" .ft PO
+.el .ie "\\*(.T"aps" .ft CW
+.el .ft R
+.ps \\n(PS
+.ie \\n(VS>40 .vs \\n(VSu
+.el .vs \\n(VSp
+..
+.de C}
+.DE
+.R
+..
+.de Pn
+.ie t \\$1\fB\^\\$2\^\fR\\$3
+.el \\$1\fI\^\\$2\^\fP\\$3
+..
+.de ZN
+.ie t \fB\^\\$1\^\fR\\$2
+.el \fI\^\\$1\^\fP\\$2
+..
+.de hN
+.ie t <\fB\\$1\fR>\\$2
+.el <\fI\\$1\fP>\\$2
+..
+.de NT
+.ne 7
+.ds NO Note
+.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
+.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
+.ie n .sp
+.el .sp 10p
+.TB
+.ce
+\\*(NO
+.ie n .sp
+.el .sp 5p
+.if '\\$1'C' .ce 99
+.if '\\$2'C' .ce 99
+.in +5n
+.ll -5n
+.R
+..
+. \" Note End -- doug kraft 3/85
+.de NE
+.ce 0
+.in -5n
+.ll +5n
+.ie n .sp
+.el .sp 10p
+..
+.ny0
+.TH XAddHost __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
+.SH NAME
+XAddHost, XAddHosts, XListHosts, XRemoveHost, XRemoveHosts, XSetAccessControl, XEnableAccessControl, XDisableAccessControl, XHostAddress, XServerInterpretedAddress \- control host access and host control structure
+.SH SYNTAX
+.HP
+int XAddHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^);
+.HP
+int XAddHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP,
+int \fInum_hosts\fP\^);
+.HP
+XHostAddress *XListHosts\^(\^Display *\fIdisplay\fP, int *\fInhosts_return\fP,
+Bool \fIstate_return\fP\^);
+.HP
+int XRemoveHost\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhost\fP\^);
+.HP
+int XRemoveHosts\^(\^Display *\fIdisplay\fP, XHostAddress *\fIhosts\fP, int \fInum_hosts\fP\^);
+.HP
+int XSetAccessControl\^(\^Display *\fIdisplay\fP, int \fImode\fP\^);
+.HP
+int XEnableAccessControl\^(\^Display *\fIdisplay\fP\^);
+.HP
+int XDisableAccessControl\^(\^Display *\fIdisplay\fP\^);
+.SH ARGUMENTS
+.IP \fIdisplay\fP 1i
+Specifies the connection to the X server.
+.ds Ho added or removed
+.IP \fIhost\fP 1i
+Specifies the host that is to be \*(Ho.
+.ds Ho added or removed
+.IP \fIhosts\fP 1i
+Specifies each host that is to be \*(Ho.
+.IP \fImode\fP 1i
+Specifies the mode.
+You can pass
+.ZN EnableAccess
+or
+.ZN DisableAccess .
+.IP \fInhosts_return\fP 1i
+Returns the number of hosts currently in the access control list.
+.IP \fInum_hosts\fP 1i
+Specifies the number of hosts.
+.IP \fIstate_return\fP 1i
+Returns the state of the access control.
+.SH DESCRIPTION
+The
+.ZN XAddHost
+function adds the specified host to the access control list for that display.
+The server must be on the same host as the client issuing the command, or a
+.ZN BadAccess
+error results.
+.LP
+.ZN XAddHost
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XAddHosts
+function adds each specified host to the access control list for that display.
+The server must be on the same host as the client issuing the command, or a
+.ZN BadAccess
+error results.
+.LP
+.ZN XAddHosts
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XListHosts
+function returns the current access control list as well as whether the use
+of the list at connection setup was enabled or disabled.
+.ZN XListHosts
+allows a program to find out what machines can make connections.
+It also returns a pointer to a list of host structures that
+were allocated by the function.
+When no longer needed,
+this memory should be freed by calling
+.ZN XFree .
+.LP
+The
+.ZN XRemoveHost
+function removes the specified host from the access control list
+for that display.
+The server must be on the same host as the client process, or a
+.ZN BadAccess
+error results.
+If you remove your machine from the access list,
+you can no longer connect to that server,
+and this operation cannot be reversed unless you reset the server.
+.LP
+.ZN XRemoveHost
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XRemoveHosts
+function removes each specified host from the access control list for that
+display.
+The X server must be on the same host as the client process, or a
+.ZN BadAccess
+error results.
+If you remove your machine from the access list,
+you can no longer connect to that server,
+and this operation cannot be reversed unless you reset the server.
+.LP
+.ZN XRemoveHosts
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XSetAccessControl
+function either enables or disables the use of the access control list
+at each connection setup.
+.LP
+.ZN XSetAccessControl
+can generate
+.ZN BadAccess
+and
+.ZN BadValue
+errors.
+.LP
+The
+.ZN XEnableAccessControl
+function enables the use of the access control list at each connection setup.
+.LP
+.ZN XEnableAccessControl
+can generate a
+.ZN BadAccess
+error.
+.LP
+The
+.ZN XDisableAccessControl
+function disables the use of the access control list at each connection setup.
+.LP
+.ZN XDisableAccessControl
+can generate a
+.ZN BadAccess
+error.
+.SH STRUCTURES
+The
+.ZN XHostAddress
+structure contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int family; /\&* for example FamilyInternet */
+ int length; /\&* length of address, in bytes */
+ char *address; /\&* pointer to where to find the address */
+} XHostAddress;
+.De
+.LP
+The family member specifies which protocol address family to use
+(for example, TCP/IP or DECnet) and can be
+.ZN FamilyInternet ,
+.ZN FamilyInternet6 ,
+.ZN FamilyServerInterpreted ,
+.ZN FamilyDECnet ,
+or
+.ZN FamilyChaos .
+The length member specifies the length of the address in bytes.
+The address member specifies a pointer to the address.
+.LP
+For the ServerInterpreted family, the length is ignored and the address
+member is a pointer to a
+.ZN XServerInterpretedAddress
+structure which contains:
+.LP
+.Ds 0
+.TA .5i 3i
+.ta .5i 3i
+typedef struct {
+ int typelength; /\&* length of type string, in bytes */
+ int valuelength; /\&* length of value string, in bytes */
+ char *type; /\&* pointer to where to find the type string */
+ char *value; /\&* pointer to where to find the address */
+} XServerInterpretedAddress;
+.De
+.LP
+The type and value members point to strings representing the type and value of
+the server interpreted entry. These strings may not be NULL-terminated so care
+should be used when accessing them. The typelength and valuelength members
+specify the length in byte of the type and value strings.
+.SH DIAGNOSTICS
+.TP 1i
+.ZN BadAccess
+A client attempted
+to modify the access control list from other than the local
+(or otherwise authorized) host.
+.TP 1i
+.ZN BadValue
+Some numeric value falls outside the range of values accepted by the request.
+Unless a specific range is specified for an argument, the full range defined
+by the argument's type is accepted. Any argument defined as a set of
+alternatives can generate this error.
+.SH "SEE ALSO"
+XFree(__libmansuffix__)
+.br
+\fI\*(xL\fP
diff --git a/libX11/man/xkb/XkbActionCtrls.man b/libX11/man/xkb/XkbActionCtrls.man index edd57a332..d80d481f1 100644 --- a/libX11/man/xkb/XkbActionCtrls.man +++ b/libX11/man/xkb/XkbActionCtrls.man @@ -1,136 +1,136 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbActionCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int -.SH SYNOPSIS -.HP -.B unsigned int XkbActionCtrls -.BI "(\^XkbCtrlsAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract controls -.SH DESCRIPTION -.LP -Actions associated with the XkbCtrlsAction structure change the state of the -boolean controls. - -The -.I type -field can have any one of the values shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Controls Action Types -_ -Type Effect -_ -XkbSA_SetControls T{ -A key press enables any boolean controls specified in the ctrls fields that were -not already enabled at -the time of the key press. -A key release disables any controls enabled by the key press. -This action can cause XkbControlsNotify events. -T} -XkbSA_LockControls T{ -If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables -any controls specified in -the ctrls fields that were not already enabled at the time of the key press. -.br -If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release -disables any controls -specified in the ctrls fields that were not already disabled at the time of the -key press. -.br -This action can cause XkbControlsNotify events. -T} -.TE - -The -.I flags -field is composed of the bitwise inclusive OR of the masks shown in Table 2. - -.TS -c s -l l -l lw(4i). -Table 2 Control Action Flags -_ -Flag Meaning -_ -XkbSA_LockNoLock T{ -If set, and the action type is XkbSA_LockControls, the server only disables -controls. -T} -XkbSA_LockNoUnlock T{ -If set, and the action type is XkbSA_LockControls, the server only enables -controls. -T} -.TE - -The XkbSA_SetControls action implements a key that enables a boolean control -when pressed and disables it -when released. The XkbSA_LockControls action is used to implement a key that -toggles the state of a -boolean control each time it is pressed and released. The XkbSA_LockNoLock and -XkbSA_LockNoUnlock flags -allow modifying the toggling behavior to only unlock or only lock the boolean -control. - -The -.I ctrls0, ctrls1, ctrls2, -and -.I ctrls3 -fields represent the boolean controls in the -.I enabled_ctrls -field of the controls structure. Xkb macros, to convert between the two formats. - -.I XkbActionCtrls -returns the -.I ctrls -fields of -.I act -converted to an unsigned int. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbCtrlsAction { - unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */ - unsigned char flags; /\(** with type, controls enabling and disabling -of controls */ - unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - } XkbCtrlsAction; -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbActionCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbActionCtrls \- Returns the ctrls fields of act converted to an unsigned int
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbActionCtrls
+.BI "(\^XkbCtrlsAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract controls
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbCtrlsAction structure change the state of the
+boolean controls.
+
+The
+.I type
+field can have any one of the values shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Controls Action Types
+_
+Type Effect
+_
+XkbSA_SetControls T{
+A key press enables any boolean controls specified in the ctrls fields that were
+not already enabled at
+the time of the key press.
+A key release disables any controls enabled by the key press.
+This action can cause XkbControlsNotify events.
+T}
+XkbSA_LockControls T{
+If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
+any controls specified in
+the ctrls fields that were not already enabled at the time of the key press.
+.br
+If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
+disables any controls
+specified in the ctrls fields that were not already disabled at the time of the
+key press.
+.br
+This action can cause XkbControlsNotify events.
+T}
+.TE
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 2.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 2 Control Action Flags
+_
+Flag Meaning
+_
+XkbSA_LockNoLock T{
+If set, and the action type is XkbSA_LockControls, the server only disables
+controls.
+T}
+XkbSA_LockNoUnlock T{
+If set, and the action type is XkbSA_LockControls, the server only enables
+controls.
+T}
+.TE
+
+The XkbSA_SetControls action implements a key that enables a boolean control
+when pressed and disables it
+when released. The XkbSA_LockControls action is used to implement a key that
+toggles the state of a
+boolean control each time it is pressed and released. The XkbSA_LockNoLock and
+XkbSA_LockNoUnlock flags
+allow modifying the toggling behavior to only unlock or only lock the boolean
+control.
+
+The
+.I ctrls0, ctrls1, ctrls2,
+and
+.I ctrls3
+fields represent the boolean controls in the
+.I enabled_ctrls
+field of the controls structure. Xkb macros, to convert between the two formats.
+
+.I XkbActionCtrls
+returns the
+.I ctrls
+fields of
+.I act
+converted to an unsigned int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCtrlsAction {
+ unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */
+ unsigned char flags; /\(** with type, controls enabling and disabling
+of controls */
+ unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ } XkbCtrlsAction;
+.fi
diff --git a/libX11/man/xkb/XkbAddDeviceLedInfo.man b/libX11/man/xkb/XkbAddDeviceLedInfo.man index 32ec10eac..2123be098 100644 --- a/libX11/man/xkb/XkbAddDeviceLedInfo.man +++ b/libX11/man/xkb/XkbAddDeviceLedInfo.man @@ -1,117 +1,117 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddDeviceLedInfo \- Initialize an XkbDeviceLedInfoRec structure -.SH SYNOPSIS -.HP -.B XkbDeviceLedInfoPtr XkbAddDeviceLedInfo -.BI "(\^XkbDeviceInfoPtr " "device_info" "\^," -.BI "unsigned int " "led_class" "\^," -.BI "unsigned int " "led_id" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- device_info -structure in which to add LED info -.TP -.I \- led_class -input extension class for LED device of interest -.TP -.I \- led_id -input extension ID for LED device of interest -.SH DESCRIPTION -.LP -.I XkbAddDeviceLedInfo -first checks to see whether an entry matching -.I led_class -and -.I led_id -already exists in the -.I device_info->leds -array. If it finds a matching entry, it returns a pointer to that entry. Otherwise, it checks to be sure -there is at least one empty entry in -.I device_info->leds -and extends it if there is not enough room. It then increments -.I device_info->num_leds -and fills in the next available entry in -.I device_info->leds -with -.I led_class -and -.I led_id. - -If successful, -.I XkbAddDeviceLedInfo -returns a pointer to the XkbDeviceLedInfoRec structure that was initialized. If unable to allocate -sufficient storage, or if -.I device_info -points to an invalid XkbDeviceInfoRec structure, or if -.I led_class -or -.I led_id -are inappropriate, -.I XkbAddDeviceLedInfo -returns NULL. - -To allocate additional space for button actions in an XkbDeviceInfoRec structure, use -.I XkbResizeDeviceButtonActions. - -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb -extension in an XkbDeviceInfoRec structure: -.nf - - 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; - - - typedef struct { - unsigned short led_class; /\(** class for this LED device*/ - unsigned short led_id; /\(** ID for this LED device */ - unsigned int phys_indicators; /\(** bits for which LEDs physically present */ - unsigned int maps_present; /\(** bits for which LEDs have maps in maps */ - unsigned int names_present; /\(** bits for which LEDs are in names */ - unsigned int state; /\(** 1 bit => corresponding LED is on */ - Atom names[XkbNumIndicators]; /\(** names for LEDs */ - XkbIndicatorMapRec maps; /\(** indicator maps for each LED */ - } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr; - -.fi -.SH "SEE ALSO" -.BR XkbResizeDeviceButtonActions (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddDeviceLedInfo \- Initialize an XkbDeviceLedInfoRec structure
+.SH SYNOPSIS
+.HP
+.B XkbDeviceLedInfoPtr XkbAddDeviceLedInfo
+.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "unsigned int " "led_class" "\^,"
+.BI "unsigned int " "led_id" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to add LED info
+.TP
+.I \- led_class
+input extension class for LED device of interest
+.TP
+.I \- led_id
+input extension ID for LED device of interest
+.SH DESCRIPTION
+.LP
+.I XkbAddDeviceLedInfo
+first checks to see whether an entry matching
+.I led_class
+and
+.I led_id
+already exists in the
+.I device_info->leds
+array. If it finds a matching entry, it returns a pointer to that entry. Otherwise, it checks to be sure
+there is at least one empty entry in
+.I device_info->leds
+and extends it if there is not enough room. It then increments
+.I device_info->num_leds
+and fills in the next available entry in
+.I device_info->leds
+with
+.I led_class
+and
+.I led_id.
+
+If successful,
+.I XkbAddDeviceLedInfo
+returns a pointer to the XkbDeviceLedInfoRec structure that was initialized. If unable to allocate
+sufficient storage, or if
+.I device_info
+points to an invalid XkbDeviceInfoRec structure, or if
+.I led_class
+or
+.I led_id
+are inappropriate,
+.I XkbAddDeviceLedInfo
+returns NULL.
+
+To allocate additional space for button actions in an XkbDeviceInfoRec structure, use
+.I XkbResizeDeviceButtonActions.
+
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ 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;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbResizeDeviceButtonActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomColor.man b/libX11/man/xkb/XkbAddGeomColor.man index 8e9603677..ab9effd92 100644 --- a/libX11/man/xkb/XkbAddGeomColor.man +++ b/libX11/man/xkb/XkbAddGeomColor.man @@ -1,96 +1,96 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomColor \- Add one color name to an existing keyboard geometry -description -.SH SYNOPSIS -.HP -.B XkbColorPtr XkbAddGeomColor -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "char *" "spec" "\^," -.BI "unsigned int " "pixel" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to be updated -.TP -.I \- spec -color to be added -.TP -.I \- pixel -color to be added -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomColor -adds the specified color -.I name -and -.I pixel -to the specified geometry -.I geom. -The top-level geometry description includes a list of up to MaxColors (32) -.I color names. -A color -.I name -is a string whose interpretation is not specified by Xkb and neither is the -.I pixel -value's interpretation. All other geometry data structures refer to colors using -their indices in this global list or pointers to colors in this list. -.I XkbAddGeomColor -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the color. To allocate space for an arbitrary number of colors to a -geometry, use the -.I XkbAllocGeomColors -function. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbColor { - unsigned int pixel; /\(** color */ - char * spec; /\(** color name */ - } XkbColorRec,*XkbColorPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomColors (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomColor __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomColor \- Add one color name to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.HP
+.B XkbColorPtr XkbAddGeomColor
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "char *" "spec" "\^,"
+.BI "unsigned int " "pixel" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- spec
+color to be added
+.TP
+.I \- pixel
+color to be added
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomColor
+adds the specified color
+.I name
+and
+.I pixel
+to the specified geometry
+.I geom.
+The top-level geometry description includes a list of up to MaxColors (32)
+.I color names.
+A color
+.I name
+is a string whose interpretation is not specified by Xkb and neither is the
+.I pixel
+value's interpretation. All other geometry data structures refer to colors using
+their indices in this global list or pointers to colors in this list.
+.I XkbAddGeomColor
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the color. To allocate space for an arbitrary number of colors to a
+geometry, use the
+.I XkbAllocGeomColors
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbColor {
+ unsigned int pixel; /\(** color */
+ char * spec; /\(** color name */
+ } XkbColorRec,*XkbColorPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomColors (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAddGeomDoodad.man b/libX11/man/xkb/XkbAddGeomDoodad.man index caab2a2af..ba2566a58 100644 --- a/libX11/man/xkb/XkbAddGeomDoodad.man +++ b/libX11/man/xkb/XkbAddGeomDoodad.man @@ -1,109 +1,109 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomDoodad __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the -top-level geometry -.SH SYNOPSIS -.HP -.B XkbDoodadPtr XkbAddGeomDoodad -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "XkbSectionPtr " "section" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to which the doodad is added -.TP -.I \- section -section, if any, to which the doodad is added -.TP -.I \- name -name of the new doodad -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -A -.I doodad -describes some visible aspect of the keyboard that is not a key and is not a -section. -.I XkbAddGeomDoodad -adds a doodad with name specified by -.I name -to the geometry -.I geom -if -.I section -is NULL or to the section of the geometry specified by -.I section -if -.I section -is not NULL. -.I XkbAddGeomDoodad -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the doodad. If there is already a doodad with the name -.I name -in the doodad array for the geometry (if -.I section -is NULL) or the section (if -.I section -is non-NULL), a pointer to that doodad is returned. To allocate space for an -arbitrary number of doodads to a section, use the -.I XkbAllocGeomSectionDoodads -function. To allocate space for an arbitrary number of doodads to a keyboard -geometry, use the -.I XkbAllocGeomDoodads -function. -.SH STRUCTURES -.LP -.nf - - typedef union _XkbDoodad { - XkbAnyDoodadRec any; - XkbShapeDoodadRec shape; - XkbTextDoodadRec text; - XkbIndicatorDoodadRec indicator; - XkbLogoDoodadRec logo; - } XkbDoodadRec, *XkbDoodadPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomDoodads (__libmansuffix__), -.BR XkbAllocGeomSectionDoodads (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomDoodad __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomDoodad \- Add one doodad to a section of a keyboard geometry or to the
+top-level geometry
+.SH SYNOPSIS
+.HP
+.B XkbDoodadPtr XkbAddGeomDoodad
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "XkbSectionPtr " "section" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to which the doodad is added
+.TP
+.I \- section
+section, if any, to which the doodad is added
+.TP
+.I \- name
+name of the new doodad
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+A
+.I doodad
+describes some visible aspect of the keyboard that is not a key and is not a
+section.
+.I XkbAddGeomDoodad
+adds a doodad with name specified by
+.I name
+to the geometry
+.I geom
+if
+.I section
+is NULL or to the section of the geometry specified by
+.I section
+if
+.I section
+is not NULL.
+.I XkbAddGeomDoodad
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the doodad. If there is already a doodad with the name
+.I name
+in the doodad array for the geometry (if
+.I section
+is NULL) or the section (if
+.I section
+is non-NULL), a pointer to that doodad is returned. To allocate space for an
+arbitrary number of doodads to a section, use the
+.I XkbAllocGeomSectionDoodads
+function. To allocate space for an arbitrary number of doodads to a keyboard
+geometry, use the
+.I XkbAllocGeomDoodads
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef union _XkbDoodad {
+ XkbAnyDoodadRec any;
+ XkbShapeDoodadRec shape;
+ XkbTextDoodadRec text;
+ XkbIndicatorDoodadRec indicator;
+ XkbLogoDoodadRec logo;
+ } XkbDoodadRec, *XkbDoodadPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomDoodads (__libmansuffix__),
+.BR XkbAllocGeomSectionDoodads (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomKey.man b/libX11/man/xkb/XkbAddGeomKey.man index 52b08b734..911171818 100644 --- a/libX11/man/xkb/XkbAddGeomKey.man +++ b/libX11/man/xkb/XkbAddGeomKey.man @@ -1,76 +1,76 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomKey \- Add one key at the end of an existing row of keys -.SH SYNOPSIS -.HP -.B XkbKeyPtr XkbAddGeomKey -.BI "(\^XkbRowPtr " "row" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -row to be updated -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case -the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the values of the -element's structure from the arguments. For other functions, you must explicitly write code to fill -the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary name. Programs that -display images of keyboards can use geometry properties as hints, but they are not interpreted by -Xkb. No other geometry structures refer to geometry properties. - -Keys are grouped into rows. -.I XkbAddGeomKey -adds one key to the end of the specified -.I row. -The key is allocated and zeroed. -.I XkbAddGeomKey -returns NULL if -.I row -is empty or if it was not able to allocate space for the key. To allocate space for an arbitrary -number of keys to a row, use -.I XkbAllocGeomKeys. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbKey { /\(** key in a row */ - XkbKeyNameRec name; /\(** key name */ - short gap; /\(** gap in mm/10 from previous key in row */ - unsigned char shape_ndx; /\(** index of shape for key */ - unsigned char color_ndx; /\(** index of color for key body */ - } XkbKeyRec, *XkbKeyPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomKeys (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomKey \- Add one key at the end of an existing row of keys
+.SH SYNOPSIS
+.HP
+.B XkbKeyPtr XkbAddGeomKey
+.BI "(\^XkbRowPtr " "row" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row to be updated
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case
+the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the
+element's structure from the arguments. For other functions, you must explicitly write code to fill
+the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that
+display images of keyboards can use geometry properties as hints, but they are not interpreted by
+Xkb. No other geometry structures refer to geometry properties.
+
+Keys are grouped into rows.
+.I XkbAddGeomKey
+adds one key to the end of the specified
+.I row.
+The key is allocated and zeroed.
+.I XkbAddGeomKey
+returns NULL if
+.I row
+is empty or if it was not able to allocate space for the key. To allocate space for an arbitrary
+number of keys to a row, use
+.I XkbAllocGeomKeys.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbKey { /\(** key in a row */
+ XkbKeyNameRec name; /\(** key name */
+ short gap; /\(** gap in mm/10 from previous key in row */
+ unsigned char shape_ndx; /\(** index of shape for key */
+ unsigned char color_ndx; /\(** index of color for key body */
+ } XkbKeyRec, *XkbKeyPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomKeys (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomKeyAlias.man b/libX11/man/xkb/XkbAddGeomKeyAlias.man index 6ed8e49de..e5b4c17b9 100644 --- a/libX11/man/xkb/XkbAddGeomKeyAlias.man +++ b/libX11/man/xkb/XkbAddGeomKeyAlias.man @@ -1,85 +1,85 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomKeyAlias __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry -description -.SH SYNOPSIS -.HP -.B XkbKeyAliasPtr XkbAddGeomKeyAlias -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "char *" "alias" "\^," -.BI "char *" "real" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to be updated -.TP -.I \- alias -alias to be added -.TP -.I \- real -real name to be bound to the new alias -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomKeyAlias -adds one key alias with the value -.I alias -to the geometry -.I geom, -and associates it with the key whose real name is -.I real. XkbAddGeomKeyAlias -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the alias. To allocate space for an arbitrary number of aliases, use -the -.I XkbAllocGeomKeyAliases -function. -.SH STRUCTURES -.LP -.nf - - typedef struct { - char real[XkbKeyNameLength]; /\(** this key name must be in the keys array */ - char alias[XkbKeyNameLength]; /\(** symbolic key name as alias for the key */ - } XkbKeyAliasRec,*XkbKeyAliasPtr; -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomKeyAliases (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomKeyAlias __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomKeyAlias \- Add one key alias to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.HP
+.B XkbKeyAliasPtr XkbAddGeomKeyAlias
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "char *" "alias" "\^,"
+.BI "char *" "real" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- alias
+alias to be added
+.TP
+.I \- real
+real name to be bound to the new alias
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomKeyAlias
+adds one key alias with the value
+.I alias
+to the geometry
+.I geom,
+and associates it with the key whose real name is
+.I real. XkbAddGeomKeyAlias
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the alias. To allocate space for an arbitrary number of aliases, use
+the
+.I XkbAllocGeomKeyAliases
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct {
+ char real[XkbKeyNameLength]; /\(** this key name must be in the keys array */
+ char alias[XkbKeyNameLength]; /\(** symbolic key name as alias for the key */
+ } XkbKeyAliasRec,*XkbKeyAliasPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomKeyAliases (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOutline.man b/libX11/man/xkb/XkbAddGeomOutline.man index 827e87650..39beb47ed 100644 --- a/libX11/man/xkb/XkbAddGeomOutline.man +++ b/libX11/man/xkb/XkbAddGeomOutline.man @@ -1,82 +1,82 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomOutline __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomOutline \- Add one outline to an existing shape -.SH SYNOPSIS -.HP -.B XkbOutlinePtr XkbAddGeomOutline -.BI "(\^XkbShapePtr " "shape" "\^," -.BI "int " "sz_points" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- shape -shape to be updated -.TP -.I \- sz_points -number of points to be reserved -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -An outline consists of an arbitrary number of points. -.I XkbAddGeomOutline -adds an outline to the specified -.I shape -by reserving -.I sz_points -points for it. The new outline is allocated and zeroed. -.I XkbAddGeomOutline -returns NULL if any of the parameters is empty or if it was not able to allocate -space. To allocate space for an arbitrary number of outlines to a shape, use -.I XkbAllocGeomOutlines. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbOutline { - unsigned short num_points; /\(** number of points in the outline */ - unsigned short sz_points; /\(** size of the points array */ - unsigned short corner_radius; /\(** draw corners as circles with this radius */ - XkbPointPtr points; /\(** array of points defining the outline */ - } XkbOutlineRec, *XkbOutlinePtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomOutlines (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomOutline __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOutline \- Add one outline to an existing shape
+.SH SYNOPSIS
+.HP
+.B XkbOutlinePtr XkbAddGeomOutline
+.BI "(\^XkbShapePtr " "shape" "\^,"
+.BI "int " "sz_points" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be updated
+.TP
+.I \- sz_points
+number of points to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+An outline consists of an arbitrary number of points.
+.I XkbAddGeomOutline
+adds an outline to the specified
+.I shape
+by reserving
+.I sz_points
+points for it. The new outline is allocated and zeroed.
+.I XkbAddGeomOutline
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space. To allocate space for an arbitrary number of outlines to a shape, use
+.I XkbAllocGeomOutlines.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOutline {
+ unsigned short num_points; /\(** number of points in the outline */
+ unsigned short sz_points; /\(** size of the points array */
+ unsigned short corner_radius; /\(** draw corners as circles with this radius */
+ XkbPointPtr points; /\(** array of points defining the outline */
+ } XkbOutlineRec, *XkbOutlinePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomOutlines (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOverlay.man b/libX11/man/xkb/XkbAddGeomOverlay.man index 976b5fe77..7cfe53587 100644 --- a/libX11/man/xkb/XkbAddGeomOverlay.man +++ b/libX11/man/xkb/XkbAddGeomOverlay.man @@ -1,91 +1,91 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomOverlay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomOverlay \- Add one overlay to a section -.SH SYNOPSIS -.HP -.B XkbOverlayPtr XkbAddGeomOverlay -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "Atom " "name" "\^," -.BI "int " "sz_rows" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section to which an overlay will be added -.TP -.I \- name -name of the overlay -.TP -.I \- sz_rows -number of rows to reserve in the overlay -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomOverlay -adds an overlay with the specified name to the specified -.I section. -The new overlay is created with space allocated for -.I sz_rows -rows. If an overlay with name -.I name -already exists in the section, a pointer to the existing overlay is returned. -.I XkbAddGeomOverlay -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the overlay. To allocate space for an arbitrary number of overlays to -a section, use the -.I XkbAllocGeomOverlay -function. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbOverlayRec { - Atom name; /\(** overlay name */ - XkbSectionPtr section_under; /\(** the section under this overlay */ - unsigned short num_rows; /\(** number of rows in the rows array */ - unsigned short sz_rows; /\(** size of the rows array */ - XkbOverlayRowPtr rows; /\(** array of rows in the overlay */ - XkbBoundsPtr bounds; /\(** bounding box for the overlay */ - } XkbOverlayRec,*XkbOverlayPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomOverlay (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomOverlay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlay \- Add one overlay to a section
+.SH SYNOPSIS
+.HP
+.B XkbOverlayPtr XkbAddGeomOverlay
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "Atom " "name" "\^,"
+.BI "int " "sz_rows" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section to which an overlay will be added
+.TP
+.I \- name
+name of the overlay
+.TP
+.I \- sz_rows
+number of rows to reserve in the overlay
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlay
+adds an overlay with the specified name to the specified
+.I section.
+The new overlay is created with space allocated for
+.I sz_rows
+rows. If an overlay with name
+.I name
+already exists in the section, a pointer to the existing overlay is returned.
+.I XkbAddGeomOverlay
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the overlay. To allocate space for an arbitrary number of overlays to
+a section, use the
+.I XkbAllocGeomOverlay
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayRec {
+ Atom name; /\(** overlay name */
+ XkbSectionPtr section_under; /\(** the section under this overlay */
+ unsigned short num_rows; /\(** number of rows in the rows array */
+ unsigned short sz_rows; /\(** size of the rows array */
+ XkbOverlayRowPtr rows; /\(** array of rows in the overlay */
+ XkbBoundsPtr bounds; /\(** bounding box for the overlay */
+ } XkbOverlayRec,*XkbOverlayPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomOverlay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomOverlayKey.man b/libX11/man/xkb/XkbAddGeomOverlayKey.man index d1081db59..f1544a143 100644 --- a/libX11/man/xkb/XkbAddGeomOverlayKey.man +++ b/libX11/man/xkb/XkbAddGeomOverlayKey.man @@ -1,81 +1,81 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomOverlayKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomOverlayKey \- Add a key to an existing overlay row -.SH SYNOPSIS -.HP -.B XkbOverlayKeyPtr XkbAddGeomOverlayKey -.BI "(\^XkbOverlayPtr " "overlay" "\^," -.BI "XkbRowPtr " "row" "\^," -.BI "char *" "under" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- overlay -overlay to be updated -.TP -.I \- row -row in overlay to be updated -.TP -.I \- under -primary name of the key to be considered -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomOverlayKey -adds one key to the -.I row -in the -.I overlay. -If there is no key named -.I under -in the row of the underlying section, -.I XkbAddGeomOverlayKey -returns NULL. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbOverlayKey { - XkbKeyNameRec over; /\(** name of this overlay key */ - XkbKeyNameRec under; /\(** name of the key under this overlay key */ - } XkbOverlayKeyRec,*XkbOverlayKeyPtr; -.fi - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomOverlayKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlayKey \- Add a key to an existing overlay row
+.SH SYNOPSIS
+.HP
+.B XkbOverlayKeyPtr XkbAddGeomOverlayKey
+.BI "(\^XkbOverlayPtr " "overlay" "\^,"
+.BI "XkbRowPtr " "row" "\^,"
+.BI "char *" "under" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+overlay to be updated
+.TP
+.I \- row
+row in overlay to be updated
+.TP
+.I \- under
+primary name of the key to be considered
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlayKey
+adds one key to the
+.I row
+in the
+.I overlay.
+If there is no key named
+.I under
+in the row of the underlying section,
+.I XkbAddGeomOverlayKey
+returns NULL.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayKey {
+ XkbKeyNameRec over; /\(** name of this overlay key */
+ XkbKeyNameRec under; /\(** name of the key under this overlay key */
+ } XkbOverlayKeyRec,*XkbOverlayKeyPtr;
+.fi
+
diff --git a/libX11/man/xkb/XkbAddGeomOverlayRow.man b/libX11/man/xkb/XkbAddGeomOverlayRow.man index 3fe76c55a..3fd3e40b0 100644 --- a/libX11/man/xkb/XkbAddGeomOverlayRow.man +++ b/libX11/man/xkb/XkbAddGeomOverlayRow.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomOverlayRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomOverlayRow \- Add a row to an existing overlay -.SH SYNOPSIS -.HP -.B XkbOverlayRowPtr XkbAddGeomOverlayRow -.BI "(\^XkbOverlayPtr " "overlay" "\^," -.BI "XkbRowPtr " "row_under" "\^," -.BI "int " "sz_keys" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- overlay -overlay to be updated -.TP -.I \- row_under -row to be overlayed in the section overlay overlays -.TP -.I \- sz_keys -number of keys to reserve in the row -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomOverlayRow -adds one row to the -.I overlay. -The new row contains space for -.I sz_keys -keys. If -. I row_under -specifies a row that doesn't exist on the underlying section, -.I XkbAddGeomOverlayRow -returns NULL and doesn't change the overlay. -.I XkbAddGeomOverlayRow -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the overlay. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbOverlayRow { - unsigned short row_under; /\(** index into the row under this overlay row */ - unsigned short num_keys; /\(** number of keys in the keys array */ - unsigned short sz_keys; /\(** size of the keys array */ - XkbOverlayKeyPtr keys; /\(** array of keys in the overlay row */ - } XkbOverlayRowRec,*XkbOverlayRowPtr; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomOverlayRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomOverlayRow \- Add a row to an existing overlay
+.SH SYNOPSIS
+.HP
+.B XkbOverlayRowPtr XkbAddGeomOverlayRow
+.BI "(\^XkbOverlayPtr " "overlay" "\^,"
+.BI "XkbRowPtr " "row_under" "\^,"
+.BI "int " "sz_keys" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+overlay to be updated
+.TP
+.I \- row_under
+row to be overlayed in the section overlay overlays
+.TP
+.I \- sz_keys
+number of keys to reserve in the row
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomOverlayRow
+adds one row to the
+.I overlay.
+The new row contains space for
+.I sz_keys
+keys. If
+. I row_under
+specifies a row that doesn't exist on the underlying section,
+.I XkbAddGeomOverlayRow
+returns NULL and doesn't change the overlay.
+.I XkbAddGeomOverlayRow
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the overlay.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbOverlayRow {
+ unsigned short row_under; /\(** index into the row under this overlay row */
+ unsigned short num_keys; /\(** number of keys in the keys array */
+ unsigned short sz_keys; /\(** size of the keys array */
+ XkbOverlayKeyPtr keys; /\(** array of keys in the overlay row */
+ } XkbOverlayRowRec,*XkbOverlayRowPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbAddGeomProperty.man b/libX11/man/xkb/XkbAddGeomProperty.man index 439530d65..98aa93f47 100644 --- a/libX11/man/xkb/XkbAddGeomProperty.man +++ b/libX11/man/xkb/XkbAddGeomProperty.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomProperty __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomProperty \- Add one property to an existing keyboard geometry -description -.SH SYNOPSIS -.HP -.B XkbPropertyPtr XkbAddGeomProperty -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "char *" "name" "\^," -.BI "char *" "value" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to be updated -.TP -.I \- name -name of the new property -.TP -.I \- value -value for the new property -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -.I XkbAddGeomProperty -adds one property with the specified -.I name -and -.I value -to the keyboard geometry specified by -.I geom. XkbAddGeomProperty -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the property. To allocate space for an arbitrary number of properties, -use the -.I XkbAllocGeomProps -function. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbProperty { - char * name; /\(** property name */ - char * value; /\(** property value */ - } XkbPropertyRec,*XkbPropertyPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomProps (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomProperty __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomProperty \- Add one property to an existing keyboard geometry
+description
+.SH SYNOPSIS
+.HP
+.B XkbPropertyPtr XkbAddGeomProperty
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "char *" "name" "\^,"
+.BI "char *" "value" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new property
+.TP
+.I \- value
+value for the new property
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+.I XkbAddGeomProperty
+adds one property with the specified
+.I name
+and
+.I value
+to the keyboard geometry specified by
+.I geom. XkbAddGeomProperty
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the property. To allocate space for an arbitrary number of properties,
+use the
+.I XkbAllocGeomProps
+function.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbProperty {
+ char * name; /\(** property name */
+ char * value; /\(** property value */
+ } XkbPropertyRec,*XkbPropertyPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomProps (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomRow.man b/libX11/man/xkb/XkbAddGeomRow.man index f84e13860..41c6f7117 100644 --- a/libX11/man/xkb/XkbAddGeomRow.man +++ b/libX11/man/xkb/XkbAddGeomRow.man @@ -1,76 +1,76 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomRow \- Add a row to a section -.SH SYNOPSIS -.HP -.B XkbRowPtr XkbAddGeomRow -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "sz_keys" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section to be updated -.TP -.I \- sz_keys -number of keys to be reserved -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the arguments. For other functions, you must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to geometry properties. - -One of the components of a keyboard geometry section is one or more rows of keys. -.I XkbAddGeomRow -adds one row to the specified -.I section. -The newly created row contains space for the number of keys specified in -.I sz_keys. -They are allocated and zeroed, but otherwise uninitialized. -.I XkbAddGeomRow -returns NULL if any of the parameters is empty or if it was not able to allocate space for the row. To allocate space for an arbitrary number of rows to a section, use the -.I XkbAllocGeomRows -function. -.SH STRUCTURES -.LP -.nf -typedef struct _XkbRow { - short top; - short left; - unsigned short num_keys; - unsigned short sz_keys; - int vertical; - XkbKeyPtr keys; - XkbBoundsRec bounds; -} XkbRowRec, *XkbRowPtr; -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomRows (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomRow __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomRow \- Add a row to a section
+.SH SYNOPSIS
+.HP
+.B XkbRowPtr XkbAddGeomRow
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "sz_keys" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section to be updated
+.TP
+.I \- sz_keys
+number of keys to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the arguments. For other functions, you must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to geometry properties.
+
+One of the components of a keyboard geometry section is one or more rows of keys.
+.I XkbAddGeomRow
+adds one row to the specified
+.I section.
+The newly created row contains space for the number of keys specified in
+.I sz_keys.
+They are allocated and zeroed, but otherwise uninitialized.
+.I XkbAddGeomRow
+returns NULL if any of the parameters is empty or if it was not able to allocate space for the row. To allocate space for an arbitrary number of rows to a section, use the
+.I XkbAllocGeomRows
+function.
+.SH STRUCTURES
+.LP
+.nf
+typedef struct _XkbRow {
+ short top;
+ short left;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ int vertical;
+ XkbKeyPtr keys;
+ XkbBoundsRec bounds;
+} XkbRowRec, *XkbRowPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomRows (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomSection.man b/libX11/man/xkb/XkbAddGeomSection.man index c8675f9d8..1d658a583 100644 --- a/libX11/man/xkb/XkbAddGeomSection.man +++ b/libX11/man/xkb/XkbAddGeomSection.man @@ -1,119 +1,119 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomSection __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomSection \- Add one section to an existing keyboard geometry -.SH SYNOPSIS -.HP -.B XkbSectionPtr XkbAddGeomSection -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "Atom " "name" "\^," -.BI "int " "sz_rows" "\^," -.BI "int " "sz_doodads" "\^," -.BI "int " "sz_overlays" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to be updated -.TP -.I \- name -name of the new section -.TP -.I \- sz_rows -number of rows to reserve in the section -.TP -.I \- sz_doodads -number of doodads to reserve in the section -.TP -.I \- sz_overlays -number of overlays to reserve in the section -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard -geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do -not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the -values of the element's structure from the arguments. For other functions, you -must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary -name. Programs that display images of keyboards can use geometry properties as -hints, but they are not interpreted by Xkb. No other geometry structures refer -to geometry properties. - -A keyboard geometry contains an arbitrary number of sections. -.I XkbAddGeomSection -adds one section to an existing keyboard geometry -.I geom. -The new section contains space for the number of rows, doodads, and overlays -specified by -.I sz_rows, sz_doodads, -and -.I sz_overlays. -The new section is allocated and zeroed and given the name specified by -.I name. -If a section with name -.I name -already exists in the geometry, a pointer to the existing section is returned. -.I XkbAddGeomSection -returns NULL if any of the parameters is empty or if it was not able to allocate -space for the section. To allocate space for an arbitrary number of sections to -a geometry, use -.I XkbAllocGeomSections. -.SH STRUCTURES -.LP -.nf - -typedef struct _XkbSection { - Atom name; /\(** section name */ - unsigned char priority; /\(** drawing priority, 0=>highest, 255=>lowest */ - short top; /\(** top coordinate of section origin */ - short left; /\(** left coordinate of row origin */ - unsigned short width; /\(** section width, in mm/10 */ - unsigned short height; /\(** section height, in mm/10 */ - short angle; /\(** angle of section rotation, counterclockwise */ - unsigned short num_rows; /\(** number of rows in the rows array */ - unsigned short num_doodads; /\(** number of doodads in the doodads array */ - unsigned short num_overlays; /\(** number of overlays in the overlays array */ - unsigned short sz_rows; /\(** size of the rows array */ - unsigned short sz_doodads; /\(** size of the doodads array */ - unsigned short sz_overlays; /\(** size of the overlays array */ - XkbRowPtr rows; /\(** section rows array */ - XkbDoodadPtr doodads; /\(** section doodads array */ - XkbBoundsRec bounds; /\(** bounding box for the section, before rotation*/ - XkbOverlayPtr overlays; /\(** section overlays array */ -} XkbSectionRec, *XkbSectionPtr; - -.fi -.I top -and -.I left -are the origin of the section, relative to the origin of the keyboard, in mm/10. angle is in 1/10 degrees. -.SH "SEE ALSO" -.BR XkbAllocGeomSections (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomSection __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomSection \- Add one section to an existing keyboard geometry
+.SH SYNOPSIS
+.HP
+.B XkbSectionPtr XkbAddGeomSection
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "Atom " "name" "\^,"
+.BI "int " "sz_rows" "\^,"
+.BI "int " "sz_doodads" "\^,"
+.BI "int " "sz_overlays" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new section
+.TP
+.I \- sz_rows
+number of rows to reserve in the section
+.TP
+.I \- sz_doodads
+number of doodads to reserve in the section
+.TP
+.I \- sz_overlays
+number of overlays to reserve in the section
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard
+geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do
+not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the
+values of the element's structure from the arguments. For other functions, you
+must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary
+name. Programs that display images of keyboards can use geometry properties as
+hints, but they are not interpreted by Xkb. No other geometry structures refer
+to geometry properties.
+
+A keyboard geometry contains an arbitrary number of sections.
+.I XkbAddGeomSection
+adds one section to an existing keyboard geometry
+.I geom.
+The new section contains space for the number of rows, doodads, and overlays
+specified by
+.I sz_rows, sz_doodads,
+and
+.I sz_overlays.
+The new section is allocated and zeroed and given the name specified by
+.I name.
+If a section with name
+.I name
+already exists in the geometry, a pointer to the existing section is returned.
+.I XkbAddGeomSection
+returns NULL if any of the parameters is empty or if it was not able to allocate
+space for the section. To allocate space for an arbitrary number of sections to
+a geometry, use
+.I XkbAllocGeomSections.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbSection {
+ Atom name; /\(** section name */
+ unsigned char priority; /\(** drawing priority, 0=>highest, 255=>lowest */
+ short top; /\(** top coordinate of section origin */
+ short left; /\(** left coordinate of row origin */
+ unsigned short width; /\(** section width, in mm/10 */
+ unsigned short height; /\(** section height, in mm/10 */
+ short angle; /\(** angle of section rotation, counterclockwise */
+ unsigned short num_rows; /\(** number of rows in the rows array */
+ unsigned short num_doodads; /\(** number of doodads in the doodads array */
+ unsigned short num_overlays; /\(** number of overlays in the overlays array */
+ unsigned short sz_rows; /\(** size of the rows array */
+ unsigned short sz_doodads; /\(** size of the doodads array */
+ unsigned short sz_overlays; /\(** size of the overlays array */
+ XkbRowPtr rows; /\(** section rows array */
+ XkbDoodadPtr doodads; /\(** section doodads array */
+ XkbBoundsRec bounds; /\(** bounding box for the section, before rotation*/
+ XkbOverlayPtr overlays; /\(** section overlays array */
+} XkbSectionRec, *XkbSectionPtr;
+
+.fi
+.I top
+and
+.I left
+are the origin of the section, relative to the origin of the keyboard, in mm/10. angle is in 1/10 degrees.
+.SH "SEE ALSO"
+.BR XkbAllocGeomSections (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddGeomShape.man b/libX11/man/xkb/XkbAddGeomShape.man index cd157ab1c..3044eb9a3 100644 --- a/libX11/man/xkb/XkbAddGeomShape.man +++ b/libX11/man/xkb/XkbAddGeomShape.man @@ -1,89 +1,89 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddGeomShape __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddGeomShape \- Add a shape to a keyboard geometry -.SH SYNOPSIS -.HP -.B XkbShapePtr XkbAddGeomShape -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "Atom " "name" "\^," -.BI "int " "sz_outlines" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry to be updated -.TP -.I \- name -name of the new shape -.TP -.I \- sz_outlines -number of outlines to be reserved -.SH DESCRIPTION -.LP -Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the -.I num_ * -fields of the corresponding structure is incremented by 1. These functions do not change -.I sz_* -unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the -arguments. For other functions, you must explicitly write code to fill the structure's elements. - -The top-level geometry description includes a list of -.I geometry properties. -A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of -keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to -geometry properties. - -A geometry contains an arbitrary number of shapes, each of which is made up of an arbitrary number of outlines. -.I XkbAddGeomShape -adds a shape to a geometry -.I geom -by allocating space for -.I sz_outlines -outlines for it and giving it the name specified by -.I name. -If a shape with name -.I name -already exists in the geometry, a pointer to the existing shape is returned. -.I XkbAddGeomShape -returns NULL if any of the parameters is empty or if it was not able to allocate space. To allocate space for an arbitrary -number of geometry shapes, use -.I XkbAllocGeomShapes. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbShape { - Atom name; /\(** shape's name */ - unsigned short num_outlines; /\(** number of outlines for the shape */ - unsigned short sz_outlines; /\(** size of the outlines array */ - XkbOutlinePtr outlines; /\(** array of outlines for the shape */ - XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */ - XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */ - XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */ - } XkbShapeRec, *XkbShapePtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocGeomShapes (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddGeomShape __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddGeomShape \- Add a shape to a keyboard geometry
+.SH SYNOPSIS
+.HP
+.B XkbShapePtr XkbAddGeomShape
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "Atom " "name" "\^,"
+.BI "int " "sz_outlines" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry to be updated
+.TP
+.I \- name
+name of the new shape
+.TP
+.I \- sz_outlines
+number of outlines to be reserved
+.SH DESCRIPTION
+.LP
+Xkb provides functions to add a single new element to the top-level keyboard geometry. In each case the
+.I num_ *
+fields of the corresponding structure is incremented by 1. These functions do not change
+.I sz_*
+unless there is no more room in the array. Some of these functions fill in the values of the element's structure from the
+arguments. For other functions, you must explicitly write code to fill the structure's elements.
+
+The top-level geometry description includes a list of
+.I geometry properties.
+A geometry property associates an arbitrary string with an equally arbitrary name. Programs that display images of
+keyboards can use geometry properties as hints, but they are not interpreted by Xkb. No other geometry structures refer to
+geometry properties.
+
+A geometry contains an arbitrary number of shapes, each of which is made up of an arbitrary number of outlines.
+.I XkbAddGeomShape
+adds a shape to a geometry
+.I geom
+by allocating space for
+.I sz_outlines
+outlines for it and giving it the name specified by
+.I name.
+If a shape with name
+.I name
+already exists in the geometry, a pointer to the existing shape is returned.
+.I XkbAddGeomShape
+returns NULL if any of the parameters is empty or if it was not able to allocate space. To allocate space for an arbitrary
+number of geometry shapes, use
+.I XkbAllocGeomShapes.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbShape {
+ Atom name; /\(** shape's name */
+ unsigned short num_outlines; /\(** number of outlines for the shape */
+ unsigned short sz_outlines; /\(** size of the outlines array */
+ XkbOutlinePtr outlines; /\(** array of outlines for the shape */
+ XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */
+ XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */
+ XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */
+ } XkbShapeRec, *XkbShapePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocGeomShapes (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAddSymInterpret.man b/libX11/man/xkb/XkbAddSymInterpret.man index f74fffd5d..c430f98d6 100644 --- a/libX11/man/xkb/XkbAddSymInterpret.man +++ b/libX11/man/xkb/XkbAddSymInterpret.man @@ -1,65 +1,65 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAddSymInterpret __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol -interpretations in an XkbCompatRec -.SH SYNOPSIS -.HP -.B XkbSymInterpretPtr XkbAddSymInterpret -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "XkbSymInterpretPtr " "si" "\^," -.BI "Bool " "updateMap" "\^," -.BI "XkbChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to be updated -.TP -.I \- si -symbol interpretation to be added -.TP -.I \- updateMap -True=>apply compatibility map to keys -.TP -.I \- changes -changes are put here -.SH DESCRIPTION -.LP -.I XkbAddSymInterpret -adds -.I si -to the list of symbol interpretations in -.I xkb. -If -.I updateMap -is True, it (re)applies the compatibility map to all of the keys on the -keyboard. If -.I changes -is non-NULL, it reports the parts of the keyboard that were affected (unless -.I updateMap -is True, not much changes). -.I XkbAddSymInterpret -returns a pointer to the actual new symbol interpretation in the list or NULL if -it failed. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAddSymInterpret __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAddSymInterpret \- Add a symbol interpretation to the list of symbol
+interpretations in an XkbCompatRec
+.SH SYNOPSIS
+.HP
+.B XkbSymInterpretPtr XkbAddSymInterpret
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "XkbSymInterpretPtr " "si" "\^,"
+.BI "Bool " "updateMap" "\^,"
+.BI "XkbChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be updated
+.TP
+.I \- si
+symbol interpretation to be added
+.TP
+.I \- updateMap
+True=>apply compatibility map to keys
+.TP
+.I \- changes
+changes are put here
+.SH DESCRIPTION
+.LP
+.I XkbAddSymInterpret
+adds
+.I si
+to the list of symbol interpretations in
+.I xkb.
+If
+.I updateMap
+is True, it (re)applies the compatibility map to all of the keys on the
+keyboard. If
+.I changes
+is non-NULL, it reports the parts of the keyboard that were affected (unless
+.I updateMap
+is True, not much changes).
+.I XkbAddSymInterpret
+returns a pointer to the actual new symbol interpretation in the list or NULL if
+it failed.
diff --git a/libX11/man/xkb/XkbAllocClientMap.man b/libX11/man/xkb/XkbAllocClientMap.man index 513e5c742..83a977164 100644 --- a/libX11/man/xkb/XkbAllocClientMap.man +++ b/libX11/man/xkb/XkbAllocClientMap.man @@ -1,164 +1,164 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocClientMap \- Allocate and initialize an empty client map description -record -.SH SYNOPSIS -.HP -.B Status XkbAllocClientMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "type_count" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description in which to allocate client map -.TP -.I \- which -mask selecting map components to allocate -.TP -.I \- type_count -value of num_types field in map to be allocated -.SH DESCRIPTION -.LP -Calling -.I XkbGetMap -should be sufficient for most applications to get client and server maps. As a -result, most applications do not need to directly allocate client and server -maps. - -If you change the number of key types or construct map components without -loading the necessary components from the X server, do not allocate any map -components directly using -.I malloc -or -.I Xmalloc. -Instead, use the Xkb allocators, -.I XkbAllocClientMap, -and -.I XkbAllocServerMap. - -Similarly, use the Xkb destructors, -.I XkbFreeClientMap, -and -.I XkbFreeServerMap -instead of -.I free -or -.I Xfree. - -.I XkbAllocClientMap -allocates and initializes an empty client map in the -.I map -field of the keyboard description specified by -.I xkb. -The -.I which -parameter specifies the particular components of the client map structure to -allocate and is a mask composed by a bitwise inclusive OR of one or more of the -masks shown in Table 1. -.bp -.TS -c s -l l -l lw(4i). -Table 1 XkbAllocClientMap Masks -_ -Mask Effect -_ -XkbKeyTypesMask T{ -The type_count field specifies the number of entries to preallocate for the -types field of the client map. If the type_count field is less than -XkbNumRequiredTypes returns BadValue. -T} -.sp -XkbKeySymsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the syms and key_sym_map fields of the client map. The fields are -allocated to contain the maximum number of entries necessary for max_key_code - -min_key_code + 1 keys. -T} -.sp -XkbModifierMapMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the modmap field of the client map. The field is allocated to contain -the maximum number of entries necessary for max_key_code - min_key_code + 1 -keys. -T} -.TE - -NOTE: The -.I min_key_code -and -.I max_key_code -fields of the -.I xkb -parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks -are set in the -.I which -parameter. If they are not valid, -.I XkbAllocClientMap -returns BadValue. - -If the client map of the keyboard description is not NULL, and any fields are -already allocated in the client map, -.I XkbAllocClientMap -does not overwrite the existing values; it simply ignores that part of the -request. The only exception is the -.I types -array. If -.I type_count -is greater than the current -.I num_types -field of the client map, -.I XkbAllocClientMap -resizes the -.I types -array and resets the -.I num_types -field accordingly. - -If -.I XkbAllocClientMap -is successful, it returns Success. Otherwise, it can return either BadMatch, -BadAlloc, or BadValue errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbAllocClientMap (__libmansuffix__), -.BR XkbAllocServerMap (__libmansuffix__), -.BR XkbFreeClientMap, (__libmansuffix__), -.BR XkbFreeServerMap (__libmansuffix__), -.BR XkbGetMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocClientMap \- Allocate and initialize an empty client map description
+record
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocClientMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "type_count" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate client map
+.TP
+.I \- which
+mask selecting map components to allocate
+.TP
+.I \- type_count
+value of num_types field in map to be allocated
+.SH DESCRIPTION
+.LP
+Calling
+.I XkbGetMap
+should be sufficient for most applications to get client and server maps. As a
+result, most applications do not need to directly allocate client and server
+maps.
+
+If you change the number of key types or construct map components without
+loading the necessary components from the X server, do not allocate any map
+components directly using
+.I malloc
+or
+.I Xmalloc.
+Instead, use the Xkb allocators,
+.I XkbAllocClientMap,
+and
+.I XkbAllocServerMap.
+
+Similarly, use the Xkb destructors,
+.I XkbFreeClientMap,
+and
+.I XkbFreeServerMap
+instead of
+.I free
+or
+.I Xfree.
+
+.I XkbAllocClientMap
+allocates and initializes an empty client map in the
+.I map
+field of the keyboard description specified by
+.I xkb.
+The
+.I which
+parameter specifies the particular components of the client map structure to
+allocate and is a mask composed by a bitwise inclusive OR of one or more of the
+masks shown in Table 1.
+.bp
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocClientMap Masks
+_
+Mask Effect
+_
+XkbKeyTypesMask T{
+The type_count field specifies the number of entries to preallocate for the
+types field of the client map. If the type_count field is less than
+XkbNumRequiredTypes returns BadValue.
+T}
+.sp
+XkbKeySymsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the syms and key_sym_map fields of the client map. The fields are
+allocated to contain the maximum number of entries necessary for max_key_code -
+min_key_code + 1 keys.
+T}
+.sp
+XkbModifierMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the modmap field of the client map. The field is allocated to contain
+the maximum number of entries necessary for max_key_code - min_key_code + 1
+keys.
+T}
+.TE
+
+NOTE: The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
+are set in the
+.I which
+parameter. If they are not valid,
+.I XkbAllocClientMap
+returns BadValue.
+
+If the client map of the keyboard description is not NULL, and any fields are
+already allocated in the client map,
+.I XkbAllocClientMap
+does not overwrite the existing values; it simply ignores that part of the
+request. The only exception is the
+.I types
+array. If
+.I type_count
+is greater than the current
+.I num_types
+field of the client map,
+.I XkbAllocClientMap
+resizes the
+.I types
+array and resets the
+.I num_types
+field accordingly.
+
+If
+.I XkbAllocClientMap
+is successful, it returns Success. Otherwise, it can return either BadMatch,
+BadAlloc, or BadValue errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocClientMap (__libmansuffix__),
+.BR XkbAllocServerMap (__libmansuffix__),
+.BR XkbFreeClientMap, (__libmansuffix__),
+.BR XkbFreeServerMap (__libmansuffix__),
+.BR XkbGetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocCompatMap.man b/libX11/man/xkb/XkbAllocCompatMap.man index f21d379ea..44d338b38 100644 --- a/libX11/man/xkb/XkbAllocCompatMap.man +++ b/libX11/man/xkb/XkbAllocCompatMap.man @@ -1,108 +1,108 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocCompatMap \- Allocate a new compatibility map if you do not already have one available -.SH SYNOPSIS -.HP -.B Status XkbAllocCompatMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "num_si" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description in which to allocate compat map -.TP -.I \- which -mask of compatibility map components to allocate -.TP -.I \- num_si -number of symbol interpretations to allocate -.SH DESCRIPTION -.LP -.I xkb -specifies the keyboard description for which compatibility maps are to be allocated. The compatibility map is the -.I compat -field in this structure. - -.I which -specifies the compatibility map components to be allocated (see XkbGetCompatMap). -.I which -is an inclusive OR of the bits shown in Table 1. - -.TS -c s s -l l l. -Table 1 Compatibility Map Component Masks -_ -Mask Value Affecting -_ -XkbSymInterpMask (1<<0) Symbol interpretations -XkbGroupCompatMask (1<<1) Group maps -XkbAllCompatMask (0x3) All compatibility map components -.TE - -.I num_si -specifies the total number of entries to allocate in the symbol interpretation vector -.I (xkb.compat.sym_interpret). - -.I XkbAllocCompatMap -returns Success if successful, BadMatch if -.I xkb -is NULL, or BadAlloc if errors are encountered when attempting to allocate storage. -.SH STRUCTURES -.LP -.nf - - typedef struct { - KeySym sym; /\(** keysym of interest or NULL */ - unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */ - unsigned char match; /\(** specifies how mods is interpreted */ - unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */ - unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */ - XkbAnyAction act; /\(** action to bind to symbol position on key */ - } XkbSymInterpretRec,*XkbSymInterpretPtr; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbGetCompatMap (__libmansuffix__) -.SH NOTES -.LP -Note that symbol interpretations in a compatibility map (the -.I sym_interpret -vector of XkbSymInterpretRec structures) are also allocated using this same function. To ensure that there is sufficient space in the symbol interpretation vector for entries to be added, use -.I XkbAllocCompatMap -specifying -.I which -as XkbSymInterpretMask and the number of free symbol interpretations needed in -.I num_si. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocCompatMap \- Allocate a new compatibility map if you do not already have one available
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocCompatMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "num_si" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate compat map
+.TP
+.I \- which
+mask of compatibility map components to allocate
+.TP
+.I \- num_si
+number of symbol interpretations to allocate
+.SH DESCRIPTION
+.LP
+.I xkb
+specifies the keyboard description for which compatibility maps are to be allocated. The compatibility map is the
+.I compat
+field in this structure.
+
+.I which
+specifies the compatibility map components to be allocated (see XkbGetCompatMap).
+.I which
+is an inclusive OR of the bits shown in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+.I num_si
+specifies the total number of entries to allocate in the symbol interpretation vector
+.I (xkb.compat.sym_interpret).
+
+.I XkbAllocCompatMap
+returns Success if successful, BadMatch if
+.I xkb
+is NULL, or BadAlloc if errors are encountered when attempting to allocate storage.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+ } XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetCompatMap (__libmansuffix__)
+.SH NOTES
+.LP
+Note that symbol interpretations in a compatibility map (the
+.I sym_interpret
+vector of XkbSymInterpretRec structures) are also allocated using this same function. To ensure that there is sufficient space in the symbol interpretation vector for entries to be added, use
+.I XkbAllocCompatMap
+specifying
+.I which
+as XkbSymInterpretMask and the number of free symbol interpretations needed in
+.I num_si.
diff --git a/libX11/man/xkb/XkbAllocControls.man b/libX11/man/xkb/XkbAllocControls.man index 490a51022..d7eb362be 100644 --- a/libX11/man/xkb/XkbAllocControls.man +++ b/libX11/man/xkb/XkbAllocControls.man @@ -1,138 +1,138 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocControls \- Allocates an XkbControlsRec structure in the XkbDescRec -.SH SYNOPSIS -.HP -.B Status XkbAllocControls -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description in which to allocate ctrls rec -.TP -.I \- which -mask of components of ctrls to allocate -.SH DESCRIPTION -.LP -The need to allocate an XkbControlsRec structure seldom arises; Xkb creates one -when an application calls -.I XkbGetControls -or a related function. For those situations where there is not an XkbControlsRec -structure allocated in the XkbDescRec, allocate one by calling -.I XkbAllocControls. - -.I XkbAllocControls -allocates the -.I ctrls -field of the -.I xkb -parameter, initializes all fields to zero, and returns Success. If the -.I ctrls -field is not NULL, -.I XkbAllocControls -simply returns Success. If -.I xkb -is NULL, -.I XkbAllocControls -reports a BadMatch error. If the -.I ctrls -field could not be allocated, it reports a BadAlloc error. - -The -.I which -mask specifies the individual fields of the -.I ctrls -structure to be allocated and can contain any of the valid masks defined in -Table 1. -(SHOULD THIS COMMENT BE LEFT IN????) -Because none of the currently existing controls have any structures associated -with them, which is currently of little practical value in this call. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE -.nh -.SH "RETURN VALUES" -.TP 15 -SUCCESS -allocates the ctrls field of the xkb parameter, initializes all fields to zero -.sp -.in 20 -the ctrls field is not NULL -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbGetControls (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocControls \- Allocates an XkbControlsRec structure in the XkbDescRec
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocControls
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to allocate ctrls rec
+.TP
+.I \- which
+mask of components of ctrls to allocate
+.SH DESCRIPTION
+.LP
+The need to allocate an XkbControlsRec structure seldom arises; Xkb creates one
+when an application calls
+.I XkbGetControls
+or a related function. For those situations where there is not an XkbControlsRec
+structure allocated in the XkbDescRec, allocate one by calling
+.I XkbAllocControls.
+
+.I XkbAllocControls
+allocates the
+.I ctrls
+field of the
+.I xkb
+parameter, initializes all fields to zero, and returns Success. If the
+.I ctrls
+field is not NULL,
+.I XkbAllocControls
+simply returns Success. If
+.I xkb
+is NULL,
+.I XkbAllocControls
+reports a BadMatch error. If the
+.I ctrls
+field could not be allocated, it reports a BadAlloc error.
+
+The
+.I which
+mask specifies the individual fields of the
+.I ctrls
+structure to be allocated and can contain any of the valid masks defined in
+Table 1.
+(SHOULD THIS COMMENT BE LEFT IN????)
+Because none of the currently existing controls have any structures associated
+with them, which is currently of little practical value in this call.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+.nh
+.SH "RETURN VALUES"
+.TP 15
+SUCCESS
+allocates the ctrls field of the xkb parameter, initializes all fields to zero
+.sp
+.in 20
+the ctrls field is not NULL
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocDeviceInfo.man b/libX11/man/xkb/XkbAllocDeviceInfo.man index 13fbb0d27..6bc2fb0a6 100644 --- a/libX11/man/xkb/XkbAllocDeviceInfo.man +++ b/libX11/man/xkb/XkbAllocDeviceInfo.man @@ -1,100 +1,100 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocDeviceInfo \- Obtain an XkbDeviceInfoRec structure -.SH SYNOPSIS -.HP -.B XkbDeviceInfoPtr XkbAllocDeviceInfo -.BI "(\^unsigned int " "device_spec" "\^," -.BI "unsigned int " "n_buttons" "\^," -.BI "unsigned int " "sz_leds" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- device_spec -device ID with which structure will be used -.TP -.I \- n_buttons -number of button actions to allocate space for -.TP -.I \- sz_leds -number of LED feedbacks to allocate space for -.SH DESCRIPTION -.LP -.I XkbAllocDeviceInfo -allocates space for an XkbDeviceInfoRec structure and initializes that structure's -.I device_spec -field with the device ID specified by -.I device_spec. -If -.I n_buttons -is nonzero, -.I n_buttons -XkbActions are linked into the XkbDeviceInfoRec structure and initialized to zero. If -.I sz_leds -is nonzero, -.I sz_leds -XkbDeviceLedInfoRec structures are also allocated and linked into the XkbDeviceInfoRec structure. If -you request XkbDeviceLedInfoRec structures be allocated using this request, you must initialize them -explicitly. - -To obtain an XkbDeviceLedInfoRec structure, use -.I XkbAllocDeviceLedInfo. -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb -extension in an XkbDeviceInfoRec structure: -.nf - - 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; - - - typedef struct { - unsigned short led_class; /\(** class for this LED device*/ - unsigned short led_id; /\(** ID for this LED device */ - unsigned int phys_indicators; /\(** bits for which LEDs physically present */ - unsigned int maps_present; /\(** bits for which LEDs have maps in maps */ - unsigned int names_present; /\(** bits for which LEDs are in names */ - unsigned int state; /\(** 1 bit => corresponding LED is on */ - Atom names[XkbNumIndicators]; /\(** names for LEDs */ - XkbIndicatorMapRec maps; /\(** indicator maps for each LED */ - } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr; -.fi -.SH "SEE ALSO" -.BR XkbAllocDeviceLedInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocDeviceInfo \- Obtain an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.HP
+.B XkbDeviceInfoPtr XkbAllocDeviceInfo
+.BI "(\^unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "n_buttons" "\^,"
+.BI "unsigned int " "sz_leds" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_spec
+device ID with which structure will be used
+.TP
+.I \- n_buttons
+number of button actions to allocate space for
+.TP
+.I \- sz_leds
+number of LED feedbacks to allocate space for
+.SH DESCRIPTION
+.LP
+.I XkbAllocDeviceInfo
+allocates space for an XkbDeviceInfoRec structure and initializes that structure's
+.I device_spec
+field with the device ID specified by
+.I device_spec.
+If
+.I n_buttons
+is nonzero,
+.I n_buttons
+XkbActions are linked into the XkbDeviceInfoRec structure and initialized to zero. If
+.I sz_leds
+is nonzero,
+.I sz_leds
+XkbDeviceLedInfoRec structures are also allocated and linked into the XkbDeviceInfoRec structure. If
+you request XkbDeviceLedInfoRec structures be allocated using this request, you must initialize them
+explicitly.
+
+To obtain an XkbDeviceLedInfoRec structure, use
+.I XkbAllocDeviceLedInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ 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;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocDeviceLedInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocDeviceLedInfo.man b/libX11/man/xkb/XkbAllocDeviceLedInfo.man index cd08a855f..5db22d616 100644 --- a/libX11/man/xkb/XkbAllocDeviceLedInfo.man +++ b/libX11/man/xkb/XkbAllocDeviceLedInfo.man @@ -1,113 +1,113 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocDeviceLedInfo \- Obtain an XkbDeviceLedInfoRec structure -.SH SYNOPSIS -.HP -.B Status XkbAllocDeviceLedInfo -.BI "(\^XkbDeviceInfoPtr " "device_info" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- device_info -structure in which to allocate LED space -.TP -.I \- num_needed -number of indicators to allocate space for -.SH DESCRIPTION -.LP -.I XkbAllocDeviceLedInfo -allocates space for an XkbDeviceLedInfoRec and places it in -.I device_info. -If -.I num_needed -is nonzero, -.I num_needed -XkbIndicatorMapRec structures are also allocated and linked into the XkbDeviceLedInfoRec structure. If you request XkbIndicatorMapRec structures be allocated using this request, you must initialize them explicitly. All other fields are initialized to zero. - -To initialize an XkbDeviceLedInfoRec structure, use -.I XkbAddDeviceLedInfo. -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb -extension in an XkbDeviceInfoRec structure: -.nf - - 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; - - - typedef struct { - unsigned short led_class; /\(** class for this LED device*/ - unsigned short led_id; /\(** ID for this LED device */ - unsigned int phys_indicators; /\(** bits for which LEDs physically present */ - unsigned int maps_present; /\(** bits for which LEDs have maps in maps */ - unsigned int names_present; /\(** bits for which LEDs are in names */ - unsigned int state; /\(** 1 bit => corresponding LED is on */ - Atom names[XkbNumIndicators]; /\(** names for LEDs */ - XkbIndicatorMapRec maps; /\(** indicator maps for each LED */ - } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr; - -.fi -Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The attributes of each indicator are held in the maps array, which is an array of XkbIndicatorRec structures: -.nf - - typedef struct { - unsigned char flags; /\(** how the indicator can be changed */ - unsigned char which_groups; /\(** match criteria for groups */ - unsigned char groups; /\(** which keyboard groups the indicator watches */ - unsigned char which_mods; /\(** match criteria for modifiers */ - XkbModsRec mods; /\(** which modifiers the indicator watches */ - unsigned int ctrls; /\(** which controls the indicator watches */ - } XkbIndicatorMapRec, *XkbIndicatorMapPtr; - -.fi -This indicator map specifies for each indicator: - -.IP \(bu 5 -The conditions under which the keyboard modifier state affects the indicator -.IP \(bu 5 -The conditions under which the keyboard group state affects the indicator -.IP \(bu 5 -The conditions under which the state of the boolean controls affects the indicator -.IP \(bu 5 -The effect (if any) of attempts to explicitly change the state of the indicator using the functions XkbSetControls or XChangeKeyboardControl -.SH "SEE ALSO" -.BR XkbAddDeviceLedInfo (__libmansuffix__), -.BR XkbSetControls (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocDeviceLedInfo \- Obtain an XkbDeviceLedInfoRec structure
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocDeviceLedInfo
+.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to allocate LED space
+.TP
+.I \- num_needed
+number of indicators to allocate space for
+.SH DESCRIPTION
+.LP
+.I XkbAllocDeviceLedInfo
+allocates space for an XkbDeviceLedInfoRec and places it in
+.I device_info.
+If
+.I num_needed
+is nonzero,
+.I num_needed
+XkbIndicatorMapRec structures are also allocated and linked into the XkbDeviceLedInfoRec structure. If you request XkbIndicatorMapRec structures be allocated using this request, you must initialize them explicitly. All other fields are initialized to zero.
+
+To initialize an XkbDeviceLedInfoRec structure, use
+.I XkbAddDeviceLedInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ 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;
+
+
+ typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+ } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
+Each indicator has its own set of attributes that specify whether clients can explicitly set its state and whether it tracks the keyboard state. The attributes of each indicator are held in the maps array, which is an array of XkbIndicatorRec structures:
+.nf
+
+ typedef struct {
+ unsigned char flags; /\(** how the indicator can be changed */
+ unsigned char which_groups; /\(** match criteria for groups */
+ unsigned char groups; /\(** which keyboard groups the indicator watches */
+ unsigned char which_mods; /\(** match criteria for modifiers */
+ XkbModsRec mods; /\(** which modifiers the indicator watches */
+ unsigned int ctrls; /\(** which controls the indicator watches */
+ } XkbIndicatorMapRec, *XkbIndicatorMapPtr;
+
+.fi
+This indicator map specifies for each indicator:
+
+.IP \(bu 5
+The conditions under which the keyboard modifier state affects the indicator
+.IP \(bu 5
+The conditions under which the keyboard group state affects the indicator
+.IP \(bu 5
+The conditions under which the state of the boolean controls affects the indicator
+.IP \(bu 5
+The effect (if any) of attempts to explicitly change the state of the indicator using the functions XkbSetControls or XChangeKeyboardControl
+.SH "SEE ALSO"
+.BR XkbAddDeviceLedInfo (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomColors.man b/libX11/man/xkb/XkbAllocGeomColors.man index 251f2a225..7bba51de3 100644 --- a/libX11/man/xkb/XkbAllocGeomColors.man +++ b/libX11/man/xkb/XkbAllocGeomColors.man @@ -1,70 +1,70 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomColors \- Allocate geometry colors -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomColors -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry for which colors should be allocated -.TP -.I \- num_needed -number of new colors required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomColors -allocates space for -.I num_needed -colors and adds them to the specified geometry -.I geom. -A color name is a string whose interpretation is not specified by Xkb. All other -geometry data structures refer to colors using their indices in this global list -or pointers to colors in this list. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomColors \- Allocate geometry colors
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomColors
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which colors should be allocated
+.TP
+.I \- num_needed
+number of new colors required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomColors
+allocates space for
+.I num_needed
+colors and adds them to the specified geometry
+.I geom.
+A color name is a string whose interpretation is not specified by Xkb. All other
+geometry data structures refer to colors using their indices in this global list
+or pointers to colors in this list.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomDoodads.man b/libX11/man/xkb/XkbAllocGeomDoodads.man index f0ef8cdd7..612d0f7ed 100644 --- a/libX11/man/xkb/XkbAllocGeomDoodads.man +++ b/libX11/man/xkb/XkbAllocGeomDoodads.man @@ -1,69 +1,69 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomDoodads \- Allocate doodads that are global to a keyboard geometry -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomDoodads -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry for which doodads should be allocated -.TP -.I \- num_needed -number of new doodads required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomDoodads -allocates -.I num_needed -doodads and adds them to the specified geometry -.I geom. -No initialization of the doodads is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomDoodads \- Allocate doodads that are global to a keyboard geometry
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomDoodads
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which doodads should be allocated
+.TP
+.I \- num_needed
+number of new doodads required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomDoodads
+allocates
+.I num_needed
+doodads and adds them to the specified geometry
+.I geom.
+No initialization of the doodads is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomKeyAliases.man b/libX11/man/xkb/XkbAllocGeomKeyAliases.man index c71958cf6..cf3d640ad 100644 --- a/libX11/man/xkb/XkbAllocGeomKeyAliases.man +++ b/libX11/man/xkb/XkbAllocGeomKeyAliases.man @@ -1,74 +1,74 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomKeyAliases \- Allocate geometry key aliases -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomKeyAliases -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry for which key aliases should be allocated -.TP -.I \- num_needed -number of new key aliases required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomKeyAliases -allocates space for -.I num_needed -key aliases and adds them to the specified geometry -.I geom. -A key alias is a pair of strings that associates an alternate name for a key -with the real name for that key. - -To free geometry key aliases, use -.I XkbFreeGeomKeyAliases. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomKeyAliases (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomKeyAliases \- Allocate geometry key aliases
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomKeyAliases
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which key aliases should be allocated
+.TP
+.I \- num_needed
+number of new key aliases required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomKeyAliases
+allocates space for
+.I num_needed
+key aliases and adds them to the specified geometry
+.I geom.
+A key alias is a pair of strings that associates an alternate name for a key
+with the real name for that key.
+
+To free geometry key aliases, use
+.I XkbFreeGeomKeyAliases.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomKeyAliases (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomKeys.man b/libX11/man/xkb/XkbAllocGeomKeys.man index 6c8deef6a..cff2a8922 100644 --- a/libX11/man/xkb/XkbAllocGeomKeys.man +++ b/libX11/man/xkb/XkbAllocGeomKeys.man @@ -1,68 +1,68 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomKeys -.BI "(\^XkbRowPtr " "row" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -row to which keys should be allocated -.TP -.I \- num_needed -number of new keys required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomKeys -allocates -.I num_needed -keys and adds them to the -.I row. -No initialization of the keys is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomKeys \- Allocate space for an arbitrary number of keys to a row
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomKeys
+.BI "(\^XkbRowPtr " "row" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row to which keys should be allocated
+.TP
+.I \- num_needed
+number of new keys required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomKeys
+allocates
+.I num_needed
+keys and adds them to the
+.I row.
+No initialization of the keys is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomOutlines.man b/libX11/man/xkb/XkbAllocGeomOutlines.man index 3e4b4b3a5..8cb9d7242 100644 --- a/libX11/man/xkb/XkbAllocGeomOutlines.man +++ b/libX11/man/xkb/XkbAllocGeomOutlines.man @@ -1,74 +1,74 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a -shape -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomOutlines -.BI "(\^XkbShapePtr " "shape" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- shape -shape for which outlines should be allocated -.TP -.I \- num_needed -number of new outlines required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomOutlines -allocates space for -.I num_needed -outlines in the specified -.I shape. -The outlines are not initialized. - -To free geometry outlines, use -.I XkbFreeGeomOutlines. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomOutlines (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOutlines \- Allocate space for an arbitrary number of outlines to a
+shape
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomOutlines
+.BI "(\^XkbShapePtr " "shape" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape for which outlines should be allocated
+.TP
+.I \- num_needed
+number of new outlines required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOutlines
+allocates space for
+.I num_needed
+outlines in the specified
+.I shape.
+The outlines are not initialized.
+
+To free geometry outlines, use
+.I XkbFreeGeomOutlines.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomOutlines (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomOverlayKey.man b/libX11/man/xkb/XkbAllocGeomOverlayKey.man index b494c9367..fa82b3a66 100644 --- a/libX11/man/xkb/XkbAllocGeomOverlayKey.man +++ b/libX11/man/xkb/XkbAllocGeomOverlayKey.man @@ -1,64 +1,64 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomOverlayKeys -.BI "(\^XkbOverlayRowPtr " "row" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -section for which rows should be allocated -.TP -.I \- num_needed -number of new rows required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomOverlayKeys -allocates -.I num_needed -keys and adds them to the -.I row. -No initialization of the keys is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOverlayKeys \- Allocate keys in an overlay row
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomOverlayKeys
+.BI "(\^XkbOverlayRowPtr " "row" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlayKeys
+allocates
+.I num_needed
+keys and adds them to the
+.I row.
+No initialization of the keys is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomOverlayRows.man b/libX11/man/xkb/XkbAllocGeomOverlayRows.man index 24780fcdf..b09282f47 100644 --- a/libX11/man/xkb/XkbAllocGeomOverlayRows.man +++ b/libX11/man/xkb/XkbAllocGeomOverlayRows.man @@ -1,73 +1,73 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomOverlayRows \- Allocate rows in a overlay -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomOverlayRows -.BI "(\^XkbOverlayPtr " "overlay" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- overlay -section for which rows should be allocated -.TP -.I \- num_needed -number of new rows required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomOverlayRows -allocates -.I num_needed -rows and adds them to the -.I overlay. -No initialization of the rows is done. - -To free rows in an overlay, use -.I XkbFreeGeomOverlayRows. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomOverlayRows (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOverlayRows \- Allocate rows in a overlay
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomOverlayRows
+.BI "(\^XkbOverlayPtr " "overlay" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlayRows
+allocates
+.I num_needed
+rows and adds them to the
+.I overlay.
+No initialization of the rows is done.
+
+To free rows in an overlay, use
+.I XkbFreeGeomOverlayRows.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomOverlayRows (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomOverlays.man b/libX11/man/xkb/XkbAllocGeomOverlays.man index 09ff1b7cd..a6e3152de 100644 --- a/libX11/man/xkb/XkbAllocGeomOverlays.man +++ b/libX11/man/xkb/XkbAllocGeomOverlays.man @@ -1,63 +1,63 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomOverlays \- Allocate overlays in a section -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomOverlays -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section for which overlays should be allocated -.TP -.I \- num_needed -number of new overlays required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomOverlays -allocates -.I num_needed -overlays and adds them to the -.I section. -No initialization of the overlays is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomOverlays \- Allocate overlays in a section
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomOverlays
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which overlays should be allocated
+.TP
+.I \- num_needed
+number of new overlays required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries. Note that these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomOverlays
+allocates
+.I num_needed
+overlays and adds them to the
+.I section.
+No initialization of the overlays is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomPoints.man b/libX11/man/xkb/XkbAllocGeomPoints.man index b8949d73c..f0bc767bc 100644 --- a/libX11/man/xkb/XkbAllocGeomPoints.man +++ b/libX11/man/xkb/XkbAllocGeomPoints.man @@ -1,68 +1,68 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomPoints \- Allocate points in an outline -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomPoints -.BI "(\^XkbOutlinePtr " "outline" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- outline -outline for which points should be allocated -.TP -.I \- num_needed -number of new points required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomPoints -allocates space for -.I num_needed -points in the specified -.I outline. -The points are not initialized. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomPoints \- Allocate points in an outline
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomPoints
+.BI "(\^XkbOutlinePtr " "outline" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- outline
+outline for which points should be allocated
+.TP
+.I \- num_needed
+number of new points required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomPoints
+allocates space for
+.I num_needed
+points in the specified
+.I outline.
+The points are not initialized.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomProps.man b/libX11/man/xkb/XkbAllocGeomProps.man index ba0609e03..fbbd8e46f 100644 --- a/libX11/man/xkb/XkbAllocGeomProps.man +++ b/libX11/man/xkb/XkbAllocGeomProps.man @@ -1,71 +1,71 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomProps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomProps \- Allocate geometry properties -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomProps -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -_summary_ -.TP -.I \- num_needed -_summary_ -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomProps -allocates space for -.I num_needed -properties and adds them to the specified geometry -.I geom. -No initialization of the properties is done. A geometry property associates an -arbitrary string with an equally arbitrary name. Geometry properties can be used -to provide hints to programs that display images of keyboards, but they are not -interpreted by Xkb. No other geometry structures refer to geometry properties. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomProps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomProps \- Allocate geometry properties
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomProps
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+_summary_
+.TP
+.I \- num_needed
+_summary_
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomProps
+allocates space for
+.I num_needed
+properties and adds them to the specified geometry
+.I geom.
+No initialization of the properties is done. A geometry property associates an
+arbitrary string with an equally arbitrary name. Geometry properties can be used
+to provide hints to programs that display images of keyboards, but they are not
+interpreted by Xkb. No other geometry structures refer to geometry properties.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomRows.man b/libX11/man/xkb/XkbAllocGeomRows.man index d126369cd..e0d5ebaa3 100644 --- a/libX11/man/xkb/XkbAllocGeomRows.man +++ b/libX11/man/xkb/XkbAllocGeomRows.man @@ -1,68 +1,68 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomRows \- Allocate rows in a section -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomRows -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section for which rows should be allocated -.TP -.I \- num_needed -number of new rows required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomRows -allocates -.I num_needed -rows and adds them to the -.I section. -No initialization of the rows is done. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomRows \- Allocate rows in a section
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomRows
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which rows should be allocated
+.TP
+.I \- num_needed
+number of new rows required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomRows
+allocates
+.I num_needed
+rows and adds them to the
+.I section.
+No initialization of the rows is done.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbAllocGeomSectionDoodads.man b/libX11/man/xkb/XkbAllocGeomSectionDoodads.man index 944f00ef9..5b10649f8 100644 --- a/libX11/man/xkb/XkbAllocGeomSectionDoodads.man +++ b/libX11/man/xkb/XkbAllocGeomSectionDoodads.man @@ -1,74 +1,74 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomSectionDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomSectionDoodads \- Allocate doodads that are specific to a section -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomSectionDoodads -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section for which doodads should be allocated -.TP -.I \- num_needed -number of new doodads required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomSectionDoodads -allocates -.I num_needed -doodads and adds them to the specified -.I section. -No initialization of the doodads is done. - -To free geometry doodads, use -.I XkbFreeGeomDoodads. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomDoodads (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomSectionDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomSectionDoodads \- Allocate doodads that are specific to a section
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomSectionDoodads
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section for which doodads should be allocated
+.TP
+.I \- num_needed
+number of new doodads required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomSectionDoodads
+allocates
+.I num_needed
+doodads and adds them to the specified
+.I section.
+No initialization of the doodads is done.
+
+To free geometry doodads, use
+.I XkbFreeGeomDoodads.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomDoodads (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomSections.man b/libX11/man/xkb/XkbAllocGeomSections.man index c1f99dd1f..eb093cc50 100644 --- a/libX11/man/xkb/XkbAllocGeomSections.man +++ b/libX11/man/xkb/XkbAllocGeomSections.man @@ -1,73 +1,73 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomSections \- Allocate geometry sections -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomSections -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry for which sections should be allocated -.TP -.I \- num_needed -number of new sections required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomSections -allocates -.I num_needed -sections and adds them to the geometry -.I geom. -No initialization of the sections is done. - -To free geometry sections, use -.I XkbFreeGeomSections. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomSections (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomSections \- Allocate geometry sections
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomSections
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which sections should be allocated
+.TP
+.I \- num_needed
+number of new sections required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomSections
+allocates
+.I num_needed
+sections and adds them to the geometry
+.I geom.
+No initialization of the sections is done.
+
+To free geometry sections, use
+.I XkbFreeGeomSections.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomSections (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocGeomShapes.man b/libX11/man/xkb/XkbAllocGeomShapes.man index 82d9d42ac..54a24dce5 100644 --- a/libX11/man/xkb/XkbAllocGeomShapes.man +++ b/libX11/man/xkb/XkbAllocGeomShapes.man @@ -1,74 +1,74 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeomShapes \- Allocate space for an arbitrary number of geometry shapes -.SH SYNOPSIS -.HP -.B Status XkbAllocGeomShapes -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "num_needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry for which shapes should be allocated -.TP -.I \- num_needed -number of new shapes required -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeomShapes -allocates space for -.I num_needed -shapes in the specified geometry -.I geom. -The shapes are not initialized. - -To free geometry shapes, use -.I XkbFreeGeomShapes. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeGeomShapes (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeomShapes \- Allocate space for an arbitrary number of geometry shapes
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeomShapes
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "num_needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry for which shapes should be allocated
+.TP
+.I \- num_needed
+number of new shapes required
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeomShapes
+allocates space for
+.I num_needed
+shapes in the specified geometry
+.I geom.
+The shapes are not initialized.
+
+To free geometry shapes, use
+.I XkbFreeGeomShapes.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeGeomShapes (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAllocGeometry.man b/libX11/man/xkb/XkbAllocGeometry.man index 3fd12844a..3d36a6cb9 100644 --- a/libX11/man/xkb/XkbAllocGeometry.man +++ b/libX11/man/xkb/XkbAllocGeometry.man @@ -1,85 +1,85 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocGeometry \- Allocate an entire geometry -.SH SYNOPSIS -.HP -.B Status XkbAllocGeometry -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "XkbGeometrySizesPtr " "sizes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description for which geometry is to be allocated -.TP -.I \- sizes -initial sizes for all geometry components -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -.I XkbAllocGeometry -allocates a keyboard geometry and adds it to the keyboard description specified -by -.I xkb. -The keyboard description should be obtained via the -.I XkbGetKeyboard -or -.I XkbAllocKeyboard -functions. The -.I sizes -parameter specifies the number of elements to be reserved for the subcomponents -of the keyboard geometry and can be zero or more. These subcomponents include -the -.I properties, colors, shapes, sections, and doodads. - -To free an entire geometry, use -.I XkbFreeGeometry. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbAllocKeyboard (__libmansuffix__), -.BR XkbFreeGeometry (__libmansuffix__), -.BR XkbGetKeyboard (__libmansuffix__) - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocGeometry \- Allocate an entire geometry
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocGeometry
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "XkbGeometrySizesPtr " "sizes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which geometry is to be allocated
+.TP
+.I \- sizes
+initial sizes for all geometry components
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+.I XkbAllocGeometry
+allocates a keyboard geometry and adds it to the keyboard description specified
+by
+.I xkb.
+The keyboard description should be obtained via the
+.I XkbGetKeyboard
+or
+.I XkbAllocKeyboard
+functions. The
+.I sizes
+parameter specifies the number of elements to be reserved for the subcomponents
+of the keyboard geometry and can be zero or more. These subcomponents include
+the
+.I properties, colors, shapes, sections, and doodads.
+
+To free an entire geometry, use
+.I XkbFreeGeometry.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocKeyboard (__libmansuffix__),
+.BR XkbFreeGeometry (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbAllocIndicatorMaps.man b/libX11/man/xkb/XkbAllocIndicatorMaps.man index 35160d994..d2bbf9fae 100644 --- a/libX11/man/xkb/XkbAllocIndicatorMaps.man +++ b/libX11/man/xkb/XkbAllocIndicatorMaps.man @@ -1,65 +1,65 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocIndicatorMaps \- Allocates, directly, the -.I indicators -member of the keyboard description record -.SH SYNOPSIS -.HP -.B Status XkbAllocIndicatorMaps -.BI "(\^variable_type *" "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description structure -.SH DESCRIPTION -.LP -The -.I xkb -parameter must point to a valid keyboard description. If it doesn't, -.I XkbAllocIndicatorMaps -returns a BadMatch error. Otherwise, -.I XkbAllocIndicatorMaps -allocates and initializes the -.I indicators -member of the keyboard description record and returns Success. If -.I XkbAllocIndicatorMaps -was unable to allocate the indicators record, it reports a BadAlloc error. -.SH RETURN VALUES" -.TP 15 -Success -The -.I XkbAllocIndicatorMaps -function returns Success if it is successful in allocating and initializing the -.I indicators -member of the keyboard description record. -.SH DIAGNOSTICS -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadAlloc -Unable to allocate storage +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocIndicatorMaps \- Allocates, directly, the
+.I indicators
+member of the keyboard description record
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocIndicatorMaps
+.BI "(\^variable_type *" "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description structure
+.SH DESCRIPTION
+.LP
+The
+.I xkb
+parameter must point to a valid keyboard description. If it doesn't,
+.I XkbAllocIndicatorMaps
+returns a BadMatch error. Otherwise,
+.I XkbAllocIndicatorMaps
+allocates and initializes the
+.I indicators
+member of the keyboard description record and returns Success. If
+.I XkbAllocIndicatorMaps
+was unable to allocate the indicators record, it reports a BadAlloc error.
+.SH RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbAllocIndicatorMaps
+function returns Success if it is successful in allocating and initializing the
+.I indicators
+member of the keyboard description record.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbAllocKeyboard.man b/libX11/man/xkb/XkbAllocKeyboard.man index c3a8aea02..273e10ad3 100644 --- a/libX11/man/xkb/XkbAllocKeyboard.man +++ b/libX11/man/xkb/XkbAllocKeyboard.man @@ -1,54 +1,54 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocKeyboard \- Creates a keyboard description from scratch -.SH SYNOPSIS -.HP -.B XkbDescRec XkbAllocKeyboard -.BI "(\^void\^);" -.if n .ti +5n -.if t .ti +.5i -.SH DESCRIPTION -.LP -Applications seldom need to directly allocate a keyboard description; calling -.I XkbGetKeyboard -usually suffices. In the event you need to create a keyboard description from -scratch, however, use -.I XkbAllocKeyboard -rather than directly calling -.I malloc. - -If -.I XkbAllocKeyboard -fails to allocate the keyboard description, it returns NULL. -Otherwise, it returns a pointer to an empty keyboard description structure. The -.I device_spec -field will have been initialized to XkbUseCoreKbd. You may then -either fill in the structure components or use Xkb functions to obtain values -for the structure components from a keyboard device. -.SH "SEE ALSO" -.BR malloc (3F), -.BR XkbUseCoreKbd (__libmansuffix__), -.BR XkbGetKeyboard (__libmansuffix__) - - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocKeyboard \- Creates a keyboard description from scratch
+.SH SYNOPSIS
+.HP
+.B XkbDescRec XkbAllocKeyboard
+.BI "(\^void\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH DESCRIPTION
+.LP
+Applications seldom need to directly allocate a keyboard description; calling
+.I XkbGetKeyboard
+usually suffices. In the event you need to create a keyboard description from
+scratch, however, use
+.I XkbAllocKeyboard
+rather than directly calling
+.I malloc.
+
+If
+.I XkbAllocKeyboard
+fails to allocate the keyboard description, it returns NULL.
+Otherwise, it returns a pointer to an empty keyboard description structure. The
+.I device_spec
+field will have been initialized to XkbUseCoreKbd. You may then
+either fill in the structure components or use Xkb functions to obtain values
+for the structure components from a keyboard device.
+.SH "SEE ALSO"
+.BR malloc (3F),
+.BR XkbUseCoreKbd (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__)
+
+
diff --git a/libX11/man/xkb/XkbAllocNames.man b/libX11/man/xkb/XkbAllocNames.man index 9084713ed..f6286e7d4 100644 --- a/libX11/man/xkb/XkbAllocNames.man +++ b/libX11/man/xkb/XkbAllocNames.man @@ -1,116 +1,116 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocNames \- Allocate symbolic names structures -.SH SYNOPSIS -.HP -.B Status XkbAllocNames -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "int " "num_rg" "\^," -.BI "int " "num_key_aliases" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description for which names are to be allocated -.TP -.I \- which -mask of names to be allocated -.TP -.I \- num_rg -total number of radio group names needed -.TP -.I \- num_key_aliases -total number of key aliases needed -.SH DESCRIPTION -.LP -Most applications do not need to directly allocate symbolic names structures. Do -not allocate a names structure directly using -.I malloc -or -.I Xmalloc -if your application changes the number of key aliases or radio groups or -constructs a symbolic names structure without loading the necessary components -from the X server. Instead use -.I XkbAllocNames. - -.I XkbAllocNames -can return BadAlloc, BadMatch, and BadValue errors. The -.I which -parameter is the bitwise inclusive OR of the valid names mask bits defined in -Table 1. - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE - -Do not free symbolic names structures directly using -.I free -or -.I XFree. -Use -.I XkbFreeNames -instead. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocNames \- Allocate symbolic names structures
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocNames
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "int " "num_rg" "\^,"
+.BI "int " "num_key_aliases" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which names are to be allocated
+.TP
+.I \- which
+mask of names to be allocated
+.TP
+.I \- num_rg
+total number of radio group names needed
+.TP
+.I \- num_key_aliases
+total number of key aliases needed
+.SH DESCRIPTION
+.LP
+Most applications do not need to directly allocate symbolic names structures. Do
+not allocate a names structure directly using
+.I malloc
+or
+.I Xmalloc
+if your application changes the number of key aliases or radio groups or
+constructs a symbolic names structure without loading the necessary components
+from the X server. Instead use
+.I XkbAllocNames.
+
+.I XkbAllocNames
+can return BadAlloc, BadMatch, and BadValue errors. The
+.I which
+parameter is the bitwise inclusive OR of the valid names mask bits defined in
+Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+Do not free symbolic names structures directly using
+.I free
+or
+.I XFree.
+Use
+.I XkbFreeNames
+instead.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbAllocServerMap.man b/libX11/man/xkb/XkbAllocServerMap.man index 85d96ece4..ca8104cd3 100644 --- a/libX11/man/xkb/XkbAllocServerMap.man +++ b/libX11/man/xkb/XkbAllocServerMap.man @@ -1,121 +1,121 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbAllocServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbAllocServerMap \- Allocate and initialize an empty server map description record -.SH SYNOPSIS -.HP -.B Status XkbAllocServerMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "count_acts" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description in which to allocate server map -.TP -.I \- which -mask selecting map components to allocate -.TP -.I \- count_acts -value of num_acts field in map to be allocated -.SH DESCRIPTION -.LP -.I XkbAllocServerMap -allocates and initializes an empty server map in the -.I server -field of the keyboard description specified by -.I xkb. -The -.I which -parameter specifies the particular components of the server map structure to allocate, as specified in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 XkbAllocServerMap Masks -_ -Mask Effect -_ -XkbExplicitComponentsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the explicit field of the server map. -T} -.sp -XkbKeyActionsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to allocate the key_acts field of the server map. The count_acts parameter is used to allocate the acts field of the server map. -T} -.sp -XkbKeyBehaviorsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to allocate the behaviors field of the server map. -T} -.sp -XkbVirtualModMapMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to allocate the vmodmap field of the server map. -T} - -.TE - -If the server map of the keyboard description is not NULL and any fields are already allocated in the server map, -.I XkbAllocServerMap -does not overwrite the existing values. The only exception is with the -.I acts -array. If the -.I count_acts -parameter is greater than the current -.I num_acts -field of the server map, -.I XkbAllocServerMap -resizes the -.I acts -array and resets the -.I num_acts -field accordingly. - -If -.I XkbAllocServerMap -is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range -.SH NOTES -.LP -The -.I min_key_code -and -.I max_key_code -fields of the -.I xkb -parameter must be legal values. If they are not valid, -.I XkbAllocServerMap -returns BadValue. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbAllocServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbAllocServerMap \- Allocate and initialize an empty server map description record
+.SH SYNOPSIS
+.HP
+.B Status XkbAllocServerMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "count_acts" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to allocate server map
+.TP
+.I \- which
+mask selecting map components to allocate
+.TP
+.I \- count_acts
+value of num_acts field in map to be allocated
+.SH DESCRIPTION
+.LP
+.I XkbAllocServerMap
+allocates and initializes an empty server map in the
+.I server
+field of the keyboard description specified by
+.I xkb.
+The
+.I which
+parameter specifies the particular components of the server map structure to allocate, as specified in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocServerMap Masks
+_
+Mask Effect
+_
+XkbExplicitComponentsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the explicit field of the server map.
+T}
+.sp
+XkbKeyActionsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the key_acts field of the server map. The count_acts parameter is used to allocate the acts field of the server map.
+T}
+.sp
+XkbKeyBehaviorsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the behaviors field of the server map.
+T}
+.sp
+XkbVirtualModMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to allocate the vmodmap field of the server map.
+T}
+
+.TE
+
+If the server map of the keyboard description is not NULL and any fields are already allocated in the server map,
+.I XkbAllocServerMap
+does not overwrite the existing values. The only exception is with the
+.I acts
+array. If the
+.I count_acts
+parameter is greater than the current
+.I num_acts
+field of the server map,
+.I XkbAllocServerMap
+resizes the
+.I acts
+array and resets the
+.I num_acts
+field accordingly.
+
+If
+.I XkbAllocServerMap
+is successful, it returns Success. Otherwise, it can return either BadMatch or BadAlloc errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH NOTES
+.LP
+The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values. If they are not valid,
+.I XkbAllocServerMap
+returns BadValue.
diff --git a/libX11/man/xkb/XkbApplyCompatMapToKey.man b/libX11/man/xkb/XkbApplyCompatMapToKey.man index 288213f6d..c1a414661 100644 --- a/libX11/man/xkb/XkbApplyCompatMapToKey.man +++ b/libX11/man/xkb/XkbApplyCompatMapToKey.man @@ -1,362 +1,362 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbApplyCompatMapToKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual -key to get its semantics updated -.SH SYNOPSIS -.HP -.B Bool XkbApplyCompatMapToKey -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "key" "\^," -.BI "XkbChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to be updated -.TP -.I \- key -key to be updated -.TP -.I \- changes -notes changes to the Xkb keyboard description -.SH DESCRIPTION -.LP -.I XkbApplyCompatMapToKey -essentially performs the operation described in Core Keyboard Mapping to Xkb -Keyboard Mapping Transformation to a specific key. This updates the behavior, -actions, repeat status, and virtual modifier bindings of the key. - -.B Core Keyboard Mapping to Xkb Keyboard Mapping Transformation - -When a core protocol keyboard mapping request is received by the server, the -server's core keyboard map is updated, and then the Xkb map maintained by the -server is updated. Because a client may have explicitly configured some of the -Xkb keyboard mapping in the server, this automatic regeneration of the Xkb -keyboard mapping from the core protocol keyboard mapping should not modify any -components of the Xkb keyboard mapping that were explicitly set by a client. The -client must set explicit override controls to prevent this from happening (see -Explicit Components-Avoiding Automatic Remapping by the Server). The core-to-Xkb -mapping is done as follows: - -.B Explicit Components-Avoiding Automatic Remapping by the Server - -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. - -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 -.I 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. - -.TS -c s s -l l l -l l lw(3i). -Table 1 Explicit Component Masks -_ -Bit in Explicit Mask Value Protects Against -_ -ExplicitKeyType1 (1<<0) T{ -Automatic determination of the key type associated with Group1. -T} -ExplicitKeyType2 (1<<1) T{ -Automatic determination of the key type associated with Group2. -T} -ExplicitKeyType3 (1<<2) T{ -Automatic determination of the key type associated with Group3. -T} -ExplicitKeyType4 (1<<3) T{ -Automatic determination of the key type associated with Group4. -T} -ExplicitInterpret (1<<4) T{ -Application of any of the fields of a symbol interpretation to the key in -question. -T} -ExplicitAutoRepeat (1<<5) T{ -Automatic determination of auto-repeat status for the key, as specified in a -symbol interpretation. -T} -ExplicitBehavior (1<<6) T{ -Automatic assignment of the XkbKB_Lock behavior to the key, if the -XkbSI_LockingKey flag is set in a symbol interpretation. -T} -ExplicitVModMap (1<<7) T{ -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. -T} -.TE -.TP 4 -1. -Map the symbols from the keys in the core keyboard map to groups and symbols on -keys in the Xkb keyboard map. The core keyboard mapping is of fixed width, so -each key in the core mapping has the same number of symbols associated with it. -The Xkb mapping allows a different number of symbols to be associated with each -key; those symbols may be divided into a different number of groups (1-4) for -each key. For each key, this process therefore involves partitioning the fixed -number of symbols from the core mapping into a set of variable-length groups -with a variable number of symbols in each group. For example, if the core -protocol map is of width five, the partition for one key might result in one -group with two symbols and another with three symbols. A different key might -result in two groups with two symbols plus a third group with one symbol. The -core protocol map requires at least two symbols in each of the first two groups. -.TP 4 -1a. -For each changed key, determine the number of groups represented in the new core -keyboard map. This results in a tentative group count for each key in the Xkb -map. -.TP 4 -1b. -For each changed key, determine the number of symbols in each of the groups -found in step 1a. There is one explicit override control associated with each of -the four possible groups for each Xkb key, ExplicitKeyType1 through -ExplicitKeyType4. If no explicit override control is set for a group, the number -of symbols used for that group from the core map is two. If the explicit -override control is set for a group on the key, the number of symbols used for -that Xkb group from the core map is the width of the Xkb group with one -exception: because of the core protocol requirement for at least two symbols in -each of groups one and two, the number of symbols used for groups one and two is -the maximum of 2 or the width of the Xkb group. -.TP 4 -1c. -For each changed key, assign the symbols in the core map to the appropriate -group on the key. If the total number of symbols required by the Xkb map for a -particular key needs more symbols than the core protocol map contains, the -additional symbols are taken to be NoSymbol keysyms appended to the end of the -core set. If the core map contains more symbols than are needed by the Xkb map, -trailing symbols in the core map are discarded. In the absence of an explicit -override for group one or two, symbols are assigned in order by group; the first -symbols in the core map are assigned to group one, in order, followed by group -two, and so on. For example, if the core map contained eight symbols per key, -and a particular Xkb map contained 2 symbols for G1 and G2 and three for G3, the -symbols would be assigned as (G is group, L is shift level): -.nf - - G1L1 G1L2 G2L1 G2L2 G3L1 G3L2 G3L3 - -.fi -If an explicit override control is set for group one or two, the symbols are -taken from the core set in a somewhat different order. The first four symbols -from the core set are assigned to G1L1, G1L2, G2L1, G2L2, respectively. If group -one requires more symbols, they are taken next, and then any additional symbols -needed by group two. Group three and four symbols are taken in complete sequence -after group two. For example, a key with four groups and three symbols in each -group would take symbols from the core set in the following order: -.nf - - G1L1 G1L2 G2L1 G2L2 G1L3 G2L3 G3L1 G3L2 G3L3 G4L1 G4L2 G4L3 - -.fi -As previously noted, the core protocol map requires at lease two symbols in -groups one and two. Because of this, if an explicit override control for an Xkb -key is set and group one and / or group two is of width one, it is not possible -to generate the symbols taken from the core protocol set and assigned to -position G1L2 and / or G2L2. -.TP 4 -1d. -For each group on each changed key, assign a key type appropriate for the -symbols in the group. -.TP 4 -1e. -For each changed key, remove any empty or redundant groups. - -At this point, the groups and their associated symbols have been assigned to the -corresponding key definitions in the Xkb map. -.TP 4 -2. -Apply symbol interpretations to modify key operation. This phase is completely -skipped if the ExplicitInterpret override control bit is set in the explicit -controls mask for the Xkb key (see Explicit Components-Avoiding Automatic -Remapping by the Server). -.TP 4 -2a. -For each symbol on each changed key, attempt to match the symbol and modifiers -from the Xkb map to a symbol interpretation describing how to generate the -symbol. -.TP 4 -2b. -When a match is found in step 2a, apply the symbol interpretation to change the -semantics associated with the symbol in the Xkb key map. If no match is found, -apply a default interpretation. -.LP -The symbol interpretations used in step 2 are configurable and may be specified -using XkbSymInterpretRec structures referenced by the sym_interpret field of an -XkbCompatMapRec. - -.B Symbol Interpretations - the XkbSymInterpretRec Structure - -Symbol interpretations are used to guide the X server when it modifies the Xkb -keymap in step 2. An initial set of symbol interpretations is loaded by the -server when it starts. A client may add new ones using XkbSetCompatMap. - -Symbol interpretations result in key semantics being set. When a symbol -interpretation is applied, the following components of server key event -processing may be modified for the particular key involved: -.nf - - Virtual modifier map - Auto repeat - Key behavior (may be set to XkbKB_Lock) - Key action - -.fi -The XkbSymInterpretRec structure specifies a symbol interpretation: -.nf - -typedef struct { - KeySym sym; /\(** keysym of interest or NULL */ - unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */ - unsigned char match; /\(** specifies how mods is interpreted */ - unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */ - unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */ - XkbAnyAction act; /\(** action to bind to symbol position on key */ -} XkbSymInterpretRec,*XkbSymInterpretPtr; - -.fi -If sym is not NULL, it limits the symbol interpretation to keys on which that -particular keysym is selected by the modifiers matching the criteria specified -by -.I mods -and -.I match. -If -.I sym -is NULL, the interpretation may be applied to any symbol selected on a key when -the modifiers match the criteria specified by -.I mods -and -.I match. - -.I match -must be one of the values shown in Table 2 and specifies how the real modifiers -specified in -.I mods -are to be interpreted. - -.TS -c s s -l l l -l l lw(3i). -Table 2 Symbol Interpretation Match Criteria -_ -Match Criteria Value Effect -_ -XkbSI_NoneOf (0) T{ -None of the bits that are on in mods can be set, but other bits can be. -T} -XkbSI_AnyOfOrNone (1) T{ -Zero or more of the bits that are on in mods can be set, as well as others. -T} -XkbSI_AnyOf (2) T{ -One or more of the bits that are on in mods can be set, as well as any others. -T} -XkbSI_AllOf (3) T{ -All of the bits that are on in mods must be set, but others may be set as well. -T} -XkbSI_Exactly (4) T{ -All of the bits that are on in mods must be set, and no other bits may be set. -T} -.TE - -In addition to the above bits, -.I match -may contain the XkbSI_LevelOneOnly bit, in which case the modifier match -criteria specified by -.I mods -and -.I match -applies only if -.I sym -is in level one of its group; otherwise, -.I mods -and -.I match -are ignored and the symbol matches a condition where no modifiers are set. -.nf - -\&#define XkbSI_LevelOneOnly (0x80) /\(** use mods + match only if sym is level 1 */ - -.fi -If no matching symbol interpretation is found, the server uses a default -interpretation where: -.nf - - sym = 0 - flags = XkbSI_AutoRepeat - match = XkbSI_AnyOfOrNone - mods = 0 - virtual_mod = XkbNoModifier - act = SA_NoAction - -.fi -When a matching symbol interpretation is found in step 2a, the interpretation is -applied to modify the Xkb map as follows. - -The -.I act -field specifies a single action to be bound to the symbol position; any key event that selects the symbol -causes the action to be taken. Valid actions are defined in Key Actions. - -If the Xkb keyboard map for the key does not have its ExplicitVModMap control set, the XkbSI_LevelOneOnly bit -and symbol position are examined. If the XkbSI_LevelOneOnly bit is not set in -.I match -or the symbol is in position G1L1, the -.I virtual_mod -field is examined. If -.I virtual_mod -is not XkbNoModifier, -.I virtual_mod -specifies a single virtual modifier to be added to the virtual modifier map for the key. -.I virtual_mod -is specified as an index in the range [0..15]. - -If the matching symbol is in position G1L1 of the key, two bits in the flags field potentially specify -additional behavior modifications: -.nf - -\&#define XkbSI_AutoRepeat (1<<0) /\(** key repeats if sym is in position G1L1 */ -\&#define XkbSI_LockingKey (1<<1) /\(** set KB_Lock behavior if sym is in psn G1L1 */ - -.fi -If the Xkb keyboard map for the key does not have its ExplicitAutoRepeat control set, its auto repeat behavior -is set based on the value of the XkbSI_AutoRepeat bit. If the XkbSI_AutoRepeat bit is set, the auto-repeat -behavior of the key is turned on; otherwise, it is turned off. - -If the Xkb keyboard map for the key does not have its ExplicitBehavior control set, its locking behavior is -set based on the value of the XkbSI_LockingKey bit. If XkbSI_LockingKey is set, the key behavior is set to -KB_Lock; otherwise, it is turned off. -.SH "SEE ALSO" -.BR XkbKeyAction (__libmansuffix__), -.BR XkbKeyActionEntry (__libmansuffix__), -.BR XkbKeyActionsPtr (__libmansuffix__), -.BR XkbKeyHasActions (__libmansuffix__), -.BR XkbKeyNumActions (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbApplyCompatMapToKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbApplyCompatMapToKey \- Apply the new compatibility mapping to an individual
+key to get its semantics updated
+.SH SYNOPSIS
+.HP
+.B Bool XkbApplyCompatMapToKey
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "key" "\^,"
+.BI "XkbChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be updated
+.TP
+.I \- key
+key to be updated
+.TP
+.I \- changes
+notes changes to the Xkb keyboard description
+.SH DESCRIPTION
+.LP
+.I XkbApplyCompatMapToKey
+essentially performs the operation described in Core Keyboard Mapping to Xkb
+Keyboard Mapping Transformation to a specific key. This updates the behavior,
+actions, repeat status, and virtual modifier bindings of the key.
+
+.B Core Keyboard Mapping to Xkb Keyboard Mapping Transformation
+
+When a core protocol keyboard mapping request is received by the server, the
+server's core keyboard map is updated, and then the Xkb map maintained by the
+server is updated. Because a client may have explicitly configured some of the
+Xkb keyboard mapping in the server, this automatic regeneration of the Xkb
+keyboard mapping from the core protocol keyboard mapping should not modify any
+components of the Xkb keyboard mapping that were explicitly set by a client. The
+client must set explicit override controls to prevent this from happening (see
+Explicit Components-Avoiding Automatic Remapping by the Server). The core-to-Xkb
+mapping is done as follows:
+
+.B Explicit Components-Avoiding Automatic Remapping by the Server
+
+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.
+
+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
+.I 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.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Explicit Component Masks
+_
+Bit in Explicit Mask Value Protects Against
+_
+ExplicitKeyType1 (1<<0) T{
+Automatic determination of the key type associated with Group1.
+T}
+ExplicitKeyType2 (1<<1) T{
+Automatic determination of the key type associated with Group2.
+T}
+ExplicitKeyType3 (1<<2) T{
+Automatic determination of the key type associated with Group3.
+T}
+ExplicitKeyType4 (1<<3) T{
+Automatic determination of the key type associated with Group4.
+T}
+ExplicitInterpret (1<<4) T{
+Application of any of the fields of a symbol interpretation to the key in
+question.
+T}
+ExplicitAutoRepeat (1<<5) T{
+Automatic determination of auto-repeat status for the key, as specified in a
+symbol interpretation.
+T}
+ExplicitBehavior (1<<6) T{
+Automatic assignment of the XkbKB_Lock behavior to the key, if the
+XkbSI_LockingKey flag is set in a symbol interpretation.
+T}
+ExplicitVModMap (1<<7) T{
+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.
+T}
+.TE
+.TP 4
+1.
+Map the symbols from the keys in the core keyboard map to groups and symbols on
+keys in the Xkb keyboard map. The core keyboard mapping is of fixed width, so
+each key in the core mapping has the same number of symbols associated with it.
+The Xkb mapping allows a different number of symbols to be associated with each
+key; those symbols may be divided into a different number of groups (1-4) for
+each key. For each key, this process therefore involves partitioning the fixed
+number of symbols from the core mapping into a set of variable-length groups
+with a variable number of symbols in each group. For example, if the core
+protocol map is of width five, the partition for one key might result in one
+group with two symbols and another with three symbols. A different key might
+result in two groups with two symbols plus a third group with one symbol. The
+core protocol map requires at least two symbols in each of the first two groups.
+.TP 4
+1a.
+For each changed key, determine the number of groups represented in the new core
+keyboard map. This results in a tentative group count for each key in the Xkb
+map.
+.TP 4
+1b.
+For each changed key, determine the number of symbols in each of the groups
+found in step 1a. There is one explicit override control associated with each of
+the four possible groups for each Xkb key, ExplicitKeyType1 through
+ExplicitKeyType4. If no explicit override control is set for a group, the number
+of symbols used for that group from the core map is two. If the explicit
+override control is set for a group on the key, the number of symbols used for
+that Xkb group from the core map is the width of the Xkb group with one
+exception: because of the core protocol requirement for at least two symbols in
+each of groups one and two, the number of symbols used for groups one and two is
+the maximum of 2 or the width of the Xkb group.
+.TP 4
+1c.
+For each changed key, assign the symbols in the core map to the appropriate
+group on the key. If the total number of symbols required by the Xkb map for a
+particular key needs more symbols than the core protocol map contains, the
+additional symbols are taken to be NoSymbol keysyms appended to the end of the
+core set. If the core map contains more symbols than are needed by the Xkb map,
+trailing symbols in the core map are discarded. In the absence of an explicit
+override for group one or two, symbols are assigned in order by group; the first
+symbols in the core map are assigned to group one, in order, followed by group
+two, and so on. For example, if the core map contained eight symbols per key,
+and a particular Xkb map contained 2 symbols for G1 and G2 and three for G3, the
+symbols would be assigned as (G is group, L is shift level):
+.nf
+
+ G1L1 G1L2 G2L1 G2L2 G3L1 G3L2 G3L3
+
+.fi
+If an explicit override control is set for group one or two, the symbols are
+taken from the core set in a somewhat different order. The first four symbols
+from the core set are assigned to G1L1, G1L2, G2L1, G2L2, respectively. If group
+one requires more symbols, they are taken next, and then any additional symbols
+needed by group two. Group three and four symbols are taken in complete sequence
+after group two. For example, a key with four groups and three symbols in each
+group would take symbols from the core set in the following order:
+.nf
+
+ G1L1 G1L2 G2L1 G2L2 G1L3 G2L3 G3L1 G3L2 G3L3 G4L1 G4L2 G4L3
+
+.fi
+As previously noted, the core protocol map requires at lease two symbols in
+groups one and two. Because of this, if an explicit override control for an Xkb
+key is set and group one and / or group two is of width one, it is not possible
+to generate the symbols taken from the core protocol set and assigned to
+position G1L2 and / or G2L2.
+.TP 4
+1d.
+For each group on each changed key, assign a key type appropriate for the
+symbols in the group.
+.TP 4
+1e.
+For each changed key, remove any empty or redundant groups.
+
+At this point, the groups and their associated symbols have been assigned to the
+corresponding key definitions in the Xkb map.
+.TP 4
+2.
+Apply symbol interpretations to modify key operation. This phase is completely
+skipped if the ExplicitInterpret override control bit is set in the explicit
+controls mask for the Xkb key (see Explicit Components-Avoiding Automatic
+Remapping by the Server).
+.TP 4
+2a.
+For each symbol on each changed key, attempt to match the symbol and modifiers
+from the Xkb map to a symbol interpretation describing how to generate the
+symbol.
+.TP 4
+2b.
+When a match is found in step 2a, apply the symbol interpretation to change the
+semantics associated with the symbol in the Xkb key map. If no match is found,
+apply a default interpretation.
+.LP
+The symbol interpretations used in step 2 are configurable and may be specified
+using XkbSymInterpretRec structures referenced by the sym_interpret field of an
+XkbCompatMapRec.
+
+.B Symbol Interpretations - the XkbSymInterpretRec Structure
+
+Symbol interpretations are used to guide the X server when it modifies the Xkb
+keymap in step 2. An initial set of symbol interpretations is loaded by the
+server when it starts. A client may add new ones using XkbSetCompatMap.
+
+Symbol interpretations result in key semantics being set. When a symbol
+interpretation is applied, the following components of server key event
+processing may be modified for the particular key involved:
+.nf
+
+ Virtual modifier map
+ Auto repeat
+ Key behavior (may be set to XkbKB_Lock)
+ Key action
+
+.fi
+The XkbSymInterpretRec structure specifies a symbol interpretation:
+.nf
+
+typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+} XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+If sym is not NULL, it limits the symbol interpretation to keys on which that
+particular keysym is selected by the modifiers matching the criteria specified
+by
+.I mods
+and
+.I match.
+If
+.I sym
+is NULL, the interpretation may be applied to any symbol selected on a key when
+the modifiers match the criteria specified by
+.I mods
+and
+.I match.
+
+.I match
+must be one of the values shown in Table 2 and specifies how the real modifiers
+specified in
+.I mods
+are to be interpreted.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 Symbol Interpretation Match Criteria
+_
+Match Criteria Value Effect
+_
+XkbSI_NoneOf (0) T{
+None of the bits that are on in mods can be set, but other bits can be.
+T}
+XkbSI_AnyOfOrNone (1) T{
+Zero or more of the bits that are on in mods can be set, as well as others.
+T}
+XkbSI_AnyOf (2) T{
+One or more of the bits that are on in mods can be set, as well as any others.
+T}
+XkbSI_AllOf (3) T{
+All of the bits that are on in mods must be set, but others may be set as well.
+T}
+XkbSI_Exactly (4) T{
+All of the bits that are on in mods must be set, and no other bits may be set.
+T}
+.TE
+
+In addition to the above bits,
+.I match
+may contain the XkbSI_LevelOneOnly bit, in which case the modifier match
+criteria specified by
+.I mods
+and
+.I match
+applies only if
+.I sym
+is in level one of its group; otherwise,
+.I mods
+and
+.I match
+are ignored and the symbol matches a condition where no modifiers are set.
+.nf
+
+\&#define XkbSI_LevelOneOnly (0x80) /\(** use mods + match only if sym is level 1 */
+
+.fi
+If no matching symbol interpretation is found, the server uses a default
+interpretation where:
+.nf
+
+ sym = 0
+ flags = XkbSI_AutoRepeat
+ match = XkbSI_AnyOfOrNone
+ mods = 0
+ virtual_mod = XkbNoModifier
+ act = SA_NoAction
+
+.fi
+When a matching symbol interpretation is found in step 2a, the interpretation is
+applied to modify the Xkb map as follows.
+
+The
+.I act
+field specifies a single action to be bound to the symbol position; any key event that selects the symbol
+causes the action to be taken. Valid actions are defined in Key Actions.
+
+If the Xkb keyboard map for the key does not have its ExplicitVModMap control set, the XkbSI_LevelOneOnly bit
+and symbol position are examined. If the XkbSI_LevelOneOnly bit is not set in
+.I match
+or the symbol is in position G1L1, the
+.I virtual_mod
+field is examined. If
+.I virtual_mod
+is not XkbNoModifier,
+.I virtual_mod
+specifies a single virtual modifier to be added to the virtual modifier map for the key.
+.I virtual_mod
+is specified as an index in the range [0..15].
+
+If the matching symbol is in position G1L1 of the key, two bits in the flags field potentially specify
+additional behavior modifications:
+.nf
+
+\&#define XkbSI_AutoRepeat (1<<0) /\(** key repeats if sym is in position G1L1 */
+\&#define XkbSI_LockingKey (1<<1) /\(** set KB_Lock behavior if sym is in psn G1L1 */
+
+.fi
+If the Xkb keyboard map for the key does not have its ExplicitAutoRepeat control set, its auto repeat behavior
+is set based on the value of the XkbSI_AutoRepeat bit. If the XkbSI_AutoRepeat bit is set, the auto-repeat
+behavior of the key is turned on; otherwise, it is turned off.
+
+If the Xkb keyboard map for the key does not have its ExplicitBehavior control set, its locking behavior is
+set based on the value of the XkbSI_LockingKey bit. If XkbSI_LockingKey is set, the key behavior is set to
+KB_Lock; otherwise, it is turned off.
+.SH "SEE ALSO"
+.BR XkbKeyAction (__libmansuffix__),
+.BR XkbKeyActionEntry (__libmansuffix__),
+.BR XkbKeyActionsPtr (__libmansuffix__),
+.BR XkbKeyHasActions (__libmansuffix__),
+.BR XkbKeyNumActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbBell.man b/libX11/man/xkb/XkbBell.man index a8db1d97b..6e0c6e8a9 100644 --- a/libX11/man/xkb/XkbBell.man +++ b/libX11/man/xkb/XkbBell.man @@ -1,328 +1,328 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbBell \- Rings the bell on the default keyboard -.SH SYNOPSIS -.HP -.B Bool XkbBell -.BI "(\^Display *" "display" "\^," -.BI "Window " "window" "\^," -.BI "int " "percent" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- window -event window, or None -.TP -.I \- percent -relative volume, which can range from -100 to 100 inclusive -.TP -.I \- name -a bell name, or NULL -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell -with a -given duration, pitch, and volume. Xkb extends this capability by allowing -clients to -attach symbolic names to bells, disable audible bells, and receive an event -whenever the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed -to any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id -pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point -of view, -merely a name, and not connected with any physical sound-generating device. Some -client -application must generate the sound, or visual feedback, if any, that is -associated with -the name.) - -.LP -You can also ask to receive XkbBellNotify events when the server rings the -default bell -or if any client has requested events only (without the bell sounding) for any -of the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that -replaces the -keyboard bell with some other audible cue might want to turn off the AudibleBell -control -to prevent the server from also generating a sound and avoid cacophony. If you -disable -audible bells and request to receive XkbBellNotify events, you can generate -feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the -functions that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell -or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed -or -repeating, Xkb can provide feedback for the controls by using special beep -codes. The -AccessXFeedback control is used to configure the specific types of operations -that -generate feedback. - -Bell Names - -You can associate a name to an act of ringing a bell by converting the name to -an Atom -and then using this name when you call the functions listed in this chapter. If -an event -is generated as a result, the name is then passed to all other clients -interested in -receiving XkbBellNotify events. Note that these are arbitrary names and that -there is no -binding to any sounds. Any sounds or other effects (such as visual bells on the -screen) -must be generated by a client application upon receipt of the bell event -containing the -name. There is no default name for the default keyboard bell. The server does -generate -some predefined bells for the AccessX controls. These named bells are shown in -Table 1 below; the name is included in any bell event sent to clients that have -requested to receive XkbBellNotify events. - -.TS -c s -l l -lW(4I) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system -bell. This -is useful if you need to use an audio server instead of the system beep. For -example, -when an audio client starts, it could disable the audible bell (the system bell) -and then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the -audio client -could then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell -event -occurs. This is the default. If you set XkbAudibleBellMask off and a bell event -occurs, -the server does not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell -events. - -The input extension has two types of feedbacks that can generate bells - bell -feedback -and keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one -feedback of -each type; set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent -to be generated when a bell function is called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - -If a compatible keyboard extension isn't present in the X server, -.I XkbBell -calls -.I XBell -with the specified -.I display -and -.I percent, -and returns False. Otherwise, -.I XkbBell -calls -.I XkbDeviceBell -with the specified -.I display, window, percent, -and -.I name, -a -.I device_spec -of XkbUseCoreKbd, a -.I bell_class -of XkbDfltXIClass, and a -.I bell_id -of XkbDfltXIId, and returns True. - -If you have disabled the audible bell, the server does not ring the system bell, -although it does generate a XkbBellNotify event. - -You can call -.I XkbBell -without first initializing the keyboard extension. -.SH "RETURN VALUES" -.TP 15 -FALSE -The XkbBell function returns FALSE if XlibDisplayNoXkb is set. -.SH STRUCTURES -.LP -Xkb generates XkbBellNotify events for all bells except for those resulting from -calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass -XkbBellNotifyMask in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is -not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd -*/ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep -*/ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it -receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. - -.SH "SEE ALSO" -.BR XBell (__libmansuffix__), -.BR XkbBellNotify (__libmansuffix__), -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbDeviceBell (__libmansuffix__), -.BR XkbForceBell (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XkbUseCoreKbd (__libmansuffix__) - - - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbBell \- Rings the bell on the default keyboard
+.SH SYNOPSIS
+.HP
+.B Bool XkbBell
+.BI "(\^Display *" "display" "\^,"
+.BI "Window " "window" "\^,"
+.BI "int " "percent" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- percent
+relative volume, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing
+clients to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed
+to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id
+pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point
+of view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is
+associated with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the
+default bell
+or if any client has requested events only (without the bell sounding) for any
+of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the
+functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed
+or
+repeating, Xkb can provide feedback for the controls by using special beep
+codes. The
+AccessXFeedback control is used to configure the specific types of operations
+that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to
+an Atom
+and then using this name when you call the functions listed in this chapter. If
+an event
+is generated as a result, the name is then passed to all other clients
+interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that
+there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event
+containing the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in
+Table 1 below; the name is included in any bell event sent to clients that have
+requested to receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4I) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{ SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system
+bell. This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell)
+and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
+audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell
+event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
+feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbBell
+calls
+.I XBell
+with the specified
+.I display
+and
+.I percent,
+and returns False. Otherwise,
+.I XkbBell
+calls
+.I XkbDeviceBell
+with the specified
+.I display, window, percent,
+and
+.I name,
+a
+.I device_spec
+of XkbUseCoreKbd, a
+.I bell_class
+of XkbDfltXIClass, and a
+.I bell_id
+of XkbDfltXIId, and returns True.
+
+If you have disabled the audible bell, the server does not ring the system bell,
+although it does generate a XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+FALSE
+The XkbBell function returns FALSE if XlibDisplayNoXkb is set.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is
+not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep
+*/
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (__libmansuffix__),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
+
+
+
+
+
diff --git a/libX11/man/xkb/XkbBellEvent.man b/libX11/man/xkb/XkbBellEvent.man index 6829a9012..172a86403 100644 --- a/libX11/man/xkb/XkbBellEvent.man +++ b/libX11/man/xkb/XkbBellEvent.man @@ -1,325 +1,325 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbBellEvent \- Provides a function that initiates a bell event for the keyboard -without ringing the bell -.SH SYNOPSIS -.HP -.B Bool XkbBellEvent -.BI "(\^Display *" "display" "\^," -.BI "Window " "window" "\^," -.BI "int " "percent" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- window -the event window, or None -.TP -.I \- percent, -relative volume, which can range from -100 to 100 inclusive -.TP -.I \- name -a bell name, or NULL -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell -with a -given duration, pitch, and volume. Xkb extends this capability by allowing -clients to -attach symbolic names to bells, disable audible bells, and receive an event -whenever the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed -to any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id -pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point -of view, -merely a name, and not connected with any physical sound-generating device. Some -client -application must generate the sound, or visual feedback, if any, that is -associated with -the name.) - -You can also ask to receive XkbBellNotify events when the server rings the -default bell -or if any client has requested events only (without the bell sounding) for any -of the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that -replaces the -keyboard bell with some other audible cue might want to turn off the AudibleBell -control -to prevent the server from also generating a sound and avoid cacophony. If you -disable -audible bells and request to receive XkbBellNotify events, you can generate -feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the -functions that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed -or -repeating, Xkb can provide feedback for the controls by using special beep -codes. The -AccessXFeedback control is used to configure the specific types of operations -that -generate feedback. - -Bell Names - -You can associate a name to an act of ringing a bell by converting the name to -an Atom -and then using this name when you call the functions listed in this chapter. If -an event -is generated as a result, the name is then passed to all other clients -interested in -receiving XkbBellNotify events. Note that these are arbitrary names and that -there is no -binding to any sounds. Any sounds or other effects (such as visual bells on the -screen) -must be generated by a client application upon receipt of the bell event -containing the -name. There is no default name for the default keyboard bell. The server does -generate -some predefined bells for the AccessX controls. These named bells are shown in -Table 1; the name is included in any bell event sent to clients that have -requested to -receive XkbBellNotify events. - -.TS -c s -l l -lW(4i) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ -SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system -bell. This -is useful if you need to use an audio server instead of the system beep. For -example, -when an audio client starts, it could disable the audible bell (the system bell) -and then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the -audio client -could then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell -event -occurs. This is the default. If you set XkbAudibleBellMask off and a bell event -occurs, -the server does not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell -events. - -The input extension has two types of feedbacks that can generate bells - bell -feedback -and keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one -feedback of -each type; set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -Table 2 shows the conditions that cause a bell to sound or an -XkbBellNotifyEvent -to be generated when a bell function is called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - -If a compatible keyboard extension isn't present in the X server, -.I XkbBellEvent -immediately returns False. Otherwise, -.I XkbBellEvent -calls -.I XkbDeviceBellEvent -with the specified -.I display, window, percent, -and -.I name, -a -.I device_spec -of XkbUseCoreKbd, a -.I bell_class -of XkbDfltXIClass, and a -.I bell_id -of XkbDfltXIId, and returns what -.I XkbDeviceBellEvent -returns. - -.I XkbBellEvent -generates a XkbBellNotify event. - -You can call -.I XkbBellEvent -without first initializing the keyboard extension. -.SH "RETURN VALUES" -.TP 15 -False -The -.I XkbBellEvent -immediately returns False, if a compatible keyboard extension isn't present in -the X server. -.SH STRUCTURES -Xkb generates XkbBellNotify events for all bells except for those resulting from -calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass -XkbBellNotifyMask in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is -not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd -*/ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep -*/ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it -receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. - -.SH "SEE ALSO" -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbDeviceBellEvent (__libmansuffix__), -.BR XkbForceBell (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbBellEvent \- Provides a function that initiates a bell event for the keyboard
+without ringing the bell
+.SH SYNOPSIS
+.HP
+.B Bool XkbBellEvent
+.BI "(\^Display *" "display" "\^,"
+.BI "Window " "window" "\^,"
+.BI "int " "percent" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+the event window, or None
+.TP
+.I \- percent,
+relative volume, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing
+clients to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed
+to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id
+pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point
+of view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is
+associated with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the
+default bell
+or if any client has requested events only (without the bell sounding) for any
+of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the
+functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed
+or
+repeating, Xkb can provide feedback for the controls by using special beep
+codes. The
+AccessXFeedback control is used to configure the specific types of operations
+that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to
+an Atom
+and then using this name when you call the functions listed in this chapter. If
+an event
+is generated as a result, the name is then passed to all other clients
+interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that
+there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event
+containing the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in
+Table 1; the name is included in any bell event sent to clients that have
+requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system
+bell. This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell)
+and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the
+audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell
+event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one
+feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an
+XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbBellEvent
+immediately returns False. Otherwise,
+.I XkbBellEvent
+calls
+.I XkbDeviceBellEvent
+with the specified
+.I display, window, percent,
+and
+.I name,
+a
+.I device_spec
+of XkbUseCoreKbd, a
+.I bell_class
+of XkbDfltXIClass, and a
+.I bell_id
+of XkbDfltXIId, and returns what
+.I XkbDeviceBellEvent
+returns.
+
+.I XkbBellEvent
+generates a XkbBellNotify event.
+
+You can call
+.I XkbBellEvent
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+False
+The
+.I XkbBellEvent
+immediately returns False, if a compatible keyboard extension isn't present in
+the X server.
+.SH STRUCTURES
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is
+not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep
+*/
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBellEvent (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbChangeControls.man b/libX11/man/xkb/XkbChangeControls.man index 4f09107d1..5aea59489 100644 --- a/libX11/man/xkb/XkbChangeControls.man +++ b/libX11/man/xkb/XkbChangeControls.man @@ -1,322 +1,322 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeControls \- Provides a flexible method for updating the controls in a -server to match those in -the changed keyboard description -.SH SYNOPSIS -.HP -.B Bool XkbChangeControls -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbControlsChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- xkb -keyboard description with changed xkb->ctrls -.TP -.I \- changes -which parts of xkb->ctrls have changed -.SH DESCRIPTION -.LP -The XkbControlsChangesRec structure allows applications to track modifications -to an XkbControlsRec -structure and thereby reduce the amount of traffic sent to the server. The same -XkbControlsChangesRec -structure may be used in several successive modifications to the same -XkbControlsRec structure, then -subsequently used to cause all of the changes, and only the changes, to be -propagated to the server. - -The -.I changed_ctrls -field is a mask specifying which logical sets of data in the controls structure -have been modified. In -this context, modified means -.I set, -that is, if a value is set to the same value it previously contained, it has -still been modified, and is -noted as changed. Valid values for -.I changed_ctrls -are any combination of the masks listed in Table 1 that have "ok" in the -.I changed_ctrls -column. Setting a bit implies the corresponding data fields from the "Relevant -XkbControlsRec Data -Fields" column in Table 1 have been modified. The -.I enabled_ctrls_changes -field specifies which bits in the -.I enabled_ctrls -field have changed. If the number of keyboard groups has changed, the -.I num_groups_changed -field is set to True. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s s -l l l l l -l l l l l -l l l l l -l l l l l -lw(1.5i) lw(1.5i) l lw(1.5i) l. -Table 1 Xkb Controls -_ -Control Control - Selection Relevant - Mask XkbControlsRec Boolean Control - (which parameter) DataFields enabled_ctrls bit Section -_ -T{ -AccessXFeedback -T} T{ -XkbAccessXFeedbackMask -T} ax_options: T{ -XkbAccessXFeedbackMask -T} 10.6.3 - XkbAX_*FBMask -T{ -AccessXKeys -T} T{ -XkbAccessXKeysMask -T} 10.6.1 -T{ -AccessXTimeout -T} T{ -XkbAccessXTimeoutMask -T} ax_timeout T{ -XkbAccessXTimeoutMask -T} 10.6.2 - axt_opts_mask - axt_opts_values - axt_ctrls_mask - axt_ctrls_values -T{ -AudibleBell -T} T{ -XkbAudibleBellMask -T} 9.2 -T{ -AutoReset -T} 10.1.2 -T{ -BounceKeys -T} T{ -XkbBounceKeysMask -T} debounce_delay T{ -XkbBounceKeysMask -T} 10.6.7 -T{ -Detectable- -T} 10.3.3 -T{ -Autorepeat -T} -T{ -EnabledControls -T} T{ -XkbControlsEnabledMask -T} enabled_ctrls T{ -Non-Boolean Control -T} 10.1.1 -T{ -GroupsWrap -T} T{ -XkbGroupsWrapMask -T} groups_wrap T{ -Non-Boolean Control -T} 10.7.1 -T{ -IgnoreGroupLock -T} T{ -XkbIgnoreGroupLockMask -T} 10.7.3 -T{ -IgnoreLockMods -T} T{ -XkbIgnoreLockModsMask -T} ignore_lock T{ -Non-Boolean Control -T} 5.1 -T{ -InternalMods -T} T{ -XkbInternalModsMask -T} internal T{ -Non-Boolean Control -T} 5.1 -T{ -MouseKeys -T} T{ -XkbMouseKeysMask -T} mk_dflt_btn T{ -XkbMouseKeysMask -T} 10.5.1 -T{ -MouseKeysAccel -T} T{ -XkbMouseKeysAccelMask -T} mk_delay T{ -XkbMouseKeysAccelMask -T} 10.5.2 - mk_interval - mk_time_to_max - mk_max_speed - mk_curve -T{ -Overlay1 -T} T{ -XkbOverlay1Mask -T} 10.4 -T{ -Overlay2 -T} T{ -XkbOverlay2Mask -T} 10.4 -T{ -PerKeyRepeat -T} T{ -XkbPerKeyRepeatMask -T} per_key_repeat T{ -Non-Boolean Control -T} 10.3.1 -T{ -RepeatKeys -T} T{ -XkbRepeatKeysMask -T} repeat_delay T{ -XkbRepeatKeysMask -T} 10.3 - repeat_interval -T{ -SlowKeys -T} T{ -XkbSlowKeysMask -T} slow_keys_delay T{ -XkbSlowKeysMask -T} 10.6.6 -T{ -StickyKeys -T} T{ -XkbStickyKeysMask -T} ax_options: T{ -XkbStickyKeysMask -T} 10.6.8 - XkbAX_TwoKeysMask - XkbAX_LatchToLockMask -.TE - -Table 2 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 2 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - - - - -If you have an Xkb description with controls that have been modified and an -XkbControlsChangesRec that -describes the changes that have been made, the -.I XkbChangeControls -function provides a flexible method for updating the controls in a server to -match those in the changed -keyboard description. - -.I XkbChangeControls -copies any controls fields specified by -.I changes -from the keyboard description controls structure, -.I xkb->ctrls, -to the server specified by -.I dpy. -.SH STRUCTURES -.LP -The XkbControlsChangesRec structure is defined as follows: -.nf - -typedef struct _XkbControlsChanges { - unsigned int changed_ctrls; /\(** bits indicating changed control data -*/ - unsigned int enabled_ctrls_changes; /\(** bits indicating enabled/disabled -controls */ - Bool num_groups_changed; /\(** True if number of keyboard groups -changed */ -} XkbControlsChangesRec,*XkbControlsChangesPtr; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeControls \- Provides a flexible method for updating the controls in a
+server to match those in
+the changed keyboard description
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeControls
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbControlsChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+keyboard description with changed xkb->ctrls
+.TP
+.I \- changes
+which parts of xkb->ctrls have changed
+.SH DESCRIPTION
+.LP
+The XkbControlsChangesRec structure allows applications to track modifications
+to an XkbControlsRec
+structure and thereby reduce the amount of traffic sent to the server. The same
+XkbControlsChangesRec
+structure may be used in several successive modifications to the same
+XkbControlsRec structure, then
+subsequently used to cause all of the changes, and only the changes, to be
+propagated to the server.
+
+The
+.I changed_ctrls
+field is a mask specifying which logical sets of data in the controls structure
+have been modified. In
+this context, modified means
+.I set,
+that is, if a value is set to the same value it previously contained, it has
+still been modified, and is
+noted as changed. Valid values for
+.I changed_ctrls
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I changed_ctrls
+column. Setting a bit implies the corresponding data fields from the "Relevant
+XkbControlsRec Data
+Fields" column in Table 1 have been modified. The
+.I enabled_ctrls_changes
+field specifies which bits in the
+.I enabled_ctrls
+field have changed. If the number of keyboard groups has changed, the
+.I num_groups_changed
+field is set to True.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s s
+l l l l l
+l l l l l
+l l l l l
+l l l l l
+lw(1.5i) lw(1.5i) l lw(1.5i) l.
+Table 1 Xkb Controls
+_
+Control Control
+ Selection Relevant
+ Mask XkbControlsRec Boolean Control
+ (which parameter) DataFields enabled_ctrls bit Section
+_
+T{
+AccessXFeedback
+T} T{
+XkbAccessXFeedbackMask
+T} ax_options: T{
+XkbAccessXFeedbackMask
+T} 10.6.3
+ XkbAX_*FBMask
+T{
+AccessXKeys
+T} T{
+XkbAccessXKeysMask
+T} 10.6.1
+T{
+AccessXTimeout
+T} T{
+XkbAccessXTimeoutMask
+T} ax_timeout T{
+XkbAccessXTimeoutMask
+T} 10.6.2
+ axt_opts_mask
+ axt_opts_values
+ axt_ctrls_mask
+ axt_ctrls_values
+T{
+AudibleBell
+T} T{
+XkbAudibleBellMask
+T} 9.2
+T{
+AutoReset
+T} 10.1.2
+T{
+BounceKeys
+T} T{
+XkbBounceKeysMask
+T} debounce_delay T{
+XkbBounceKeysMask
+T} 10.6.7
+T{
+Detectable-
+T} 10.3.3
+T{
+Autorepeat
+T}
+T{
+EnabledControls
+T} T{
+XkbControlsEnabledMask
+T} enabled_ctrls T{
+Non-Boolean Control
+T} 10.1.1
+T{
+GroupsWrap
+T} T{
+XkbGroupsWrapMask
+T} groups_wrap T{
+Non-Boolean Control
+T} 10.7.1
+T{
+IgnoreGroupLock
+T} T{
+XkbIgnoreGroupLockMask
+T} 10.7.3
+T{
+IgnoreLockMods
+T} T{
+XkbIgnoreLockModsMask
+T} ignore_lock T{
+Non-Boolean Control
+T} 5.1
+T{
+InternalMods
+T} T{
+XkbInternalModsMask
+T} internal T{
+Non-Boolean Control
+T} 5.1
+T{
+MouseKeys
+T} T{
+XkbMouseKeysMask
+T} mk_dflt_btn T{
+XkbMouseKeysMask
+T} 10.5.1
+T{
+MouseKeysAccel
+T} T{
+XkbMouseKeysAccelMask
+T} mk_delay T{
+XkbMouseKeysAccelMask
+T} 10.5.2
+ mk_interval
+ mk_time_to_max
+ mk_max_speed
+ mk_curve
+T{
+Overlay1
+T} T{
+XkbOverlay1Mask
+T} 10.4
+T{
+Overlay2
+T} T{
+XkbOverlay2Mask
+T} 10.4
+T{
+PerKeyRepeat
+T} T{
+XkbPerKeyRepeatMask
+T} per_key_repeat T{
+Non-Boolean Control
+T} 10.3.1
+T{
+RepeatKeys
+T} T{
+XkbRepeatKeysMask
+T} repeat_delay T{
+XkbRepeatKeysMask
+T} 10.3
+ repeat_interval
+T{
+SlowKeys
+T} T{
+XkbSlowKeysMask
+T} slow_keys_delay T{
+XkbSlowKeysMask
+T} 10.6.6
+T{
+StickyKeys
+T} T{
+XkbStickyKeysMask
+T} ax_options: T{
+XkbStickyKeysMask
+T} 10.6.8
+ XkbAX_TwoKeysMask
+ XkbAX_LatchToLockMask
+.TE
+
+Table 2 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 2 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+
+
+
+If you have an Xkb description with controls that have been modified and an
+XkbControlsChangesRec that
+describes the changes that have been made, the
+.I XkbChangeControls
+function provides a flexible method for updating the controls in a server to
+match those in the changed
+keyboard description.
+
+.I XkbChangeControls
+copies any controls fields specified by
+.I changes
+from the keyboard description controls structure,
+.I xkb->ctrls,
+to the server specified by
+.I dpy.
+.SH STRUCTURES
+.LP
+The XkbControlsChangesRec structure is defined as follows:
+.nf
+
+typedef struct _XkbControlsChanges {
+ unsigned int changed_ctrls; /\(** bits indicating changed control data
+*/
+ unsigned int enabled_ctrls_changes; /\(** bits indicating enabled/disabled
+controls */
+ Bool num_groups_changed; /\(** True if number of keyboard groups
+changed */
+} XkbControlsChangesRec,*XkbControlsChangesPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbChangeDeviceInfo.man b/libX11/man/xkb/XkbChangeDeviceInfo.man index 6a4ce44c3..56dd8c8f1 100644 --- a/libX11/man/xkb/XkbChangeDeviceInfo.man +++ b/libX11/man/xkb/XkbChangeDeviceInfo.man @@ -1,74 +1,74 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an -XkbDeviceChangesRec -.SH SYNOPSIS -.HP -.B Bool XkbChangeDeviceInfo -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDeviceInfoPtr " "device_info" "\^," -.BI "XkbDeviceChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_info -local copy of device state and configuration -.TP -.I \- changes -note specifying changes in device_info -.SH DESCRIPTION -.LP -.I XkbChangeDeviceInfo -updates the server's description of the device specified in -.I device_info->device_spec -with the changes specified in -.I changes -and contained in -.I device_info. -The update is made by an -.I XkbSetDeviceInfo -request. -.SH STRUCTURES -.LP -Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events -and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the -structure may then be used in subsequent operations to update either a server configuration or a -local copy of an Xkb extension device configuration. The changes structure is defined as follows: -.nf - -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; - -.fi -.SH "SEE ALSO" -.BR XkbSetDeviceInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeDeviceInfo \- Update the server's description of a device with the changes noted in an
+XkbDeviceChangesRec
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeDeviceInfo
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "XkbDeviceChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+local copy of device state and configuration
+.TP
+.I \- changes
+note specifying changes in device_info
+.SH DESCRIPTION
+.LP
+.I XkbChangeDeviceInfo
+updates the server's description of the device specified in
+.I device_info->device_spec
+with the changes specified in
+.I changes
+and contained in
+.I device_info.
+The update is made by an
+.I XkbSetDeviceInfo
+request.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events
+and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the
+structure may then be used in subsequent operations to update either a server configuration or a
+local copy of an Xkb extension device configuration. The changes structure is defined as follows:
+.nf
+
+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;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbSetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeEnabledControls.man b/libX11/man/xkb/XkbChangeEnabledControls.man index edda2bb7a..c190ac669 100644 --- a/libX11/man/xkb/XkbChangeEnabledControls.man +++ b/libX11/man/xkb/XkbChangeEnabledControls.man @@ -1,164 +1,164 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeEnabledControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeEnabledControls \- Manipulates the EnabledControls control -.SH SYNOPSIS -.HP -.B Bool XkbChangeEnabledControls -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "mask" "\^," -.BI "unsigned int " "values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_spec - keyboard device to modify -.TP -.I \- mask -1 bit -> controls to enable / disable -.TP -.I \- values -1 bit => enable, 0 bit => disable -.SH DESCRIPTION -.LP -The EnabledControls control is a bit mask where each bit that is turned on means the -corresponding control is enabled, and when turned off, disabled. It corresponds to the -.I enabled_ctrls -field of an XkbControlsRec structure (see STRUCTURES). The bits describing which controls are -turned on or off are defined in Table 1. - -Table 1 shows the actual values for the individual mask bits used to select controls for -modification and to enable and disable the control. Note that the same mask bit is used to -specify general modifications to the parameters used to configure the control (which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no "ok" in column) -are for controls that have no configurable attributes; and for controls that are not boolean -controls and therefore cannot be enabled or disabled. -.bp -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - -The -.I mask -parameter specifies the boolean controls to be enabled or disabled, and the -.I values -mask specifies the new state for those controls. Valid values for both of these -masks are composed of a bitwise inclusive OR of bits taken from the set of mask -bits in Table 1, using only those masks with "ok" in the -.I enabled_ctrls -column. - -If the X server does not support a compatible version of Xkb or the Xkb -extension has not been properly initialized, -.I XkbChangeEnabledControls -returns False; otherwise, it sends the request to the X server and returns True. - -Note that the EnabledControls control only enables and disables controls; it -does not configure them. Some controls, such as the AudibleBell control, have no -configuration attributes and are therefore manipulated solely by enabling and -disabling them. Others, however, have additional attributes to configure their -behavior. For example, the RepeatControl control uses -.I repeat_delay -and -.I repeat_interval -fields to describe the timing behavior of keys that repeat. The RepeatControl -behavior is turned on or off depending on the value of the XkbRepeatKeysMask -bit, but you must use other means, as described in this chapter, to configure -its behavior in detail. -.SH "RETURN VALUES" -.TP 15 -True -The X server supports a compatible version of Xkb. -.TP 15 -False -The X server does not support a compatible version of Xkb or the Xkb extension has not been properly initialized. -.SH STRUCTURES -.LP -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeEnabledControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeEnabledControls \- Manipulates the EnabledControls control
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeEnabledControls
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "mask" "\^,"
+.BI "unsigned int " "values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+ keyboard device to modify
+.TP
+.I \- mask
+1 bit -> controls to enable / disable
+.TP
+.I \- values
+1 bit => enable, 0 bit => disable
+.SH DESCRIPTION
+.LP
+The EnabledControls control is a bit mask where each bit that is turned on means the
+corresponding control is enabled, and when turned off, disabled. It corresponds to the
+.I enabled_ctrls
+field of an XkbControlsRec structure (see STRUCTURES). The bits describing which controls are
+turned on or off are defined in Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select controls for
+modification and to enable and disable the control. Note that the same mask bit is used to
+specify general modifications to the parameters used to configure the control (which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no "ok" in column)
+are for controls that have no configurable attributes; and for controls that are not boolean
+controls and therefore cannot be enabled or disabled.
+.bp
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I mask
+parameter specifies the boolean controls to be enabled or disabled, and the
+.I values
+mask specifies the new state for those controls. Valid values for both of these
+masks are composed of a bitwise inclusive OR of bits taken from the set of mask
+bits in Table 1, using only those masks with "ok" in the
+.I enabled_ctrls
+column.
+
+If the X server does not support a compatible version of Xkb or the Xkb
+extension has not been properly initialized,
+.I XkbChangeEnabledControls
+returns False; otherwise, it sends the request to the X server and returns True.
+
+Note that the EnabledControls control only enables and disables controls; it
+does not configure them. Some controls, such as the AudibleBell control, have no
+configuration attributes and are therefore manipulated solely by enabling and
+disabling them. Others, however, have additional attributes to configure their
+behavior. For example, the RepeatControl control uses
+.I repeat_delay
+and
+.I repeat_interval
+fields to describe the timing behavior of keys that repeat. The RepeatControl
+behavior is turned on or off depending on the value of the XkbRepeatKeysMask
+bit, but you must use other means, as described in this chapter, to configure
+its behavior in detail.
+.SH "RETURN VALUES"
+.TP 15
+True
+The X server supports a compatible version of Xkb.
+.TP 15
+False
+The X server does not support a compatible version of Xkb or the Xkb extension has not been properly initialized.
+.SH STRUCTURES
+.LP
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbChangeIndicators.man b/libX11/man/xkb/XkbChangeIndicators.man index 065d5eace..791ad3b96 100644 --- a/libX11/man/xkb/XkbChangeIndicators.man +++ b/libX11/man/xkb/XkbChangeIndicators.man @@ -1,156 +1,156 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeIndicators __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeIndicators \- Changes indicator maps or state without passing the -entire keyboard description -.SH SYNOPSIS -.HP -.B Bool XkbChangeIndicators -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbIndicatorChangesPtr " "changes" "\^," -.BI "unsigned int " "state" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- xkb -keyboard description from which names are to be taken. -.TP -.I \- changes -indicators to be updated on the server -.TP -.I \- state -new state of indicators listed in changes->state_changes -.SH DESCRIPTION -.LP -The XkbIndicatorChangesRec identifies small modifications to the indicator map. -Use it with the function -.I XkbChangeIndicators -to reduce the amount of traffic sent to the server (see STRUCTURES). - -The -.I state_changes -field is a mask that specifies the indicators that have changed state, and -.I map_changes -is a mask that specifies the indicators whose maps have changed. - -.I XkbChangeIndicators -copies any maps specified by -.I changes -from the keyboard description, -.I xkb, -to the server specified by -.I dpy. -If any bits are set in the -.I state_changes -field of -.I changes, XkbChangeIndicators -also sets the state of those indicators to the values specified in the -.I state -mask. A 1 bit in -.I state -turns the corresponding indicator on, a 0 bit turns it off. - -In addition, it can also generate XkbIndicatorStateNotify and -XkbIndicatorMapNotify events. - -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events -to all interested clients. Similarly, whenever an indicator's map changes, the -server sends XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify -events, use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those -bits that specify the indicators for which you want to receive events. - -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the -event is a kbIndicatorStateNotify event or kbIndicatorMapNotify event. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have -changed. If the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have -changed or not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. -.SH STRUCTURES -.LP -.nf - typedef struct _XkbIndicatorChanges { - unsigned int state_changes; - unsigned int map_changes; - }XkbIndicatorChangesRec,*XkbIndicatorChangesPtr; - -.fi -Both types of indicator events use the same structure: - -.nf - typedef struct _XkbIndicatorNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** specifies state or map notify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd*/ - unsigned int changed; /\(** mask of indicators with new state or map */ - unsigned int state; /\(** current state of all indicators */ - } XkbIndicatorNotifyEvent; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadImplementation -Invalid reply from server -.SH "SEE ALSO" -.BR XkbIndicatorMapNotify (__libmansuffix__), -.BR XkbIndicatorStateNotify (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeIndicators __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeIndicators \- Changes indicator maps or state without passing the
+entire keyboard description
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeIndicators
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbIndicatorChangesPtr " "changes" "\^,"
+.BI "unsigned int " "state" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description from which names are to be taken.
+.TP
+.I \- changes
+indicators to be updated on the server
+.TP
+.I \- state
+new state of indicators listed in changes->state_changes
+.SH DESCRIPTION
+.LP
+The XkbIndicatorChangesRec identifies small modifications to the indicator map.
+Use it with the function
+.I XkbChangeIndicators
+to reduce the amount of traffic sent to the server (see STRUCTURES).
+
+The
+.I state_changes
+field is a mask that specifies the indicators that have changed state, and
+.I map_changes
+is a mask that specifies the indicators whose maps have changed.
+
+.I XkbChangeIndicators
+copies any maps specified by
+.I changes
+from the keyboard description,
+.I xkb,
+to the server specified by
+.I dpy.
+If any bits are set in the
+.I state_changes
+field of
+.I changes, XkbChangeIndicators
+also sets the state of those indicators to the values specified in the
+.I state
+mask. A 1 bit in
+.I state
+turns the corresponding indicator on, a 0 bit turns it off.
+
+In addition, it can also generate XkbIndicatorStateNotify and
+XkbIndicatorMapNotify events.
+
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events
+to all interested clients. Similarly, whenever an indicator's map changes, the
+server sends XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify
+events, use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those
+bits that specify the indicators for which you want to receive events.
+
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the
+event is a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have
+changed. If the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have
+changed or not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+.SH STRUCTURES
+.LP
+.nf
+ typedef struct _XkbIndicatorChanges {
+ unsigned int state_changes;
+ unsigned int map_changes;
+ }XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
+
+.fi
+Both types of indicator events use the same structure:
+
+.nf
+ typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd*/
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+ } XkbIndicatorNotifyEvent;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbIndicatorMapNotify (__libmansuffix__),
+.BR XkbIndicatorStateNotify (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeMap.man b/libX11/man/xkb/XkbChangeMap.man index c64e42e56..3b71d7d8f 100644 --- a/libX11/man/xkb/XkbChangeMap.man +++ b/libX11/man/xkb/XkbChangeMap.man @@ -1,135 +1,135 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeMap \- Update only partial components of a keyboard description, modify -the appropriate fields in the server and map components of a local copy of the -keyboard description -.SH SYNOPSIS -.HP -.B Bool XkbChangeMap -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbMapChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- xkb -description from which new values are taken -.TP -.I \- changes -identifies component parts to update -.SH DESCRIPTION -.LP -To update only partial components of a keyboard description, modify the -appropriate fields in the server and map components of a local copy of the -keyboard description, then call -.I XkbChangeMap -with an XkbMapChangesRec structure indicating which components have changed. - -.I XkbChangeMap -copies any components specified by the -.I changes -structure from the keyboard description, -.I xkb, -to the X server specified by -.I dpy. - -If any components specified by -.I changes -are not present in the -.I xkb -parameter, -.I XkbChangeMap -returns False. Otherwise, it sends a request to the server and returns True. - -.I XkbChangeMap -can generate BadAlloc, BadLength, and BadValue protocol errors. -.SH "RETURN VALUES" -.TP 15 -True -The XkbChangeMap function returns True if the components specified by -.I changes -are present in the -.I xkb -parameter. -.TP 15 -False -The XkbChangeMap function returns False if the components specified by -.I changes -are not present in the -.I xkb -parameter. -.SH STRUCTURES -.LP -Use the XkbMapChangesRec structure to identify and track partial modifications -to the mapping components and to reduce the amount of traffic between the server -and clients. -.nf - -typedef struct _XkbMapChanges { - unsigned short changed; /\(** identifies valid components in -structure */ - KeyCode min_key_code; /\(** lowest numbered keycode for device -*/ - KeyCode max_key_code; /\(** highest numbered keycode for device -*/ - unsigned char first_type; /\(** index of first key type modified */ - unsigned char num_types; /\(** # types modified */ - KeyCode first_key_sym; /\(** first key whose key_sym_map changed -*/ - unsigned char num_key_syms; /\(** # key_sym_map entries changed */ - KeyCode first_key_act; /\(** first key whose key_acts entry -changed */ - unsigned char num_key_acts; /\(** # key_acts entries changed */ - KeyCode first_key_behavior; /\(** first key whose behaviors changed */ - unsigned char num_key_behaviors; /\(** # behaviors entries changed */ - KeyCode first_key_explicit; /\(** first key whose explicit entry -changed */ - unsigned char num_key_explicit; /\(** # explicit entries changed */ - KeyCode first_modmap_key; /\(** first key whose modmap entry changed -*/ - unsigned char num_modmap_keys; /\(** # modmap entries changed */ - KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */ - unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */ - unsigned char pad1; /\(** reserved */ - unsigned short vmods; /\(** mask indicating which vmods changed -*/ -} XkbMapChangesRec,*XkbMapChangesPtr; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally -contain the arguments -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeMap \- Update only partial components of a keyboard description, modify
+the appropriate fields in the server and map components of a local copy of the
+keyboard description
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbMapChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+description from which new values are taken
+.TP
+.I \- changes
+identifies component parts to update
+.SH DESCRIPTION
+.LP
+To update only partial components of a keyboard description, modify the
+appropriate fields in the server and map components of a local copy of the
+keyboard description, then call
+.I XkbChangeMap
+with an XkbMapChangesRec structure indicating which components have changed.
+
+.I XkbChangeMap
+copies any components specified by the
+.I changes
+structure from the keyboard description,
+.I xkb,
+to the X server specified by
+.I dpy.
+
+If any components specified by
+.I changes
+are not present in the
+.I xkb
+parameter,
+.I XkbChangeMap
+returns False. Otherwise, it sends a request to the server and returns True.
+
+.I XkbChangeMap
+can generate BadAlloc, BadLength, and BadValue protocol errors.
+.SH "RETURN VALUES"
+.TP 15
+True
+The XkbChangeMap function returns True if the components specified by
+.I changes
+are present in the
+.I xkb
+parameter.
+.TP 15
+False
+The XkbChangeMap function returns False if the components specified by
+.I changes
+are not present in the
+.I xkb
+parameter.
+.SH STRUCTURES
+.LP
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping components and to reduce the amount of traffic between the server
+and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in
+structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device
+*/
+ KeyCode max_key_code; /\(** highest numbered keycode for device
+*/
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed
+*/
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry
+changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry
+changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed
+*/
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed
+*/
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbChangeNames.man b/libX11/man/xkb/XkbChangeNames.man index a52106e71..8163d4267 100644 --- a/libX11/man/xkb/XkbChangeNames.man +++ b/libX11/man/xkb/XkbChangeNames.man @@ -1,186 +1,186 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeNames \- _summary-line_ -.SH SYNOPSIS -.HP -.B Bool XkbChangeNames -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "Xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- which -mask of names or map components to be updated -.TP -.I \- Xkb -keyboard description to be updated -.SH DESCRIPTION -.LP -.I XkbChangeNames -provides a more flexible method for changing symbolic names than -.I XkbSetNames -and requires the use of an XkbNameChangesRec structure. - -.I XkbChangeNames -copies any names specified by -.I changes -from the keyboard description, -.I xkb, -to the X server specified by -.I dpy. XkbChangeNames -aborts and returns False if any illegal type names or type shift level names are -specified by changes. - -To change the symbolic names in the server, first modify a local copy of the -keyboard description and then use either -.I XkbSetNames, -or, to save network traffic, use a XkbNameChangesRec structure and call -.I XkbChangeNames -to download the changes to the server. -.I XkbSetNames -and -.I XkbChangeNames -can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation -errors. -.SH STRUCTURES -.LP -The XkbNameChangesRec allows applications to identify small modifications to the -symbolic names and -effectively reduces the amount of traffic sent to the server: -.nf - - typedef struct _XkbNameChanges { - unsigned int changed; /\(** name components that have changed -*/ - unsigned char first_type; /\(** first key type with a new name */ - unsigned char num_types; /\(** number of types with new names */ - unsigned char first_lvl; /\(** first key type with new level -names */ - unsigned char num_lvls; /\(** number of key types with new level -names */ - unsigned char num_aliases; /\(** if key aliases changed, total -number of key aliases */ - unsigned char num_rg; /\(** if radio groups changed, total -number of radio groups */ - unsigned char first_key; /\(** first key with a new name */ - unsigned char num_keys; /\(** number of keys with new names */ - unsigned short changed_vmods; /\(** mask of virtual modifiers for -which names have changed */ - unsigned long changed_indicators; /\(** mask of indicators for which names -were changed */ - unsigned char changed_groups; /\(** mask of groups for which names -were changed */ - } XkbNameChangesRec, *XkbNameChangesPtr - -.fi -The -.I changed -field specifies the name components that have changed and is the bitwise -inclusive OR of the valid names -mask bits defined in Table 1. The rest of the fields in the structure specify -the ranges that have changed -for the various kinds of symbolic names, as shown in Table 2. - -Xkb provides several functions that work with symbolic names. Each of these -functions uses a mask to -specify individual fields of the structures described above. These masks and -their relationships to the -fields in a keyboard description are shown in Table 1. - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE - -.TS -c s s s -l l l l. -Table 2 XkbNameChanges Fields -_ -Mask Fields Component Field -_ -XkbKeyTypeNamesMask first_type, Xkb->map type[*].name - num_types -XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*] - num_lvls -XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*] -XkbRGNamesMask num_rg Xkb->names radio_groups[*] -XkbKeyNamesMask first_key, Xkb->names keys[*] - num_keys -XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*] -XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*] -XkbGroupNamesMask changed_groups Xkb->names groups[*] -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally -contain the arguments -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbSetNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeNames \- _summary-line_
+.SH SYNOPSIS
+.HP
+.B Bool XkbChangeNames
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "Xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be updated
+.TP
+.I \- Xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbChangeNames
+provides a more flexible method for changing symbolic names than
+.I XkbSetNames
+and requires the use of an XkbNameChangesRec structure.
+
+.I XkbChangeNames
+copies any names specified by
+.I changes
+from the keyboard description,
+.I xkb,
+to the X server specified by
+.I dpy. XkbChangeNames
+aborts and returns False if any illegal type names or type shift level names are
+specified by changes.
+
+To change the symbolic names in the server, first modify a local copy of the
+keyboard description and then use either
+.I XkbSetNames,
+or, to save network traffic, use a XkbNameChangesRec structure and call
+.I XkbChangeNames
+to download the changes to the server.
+.I XkbSetNames
+and
+.I XkbChangeNames
+can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
+errors.
+.SH STRUCTURES
+.LP
+The XkbNameChangesRec allows applications to identify small modifications to the
+symbolic names and
+effectively reduces the amount of traffic sent to the server:
+.nf
+
+ typedef struct _XkbNameChanges {
+ unsigned int changed; /\(** name components that have changed
+*/
+ unsigned char first_type; /\(** first key type with a new name */
+ unsigned char num_types; /\(** number of types with new names */
+ unsigned char first_lvl; /\(** first key type with new level
+names */
+ unsigned char num_lvls; /\(** number of key types with new level
+names */
+ unsigned char num_aliases; /\(** if key aliases changed, total
+number of key aliases */
+ unsigned char num_rg; /\(** if radio groups changed, total
+number of radio groups */
+ unsigned char first_key; /\(** first key with a new name */
+ unsigned char num_keys; /\(** number of keys with new names */
+ unsigned short changed_vmods; /\(** mask of virtual modifiers for
+which names have changed */
+ unsigned long changed_indicators; /\(** mask of indicators for which names
+were changed */
+ unsigned char changed_groups; /\(** mask of groups for which names
+were changed */
+ } XkbNameChangesRec, *XkbNameChangesPtr
+
+.fi
+The
+.I changed
+field specifies the name components that have changed and is the bitwise
+inclusive OR of the valid names
+mask bits defined in Table 1. The rest of the fields in the structure specify
+the ranges that have changed
+for the various kinds of symbolic names, as shown in Table 2.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to
+specify individual fields of the structures described above. These masks and
+their relationships to the
+fields in a keyboard description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+.TS
+c s s s
+l l l l.
+Table 2 XkbNameChanges Fields
+_
+Mask Fields Component Field
+_
+XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
+ num_types
+XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
+ num_lvls
+XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
+XkbRGNamesMask num_rg Xkb->names radio_groups[*]
+XkbKeyNamesMask first_key, Xkb->names keys[*]
+ num_keys
+XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
+XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
+XkbGroupNamesMask changed_groups Xkb->names groups[*]
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbChangeTypesOfKey.man b/libX11/man/xkb/XkbChangeTypesOfKey.man index f826b7b46..93eb6227c 100644 --- a/libX11/man/xkb/XkbChangeTypesOfKey.man +++ b/libX11/man/xkb/XkbChangeTypesOfKey.man @@ -1,202 +1,202 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key -.SH SYNOPSIS -.HP -.B Status XkbChangeTypesOfKey -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "int " "key" "\^," -.BI "int " "n_groups" "\^," -.BI "unsigned int " "groups" "\^," -.BI "int *" "new_types_in" "\^," -.BI "XkbMapChangesPtr " "p_changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to be changed -.TP -.I \- key -keycode for key of interest -.TP -.I \- n_groups -new number of groups for key -.TP -.I \- groups -mask indicating groups to change -.TP -.I \- new_types_in -indices for new groups specified in groups -.TP -.I \- p_changes -notes changes made to xkb -.SH DESCRIPTION -.LP -.I XkbChangeTypesOfKey -reallocates the symbols and actions bound to the key, if necessary, and -initializes any new symbols -or actions to NoSymbol or NoAction, as appropriate. If the p_changes parameter -is not NULL, -.I XkbChangeTypesOfKey -adds the XkbKeySymsMask to the changes field of -.I p_changes -and modifies the -.I first_key_sym -and -.I num_key_syms -fields of -.I p_changes -to include the -.I key -that was changed. See STRUCTURE for more information on the XkbMapChangesPtr -structure. If -successful, -.I XkbChangeTypesOfKey -returns Success. - -The -.I n_groups -parameter specifies the new number of groups for the key. The -.I groups -parameter is a mask specifying the groups for which new types are supplied and -is a bitwise -inclusive OR of the following masks: XkbGroup1Mask, XkbGroup2Mask, -XkbGroup3Mask, and XkbGroup4Mask. - -The -.I new_types_in -parameter is an integer array of length -.I n_groups. -Each entry represents the type to use for the associated group and is an index -into -.I xkb->map->types. -The -.I new_types_in -array is indexed by group index; if -.I n_groups -is four and -.I groups -only has Group1Mask and Group3Mask set, -.I new_types_in -looks like this: -.nf - - new_types_in[0] = type for Group1 - new_types_in[1] = ignored - new_types_in[2] = type for Group3 - new_types_in[3] = ignored - -.fi -For convenience, Xkb provides the following constants to use as indices to the -groups: - -.TS -c s -l l -l l. -Table 1 Group Index Constants -_ -Constant Name Value -_ -XkbGroup1Index 0 -XkbGroup2Index 1 -XkbGroup3Index 2 -XkbGroup4Index 3 -.TE - -If the Xkb extension has not been properly initialized, -.I XkbChangeTypesOfKey -returns BadAccess. If the -.I xkb -parameter it not valid (that is, it is NULL or it does not contain a valid -client map), -.I XkbChangeTypesOfKey -returns BadMatch. If the -.I key -is not a valid keycode, -.I n_groups -is greater than XkbNumKbdGroups, or the -.I groups -mask does not contain any of the valid group mask bits, -.I XkbChangeTypesOfKey -returns BadValue. If it is necessary to resize the key symbols or key actions -arrays and any -allocation errors occur, -.I XkbChangeTypesOfKey -returns BadAlloc. -.SH STRUCTURES -.LP -Use the XkbMapChangesRec structure to identify and track partial modifications -to the mapping -components and to reduce the amount of traffic between the server and clients. -.nf - -typedef struct _XkbMapChanges { - unsigned short changed; /\(** identifies valid components in -structure */ - KeyCode min_key_code; /\(** lowest numbered keycode for device -*/ - KeyCode max_key_code; /\(** highest numbered keycode for device -*/ - unsigned char first_type; /\(** index of first key type modified */ - unsigned char num_types; /\(** # types modified */ - KeyCode first_key_sym; /\(** first key whose key_sym_map changed -*/ - unsigned char num_key_syms; /\(** # key_sym_map entries changed */ - KeyCode first_key_act; /\(** first key whose key_acts entry -changed */ - unsigned char num_key_acts; /\(** # key_acts entries changed */ - KeyCode first_key_behavior; /\(** first key whose behaviors changed */ - unsigned char num_key_behaviors; /\(** # behaviors entries changed */ - KeyCode first_key_explicit; /\(** first key whose explicit entry -changed */ - unsigned char num_key_explicit; /\(** # explicit entries changed */ - KeyCode first_modmap_key; /\(** first key whose modmap entry changed -*/ - unsigned char num_modmap_keys; /\(** # modmap entries changed */ - KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */ - unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */ - unsigned char pad1; /\(** reserved */ - unsigned short vmods; /\(** mask indicating which vmods changed -*/ -} XkbMapChangesRec,*XkbMapChangesPtr; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and -range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeTypesOfKey \- Change the number of groups and the types bound to a key
+.SH SYNOPSIS
+.HP
+.B Status XkbChangeTypesOfKey
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "int " "key" "\^,"
+.BI "int " "n_groups" "\^,"
+.BI "unsigned int " "groups" "\^,"
+.BI "int *" "new_types_in" "\^,"
+.BI "XkbMapChangesPtr " "p_changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be changed
+.TP
+.I \- key
+keycode for key of interest
+.TP
+.I \- n_groups
+new number of groups for key
+.TP
+.I \- groups
+mask indicating groups to change
+.TP
+.I \- new_types_in
+indices for new groups specified in groups
+.TP
+.I \- p_changes
+notes changes made to xkb
+.SH DESCRIPTION
+.LP
+.I XkbChangeTypesOfKey
+reallocates the symbols and actions bound to the key, if necessary, and
+initializes any new symbols
+or actions to NoSymbol or NoAction, as appropriate. If the p_changes parameter
+is not NULL,
+.I XkbChangeTypesOfKey
+adds the XkbKeySymsMask to the changes field of
+.I p_changes
+and modifies the
+.I first_key_sym
+and
+.I num_key_syms
+fields of
+.I p_changes
+to include the
+.I key
+that was changed. See STRUCTURE for more information on the XkbMapChangesPtr
+structure. If
+successful,
+.I XkbChangeTypesOfKey
+returns Success.
+
+The
+.I n_groups
+parameter specifies the new number of groups for the key. The
+.I groups
+parameter is a mask specifying the groups for which new types are supplied and
+is a bitwise
+inclusive OR of the following masks: XkbGroup1Mask, XkbGroup2Mask,
+XkbGroup3Mask, and XkbGroup4Mask.
+
+The
+.I new_types_in
+parameter is an integer array of length
+.I n_groups.
+Each entry represents the type to use for the associated group and is an index
+into
+.I xkb->map->types.
+The
+.I new_types_in
+array is indexed by group index; if
+.I n_groups
+is four and
+.I groups
+only has Group1Mask and Group3Mask set,
+.I new_types_in
+looks like this:
+.nf
+
+ new_types_in[0] = type for Group1
+ new_types_in[1] = ignored
+ new_types_in[2] = type for Group3
+ new_types_in[3] = ignored
+
+.fi
+For convenience, Xkb provides the following constants to use as indices to the
+groups:
+
+.TS
+c s
+l l
+l l.
+Table 1 Group Index Constants
+_
+Constant Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+
+If the Xkb extension has not been properly initialized,
+.I XkbChangeTypesOfKey
+returns BadAccess. If the
+.I xkb
+parameter it not valid (that is, it is NULL or it does not contain a valid
+client map),
+.I XkbChangeTypesOfKey
+returns BadMatch. If the
+.I key
+is not a valid keycode,
+.I n_groups
+is greater than XkbNumKbdGroups, or the
+.I groups
+mask does not contain any of the valid group mask bits,
+.I XkbChangeTypesOfKey
+returns BadValue. If it is necessary to resize the key symbols or key actions
+arrays and any
+allocation errors occur,
+.I XkbChangeTypesOfKey
+returns BadAlloc.
+.SH STRUCTURES
+.LP
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping
+components and to reduce the amount of traffic between the server and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in
+structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device
+*/
+ KeyCode max_key_code; /\(** highest numbered keycode for device
+*/
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed
+*/
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry
+changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry
+changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed
+*/
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed
+*/
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and
+range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbComputeRowBounds.man b/libX11/man/xkb/XkbComputeRowBounds.man index e022453a5..ca6e2d21a 100644 --- a/libX11/man/xkb/XkbComputeRowBounds.man +++ b/libX11/man/xkb/XkbComputeRowBounds.man @@ -1,50 +1,50 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbComputeRowBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbComputeRowBounds \- Update the bounding box of a row -.SH SYNOPSIS -.HP -.B Bool XkbComputeRowBounds -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "XkbSectionPtr " "section" "\^," -.BI "XkbRowPtr " "row" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry that contains the section -.TP -.I \- section -section that contains the row -.TP -.I \- row -row to be examined and updated -.SH DESCRIPTION -.LP -.I XkbComputeRowBounds -checks the bounds of all keys in the -.I row -and updates the bounding box of the row if necessary. -.I XkbComputeRowBounds -returns False if any of the arguments is NULL; otherwise, it returns True. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbComputeRowBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeRowBounds \- Update the bounding box of a row
+.SH SYNOPSIS
+.HP
+.B Bool XkbComputeRowBounds
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "XkbSectionPtr " "section" "\^,"
+.BI "XkbRowPtr " "row" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section that contains the row
+.TP
+.I \- row
+row to be examined and updated
+.SH DESCRIPTION
+.LP
+.I XkbComputeRowBounds
+checks the bounds of all keys in the
+.I row
+and updates the bounding box of the row if necessary.
+.I XkbComputeRowBounds
+returns False if any of the arguments is NULL; otherwise, it returns True.
diff --git a/libX11/man/xkb/XkbComputeSectionBounds.man b/libX11/man/xkb/XkbComputeSectionBounds.man index 22164bab1..56e3bc4b4 100644 --- a/libX11/man/xkb/XkbComputeSectionBounds.man +++ b/libX11/man/xkb/XkbComputeSectionBounds.man @@ -1,50 +1,50 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbComputeSectionBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbComputeSectionBounds \- Update the bounding box of a section -.SH SYNOPSIS -.HP -.B Bool XkbComputeSectionBounds -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "XkbSectionPtr " "section" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry that contains the section -.TP -.I \- section -section to be examined and updated -.SH DESCRIPTION -.LP - If you add or delete a row to or from a section, or if you change the geometry -of any of the rows in that section, you may need to update the bounding box for -that section. - -.I XkbComputeSectionBounds -examines all the rows of the -.I section -and updates the bounding box of that section so that it contains all rows. -.I XkbComputeSectionBounds -returns False if any of the arguments is NULL; otherwise, it returns True. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbComputeSectionBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeSectionBounds \- Update the bounding box of a section
+.SH SYNOPSIS
+.HP
+.B Bool XkbComputeSectionBounds
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "XkbSectionPtr " "section" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section to be examined and updated
+.SH DESCRIPTION
+.LP
+ If you add or delete a row to or from a section, or if you change the geometry
+of any of the rows in that section, you may need to update the bounding box for
+that section.
+
+.I XkbComputeSectionBounds
+examines all the rows of the
+.I section
+and updates the bounding box of that section so that it contains all rows.
+.I XkbComputeSectionBounds
+returns False if any of the arguments is NULL; otherwise, it returns True.
diff --git a/libX11/man/xkb/XkbComputeShapeBounds.man b/libX11/man/xkb/XkbComputeShapeBounds.man index b06b00c63..71bfe6240 100644 --- a/libX11/man/xkb/XkbComputeShapeBounds.man +++ b/libX11/man/xkb/XkbComputeShapeBounds.man @@ -1,82 +1,82 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbComputeShapeBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbComputeShapeBounds \- Updates the bounding box of a shape -.SH SYNOPSIS -.HP -.B Bool XkbComputeShapeBounds -.BI "(\^XkbShapePtr " "shape" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- shape -shape to be examined -.SH DESCRIPTION -.LP -Xkb provides a number of convenience functions to help use a keyboard geometry. These include -functions to return the bounding box of a shape's top surface and to update the bounding box -of a shape row or section. - -A shape is made up of a number of outlines. Each outline is a polygon made up of a number of -points. The bounding box of a shape is a rectangle that contains all the outlines of that -shape. - -A ShapeRec contains a BoundsRec that describes the bounds of the shape. If you add or delete -an outline to or from a shape, the bounding box must be updated. - -.I XkbComputeShapeBounds -updates the BoundsRec contained in the -.I shape -by examining all the outlines of the shape and setting the BoundsRec to the minimum x and -minimum y, and maximum x and maximum y values found in those outlines. -.I XkbComputeShapeBounds -returns False if -.I shape -is NULL or if there are no outlines for the shape; otherwise, it returns True. - -If you add or delete a key to or from a row, or if you update the shape of one of the keys in that row, you may need to update the bounding box of that row. To update the bounding box of a row, use -.I XkbComputeRowBounds. -.SH STRUCTURES -.LP -.nf - -typedef struct _XkbShape { - Atom name; /\(** shape's name */ - unsigned short num_outlines; /\(** number of outlines for the shape */ - unsigned short sz_outlines; /\(** size of the outlines array */ - XkbOutlinePtr outlines; /\(** array of outlines for the shape */ - XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */ - XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */ - XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */ -} XkbShapeRec, *XkbShapePtr; - -typedef struct _XkbBounds { - short x1,y1; /\(** upper left corner of the bounds, in mm/10 */ - short x2,y2; /\(** lower right corner of the bounds, in mm/10 */ -} XkbBoundsRec, *XkbBoundsPtr; - -.fi -.SH "SEE ALSO" -.BR XkbComputeRowBounds (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbComputeShapeBounds __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeShapeBounds \- Updates the bounding box of a shape
+.SH SYNOPSIS
+.HP
+.B Bool XkbComputeShapeBounds
+.BI "(\^XkbShapePtr " "shape" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be examined
+.SH DESCRIPTION
+.LP
+Xkb provides a number of convenience functions to help use a keyboard geometry. These include
+functions to return the bounding box of a shape's top surface and to update the bounding box
+of a shape row or section.
+
+A shape is made up of a number of outlines. Each outline is a polygon made up of a number of
+points. The bounding box of a shape is a rectangle that contains all the outlines of that
+shape.
+
+A ShapeRec contains a BoundsRec that describes the bounds of the shape. If you add or delete
+an outline to or from a shape, the bounding box must be updated.
+
+.I XkbComputeShapeBounds
+updates the BoundsRec contained in the
+.I shape
+by examining all the outlines of the shape and setting the BoundsRec to the minimum x and
+minimum y, and maximum x and maximum y values found in those outlines.
+.I XkbComputeShapeBounds
+returns False if
+.I shape
+is NULL or if there are no outlines for the shape; otherwise, it returns True.
+
+If you add or delete a key to or from a row, or if you update the shape of one of the keys in that row, you may need to update the bounding box of that row. To update the bounding box of a row, use
+.I XkbComputeRowBounds.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbShape {
+ Atom name; /\(** shape's name */
+ unsigned short num_outlines; /\(** number of outlines for the shape */
+ unsigned short sz_outlines; /\(** size of the outlines array */
+ XkbOutlinePtr outlines; /\(** array of outlines for the shape */
+ XkbOutlinePtr approx; /\(** pointer into the array to the approximating outline */
+ XkbOutlinePtr primary; /\(** pointer into the array to the primary outline */
+ XkbBoundsRec bounds; /\(** bounding box for the shape; encompasses all outlines */
+} XkbShapeRec, *XkbShapePtr;
+
+typedef struct _XkbBounds {
+ short x1,y1; /\(** upper left corner of the bounds, in mm/10 */
+ short x2,y2; /\(** lower right corner of the bounds, in mm/10 */
+} XkbBoundsRec, *XkbBoundsPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbComputeRowBounds (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbComputeShapeTop.man b/libX11/man/xkb/XkbComputeShapeTop.man index f9b464fdb..6dcfcd29c 100644 --- a/libX11/man/xkb/XkbComputeShapeTop.man +++ b/libX11/man/xkb/XkbComputeShapeTop.man @@ -1,75 +1,75 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbComputeShapeTop __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbComputeShapeTop \- Determines the bounding box of the top surface of a shape -.SH SYNOPSIS -.HP -.B Bool XkbComputeShapeTop -.BI "(\^XkbShapePtr " "shape" "\^," -.BI "XkbBoundsPtr " "bounds_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- shape -shape to be examined -.TP -.I \- bounds_rtrn -backfilled with the bounding box for the shape -.SH DESCRIPTION -.LP -Xkb provides a number of convenience functions to help use a keyboard geometry. -These include functions to return the bounding box of a shape's top surface and -to update the bounding box of a shape row or section. - -A shape is made up of a number of outlines. Each outline is a polygon made up of -a number of points. The bounding box of a shape is a rectangle that contains all -the outlines of that shape. - -.I XkbComputeShapeTop -returns a BoundsRec that contains two x and y coordinates. These coordinates -describe the corners of a rectangle that contains the outline that describes the -top surface of the shape. The top surface is defined to be the approximating -outline if the -.I approx -field of -.I shape -is not NULL. If -.I approx -is NULL, the top surface is defined as the last outline in the -.I shape's -array of outlines. -.I XkbComputeShapeTop -returns False if -.I shape -is NULL or if there are no outlines for the shape; otherwise, it returns True. -.SH STRUCTURES -.LP -.nf - -typedef struct _XkbBounds { - short x1,y1; /\(** upper left corner of the bounds, in mm/10 */ - short x2,y2; /\(** lower right corner of the bounds, in mm/10 */ -} XkbBoundsRec, *XkbBoundsPtr; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbComputeShapeTop __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbComputeShapeTop \- Determines the bounding box of the top surface of a shape
+.SH SYNOPSIS
+.HP
+.B Bool XkbComputeShapeTop
+.BI "(\^XkbShapePtr " "shape" "\^,"
+.BI "XkbBoundsPtr " "bounds_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape to be examined
+.TP
+.I \- bounds_rtrn
+backfilled with the bounding box for the shape
+.SH DESCRIPTION
+.LP
+Xkb provides a number of convenience functions to help use a keyboard geometry.
+These include functions to return the bounding box of a shape's top surface and
+to update the bounding box of a shape row or section.
+
+A shape is made up of a number of outlines. Each outline is a polygon made up of
+a number of points. The bounding box of a shape is a rectangle that contains all
+the outlines of that shape.
+
+.I XkbComputeShapeTop
+returns a BoundsRec that contains two x and y coordinates. These coordinates
+describe the corners of a rectangle that contains the outline that describes the
+top surface of the shape. The top surface is defined to be the approximating
+outline if the
+.I approx
+field of
+.I shape
+is not NULL. If
+.I approx
+is NULL, the top surface is defined as the last outline in the
+.I shape's
+array of outlines.
+.I XkbComputeShapeTop
+returns False if
+.I shape
+is NULL or if there are no outlines for the shape; otherwise, it returns True.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct _XkbBounds {
+ short x1,y1; /\(** upper left corner of the bounds, in mm/10 */
+ short x2,y2; /\(** lower right corner of the bounds, in mm/10 */
+} XkbBoundsRec, *XkbBoundsPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbCopyKeyType.man b/libX11/man/xkb/XkbCopyKeyType.man index 01bdbf837..ddc90369c 100644 --- a/libX11/man/xkb/XkbCopyKeyType.man +++ b/libX11/man/xkb/XkbCopyKeyType.man @@ -1,94 +1,94 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbCopyKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbCopyKeyType \- Copy one XkbKeyTypeRec structures -.SH SYNOPSIS -.HP -.B Status XkbCopyKeyType -.BI "(\^XkbKeyTypePtr " "from" "\^," -.BI "XkbKeyTypePtr " "into" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- from -pointer to XkbKeyTypeRec to be copied -.TP -.I \- into -pointer to XkbKeyTypeRec to be changed -.SH DESCRIPTION -.LP -.I XkbCopyKeyType -copies the key type specified by -.I from -to the key type specified by -.I into. -Both must point to legal XkbKeyTypeRec structures. Xkb assumes -.I from -and -.I into -point to different places. As a result, overlaps can be fatal. -.I XkbCopyKeyType -frees any existing -.I map, preserve, -and -.I level_names -in -.I into -prior to copying. If any allocation errors occur while copying -.I from -to -.I into, XkbCopyKeyType -returns BadAlloc. Otherwise, -.I XkbCopyKeyType -copies -.I from -to -.I into -and returns Success. -.SH STRUCTURES -.LP -Key types are used to determine the shift level of a key given the current state of the -keyboard. The set of all possible key types for the Xkb keyboard description are held in the -.I types -field of the client map, whose total size is stored in -.I size_types, -and whose total number of valid entries is stored in -.I num_types. -Key types are defined using the following structure: -.nf - -typedef struct { /\(** Key Type */ - XkbModsRec mods; /\(** modifiers used to compute shift level */ - unsigned char num_levels; /\(** total # shift levels, do not modify directly */ - unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */ - XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */ - XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */ - Atom name; /\(** name of key type */ - Atom * level_names; /\(** array of names of each shift level */ -} XkbKeyTypeRec, *XkbKeyTypePtr; -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbCopyKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbCopyKeyType \- Copy one XkbKeyTypeRec structures
+.SH SYNOPSIS
+.HP
+.B Status XkbCopyKeyType
+.BI "(\^XkbKeyTypePtr " "from" "\^,"
+.BI "XkbKeyTypePtr " "into" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- from
+pointer to XkbKeyTypeRec to be copied
+.TP
+.I \- into
+pointer to XkbKeyTypeRec to be changed
+.SH DESCRIPTION
+.LP
+.I XkbCopyKeyType
+copies the key type specified by
+.I from
+to the key type specified by
+.I into.
+Both must point to legal XkbKeyTypeRec structures. Xkb assumes
+.I from
+and
+.I into
+point to different places. As a result, overlaps can be fatal.
+.I XkbCopyKeyType
+frees any existing
+.I map, preserve,
+and
+.I level_names
+in
+.I into
+prior to copying. If any allocation errors occur while copying
+.I from
+to
+.I into, XkbCopyKeyType
+returns BadAlloc. Otherwise,
+.I XkbCopyKeyType
+copies
+.I from
+to
+.I into
+and returns Success.
+.SH STRUCTURES
+.LP
+Key types are used to determine the shift level of a key given the current state of the
+keyboard. The set of all possible key types for the Xkb keyboard description are held in the
+.I types
+field of the client map, whose total size is stored in
+.I size_types,
+and whose total number of valid entries is stored in
+.I num_types.
+Key types are defined using the following structure:
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbCopyKeyTypes.man b/libX11/man/xkb/XkbCopyKeyTypes.man index d8479830d..eba786287 100644 --- a/libX11/man/xkb/XkbCopyKeyTypes.man +++ b/libX11/man/xkb/XkbCopyKeyTypes.man @@ -1,116 +1,116 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbCopyKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbCopyKeyTypes \- Copy more than one XkbKeyTypeRec structure -.SH SYNOPSIS -.HP -.B Status XkbCopyKeyTypes -.BI "(\^XkbKeyTypePtr " "from" "\^," -.BI "XkbKeyTypePtr " "into" "\^," -.BI "int " "num_types" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- from -pointer to array of XkbKeyTypeRecs to copy -.TP -.I \- into -pointer to array of XkbKeyTypeRecs to change -.TP -.I \- num_types -number of types to copy -.SH DESCRIPTION -.LP -.I XkbCopyKeyTypes -copies -.I num_types -XkbKeyTypeRec structures from the array specified by -.I from -into the array specified by -.I into. -It is intended for copying between, rather than within, keyboard descriptions, -so it -doesn't check for overlaps. The same rules that apply to the -.I from -and -.I into -parameters in -.I XkbCopyKeyType -apply to each entry of the -.I from -and -.I into -arrays of -.I XkbCopyKeyTypes. -If any allocation errors occur while copying -.I from -to -.I into, XkbCopyKeyTypes -returns BadAlloc. Otherwise, -.I XkbCopyKeyTypes -copies -.I from -to -.I into -and returns Success. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbCopyKeyTypes function returns Success when there are no allocation -errors. -.SH STRUCTURES -.LP -Key types are used to determine the shift level of a key given the current state -of the -keyboard. The set of all possible key types for the Xkb keyboard description are -held in -the -.I types -field of the client map, whose total size is stored in -.I size_types, -and whose total number of valid entries is stored in -.I num_types. -Key types are defined using the following structure: -.nf - -typedef struct { /\(** Key Type */ - XkbModsRec mods; /\(** modifiers used to compute shift level */ - unsigned char num_levels; /\(** total # shift levels, do not modify -directly */ - unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) -*/ - XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level -*/ - XkbModsPtr preserve; /\(** mods to preserve for corresponding map -entry */ - Atom name; /\(** name of key type */ - Atom * level_names; /\(** array of names of each shift level */ -} XkbKeyTypeRec, *XkbKeyTypePtr; -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.SH "SEE ALSO" -.BR XkbCopyKeyType (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbCopyKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbCopyKeyTypes \- Copy more than one XkbKeyTypeRec structure
+.SH SYNOPSIS
+.HP
+.B Status XkbCopyKeyTypes
+.BI "(\^XkbKeyTypePtr " "from" "\^,"
+.BI "XkbKeyTypePtr " "into" "\^,"
+.BI "int " "num_types" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- from
+pointer to array of XkbKeyTypeRecs to copy
+.TP
+.I \- into
+pointer to array of XkbKeyTypeRecs to change
+.TP
+.I \- num_types
+number of types to copy
+.SH DESCRIPTION
+.LP
+.I XkbCopyKeyTypes
+copies
+.I num_types
+XkbKeyTypeRec structures from the array specified by
+.I from
+into the array specified by
+.I into.
+It is intended for copying between, rather than within, keyboard descriptions,
+so it
+doesn't check for overlaps. The same rules that apply to the
+.I from
+and
+.I into
+parameters in
+.I XkbCopyKeyType
+apply to each entry of the
+.I from
+and
+.I into
+arrays of
+.I XkbCopyKeyTypes.
+If any allocation errors occur while copying
+.I from
+to
+.I into, XkbCopyKeyTypes
+returns BadAlloc. Otherwise,
+.I XkbCopyKeyTypes
+copies
+.I from
+to
+.I into
+and returns Success.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbCopyKeyTypes function returns Success when there are no allocation
+errors.
+.SH STRUCTURES
+.LP
+Key types are used to determine the shift level of a key given the current state
+of the
+keyboard. The set of all possible key types for the Xkb keyboard description are
+held in
+the
+.I types
+field of the client map, whose total size is stored in
+.I size_types,
+and whose total number of valid entries is stored in
+.I num_types.
+Key types are defined using the following structure:
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify
+directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL)
+*/
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level
+*/
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map
+entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.SH "SEE ALSO"
+.BR XkbCopyKeyType (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbDeviceBell.man b/libX11/man/xkb/XkbDeviceBell.man index 833fce844..0dc9bc217 100644 --- a/libX11/man/xkb/XkbDeviceBell.man +++ b/libX11/man/xkb/XkbDeviceBell.man @@ -1,291 +1,291 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbDeviceBell \- Rings the bell on an X input extension device or the default keyboard -.SH SYNOPSIS -.HP -.B Bool XkbDeviceBell -.BI "(\^Display *" "display" "\^," -.BI "Window " "window" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "bell_class" "\^," -.BI "unsigned int " "bell_id" "\^," -.BI "int " "percent" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- window -window for which the bell is generated, or None -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- bell_class -X input extension bell class of the bell to be rung -.TP -.I \- bell_id -X input extension bell ID of the bell to be rung -.TP -.I \- percent -bell volume, from -100 to 100 inclusive -.TP -.I \- name -a name for the bell, or NULL -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell with a -given duration, pitch, and volume. Xkb extends this capability by allowing clients to -attach symbolic names to bells, disable audible bells, and receive an event whenever the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed to any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point of view, -merely a name, and not connected with any physical sound-generating device. Some client -application must generate the sound, or visual feedback, if any, that is associated with -the name.) - -You can also ask to receive XkbBellNotify events when the server rings the default bell -or if any client has requested events only (without the bell sounding) for any of the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that replaces the -keyboard bell with some other audible cue might want to turn off the AudibleBell control -to prevent the server from also generating a sound and avoid cacophony. If you disable -audible bells and request to receive XkbBellNotify events, you can generate feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the functions that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell -or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed or -repeating, Xkb can provide feedback for the controls by using special beep codes. The -AccessXFeedback control is used to configure the specific types of operations that -generate feedback. - -Bell Names - -You can associate a name to an act of ringing a bell by converting the name to an Atom -and then using this name when you call the functions listed in this chapter. If an event -is generated as a result, the name is then passed to all other clients interested in -receiving XkbBellNotify events. Note that these are arbitrary names and that there is no -binding to any sounds. Any sounds or other effects (such as visual bells on the screen) -must be generated by a client application upon receipt of the bell event containing the -name. There is no default name for the default keyboard bell. The server does generate -some predefined bells for the AccessX controls. These named bells are shown in the Table 1 -; the name is included in any bell event sent to clients that have requested to -receive XkbBellNotify events. - -.TS -c s -l l -lW(4i) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ -SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system bell. This -is useful if you need to use an audio server instead of the system beep. For example, -when an audio client starts, it could disable the audible bell (the system bell) and then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client -could then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell event -occurs. This is the default. If you set XkbAudibleBellMask off and a bell event occurs, -the server does not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell events. - -The input extension has two types of feedbacks that can generate bells - bell feedback -and keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of -each type; set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -The Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent -to be generated when a bell function is called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - -Set -.I percent -to be the volume relative to the base volume for the keyboard as described for .I XBell. - -Note that -.I bell_class -and -.I bell_id -indicate the bell to physically ring. -.I name -is simply an arbitrary moniker for the client application's use. - -To determine the current feedback settings of an extension input device, use -.I XGetFeedbackControl. -See the X input extension documentation for more information on -.I XGetFeedbackControl -and related data structures. - -If a compatible keyboard extension is not present in the X server, -.I XkbDeviceBell -immediately returns False. Otherwise, -.I XkbDeviceBell -rings the bell as specified for the display and keyboard device and returns True. If you have disabled the audible bell, the server does not ring the system bell, although it does generate a -.I XkbBellNotify -event. - -You can call -.I XkbDeviceBell -without first initializing the keyboard extension. -.SH STRUCTURES -Xkb generates XkbBellNotify events for all bells except for those resulting from calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep */ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. - -.SH "SEE ALSO" -.BR XBell (__libmansuffix__), -.BR XkbBellNotify (__libmansuffix__), -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbDeviceBell (__libmansuffix__), -.BR XkbForceBell (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XGetFeedbackControl (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbDeviceBell \- Rings the bell on an X input extension device or the default keyboard
+.SH SYNOPSIS
+.HP
+.B Bool XkbDeviceBell
+.BI "(\^Display *" "display" "\^,"
+.BI "Window " "window" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "bell_class" "\^,"
+.BI "unsigned int " "bell_id" "\^,"
+.BI "int " "percent" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+window for which the bell is generated, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+X input extension bell class of the bell to be rung
+.TP
+.I \- bell_id
+X input extension bell ID of the bell to be rung
+.TP
+.I \- percent
+bell volume, from -100 to 100 inclusive
+.TP
+.I \- name
+a name for the bell, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients to
+attach symbolic names to bells, disable audible bells, and receive an event whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of view,
+merely a name, and not connected with any physical sound-generating device. Some client
+application must generate the sound, or visual feedback, if any, that is associated with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the default bell
+or if any client has requested events only (without the bell sounding) for any of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell control
+to prevent the server from also generating a sound and avoid cacophony. If you disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes. The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an Atom
+and then using this name when you call the functions listed in this chapter. If an event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the screen)
+must be generated by a client application upon receipt of the bell event containing the
+name. There is no default name for the default keyboard bell. The server does generate
+some predefined bells for the AccessX controls. These named bells are shown in the Table 1
+; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell. This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell events.
+
+The input extension has two types of feedbacks that can generate bells - bell feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+The Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for .I XBell.
+
+Note that
+.I bell_class
+and
+.I bell_id
+indicate the bell to physically ring.
+.I name
+is simply an arbitrary moniker for the client application's use.
+
+To determine the current feedback settings of an extension input device, use
+.I XGetFeedbackControl.
+See the X input extension documentation for more information on
+.I XGetFeedbackControl
+and related data structures.
+
+If a compatible keyboard extension is not present in the X server,
+.I XkbDeviceBell
+immediately returns False. Otherwise,
+.I XkbDeviceBell
+rings the bell as specified for the display and keyboard device and returns True. If you have disabled the audible bell, the server does not ring the system bell, although it does generate a
+.I XkbBellNotify
+event.
+
+You can call
+.I XkbDeviceBell
+without first initializing the keyboard extension.
+.SH STRUCTURES
+Xkb generates XkbBellNotify events for all bells except for those resulting from calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (__libmansuffix__),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XGetFeedbackControl (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbDeviceBellEvent.man b/libX11/man/xkb/XkbDeviceBellEvent.man index 38b09108e..5d7aec3d4 100644 --- a/libX11/man/xkb/XkbDeviceBellEvent.man +++ b/libX11/man/xkb/XkbDeviceBellEvent.man @@ -1,322 +1,322 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbDeviceBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbDeviceBellEvent \- Creates a bell event for an X input extension device or -for the keyboard, without ringing the corresponding bell -.SH SYNOPSIS -.HP -.B Bool XkbDeviceBellEvent -.BI "(\^Display *" "display" "\^," -.BI "Window " "window" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "bell_class" "\^," -.BI "unsigned int " "bell_id" "\^," -.BI "int " "percent" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- window -event window, or None -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- bell_class -input extension bell class for the event -.TP -.I \- bell_id -input extension bell ID for the event -.TP -.I \- percent -volume for the bell, which can range from -100 to 100 inclusive -.TP -.I \- name -a bell name, or NULL -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell with -a -given duration, pitch, and volume. Xkb extends this capability by allowing clients to -attach symbolic names to bells, disable audible bells, and receive an event whenever -the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed to -any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point of -view, -merely a name, and not connected with any physical sound-generating device. Some -client -application must generate the sound, or visual feedback, if any, that is associated -with -the name.) - -You can also ask to receive XkbBellNotify events when the server rings the default -bell -or if any client has requested events only (without the bell sounding) for any of the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that replaces -the -keyboard bell with some other audible cue might want to turn off the AudibleBell -control -to prevent the server from also generating a sound and avoid cacophony. If you -disable -audible bells and request to receive XkbBellNotify events, you can generate feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the functions -that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell -or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed or -repeating, Xkb can provide feedback for the controls by using special beep codes. The -AccessXFeedback control is used to configure the specific types of operations that -generate feedback. - -Bell Names - -You can associate a name to an act of ringing a bell by converting the name to an -Atom -and then using this name when you call the functions listed in this chapter. If an -event -is generated as a result, the name is then passed to all other clients interested in -receiving XkbBellNotify events. Note that these are arbitrary names and that there is -no -binding to any sounds. Any sounds or other effects (such as visual bells on the -screen) -must be generated by a client application upon receipt of the bell event containing -the -name. There is no default name for the default keyboard bell. The server does -generate -some predefined bells for the AccessX controls. These named bells are shown in the -Table 1 -below; the name is included in any bell event sent to clients that have requested to -receive XkbBellNotify events. - -.TS -c s -l l -lW(4i) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ -SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system bell. -This -is useful if you need to use an audio server instead of the system beep. For example, -when an audio client starts, it could disable the audible bell (the system bell) and -then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio -client -could then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell event -occurs. This is the default. If you set XkbAudibleBellMask off and a bell event -occurs, -the server does not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell -events. - -The input extension has two types of feedbacks that can generate bells - bell -feedback -and keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of -each type; set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -Table 2 shows the conditions that cause a bell to sound or an -XkbBellNotifyEvent -to be generated when a bell function is called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - -If a compatible keyboard extension isn't present in the X server, -.I XkbDeviceBellEvent -immediately returns False. Otherwise, -.I XkbDeviceBellEvent -causes an XkbBellNotify event to be sent to all interested clients and returns -True. Set -.I percent -to be the volume relative to the base volume for the keyboard as described for -.I XBell. - -In addition, -.I XkbDeviceBellEvent -may generate Atom protocol errors as well as XkbBellNotify events. You can call -.I XkbBell -without first initializing the keyboard extension. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbDeviceBellEvent -sends an XkbBellNotify event to to all interested clients and returns -True. -.TP 15 -False -If a compatible keyboard extension isn't present in the X server, -.I XkbDeviceBellEvent -immediately returns False -.SH STRUCTURES -.TP -Xkb generates XkbBellNotify events for all bells except for those resulting from -calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask -in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep */ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it -receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. - -.SH "SEE ALSO" -.BR XBell (__libmansuffix__), -.BR XkbBellNotify (__libmansuffix__), -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbDeviceBell (__libmansuffix__), -.BR XkbForceBell (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbUseCoreKbd (__libmansuffix__) - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbDeviceBellEvent __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbDeviceBellEvent \- Creates a bell event for an X input extension device or
+for the keyboard, without ringing the corresponding bell
+.SH SYNOPSIS
+.HP
+.B Bool XkbDeviceBellEvent
+.BI "(\^Display *" "display" "\^,"
+.BI "Window " "window" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "bell_class" "\^,"
+.BI "unsigned int " "bell_id" "\^,"
+.BI "int " "percent" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+input extension bell class for the event
+.TP
+.I \- bell_id
+input extension bell ID for the event
+.TP
+.I \- percent
+volume for the bell, which can range from -100 to 100 inclusive
+.TP
+.I \- name
+a bell name, or NULL
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell with
+a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients to
+attach symbolic names to bells, disable audible bells, and receive an event whenever
+the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces
+the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes. The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an
+Atom
+and then using this name when you call the functions listed in this chapter. If an
+event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there is
+no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event containing
+the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in the
+Table 1
+below; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell.
+This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and
+then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
+client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an
+XkbBellNotifyEvent
+to be generated when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbDeviceBellEvent
+immediately returns False. Otherwise,
+.I XkbDeviceBellEvent
+causes an XkbBellNotify event to be sent to all interested clients and returns
+True. Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for
+.I XBell.
+
+In addition,
+.I XkbDeviceBellEvent
+may generate Atom protocol errors as well as XkbBellNotify events. You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbDeviceBellEvent
+sends an XkbBellNotify event to to all interested clients and returns
+True.
+.TP 15
+False
+If a compatible keyboard extension isn't present in the X server,
+.I XkbDeviceBellEvent
+immediately returns False
+.SH STRUCTURES
+.TP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass XkbBellNotifyMask
+in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (__libmansuffix__),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbFindOverlayForKey.man b/libX11/man/xkb/XkbFindOverlayForKey.man index 4d78c66af..57ea2599c 100644 --- a/libX11/man/xkb/XkbFindOverlayForKey.man +++ b/libX11/man/xkb/XkbFindOverlayForKey.man @@ -1,52 +1,52 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFindOverlayForKey \- Find the alternate name by using the primary name for a -key that is part of an overlay -.SH SYNOPSIS -.HP -.B char * XkbFindOverlayForKey -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "XkbSectionPtr " "section" "\^," -.BI "char *" "under" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry that contains the section -.TP -.I \- section -section to be searched for matching keys -.TP -.I \- under -primary name of the key to be considered -.SH DESCRIPTION -.LP -Keys that can generate multiple keycodes may be associated with multiple names. -Such keys have a primary name and an alternate name. - -.I XkbFindOverlayForKey -uses the primary name of the key, -.I under, -to look up the alternate name, which it returns. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFindOverlayForKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFindOverlayForKey \- Find the alternate name by using the primary name for a
+key that is part of an overlay
+.SH SYNOPSIS
+.HP
+.B char * XkbFindOverlayForKey
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "XkbSectionPtr " "section" "\^,"
+.BI "char *" "under" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry that contains the section
+.TP
+.I \- section
+section to be searched for matching keys
+.TP
+.I \- under
+primary name of the key to be considered
+.SH DESCRIPTION
+.LP
+Keys that can generate multiple keycodes may be associated with multiple names.
+Such keys have a primary name and an alternate name.
+
+.I XkbFindOverlayForKey
+uses the primary name of the key,
+.I under,
+to look up the alternate name, which it returns.
diff --git a/libX11/man/xkb/XkbForceBell.man b/libX11/man/xkb/XkbForceBell.man index 4f961fbad..b7588d821 100644 --- a/libX11/man/xkb/XkbForceBell.man +++ b/libX11/man/xkb/XkbForceBell.man @@ -1,314 +1,314 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbForceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbForceBell \- Overrides user preference settings for audible bells to ring the -bell on the default keyboard -.SH SYNOPSIS -.HP -.B Bool XkbForceBell -.BI "(\^Display *" "display" "\^," -.BI "int " "percent" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- percent -volume for the bell, which can range from -100 to 100 inclusive -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell -with a -given duration, pitch, and volume. Xkb extends this capability by allowing clients -to -attach symbolic names to bells, disable audible bells, and receive an event whenever -the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed to -any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point of -view, -merely a name, and not connected with any physical sound-generating device. Some -client -application must generate the sound, or visual feedback, if any, that is associated -with -the name.) - -.LP -You can also ask to receive XkbBellNotify events when the server rings the default -bell -or if any client has requested events only (without the bell sounding) for any of -the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that replaces -the -keyboard bell with some other audible cue might want to turn off the AudibleBell -control -to prevent the server from also generating a sound and avoid cacophony. If you -disable -audible bells and request to receive XkbBellNotify events, you can generate feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the functions -that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell -or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed or -repeating, Xkb can provide feedback for the controls by using special beep codes. -The -AccessXFeedback control is used to configure the specific types of operations that -generate feedback. - -.B Bell Names - -You can associate a name to an act of ringing a bell by converting the name to an -Atom -and then using this name when you call the functions listed in this chapter. If an -event -is generated as a result, the name is then passed to all other clients interested in -receiving XkbBellNotify events. Note that these are arbitrary names and that there -is no -binding to any sounds. Any sounds or other effects (such as visual bells on the -screen) -must be generated by a client application upon receipt of the bell event containing -the -name. There is no default name for the default keyboard bell. The server does -generate -some predefined bells for the AccessX controls. These named bells are shown in the -Table 1; the name is included in any bell event sent to clients that have requested to -receive XkbBellNotify events. - -.TS -c s -l l -lW(4i) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ -SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -.B Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system bell. -This -is useful if you need to use an audio server instead of the system beep. For -example, -when an audio client starts, it could disable the audible bell (the system bell) and -then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio -client -could then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell event -occurs. This is the default. If you set XkbAudibleBellMask off and a bell event -occurs, -the server does not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell -events. - -The input extension has two types of feedbacks that can generate bells - bell -feedback -and keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback -of -each type; set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated when a bell function is -called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - - -If a compatible keyboard extension isn't present in the X server, -.I XkbForceBell -calls -.I XBell -with the specified -.I display -and -.I percent -and returns False. Otherwise, -.I XkbForceBell -calls -.I XkbForceDeviceBell -with the specified -.I display -and -.I percent, device_spec -=XkbUseCoreKbd, -.I bell_class -= XkbDfltXIClass, -.I bell_id -= XkbDfltXIId, -.I window -= None, and -.I name -= NULL, and returns what -.I XkbForceDeviceBell -returns. - -.I XkbForceBell -does not cause an XkbBellNotify event. - -You can call -.I XkbBell -without first initializing the keyboard extension. -.SH "RETURNS VALUES" -.TP 15 -False -The -.I XkbForceBell -function returns False when a compatible keyboard extension isn't present in the X server. -.SH STRUCTURES -.LP -Xkb generates XkbBellNotify events for all bells except for those resulting from -calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass -XkbBellNotifyMask in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep */ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it -receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. - -.SH "SEE ALSO" -.BR XBell (__libmansuffix__), -.BR XkbBell (__libmansuffix__), -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbForceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbForceBell \- Overrides user preference settings for audible bells to ring the
+bell on the default keyboard
+.SH SYNOPSIS
+.HP
+.B Bool XkbForceBell
+.BI "(\^Display *" "display" "\^,"
+.BI "int " "percent" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- percent
+volume for the bell, which can range from -100 to 100 inclusive
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients
+to
+attach symbolic names to bells, disable audible bells, and receive an event whenever
+the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of
+the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that replaces
+the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or
+repeating, Xkb can provide feedback for the controls by using special beep codes.
+The
+AccessXFeedback control is used to configure the specific types of operations that
+generate feedback.
+
+.B Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an
+Atom
+and then using this name when you call the functions listed in this chapter. If an
+event
+is generated as a result, the name is then passed to all other clients interested in
+receiving XkbBellNotify events. Note that these are arbitrary names and that there
+is no
+binding to any sounds. Any sounds or other effects (such as visual bells on the
+screen)
+must be generated by a client application upon receipt of the bell event containing
+the
+name. There is no default name for the default keyboard bell. The server does
+generate
+some predefined bells for the AccessX controls. These named bells are shown in the
+Table 1; the name is included in any bell event sent to clients that have requested to
+receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+.B Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell.
+This
+is useful if you need to use an audio server instead of the system beep. For
+example,
+when an audio client starts, it could disable the audible bell (the system bell) and
+then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio
+client
+could then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event
+occurs. This is the default. If you set XkbAudibleBellMask off and a bell event
+occurs,
+the server does not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell
+events.
+
+The input extension has two types of feedbacks that can generate bells - bell
+feedback
+and keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback
+of
+each type; set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated when a bell function is
+called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbForceBell
+calls
+.I XBell
+with the specified
+.I display
+and
+.I percent
+and returns False. Otherwise,
+.I XkbForceBell
+calls
+.I XkbForceDeviceBell
+with the specified
+.I display
+and
+.I percent, device_spec
+=XkbUseCoreKbd,
+.I bell_class
+= XkbDfltXIClass,
+.I bell_id
+= XkbDfltXIId,
+.I window
+= None, and
+.I name
+= NULL, and returns what
+.I XkbForceDeviceBell
+returns.
+
+.I XkbForceBell
+does not cause an XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH "RETURNS VALUES"
+.TP 15
+False
+The
+.I XkbForceBell
+function returns False when a compatible keyboard extension isn't present in the X server.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+
+.SH "SEE ALSO"
+.BR XBell (__libmansuffix__),
+.BR XkbBell (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbForceDeviceBell.man b/libX11/man/xkb/XkbForceDeviceBell.man index 7b63eab20..fd05ec862 100644 --- a/libX11/man/xkb/XkbForceDeviceBell.man +++ b/libX11/man/xkb/XkbForceDeviceBell.man @@ -1,299 +1,299 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbForceDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference -settings for audible bells -.SH SYNOPSIS -.HP -.B Bool XkbForceDeviceBell -.BI "(\^Display *" "display" "\^," -.BI "Window " "window" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "bell_class" "\^," -.BI "unsigned int " "bell_id" "\^," -.BI "int " "percent" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- window -event window, or None -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- bell_class -input extension class of the bell to be rung -.TP -.I \- bell_id -input extension ID of the bell to be rung -.TP -.I \- percent -relative volume, which can range from -100 to 100 inclusive -.SH DESCRIPTION -.LP -The core X protocol allows only applications to explicitly sound the system bell -with a -given duration, pitch, and volume. Xkb extends this capability by allowing clients -to -attach symbolic names to bells, disable audible bells, and receive an event -whenever the -keyboard bell is rung. For the purposes of this document, the -.I audible -bell is defined to be the system bell, or the default keyboard bell, as opposed to -any -other audible sound generated elsewhere in the system. -You can ask to receive XkbBellNotify events when any client rings any one of the -following: - -.IP \(bu 5 -The default bell -.IP \(bu 5 -Any bell on an input device that can be specified by a bell_class and bell_id pair -.IP \(bu 5 -Any bell specified only by an arbitrary name. (This is, from the server's point of -view, -merely a name, and not connected with any physical sound-generating device. Some -client -application must generate the sound, or visual feedback, if any, that is associated -with -the name.) - -.LP -You can also ask to receive XkbBellNotify events when the server rings the default -bell -or if any client has requested events only (without the bell sounding) for any of -the -bell types previously listed. - -You can disable audible bells on a global basis. For example, a client that -replaces the -keyboard bell with some other audible cue might want to turn off the AudibleBell -control -to prevent the server from also generating a sound and avoid cacophony. If you -disable -audible bells and request to receive XkbBellNotify events, you can generate -feedback -different from the default bell. - -You can, however, override the AudibleBell control by calling one of the functions -that -force the ringing of a bell in spite of the setting of the AudibleBell control - -.I XkbForceDeviceBell -or -.I XkbForceBell. -In this case the server does not generate a bell event. - -Just as some keyboards can produce keyclicks to indicate when a key is pressed or repeating, Xkb -can provide feedback for the controls by using special beep codes. The AccessXFeedback control -is used to configure the specific types of operations that generate feedback. - -Bell Names - -You can associate a name to an act of ringing a bell by converting the name to an Atom -and then using this name when you call the functions listed in this chapter. If an event -is generated as a result, the name is then passed to all other clients interested in receiving -XkbBellNotify events. Note that these are arbitrary names and that there is no binding to any -sounds. Any sounds or other effects (such as visual bells on the screen) must be generated by a -client application upon receipt of the bell event containing the name. There is no default name -for the default keyboard bell. The server does generate some predefined bells for the AccessX -controls. These named bells are shown in Table 1; the name is included in any bell event sent to -clients that have requested to receive XkbBellNotify events. - -.TS -c s -l l -lW(4i) l. -Table 1 Predefined Bells -_ -Action Named Bell -_ -Indicator turned on AX_IndicatorOn -Indicator turned off AX_IndicatorOff -More than one indicator changed state AX_IndicatorChange -Control turned on AX_FeatureOn -Control turned off AX_FeatureOff -More than one control changed state AX_FeatureChange -T{ -SlowKeys and BounceKeys about to be turned on or off -T} AX_SlowKeysWarning -SlowKeys key pressed AX_SlowKeyPress -SlowKeys key accepted AX_SlowKeyAccept -SlowKeys key rejected AX_SlowKeyReject -Accepted SlowKeys key released AX_SlowKeyRelease -BounceKeys key rejected AX_BounceKeyReject -StickyKeys key latched AX_StickyLatch -StickyKeys key locked AX_StickyLock -StickyKeys key unlocked AX_StickyUnlock -.TE - -Audible Bells - -Using Xkb you can generate bell events that do not necessarily ring the system bell. This -is useful if you need to use an audio server instead of the system beep. For example, -when an audio client starts, it could disable the audible bell (the system bell) and then -listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client could -then send a request to an audio server to play a sound. - -You can control the audible bells feature by passing the XkbAudibleBellMask to -.I XkbChangeEnabledControls. -If you set XkbAudibleBellMask on, the server rings the system bell when a bell event occurs. -This is the default. If you set XkbAudibleBellMask off and a bell event occurs, the server does -not ring the system bell unless you call -.I XkbForceDeviceBell -or -.I XkbForceBell. - -Audible bells are also part of the per-client auto-reset controls. - -Bell Functions - -Use the functions described in this section to ring bells and to generate bell events. - -The input extension has two types of feedbacks that can generate bells - bell feedback and -keyboard feedback. Some of the functions in this section have -.I bell_class -and -.I bell_id -parameters; set them as follows: Set -.I bell_class -to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of each type; -set -.I bell_id -to the particular bell feedback of -.I bell_class -type. - -Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated -when a bell function is called. - -.TS -c s s s -l l l l -l l l l. -Table 2 Bell Sounding and Bell Event Generating -_ -Function called AudibleBell Server sounds a bell Server sends an -XkbBellNotifyEvent -_ -XkbDeviceBell On Yes Yes -XkbDeviceBell Off No Yes -XkbBell On Yes Yes -XkbBell Off No Yes -XkbDeviceBellEvent On or Off No Yes -XkbBellEvent On or Off No Yes -XkbDeviceForceBell On or Off Yes No -XkbForceBell On or Off Yes No -.TE - - -If a compatible keyboard extension isn't present in the X server, -.I XkbForceDeviceBell -immediately returns False. Otherwise, -.I XkbForceDeviceBell -rings the bell as specified for the display and keyboard device and returns -True. Set -.I percent -to be the volume relative to the base volume for the keyboard as described for -.I XBell. - -There is no -.I name -parameter because -.I XkbForceDeviceBell -does not cause an XkbBellNotify event. - -You can call -.I XkbBell -without first initializing the keyboard extension. -.SH STRUCTURES -.LP -Xkb generates XkbBellNotify events for all bells except for those resulting from -calls to -.I XkbForceDeviceBell -and -.I XkbForceBell. -To receive XkbBellNotify events under all possible conditions, pass -XkbBellNotifyMask in -both the -.I bits_to_change -and -.I values_for_bits -parameters to -.I XkbSelectEvents. - -The XkbBellNotify event has no event details. It is either selected or it is not. -However, you can call -.I XkbSelectEventDetails -using XkbBellNotify as the -.I event_type -and specifying XkbAllBellNotifyMask in -.I bits_to_change -and -.I values_for_bits. -This has the same effect as a call to -.I XkbSelectEvents. - -The structure for the XkbBellNotify event type contains: -.nf - - typedef struct _XkbBellNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbBellNotify */ - unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - int percent; /\(** requested volume as % of max */ - int pitch; /\(** requested pitch in Hz */ - int duration; /\(** requested duration in microseconds */ - unsigned int bell_class; /\(** X input extension feedback class */ - unsigned int bell_id; /\(** X input extension feedback ID */ - Atom name; /\(** "name" of requested bell */ - Window window; /\(** window associated with event */ - Bool event_only; /\(** False -> the server did not produce a beep */ - } XkbBellNotifyEvent; - -.fi -If your application needs to generate visual bell feedback on the screen when it -receives -a bell event, use the window ID in the XkbBellNotifyEvent, if present. -.SH "SEE ALSO" -.BR XBell (__libmansuffix__), -.BR XkbBell (__libmansuffix__), -.BR XkbBellNotify (__libmansuffix__), -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbDeviceBell (__libmansuffix__), -.BR XkbForceBell (__libmansuffix__), -.BR XkbForceDeviceBell (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) - - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbForceDeviceBell __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbForceDeviceBell \- Rings the bell on any keyboard, overriding user preference
+settings for audible bells
+.SH SYNOPSIS
+.HP
+.B Bool XkbForceDeviceBell
+.BI "(\^Display *" "display" "\^,"
+.BI "Window " "window" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "bell_class" "\^,"
+.BI "unsigned int " "bell_id" "\^,"
+.BI "int " "percent" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- window
+event window, or None
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- bell_class
+input extension class of the bell to be rung
+.TP
+.I \- bell_id
+input extension ID of the bell to be rung
+.TP
+.I \- percent
+relative volume, which can range from -100 to 100 inclusive
+.SH DESCRIPTION
+.LP
+The core X protocol allows only applications to explicitly sound the system bell
+with a
+given duration, pitch, and volume. Xkb extends this capability by allowing clients
+to
+attach symbolic names to bells, disable audible bells, and receive an event
+whenever the
+keyboard bell is rung. For the purposes of this document, the
+.I audible
+bell is defined to be the system bell, or the default keyboard bell, as opposed to
+any
+other audible sound generated elsewhere in the system.
+You can ask to receive XkbBellNotify events when any client rings any one of the
+following:
+
+.IP \(bu 5
+The default bell
+.IP \(bu 5
+Any bell on an input device that can be specified by a bell_class and bell_id pair
+.IP \(bu 5
+Any bell specified only by an arbitrary name. (This is, from the server's point of
+view,
+merely a name, and not connected with any physical sound-generating device. Some
+client
+application must generate the sound, or visual feedback, if any, that is associated
+with
+the name.)
+
+.LP
+You can also ask to receive XkbBellNotify events when the server rings the default
+bell
+or if any client has requested events only (without the bell sounding) for any of
+the
+bell types previously listed.
+
+You can disable audible bells on a global basis. For example, a client that
+replaces the
+keyboard bell with some other audible cue might want to turn off the AudibleBell
+control
+to prevent the server from also generating a sound and avoid cacophony. If you
+disable
+audible bells and request to receive XkbBellNotify events, you can generate
+feedback
+different from the default bell.
+
+You can, however, override the AudibleBell control by calling one of the functions
+that
+force the ringing of a bell in spite of the setting of the AudibleBell control -
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+In this case the server does not generate a bell event.
+
+Just as some keyboards can produce keyclicks to indicate when a key is pressed or repeating, Xkb
+can provide feedback for the controls by using special beep codes. The AccessXFeedback control
+is used to configure the specific types of operations that generate feedback.
+
+Bell Names
+
+You can associate a name to an act of ringing a bell by converting the name to an Atom
+and then using this name when you call the functions listed in this chapter. If an event
+is generated as a result, the name is then passed to all other clients interested in receiving
+XkbBellNotify events. Note that these are arbitrary names and that there is no binding to any
+sounds. Any sounds or other effects (such as visual bells on the screen) must be generated by a
+client application upon receipt of the bell event containing the name. There is no default name
+for the default keyboard bell. The server does generate some predefined bells for the AccessX
+controls. These named bells are shown in Table 1; the name is included in any bell event sent to
+clients that have requested to receive XkbBellNotify events.
+
+.TS
+c s
+l l
+lW(4i) l.
+Table 1 Predefined Bells
+_
+Action Named Bell
+_
+Indicator turned on AX_IndicatorOn
+Indicator turned off AX_IndicatorOff
+More than one indicator changed state AX_IndicatorChange
+Control turned on AX_FeatureOn
+Control turned off AX_FeatureOff
+More than one control changed state AX_FeatureChange
+T{
+SlowKeys and BounceKeys about to be turned on or off
+T} AX_SlowKeysWarning
+SlowKeys key pressed AX_SlowKeyPress
+SlowKeys key accepted AX_SlowKeyAccept
+SlowKeys key rejected AX_SlowKeyReject
+Accepted SlowKeys key released AX_SlowKeyRelease
+BounceKeys key rejected AX_BounceKeyReject
+StickyKeys key latched AX_StickyLatch
+StickyKeys key locked AX_StickyLock
+StickyKeys key unlocked AX_StickyUnlock
+.TE
+
+Audible Bells
+
+Using Xkb you can generate bell events that do not necessarily ring the system bell. This
+is useful if you need to use an audio server instead of the system beep. For example,
+when an audio client starts, it could disable the audible bell (the system bell) and then
+listen for XkbBellNotify events. When it receives a XkbBellNotify event, the audio client could
+then send a request to an audio server to play a sound.
+
+You can control the audible bells feature by passing the XkbAudibleBellMask to
+.I XkbChangeEnabledControls.
+If you set XkbAudibleBellMask on, the server rings the system bell when a bell event occurs.
+This is the default. If you set XkbAudibleBellMask off and a bell event occurs, the server does
+not ring the system bell unless you call
+.I XkbForceDeviceBell
+or
+.I XkbForceBell.
+
+Audible bells are also part of the per-client auto-reset controls.
+
+Bell Functions
+
+Use the functions described in this section to ring bells and to generate bell events.
+
+The input extension has two types of feedbacks that can generate bells - bell feedback and
+keyboard feedback. Some of the functions in this section have
+.I bell_class
+and
+.I bell_id
+parameters; set them as follows: Set
+.I bell_class
+to BellFeedbackClass or KbdFeedbackClass. A device can have more than one feedback of each type;
+set
+.I bell_id
+to the particular bell feedback of
+.I bell_class
+type.
+
+Table 2 shows the conditions that cause a bell to sound or an XkbBellNotifyEvent to be generated
+when a bell function is called.
+
+.TS
+c s s s
+l l l l
+l l l l.
+Table 2 Bell Sounding and Bell Event Generating
+_
+Function called AudibleBell Server sounds a bell Server sends an
+XkbBellNotifyEvent
+_
+XkbDeviceBell On Yes Yes
+XkbDeviceBell Off No Yes
+XkbBell On Yes Yes
+XkbBell Off No Yes
+XkbDeviceBellEvent On or Off No Yes
+XkbBellEvent On or Off No Yes
+XkbDeviceForceBell On or Off Yes No
+XkbForceBell On or Off Yes No
+.TE
+
+
+If a compatible keyboard extension isn't present in the X server,
+.I XkbForceDeviceBell
+immediately returns False. Otherwise,
+.I XkbForceDeviceBell
+rings the bell as specified for the display and keyboard device and returns
+True. Set
+.I percent
+to be the volume relative to the base volume for the keyboard as described for
+.I XBell.
+
+There is no
+.I name
+parameter because
+.I XkbForceDeviceBell
+does not cause an XkbBellNotify event.
+
+You can call
+.I XkbBell
+without first initializing the keyboard extension.
+.SH STRUCTURES
+.LP
+Xkb generates XkbBellNotify events for all bells except for those resulting from
+calls to
+.I XkbForceDeviceBell
+and
+.I XkbForceBell.
+To receive XkbBellNotify events under all possible conditions, pass
+XkbBellNotifyMask in
+both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters to
+.I XkbSelectEvents.
+
+The XkbBellNotify event has no event details. It is either selected or it is not.
+However, you can call
+.I XkbSelectEventDetails
+using XkbBellNotify as the
+.I event_type
+and specifying XkbAllBellNotifyMask in
+.I bits_to_change
+and
+.I values_for_bits.
+This has the same effect as a call to
+.I XkbSelectEvents.
+
+The structure for the XkbBellNotify event type contains:
+.nf
+
+ typedef struct _XkbBellNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbBellNotify */
+ unsigned int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ int percent; /\(** requested volume as % of max */
+ int pitch; /\(** requested pitch in Hz */
+ int duration; /\(** requested duration in microseconds */
+ unsigned int bell_class; /\(** X input extension feedback class */
+ unsigned int bell_id; /\(** X input extension feedback ID */
+ Atom name; /\(** "name" of requested bell */
+ Window window; /\(** window associated with event */
+ Bool event_only; /\(** False -> the server did not produce a beep */
+ } XkbBellNotifyEvent;
+
+.fi
+If your application needs to generate visual bell feedback on the screen when it
+receives
+a bell event, use the window ID in the XkbBellNotifyEvent, if present.
+.SH "SEE ALSO"
+.BR XBell (__libmansuffix__),
+.BR XkbBell (__libmansuffix__),
+.BR XkbBellNotify (__libmansuffix__),
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbDeviceBell (__libmansuffix__),
+.BR XkbForceBell (__libmansuffix__),
+.BR XkbForceDeviceBell (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
+
+
+
+
diff --git a/libX11/man/xkb/XkbFreeClientMap.man b/libX11/man/xkb/XkbFreeClientMap.man index fa8fea4fa..cf04ed8b1 100644 --- a/libX11/man/xkb/XkbFreeClientMap.man +++ b/libX11/man/xkb/XkbFreeClientMap.man @@ -1,201 +1,201 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec -structure -.SH SYNOPSIS -.HP -.B void XkbFreeClientMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description containing client map to free -.TP -.I \- which -mask identifying components of map to free -.TP -.I \- free_all -True => free all client components and map itself -.SH DESCRIPTION -.LP -.I XkbFreeClientMap -frees the components of client map specified by -.I which -in the XkbDescRec structure specified by the -.I xkb -parameter and sets the corresponding structure component values to NULL. The -.I which -parameter specifies a combination of the client map masks shown in Table 1. - -If -.I free_all -is True, -.I which -is ignored; -.I XkbFreeClientMap -frees every non-NULL structure component in the client map, frees the -XkbClientMapRec -structure referenced by the -.I map -member of the -.I xkb -parameter, and sets the -.I map -member to NULL. - -.TS -c s -l l -l lw(4i). -Table 1 XkbAllocClientMap Masks -_ -Mask Effect -_ -XkbKeyTypesMask T{ -The type_count field specifies the number of entries to preallocate for the -types field of the client map. If the type_count field is less than -XkbNumRequiredTypes returns BadValue. -T} -.sp -XkbKeySymsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the syms and key_sym_map fields of the client map. The fields are -allocated to contain the maximum number of entries necessary for max_key_code - -min_key_code + 1 keys. -T} -.sp -XkbModifierMapMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the modmap field of the client map. The field is allocated to contain -the maximum number of entries necessary for max_key_code - min_key_code + 1 -keys. -T} -.TE - -NOTE: The -.I min_key_code -and -.I max_key_code -fields of the -.I xkb -parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks -are set in the -.I which -parameter. If they are not valid, -.I XkbAllocClientMap -returns BadValue. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 2. - -.TS -c s s -l l l -l l l. -Table 2 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE - -The -.I map -field of the complete Xkb keyboard description is a pointer to the Xkb client -map, which is -of type XkbClientMapRec: -.nf - - typedef struct { /\(** Client Map */ - unsigned char size_types; /\(** # occupied entries in types */ - unsigned char num_types; /\(** # entries in types */ - XkbKeyTypePtr types; /\(** vector of key types used by this keymap */ - unsigned short size_syms; /\(** length of the syms array */ - unsigned short num_syms; /\(** # entries in syms */ - KeySym * syms; /\(** linear 2d tables of keysyms, 1 per key */ - XkbSymMapPtr key_sym_map; /\(** 1 per keycode, maps keycode to syms */ - unsigned char * modmap; /\(** 1 per keycode, real mods bound to key */ -} XkbClientMapRec, *XkbClientMapPtr; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbAllocClientMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeClientMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeClientMap \- Free memory used by the client map member of an XkbDescRec
+structure
+.SH SYNOPSIS
+.HP
+.B void XkbFreeClientMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to free
+.TP
+.I \- which
+mask identifying components of map to free
+.TP
+.I \- free_all
+True => free all client components and map itself
+.SH DESCRIPTION
+.LP
+.I XkbFreeClientMap
+frees the components of client map specified by
+.I which
+in the XkbDescRec structure specified by the
+.I xkb
+parameter and sets the corresponding structure component values to NULL. The
+.I which
+parameter specifies a combination of the client map masks shown in Table 1.
+
+If
+.I free_all
+is True,
+.I which
+is ignored;
+.I XkbFreeClientMap
+frees every non-NULL structure component in the client map, frees the
+XkbClientMapRec
+structure referenced by the
+.I map
+member of the
+.I xkb
+parameter, and sets the
+.I map
+member to NULL.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocClientMap Masks
+_
+Mask Effect
+_
+XkbKeyTypesMask T{
+The type_count field specifies the number of entries to preallocate for the
+types field of the client map. If the type_count field is less than
+XkbNumRequiredTypes returns BadValue.
+T}
+.sp
+XkbKeySymsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the syms and key_sym_map fields of the client map. The fields are
+allocated to contain the maximum number of entries necessary for max_key_code -
+min_key_code + 1 keys.
+T}
+.sp
+XkbModifierMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the modmap field of the client map. The field is allocated to contain
+the maximum number of entries necessary for max_key_code - min_key_code + 1
+keys.
+T}
+.TE
+
+NOTE: The
+.I min_key_code
+and
+.I max_key_code
+fields of the
+.I xkb
+parameter must be legal values if the XkbKeySymsMask or XkbModifierMapMask masks
+are set in the
+.I which
+parameter. If they are not valid,
+.I XkbAllocClientMap
+returns BadValue.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The
+.I map
+field of the complete Xkb keyboard description is a pointer to the Xkb client
+map, which is
+of type XkbClientMapRec:
+.nf
+
+ typedef struct { /\(** Client Map */
+ unsigned char size_types; /\(** # occupied entries in types */
+ unsigned char num_types; /\(** # entries in types */
+ XkbKeyTypePtr types; /\(** vector of key types used by this keymap */
+ unsigned short size_syms; /\(** length of the syms array */
+ unsigned short num_syms; /\(** # entries in syms */
+ KeySym * syms; /\(** linear 2d tables of keysyms, 1 per key */
+ XkbSymMapPtr key_sym_map; /\(** 1 per keycode, maps keycode to syms */
+ unsigned char * modmap; /\(** 1 per keycode, real mods bound to key */
+} XkbClientMapRec, *XkbClientMapPtr;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbAllocClientMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeCompatMap.man b/libX11/man/xkb/XkbFreeCompatMap.man index c98554df8..77a1b2c20 100644 --- a/libX11/man/xkb/XkbFreeCompatMap.man +++ b/libX11/man/xkb/XkbFreeCompatMap.man @@ -1,164 +1,164 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one -.SH SYNOPSIS -.HP -.B void XkbFreeCompatMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_map" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description in which to free compatibility map -.TP -.I \- which -mask of compatibility map components to free -.TP -.I \- free_map -True => free XkbCompatMap structure itself -.SH DESCRIPTION -.LP -.I which -specifies the compatibility map components to be freed (see XkbGetCompatMap). -.I which -is an inclusive OR of the bits shown in Table 1. - -.TS -c s s -l l l. -Table 1 Compatibility Map Component Masks -_ -Mask Value Affecting -_ -XkbSymInterpMask (1<<0) Symbol interpretations -XkbGroupCompatMask (1<<1) Group maps -XkbAllCompatMask (0x3) All compatibility map components -.TE - -.I free_map -indicates whether the XkbCompatMap structure itself should be freed. If -.I free_map -is True, -.I which -is ignored, all non-NULL compatibility map components are freed, and the -.I compat -field in the XkbDescRec referenced by -.I xkb -is set to NULL. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbCompatMapRec { - XkbSymInterpretPtr sym_interpret; /\(** symbol based key semantics*/ - XkbModsRec groups[XkbNumKbdGroups]; /\(** group => modifier map */ - unsigned short num_si; /\(** # structures used in sym_interpret */ - unsigned short size_si; /\(** # structures allocated in sym_interpret */ - } XkbCompatMapRec, *XkbCompatMapPtr; - -.fi - -The complete description of an Xkb keyboard is given by an XkbDescRec. The component -structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the keyboard. -The other fields specify structure components of the keyboard description and are -described in detail in other sections of this document. Table 2 identifies the -subsequent sections of this document that discuss the individual components of the -XkbDescRec. - -.TS -c s -l l -l l. -Table 2 XkbDescRec Component References -_ -XkbDescRec Field For more info -_ -ctrls Chapter 10 -server Chapter 16 -map Chapter 15 -indicators Chapter 8 -names Chapter 18 -compat Chapter 17 -geom Chapter 13 -.TE - -Each structure component has a corresponding mask bit that is used in function calls to -indicate that the structure should be manipulated in some manner, such as allocating it -or freeing it. These masks and their relationships to the fields in the XkbDescRec are -shown in Table 3. - -.TS -c s s -l l l -l l l. -Table 3 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH "SEE ALSO" -.BR XkbGetCompatMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeCompatMap \- Free an entire compatibility map or selected portions of one
+.SH SYNOPSIS
+.HP
+.B void XkbFreeCompatMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_map" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to free compatibility map
+.TP
+.I \- which
+mask of compatibility map components to free
+.TP
+.I \- free_map
+True => free XkbCompatMap structure itself
+.SH DESCRIPTION
+.LP
+.I which
+specifies the compatibility map components to be freed (see XkbGetCompatMap).
+.I which
+is an inclusive OR of the bits shown in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+.I free_map
+indicates whether the XkbCompatMap structure itself should be freed. If
+.I free_map
+is True,
+.I which
+is ignored, all non-NULL compatibility map components are freed, and the
+.I compat
+field in the XkbDescRec referenced by
+.I xkb
+is set to NULL.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCompatMapRec {
+ XkbSymInterpretPtr sym_interpret; /\(** symbol based key semantics*/
+ XkbModsRec groups[XkbNumKbdGroups]; /\(** group => modifier map */
+ unsigned short num_si; /\(** # structures used in sym_interpret */
+ unsigned short size_si; /\(** # structures allocated in sym_interpret */
+ } XkbCompatMapRec, *XkbCompatMapPtr;
+
+.fi
+
+The complete description of an Xkb keyboard is given by an XkbDescRec. The component
+structures in the XkbDescRec represent the major Xkb components outlined in Figure 1.1.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+The other fields specify structure components of the keyboard description and are
+described in detail in other sections of this document. Table 2 identifies the
+subsequent sections of this document that discuss the individual components of the
+XkbDescRec.
+
+.TS
+c s
+l l
+l l.
+Table 2 XkbDescRec Component References
+_
+XkbDescRec Field For more info
+_
+ctrls Chapter 10
+server Chapter 16
+map Chapter 15
+indicators Chapter 8
+names Chapter 18
+compat Chapter 17
+geom Chapter 13
+.TE
+
+Each structure component has a corresponding mask bit that is used in function calls to
+indicate that the structure should be manipulated in some manner, such as allocating it
+or freeing it. These masks and their relationships to the fields in the XkbDescRec are
+shown in Table 3.
+
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH "SEE ALSO"
+.BR XkbGetCompatMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeComponentList.man b/libX11/man/xkb/XkbFreeComponentList.man index 040096e2d..1ef1bc2d8 100644 --- a/libX11/man/xkb/XkbFreeComponentList.man +++ b/libX11/man/xkb/XkbFreeComponentList.man @@ -1,44 +1,44 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeComponentList \- Free the structure returned by -.I XkbListComponents -.SH SYNOPSIS -.HP -.B void XkbFreeComponentList -.BI "(\^XkbComponentListPtr " "list" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- list -pointer to XkbComponentListRec to free -.SH DESCRIPTION -.LP -When you are done using the structure returned by -.I XkbListComponents, -free it using -.I XkbFreeComponentList. -.SH "SEE ALSO" -.BR XkbListComponents (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeComponentList __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeComponentList \- Free the structure returned by
+.I XkbListComponents
+.SH SYNOPSIS
+.HP
+.B void XkbFreeComponentList
+.BI "(\^XkbComponentListPtr " "list" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- list
+pointer to XkbComponentListRec to free
+.SH DESCRIPTION
+.LP
+When you are done using the structure returned by
+.I XkbListComponents,
+free it using
+.I XkbFreeComponentList.
+.SH "SEE ALSO"
+.BR XkbListComponents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbFreeControls.man b/libX11/man/xkb/XkbFreeControls.man index 4648a0b47..29c3829a8 100644 --- a/libX11/man/xkb/XkbFreeControls.man +++ b/libX11/man/xkb/XkbFreeControls.man @@ -1,113 +1,113 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeControls \- Frees memory used by the ctrls member of an XkbDescRec structure -.SH SYNOPSIS -.HP -.B void XkbFreeControls -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description in which to free controls components -.TP -.I \- which -mask of components of ctrls to free -.TP -.I \- free_all -True => free everything + ctrls itself -.SH DESCRIPTION -.LP -.I XkbFreeControls -frees the specified components of the -.I ctrls -field in the -.I xkb -keyboard description and sets the corresponding structure component values to NULL or zero. The -.I which -mask specifies the fields of -.I ctrls -to be freed and can contain any of the controls components specified in Table 1. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - -If -.I free_all -is True, -.I XkbFreeControls -frees every non-NULL structure component in the controls, frees the XkbControlsRec structure referenced by the -.I ctrls -member of -.I xkb, -and sets -.I ctrls -to NULL. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeControls \- Frees memory used by the ctrls member of an XkbDescRec structure
+.SH SYNOPSIS
+.HP
+.B void XkbFreeControls
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description in which to free controls components
+.TP
+.I \- which
+mask of components of ctrls to free
+.TP
+.I \- free_all
+True => free everything + ctrls itself
+.SH DESCRIPTION
+.LP
+.I XkbFreeControls
+frees the specified components of the
+.I ctrls
+field in the
+.I xkb
+keyboard description and sets the corresponding structure component values to NULL or zero. The
+.I which
+mask specifies the fields of
+.I ctrls
+to be freed and can contain any of the controls components specified in Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+If
+.I free_all
+is True,
+.I XkbFreeControls
+frees every non-NULL structure component in the controls, frees the XkbControlsRec structure referenced by the
+.I ctrls
+member of
+.I xkb,
+and sets
+.I ctrls
+to NULL.
diff --git a/libX11/man/xkb/XkbFreeDeviceInfo.man b/libX11/man/xkb/XkbFreeDeviceInfo.man index 06e8555c7..4a35bab5e 100644 --- a/libX11/man/xkb/XkbFreeDeviceInfo.man +++ b/libX11/man/xkb/XkbFreeDeviceInfo.man @@ -1,176 +1,176 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeDeviceInfo \- Free an XkbDeviceInfoRec structure -.SH SYNOPSIS -.HP -.B void XkbFreeDeviceInfo -.BI "(\^XkbDeviceInfoPtr " "device_info" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- device_info -pointer to XkbDeviceInfoRec in which to free items -.TP -.I \- which -mask of components of device_info to free -.TP -.I \- free_all -True => free everything, including device_info -.SH DESCRIPTION -.LP -If -.I free_all -is True, the -.I XkbFreeDeviceInfo -frees all components of -.I device_info -and the XkbDeviceInfoRec structure pointed to by -.I device_info -itself. If -.I free_all -is False, the value of -.I which -determines which subcomponents are freed. -.I which -is an inclusive OR of one or more of the values from Table 1. If -.I which -contains XkbXI_ButtonActionsMask, all button actions associated with -.I device_info -are freed, -.I device_info->btn_acts -is set to NULL, and -.I device_info->num_btns -is set to zero. If -.I which -contains all bits in XkbXI_IndicatorsMask, all XkbDeviceLedInfoRec structures associated with -.I device_info -are freed, -.I device_info->leds -is set to NULL, and -.I device_info->sz_leds -and -.I device_info->num_leds -are set to zero. If -.I which -contains XkbXI_IndicatorMapsMask, all indicator maps associated with -.I device_info -are cleared, but the number of LEDs and the leds structures themselves is preserved. If -.I which -contains XkbXI_IndicatorNamesMask, all indicator names associated with -.I device_info -are cleared, but the number of LEDs and the leds structures themselves is preserved. If -.I which -contains XkbXI_IndicatorStateMask, the indicator state associated with the -.I device_info -leds are set to zeros but the number of LEDs and the leds structures themselves is preserved. -.bp -.nf - 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 -.fi -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb -extension in an XkbDeviceInfoRec structure: -.nf - -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; - -typedef struct { - unsigned short led_class; /\(** class for this LED device*/ - unsigned short led_id; /\(** ID for this LED device */ - unsigned int phys_indicators; /\(** bits for which LEDs physically present */ - unsigned int maps_present; /\(** bits for which LEDs have maps in maps */ - unsigned int names_present; /\(** bits for which LEDs are in names */ - unsigned int state; /\(** 1 bit => corresponding LED is on */ - Atom names[XkbNumIndicators]; /\(** names for LEDs */ - XkbIndicatorMapRec maps; /\(** indicator maps for each LED */ -} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeDeviceInfo \- Free an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.HP
+.B void XkbFreeDeviceInfo
+.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+pointer to XkbDeviceInfoRec in which to free items
+.TP
+.I \- which
+mask of components of device_info to free
+.TP
+.I \- free_all
+True => free everything, including device_info
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, the
+.I XkbFreeDeviceInfo
+frees all components of
+.I device_info
+and the XkbDeviceInfoRec structure pointed to by
+.I device_info
+itself. If
+.I free_all
+is False, the value of
+.I which
+determines which subcomponents are freed.
+.I which
+is an inclusive OR of one or more of the values from Table 1. If
+.I which
+contains XkbXI_ButtonActionsMask, all button actions associated with
+.I device_info
+are freed,
+.I device_info->btn_acts
+is set to NULL, and
+.I device_info->num_btns
+is set to zero. If
+.I which
+contains all bits in XkbXI_IndicatorsMask, all XkbDeviceLedInfoRec structures associated with
+.I device_info
+are freed,
+.I device_info->leds
+is set to NULL, and
+.I device_info->sz_leds
+and
+.I device_info->num_leds
+are set to zero. If
+.I which
+contains XkbXI_IndicatorMapsMask, all indicator maps associated with
+.I device_info
+are cleared, but the number of LEDs and the leds structures themselves is preserved. If
+.I which
+contains XkbXI_IndicatorNamesMask, all indicator names associated with
+.I device_info
+are cleared, but the number of LEDs and the leds structures themselves is preserved. If
+.I which
+contains XkbXI_IndicatorStateMask, the indicator state associated with the
+.I device_info
+leds are set to zeros but the number of LEDs and the leds structures themselves is preserved.
+.bp
+.nf
+ 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
+.fi
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+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;
+
+typedef struct {
+ unsigned short led_class; /\(** class for this LED device*/
+ unsigned short led_id; /\(** ID for this LED device */
+ unsigned int phys_indicators; /\(** bits for which LEDs physically present */
+ unsigned int maps_present; /\(** bits for which LEDs have maps in maps */
+ unsigned int names_present; /\(** bits for which LEDs are in names */
+ unsigned int state; /\(** 1 bit => corresponding LED is on */
+ Atom names[XkbNumIndicators]; /\(** names for LEDs */
+ XkbIndicatorMapRec maps; /\(** indicator maps for each LED */
+} XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbFreeGeomColors.man b/libX11/man/xkb/XkbFreeGeomColors.man index 210b034dd..7b7903eeb 100644 --- a/libX11/man/xkb/XkbFreeGeomColors.man +++ b/libX11/man/xkb/XkbFreeGeomColors.man @@ -1,80 +1,80 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomColors \- Free geometry colors -.SH SYNOPSIS -.HP -.B void XkbFreeGeomColors -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry in which colors should be freed -.TP -.I \- first -first color to be freed -.TP -.I \- count -number of colors to be freed -.TP -.I \- free_all -True => all colors are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all colors are freed regardless of the value of -.I first -or -.I count. -Otherwise, -.I count -colors are freed beginning with the one specified by -.I first. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomColors __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomColors \- Free geometry colors
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomColors
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which colors should be freed
+.TP
+.I \- first
+first color to be freed
+.TP
+.I \- count
+number of colors to be freed
+.TP
+.I \- free_all
+True => all colors are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all colors are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+colors are freed beginning with the one specified by
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomDoodads.man b/libX11/man/xkb/XkbFreeGeomDoodads.man index 260f14fc0..adb99b3ec 100644 --- a/libX11/man/xkb/XkbFreeGeomDoodads.man +++ b/libX11/man/xkb/XkbFreeGeomDoodads.man @@ -1,78 +1,78 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomDoodads \- Free geometry doodads -.SH SYNOPSIS -.HP -.B void XkbFreeGeomDoodads -.BI "(\^XkbDoodadPtr " "doodads" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- doodads -doodads to be freed -.TP -.I \- count -number of doodads to be freed -.TP -.I \- free_all -True => all doodads are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all doodads in the array are freed, regardless of the value of -.I count. -Otherwise, -.I count -doodads are freed. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomDoodads function returns Success if there are no allocation -errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomDoodads __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomDoodads \- Free geometry doodads
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomDoodads
+.BI "(\^XkbDoodadPtr " "doodads" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- doodads
+doodads to be freed
+.TP
+.I \- count
+number of doodads to be freed
+.TP
+.I \- free_all
+True => all doodads are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all doodads in the array are freed, regardless of the value of
+.I count.
+Otherwise,
+.I count
+doodads are freed.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomDoodads function returns Success if there are no allocation
+errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomKeyAliases.man b/libX11/man/xkb/XkbFreeGeomKeyAliases.man index d3a048b01..3a468feec 100644 --- a/libX11/man/xkb/XkbFreeGeomKeyAliases.man +++ b/libX11/man/xkb/XkbFreeGeomKeyAliases.man @@ -1,89 +1,89 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomKeyAliases \- Free geometry key aliases -.SH SYNOPSIS -.HP -.B void XkbFreeGeomKeyAliases -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry in which key aliases should be freed -.TP -.I \- first -first key alias to be freed -.TP -.I \- count -number of key aliases to be freed -.TP -.I \- free_all -True => all key aliases are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all aliases in the top level of the specified geometry -.I geom -are freed regardless of the value of -.I first -or -.I count. -Otherwise, -.I count -aliases in -.I geom -are freed beginning with the one specified by -.I first. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomKeyAliases function returns Success if there are no allocation -errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomKeyAliases __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomKeyAliases \- Free geometry key aliases
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomKeyAliases
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which key aliases should be freed
+.TP
+.I \- first
+first key alias to be freed
+.TP
+.I \- count
+number of key aliases to be freed
+.TP
+.I \- free_all
+True => all key aliases are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all aliases in the top level of the specified geometry
+.I geom
+are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+aliases in
+.I geom
+are freed beginning with the one specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomKeyAliases function returns Success if there are no allocation
+errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomKeys.man b/libX11/man/xkb/XkbFreeGeomKeys.man index 3c2f768e1..6cca62fc6 100644 --- a/libX11/man/xkb/XkbFreeGeomKeys.man +++ b/libX11/man/xkb/XkbFreeGeomKeys.man @@ -1,58 +1,58 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomKeys \- Free geometry keys -.SH SYNOPSIS -.HP -.B void XkbFreeGeomKeys -.BI "(\^XkbRowPtr " "row" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -row in which keys should be freed -.TP -.I \- first -first key to be freed -.TP -.I \- count -number of keys to be freed -.TP -.I \- free_all -True => all keys are freed -.SH DESCRIPTION -.LP -If -.I free_all -is True, all keys are freed regardless of the value of -.I first -or -.I count. -Otherwise, -.I count -keys are freed beginning with the one specified by -.I first. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomKeys \- Free geometry keys
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomKeys
+.BI "(\^XkbRowPtr " "row" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row in which keys should be freed
+.TP
+.I \- first
+first key to be freed
+.TP
+.I \- count
+number of keys to be freed
+.TP
+.I \- free_all
+True => all keys are freed
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, all keys are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+keys are freed beginning with the one specified by
+.I first.
diff --git a/libX11/man/xkb/XkbFreeGeomOutlines.man b/libX11/man/xkb/XkbFreeGeomOutlines.man index 6c30de6b0..4ef694a94 100644 --- a/libX11/man/xkb/XkbFreeGeomOutlines.man +++ b/libX11/man/xkb/XkbFreeGeomOutlines.man @@ -1,58 +1,58 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomOutlines \- Free geometry outlines -.SH SYNOPSIS -.HP -.B void XkbFreeGeomOutlines -.BI "(\^XkbShapePtr " "shape" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- shape -shape in which outlines should be freed -.TP -.I \- first -first outline to be freed -.TP -.I \- count -number of outlines to be freed -.TP -.I \- free_all -True => all outlines are freed -.SH DESCRIPTION -.LP -If -.I free_all -is True, all outlines are freed regardless of the value of -.I first -or -.I count. -Otherwise, -.I count -outlines are freed beginning with the one specified by -.I first. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomOutlines __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOutlines \- Free geometry outlines
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomOutlines
+.BI "(\^XkbShapePtr " "shape" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- shape
+shape in which outlines should be freed
+.TP
+.I \- first
+first outline to be freed
+.TP
+.I \- count
+number of outlines to be freed
+.TP
+.I \- free_all
+True => all outlines are freed
+.SH DESCRIPTION
+.LP
+If
+.I free_all
+is True, all outlines are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+outlines are freed beginning with the one specified by
+.I first.
diff --git a/libX11/man/xkb/XkbFreeGeomOverlayKeys.man b/libX11/man/xkb/XkbFreeGeomOverlayKeys.man index ebd0a6c94..e417bd99c 100644 --- a/libX11/man/xkb/XkbFreeGeomOverlayKeys.man +++ b/libX11/man/xkb/XkbFreeGeomOverlayKeys.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomOverlayKeys \- Free keys in an overlay row -.SH SYNOPSIS -.HP -.B void XkbFreeGeomOverlayKeys -.BI "(\^XkbRowPtr " "row" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- row -row in which keys should be freed -.TP -.I \- first -first key to be freed -.TP -.I \- count -number of keys to be freed -.TP -.I \- free_all -True => all keys are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all keys are freed regardless of the value of -.I first -and -.I count. -Otherwise, the number of keys specified by -.I count -are freed, beginning with the key specified by -.I first -in the specified row. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomOverlayKeys function returns Success if there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomOverlayKeys __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlayKeys \- Free keys in an overlay row
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomOverlayKeys
+.BI "(\^XkbRowPtr " "row" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- row
+row in which keys should be freed
+.TP
+.I \- first
+first key to be freed
+.TP
+.I \- count
+number of keys to be freed
+.TP
+.I \- free_all
+True => all keys are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all keys are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of keys specified by
+.I count
+are freed, beginning with the key specified by
+.I first
+in the specified row.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlayKeys function returns Success if there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomOverlayRows.man b/libX11/man/xkb/XkbFreeGeomOverlayRows.man index 1eed3b919..b2549286e 100644 --- a/libX11/man/xkb/XkbFreeGeomOverlayRows.man +++ b/libX11/man/xkb/XkbFreeGeomOverlayRows.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomOverlayRows \- Free rows in an overlay -.SH SYNOPSIS -.HP -.B void XkbFreeGeomOverlayRows -.BI "(\^XkbSectionPtr " "overlay" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- overlay -section in which rows should be freed -.TP -.I \- first -first row to be freed -.TP -.I \- count -number of rows to be freed -.TP -.I \- free_all -True => all rows are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all rows are freed regardless of the value of -.I first -and -.I count. -Otherwise, the number of rows specified by -.I count -are freed, beginning with the row specified by -.I first -in the specified overlay. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomOverlayRows function returns Success if there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomOverlayRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlayRows \- Free rows in an overlay
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomOverlayRows
+.BI "(\^XkbSectionPtr " "overlay" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- overlay
+section in which rows should be freed
+.TP
+.I \- first
+first row to be freed
+.TP
+.I \- count
+number of rows to be freed
+.TP
+.I \- free_all
+True => all rows are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all rows are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of rows specified by
+.I count
+are freed, beginning with the row specified by
+.I first
+in the specified overlay.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlayRows function returns Success if there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomOverlays.man b/libX11/man/xkb/XkbFreeGeomOverlays.man index aecd2974e..a8b54605d 100644 --- a/libX11/man/xkb/XkbFreeGeomOverlays.man +++ b/libX11/man/xkb/XkbFreeGeomOverlays.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomOverlays \- Free rows in a section -.SH SYNOPSIS -.HP -.B void XkbFreeGeomOverlays -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section in which overlays should be freed -.TP -.I \- first -first overlay to be freed -.TP -.I \- count -number of overlays to be freed -.TP -.I \- free_all -True => all overlays are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all overlays are freed regardless of the value of -.I first -and -.I count. -Otherwise, the number of overlays specified by -.I count -are freed, beginning with the overlay specified by -.I first -in the specified section. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomOverlays functions returns Success if there are no allocation or -argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomOverlays __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomOverlays \- Free rows in a section
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomOverlays
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section in which overlays should be freed
+.TP
+.I \- first
+first overlay to be freed
+.TP
+.I \- count
+number of overlays to be freed
+.TP
+.I \- free_all
+True => all overlays are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all overlays are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of overlays specified by
+.I count
+are freed, beginning with the overlay specified by
+.I first
+in the specified section.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomOverlays functions returns Success if there are no allocation or
+argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomPoints.man b/libX11/man/xkb/XkbFreeGeomPoints.man index 4046c763f..5cba3e91f 100644 --- a/libX11/man/xkb/XkbFreeGeomPoints.man +++ b/libX11/man/xkb/XkbFreeGeomPoints.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomPoints \- Free points in a outline -.SH SYNOPSIS -.HP -.B void XkbFreeGeomPoints -.BI "(\^XkbOutlinePtr " "outline" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- outline -outline in which points should be freed -.TP -.I \- first -first point to be freed -.TP -.I \- count -number of points to be freed -.TP -.I \- free_all -True => all points are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all points are freed regardless of the value of ->i first -and -.I count. -Otherwise, the number of points specified by -.I count -are freed, beginning with the point specified by -.I first -in the specified outline. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomPoints function returns Success when there are no allocation or -argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomPoints __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomPoints \- Free points in a outline
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomPoints
+.BI "(\^XkbOutlinePtr " "outline" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- outline
+outline in which points should be freed
+.TP
+.I \- first
+first point to be freed
+.TP
+.I \- count
+number of points to be freed
+.TP
+.I \- free_all
+True => all points are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all points are freed regardless of the value of
+>i first
+and
+.I count.
+Otherwise, the number of points specified by
+.I count
+are freed, beginning with the point specified by
+.I first
+in the specified outline.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomPoints function returns Success when there are no allocation or
+argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomProperties.man b/libX11/man/xkb/XkbFreeGeomProperties.man index 2ab5950b7..0fdfca8ab 100644 --- a/libX11/man/xkb/XkbFreeGeomProperties.man +++ b/libX11/man/xkb/XkbFreeGeomProperties.man @@ -1,85 +1,85 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomProperties __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomProperties \- Free geometry properties -.SH SYNOPSIS -.HP -.B void XkbFreeGeomProperties -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool *" "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry in which properties should be freed -.TP -.I \- first -first property to be freed -.TP -.I \- count -number of properties to be freed -.TP -.I \- free_all -True => all properties are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all properties are freed regardless of the value of -.I first -or -.I count. -Otherwise, -.I count -properties are freed beginning with the one specified by -.I first. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomProperties function returns Success when there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomProperties __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomProperties \- Free geometry properties
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomProperties
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool *" "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which properties should be freed
+.TP
+.I \- first
+first property to be freed
+.TP
+.I \- count
+number of properties to be freed
+.TP
+.I \- free_all
+True => all properties are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all properties are freed regardless of the value of
+.I first
+or
+.I count.
+Otherwise,
+.I count
+properties are freed beginning with the one specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomProperties function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomRows.man b/libX11/man/xkb/XkbFreeGeomRows.man index 63c3f24ef..be4e1f501 100644 --- a/libX11/man/xkb/XkbFreeGeomRows.man +++ b/libX11/man/xkb/XkbFreeGeomRows.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomRows \- Free rows in a section -.SH SYNOPSIS -.HP -.B void XkbFreeGeomRows -.BI "(\^XkbSectionPtr " "section" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- section -section in which rows should be freed -.TP -.I \- first -first row to be freed -.TP -.I \- count -number of rows to be freed -.TP -.I \- free_all -True => all rows are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all rows are freed regardless of the value of -.I first -and -.I count. -Otherwise, the number of rows specified by -.I count -are freed, beginning with the row specified by -.I first -in the specified section. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomRows function returns Success when there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomRows __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomRows \- Free rows in a section
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomRows
+.BI "(\^XkbSectionPtr " "section" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- section
+section in which rows should be freed
+.TP
+.I \- first
+first row to be freed
+.TP
+.I \- count
+number of rows to be freed
+.TP
+.I \- free_all
+True => all rows are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all rows are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of rows specified by
+.I count
+are freed, beginning with the row specified by
+.I first
+in the specified section.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomRows function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomSections.man b/libX11/man/xkb/XkbFreeGeomSections.man index 245d0c1ad..405857b9d 100644 --- a/libX11/man/xkb/XkbFreeGeomSections.man +++ b/libX11/man/xkb/XkbFreeGeomSections.man @@ -1,86 +1,86 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomSections \- Free geometry sections -.SH SYNOPSIS -.HP -.B void XkbFreeGeomSections -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry in which sections should be freed -.TP -.I \- first -first section to be freed -.TP -.I \- count -number of sections to be freed -.TP -.I \- free_all -True => all sections are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all sections are freed regardless of the value of -.I first -and -.I count. -Otherwise, the number of sections specified by -.I count -are freed, beginning with the section specified by -.I first -in the specified geometry. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomSections function returns Success when there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomSections __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomSections \- Free geometry sections
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomSections
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which sections should be freed
+.TP
+.I \- first
+first section to be freed
+.TP
+.I \- count
+number of sections to be freed
+.TP
+.I \- free_all
+True => all sections are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all sections are freed regardless of the value of
+.I first
+and
+.I count.
+Otherwise, the number of sections specified by
+.I count
+are freed, beginning with the section specified by
+.I first
+in the specified geometry.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomSections function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeomShapes.man b/libX11/man/xkb/XkbFreeGeomShapes.man index db824b357..8bfebd99a 100644 --- a/libX11/man/xkb/XkbFreeGeomShapes.man +++ b/libX11/man/xkb/XkbFreeGeomShapes.man @@ -1,85 +1,85 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeGeomShapes \- Free geometry shapes -.SH SYNOPSIS -.HP -.B void XkbFreeGeomShapes -.BI "(\^XkbGeometryPtr " "geom" "\^," -.BI "int " "first" "\^," -.BI "int " "count" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- geom -geometry in which shapes should be freed -.TP -.I \- first -first shape to be freed -.TP -.I \- count -number of shapes to be freed -.TP -.I \- free_all -True => all shapes are freed -.SH DESCRIPTION -.LP -Xkb provides a number of functions to allocate and free subcomponents of a -keyboard geometry. Use these functions to create or modify keyboard geometries. -Note that these functions merely allocate space for the new element(s), and it -is up to you to fill in the values explicitly in your code. These allocation -functions increase -.I sz_* -but never touch -.I num_* -(unless there is an allocation failure, in which case they reset both -.I sz_* -and -.I num_* -to zero). These functions return Success if they succeed, BadAlloc if they are -not able to allocate space, or BadValue if a parameter is not as expected. - -If -.I free_all -is True, all shapes in the geometry are freed regardless of the values of -.I first -and -.I count. -Otherwise, -.I count -shapes are freed, beginning with the shape specified by -.I first. -.SH "RETURN VALUES" -.TP 15 -Success -The XkbFreeGeomShapes function returns Success when there are no allocation -or argument errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeGeomShapes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeGeomShapes \- Free geometry shapes
+.SH SYNOPSIS
+.HP
+.B void XkbFreeGeomShapes
+.BI "(\^XkbGeometryPtr " "geom" "\^,"
+.BI "int " "first" "\^,"
+.BI "int " "count" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- geom
+geometry in which shapes should be freed
+.TP
+.I \- first
+first shape to be freed
+.TP
+.I \- count
+number of shapes to be freed
+.TP
+.I \- free_all
+True => all shapes are freed
+.SH DESCRIPTION
+.LP
+Xkb provides a number of functions to allocate and free subcomponents of a
+keyboard geometry. Use these functions to create or modify keyboard geometries.
+Note that these functions merely allocate space for the new element(s), and it
+is up to you to fill in the values explicitly in your code. These allocation
+functions increase
+.I sz_*
+but never touch
+.I num_*
+(unless there is an allocation failure, in which case they reset both
+.I sz_*
+and
+.I num_*
+to zero). These functions return Success if they succeed, BadAlloc if they are
+not able to allocate space, or BadValue if a parameter is not as expected.
+
+If
+.I free_all
+is True, all shapes in the geometry are freed regardless of the values of
+.I first
+and
+.I count.
+Otherwise,
+.I count
+shapes are freed, beginning with the shape specified by
+.I first.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The XkbFreeGeomShapes function returns Success when there are no allocation
+or argument errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbFreeGeometry.man b/libX11/man/xkb/XkbFreeGeometry.man index 636b16ce4..0ae3c19c5 100644 --- a/libX11/man/xkb/XkbFreeGeometry.man +++ b/libX11/man/xkb/XkbFreeGeometry.man @@ -1,4 +1,4 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbFreeIndicatorMaps.man b/libX11/man/xkb/XkbFreeIndicatorMaps.man index 4e8a136b3..abd423fe2 100644 --- a/libX11/man/xkb/XkbFreeIndicatorMaps.man +++ b/libX11/man/xkb/XkbFreeIndicatorMaps.man @@ -1,48 +1,48 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeIndicatorMaps \- Frees memory used by the -.I indicators -member of an XkbDescRec structure -.SH SYNOPSIS -.HP -.B void XkbFreeIndicatorMaps -.BI "(\^XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description structure -.SH DESCRIPTION -.LP -If the -.I indicators -member of the keyboard description record pointed to by -.I xkb -is not NULL, -.I XkbFreeIndicatorMaps -frees the memory associated with the -.I indicators -member of -.I xkb. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeIndicatorMaps __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeIndicatorMaps \- Frees memory used by the
+.I indicators
+member of an XkbDescRec structure
+.SH SYNOPSIS
+.HP
+.B void XkbFreeIndicatorMaps
+.BI "(\^XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description structure
+.SH DESCRIPTION
+.LP
+If the
+.I indicators
+member of the keyboard description record pointed to by
+.I xkb
+is not NULL,
+.I XkbFreeIndicatorMaps
+frees the memory associated with the
+.I indicators
+member of
+.I xkb.
diff --git a/libX11/man/xkb/XkbFreeKeyboard.man b/libX11/man/xkb/XkbFreeKeyboard.man index b3fe83c01..f69171f27 100644 --- a/libX11/man/xkb/XkbFreeKeyboard.man +++ b/libX11/man/xkb/XkbFreeKeyboard.man @@ -1,62 +1,62 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its -members -.SH SYNOPSIS -.HP -.B void XkbFreeKeyboard -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I xkb -keyboard description with components to free -.TP -.I which -mask selecting components to free -.TP -.I free_all -True => free all components and -.I xkb -.SH DESCRIPTION -.LP -.I XkbFreeKeyboard -frees the components of -.I xkb -specified by -.I which -and sets the corresponding values to NULL. If -.I -free_all -is True, -.I XkbFreeKeyboard -frees every non-NULL component of -.I xkb -and then frees the -.I xkb -structure itself. - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeKeyboard \- Destroys either an entire XkbDescRec or just some of its
+members
+.SH SYNOPSIS
+.HP
+.B void XkbFreeKeyboard
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I xkb
+keyboard description with components to free
+.TP
+.I which
+mask selecting components to free
+.TP
+.I free_all
+True => free all components and
+.I xkb
+.SH DESCRIPTION
+.LP
+.I XkbFreeKeyboard
+frees the components of
+.I xkb
+specified by
+.I which
+and sets the corresponding values to NULL. If
+.I
+free_all
+is True,
+.I XkbFreeKeyboard
+frees every non-NULL component of
+.I xkb
+and then frees the
+.I xkb
+structure itself.
+
diff --git a/libX11/man/xkb/XkbFreeNames.man b/libX11/man/xkb/XkbFreeNames.man index 7fc3dcd28..a991057b6 100644 --- a/libX11/man/xkb/XkbFreeNames.man +++ b/libX11/man/xkb/XkbFreeNames.man @@ -1,93 +1,93 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeNames \- Free symbolic names structures -.SH SYNOPSIS -.HP -.B void XkbFreeNames -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_map" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description for which names are to be freed -.TP -.I \- which -mask of names components to be freed -.TP -.I \- free_map -True => XkbNamesRec structure itself should be freed -.SH DESCRIPTION -.LP -Do not free symbolic names structures directly using -.I free -or -.I XFree. -Use -.I XkbFreeNames -instead. - -The -.I which -parameter is the bitwise inclusive OR of the valid names mask bits defined in -Table 1. - -Xkb provides several functions that work with symbolic names. Each of these -functions uses a mask to specify individual fields of the structures described -above. These masks and their relationships to the fields in a keyboard -description are shown in Table 1. - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeNames \- Free symbolic names structures
+.SH SYNOPSIS
+.HP
+.B void XkbFreeNames
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_map" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for which names are to be freed
+.TP
+.I \- which
+mask of names components to be freed
+.TP
+.I \- free_map
+True => XkbNamesRec structure itself should be freed
+.SH DESCRIPTION
+.LP
+Do not free symbolic names structures directly using
+.I free
+or
+.I XFree.
+Use
+.I XkbFreeNames
+instead.
+
+The
+.I which
+parameter is the bitwise inclusive OR of the valid names mask bits defined in
+Table 1.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to specify individual fields of the structures described
+above. These masks and their relationships to the fields in a keyboard
+description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
diff --git a/libX11/man/xkb/XkbFreeServerMap.man b/libX11/man/xkb/XkbFreeServerMap.man index 8a50b06db..db82d9c7b 100644 --- a/libX11/man/xkb/XkbFreeServerMap.man +++ b/libX11/man/xkb/XkbFreeServerMap.man @@ -1,187 +1,187 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbFreeServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec -structure -.SH SYNOPSIS -.HP -.B void XkbFreeServerMap -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "Bool " "free_all" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description containing server map to free -.TP -.I \- which -mask identifying components of map to free -.TP -.I \- free_all -True => free all server map components and server itself -.SH DESCRIPTION -.LP -The -.I XkbFreeServerMap -function frees the specified components of server map in the XkbDescRec -structure specified by the -.I xkb -parameter and sets the corresponding structure component values to NULL. The -.I which parameter specifies a combination of the server map masks and is a -bitwise inclusive OR -of the masks listed in Table 1. If -.I free_all -is True, -.I which -is ignored and -.I XkbFreeServerMap -frees every non-NULL structure component in the server map, frees the -XkbServerMapRec structure -referenced by the -.I server -member of the -.I xkb -parameter, and sets the -.I server -member to NULL. - -.TS -c s -l l -l lw(4i). -Table 1 XkbAllocServerMap Masks -_ -Mask Effect -_ -XkbExplicitComponentsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the explicit field of the server map. -T} -.sp -XkbKeyActionsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the key_acts -field of the server map. The count_acts parameter is used to allocate the acts -field of the -server map. -T} -.sp -XkbKeyBehaviorsMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the behaviors -field of the server map. -T} -.sp -XkbVirtualModMapMask T{ -The min_key_code and max_key_code fields of the xkb parameter are used to -allocate the vmodmap -field of the server map. -T} - -.TE -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 2. - -.TS -c s s -l l l -l l l. -Table 2 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE - -The Xkb server map contains the information the server needs to interpret key -events and is of -type XkbServerMapRec: - -.nf -\&#define XkbNumVirtualMods 16 - -typedef struct { /\(** Server Map */ - unsigned short num_acts; /\(** # of occupied entries in acts */ - unsigned short size_acts; /\(** # of entries in acts */ - XkbAction * acts; /\(** linear 2d tables of key actions, 1 per keycode */ - XkbBehavior * behaviors; /\(** key behaviors,1 per keycode */ - unsigned short * key_acts; /\(** index into acts, 1 per keycode */ - unsigned char * explicit; /\(** explicit overrides of core remapping, 1 per key */ - unsigned char vmods[XkbNumVirtualMods]; /\(** real mods bound to virtual mods */ - unsigned short * vmodmap; /\(** virtual mods bound to key, 1 per keycode*/ -} XkbServerMapRec, *XkbServerMapPtr; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbFreeServerMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbFreeServerMap \- Free memory used by the server member of an XkbDescRec
+structure
+.SH SYNOPSIS
+.HP
+.B void XkbFreeServerMap
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "Bool " "free_all" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing server map to free
+.TP
+.I \- which
+mask identifying components of map to free
+.TP
+.I \- free_all
+True => free all server map components and server itself
+.SH DESCRIPTION
+.LP
+The
+.I XkbFreeServerMap
+function frees the specified components of server map in the XkbDescRec
+structure specified by the
+.I xkb
+parameter and sets the corresponding structure component values to NULL. The
+.I which parameter specifies a combination of the server map masks and is a
+bitwise inclusive OR
+of the masks listed in Table 1. If
+.I free_all
+is True,
+.I which
+is ignored and
+.I XkbFreeServerMap
+frees every non-NULL structure component in the server map, frees the
+XkbServerMapRec structure
+referenced by the
+.I server
+member of the
+.I xkb
+parameter, and sets the
+.I server
+member to NULL.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 XkbAllocServerMap Masks
+_
+Mask Effect
+_
+XkbExplicitComponentsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the explicit field of the server map.
+T}
+.sp
+XkbKeyActionsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the key_acts
+field of the server map. The count_acts parameter is used to allocate the acts
+field of the
+server map.
+T}
+.sp
+XkbKeyBehaviorsMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the behaviors
+field of the server map.
+T}
+.sp
+XkbVirtualModMapMask T{
+The min_key_code and max_key_code fields of the xkb parameter are used to
+allocate the vmodmap
+field of the server map.
+T}
+
+.TE
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The Xkb server map contains the information the server needs to interpret key
+events and is of
+type XkbServerMapRec:
+
+.nf
+\&#define XkbNumVirtualMods 16
+
+typedef struct { /\(** Server Map */
+ unsigned short num_acts; /\(** # of occupied entries in acts */
+ unsigned short size_acts; /\(** # of entries in acts */
+ XkbAction * acts; /\(** linear 2d tables of key actions, 1 per keycode */
+ XkbBehavior * behaviors; /\(** key behaviors,1 per keycode */
+ unsigned short * key_acts; /\(** index into acts, 1 per keycode */
+ unsigned char * explicit; /\(** explicit overrides of core remapping, 1 per key */
+ unsigned char vmods[XkbNumVirtualMods]; /\(** real mods bound to virtual mods */
+ unsigned short * vmodmap; /\(** virtual mods bound to key, 1 per keycode*/
+} XkbServerMapRec, *XkbServerMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbGetAccessXTimeout.man b/libX11/man/xkb/XkbGetAccessXTimeout.man index 2833be664..adb4c877a 100644 --- a/libX11/man/xkb/XkbGetAccessXTimeout.man +++ b/libX11/man/xkb/XkbGetAccessXTimeout.man @@ -1,140 +1,140 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetAccessXTimeout \- Queries the current AccessXTimeout options for a -keyboard device -.SH SYNOPSIS -.HP -.B Bool XkbGetAccessXTimeout -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned short *" "timeout_rtrn" "\^," -.BI "unsigned int *" "ctrls_mask_rtrn" "\^," -.BI "unsigned int *" "ctrls_values_rtrn" "\^," -.BI "unsigned short *" "options_mask_rtrn" "\^," -.BI "unsigned short *" "options_values_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -unsigned short -.TP -.I \- device_spec -device to query, or XkbUseCoreKbd -.TP -.I \- timeout_rtrn -delay until AccessXTimeout, seconds -.TP -.I \- ctrls_mask_rtrn -backfilled with controls to modify -.TP -.I \- ctrls_values_rtrn -backfilled with on/off status for controls -.TP -.I \- options_mask_rtrn -backfilled with ax_options to modify -.TP -.I \- options_values_rtrn -backfilled with values for ax_options -.SH DESCRIPTION -.LP -In environments where computers are shared, features such as SlowKeys present a -problem: if -SlowKeys is on, the keyboard can appear to be unresponsive because keys are not -accepted -until they are held for a certain period of time. To help solve this problem, -Xkb provides -an AccessXTimeout control to automatically change the enabled/disabled state of -any boolean -controls and to change the value of the AccessXKeys and AccessXFeedback control -attributes -if the keyboard is idle for a specified period of time. - -When a timeout as specified by AccessXTimeout occurs and a control is -consequently modified, -Xkb generates an XkbControlsNotify event. - -.I XkbGetAccessXTimeout -sends a request to the X server to obtain the current values for the -AccessXTimeout attributes, waits for a reply, and backfills the values into the -appropriate arguments. The parameters -.I options_mask_rtrn -and -.I options_values_rtrn -are backfilled with the options to modify and the values for -.I ax_options, -which is a field in the XkbControlsRec structure. -.I XkbGetAccessXTimeout -returns True if successful; if a compatible version of the Xkb extension is not -available in the server, -.I XkbGetAccessXTimeout -returns False. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbGetAccessXTimeout -returns True when it successfully sends a request to the X server to obtain the -current values for the AccessXTimeout attributes, waits for a reply, and -backfills the values into the appropriate arguments. -.TP 15 -False -The -.I XkbGetAccessXTimeout -funtion returns False if a compatible version of the Xkb extension is not -available in the -server. -.SH STRUCTURES -.LP -.nf -The XkbControlsRec structure is defined as follows: - -\&#define XkbMaxLegalKeyCode 255 -\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - -typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ -} XkbControlsRec, *XkbControlsPtr; -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAccessXTimeout \- Queries the current AccessXTimeout options for a
+keyboard device
+.SH SYNOPSIS
+.HP
+.B Bool XkbGetAccessXTimeout
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned short *" "timeout_rtrn" "\^,"
+.BI "unsigned int *" "ctrls_mask_rtrn" "\^,"
+.BI "unsigned int *" "ctrls_values_rtrn" "\^,"
+.BI "unsigned short *" "options_mask_rtrn" "\^,"
+.BI "unsigned short *" "options_values_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+unsigned short
+.TP
+.I \- device_spec
+device to query, or XkbUseCoreKbd
+.TP
+.I \- timeout_rtrn
+delay until AccessXTimeout, seconds
+.TP
+.I \- ctrls_mask_rtrn
+backfilled with controls to modify
+.TP
+.I \- ctrls_values_rtrn
+backfilled with on/off status for controls
+.TP
+.I \- options_mask_rtrn
+backfilled with ax_options to modify
+.TP
+.I \- options_values_rtrn
+backfilled with values for ax_options
+.SH DESCRIPTION
+.LP
+In environments where computers are shared, features such as SlowKeys present a
+problem: if
+SlowKeys is on, the keyboard can appear to be unresponsive because keys are not
+accepted
+until they are held for a certain period of time. To help solve this problem,
+Xkb provides
+an AccessXTimeout control to automatically change the enabled/disabled state of
+any boolean
+controls and to change the value of the AccessXKeys and AccessXFeedback control
+attributes
+if the keyboard is idle for a specified period of time.
+
+When a timeout as specified by AccessXTimeout occurs and a control is
+consequently modified,
+Xkb generates an XkbControlsNotify event.
+
+.I XkbGetAccessXTimeout
+sends a request to the X server to obtain the current values for the
+AccessXTimeout attributes, waits for a reply, and backfills the values into the
+appropriate arguments. The parameters
+.I options_mask_rtrn
+and
+.I options_values_rtrn
+are backfilled with the options to modify and the values for
+.I ax_options,
+which is a field in the XkbControlsRec structure.
+.I XkbGetAccessXTimeout
+returns True if successful; if a compatible version of the Xkb extension is not
+available in the server,
+.I XkbGetAccessXTimeout
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetAccessXTimeout
+returns True when it successfully sends a request to the X server to obtain the
+current values for the AccessXTimeout attributes, waits for a reply, and
+backfills the values into the appropriate arguments.
+.TP 15
+False
+The
+.I XkbGetAccessXTimeout
+funtion returns False if a compatible version of the Xkb extension is not
+available in the
+server.
+.SH STRUCTURES
+.LP
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbGetAutoRepeatRate.man b/libX11/man/xkb/XkbGetAutoRepeatRate.man index 69c834dad..d9e6af7ac 100644 --- a/libX11/man/xkb/XkbGetAutoRepeatRate.man +++ b/libX11/man/xkb/XkbGetAutoRepeatRate.man @@ -1,84 +1,84 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control -for a keyboard device -.SH SYNOPSIS -.HP -.B Bool XkbGetAutoRepeatRate -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int *" "timeout_rtrn" "\^," -.BI "unsigned int *" "interval_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- device_spec -desired device ID, or XkbUseCoreKbd -.TP -.I \- timeout_rtrn -backfilled with initial repeat delay, ms -.TP -.I \- interval_rtrn -backfilled with subsequent repeat delay, ms -.SH DESCRIPTION -.LP -The core protocol allows only control over whether or not the entire keyboard or -individual keys should auto-repeat when held down. RepeatKeys is a boolean -control that extends this capability by adding control over the delay until a -key begins to repeat and the rate at which it repeats. RepeatKeys is coupled -with the core auto-repeat control: when RepeatKeys is enabled or disabled, the -core auto-repeat is enabled or disabled and vice versa. - -Auto-repeating keys are controlled by two attributes. The first, -.I timeout, -is the delay after the initial press of an auto-repeating key and the first -generated repeat event. The second, -.I interval, -is the delay between all subsequent generated repeat events. As with all boolean -controls, configuring the attributes that determine how the control operates -does not automatically enable the control as a whole. - -.I XkbGetAutoRepeatRate -queries the server for the current values of the RepeatControls control -attributes, backfills -.I timeout_rtrn -and -.I interval_rtrn -with them, and returns True. If a compatible version of the Xkb extension is not -available in the server -.I XkbGetAutoRepeatRate -returns False. -.SH "RETURN VALUES" -.TP 15 -True -The XkbGetAutoRepeatRate function returns True if a compatible version of the -Xkb extension is available in the server. -.TP 15 -False -The XkbGetAutoRepeatRate function returns False if a compatible version of the -Xkb extension is not available in the server. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAutoRepeatRate \- Gets the current attributes of the RepeatKeys control
+for a keyboard device
+.SH SYNOPSIS
+.HP
+.B Bool XkbGetAutoRepeatRate
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int *" "timeout_rtrn" "\^,"
+.BI "unsigned int *" "interval_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+desired device ID, or XkbUseCoreKbd
+.TP
+.I \- timeout_rtrn
+backfilled with initial repeat delay, ms
+.TP
+.I \- interval_rtrn
+backfilled with subsequent repeat delay, ms
+.SH DESCRIPTION
+.LP
+The core protocol allows only control over whether or not the entire keyboard or
+individual keys should auto-repeat when held down. RepeatKeys is a boolean
+control that extends this capability by adding control over the delay until a
+key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
+with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
+core auto-repeat is enabled or disabled and vice versa.
+
+Auto-repeating keys are controlled by two attributes. The first,
+.I timeout,
+is the delay after the initial press of an auto-repeating key and the first
+generated repeat event. The second,
+.I interval,
+is the delay between all subsequent generated repeat events. As with all boolean
+controls, configuring the attributes that determine how the control operates
+does not automatically enable the control as a whole.
+
+.I XkbGetAutoRepeatRate
+queries the server for the current values of the RepeatControls control
+attributes, backfills
+.I timeout_rtrn
+and
+.I interval_rtrn
+with them, and returns True. If a compatible version of the Xkb extension is not
+available in the server
+.I XkbGetAutoRepeatRate
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The XkbGetAutoRepeatRate function returns True if a compatible version of the
+Xkb extension is available in the server.
+.TP 15
+False
+The XkbGetAutoRepeatRate function returns False if a compatible version of the
+Xkb extension is not available in the server.
diff --git a/libX11/man/xkb/XkbGetAutoResetControls.man b/libX11/man/xkb/XkbGetAutoResetControls.man index 1e6137511..60cf6ee81 100644 --- a/libX11/man/xkb/XkbGetAutoResetControls.man +++ b/libX11/man/xkb/XkbGetAutoResetControls.man @@ -1,91 +1,91 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetAutoResetControls \- Gets the current values of the auto-reset controls -.SH SYNOPSIS -.HP -.B Bool XkbGetAutoResetControls -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int *" "auto_ctrls" "\^," -.BI "unsigned int *" "auto_values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy - connection to X server -.TP -.I \- auto_ctrls - specifies which bits in auto_values are relevant -.TP -.I \- auto_values -1 bit => corresponding control has auto-reset on -.SH DESCRIPTION -.LP -You can configure the boolean controls to automatically be enabled or -disabled when a program exits. This capability is controlled via two masks -maintained in the X server on a per-client basis. There is no client-side Xkb -data structure corresponding to these masks. Whenever the client exits for -any reason, any boolean controls specified in the -.I auto-reset mask -are set to the corresponding value from the -.I auto-reset values -mask. This makes it -possible for clients to "clean up after themselves" automatically, even if -abnormally terminated. The bits used in the masks correspond to the -EnabledControls control bits. - -For example, a client that replaces the keyboard bell with some other audible -cue might want to turn off the AudibleBell control to prevent the server from -also generating a sound and avoid cacophony. If the client were to exit -without resetting the AudibleBell control, the user would be left without any -feedback at all. Setting AudibleBell in both the auto-reset mask and -auto-reset values guarantees that the audible bell will be turned back on -when the client exits. - -.I XkbGetAutoResetControls -backfills -.I auto_ctrls -and -.I auto_values -with the AutoReset control attributes for this particular client. It returns -True if successful, and False otherwise. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbGetAutoResetControls -function returns True when it successfully backfills -.I auto_ctrls -and -.I auto_values -with the AutoReset control attributes for this particular client. -.TP 15 -False -The -.I XkbGetAutoResetControls -function returns False when it does not successfully backfill -.I auto_ctrls -and -.I auto_values -with the AutoReset control attributes for this particular client. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetAutoResetControls \- Gets the current values of the auto-reset controls
+.SH SYNOPSIS
+.HP
+.B Bool XkbGetAutoResetControls
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int *" "auto_ctrls" "\^,"
+.BI "unsigned int *" "auto_values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+ connection to X server
+.TP
+.I \- auto_ctrls
+ specifies which bits in auto_values are relevant
+.TP
+.I \- auto_values
+1 bit => corresponding control has auto-reset on
+.SH DESCRIPTION
+.LP
+You can configure the boolean controls to automatically be enabled or
+disabled when a program exits. This capability is controlled via two masks
+maintained in the X server on a per-client basis. There is no client-side Xkb
+data structure corresponding to these masks. Whenever the client exits for
+any reason, any boolean controls specified in the
+.I auto-reset mask
+are set to the corresponding value from the
+.I auto-reset values
+mask. This makes it
+possible for clients to "clean up after themselves" automatically, even if
+abnormally terminated. The bits used in the masks correspond to the
+EnabledControls control bits.
+
+For example, a client that replaces the keyboard bell with some other audible
+cue might want to turn off the AudibleBell control to prevent the server from
+also generating a sound and avoid cacophony. If the client were to exit
+without resetting the AudibleBell control, the user would be left without any
+feedback at all. Setting AudibleBell in both the auto-reset mask and
+auto-reset values guarantees that the audible bell will be turned back on
+when the client exits.
+
+.I XkbGetAutoResetControls
+backfills
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client. It returns
+True if successful, and False otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetAutoResetControls
+function returns True when it successfully backfills
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client.
+.TP 15
+False
+The
+.I XkbGetAutoResetControls
+function returns False when it does not successfully backfill
+.I auto_ctrls
+and
+.I auto_values
+with the AutoReset control attributes for this particular client.
diff --git a/libX11/man/xkb/XkbGetBounceKeysDelay.man b/libX11/man/xkb/XkbGetBounceKeysDelay.man index 0eebb9c94..a60f9141c 100644 --- a/libX11/man/xkb/XkbGetBounceKeysDelay.man +++ b/libX11/man/xkb/XkbGetBounceKeysDelay.man @@ -1,5 +1,5 @@ '\" t
-.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbGetCompatMap.man b/libX11/man/xkb/XkbGetCompatMap.man index 63c77da25..e9894d6c4 100644 --- a/libX11/man/xkb/XkbGetCompatMap.man +++ b/libX11/man/xkb/XkbGetCompatMap.man @@ -1,116 +1,116 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetCompatMap \- Fetch any combination of the current compatibility map -components from the server -.SH SYNOPSIS -.HP -.B Status XkbGetCompatMap -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescRec *" "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to server -.TP -.I \- which -mask of compatibility map components to fetch -.TP -.I \- xkb -keyboard description where results placed -.SH DESCRIPTION -.LP -When another client modifies the compatibility map, you are notified if you have -selected for XkbCompatMapNotify events. -.I XkbGetCompatMap -is particularly useful when you receive an event of this type, as it allows you -to update your program's version of the compatibility map to match the modified -version now in the server. If your program is dealing with multiple servers and -needs to configure them all in a similar manner, the updated compatibility map -may be used to reconfigure other servers. - -.I XkbGetCompatMap -fetches the components of the compatibility map specified in -.I which -from the server specified by -.I display -and places them in the -.I compat -structure of the keyboard description -.I xkb. -Valid values for -.I which -are an inclusive OR of the values shown in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Compatibility Map Component Masks -_ -Mask Value Affecting -_ -XkbSymInterpMask (1<<0) Symbol interpretations -XkbGroupCompatMask (1<<1) Group maps -XkbAllCompatMask (0x3) All compatibility map components -.TE - -If no compatibility map structure is allocated in -.I xkb -upon entry, -.I XkbGetCompatMap -allocates one. If one already exists, its contents are overwritten with the -returned results. - -.I XkbGetCompatMap -fetches compatibility map information for the device specified by the -.I device_spec -field of -.I xkb. -Unless you have specifically modified this field, it is the default keyboard -device. -.I XkbGetCompatMap -returns Success if successful, BadAlloc if it is unable to obtain necessary -storage for either the return values or work space, BadMatch if the -.I dpy -field of the -.I xkb -argument is non-NULL and does not match the -.I display -argument, and BadLength under certain conditions caused by server or Xkb -implementation errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally contain the arguments -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetCompatMap \- Fetch any combination of the current compatibility map
+components from the server
+.SH SYNOPSIS
+.HP
+.B Status XkbGetCompatMap
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescRec *" "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to server
+.TP
+.I \- which
+mask of compatibility map components to fetch
+.TP
+.I \- xkb
+keyboard description where results placed
+.SH DESCRIPTION
+.LP
+When another client modifies the compatibility map, you are notified if you have
+selected for XkbCompatMapNotify events.
+.I XkbGetCompatMap
+is particularly useful when you receive an event of this type, as it allows you
+to update your program's version of the compatibility map to match the modified
+version now in the server. If your program is dealing with multiple servers and
+needs to configure them all in a similar manner, the updated compatibility map
+may be used to reconfigure other servers.
+
+.I XkbGetCompatMap
+fetches the components of the compatibility map specified in
+.I which
+from the server specified by
+.I display
+and places them in the
+.I compat
+structure of the keyboard description
+.I xkb.
+Valid values for
+.I which
+are an inclusive OR of the values shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+If no compatibility map structure is allocated in
+.I xkb
+upon entry,
+.I XkbGetCompatMap
+allocates one. If one already exists, its contents are overwritten with the
+returned results.
+
+.I XkbGetCompatMap
+fetches compatibility map information for the device specified by the
+.I device_spec
+field of
+.I xkb.
+Unless you have specifically modified this field, it is the default keyboard
+device.
+.I XkbGetCompatMap
+returns Success if successful, BadAlloc if it is unable to obtain necessary
+storage for either the return values or work space, BadMatch if the
+.I dpy
+field of the
+.I xkb
+argument is non-NULL and does not match the
+.I display
+argument, and BadLength under certain conditions caused by server or Xkb
+implementation errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
diff --git a/libX11/man/xkb/XkbGetControls.man b/libX11/man/xkb/XkbGetControls.man index 540ebac5c..47829f853 100644 --- a/libX11/man/xkb/XkbGetControls.man +++ b/libX11/man/xkb/XkbGetControls.man @@ -1,162 +1,162 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetControls \- Finds the current state of Xkb server controls -.SH SYNOPSIS -.HP -.B Status XkbGetControls -.BI "(\^Display *" "display" "\^," -.BI "unsigned long " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- which -mask of controls requested -.TP -.I \- xkb -keyboard description for controls information -.SH DESCRIPTION -.LP -.I XkbGetControls -queries the server for the requested control information, waits for a reply, and -then copies the server's values for the requested information into the -.I ctrls -structure of the -.I xkb -argument. Only those components specified by the -.I which -parameter are copied. Valid values for -.I which -are any combination of the masks listed in Table 1 that have "ok" in the -.I which -column. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in Table 1 (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - - -If -.I xkb->ctrls -is NULL, -.I XkbGetControls -allocates and initializes it before obtaining the values specified by -.I which. -If -.I xkb->ctrls -is not NULL, -.I XkbGetControls -modifies only those portions of -.I xkb->ctrls -corresponding to the values specified by -.I which. - -.I XkbGetControls -returns Success if successful; otherwise, it returns BadAlloc if it cannot -obtain sufficient storage, BadMatch if -.I xkb -is NULL or -.I which -is empty, or BadImplementation. - -To free the -.I ctrls -member of a keyboard description, use -.I XkbFreeControls. - -The -.I num_groups -field in the -.I ctrls -structure is always filled in by -.I XkbGetControls, -regardless of which bits are selected by -.I which. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetControls -function returns Success if successful. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid - -.SH "SEE ALSO" -.BR XkbFreeControls (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetControls \- Finds the current state of Xkb server controls
+.SH SYNOPSIS
+.HP
+.B Status XkbGetControls
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned long " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask of controls requested
+.TP
+.I \- xkb
+keyboard description for controls information
+.SH DESCRIPTION
+.LP
+.I XkbGetControls
+queries the server for the requested control information, waits for a reply, and
+then copies the server's values for the requested information into the
+.I ctrls
+structure of the
+.I xkb
+argument. Only those components specified by the
+.I which
+parameter are copied. Valid values for
+.I which
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I which
+column.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in Table 1 (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+
+If
+.I xkb->ctrls
+is NULL,
+.I XkbGetControls
+allocates and initializes it before obtaining the values specified by
+.I which.
+If
+.I xkb->ctrls
+is not NULL,
+.I XkbGetControls
+modifies only those portions of
+.I xkb->ctrls
+corresponding to the values specified by
+.I which.
+
+.I XkbGetControls
+returns Success if successful; otherwise, it returns BadAlloc if it cannot
+obtain sufficient storage, BadMatch if
+.I xkb
+is NULL or
+.I which
+is empty, or BadImplementation.
+
+To free the
+.I ctrls
+member of a keyboard description, use
+.I XkbFreeControls.
+
+The
+.I num_groups
+field in the
+.I ctrls
+structure is always filled in by
+.I XkbGetControls,
+regardless of which bits are selected by
+.I which.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetControls
+function returns Success if successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+
+.SH "SEE ALSO"
+.BR XkbFreeControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetControlsChanges.man b/libX11/man/xkb/XkbGetControlsChanges.man index 20512a4cb..e93de049b 100644 --- a/libX11/man/xkb/XkbGetControlsChanges.man +++ b/libX11/man/xkb/XkbGetControlsChanges.man @@ -1,230 +1,230 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetControlsChanges \- Updates a local copy of a keyboard description with the -changes previously noted by one or more calls to XkbNoteControlsChanges -.SH SYNOPSIS -.HP -XkbGetControlsChanges -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbNameChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- xkb -xkb->ctrls will be updated -.TP -.I \- changes -indicates which parts of xkb->ctrls to update -.SH DESCRIPTION -.LP -Whenever a field in the controls structure changes in the server's keyboard -description, the server sends an XkbControlsNotify event to all interested -clients.To receive XkbControlsNotify events under all possible conditions, use -.I XkbSelectEvents -and pass XkbControlsNotifyMask in both -.I bits_to_change -and -.I values_for_bits. - -To receive XkbControlsNotify events only under certain conditions, use -.I XkbSelectEventDetails -using XkbControlsNotify as the -.I event_type -and specifying the desired state changes in -.I bits_to_change -and -.I values_for_bits -using mask bits from Table 1. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | -XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - -The -.I changed_ctrls -field specifies the controls components that have changed and consists of bits -taken from the masks defined in Table 10.7 with "ok" in the -.I changed_ctrls -column. - -The controls currently enabled in the server are reported in the -.I enabled_ctrls -field. If any controls were just enabled or disabled (that is, the contents of -the -.I enabled_ctrls -field changed), they are flagged in the -.I enabled_ctrl_changes -field. The valid bits for these fields are the masks listed in Table 10.7 with -"ok" in the -.I enabled_ctrls -column. The -.I num_groups -field reports the number of groups bound to the key belonging to the most number -of groups and is automatically updated when the keyboard mapping changes. - -If the change was caused by a request from a client, the -.I keycode -and -.I event_type -fields are set to zero and the -.I req_major -and -.I req_minor -fields identify the request. The -.I req_major value is the same as the major extension opcode. Otherwise, -.I event_type -is set to the type of event that caused the change (one of KeyPress, KeyRelease, -DeviceKeyPress, DeviceKeyRelease, ButtonPress or ButtonRelease), and -.I req_major -and -.I req_minor -are undefined. If -.I event_type -is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the -.I keycode -field is set to the key that caused the change. If -.I event_type -is ButtonPress or ButtonRelease, -.I keycode -contains the button number. - -When a client receives an XkbControlsNotify event, it can note the changes in a -changes structure using -.I XkbNoteControlsChanges. - -.I XkbGetControlsChanges -examines the -.I changes -parameter, queries the server for the necessary information, and copies the -results into the -.I xkb->ctrls -keyboard description. If the -.I ctrls -field of -.I xkb -is NULL, -.I XkbGetControlsChanges -allocates and initializes it. To free the -.I ctrls -field, use -XkbFreeControls. - -.I XkbGetControlsChanges -returns Success if successful and can generate BadAlloc, BadImplementation, and -BadMatch errors. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetControlsChanges -function returns Success if the query of the server was successful. -.SH STRUCTURES -.LP -.nf -The structure for the XkbControlsNotify event is defined as follows: - -typedef struct { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbCompatMapNotify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed_ctrls; /\(** bits indicating which controls data have -changed*/ - unsigned int enabled_ctrls; /\(** controls currently enabled in server */ - unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled -controls */ - int num_groups; /\(** current number of keyboard groups */ - KeyCode keycode; /\(** != 0 => keycode of key causing change */ - char event_type; /\(** Type of event causing change */ - char req_major; /\(** major event code of event causing change */ - char req_minor; /\(** minor event code of event causing change */ -} XkbControlsNotifyEvent; -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbFreeControls (__libmansuffix__), -.BR XkbNoteControlsChanges (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetControlsChanges \- Updates a local copy of a keyboard description with the
+changes previously noted by one or more calls to XkbNoteControlsChanges
+.SH SYNOPSIS
+.HP
+XkbGetControlsChanges
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbNameChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- xkb
+xkb->ctrls will be updated
+.TP
+.I \- changes
+indicates which parts of xkb->ctrls to update
+.SH DESCRIPTION
+.LP
+Whenever a field in the controls structure changes in the server's keyboard
+description, the server sends an XkbControlsNotify event to all interested
+clients.To receive XkbControlsNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbControlsNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbControlsNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbControlsNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I changed_ctrls
+field specifies the controls components that have changed and consists of bits
+taken from the masks defined in Table 10.7 with "ok" in the
+.I changed_ctrls
+column.
+
+The controls currently enabled in the server are reported in the
+.I enabled_ctrls
+field. If any controls were just enabled or disabled (that is, the contents of
+the
+.I enabled_ctrls
+field changed), they are flagged in the
+.I enabled_ctrl_changes
+field. The valid bits for these fields are the masks listed in Table 10.7 with
+"ok" in the
+.I enabled_ctrls
+column. The
+.I num_groups
+field reports the number of groups bound to the key belonging to the most number
+of groups and is automatically updated when the keyboard mapping changes.
+
+If the change was caused by a request from a client, the
+.I keycode
+and
+.I event_type
+fields are set to zero and the
+.I req_major
+and
+.I req_minor
+fields identify the request. The
+.I req_major value is the same as the major extension opcode. Otherwise,
+.I event_type
+is set to the type of event that caused the change (one of KeyPress, KeyRelease,
+DeviceKeyPress, DeviceKeyRelease, ButtonPress or ButtonRelease), and
+.I req_major
+and
+.I req_minor
+are undefined. If
+.I event_type
+is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
+.I keycode
+field is set to the key that caused the change. If
+.I event_type
+is ButtonPress or ButtonRelease,
+.I keycode
+contains the button number.
+
+When a client receives an XkbControlsNotify event, it can note the changes in a
+changes structure using
+.I XkbNoteControlsChanges.
+
+.I XkbGetControlsChanges
+examines the
+.I changes
+parameter, queries the server for the necessary information, and copies the
+results into the
+.I xkb->ctrls
+keyboard description. If the
+.I ctrls
+field of
+.I xkb
+is NULL,
+.I XkbGetControlsChanges
+allocates and initializes it. To free the
+.I ctrls
+field, use
+XkbFreeControls.
+
+.I XkbGetControlsChanges
+returns Success if successful and can generate BadAlloc, BadImplementation, and
+BadMatch errors.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetControlsChanges
+function returns Success if the query of the server was successful.
+.SH STRUCTURES
+.LP
+.nf
+The structure for the XkbControlsNotify event is defined as follows:
+
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have
+changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled
+controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+} XkbControlsNotifyEvent;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeControls (__libmansuffix__),
+.BR XkbNoteControlsChanges (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetDetectableAutorepeat.man b/libX11/man/xkb/XkbGetDetectableAutorepeat.man index f4e7e9c80..2544abf75 100644 --- a/libX11/man/xkb/XkbGetDetectableAutorepeat.man +++ b/libX11/man/xkb/XkbGetDetectableAutorepeat.man @@ -1,4 +1,4 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbGetDeviceButtonActions.man b/libX11/man/xkb/XkbGetDeviceButtonActions.man index e9b054eab..f88dc39db 100644 --- a/libX11/man/xkb/XkbGetDeviceButtonActions.man +++ b/libX11/man/xkb/XkbGetDeviceButtonActions.man @@ -1,114 +1,114 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetDeviceButtonActions \- Query the button actions associated with an X Input -Extension device -.SH SYNOPSIS -.HP -.B Status XkbGetDeviceButtonActions -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDeviceInfoPtr " "device_info" "\^," -.BI "Bool " "all_buttons" "\^," -.BI "unsigned int " "first_button" "\^," -.BI "unsigned int " "num_buttons" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_info -structure to update with results -.TP -.I \- all_buttons -True => get information for all buttons -.TP -.I \- first_button -number of first button for which info is desired -.TP -.I \- num_buttons -number of buttons for which info is desired -.SH DESCRIPTION -.LP -.I XkbGetDeviceButtonActions -queries the server for the desired button information for the device indicated -by the -.I device_spec -field of -.I device_info -and waits for a reply. If successful, -.I XkbGetDeviceButtonActions -backfills the button actions -.I (btn_acts -field of -.I device_info) -for only the requested buttons, updates the -.I name, type, supported, -and -.I unsupported -fields, and returns Success. - -.I all_buttons, first_button -and -.I num_buttons -specify the device buttons for which actions should be returned. Setting -.I all_buttons -to True requests actions for all device buttons; if -.I all_buttons -is False, -.I first_button -and -.I num_buttons -specify a range of buttons for which actions are requested. - -If a compatible version of Xkb is not available in the server or the Xkb -extension has not been properly initialized, -.I XkbGetDeviceButtonActions -returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If -the specified device -.I (device_info->device_spec) -is invalid, a BadKeyboard status is returned. If the device has no buttons, a -BadMatch status is returned. If -.I first_button -and -.I num_buttons -specify illegal buttons, a BadValue status is returned. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadKeyboard -The device specified was not a valid core or input extension device -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceButtonActions \- Query the button actions associated with an X Input
+Extension device
+.SH SYNOPSIS
+.HP
+.B Status XkbGetDeviceButtonActions
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "Bool " "all_buttons" "\^,"
+.BI "unsigned int " "first_button" "\^,"
+.BI "unsigned int " "num_buttons" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- all_buttons
+True => get information for all buttons
+.TP
+.I \- first_button
+number of first button for which info is desired
+.TP
+.I \- num_buttons
+number of buttons for which info is desired
+.SH DESCRIPTION
+.LP
+.I XkbGetDeviceButtonActions
+queries the server for the desired button information for the device indicated
+by the
+.I device_spec
+field of
+.I device_info
+and waits for a reply. If successful,
+.I XkbGetDeviceButtonActions
+backfills the button actions
+.I (btn_acts
+field of
+.I device_info)
+for only the requested buttons, updates the
+.I name, type, supported,
+and
+.I unsupported
+fields, and returns Success.
+
+.I all_buttons, first_button
+and
+.I num_buttons
+specify the device buttons for which actions should be returned. Setting
+.I all_buttons
+to True requests actions for all device buttons; if
+.I all_buttons
+is False,
+.I first_button
+and
+.I num_buttons
+specify a range of buttons for which actions are requested.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetDeviceButtonActions
+returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
+the specified device
+.I (device_info->device_spec)
+is invalid, a BadKeyboard status is returned. If the device has no buttons, a
+BadMatch status is returned. If
+.I first_button
+and
+.I num_buttons
+specify illegal buttons, a BadValue status is returned.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadKeyboard
+The device specified was not a valid core or input extension device
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetDeviceInfo.man b/libX11/man/xkb/XkbGetDeviceInfo.man index d1ae24d1a..e420c8cdd 100644 --- a/libX11/man/xkb/XkbGetDeviceInfo.man +++ b/libX11/man/xkb/XkbGetDeviceInfo.man @@ -1,247 +1,247 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetDeviceInfo \- Determine whether the X server allows Xkb access to particular capabilities of input devices other than -the core X keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass -extension device -.SH SYNOPSIS -.HP -.B XkbDeviceInfoPtr XkbGetDeviceInfo -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "ind_class" "\^," -.BI "unsigned int " "ind_id" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- which -mask indicating information to return -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- ind_class -feedback class for indicator requests -.TP -.I \- ind_id -feedback ID for indicator requests -.SH DESCRIPTION -.LP -To determine whether the X server allows Xkb access to particular capabilities of input devices other than the core X -keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass extension -device, use -.I XkbGetDeviceInfo. - -.I XkbGetDeviceInfo -returns information about the input device specified by -.I device_spec. -Unlike the -.I device_spec -parameter of most Xkb functions, -.I device_spec -does not need to be a keyboard device. It must, however, indicate either the core keyboard or a valid X Input Extension -device. - -The -.I which -parameter is a mask specifying optional information to be returned. 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 corresponding fields specified in the table. - -.nf - 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 -.fi - -The XkbDeviceInfoRec returned by -.I XkbGetDeviceInfo -always has values for -.I name -(may be a null string, ""), -.I type, supported, unsupported, has_own_state, dflt_kbd_fd, -and -.I dflt_kbd_fb. -Other fields are filled in as specified by -.I which. - -Upon return, the -.I 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 -.I which, -the XkbDeviceInfoRec returned will have the button actions -.I (btn_acts -field) filled in for all buttons. - -If -.I which -includes one of the bits in XkbXI_IndicatorsMask, the feedback class of the indicators must be specified in -.I ind_class, -and the feedback ID of the indicators must be specified in -.I ind_id. -If the request does not include any of the bits in XkbXI_IndicatorsMask, the -.I ind_class -and -.I ind_id -parameters are ignored. The class and ID can be obtained via the input device extension -.I XListInputDevices -request. - -If any of the XkbXI_IndicatorsMask bits are set in -.I which, -the XkbDeviceInfoRec returned will have filled in the portions of the -.I leds -structure corresponding to the indicator feedback identified by -.I ind_class -and -.I ind_id. -The -.I leds -vector of the XkbDeviceInfoRec is allocated if necessary and -.I sz_leds -and -.I num_leds -filled in. The -.I led_class, led_id -and -.I phys_indicators -fields of the -.I leds -entry corresponding to -.I ind_class -and -.I ind_id -are always filled in. If -.I which -contains XkbXI_IndicatorNamesMask, the -.I names_present -and -.I names -fields of the -.I leds -structure corresponding to -.I ind_class -and -.I ind_id -are returned. If -.I which -contains XkbXI_IndicatorStateMask, the corresponding -.I state -field is updated. If -.I which -contains XkbXI_IndicatorMapsMask, the -.I maps_present -and -.I maps -fields are updated. - -Xkb provides convenience functions to request subsets of the information available via -.I XkbGetDeviceInfo. -These convenience functions mirror some of the mask bits. The functions all take an XkbDeviceInfoPtr as an input argument -and operate on the X Input Extension device specified by the -.I device_spec -field of the structure. Only the parts of the structure indicated in the function description are updated. The -XkbDeviceInfoRec structure used in the function call can be obtained by calling -.I XkbGetDeviceInfo -or can be allocated by calling -.I XkbAllocDeviceInfo. -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb extension in an -XkbDeviceInfoRec structure: -.nf - -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; - -.fi -.SH "SEE ALSO" -.BR XkbAllocDeviceInfo (__libmansuffix__), -.BR XListInputDevices (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceInfo \- Determine whether the X server allows Xkb access to particular capabilities of input devices other than
+the core X keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass
+extension device
+.SH SYNOPSIS
+.HP
+.B XkbDeviceInfoPtr XkbGetDeviceInfo
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "ind_class" "\^,"
+.BI "unsigned int " "ind_id" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask indicating information to return
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- ind_class
+feedback class for indicator requests
+.TP
+.I \- ind_id
+feedback ID for indicator requests
+.SH DESCRIPTION
+.LP
+To determine whether the X server allows Xkb access to particular capabilities of input devices other than the core X
+keyboard, or to determine the status of indicator maps, indicator names or button actions on a non-KeyClass extension
+device, use
+.I XkbGetDeviceInfo.
+
+.I XkbGetDeviceInfo
+returns information about the input device specified by
+.I device_spec.
+Unlike the
+.I device_spec
+parameter of most Xkb functions,
+.I device_spec
+does not need to be a keyboard device. It must, however, indicate either the core keyboard or a valid X Input Extension
+device.
+
+The
+.I which
+parameter is a mask specifying optional information to be returned. 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 corresponding fields specified in the table.
+
+.nf
+ 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
+.fi
+
+The XkbDeviceInfoRec returned by
+.I XkbGetDeviceInfo
+always has values for
+.I name
+(may be a null string, ""),
+.I type, supported, unsupported, has_own_state, dflt_kbd_fd,
+and
+.I dflt_kbd_fb.
+Other fields are filled in as specified by
+.I which.
+
+Upon return, the
+.I 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
+.I which,
+the XkbDeviceInfoRec returned will have the button actions
+.I (btn_acts
+field) filled in for all buttons.
+
+If
+.I which
+includes one of the bits in XkbXI_IndicatorsMask, the feedback class of the indicators must be specified in
+.I ind_class,
+and the feedback ID of the indicators must be specified in
+.I ind_id.
+If the request does not include any of the bits in XkbXI_IndicatorsMask, the
+.I ind_class
+and
+.I ind_id
+parameters are ignored. The class and ID can be obtained via the input device extension
+.I XListInputDevices
+request.
+
+If any of the XkbXI_IndicatorsMask bits are set in
+.I which,
+the XkbDeviceInfoRec returned will have filled in the portions of the
+.I leds
+structure corresponding to the indicator feedback identified by
+.I ind_class
+and
+.I ind_id.
+The
+.I leds
+vector of the XkbDeviceInfoRec is allocated if necessary and
+.I sz_leds
+and
+.I num_leds
+filled in. The
+.I led_class, led_id
+and
+.I phys_indicators
+fields of the
+.I leds
+entry corresponding to
+.I ind_class
+and
+.I ind_id
+are always filled in. If
+.I which
+contains XkbXI_IndicatorNamesMask, the
+.I names_present
+and
+.I names
+fields of the
+.I leds
+structure corresponding to
+.I ind_class
+and
+.I ind_id
+are returned. If
+.I which
+contains XkbXI_IndicatorStateMask, the corresponding
+.I state
+field is updated. If
+.I which
+contains XkbXI_IndicatorMapsMask, the
+.I maps_present
+and
+.I maps
+fields are updated.
+
+Xkb provides convenience functions to request subsets of the information available via
+.I XkbGetDeviceInfo.
+These convenience functions mirror some of the mask bits. The functions all take an XkbDeviceInfoPtr as an input argument
+and operate on the X Input Extension device specified by the
+.I device_spec
+field of the structure. Only the parts of the structure indicated in the function description are updated. The
+XkbDeviceInfoRec structure used in the function call can be obtained by calling
+.I XkbGetDeviceInfo
+or can be allocated by calling
+.I XkbAllocDeviceInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb extension in an
+XkbDeviceInfoRec structure:
+.nf
+
+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;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocDeviceInfo (__libmansuffix__),
+.BR XListInputDevices (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetDeviceInfoChanges.man b/libX11/man/xkb/XkbGetDeviceInfoChanges.man index 69589e444..e44c0bd0d 100644 --- a/libX11/man/xkb/XkbGetDeviceInfoChanges.man +++ b/libX11/man/xkb/XkbGetDeviceInfoChanges.man @@ -1,62 +1,62 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetDeviceInfoChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetDeviceInfoChanges \- Query the changes that have occurred in the button -actions or indicator names and indicator maps associated with an input extension -device -.SH SYNOPSIS -.HP -.B Status XkbGetDeviceInfoChanges -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDeviceInfoPtr " "device_info" "\^," -.BI "XkbDeviceChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_info -structure to update with results -.TP -.I \- changes -contains notes of changes that have occurred -.SH DESCRIPTION -.LP -The -.I changes->changed -field indicates which attributes of the device specified in -.I changes->device -have changed. The parameters describing the changes are contained in the other -fields of -.I changes. XkbGetDeviceInfoChanges -uses that information to call -.I XkbGetDeviceInfo -to obtain the current status of those attributes that have changed. It then -updates the local description of the device in -.I device_info -with the new information. -.SH "SEE ALSO" -.BR XkbGetDeviceInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetDeviceInfoChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceInfoChanges \- Query the changes that have occurred in the button
+actions or indicator names and indicator maps associated with an input extension
+device
+.SH SYNOPSIS
+.HP
+.B Status XkbGetDeviceInfoChanges
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "XkbDeviceChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- changes
+contains notes of changes that have occurred
+.SH DESCRIPTION
+.LP
+The
+.I changes->changed
+field indicates which attributes of the device specified in
+.I changes->device
+have changed. The parameters describing the changes are contained in the other
+fields of
+.I changes. XkbGetDeviceInfoChanges
+uses that information to call
+.I XkbGetDeviceInfo
+to obtain the current status of those attributes that have changed. It then
+updates the local description of the device in
+.I device_info
+with the new information.
+.SH "SEE ALSO"
+.BR XkbGetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetDeviceLedInfo.man b/libX11/man/xkb/XkbGetDeviceLedInfo.man index 95e4fc970..74bb9b466 100644 --- a/libX11/man/xkb/XkbGetDeviceLedInfo.man +++ b/libX11/man/xkb/XkbGetDeviceLedInfo.man @@ -1,153 +1,153 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated -with an LED feedback of an input extension device -.SH SYNOPSIS -.HP -.B Status XkbGetDeviceLedInfo -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDeviceInfoPtr " "device_info" "\^," -.BI "unsigned int " "led_class" "\^," -.BI "unsigned int " "led_id" "\^," -.BI "unsigned int " "which" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_info -structure to update with results -.TP -.I \- led_class -LED feedback class assigned by input extension -.TP -.I \- led_id -LED feedback ID assigned by input extension -.TP -.I \- which -mask indicating desired information -.SH DESCRIPTION -.LP -.I XkbGetDeviceLedInfo -queries the server for the desired LED information for the feedback specified by -.I led_class -and -.I led_id -for the X input extension device indicated by -.I device_spec->device_info -and waits for a reply. If successful, -.I XkbGetDeviceLedInfo -backfills the relevant fields of -.I device_info -as determined by -.I which -with the results and returns Success. Valid values for -.I which -are the inclusive OR of any of XkbXI_IndicatorNamesMask, -XkbXI_IndicatorMapsMask, and XkbXI_IndicatorStateMask. - -The fields of -.I device_info -that are filled in when this request succeeds are -.I name, type, supported, -and -.I unsupported, -and portions of the -.I leds -structure corresponding to -.I led_class -and -.I led_id -as indicated by the bits set in -.I which. -The -.I device_info->leds -vector is allocated if necessary and -.I sz_leds -and -.I num_leds -filled in. The -.I led_class, led_id -and -.I phys_indicators -fields of the -.I device_info->leds -entry corresponding to -.I led_class -and -.I led_id -are always filled in. - -If -.I which -contains XkbXI_IndicatorNamesMask, the -.I names_present -and -.I names -fields of the -.I device_info->leds -structure corresponding to -.I led_class -and -.I led_id -are updated, if -.I which -contains XkbXI_IndicatorStateMask, the corresponding -.I state -field is updated, and if -.I which -contains XkbXI_IndicatorMapsMask, the -.I maps_present -and -.I maps -fields are updated. - -If a compatible version of Xkb is not available in the server or the Xkb -extension has not been properly initialized, -.I XkbGetDeviceLedInfo -returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If -the device has no indicators, a BadMatch error is returned. If -.I ledClass -or -.I ledID -have illegal values, a BadValue error is returned. If they have legal values but -do not specify a feedback that contains LEDs and is associated with the -specified device, a BadMatch error is returned. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetDeviceLedInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetDeviceLedInfo \- Query the indicator names, maps, and state associated
+with an LED feedback of an input extension device
+.SH SYNOPSIS
+.HP
+.B Status XkbGetDeviceLedInfo
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "unsigned int " "led_class" "\^,"
+.BI "unsigned int " "led_id" "\^,"
+.BI "unsigned int " "which" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_info
+structure to update with results
+.TP
+.I \- led_class
+LED feedback class assigned by input extension
+.TP
+.I \- led_id
+LED feedback ID assigned by input extension
+.TP
+.I \- which
+mask indicating desired information
+.SH DESCRIPTION
+.LP
+.I XkbGetDeviceLedInfo
+queries the server for the desired LED information for the feedback specified by
+.I led_class
+and
+.I led_id
+for the X input extension device indicated by
+.I device_spec->device_info
+and waits for a reply. If successful,
+.I XkbGetDeviceLedInfo
+backfills the relevant fields of
+.I device_info
+as determined by
+.I which
+with the results and returns Success. Valid values for
+.I which
+are the inclusive OR of any of XkbXI_IndicatorNamesMask,
+XkbXI_IndicatorMapsMask, and XkbXI_IndicatorStateMask.
+
+The fields of
+.I device_info
+that are filled in when this request succeeds are
+.I name, type, supported,
+and
+.I unsupported,
+and portions of the
+.I leds
+structure corresponding to
+.I led_class
+and
+.I led_id
+as indicated by the bits set in
+.I which.
+The
+.I device_info->leds
+vector is allocated if necessary and
+.I sz_leds
+and
+.I num_leds
+filled in. The
+.I led_class, led_id
+and
+.I phys_indicators
+fields of the
+.I device_info->leds
+entry corresponding to
+.I led_class
+and
+.I led_id
+are always filled in.
+
+If
+.I which
+contains XkbXI_IndicatorNamesMask, the
+.I names_present
+and
+.I names
+fields of the
+.I device_info->leds
+structure corresponding to
+.I led_class
+and
+.I led_id
+are updated, if
+.I which
+contains XkbXI_IndicatorStateMask, the corresponding
+.I state
+field is updated, and if
+.I which
+contains XkbXI_IndicatorMapsMask, the
+.I maps_present
+and
+.I maps
+fields are updated.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetDeviceLedInfo
+returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If
+the device has no indicators, a BadMatch error is returned. If
+.I ledClass
+or
+.I ledID
+have illegal values, a BadValue error is returned. If they have legal values but
+do not specify a feedback that contains LEDs and is associated with the
+specified device, a BadMatch error is returned.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetGeometry.man b/libX11/man/xkb/XkbGetGeometry.man index 3caccec1b..6104dfb68 100644 --- a/libX11/man/xkb/XkbGetGeometry.man +++ b/libX11/man/xkb/XkbGetGeometry.man @@ -1,72 +1,72 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard -description -.SH SYNOPSIS -.HP -.B Status XkbGetGeometry -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- xkb -keyboard description that contains the ID for the keyboard and into which the -geometry should be loaded -.SH DESCRIPTION -.LP -You can load a keyboard geometry as part of the keyboard description returned by -.I XkbGetKeyboard. -However, if a keyboard description has been previously loaded, you can instead -obtain the geometry by calling the -.I XkbGetGeometry. -In this case, the geometry returned is the one associated with the keyboard -whose device ID is contained in the keyboard description. - -.I XkbGetGeometry -can return BadValue, BadImplementation, BadName, BadAlloc, or BadLength errors -or Success if it succeeds. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally -contain the arguments -.TP 15 -.B BadName -A font or color of the specified name does not exist -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbGetKeyboard (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetGeometry \- Loads a keyboard geometry if you already have the keyboard
+description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetGeometry
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description that contains the ID for the keyboard and into which the
+geometry should be loaded
+.SH DESCRIPTION
+.LP
+You can load a keyboard geometry as part of the keyboard description returned by
+.I XkbGetKeyboard.
+However, if a keyboard description has been previously loaded, you can instead
+obtain the geometry by calling the
+.I XkbGetGeometry.
+In this case, the geometry returned is the one associated with the keyboard
+whose device ID is contained in the keyboard description.
+
+.I XkbGetGeometry
+can return BadValue, BadImplementation, BadName, BadAlloc, or BadLength errors
+or Success if it succeeds.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadName
+A font or color of the specified name does not exist
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbGetKeyboard (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetIndicatorChanges.man b/libX11/man/xkb/XkbGetIndicatorChanges.man index dc9d4f6c5..ee0e28215 100644 --- a/libX11/man/xkb/XkbGetIndicatorChanges.man +++ b/libX11/man/xkb/XkbGetIndicatorChanges.man @@ -1,153 +1,153 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with -the actual values of one or more calls to XkbNoteIndicatorChanges -.SH SYNOPSIS -.HP -.B Status XkbGetIndicatorChanges -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbIndicatorChangesPtr " "changes" "\^," -.BI "unsigned int " "state" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- xkb -keyboard description to hold the new values -.TP -.I \- changes -indicator maps/state to be obtained from the server -.TP -.I \- state -backfilled with the state of the indicators -.SH DESCRIPTION -.LP -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all -interested clients. Similarly, whenever an indicator's map changes, the server sends -XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events, -use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those bits that -specify the indicators for which you want to receive events. - -Both types of indicator events use the same structure: -.nf - -typedef struct _XkbIndicatorNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** specifies state or map notify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed; /\(** mask of indicators with new state or map */ - unsigned int state; /\(** current state of all indicators */ -} XkbIndicatorNotifyEvent; - -.fi -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is -a kbIndicatorStateNotify event or kbIndicatorMapNotify event. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If -the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have changed or -not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. - -When your client application receives either a XkbIndicatorStateNotify event or -XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling -.I XkbNoteIndicatorChanges. - -.I XkbGetIndicatorChanges -examines the -.I changes -parameter, pulls over the necessary information from the server, and copies the -results into the -.I xkb -keyboard description. If any bits are set in the -.I state_changes -field of -.I changes, XkbGetIndicatorChanges -also places the state of those indicators in -.I state. -If the -.I indicators -field of -.I xkb -is NULL, -.I XkbGetIndicatorChanges -allocates and initializes it. To free the -.I indicators -field, use -.I XkbFreeIndicators. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbFreeIndicators (__libmansuffix__), -.BR XkbGetIndicatorChanges (__libmansuffix__), -.BR XkbNoteIndicatorChanges (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__), -.BR XkbSelectEventDetail (__libmansuffix__) - - - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorChanges \- Updates a local copy of the keyboard description with
+the actual values of one or more calls to XkbNoteIndicatorChanges
+.SH SYNOPSIS
+.HP
+.B Status XkbGetIndicatorChanges
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbIndicatorChangesPtr " "changes" "\^,"
+.BI "unsigned int " "state" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description to hold the new values
+.TP
+.I \- changes
+indicator maps/state to be obtained from the server
+.TP
+.I \- state
+backfilled with the state of the indicators
+.SH DESCRIPTION
+.LP
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
+interested clients. Similarly, whenever an indicator's map changes, the server sends
+XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
+use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those bits that
+specify the indicators for which you want to receive events.
+
+Both types of indicator events use the same structure:
+.nf
+
+typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+.fi
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
+a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
+the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have changed or
+not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+
+When your client application receives either a XkbIndicatorStateNotify event or
+XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
+.I XkbNoteIndicatorChanges.
+
+.I XkbGetIndicatorChanges
+examines the
+.I changes
+parameter, pulls over the necessary information from the server, and copies the
+results into the
+.I xkb
+keyboard description. If any bits are set in the
+.I state_changes
+field of
+.I changes, XkbGetIndicatorChanges
+also places the state of those indicators in
+.I state.
+If the
+.I indicators
+field of
+.I xkb
+is NULL,
+.I XkbGetIndicatorChanges
+allocates and initializes it. To free the
+.I indicators
+field, use
+.I XkbFreeIndicators.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeIndicators (__libmansuffix__),
+.BR XkbGetIndicatorChanges (__libmansuffix__),
+.BR XkbNoteIndicatorChanges (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbSelectEventDetail (__libmansuffix__)
+
+
+
diff --git a/libX11/man/xkb/XkbGetIndicatorMap.man b/libX11/man/xkb/XkbGetIndicatorMap.man index 545ac42a2..f5d0b131b 100644 --- a/libX11/man/xkb/XkbGetIndicatorMap.man +++ b/libX11/man/xkb/XkbGetIndicatorMap.man @@ -1,87 +1,87 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to -specify the indicators -.SH SYNOPSIS -.HP -.B Status XkbGetIndicatorMap -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "desc" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- which -mask of indicators for which maps should be returned -.TP -.I \- desc -keyboard description to be updated -.SH DESCRIPTION -.LP -Xkb allows applications to obtain information about indicators using two -different methods. The first method, which is similar to the core X -implementation, uses a mask to specify the indicators. The second method, which -is more suitable for applications concerned with interoperability, uses -indicator names. The correspondence between the indicator name and the bit -position in masks is as follows: one of the parameters returned from -.I XkbGetNamedIndicators -is an index that is the bit position to use in any function call that requires a -mask of indicator bits, as well as the indicator's index into the -XkbIndicatorRec array of indicator maps. - - -.I XkbGetIndicatorMap -obtains the maps from the server for only those indicators specified by the -.I which -mask and copies the values into the keyboard description specified by -.I desc. -If the -.I indicators -field of the -.I desc -parameter is NULL, -.I XkbGetIndicatorMap -allocates and initializes it. - -To free the indicator maps, use -.I XkbFreeIndicatorMaps. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadImplementation -Invalid reply from server -.SH "SEE ALSO" -.BR XkbFreeIndicatorMaps (__libmansuffix__), -.BR XkbGetNamedIndicators (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorMap \- Gets the map for one or more indicators, using a mask to
+specify the indicators
+.SH SYNOPSIS
+.HP
+.B Status XkbGetIndicatorMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "desc" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of indicators for which maps should be returned
+.TP
+.I \- desc
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+Xkb allows applications to obtain information about indicators using two
+different methods. The first method, which is similar to the core X
+implementation, uses a mask to specify the indicators. The second method, which
+is more suitable for applications concerned with interoperability, uses
+indicator names. The correspondence between the indicator name and the bit
+position in masks is as follows: one of the parameters returned from
+.I XkbGetNamedIndicators
+is an index that is the bit position to use in any function call that requires a
+mask of indicator bits, as well as the indicator's index into the
+XkbIndicatorRec array of indicator maps.
+
+
+.I XkbGetIndicatorMap
+obtains the maps from the server for only those indicators specified by the
+.I which
+mask and copies the values into the keyboard description specified by
+.I desc.
+If the
+.I indicators
+field of the
+.I desc
+parameter is NULL,
+.I XkbGetIndicatorMap
+allocates and initializes it.
+
+To free the indicator maps, use
+.I XkbFreeIndicatorMaps.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbFreeIndicatorMaps (__libmansuffix__),
+.BR XkbGetNamedIndicators (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetIndicatorState.man b/libX11/man/xkb/XkbGetIndicatorState.man index 8a6fd93a7..89ad50fd0 100644 --- a/libX11/man/xkb/XkbGetIndicatorState.man +++ b/libX11/man/xkb/XkbGetIndicatorState.man @@ -1,79 +1,79 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetIndicatorState __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetIndicatorState \- Obtains the current state of the keyboard indicators -.SH SYNOPSIS -.HP -.B Status XkbGetIndicatorState -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "state_return" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- state_return -backfilled with a mask of the indicator state -.SH DESCRIPTION -.LP -Xkb allows applications to obtain information about indicators using two -different methods. The first method, which is similar to the core X -implementation, uses a mask to specify the indicators. The second method, which -is more suitable for applications concerned with interoperability, uses -indicator names. The correspondence between the indicator name and the bit -position in masks is as follows: one of the parameters returned from -.I XkbGetNamedIndicators -is an index that is the bit position to use in any function call that requires a -mask of indicator bits, as well as the indicator's index into the -XkbIndicatorRec array of indicator maps. - -.I XkbGetIndicatorState -queries the -.I display -for the state of the indicators on the device specified by the -.I device_spec. -For each indicator that is "turned on" on the device, the associated bit is set -in -.I state_return. -If a compatible version of the Xkb extension is not available in the server, -.I XkbGetIndicatorState -returns a BadMatch error. Otherwise, it sends the request to the X server, -places the state of the indicators into -.I state_return, -and returns Success. Thus the value reported by -.I XkbGetIndicatorState -is identical to the value reported by the core protocol. -.SH DIAGNOSTICS -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbGetNamedIndicators (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetIndicatorState __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetIndicatorState \- Obtains the current state of the keyboard indicators
+.SH SYNOPSIS
+.HP
+.B Status XkbGetIndicatorState
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "state_return" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- state_return
+backfilled with a mask of the indicator state
+.SH DESCRIPTION
+.LP
+Xkb allows applications to obtain information about indicators using two
+different methods. The first method, which is similar to the core X
+implementation, uses a mask to specify the indicators. The second method, which
+is more suitable for applications concerned with interoperability, uses
+indicator names. The correspondence between the indicator name and the bit
+position in masks is as follows: one of the parameters returned from
+.I XkbGetNamedIndicators
+is an index that is the bit position to use in any function call that requires a
+mask of indicator bits, as well as the indicator's index into the
+XkbIndicatorRec array of indicator maps.
+
+.I XkbGetIndicatorState
+queries the
+.I display
+for the state of the indicators on the device specified by the
+.I device_spec.
+For each indicator that is "turned on" on the device, the associated bit is set
+in
+.I state_return.
+If a compatible version of the Xkb extension is not available in the server,
+.I XkbGetIndicatorState
+returns a BadMatch error. Otherwise, it sends the request to the X server,
+places the state of the indicators into
+.I state_return,
+and returns Success. Thus the value reported by
+.I XkbGetIndicatorState
+is identical to the value reported by the core protocol.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetNamedIndicators (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetKeyActions.man b/libX11/man/xkb/XkbGetKeyActions.man index 509c08556..4d38f16ef 100644 --- a/libX11/man/xkb/XkbGetKeyActions.man +++ b/libX11/man/xkb/XkbGetKeyActions.man @@ -1,92 +1,92 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the -keys in a keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetKeyActions -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- first -keycode of first key of interest -.TP -.I \- num -number of keys desired -.TP -.I \- xkb -pointer to keyboard description where result is stored -.SH DESCRIPTION -.LP -.I XkbGetKeyActions -sends a request to the server to obtain the actions for -.I num -keys on the keyboard starting with key -.I first. -It waits for a reply and returns the actions in the -.I server->key_acts -field of -.I xkb. -If successful, -.I XkbGetKeyActions -returns Success. The -.I xkb -parameter must be a pointer to a valid Xkb keyboard description. - -If the -.I server -map, in the -.I xkb -parameter, has not been allocated, -.I XkbGetKeyActions -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, -.I XkbGetKeyActions -returns BadAccess. If -.I num -is less than 1 or greater than XkbMaxKeyCount, -.I XkbGetKeyActions -returns BadValue. If any allocation errors occur, -.I XkbGetKeyActions -returns BadAlloc. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyActions \- Update the actions (the key_acts array) for a subset of the
+keys in a keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeyActions
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key of interest
+.TP
+.I \- num
+number of keys desired
+.TP
+.I \- xkb
+pointer to keyboard description where result is stored
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyActions
+sends a request to the server to obtain the actions for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the actions in the
+.I server->key_acts
+field of
+.I xkb.
+If successful,
+.I XkbGetKeyActions
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map, in the
+.I xkb
+parameter, has not been allocated,
+.I XkbGetKeyActions
+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,
+.I XkbGetKeyActions
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyActions
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyActions
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyBehaviors.man b/libX11/man/xkb/XkbGetKeyBehaviors.man index 6bfb1a89b..8f62d6033 100644 --- a/libX11/man/xkb/XkbGetKeyBehaviors.man +++ b/libX11/man/xkb/XkbGetKeyBehaviors.man @@ -1,90 +1,90 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbChangeTypesOfKey \- Obtain the behaviors (the behaviors array) for a subset of the keys in -a keyboard description from the server -.SH SYNOPSIS -.HP -.B Status XkbChangeTypesOfKey -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to server -.TP -.I \- first -keycode of first key to get -.TP -.I \- num -number of keys for which behaviors are desired -.TP -.I \- xkb -Xkb description to contain the result -.SH DESCRIPTION -.LP -.I XkbGetKeyBehaviors -sends a request to the server to obtain the behaviors for -.I num -keys on the keyboard starting with the key whose keycode is -.I first. -It waits for a reply and returns the behaviors in the -.I server->behaviors -field of -.I xkb. -If successful, -.I XkbGetKeyBehaviors -returns Success. - -If the -.I server -map in the -.I xkb -parameter has not been allocated, -.I XkbGetKeyBehaviors -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, -.I XkbGetKeyBehaviors -returns BadAccess. If -.I num -is less than 1 or greater than XkbMaxKeyCount, -.I XkbGetKeyBehaviors -returns BadValue. If any allocation errors occur, -.I XkbGetKeyBehaviors -returns BadAlloc. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbChangeTypesOfKey __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbChangeTypesOfKey \- Obtain the behaviors (the behaviors array) for a subset of the keys in
+a keyboard description from the server
+.SH SYNOPSIS
+.HP
+.B Status XkbChangeTypesOfKey
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keys for which behaviors are desired
+.TP
+.I \- xkb
+Xkb description to contain the result
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyBehaviors
+sends a request to the server to obtain the behaviors for
+.I num
+keys on the keyboard starting with the key whose keycode is
+.I first.
+It waits for a reply and returns the behaviors in the
+.I server->behaviors
+field of
+.I xkb.
+If successful,
+.I XkbGetKeyBehaviors
+returns Success.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyBehaviors
+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,
+.I XkbGetKeyBehaviors
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyBehaviors
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyBehaviors
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyExplicitComponents.man b/libX11/man/xkb/XkbGetKeyExplicitComponents.man index dec0774fc..0437a5971 100644 --- a/libX11/man/xkb/XkbGetKeyExplicitComponents.man +++ b/libX11/man/xkb/XkbGetKeyExplicitComponents.man @@ -1,151 +1,151 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyExplicitComponents __libmansuffix__ "20 Jul 1999" "X v11 Rel. 6.4" "XKB FUNCTION" -.SH NAME -XkbGetKeyExplicitComponents \- Obtain the explicit components (the explicit -array) for a subset of the keys in a keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetKeyExplicitComponents -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to server -.TP -.I \- first -keycode of first key to fetch -.TP -.I \- num -number of keys for which to get explicit info -.TP -.I \- xkb -Xkb description in which to put results -.SH DESCRIPTION -.LP -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 -.I 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. -.TS -c s s -l l l -l l lw(3i). -Table 1 Explicit Component Masks -_ -Bit in Explicit Mask Value Protects Against -_ -ExplicitKeyType1 (1<<0) T{ -Automatic determination of the key type associated with Group1. -T} -ExplicitKeyType2 (1<<1) T{ -Automatic determination of the key type associated with Group2. -T} -ExplicitKeyType3 (1<<2) T{ -Automatic determination of the key type associated with Group3. -T} -ExplicitKeyType4 (1<<3) T{ -Automatic determination of the key type associated with Group4. -T} -ExplicitInterpret (1<<4) T{ -Application of any of the fields of a symbol interpretation to the key in -question. -T} -ExplicitAutoRepeat (1<<5) T{ -Automatic determination of auto-repeat status for the key, as specified in a -symbol interpretation. -T} -ExplicitBehavior (1<<6) T{ -Automatic assignment of the XkbKB_Lock behavior to the key, if the -XkbSI_LockingKey flag is set in a symbol interpretation. -T} -ExplicitVModMap (1<<7) T{ -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. -T} -.TE - -.I XkbGetKeyExplicitComponents -sends a request to the server to obtain the explicit components for -.I num -keys on the keyboard starting with key -.I first. -It waits for a reply and returns the explicit components in the -.I server->explicit -array of -.I xkb. -If successful, -.I XkbGetKeyExplicitComponents -returns Success. The -.I xkb -parameter must be a pointer to a valid Xkb keyboard description. - -If the -.I server -map in the -.I xkb -parameter has not been allocated, -.I 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, -.I XkbGetKeyExplicitComponents -returns BadMatch. If -.I num -is less than 1 or greater than XkbMaxKeyCount, -.I XkbGetKeyExplicitComponents -returns BadValue. If any allocation errors occur, -.I XkbGetKeyExplicitComponents -returns BadAlloc. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyExplicitComponents __libmansuffix__ "20 Jul 1999" "X v11 Rel. 6.4" "XKB FUNCTION"
+.SH NAME
+XkbGetKeyExplicitComponents \- Obtain the explicit components (the explicit
+array) for a subset of the keys in a keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeyExplicitComponents
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to fetch
+.TP
+.I \- num
+number of keys for which to get explicit info
+.TP
+.I \- xkb
+Xkb description in which to put results
+.SH DESCRIPTION
+.LP
+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
+.I 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.
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Explicit Component Masks
+_
+Bit in Explicit Mask Value Protects Against
+_
+ExplicitKeyType1 (1<<0) T{
+Automatic determination of the key type associated with Group1.
+T}
+ExplicitKeyType2 (1<<1) T{
+Automatic determination of the key type associated with Group2.
+T}
+ExplicitKeyType3 (1<<2) T{
+Automatic determination of the key type associated with Group3.
+T}
+ExplicitKeyType4 (1<<3) T{
+Automatic determination of the key type associated with Group4.
+T}
+ExplicitInterpret (1<<4) T{
+Application of any of the fields of a symbol interpretation to the key in
+question.
+T}
+ExplicitAutoRepeat (1<<5) T{
+Automatic determination of auto-repeat status for the key, as specified in a
+symbol interpretation.
+T}
+ExplicitBehavior (1<<6) T{
+Automatic assignment of the XkbKB_Lock behavior to the key, if the
+XkbSI_LockingKey flag is set in a symbol interpretation.
+T}
+ExplicitVModMap (1<<7) T{
+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.
+T}
+.TE
+
+.I XkbGetKeyExplicitComponents
+sends a request to the server to obtain the explicit components for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the explicit components in the
+.I server->explicit
+array of
+.I xkb.
+If successful,
+.I XkbGetKeyExplicitComponents
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I 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,
+.I XkbGetKeyExplicitComponents
+returns BadMatch. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyExplicitComponents
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyExplicitComponents
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyModifierMap.man b/libX11/man/xkb/XkbGetKeyModifierMap.man index c99218c31..16053babb 100644 --- a/libX11/man/xkb/XkbGetKeyModifierMap.man +++ b/libX11/man/xkb/XkbGetKeyModifierMap.man @@ -1,93 +1,93 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyModifierMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyModifierMap \- Update the modifier map for one or more of the keys in a -keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetKeyModifierMap -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- first -keycode of first key to get -.TP -.I \- num -number of keys for which information is desired -.TP -.I \- xkb -keyboard description to update -.SH DESCRIPTION -.LP -The -.I modmap -entry of the client map is an array, indexed by keycode, specifying the real -modifiers bound to a key. Each entry is a mask composed of a bitwise inclusive -OR of the legal real modifiers: ShiftMask, LockMask, ControlMask, Mod1Mask, -Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask. If a bit is set in a -.I modmap -entry, the corresponding key is bound to that modifier. - -Pressing or releasing the key bound to a modifier changes the modifier set and -unset state. The particular manner in which the modifier set and unset state -changes is determined by the behavior and actions assigned to the key. - -.I XkbGetKeyModifierMap -sends a request to the server for the modifier mappings for -.I num -keys starting with the key whose keycode is -.I first. -It waits for a reply and places the results in the -.I xkb->map->modmap -array. If successful, -.I XkbGetKeyModifier -returns Success. - -If the map component of the -.I xkb -parameter has not been allocated, -.I XkbGetKeyModifierMap -allocates and initializes it. - -If a compatible version of Xkb is not available in the server or the Xkb -extension has not been properly initialized, -.I XkbGetKeySyms -returns BadAccess. If any allocation errors occur while obtaining the modifier -map, -.I XkbGetKeyModifierMap -returns BadAlloc. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyModifierMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyModifierMap \- Update the modifier map for one or more of the keys in a
+keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeyModifierMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keys for which information is desired
+.TP
+.I \- xkb
+keyboard description to update
+.SH DESCRIPTION
+.LP
+The
+.I modmap
+entry of the client map is an array, indexed by keycode, specifying the real
+modifiers bound to a key. Each entry is a mask composed of a bitwise inclusive
+OR of the legal real modifiers: ShiftMask, LockMask, ControlMask, Mod1Mask,
+Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask. If a bit is set in a
+.I modmap
+entry, the corresponding key is bound to that modifier.
+
+Pressing or releasing the key bound to a modifier changes the modifier set and
+unset state. The particular manner in which the modifier set and unset state
+changes is determined by the behavior and actions assigned to the key.
+
+.I XkbGetKeyModifierMap
+sends a request to the server for the modifier mappings for
+.I num
+keys starting with the key whose keycode is
+.I first.
+It waits for a reply and places the results in the
+.I xkb->map->modmap
+array. If successful,
+.I XkbGetKeyModifier
+returns Success.
+
+If the map component of the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyModifierMap
+allocates and initializes it.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetKeySyms
+returns BadAccess. If any allocation errors occur while obtaining the modifier
+map,
+.I XkbGetKeyModifierMap
+returns BadAlloc.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbGetKeySyms.man b/libX11/man/xkb/XkbGetKeySyms.man index 1619090ff..c5d1af1df 100644 --- a/libX11/man/xkb/XkbGetKeySyms.man +++ b/libX11/man/xkb/XkbGetKeySyms.man @@ -1,99 +1,99 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeySyms \- Obtain the symbols for a subset of the keys in a keyboard -description -.SH SYNOPSIS -.HP -.B Status XkbGetKeySyms -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- first -keycode of first key to get -.TP -.I \- num -number of keycodes for which syms desired -.TP -.I \- xkb -Xkb description to be updated -.SH DESCRIPTION -.LP -.I XkbGetKeySyms -sends a request to the server to obtain the set of keysyms bound to -.I num -keys starting with the key whose keycode is -.I first. -It waits for a reply and returns the keysyms in the -.I map.syms -field of -.I xkb. -If successful, -.I XkbGetKeySyms -returns Success. The -.I xkb -parameter must be a pointer to a valid Xkb keyboard description. - -If the client -.I map -in the xkb parameter has not been allocated, -.I XkbGetKeySyms -allocates and initializes it before obtaining the symbols. - -If a compatible version of Xkb is not available in the server or the Xkb -extension has not been properly initialized, -.I XkbGetKeySyms -returns BadAccess. If -.I num -is less than 1 or greater than XkbMaxKeyCount, -.I XkbGetKeySyms -returns BadValue. If any allocation errors occur, -.I XkbGetKeySyms -returns BadAlloc. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetKeySyms -function returns Success if it gets a reply to a request to the server to obtain the set of keysyms bound to -.I num -keys starting with the key whose keycode is -.I first. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeySyms \- Obtain the symbols for a subset of the keys in a keyboard
+description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeySyms
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+keycode of first key to get
+.TP
+.I \- num
+number of keycodes for which syms desired
+.TP
+.I \- xkb
+Xkb description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbGetKeySyms
+sends a request to the server to obtain the set of keysyms bound to
+.I num
+keys starting with the key whose keycode is
+.I first.
+It waits for a reply and returns the keysyms in the
+.I map.syms
+field of
+.I xkb.
+If successful,
+.I XkbGetKeySyms
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the client
+.I map
+in the xkb parameter has not been allocated,
+.I XkbGetKeySyms
+allocates and initializes it before obtaining the symbols.
+
+If a compatible version of Xkb is not available in the server or the Xkb
+extension has not been properly initialized,
+.I XkbGetKeySyms
+returns BadAccess. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeySyms
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeySyms
+returns BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetKeySyms
+function returns Success if it gets a reply to a request to the server to obtain the set of keysyms bound to
+.I num
+keys starting with the key whose keycode is
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyTypes.man b/libX11/man/xkb/XkbGetKeyTypes.man index 06e53dada..22bd9b78d 100644 --- a/libX11/man/xkb/XkbGetKeyTypes.man +++ b/libX11/man/xkb/XkbGetKeyTypes.man @@ -1,82 +1,82 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyTypes \- Obtain the list of available key types in the server's -keyboard mapping -.SH SYNOPSIS -.HP -.B Status XkbGetKeyTypes -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- first -index to first type to get, 0 => 1st type -.TP -.I \- num -number of key types to be returned -.TP -.I \- xkb -keyboard description containing client map to update -.SH DESCRIPTION -.LP -.I XkbGetKeyTypes -queries the server for the desired types, waits for a reply, and returns the -desired types in the -.I xkb->map->types. -If successful, it returns Success. - -.I XkbGetKeyTypes -returns BadAccess if the Xkb extension has not been properly initialized and -BadValue if the combination of -.I first -and -.I num -results in numbers out of valid range. - -.B NOTE: -.I XkbGetKeyTypes -is used to obtain descriptions of the key types themselves, not the key types -bound to individual keys. To obtain the key types bound to an individual key, -refer to the -.I key_sym_map -field of the client map. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbKeyType (__libmansuffix__), -.BR XkbKeyTypeIndex (__libmansuffix__) - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyTypes \- Obtain the list of available key types in the server's
+keyboard mapping
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeyTypes
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- first
+index to first type to get, 0 => 1st type
+.TP
+.I \- num
+number of key types to be returned
+.TP
+.I \- xkb
+keyboard description containing client map to update
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyTypes
+queries the server for the desired types, waits for a reply, and returns the
+desired types in the
+.I xkb->map->types.
+If successful, it returns Success.
+
+.I XkbGetKeyTypes
+returns BadAccess if the Xkb extension has not been properly initialized and
+BadValue if the combination of
+.I first
+and
+.I num
+results in numbers out of valid range.
+
+.B NOTE:
+.I XkbGetKeyTypes
+is used to obtain descriptions of the key types themselves, not the key types
+bound to individual keys. To obtain the key types bound to an individual key,
+refer to the
+.I key_sym_map
+field of the client map.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbKeyType (__libmansuffix__),
+.BR XkbKeyTypeIndex (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetKeyVirtualModMap.man b/libX11/man/xkb/XkbGetKeyVirtualModMap.man index 4269f7909..713a99eb4 100644 --- a/libX11/man/xkb/XkbGetKeyVirtualModMap.man +++ b/libX11/man/xkb/XkbGetKeyVirtualModMap.man @@ -1,103 +1,103 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyVirtualModMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyVirtualModMap \- Obtain the virtual modifier map (the vmodmap array) -for a subset of the keys in a keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetKeyVirtualModMap -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "first" "\^," -.BI "unsigned int " "num" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to server -.TP -.I \- first -keycode of first key to fetch -.TP -.I \- num -number of keys for which virtual mod maps are desired -.TP -.I \- xkb -Xkb description where results will be placed -.SH DESCRIPTION -.LP -.I XkbGetKeyVirutalModmap -sends a request to the server to obtain the virtual modifier mappings for -.I num -keys on the keyboard starting with key -.I first. -It waits for a reply and returns the virtual modifier mappings in the -.I server->vmodmap -array of -.I xkb. -If successful, -.I XkbGetKeyVirtualModMap -returns Success. The -.I xkb -parameter must be a pointer to a valid Xkb keyboard description. - -If the -.I server -map in the -.I xkb -parameter has not been allocated, -.I XkbGetKeyVirtualModMap -allocates and initializes it before obtaining the virtual modifier mappings. - -If the server does not have a compatible version of Xkb, or the Xkb extension -has not been properly initialized, -.I XkbGetKeyVirtualModMap -returns BadMatch. If -.I num -is less than 1 or greater than XkbMaxKeyCount, -.I XkbGetKeyVirtualModMap -returns BadValue. If any allocation errors occur, -.I XkbGetKeyVirtualModMap -returns BadAlloc. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetKeyVirutalModmap -function returns Success following a successful reply from the server to obtain -the virtual modifier mappings for -.I num -keys on the keyboard starting with key -.I first. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyVirtualModMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyVirtualModMap \- Obtain the virtual modifier map (the vmodmap array)
+for a subset of the keys in a keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetKeyVirtualModMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "first" "\^,"
+.BI "unsigned int " "num" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- first
+keycode of first key to fetch
+.TP
+.I \- num
+number of keys for which virtual mod maps are desired
+.TP
+.I \- xkb
+Xkb description where results will be placed
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyVirutalModmap
+sends a request to the server to obtain the virtual modifier mappings for
+.I num
+keys on the keyboard starting with key
+.I first.
+It waits for a reply and returns the virtual modifier mappings in the
+.I server->vmodmap
+array of
+.I xkb.
+If successful,
+.I XkbGetKeyVirtualModMap
+returns Success. The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description.
+
+If the
+.I server
+map in the
+.I xkb
+parameter has not been allocated,
+.I XkbGetKeyVirtualModMap
+allocates and initializes it before obtaining the virtual modifier mappings.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetKeyVirtualModMap
+returns BadMatch. If
+.I num
+is less than 1 or greater than XkbMaxKeyCount,
+.I XkbGetKeyVirtualModMap
+returns BadValue. If any allocation errors occur,
+.I XkbGetKeyVirtualModMap
+returns BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetKeyVirutalModmap
+function returns Success following a successful reply from the server to obtain
+the virtual modifier mappings for
+.I num
+keys on the keyboard starting with key
+.I first.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbGetKeyboard.man b/libX11/man/xkb/XkbGetKeyboard.man index ab6b8d716..30cea9ebe 100644 --- a/libX11/man/xkb/XkbGetKeyboard.man +++ b/libX11/man/xkb/XkbGetKeyboard.man @@ -1,92 +1,92 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyboard \- Retrieves one or more components of a keyboard device -description -.SH SYNOPSIS -.HP -.B XkbDescPtr XkbGetKeyboard -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "device_spec" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I bits_to_change -determines events to be selected / deselected -.TP -.I values_for_bits -1=>select, 0->deselect; for events in bits_to_change -.SH DESCRIPTION -.LP -.I XkbGetKeyboard -allocates and returns a pointer to a keyboard description. It queries the server for those -components specified in the -.I which -parameter for device -.I device_spec -and copies the results to the XkbDescRec it allocated. The remaining fields in the keyboard -description are set to NULL. The valid masks for -.I which -are those listed in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (1L<<7) -.TE - -.I XkbGetKeyboard -is used to read the current description for one or more components of a keyboard device. It calls -.I XkbGetKeyboardByName -as follows: - -.I XkbGetKeyboardByName(dpy, device_spec, -NULL, -.I which, which, -False). -.SH DIAGNOSTICS -.TP 15 -.SM BadAlloc -Unable to allocate storage - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyboard __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyboard \- Retrieves one or more components of a keyboard device
+description
+.SH SYNOPSIS
+.HP
+.B XkbDescPtr XkbGetKeyboard
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "device_spec" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+.I XkbGetKeyboard
+allocates and returns a pointer to a keyboard description. It queries the server for those
+components specified in the
+.I which
+parameter for device
+.I device_spec
+and copies the results to the XkbDescRec it allocated. The remaining fields in the keyboard
+description are set to NULL. The valid masks for
+.I which
+are those listed in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (1L<<7)
+.TE
+
+.I XkbGetKeyboard
+is used to read the current description for one or more components of a keyboard device. It calls
+.I XkbGetKeyboardByName
+as follows:
+
+.I XkbGetKeyboardByName(dpy, device_spec,
+NULL,
+.I which, which,
+False).
+.SH DIAGNOSTICS
+.TP 15
+.SM BadAlloc
+Unable to allocate storage
+
diff --git a/libX11/man/xkb/XkbGetKeyboardByName.man b/libX11/man/xkb/XkbGetKeyboardByName.man index 6c0eeee16..463a0b369 100644 --- a/libX11/man/xkb/XkbGetKeyboardByName.man +++ b/libX11/man/xkb/XkbGetKeyboardByName.man @@ -1,385 +1,385 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetKeyboardByName __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetKeyboardByName \- Build a new keyboard description from a set of named -components, and to optionally have the server use the resulting description to -replace an active one -.SH SYNOPSIS -.HP -.B XkbDescPtr XkbGetKeyboardByName -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "XkbComponentNamesPtr " "names" "\^," -.BI "unsigned int " "want" "\^," -.BI "unsigned int " "need" "\^," -.BI "Bool " "load" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- names -names of components to fetch -.TP -.I \- want -desired structures in returned record -.TP -.I \- need -mandatory structures in returned record -.TP -.I \- load -True => load into -.I device_spec -.SH DESCRIPTION -.LP -A client may request that the server fetch one or more components from its -database and use those components to build a new server keyboard description. -The new keyboard description may be built from scratch, or it may be built -starting with the current keyboard description for a particular device. Once the -keyboard description is built, all or part of it may be returned to the client. -The parts returned to the client need not include all of the parts used to build -the description. At the time it requests the server to build a new keyboard -description, a client may also request that the server use the new description -internally to replace the current keyboard description for a specific device, in -which case the behavior of the device changes accordingly. - -To build a new keyboard description from a set of named components, and to -optionally have the server use the resulting description to replace an active -one, use -.I XkbGetKeyboardByName. - -.I names -contains a set of expressions describing the keyboard components the -server should use to build the new keyboard description. -.I want -and -.I need -are bit fields describing the parts of the resulting keyboard description that -should be present in the returned XkbDescRec. - -The individual fields in -.I names -are -.I component expressions -composed of keyboard component names (no wildcarding as may be used in -.I XkbListComponents), -the special component name symbol `%', and the special operator characters `+' -and `|'. A component expression is parsed left to right, as follows: - -.IP \(bu 5 -The special component name "computed" may be used in keycodes component -expressions and refers to a component consisting of a set of keycodes computed -automatically by the server as needed. -.IP \(bu 5 -The special component name "canonical" may be used in types component -expressions and refers to a partial component defining the four standard key -types: ALPHABETIC, ONE_LEVEL, TWO_LEVEL, and KEYPAD. -.IP \(bu 5 -The special component name `%' refers to the keyboard description for the device -specified in device_spec or the keymap names component. If a keymap names -component is specified that does not begin with `+' or `|' and does not contain -`%', then `%' refers to the description generated by the keymap names component. -Otherwise, it refers to the keyboard description for device_spec. -.IP \(bu 5 -The `+' operator specifies that the following component should override the -currently assembled description; any definitions that are present in both -components are taken from the second. -.IP \(bu 5 -The `|' operator specifies that the next specified component should augment the -currently assembled description; any definitions that are present in both -components are taken from the first. -.IP \(bu 5 -If the component expression begins with an operator, a leading `%' is implied. -.IP \(bu 5 -If any unknown or illegal characters appear anywhere in the expression, the -entire expression is invalid and is ignored. - -For example, if -.I names->symbols -contained the expression "+de", it specifies that -the default member of the "de" class of symbols should be applied to the current -keyboard mapping, overriding any existing definitions (it could also be written -"+de(default)"). - -Here is a slightly more involved example: the expression -"acme(ascii)+de(basic)|iso9995-3" constructs a German (de) mapping for the ASCII -keyboard supplied by the "acme" vendor. The new definition begins with the -symbols for the ASCII keyboard for Acme -.I (acme(ascii)), -overrides them with definitions for the basic German keyboard -.I (de(basic)), -and then applies the definitions from the default iso9995-3 keyboard -.I (iso9995-3) -to any undefined keys or groups of keys (part three of the iso9995 standard -defines a common set of bindings for the secondary group, but allows national -layouts to override those definitions where necessary). - -.B NOTE -The interpretation of the above expression components (acme, ascii, de, basic, -iso9995-3) is not defined by Xkb; only the operations and their ordering are. - -Note that the presence of a keymap -.I names -component that does not contain `%' (either explicit or implied by virtue of an -expression starting with an operator) indicates a description that is -independent of the keyboard description for the device specified in -.I device_spec. -The same is true of requests in which the keymap names component is empty and -all five other names components contain expressions void of references to `%'. -Requests of this form allow you to deal with keyboard definitions independent of -any actual device. - -The server parses all non-NULL fields in -.I names -and uses them to build a keyboard description. However, before parsing the -expressions in -.I names, -the server ORs the bits in -.I want -and -.I need -together and examines the result in relationship to the expressions in -.I names. -Table 1 identifies the components that are required for each of the possible -bits in -.I want -or -.I need. -If a required component has not been specified in the -.I names structure (the corresponding field is NULL), the server substitutes the -expression "%", resulting in the component values being taken from -.I device_spec. -In addition, if -.I load -is True, the server modifies -.I names -if necessary (again using a "%" entry) to ensure all of the following fields are -non-NULL: -.I types, keycodes, symbols, -and -.I compat. -.bp -.TS -c s s -l l l. -Table 1 Want and Need Mask Bits and Required Names Components -_ -want or need mask bit Required names Components value -_ -XkbGBN_TypesMask Types (1L<<0) -XkbGBN_CompatMapMask Compat (1L<<1) -XkbGBN_ClientSymbolsMask Types + Symbols + Keycodes (1L<<2) -XkbGBN_ServerSymbolsMask Types + Symbols + Keycodes (1L<<3) -XkbGBN_SymbolsMask Symbols (1L<<1) -XkbGBN_IndicatorMapMask Compat (1L<<4) -XkbGBN_KeyNamesMask Keycodes (1L<<5) -XkbGBN_GeometryMask Geometry (1L<<6) -XkbGBN_OtherNamesMask Types + Symbols + Keycodes + Compat + Geometry (1L<<7) -XkbGBN_AllComponentsMask (0xff) -.TE - -.I need -specifies a set of keyboard components that the server must be able to -resolve in order for -.I XkbGetKeyboardByName -to succeed; if any of the components specified in -.I need -cannot be successfully resolved, -.I XkbGetKeyboardByName -fails. - -.I want -specifies a set of keyboard components that the server should attempt to -resolve, but that are not mandatory. If the server is unable to resolve any of -these components, -.I XkbGetKeyboardByName -still succeeds. Bits specified in -.I want -that are also specified in -.I need -have no effect in the context of -.I want. - -If -.I load -is True, the server updates its keyboard description for -.I device_spec -to match the result of the keyboard description just built. If load is False, -the -server's description for device -.I device_spec -is not updated. In all cases, the parts specified by -.I want -and -.I need -from the just-built keyboard description are returned. - -The -.I names -structure in an XkbDescRec keyboard description record contains one field for -each of the five component types used to build a keyboard description. When a -keyboard description is built from a set of database components, the -corresponding fields in this -.I names -structure are set to match the expressions used to build the component. - -Building a New Keyboard Description from the Server Database - -The information returned to the client in the XkbDescRec is essentially the -result of a series of calls to extract information from a fictitious device -whose description matches the one just built. The calls corresponding to each of -the mask bits are summarized in Table 2, together with the XkbDescRec -components that are filled in. - -.TS -c s s -l l l. -Table 2 XkbDescRec Components Returned for Values of Want & Needs -_ -Request (want+need) Fills in Xkb components Equivalent Function Call -_ -XkbGBN_TypesMask map.types XkbGetUpdatedMap(dpy, XkbTypesMask, Xkb) -XkbGBN_ServerSymbolsMask server XkbGetUpdatedMap(dpy, -XkbAllClientInfoMask, Xkb) -XkbGBN_ClientSymbolsMask map, including map.types -XkbGetUpdatedMap(dpy, XkbAllServerInfoMask, Xkb) -XkbGBN_IndicatorMaps indicators XkbGetIndicatorMap(dpy, -XkbAllIndicators, Xkb) -XkbGBN_CompatMapMask compat XkbGetCompatMap(dpy, XkbAllCompatMask, Xkb) -XkbGBN_GeometryMask geom XkbGetGeometry(dpy, Xkb) -XkbGBN_KeyNamesMask names.keys XkbGetNames(dpy, XkbKeyNamesMask | - names.key_aliases XkbKeyAliasesMask, Xkb) -XkbGBN_OtherNamesMask names.keycodes XkbGetNames(dpy, XkbAllNamesMask & - names.geometry ~(XkbKeyNamesMask | XkbKeyAliasesMask), - names.symbols Xkb) - names.types - map.types[*].lvl_names[*] - names.compat - names.vmods - names.indicators - names.groups - names.radio_groups - names.phys_symbols -.TE - -There is no way to determine which components specified in -.I want -(but not in -.I need) -were actually fetched, other than breaking the call into successive calls to -.I XkbGetKeyboardByName -and specifying individual components. - -.I XkbGetKeyboardByName -always sets -.I min_key_code -and -.I max_key_code -in the returned XkbDescRec structure. - -.I XkbGetKeyboardByName -is synchronous; it sends the request to the server to build a new keyboard -description and waits for the reply. If successful, the return value is -non-NULL. -.I XkbGetKeyboardByName -generates a BadMatch protocol error if errors are encountered when building the -keyboard description. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components outlined in -Figure 1.1. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 3. - -.TS -c s s -l l l -l l l. -Table 3 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbListComponents (__libmansuffix__) - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetKeyboardByName __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetKeyboardByName \- Build a new keyboard description from a set of named
+components, and to optionally have the server use the resulting description to
+replace an active one
+.SH SYNOPSIS
+.HP
+.B XkbDescPtr XkbGetKeyboardByName
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "XkbComponentNamesPtr " "names" "\^,"
+.BI "unsigned int " "want" "\^,"
+.BI "unsigned int " "need" "\^,"
+.BI "Bool " "load" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- names
+names of components to fetch
+.TP
+.I \- want
+desired structures in returned record
+.TP
+.I \- need
+mandatory structures in returned record
+.TP
+.I \- load
+True => load into
+.I device_spec
+.SH DESCRIPTION
+.LP
+A client may request that the server fetch one or more components from its
+database and use those components to build a new server keyboard description.
+The new keyboard description may be built from scratch, or it may be built
+starting with the current keyboard description for a particular device. Once the
+keyboard description is built, all or part of it may be returned to the client.
+The parts returned to the client need not include all of the parts used to build
+the description. At the time it requests the server to build a new keyboard
+description, a client may also request that the server use the new description
+internally to replace the current keyboard description for a specific device, in
+which case the behavior of the device changes accordingly.
+
+To build a new keyboard description from a set of named components, and to
+optionally have the server use the resulting description to replace an active
+one, use
+.I XkbGetKeyboardByName.
+
+.I names
+contains a set of expressions describing the keyboard components the
+server should use to build the new keyboard description.
+.I want
+and
+.I need
+are bit fields describing the parts of the resulting keyboard description that
+should be present in the returned XkbDescRec.
+
+The individual fields in
+.I names
+are
+.I component expressions
+composed of keyboard component names (no wildcarding as may be used in
+.I XkbListComponents),
+the special component name symbol `%', and the special operator characters `+'
+and `|'. A component expression is parsed left to right, as follows:
+
+.IP \(bu 5
+The special component name "computed" may be used in keycodes component
+expressions and refers to a component consisting of a set of keycodes computed
+automatically by the server as needed.
+.IP \(bu 5
+The special component name "canonical" may be used in types component
+expressions and refers to a partial component defining the four standard key
+types: ALPHABETIC, ONE_LEVEL, TWO_LEVEL, and KEYPAD.
+.IP \(bu 5
+The special component name `%' refers to the keyboard description for the device
+specified in device_spec or the keymap names component. If a keymap names
+component is specified that does not begin with `+' or `|' and does not contain
+`%', then `%' refers to the description generated by the keymap names component.
+Otherwise, it refers to the keyboard description for device_spec.
+.IP \(bu 5
+The `+' operator specifies that the following component should override the
+currently assembled description; any definitions that are present in both
+components are taken from the second.
+.IP \(bu 5
+The `|' operator specifies that the next specified component should augment the
+currently assembled description; any definitions that are present in both
+components are taken from the first.
+.IP \(bu 5
+If the component expression begins with an operator, a leading `%' is implied.
+.IP \(bu 5
+If any unknown or illegal characters appear anywhere in the expression, the
+entire expression is invalid and is ignored.
+
+For example, if
+.I names->symbols
+contained the expression "+de", it specifies that
+the default member of the "de" class of symbols should be applied to the current
+keyboard mapping, overriding any existing definitions (it could also be written
+"+de(default)").
+
+Here is a slightly more involved example: the expression
+"acme(ascii)+de(basic)|iso9995-3" constructs a German (de) mapping for the ASCII
+keyboard supplied by the "acme" vendor. The new definition begins with the
+symbols for the ASCII keyboard for Acme
+.I (acme(ascii)),
+overrides them with definitions for the basic German keyboard
+.I (de(basic)),
+and then applies the definitions from the default iso9995-3 keyboard
+.I (iso9995-3)
+to any undefined keys or groups of keys (part three of the iso9995 standard
+defines a common set of bindings for the secondary group, but allows national
+layouts to override those definitions where necessary).
+
+.B NOTE
+The interpretation of the above expression components (acme, ascii, de, basic,
+iso9995-3) is not defined by Xkb; only the operations and their ordering are.
+
+Note that the presence of a keymap
+.I names
+component that does not contain `%' (either explicit or implied by virtue of an
+expression starting with an operator) indicates a description that is
+independent of the keyboard description for the device specified in
+.I device_spec.
+The same is true of requests in which the keymap names component is empty and
+all five other names components contain expressions void of references to `%'.
+Requests of this form allow you to deal with keyboard definitions independent of
+any actual device.
+
+The server parses all non-NULL fields in
+.I names
+and uses them to build a keyboard description. However, before parsing the
+expressions in
+.I names,
+the server ORs the bits in
+.I want
+and
+.I need
+together and examines the result in relationship to the expressions in
+.I names.
+Table 1 identifies the components that are required for each of the possible
+bits in
+.I want
+or
+.I need.
+If a required component has not been specified in the
+.I names structure (the corresponding field is NULL), the server substitutes the
+expression "%", resulting in the component values being taken from
+.I device_spec.
+In addition, if
+.I load
+is True, the server modifies
+.I names
+if necessary (again using a "%" entry) to ensure all of the following fields are
+non-NULL:
+.I types, keycodes, symbols,
+and
+.I compat.
+.bp
+.TS
+c s s
+l l l.
+Table 1 Want and Need Mask Bits and Required Names Components
+_
+want or need mask bit Required names Components value
+_
+XkbGBN_TypesMask Types (1L<<0)
+XkbGBN_CompatMapMask Compat (1L<<1)
+XkbGBN_ClientSymbolsMask Types + Symbols + Keycodes (1L<<2)
+XkbGBN_ServerSymbolsMask Types + Symbols + Keycodes (1L<<3)
+XkbGBN_SymbolsMask Symbols (1L<<1)
+XkbGBN_IndicatorMapMask Compat (1L<<4)
+XkbGBN_KeyNamesMask Keycodes (1L<<5)
+XkbGBN_GeometryMask Geometry (1L<<6)
+XkbGBN_OtherNamesMask Types + Symbols + Keycodes + Compat + Geometry (1L<<7)
+XkbGBN_AllComponentsMask (0xff)
+.TE
+
+.I need
+specifies a set of keyboard components that the server must be able to
+resolve in order for
+.I XkbGetKeyboardByName
+to succeed; if any of the components specified in
+.I need
+cannot be successfully resolved,
+.I XkbGetKeyboardByName
+fails.
+
+.I want
+specifies a set of keyboard components that the server should attempt to
+resolve, but that are not mandatory. If the server is unable to resolve any of
+these components,
+.I XkbGetKeyboardByName
+still succeeds. Bits specified in
+.I want
+that are also specified in
+.I need
+have no effect in the context of
+.I want.
+
+If
+.I load
+is True, the server updates its keyboard description for
+.I device_spec
+to match the result of the keyboard description just built. If load is False,
+the
+server's description for device
+.I device_spec
+is not updated. In all cases, the parts specified by
+.I want
+and
+.I need
+from the just-built keyboard description are returned.
+
+The
+.I names
+structure in an XkbDescRec keyboard description record contains one field for
+each of the five component types used to build a keyboard description. When a
+keyboard description is built from a set of database components, the
+corresponding fields in this
+.I names
+structure are set to match the expressions used to build the component.
+
+Building a New Keyboard Description from the Server Database
+
+The information returned to the client in the XkbDescRec is essentially the
+result of a series of calls to extract information from a fictitious device
+whose description matches the one just built. The calls corresponding to each of
+the mask bits are summarized in Table 2, together with the XkbDescRec
+components that are filled in.
+
+.TS
+c s s
+l l l.
+Table 2 XkbDescRec Components Returned for Values of Want & Needs
+_
+Request (want+need) Fills in Xkb components Equivalent Function Call
+_
+XkbGBN_TypesMask map.types XkbGetUpdatedMap(dpy, XkbTypesMask, Xkb)
+XkbGBN_ServerSymbolsMask server XkbGetUpdatedMap(dpy,
+XkbAllClientInfoMask, Xkb)
+XkbGBN_ClientSymbolsMask map, including map.types
+XkbGetUpdatedMap(dpy, XkbAllServerInfoMask, Xkb)
+XkbGBN_IndicatorMaps indicators XkbGetIndicatorMap(dpy,
+XkbAllIndicators, Xkb)
+XkbGBN_CompatMapMask compat XkbGetCompatMap(dpy, XkbAllCompatMask, Xkb)
+XkbGBN_GeometryMask geom XkbGetGeometry(dpy, Xkb)
+XkbGBN_KeyNamesMask names.keys XkbGetNames(dpy, XkbKeyNamesMask |
+ names.key_aliases XkbKeyAliasesMask, Xkb)
+XkbGBN_OtherNamesMask names.keycodes XkbGetNames(dpy, XkbAllNamesMask &
+ names.geometry ~(XkbKeyNamesMask | XkbKeyAliasesMask),
+ names.symbols Xkb)
+ names.types
+ map.types[*].lvl_names[*]
+ names.compat
+ names.vmods
+ names.indicators
+ names.groups
+ names.radio_groups
+ names.phys_symbols
+.TE
+
+There is no way to determine which components specified in
+.I want
+(but not in
+.I need)
+were actually fetched, other than breaking the call into successive calls to
+.I XkbGetKeyboardByName
+and specifying individual components.
+
+.I XkbGetKeyboardByName
+always sets
+.I min_key_code
+and
+.I max_key_code
+in the returned XkbDescRec structure.
+
+.I XkbGetKeyboardByName
+is synchronous; it sends the request to the server to build a new keyboard
+description and waits for the reply. If successful, the return value is
+non-NULL.
+.I XkbGetKeyboardByName
+generates a BadMatch protocol error if errors are encountered when building the
+keyboard description.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components outlined in
+Figure 1.1.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 3.
+
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbListComponents (__libmansuffix__)
+
+
diff --git a/libX11/man/xkb/XkbGetMap.man b/libX11/man/xkb/XkbGetMap.man index 753d44c50..a5b82cba0 100644 --- a/libX11/man/xkb/XkbGetMap.man +++ b/libX11/man/xkb/XkbGetMap.man @@ -1,321 +1,321 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetMap \- Allocate an XkbDescRec structure and populate it with the server's -keyboard -client map and server map -.SH SYNOPSIS -.HP -.B XkbDescPtr XkbGetMap -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "device_spec" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- which -mask selecting subcomponents to populate -.TP -.I \- device_spec -device_id, or XkbUseCoreKbd -.SH DESCRIPTION -.LP -Xkb provides two functions to obtain the keyboard mapping components from the -server. The -first function, -.I XkbGetMap, -allocates an XkbDescRec structure, retrieves mapping components from the server, -and -stores them in the XkbDescRec structure it just allocated. The second function, -.I XkbGetUpdatedMap, -retrieves mapping components from the server and stores them in an XkbDescRec -structure -that has previously been allocated. - -To allocate an XkbDescRec structure and populate it with the server's keyboard -client map -and server map, use -.I XkbGetMap. XkbGetMap -is similar to -.I XkbGetKeyboard, -but is used only for obtaining the address of an XkbDescRec structure that is -populated -with keyboard mapping components. It allows finer control over which -substructures of the -keyboard mapping components are to be populated. -.I XkbGetKeyboard -always returns fully populated components, while -.I XkbGetMap -can be instructed to return a partially populated component. - -The -.I which mask is a bitwise inclusive OR of the masks defined in Table 14.1. Only -those -portions of the keyboard server map and the keyboard client maps that are -specified in -.I which -are allocated and populated. - -In addition to allocating and obtaining the server map and the client map, -.I XkbGetMap -also sets the -.I device_spec, -the -.I min_key_code, -and -.I max_key_code -fields of the keyboard description. - -.I XkbGetMap -is synchronous; it queries the server for the desired information, waits for a -reply, and -then returns. If successful, -.I XkbGetMap -returns a pointer to the XkbDescRec structure it allocated. If unsuccessful, -.I XkbGetMap -returns NULL. When unsuccessful, one of the following protocol errors is also -generated: -BadAlloc (unable to allocate the XkbDescRec structure), BadValue (some mask bits -in -.I which -are undefined), or BadImplementation (a compatible version of the Xkb extension -is not -available in the server). To free the returned data, use -.I XkbFreeClientMap. - -Xkb also provides convenience functions to get partial component definitions -from the -server. These functions are specified in the "convenience functions" column in -Table -1. Refer to the sections listed in the table for more information on these -functions. - -.TS -c s s s s -c s s s s -l l l l l -l l l l l -lw(3i) l l lw(1i) lw(3i). -Table 1 Xkb Mapping Component Masks -and Convenience Functions -_ -Mask Value Map Fields Convenience - Functions -_ -T{ -XkbKeyTypesMask -T} (1<<0) client T{ -types -.br -size_types -.br -num_types -T} T{ -XkbGetKeyTypes -.br -XkbResizeKeyType -.br -XkbCopyKeyType -.br -XkbCopyKeyTypes -T} -T{ -XkbKeySymsMask -T} (1<<1) client T{ -syms -.br -size_syms -.br -num_syms -.br -key_sym_map -T} T{ -XkbGetKeySyms -.br -XkbResizeKeySyms -.br -XkbChangeTypesOfKey -T} -T{ -XkbModifierMapMask -T} (1<<2) client modmap T{ -XkbGetKeyModifierMap -T} -T{ -XkbExplicitComponentsMask -T} (1<<3) server T{ -explicit -T} T{ -XkbGetKeyExplicitComponents -T} -T{ -XkbKeyActionsMask -T} (1<<4) server T{ -key_acts -.br -acts -.br -num_acts -.br -size_acts -T} T{ -XkbGetKeyActions -.br -XkbResizeKeyActions -T} -T{ -XkbKeyBehaviorsMask -T} (1<<5) server T{ -behaviors -T} T{ -XkbGetKeyBehaviors -T} -T{ -XkbVirtualModsMask -T} (1<<6) server T{ -vmods -T} T{ -XkbGetVirtualMods -T} -T{ -XkbVirtualModMapMask -T} (1<<7) server T{ -vmodmap -T} T{ -XkbGetVirtualModMap -T} -.TE - -.nf -.bp -Xkb defines combinations of these masks for convenience: - - #define XkbResizableInfoMask (XkbKeyTypesMask) - #define XkbAllClientInfoMask (XkbKeyTypesMask | XkbKeySymsMask | - XkbModifierMapMask) - #define XkbAllServerInfoMask (XkbExplicitComponentsMask | - XkbKeyActionsMask | - XkbKeyBehaviorsMask | - XkbVirtualModsMask | - XkbVirtualModMapMask) - #define XkbAllMapComponentsMask XkbAllClientInfoMask | - XkbAllServerInfoMask) - -.fi -Key types, symbol maps, and actions are all interrelated: changes in one require -changes -in the others. The convenience functions make it easier to edit these components -and -handle the interdependencies. - -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 2. - -.TS -c s s -l l l -l l l. -Table 2 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbCopyKeyType (__libmansuffix__), -.BR XkbCopyKeyTypes (__libmansuffix__), -.BR XkbFreeClientMap (__libmansuffix__), -.BR XkbGetKeyActions (__libmansuffix__), -.BR XkbGetKeyBehaviors (__libmansuffix__), -.BR XkbGetKeyboard (__libmansuffix__), -.BR XkbGetKeyExplicitComponents (__libmansuffix__), -.BR XkbGetKeyModifierMap (__libmansuffix__), -.BR XkbGetKeySyms (__libmansuffix__), -.BR XkbGetKeyTypes (__libmansuffix__), -.BR XkbGetUpdatedMap (__libmansuffix__), -.BR XkbGetVirtualModMap (__libmansuffix__), -.BR XkbGetVirtualMods (__libmansuffix__), -.BR XkbResizeKeyActions (__libmansuffix__), -.BR XkbResizeKeySyms (__libmansuffix__), -.BR XkbResizeKeyType (__libmansuffix__) - - - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetMap \- Allocate an XkbDescRec structure and populate it with the server's
+keyboard
+client map and server map
+.SH SYNOPSIS
+.HP
+.B XkbDescPtr XkbGetMap
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "device_spec" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to populate
+.TP
+.I \- device_spec
+device_id, or XkbUseCoreKbd
+.SH DESCRIPTION
+.LP
+Xkb provides two functions to obtain the keyboard mapping components from the
+server. The
+first function,
+.I XkbGetMap,
+allocates an XkbDescRec structure, retrieves mapping components from the server,
+and
+stores them in the XkbDescRec structure it just allocated. The second function,
+.I XkbGetUpdatedMap,
+retrieves mapping components from the server and stores them in an XkbDescRec
+structure
+that has previously been allocated.
+
+To allocate an XkbDescRec structure and populate it with the server's keyboard
+client map
+and server map, use
+.I XkbGetMap. XkbGetMap
+is similar to
+.I XkbGetKeyboard,
+but is used only for obtaining the address of an XkbDescRec structure that is
+populated
+with keyboard mapping components. It allows finer control over which
+substructures of the
+keyboard mapping components are to be populated.
+.I XkbGetKeyboard
+always returns fully populated components, while
+.I XkbGetMap
+can be instructed to return a partially populated component.
+
+The
+.I which mask is a bitwise inclusive OR of the masks defined in Table 14.1. Only
+those
+portions of the keyboard server map and the keyboard client maps that are
+specified in
+.I which
+are allocated and populated.
+
+In addition to allocating and obtaining the server map and the client map,
+.I XkbGetMap
+also sets the
+.I device_spec,
+the
+.I min_key_code,
+and
+.I max_key_code
+fields of the keyboard description.
+
+.I XkbGetMap
+is synchronous; it queries the server for the desired information, waits for a
+reply, and
+then returns. If successful,
+.I XkbGetMap
+returns a pointer to the XkbDescRec structure it allocated. If unsuccessful,
+.I XkbGetMap
+returns NULL. When unsuccessful, one of the following protocol errors is also
+generated:
+BadAlloc (unable to allocate the XkbDescRec structure), BadValue (some mask bits
+in
+.I which
+are undefined), or BadImplementation (a compatible version of the Xkb extension
+is not
+available in the server). To free the returned data, use
+.I XkbFreeClientMap.
+
+Xkb also provides convenience functions to get partial component definitions
+from the
+server. These functions are specified in the "convenience functions" column in
+Table
+1. Refer to the sections listed in the table for more information on these
+functions.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(3i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+.nf
+.bp
+Xkb defines combinations of these masks for convenience:
+
+ #define XkbResizableInfoMask (XkbKeyTypesMask)
+ #define XkbAllClientInfoMask (XkbKeyTypesMask | XkbKeySymsMask |
+ XkbModifierMapMask)
+ #define XkbAllServerInfoMask (XkbExplicitComponentsMask |
+ XkbKeyActionsMask |
+ XkbKeyBehaviorsMask |
+ XkbVirtualModsMask |
+ XkbVirtualModMapMask)
+ #define XkbAllMapComponentsMask XkbAllClientInfoMask |
+ XkbAllServerInfoMask)
+
+.fi
+Key types, symbol maps, and actions are all interrelated: changes in one require
+changes
+in the others. The convenience functions make it easier to edit these components
+and
+handle the interdependencies.
+
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbFreeClientMap (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyboard (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbGetUpdatedMap (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__)
+
+
+
+
+
diff --git a/libX11/man/xkb/XkbGetNameChanges.man b/libX11/man/xkb/XkbGetNameChanges.man index 55766e49b..2c40a745a 100644 --- a/libX11/man/xkb/XkbGetNameChanges.man +++ b/libX11/man/xkb/XkbGetNameChanges.man @@ -1,70 +1,70 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetNameChanges \- Update the local copy of the keyboard description with the -actual values of the results of one or more calls to -.I XkbNoteNameChanges -.SH SYNOPSIS -.HP -.B Status XkbGetNameChanges -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "XkbNameChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- xkb -keyboard description to which names are copied -.TP -.I \- changes -names components to be obtained from the server -.SH DESCRIPTION -.LP -.I XkbGetNameChanges -examines the -.I changes -parameter, retrieves the necessary information from the server, and places the -results into the -.I xkb -keyboard description. - -.I XkbGetNamesChanges -can generate BadAlloc, BadImplementation, and BadMatch errors. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbNoteNameChanges (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNameChanges \- Update the local copy of the keyboard description with the
+actual values of the results of one or more calls to
+.I XkbNoteNameChanges
+.SH SYNOPSIS
+.HP
+.B Status XkbGetNameChanges
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "XkbNameChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description to which names are copied
+.TP
+.I \- changes
+names components to be obtained from the server
+.SH DESCRIPTION
+.LP
+.I XkbGetNameChanges
+examines the
+.I changes
+parameter, retrieves the necessary information from the server, and places the
+results into the
+.I xkb
+keyboard description.
+
+.I XkbGetNamesChanges
+can generate BadAlloc, BadImplementation, and BadMatch errors.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbNoteNameChanges (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetNamedGeometry.man b/libX11/man/xkb/XkbGetNamedGeometry.man index 2d02b1846..24e5b36c6 100644 --- a/libX11/man/xkb/XkbGetNamedGeometry.man +++ b/libX11/man/xkb/XkbGetNamedGeometry.man @@ -1,159 +1,159 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetNamedGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetNamedGeometry \- Loads a keyboard geometry description from this database -by name -.SH SYNTAX -.HP -.B Status XkbGetNamedGeometry -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "Atom " "name" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- xkb -keyboard description into which the geometry should be loaded -.TP -.I \- name -name of the geometry to be loaded -.SH DESCRIPTION -.LP -It is also possible to load a keyboard geometry by name. The X server maintains -a database -of keyboard components (see below). - -.I XkbGetNamedGeometry -can return BadName if the name cannot be found. - -The X server maintains a database of keyboard components, identified by -component type. -The database contains all the information necessary to build a complete keyboard -description for a particular device, as well as to assemble partial -descriptions. Table 1 identifies the component types and the type of information -they contain. - -.TS -c s s -l l l -l l l -l lw(2i) lw(2i). -Table 1 Server Database Keyboard Components -_ -Component Component Primary Contents May also contain -Type -_ -Keymap T{ -Complete keyboard description -.br -Normally assembled using a complete component from each of the other types -T} -.sp -Keycodes T{ -Symbolic name for each key -.br -Minimum and maximum legal keycodes -T} T{ -Aliases for some keys -.br -Symbolic names for indicators -.br -Description of indicators physically present -T} -.sp -Types Key types T{ -Real modifier bindings and symbolic names for some virtual modifiers -T} -.sp -Compatibility T{ -Rules used to assign actions to keysyms -T} T{ -Maps for some indicators -.br -Real modifier bindings and symbolic names for some virtual modifiers -T} -.sp -Symbols T{ -Symbol mapping for keyboard keys -.br -Modifier mapping -.br -Symbolic names for groups -T} T{ -Explicit actions and behaviors for some keys -.br -Real modifier bindings and symbolic names for some virtual modifiers -T} -.sp -Geometry Layout of the keyboard T{ -Aliases for some keys; overrides keycodes component aliases -.br -Symbolic names for some indicators -.br -Description of indicators physically present -T} -.TE - -While a keymap is a database entry for a complete keyboard description, and -therefore -logically different from the individual component database entries, the rules -for -processing keymap entries are identical to those for the individual components. -In the -discussion that follows, the term component is used to refer to either -individual -components or a keymap. - -There may be multiple entries for each of the component types. An entry may be -either -.I complete -or -.I partial. -Partial entries describe only a piece of the corresponding keyboard component -and are -designed to be combined with other entries of the same type to form a complete -entry. - -For example, a partial symbols map might describe the differences between a -common ASCII -keyboard and some national layout. Such a partial map is not useful on its own -because it -does not include those symbols that are the same on both the ASCII and national -layouts -(such as function keys). On the other hand, this partial map can be used to -configure -.I any -ASCII keyboard to use a national layout. - -When a keyboard description is built, the components are processed in the order -in which -they appear in Table 1; later definitions override earlier ones. -.SH DIAGNOSTICS -.TP 15 -.B BadName -A font or color of the specified name does not exist. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetNamedGeometry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNamedGeometry \- Loads a keyboard geometry description from this database
+by name
+.SH SYNTAX
+.HP
+.B Status XkbGetNamedGeometry
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "Atom " "name" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- xkb
+keyboard description into which the geometry should be loaded
+.TP
+.I \- name
+name of the geometry to be loaded
+.SH DESCRIPTION
+.LP
+It is also possible to load a keyboard geometry by name. The X server maintains
+a database
+of keyboard components (see below).
+
+.I XkbGetNamedGeometry
+can return BadName if the name cannot be found.
+
+The X server maintains a database of keyboard components, identified by
+component type.
+The database contains all the information necessary to build a complete keyboard
+description for a particular device, as well as to assemble partial
+descriptions. Table 1 identifies the component types and the type of information
+they contain.
+
+.TS
+c s s
+l l l
+l l l
+l lw(2i) lw(2i).
+Table 1 Server Database Keyboard Components
+_
+Component Component Primary Contents May also contain
+Type
+_
+Keymap T{
+Complete keyboard description
+.br
+Normally assembled using a complete component from each of the other types
+T}
+.sp
+Keycodes T{
+Symbolic name for each key
+.br
+Minimum and maximum legal keycodes
+T} T{
+Aliases for some keys
+.br
+Symbolic names for indicators
+.br
+Description of indicators physically present
+T}
+.sp
+Types Key types T{
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Compatibility T{
+Rules used to assign actions to keysyms
+T} T{
+Maps for some indicators
+.br
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Symbols T{
+Symbol mapping for keyboard keys
+.br
+Modifier mapping
+.br
+Symbolic names for groups
+T} T{
+Explicit actions and behaviors for some keys
+.br
+Real modifier bindings and symbolic names for some virtual modifiers
+T}
+.sp
+Geometry Layout of the keyboard T{
+Aliases for some keys; overrides keycodes component aliases
+.br
+Symbolic names for some indicators
+.br
+Description of indicators physically present
+T}
+.TE
+
+While a keymap is a database entry for a complete keyboard description, and
+therefore
+logically different from the individual component database entries, the rules
+for
+processing keymap entries are identical to those for the individual components.
+In the
+discussion that follows, the term component is used to refer to either
+individual
+components or a keymap.
+
+There may be multiple entries for each of the component types. An entry may be
+either
+.I complete
+or
+.I partial.
+Partial entries describe only a piece of the corresponding keyboard component
+and are
+designed to be combined with other entries of the same type to form a complete
+entry.
+
+For example, a partial symbols map might describe the differences between a
+common ASCII
+keyboard and some national layout. Such a partial map is not useful on its own
+because it
+does not include those symbols that are the same on both the ASCII and national
+layouts
+(such as function keys). On the other hand, this partial map can be used to
+configure
+.I any
+ASCII keyboard to use a national layout.
+
+When a keyboard description is built, the components are processed in the order
+in which
+they appear in Table 1; later definitions override earlier ones.
+.SH DIAGNOSTICS
+.TP 15
+.B BadName
+A font or color of the specified name does not exist.
diff --git a/libX11/man/xkb/XkbGetNamedIndicator.man b/libX11/man/xkb/XkbGetNamedIndicator.man index 48fb38d3f..7a7802d35 100644 --- a/libX11/man/xkb/XkbGetNamedIndicator.man +++ b/libX11/man/xkb/XkbGetNamedIndicator.man @@ -1,116 +1,116 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetNamedIndicator \- Look up the indicator map and other information for an -indicator by name -.SH SYNOPSIS -.HP -.B Bool XkbGetNamedIndicator -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "dev_spec" "\^," -.BI "Atom " "name" "\^," -.BI "int *" "ndx_rtrn" "\^," -.BI "Bool *" "state_rtrn" "\^," -.BI "XkbIndicatorMapPtr " "map_rtrn" "\^," -.BI "Bool *" "real_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- dev_spec -keyboard device ID, or XkbUseCoreKbd -.TP -.I \- name -name of the indicator to be retrieved -.TP -.I \- ndx_rtrn -backfilled with the index of the retrieved indicator -.TP -.I \- state_rtrn -backfilled with the current state of the retrieved indicator -.TP -.I \- map_rtrn - backfilled with the mapping for the retrieved indicator -.TP -.I \- real_rtrn -backfilled with True if the named indicator is real (physical) -.SH DESCRIPTION -.LP -Xkb also allows applications to refer to indicators by name. Use -.I XkbGetNames -to get the indicator names. Using names eliminates the need for hard-coding -bitmask values for particular keyboards. For example, instead of using -vendor-specific constants such as WSKBLed_ScrollLock mask on Digital -workstations or XLED_SCROLL_LOCK on Sun workstations, you can instead use -.I XkbGetNamedIndicator -to look up information on the indicator named "Scroll Lock." - -If the device specified by -.I device_spec -has an indicator named -.I name, XkbGetNamedIndicator -returns True and populates the rest of the parameters with information about the -indicator. Otherwise, -.I XkbGetNamedIndicator -returns False. - -The -.I ndx_rtrn -field returns the zero-based index of the named indicator. This index is the bit -position to use in any function call that requires a mask of indicator bits, as -well as the indicator's index into the XkbIndicatorRec array of indicator maps. -.I state_rtrn -returns the current state of the named indicator (True = on, False = off). -.I map_rtrn -returns the indicator map for the named indicator. In addition, if the indicator -is mapped to a physical LED, the -.I real_rtrn -parameter is set to True. - -Each of the " -.I _rtrn -" arguments is optional; you can pass NULL for any unneeded " -.I _rtrn -" arguments. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbGetNamedIndicator -function returns True if the device specified by -.I device_spec -has an indicator named -.I name. -.TP 15 -False -The -.I XkbGetNamedIndicator -function returns False if the device specified by -.I device_spec -does not have an indicator named -.I name. -.SH "SEE ALSO" -.BR XkbGetNames (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNamedIndicator \- Look up the indicator map and other information for an
+indicator by name
+.SH SYNOPSIS
+.HP
+.B Bool XkbGetNamedIndicator
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "dev_spec" "\^,"
+.BI "Atom " "name" "\^,"
+.BI "int *" "ndx_rtrn" "\^,"
+.BI "Bool *" "state_rtrn" "\^,"
+.BI "XkbIndicatorMapPtr " "map_rtrn" "\^,"
+.BI "Bool *" "real_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- dev_spec
+keyboard device ID, or XkbUseCoreKbd
+.TP
+.I \- name
+name of the indicator to be retrieved
+.TP
+.I \- ndx_rtrn
+backfilled with the index of the retrieved indicator
+.TP
+.I \- state_rtrn
+backfilled with the current state of the retrieved indicator
+.TP
+.I \- map_rtrn
+ backfilled with the mapping for the retrieved indicator
+.TP
+.I \- real_rtrn
+backfilled with True if the named indicator is real (physical)
+.SH DESCRIPTION
+.LP
+Xkb also allows applications to refer to indicators by name. Use
+.I XkbGetNames
+to get the indicator names. Using names eliminates the need for hard-coding
+bitmask values for particular keyboards. For example, instead of using
+vendor-specific constants such as WSKBLed_ScrollLock mask on Digital
+workstations or XLED_SCROLL_LOCK on Sun workstations, you can instead use
+.I XkbGetNamedIndicator
+to look up information on the indicator named "Scroll Lock."
+
+If the device specified by
+.I device_spec
+has an indicator named
+.I name, XkbGetNamedIndicator
+returns True and populates the rest of the parameters with information about the
+indicator. Otherwise,
+.I XkbGetNamedIndicator
+returns False.
+
+The
+.I ndx_rtrn
+field returns the zero-based index of the named indicator. This index is the bit
+position to use in any function call that requires a mask of indicator bits, as
+well as the indicator's index into the XkbIndicatorRec array of indicator maps.
+.I state_rtrn
+returns the current state of the named indicator (True = on, False = off).
+.I map_rtrn
+returns the indicator map for the named indicator. In addition, if the indicator
+is mapped to a physical LED, the
+.I real_rtrn
+parameter is set to True.
+
+Each of the "
+.I _rtrn
+" arguments is optional; you can pass NULL for any unneeded "
+.I _rtrn
+" arguments.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetNamedIndicator
+function returns True if the device specified by
+.I device_spec
+has an indicator named
+.I name.
+.TP 15
+False
+The
+.I XkbGetNamedIndicator
+function returns False if the device specified by
+.I device_spec
+does not have an indicator named
+.I name.
+.SH "SEE ALSO"
+.BR XkbGetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetNames.man b/libX11/man/xkb/XkbGetNames.man index 186aab1b9..f761bb502 100644 --- a/libX11/man/xkb/XkbGetNames.man +++ b/libX11/man/xkb/XkbGetNames.man @@ -1,135 +1,135 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetNames \- Obtain symbolic names from the server -.SH SYNOPSIS -.HP -.B Status XkbGetNames -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "Xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- which -mask of names or map components to be updated -.TP -.I \- Xkb -keyboard description to be updated -.SH DESCRIPTION -.LP -.I XkbGetNames -retrieves symbolic names for the components of the keyboard extension from the X server. The -.I which -parameter specifies the name components to be updated in the -.I xkb -parameter, and is the bitwise inclusive OR of the valid names mask bits defined in Table 1. - - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE - -If the -.I names -field of the keyboard description -.I xkb -is NULL, -.I XkbGetNames -allocates and initializes the -.I names -component of the keyboard description before obtaining the values specified by -.I which. -If the -.I names field of -.I xkb -is not NULL, -.I XkbGetNames -obtains the values specified by -.I which -and copies them into the keyboard description -.I Xkb. - -If the -.I map -component of the -.I xkb -parameter is NULL, -.I XkbGetNames -does not retrieve type or shift level names, even if XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in -.I which. - -.I XkbGetNames -can return Success, or BadAlloc, BadLength, BadMatch, and BadImplementation errors. - -To free symbolic names, use -.I XkbFreeNames. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally contain the arguments -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has correct type and range, but -is otherwise invalid -.SH "SEE ALSO" -.BR XkbFreeNames (__libmansuffix__) - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetNames \- Obtain symbolic names from the server
+.SH SYNOPSIS
+.HP
+.B Status XkbGetNames
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "Xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be updated
+.TP
+.I \- Xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+.I XkbGetNames
+retrieves symbolic names for the components of the keyboard extension from the X server. The
+.I which
+parameter specifies the name components to be updated in the
+.I xkb
+parameter, and is the bitwise inclusive OR of the valid names mask bits defined in Table 1.
+
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+If the
+.I names
+field of the keyboard description
+.I xkb
+is NULL,
+.I XkbGetNames
+allocates and initializes the
+.I names
+component of the keyboard description before obtaining the values specified by
+.I which.
+If the
+.I names field of
+.I xkb
+is not NULL,
+.I XkbGetNames
+obtains the values specified by
+.I which
+and copies them into the keyboard description
+.I Xkb.
+
+If the
+.I map
+component of the
+.I xkb
+parameter is NULL,
+.I XkbGetNames
+does not retrieve type or shift level names, even if XkbKeyTypeNamesMask or XkbKTLevelNamesMask are set in
+.I which.
+
+.I XkbGetNames
+can return Success, or BadAlloc, BadLength, BadMatch, and BadImplementation errors.
+
+To free symbolic names, use
+.I XkbFreeNames.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type and range, but
+is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbFreeNames (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbGetSlowKeysDelay.man b/libX11/man/xkb/XkbGetSlowKeysDelay.man index ad9a0cd67..78a5b7b7d 100644 --- a/libX11/man/xkb/XkbGetSlowKeysDelay.man +++ b/libX11/man/xkb/XkbGetSlowKeysDelay.man @@ -1,5 +1,5 @@ '\" t
-.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbGetState.man b/libX11/man/xkb/XkbGetState.man index 8e408b1ad..1d71a1623 100644 --- a/libX11/man/xkb/XkbGetState.man +++ b/libX11/man/xkb/XkbGetState.man @@ -1,4 +1,4 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbGetStickyKeysOptions.man b/libX11/man/xkb/XkbGetStickyKeysOptions.man index 69dae20cc..5354fe1b9 100644 --- a/libX11/man/xkb/XkbGetStickyKeysOptions.man +++ b/libX11/man/xkb/XkbGetStickyKeysOptions.man @@ -1,115 +1,115 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetStickyKeysOptions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetStickyKeysOptions \- Queries the current StickyKeys attributes for a keyboard device -.SH SYNOPSIS -.HP -.B Bool XkbGetStickyKeysOptions -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int *" "options_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- options_rtrn -backfilled with StickyKeys option mask -.SH DESCRIPTION -.LP -The StickyKeys control has two options that can be accessed via the -.I ax_options -of an XkbControlsRec structure. The first option, TwoKeys, specifies whether StickyKeys should -automatically turn off when two keys are pressed at the same time. This feature is useful for -shared computers so people who do not want them do not need to turn StickyKeys off if a previous -user left StickyKeys on. The second option, LatchToLock, specifies whether or not StickyKeys -locks a modifier when pressed twice in a row. - -.I XkbGetStickyKeysOptions -requests the attributes of the StickyKeys control from the server, waits for a reply, and -backfills -.I options_rtrn -with a mask indicating whether the individual StickyKeys options are on or off. Valid bits in -.I options_rtrn -are: -.nf - - XkbAX_TwoKeysMask - XkbAX_LatchToLockMask - -.fi -.I XkbGetStickyKeysOptions -returns True if successful; if a compatible version of the Xkb extension is not available in the -server -.I XkbGetStickyKeysOptions -returns False. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbGetStickyKeysOptions -function returns True if the request for the attributes of the StickyKeys control from the -server was successful. -.TP 15 -False -The -.I XkbGetStickyKeysOptions -function returns False if a compatible version of the Xkb extension is not available in the -server. -.SH STRUCTURES -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetStickyKeysOptions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetStickyKeysOptions \- Queries the current StickyKeys attributes for a keyboard device
+.SH SYNOPSIS
+.HP
+.B Bool XkbGetStickyKeysOptions
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int *" "options_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- options_rtrn
+backfilled with StickyKeys option mask
+.SH DESCRIPTION
+.LP
+The StickyKeys control has two options that can be accessed via the
+.I ax_options
+of an XkbControlsRec structure. The first option, TwoKeys, specifies whether StickyKeys should
+automatically turn off when two keys are pressed at the same time. This feature is useful for
+shared computers so people who do not want them do not need to turn StickyKeys off if a previous
+user left StickyKeys on. The second option, LatchToLock, specifies whether or not StickyKeys
+locks a modifier when pressed twice in a row.
+
+.I XkbGetStickyKeysOptions
+requests the attributes of the StickyKeys control from the server, waits for a reply, and
+backfills
+.I options_rtrn
+with a mask indicating whether the individual StickyKeys options are on or off. Valid bits in
+.I options_rtrn
+are:
+.nf
+
+ XkbAX_TwoKeysMask
+ XkbAX_LatchToLockMask
+
+.fi
+.I XkbGetStickyKeysOptions
+returns True if successful; if a compatible version of the Xkb extension is not available in the
+server
+.I XkbGetStickyKeysOptions
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetStickyKeysOptions
+function returns True if the request for the attributes of the StickyKeys control from the
+server was successful.
+.TP 15
+False
+The
+.I XkbGetStickyKeysOptions
+function returns False if a compatible version of the Xkb extension is not available in the
+server.
+.SH STRUCTURES
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
diff --git a/libX11/man/xkb/XkbGetUpdatedMap.man b/libX11/man/xkb/XkbGetUpdatedMap.man index ec494667e..e0365e368 100644 --- a/libX11/man/xkb/XkbGetUpdatedMap.man +++ b/libX11/man/xkb/XkbGetUpdatedMap.man @@ -1,262 +1,262 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetUpdatedMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetUpdatedMap \- Update the client or server map information in an existing -keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetUpdatedMap -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- which -mask selecting subcomponents to populate -.TP -.I \- xkb -keyboard description to be updated -.SH DESCRIPTION -.LP -The -.I which -parameter is a bitwise inclusive OR of the masks in Table 1. If the needed -components of the -.I xkb -structure are not already allocated, -.I XkbGetUpdatedMap -allocates them. -.I XkbGetUpdatedMap -fetches the requested information for the device specified in the XkbDescRec -passed in the -.I xkb -parameter. - -.TS -c s s s s -c s s s s -l l l l l -l l l l l -lw(3i) l l lw(1i) lw(3i). -Table 1 Xkb Mapping Component Masks -and Convenience Functions -_ -Mask Value Map Fields Convenience - Functions -_ -T{ -XkbKeyTypesMask -T} (1<<0) client T{ -types -.br -size_types -.br -num_types -T} T{ -XkbGetKeyTypes -.br -XkbResizeKeyType -.br -XkbCopyKeyType -.br -XkbCopyKeyTypes -T} -T{ -XkbKeySymsMask -T} (1<<1) client T{ -syms -.br -size_syms -.br -num_syms -.br -key_sym_map -T} T{ -XkbGetKeySyms -.br -XkbResizeKeySyms -.br -XkbChangeTypesOfKey -T} -T{ -XkbModifierMapMask -T} (1<<2) client modmap T{ -XkbGetKeyModifierMap -T} -T{ -XkbExplicitComponentsMask -T} (1<<3) server T{ -explicit -T} T{ -XkbGetKeyExplicitComponents -T} -T{ -XkbKeyActionsMask -T} (1<<4) server T{ -key_acts -.br -acts -.br -num_acts -.br -size_acts -T} T{ -XkbGetKeyActions -.br -XkbResizeKeyActions -T} -T{ -XkbKeyBehaviorsMask -T} (1<<5) server T{ -behaviors -T} T{ -XkbGetKeyBehaviors -T} -T{ -XkbVirtualModsMask -T} (1<<6) server T{ -vmods -T} T{ -XkbGetVirtualMods -T} -T{ -XkbVirtualModMapMask -T} (1<<7) server T{ -vmodmap -T} T{ -XkbGetVirtualModMap -T} -.TE - -.I XkbGetUpdatedMap -is synchronous; it queries the server for the desired information, waits for a -reply, and then returns. If successful, -.I XkbGetUpdatedMap -returns Success. If unsuccessful, -.I XkbGetUpdatedMap -returns one of the following: BadAlloc (unable to allocate a component in the -XkbDescRec structure), BadValue (some mask bits in -.I which -are undefined), BadImplementation (a compatible version of the Xkb extension is -not available in the server or the reply from the server was invalid). -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetUpdatedMap -function returns Success if a reply is received to the server query for the desired information. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags -field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 2. -.bp -.TS -c s s -l l l -l l l. -Table 2 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbCopyKeyType (__libmansuffix__), -.BR XkbCopyKeyTypes (__libmansuffix__), -.BR XkbGetKeyActions (__libmansuffix__), -.BR XkbGetKeyBehaviors (__libmansuffix__), -.BR XkbGetKeyExplicitComponents (__libmansuffix__), -.BR XkbGetKeyModifierMap (__libmansuffix__), -.BR XkbGetKeySyms (__libmansuffix__), -.BR XkbGetKeyTypes (__libmansuffix__), -.BR XkbResizeKeyActions (__libmansuffix__), -.BR XkbResizeKeySyms (__libmansuffix__), -.BR XkbResizeKeyType (__libmansuffix__), -.BR XkbGetVirtualModMap (__libmansuffix__), -.BR XkbGetVirtualMods (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetUpdatedMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetUpdatedMap \- Update the client or server map information in an existing
+keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetUpdatedMap
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to populate
+.TP
+.I \- xkb
+keyboard description to be updated
+.SH DESCRIPTION
+.LP
+The
+.I which
+parameter is a bitwise inclusive OR of the masks in Table 1. If the needed
+components of the
+.I xkb
+structure are not already allocated,
+.I XkbGetUpdatedMap
+allocates them.
+.I XkbGetUpdatedMap
+fetches the requested information for the device specified in the XkbDescRec
+passed in the
+.I xkb
+parameter.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(3i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+.I XkbGetUpdatedMap
+is synchronous; it queries the server for the desired information, waits for a
+reply, and then returns. If successful,
+.I XkbGetUpdatedMap
+returns Success. If unsuccessful,
+.I XkbGetUpdatedMap
+returns one of the following: BadAlloc (unable to allocate a component in the
+XkbDescRec structure), BadValue (some mask bits in
+.I which
+are undefined), BadImplementation (a compatible version of the Xkb extension is
+not available in the server or the reply from the server was invalid).
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetUpdatedMap
+function returns Success if a reply is received to the server query for the desired information.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags
+field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+.bp
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetVirtualMods.man b/libX11/man/xkb/XkbGetVirtualMods.man index 169bd6018..2bfb551fe 100644 --- a/libX11/man/xkb/XkbGetVirtualMods.man +++ b/libX11/man/xkb/XkbGetVirtualMods.man @@ -1,208 +1,208 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetVirtualMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetVirtualMods \- Obtain a subset of the virtual modifier bindings (the vmods -array) in a keyboard description -.SH SYNOPSIS -.HP -.B Status XkbGetVirtualMods -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to server -.TP -.I \- which -mask indicating virtual modifier bindings to get -.TP -.I \- xkb -Xkb description where results will be placed -.SH DESCRIPTION -.LP -.I XkbGetVirtualMods -sends a request to the server to obtain the -.I vmods -entries for the virtual modifiers specified in the mask, -.I which, -and waits for a reply. - -Virtual modifiers are named by converting their string name to an X Atom and storing the Atom in the -.I names.vmods -array in an XkbDescRec structure. The position of a name Atom in the -.I names.vmods -array defines the bit position used to represent the virtual modifier and also the index used when -accessing virtual modifier information in arrays: the name in the i-th (0 relative) entry of -.I names.vmods -is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, various functions have -a parameter that is a mask representing virtual modifier choices. In each case, the i-th bit (0 -relative) of the mask represents the i-th virtual modifier. - -To set the name of a virtual modifier, use -.I XkbSetNames, -using XkbVirtualModNamesMask in -.I which -and the name in the -.I xkb -argument; to retrieve indicator names, use -.I XkbGetNames. - -For each bit set in -.I which, XkbGetVirtualMods -updates the corresponding virtual modifier definition in the -.I server->vmods -array of -.I xkb. -The -.I xkb -parameter must be a pointer to a valid Xkb keyboard description. If successful, -.I XkbGetVirtualMods -returns Success. - -.B Virtual Modifier Names and Masks - -Virtual modifiers are named by converting their string name to an X Atom and -storing the Atom in the -.I names.vmods -array in an XkbDescRec structure. The position of a name Atom in the -.I names.vmods -array defines the bit position used to represent the virtual modifier and also -the index used when accessing virtual modifier information in arrays: the name -in the i-th (0 relative) entry of -.I names.vmods -is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, -various functions have a parameter that is a mask representing virtual modifier -choices. In each case, the i-th bit (0 relative) of the mask represents the i-th -virtual modifier. - -To set the name of a virtual modifier, use -.I XkbSetNames, -using XkbVirtualModNamesMask in -.I which -and the name in the -.I xkb -argument; to retrieve indicator names, use -.I XkbGetNames. - -If the -.I server -map has not been allocated in the -.I xkb -parameter, -.I XkbGetVirtualMods -allocates and initializes it before obtaining the virtual modifier bindings. - -If the server does not have a compatible version of Xkb, or the Xkb extension -has not been properly initialized, -.I XkbGetVirtualMods -returns BadMatch. Any errors in allocation cause -.I XkbGetVirtualMods -to return BadAlloc. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbGetVirtualMods -function returns Success when it successfully updates the corresponding virtual modifier definition -in the -.I server->vmods -array of -.I xkb. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags -field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or XkbUseCoreKeyboard, which -specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbGetNames (__libmansuffix__), -.BR XkbSetNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetVirtualMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetVirtualMods \- Obtain a subset of the virtual modifier bindings (the vmods
+array) in a keyboard description
+.SH SYNOPSIS
+.HP
+.B Status XkbGetVirtualMods
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- which
+mask indicating virtual modifier bindings to get
+.TP
+.I \- xkb
+Xkb description where results will be placed
+.SH DESCRIPTION
+.LP
+.I XkbGetVirtualMods
+sends a request to the server to obtain the
+.I vmods
+entries for the virtual modifiers specified in the mask,
+.I which,
+and waits for a reply.
+
+Virtual modifiers are named by converting their string name to an X Atom and storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also the index used when
+accessing virtual modifier information in arrays: the name in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, various functions have
+a parameter that is a mask representing virtual modifier choices. In each case, the i-th bit (0
+relative) of the mask represents the i-th virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+
+For each bit set in
+.I which, XkbGetVirtualMods
+updates the corresponding virtual modifier definition in the
+.I server->vmods
+array of
+.I xkb.
+The
+.I xkb
+parameter must be a pointer to a valid Xkb keyboard description. If successful,
+.I XkbGetVirtualMods
+returns Success.
+
+.B Virtual Modifier Names and Masks
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+
+If the
+.I server
+map has not been allocated in the
+.I xkb
+parameter,
+.I XkbGetVirtualMods
+allocates and initializes it before obtaining the virtual modifier bindings.
+
+If the server does not have a compatible version of Xkb, or the Xkb extension
+has not been properly initialized,
+.I XkbGetVirtualMods
+returns BadMatch. Any errors in allocation cause
+.I XkbGetVirtualMods
+to return BadAlloc.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbGetVirtualMods
+function returns Success when it successfully updates the corresponding virtual modifier definition
+in the
+.I server->vmods
+array of
+.I xkb.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags
+field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or XkbUseCoreKeyboard, which
+specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbGetXlibControls.man b/libX11/man/xkb/XkbGetXlibControls.man index de60d3607..71872ddd0 100644 --- a/libX11/man/xkb/XkbGetXlibControls.man +++ b/libX11/man/xkb/XkbGetXlibControls.man @@ -1,61 +1,61 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbGetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbGetXlibControls \- Determines the current state of the Library Controls -.SH SYNOPSIS -.HP -.B unsigned int XkbGetXlibControls -.BI "(\^Display *" "display" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.SH DESCRIPTION -.LP -.I XkbGetXlibControls -returns the current state of the Library Controls as a bit mask that is an -inclusive OR of the control masks from Table 1 for the controls that are -enabled. For the optional compose processing controls, the fact that a control -is enabled does not imply that it is actually implemented. - -.TS -c s -l l -l l. -Table 1 Library Control Masks -_ -Library Control Mask Value -_ -XkbLC_ForceLatin1Lookup (1 << 0) -XkbLC_ConsumeLookupMods (1 << 1) -XkbLC_AlwaysConsumeShiftAndLock (1 << 2) -XkbLC_IgnoreNewKeyboards (1 << 3) -XkbLC_ConsumeKeysOnComposeFail (1 << 29) -XkbLC_ComposeLED (1 << 30) -XkbLC_BeepOnComposeFail (1 << 31) -XkbLC_AllControls (0xc0000007) -.TE - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbGetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetXlibControls \- Determines the current state of the Library Controls
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbGetXlibControls
+.BI "(\^Display *" "display" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.SH DESCRIPTION
+.LP
+.I XkbGetXlibControls
+returns the current state of the Library Controls as a bit mask that is an
+inclusive OR of the control masks from Table 1 for the controls that are
+enabled. For the optional compose processing controls, the fact that a control
+is enabled does not imply that it is actually implemented.
+
+.TS
+c s
+l l
+l l.
+Table 1 Library Control Masks
+_
+Library Control Mask Value
+_
+XkbLC_ForceLatin1Lookup (1 << 0)
+XkbLC_ConsumeLookupMods (1 << 1)
+XkbLC_AlwaysConsumeShiftAndLock (1 << 2)
+XkbLC_IgnoreNewKeyboards (1 << 3)
+XkbLC_ConsumeKeysOnComposeFail (1 << 29)
+XkbLC_ComposeLED (1 << 30)
+XkbLC_BeepOnComposeFail (1 << 31)
+XkbLC_AllControls (0xc0000007)
+.TE
+
diff --git a/libX11/man/xkb/XkbIgnoreExtension.man b/libX11/man/xkb/XkbIgnoreExtension.man index ef0114f1f..fe38e2623 100644 --- a/libX11/man/xkb/XkbIgnoreExtension.man +++ b/libX11/man/xkb/XkbIgnoreExtension.man @@ -1,79 +1,79 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbIgnoreExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbIgnoreExtension \- Prevents core X library keyboard functions from using the -X Keyboard Extension -.SH SYNOPSIS -.HP -.B Bool XkbIgnoreExtension -.BI "(\^Bool *" "ignore" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I ignore -True means ignore the extension -.SH DESCRIPTION -.LP -If a server supports the Xkb extension, the X library normally implements preXkb -keyboard functions using the Xkb keyboard description and state. The server Xkb -keyboard state may differ from the preXkb keyboard state. This difference does -not affect most clients, but there are exceptions. To allow these clients to -work properly, you may instruct the extension not to use Xkb functionality. - -Call -.I XkbIgnoreExtension -to prevent core X library keyboard functions from using -the X Keyboard Extension. You must call -.I XkbIgnoreExtension -before you open a -server connection; Xkb does not provide a way to enable or disable use of the -extension once a connection is established. - -.I XkbIgnoreExtension -tells the X library whether to use the X Keyboard Extension -on any subsequently opened X display connections. If ignore is True, the library -does not initialize the Xkb extension when it opens a new display. This forces -the X server to use compatibility mode and communicate with the client using -only core protocol requests and events. If ignore is False, the library treats -subsequent calls to -.I XOpenDisplay -normally and uses Xkb extension requests, -events, and state. Do not explicitly use Xkb on a connection for which it is -disabled. -.I XkbIgnoreExtension -returns False if it was unable to apply the ignore -request. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbIgnoreExtension -returns True if -.TP 15 -False -The -.I XkbIgnoreExtension -function returns False if it was unable to apply the ignore request. -.SH "SEE ALSO" -.BR XOpenDisplay (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbIgnoreExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbIgnoreExtension \- Prevents core X library keyboard functions from using the
+X Keyboard Extension
+.SH SYNOPSIS
+.HP
+.B Bool XkbIgnoreExtension
+.BI "(\^Bool *" "ignore" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I ignore
+True means ignore the extension
+.SH DESCRIPTION
+.LP
+If a server supports the Xkb extension, the X library normally implements preXkb
+keyboard functions using the Xkb keyboard description and state. The server Xkb
+keyboard state may differ from the preXkb keyboard state. This difference does
+not affect most clients, but there are exceptions. To allow these clients to
+work properly, you may instruct the extension not to use Xkb functionality.
+
+Call
+.I XkbIgnoreExtension
+to prevent core X library keyboard functions from using
+the X Keyboard Extension. You must call
+.I XkbIgnoreExtension
+before you open a
+server connection; Xkb does not provide a way to enable or disable use of the
+extension once a connection is established.
+
+.I XkbIgnoreExtension
+tells the X library whether to use the X Keyboard Extension
+on any subsequently opened X display connections. If ignore is True, the library
+does not initialize the Xkb extension when it opens a new display. This forces
+the X server to use compatibility mode and communicate with the client using
+only core protocol requests and events. If ignore is False, the library treats
+subsequent calls to
+.I XOpenDisplay
+normally and uses Xkb extension requests,
+events, and state. Do not explicitly use Xkb on a connection for which it is
+disabled.
+.I XkbIgnoreExtension
+returns False if it was unable to apply the ignore
+request.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbIgnoreExtension
+returns True if
+.TP 15
+False
+The
+.I XkbIgnoreExtension
+function returns False if it was unable to apply the ignore request.
+.SH "SEE ALSO"
+.BR XOpenDisplay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbInitCanonicalKeyTypes.man b/libX11/man/xkb/XkbInitCanonicalKeyTypes.man index 86313689c..696215b14 100644 --- a/libX11/man/xkb/XkbInitCanonicalKeyTypes.man +++ b/libX11/man/xkb/XkbInitCanonicalKeyTypes.man @@ -1,84 +1,84 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbInitCanonicalKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbInitCanonicalKeyTypes \- Set the definitions of the canonical key types in a -client map to their default values -.SH SYNOPSIS -.HP -.B Status XkbInitCanonicalKeyTypes -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "which" "\^," -.BI "int " "keypadVMod" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description containing client map to initialize -.TP -.I \- which -mask of types to initialize -.TP -.I \- keypadVMod -index of NumLock virtual modifier -.SH DESCRIPTION -.LP -.I XkbInitCanonicalKeyTypes -initializes the first XkbNumRequiredTypes key types of the keyboard specified by -the -.I xkb -parameter to their default values. The -.I which -parameter specifies what canonical key types to initialize and is a bitwise -inclusive OR of the following masks: XkbOneLevelMask, XkbTwoLevelMask, -XkbAlphabeticMask, and XkbKeypadMask. Only those canonical types specified by -the -.I which -mask are initialized. - -If XkbKeypadMask is set in the -.I which -parameter, -.I XkbInitCanonicalKeyTypes -looks up the NumLock named virtual modifier to determine which virtual modifier -to use when initializing the KEYPAD key type. If the NumLock virtual modifier -does not exist, -.I XkbInitCanonicalKeyTypes -creates it. - -.I XkbInitCanonicalKeyTypes -normally returns Success. It returns BadAccess if the Xkb extension has not been -properly initialized, and BadAccess if the -xkb parameter is not valid. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbInitCanonicalKeyTypes -funtion return Success if the Xkb extension has been properly initialized and -the xkb parameter is valid. -.SH DIAGNOSTICS -.TP 15 -.B BadAccess -The Xkb extension has not been properly initialized +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbInitCanonicalKeyTypes __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbInitCanonicalKeyTypes \- Set the definitions of the canonical key types in a
+client map to their default values
+.SH SYNOPSIS
+.HP
+.B Status XkbInitCanonicalKeyTypes
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "int " "keypadVMod" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to initialize
+.TP
+.I \- which
+mask of types to initialize
+.TP
+.I \- keypadVMod
+index of NumLock virtual modifier
+.SH DESCRIPTION
+.LP
+.I XkbInitCanonicalKeyTypes
+initializes the first XkbNumRequiredTypes key types of the keyboard specified by
+the
+.I xkb
+parameter to their default values. The
+.I which
+parameter specifies what canonical key types to initialize and is a bitwise
+inclusive OR of the following masks: XkbOneLevelMask, XkbTwoLevelMask,
+XkbAlphabeticMask, and XkbKeypadMask. Only those canonical types specified by
+the
+.I which
+mask are initialized.
+
+If XkbKeypadMask is set in the
+.I which
+parameter,
+.I XkbInitCanonicalKeyTypes
+looks up the NumLock named virtual modifier to determine which virtual modifier
+to use when initializing the KEYPAD key type. If the NumLock virtual modifier
+does not exist,
+.I XkbInitCanonicalKeyTypes
+creates it.
+
+.I XkbInitCanonicalKeyTypes
+normally returns Success. It returns BadAccess if the Xkb extension has not been
+properly initialized, and BadAccess if the
+xkb parameter is not valid.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbInitCanonicalKeyTypes
+funtion return Success if the Xkb extension has been properly initialized and
+the xkb parameter is valid.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAccess
+The Xkb extension has not been properly initialized
diff --git a/libX11/man/xkb/XkbKeyAction.man b/libX11/man/xkb/XkbKeyAction.man index 15826748a..521a1fc66 100644 --- a/libX11/man/xkb/XkbKeyAction.man +++ b/libX11/man/xkb/XkbKeyAction.man @@ -1,133 +1,133 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyAction __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyAction \- Returns the key action -.SH SYNOPSIS -.HP -.B XkbAction XkbKeyAction -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^," -.BI "int " "idx" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.TP -.I \- idx -index for group and shift level -.SH DESCRIPTION -.LP -A key action defines the effect key presses and releases have on the internal -state of the server. For -example, the expected key action associated with pressing the Shift key is to -set the Shift modifier. -There is zero or one key action associated with each keysym bound to each key. - -Just as the entire list of key symbols for the keyboard mapping is held in the -.I syms -field of the client map, the entire list of key actions for the keyboard mapping -is held in the -.I acts -array of the server map. The total size of -.I acts -is specified by -.I size_acts, -and the number of entries is specified by -.I num_acts. - -The -.I key_acts -array, indexed by keycode, describes the actions associated with a key. The -.I key_acts -array has -.I min_key_code -unused entries at the start to allow direct indexing using a keycode. If a -.I key_acts -entry is zero, it means the key does not have any actions associated with it. If -an entry is not zero, -the entry represents an index into the -.I acts -field of the server map, much as the -.I offset -field of a KeySymMapRec structure is an index into the -.I syms -field of the client map. - -The reason the -.I acts -field is a linear list of XkbActions is to reduce the memory consumption -associated with a keymap. -Because Xkb allows individual keys to have multiple shift levels and a different -number of groups per -key, a single two-dimensional array of KeySyms would potentially be very large -and sparse. Instead, Xkb -provides a small two-dimensional array of XkbActions for each key. To store all -of these individual -arrays, Xkb concatenates each array together in the -.I acts -field of the server map. - -The key action structures consist only of fields of type char or unsigned char. -This is done to -optimize data transfer when the server sends bytes over the wire. If the fields -are anything but bytes, -the server has to sift through all of the actions and swap any nonbyte fields. -Because they consist of -nothing but bytes, it can just copy them out. - -.I XkbKeyAction -returns the key action indexed by -.I idx -in the two-dimensional array of key actions associated with the key -corresponding to -.I keycode.idx -may be computed from the group and shift level of interest as follows: -.nf - - idx = group_index * key_width + shift_level -.fi -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode -*/ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for -each group */ - unsigned char group_info; /\(** # of groups and out of range group -handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array -*/ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyAction __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyAction \- Returns the key action
+.SH SYNOPSIS
+.HP
+.B XkbAction XkbKeyAction
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^,"
+.BI "int " "idx" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- idx
+index for group and shift level
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal
+state of the server. For
+example, the expected key action associated with pressing the Shift key is to
+set the Shift modifier.
+There is zero or one key action associated with each keysym bound to each key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping
+is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If
+an entry is not zero,
+the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption
+associated with a keymap.
+Because Xkb allows individual keys to have multiple shift levels and a different
+number of groups per
+key, a single two-dimensional array of KeySyms would potentially be very large
+and sparse. Instead, Xkb
+provides a small two-dimensional array of XkbActions for each key. To store all
+of these individual
+arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char.
+This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields
+are anything but bytes,
+the server has to sift through all of the actions and swap any nonbyte fields.
+Because they consist of
+nothing but bytes, it can just copy them out.
+
+.I XkbKeyAction
+returns the key action indexed by
+.I idx
+in the two-dimensional array of key actions associated with the key
+corresponding to
+.I keycode.idx
+may be computed from the group and shift level of interest as follows:
+.nf
+
+ idx = group_index * key_width + shift_level
+.fi
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyActionEntry.man b/libX11/man/xkb/XkbKeyActionEntry.man index 6f3e451bf..2ac4cf458 100644 --- a/libX11/man/xkb/XkbKeyActionEntry.man +++ b/libX11/man/xkb/XkbKeyActionEntry.man @@ -1,4 +1,4 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbKeyActionsPtr.man b/libX11/man/xkb/XkbKeyActionsPtr.man index a7c815e87..55fc88656 100644 --- a/libX11/man/xkb/XkbKeyActionsPtr.man +++ b/libX11/man/xkb/XkbKeyActionsPtr.man @@ -1,134 +1,134 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyActionsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyActionsPtr \- Returns a pointer to the two-dimensional array of key -actions associated with -the key corresponding to keycode -.SH SYNOPSIS -.HP -.B XkbKeyActionPtr XkbKeyActionsPtr -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -A key action defines the effect key presses and releases have on the internal -state of the server. -For example, the expected key action associated with pressing the Shift key is -to set the Shift -modifier. There is zero or one key action associated with each keysym bound to -each key. - -Just as the entire list of key symbols for the keyboard mapping is held in the -.I syms -field of the client map, the entire list of key actions for the keyboard mapping -is held in the -.I acts -array of the server map. The total size of -.I acts -is specified by -.I size_acts, -and the number of entries is specified by -.I num_acts. - -The -.I key_acts -array, indexed by keycode, describes the actions associated with a key. The -.I key_acts -array has -.I min_key_code -unused entries at the start to allow direct indexing using a keycode. If a -.I key_acts -entry is zero, it means the key does not have any actions associated with it. If -an entry is not -zero, the entry represents an index into the -.I acts -field of the server map, much as the -.I offset -field of a KeySymMapRec structure is an index into the -.I syms -field of the client map. - -The reason the -.I acts -field is a linear list of XkbActions is to reduce the memory consumption -associated with a keymap. -Because Xkb allows individual keys to have multiple shift levels and a different -number of groups per -key, a single two-dimensional array of KeySyms would potentially be very large -and sparse. Instead, -Xkb provides a small two-dimensional array of XkbActions for each key. To store -all of these -individual arrays, Xkb concatenates each array together in the -.I acts -field of the server map. - -The key action structures consist only of fields of type char or unsigned char. -This is done to -optimize data transfer when the server sends bytes over the wire. If the fields -are anything but -bytes, the server has to sift through all of the actions and swap any nonbyte -fields. Because they -consist of nothing but bytes, it can just copy them out. - -.I XkbKeyActionsPtr -returns a pointer to the two-dimensional array of key actions associated with -the key corresponding -to -.I keycode. -Use -.I XkbKeyActionsPtr -only if the key actually has some actions associated with it, that is, -.I XkbKeyNumActions -(xkb, keycode) returns something greater than zero. -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode -*/ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for -each group */ - unsigned char group_info; /\(** # of groups and out of range group -handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array -*/ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi -.SH "SEE ALSO" -.BR XkbKeyNumActions (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyActionsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyActionsPtr \- Returns a pointer to the two-dimensional array of key
+actions associated with
+the key corresponding to keycode
+.SH SYNOPSIS
+.HP
+.B XkbKeyActionPtr XkbKeyActionsPtr
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal
+state of the server.
+For example, the expected key action associated with pressing the Shift key is
+to set the Shift
+modifier. There is zero or one key action associated with each keysym bound to
+each key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping
+is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If
+an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption
+associated with a keymap.
+Because Xkb allows individual keys to have multiple shift levels and a different
+number of groups per
+key, a single two-dimensional array of KeySyms would potentially be very large
+and sparse. Instead,
+Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these
+individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char.
+This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields
+are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte
+fields. Because they
+consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyActionsPtr
+returns a pointer to the two-dimensional array of key actions associated with
+the key corresponding
+to
+.I keycode.
+Use
+.I XkbKeyActionsPtr
+only if the key actually has some actions associated with it, that is,
+.I XkbKeyNumActions
+(xkb, keycode) returns something greater than zero.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbKeyNumActions (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyGroupInfo.man b/libX11/man/xkb/XkbKeyGroupInfo.man index fa4533bfb..b17053a9f 100644 --- a/libX11/man/xkb/XkbKeyGroupInfo.man +++ b/libX11/man/xkb/XkbKeyGroupInfo.man @@ -1,198 +1,198 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyGroupInfo \- Returns the number of groups of symbols bound to the key -corresponding to -keycode -.SH SYNOPSIS -.HP -.B unsigned char XkbKeyGroupInfo -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The -.I group_info -field of an XkbSymMapRec is an encoded value containing the number of groups of -symbols bound -to the -key as well as the specification of the treatment of out-of-range groups. It is -legal for a -key to -have zero groups, in which case it also has zero symbols and all events from -that key yield -NoSymbol. -To obtain the number of groups of symbols bound to the key, use -.I XkbKeyNumGroups. -To change the number of groups bound to a key, use -.I XkbChangeTypesOfKey. -To obtain a mask that determines the treatment of out-of-range groups, use -.I XkbKeyGroupInfo -and -.I XkbOutOfRangeGroupInfo. - -The keyboard controls contain a -.I groups_wrap -field specifying the handling of illegal groups on a global basis. That is, when -the user -performs an -action causing the effective group to go out of the legal range, the -.I groups_wrap -field specifies how to normalize the effective keyboard group to a group that is -legal for the -keyboard as a whole, but there is no guarantee that the normalized group will be -within the -range of -legal groups for any individual key. The per-key -.I group_info -field specifies how a key treats a legal effective group if the key does not -have a type -specified for -the group of concern. For example, the Enter key usually has just one group -defined. If the -user -performs an action causing the global keyboard group to change to Group2, the -.I group_info -field for the Enter key describes how to handle this situation. - -Out-of-range groups for individual keys are mapped to a legal group using the -same options as -are used -for the overall keyboard group. The particular type of mapping used is -controlled by the bits -set in -the -.I group_info -flag, as shown in Table 1. -.bp -.TS -c s -l l -l l. -Table 1 group_info Range Normalization -_ -Bits set in group_info Normalization method -_ -XkbRedirectIntoRange XkbRedirectIntoRange -XkbClampIntoRange XkbClampIntoRange -none of the above XkbWrapIntoRange -.TE - -.I XkbKeyGroupInfo -returns the group_info field from the XkbSymMapRec structure associated with the -key corresponding to -.I keycode. -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - -\&#define XkbNumKbdGroups 4 -\&#define XkbMaxKbdGroup (XkbNumKbdGroups-1) - -typedef struct { /\(** map to keysyms for a single keycode */ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ - unsigned char group_info; /\(** # of groups and out of range group handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array */ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi - -.nf -The XkbControlsRec structure is defined as follows: - -\&#define XkbMaxLegalKeyCode 255 -\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - -typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ -} XkbControlsRec, *XkbControlsPtr; -.fi - -.nf -The XkbControlsRec structure is defined as follows: - -\&#define XkbMaxLegalKeyCode 255 -\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - -typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ -} XkbControlsRec, *XkbControlsPtr; -.fi -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbKeyGroupInfo (__libmansuffix__), -.BR XkbOutOfRangeGroupInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupInfo \- Returns the number of groups of symbols bound to the key
+corresponding to
+keycode
+.SH SYNOPSIS
+.HP
+.B unsigned char XkbKeyGroupInfo
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound
+to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a
+key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield
+NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user
+performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the
+range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type
+specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the
+user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as
+are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits
+set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+
+.I XkbKeyGroupInfo
+returns the group_info field from the XkbSymMapRec structure associated with the
+key corresponding to
+.I keycode.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+\&#define XkbNumKbdGroups 4
+\&#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+\&#define XkbMaxLegalKeyCode 255
+\&#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+} XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyGroupWidth.man b/libX11/man/xkb/XkbKeyGroupWidth.man index a662bc323..31c2af1ec 100644 --- a/libX11/man/xkb/XkbKeyGroupWidth.man +++ b/libX11/man/xkb/XkbKeyGroupWidth.man @@ -1,72 +1,72 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyGroupWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyGroupWidth \- Computes the width of the type associated with the group -.I grp -for the key corresponding to -.I keycode -.SH SYNOPSIS -.HP -.B int XkbKeyGroupWidth -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^," -.BI "int " "grp" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.TP -.I \- grp -group of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeyGroupWidth -computes the width of the type associated with the group -.I grp -for the key corresponding to -.I keycode. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyGroupWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupWidth \- Computes the width of the type associated with the group
+.I grp
+for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeyGroupWidth
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^,"
+.BI "int " "grp" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- grp
+group of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyGroupWidth
+computes the width of the type associated with the group
+.I grp
+for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyGroupsWidth.man b/libX11/man/xkb/XkbKeyGroupsWidth.man index 54df24397..877da858a 100644 --- a/libX11/man/xkb/XkbKeyGroupsWidth.man +++ b/libX11/man/xkb/XkbKeyGroupsWidth.man @@ -1,64 +1,64 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyGroupsWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyGroupsWidth \- Computes the maximum width associated with the key -corresponding to -.I keycode -.SH SYNOPSIS -.HP -.B int XkbKeyGroupsWidth -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeyGroupsWidth -computes the maximum width associated with the key corresponding to -.I keycode. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyGroupsWidth __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyGroupsWidth \- Computes the maximum width associated with the key
+corresponding to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeyGroupsWidth
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyGroupsWidth
+computes the maximum width associated with the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyHasActions.man b/libX11/man/xkb/XkbKeyHasActions.man index 4f97143d0..a7fbc1780 100644 --- a/libX11/man/xkb/XkbKeyHasActions.man +++ b/libX11/man/xkb/XkbKeyHasActions.man @@ -1,125 +1,125 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyHasActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyHasActions \- Determines if the key corresponding to -.I keycode -has any actions associated with it -.SH SYNOPSIS -.HP -.B int XkbKeyHasActions -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -A key action defines the effect key presses and releases have on the internal state of the -server. For example, the expected key action associated with pressing the Shift key is to set -the Shift modifier. There is zero or one key action associated with each keysym bound to each -key. - -Just as the entire list of key symbols for the keyboard mapping is held in the -.I syms -field of the client map, the entire list of key actions for the keyboard mapping is held in the -.I acts -array of the server map. The total size of -.I acts -is specified by -.I size_acts, -and the number of entries is specified by -.I num_acts. - -The -.I key_acts -array, indexed by keycode, describes the actions associated with a key. The -.I key_acts -array has -.I min_key_code -unused entries at the start to allow direct indexing using a keycode. If a -.I key_acts -entry is zero, it means the key does not have any actions associated with it. If an entry is not -zero, the entry represents an index into the -.I acts -field of the server map, much as the -.I offset -field of a KeySymMapRec structure is an index into the -.I syms -field of the client map. - -The reason the -.I acts -field is a linear list of XkbActions is to reduce the memory consumption associated with a -keymap. Because Xkb allows individual keys to have multiple shift levels and a different number -of groups per key, a single two-dimensional array of KeySyms would potentially be very large and -sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store -all of these individual arrays, Xkb concatenates each array together in the -.I acts -field of the server map. - -The key action structures consist only of fields of type char or unsigned char. This is done to -optimize data transfer when the server sends bytes over the wire. If the fields are anything but -bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because -they consist of nothing but bytes, it can just copy them out. - -.I XkbKeyHasActions -returns True if the key corresponding to -.I keycode -has any actions associated with it; otherwise, it returns False. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbKeyHasActions -function will return True if the key corresponding to -.I keycode -has any actions associated with it. -.TP 15 -False -The -.I XkbKeyHasActions -function will return False if the key corresponding to -.I keycode -does not have any actions associated with it. -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode */ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ - unsigned char group_info; /\(** # of groups and out of range group handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array */ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyHasActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyHasActions \- Determines if the key corresponding to
+.I keycode
+has any actions associated with it
+.SH SYNOPSIS
+.HP
+.B int XkbKeyHasActions
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal state of the
+server. For example, the expected key action associated with pressing the Shift key is to set
+the Shift modifier. There is zero or one key action associated with each keysym bound to each
+key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption associated with a
+keymap. Because Xkb allows individual keys to have multiple shift levels and a different number
+of groups per key, a single two-dimensional array of KeySyms would potentially be very large and
+sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char. This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because
+they consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyHasActions
+returns True if the key corresponding to
+.I keycode
+has any actions associated with it; otherwise, it returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbKeyHasActions
+function will return True if the key corresponding to
+.I keycode
+has any actions associated with it.
+.TP 15
+False
+The
+.I XkbKeyHasActions
+function will return False if the key corresponding to
+.I keycode
+does not have any actions associated with it.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyNumActions.man b/libX11/man/xkb/XkbKeyNumActions.man index 3cb1772af..6b94a2a51 100644 --- a/libX11/man/xkb/XkbKeyNumActions.man +++ b/libX11/man/xkb/XkbKeyNumActions.man @@ -1,113 +1,113 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyNumActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyNumActions \- Computes the number of actions associated with the key corresponding to -keycode -.SH SYNOPSIS -.HP -.B int XkbKeyNumActions -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -A key action defines the effect key presses and releases have on the internal state of the -server. For example, the expected key action associated with pressing the Shift key is to set -the Shift modifier. There is zero or one key action associated with each keysym bound to each -key. - -Just as the entire list of key symbols for the keyboard mapping is held in the -.I syms -field of the client map, the entire list of key actions for the keyboard mapping is held in the -.I acts -array of the server map. The total size of -.I acts -is specified by -.I size_acts, -and the number of entries is specified by -.I num_acts. - -The -.I key_acts -array, indexed by keycode, describes the actions associated with a key. The -.I key_acts -array has -.I min_key_code -unused entries at the start to allow direct indexing using a keycode. If a -.I key_acts -entry is zero, it means the key does not have any actions associated with it. If an entry is not -zero, the entry represents an index into the -.I acts -field of the server map, much as the -.I offset -field of a KeySymMapRec structure is an index into the -.I syms -field of the client map. - -The reason the -.I acts -field is a linear list of XkbActions is to reduce the memory consumption associated with a -keymap. Because Xkb allows individual keys to have multiple shift levels and a different number -of groups per key, a single two-dimensional array of KeySyms would potentially be very large and -sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store -all of these individual arrays, Xkb concatenates each array together in the -.I acts -field of the server map. - -The key action structures consist only of fields of type char or unsigned char. This is done to -optimize data transfer when the server sends bytes over the wire. If the fields are anything but -bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because -they consist of nothing but bytes, it can just copy them out. - -.I XkbKeyNumActions -computes the number of actions associated with the key corresponding to -.I keycode. -This should be the same value as the result of -.I XkbKeyNumSyms. -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode */ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ - unsigned char group_info; /\(** # of groups and out of range group handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array */ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi -.SH "SEE ALSO" -.BR XkbKeyNumSyms (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyNumActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumActions \- Computes the number of actions associated with the key corresponding to
+keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeyNumActions
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+A key action defines the effect key presses and releases have on the internal state of the
+server. For example, the expected key action associated with pressing the Shift key is to set
+the Shift modifier. There is zero or one key action associated with each keysym bound to each
+key.
+
+Just as the entire list of key symbols for the keyboard mapping is held in the
+.I syms
+field of the client map, the entire list of key actions for the keyboard mapping is held in the
+.I acts
+array of the server map. The total size of
+.I acts
+is specified by
+.I size_acts,
+and the number of entries is specified by
+.I num_acts.
+
+The
+.I key_acts
+array, indexed by keycode, describes the actions associated with a key. The
+.I key_acts
+array has
+.I min_key_code
+unused entries at the start to allow direct indexing using a keycode. If a
+.I key_acts
+entry is zero, it means the key does not have any actions associated with it. If an entry is not
+zero, the entry represents an index into the
+.I acts
+field of the server map, much as the
+.I offset
+field of a KeySymMapRec structure is an index into the
+.I syms
+field of the client map.
+
+The reason the
+.I acts
+field is a linear list of XkbActions is to reduce the memory consumption associated with a
+keymap. Because Xkb allows individual keys to have multiple shift levels and a different number
+of groups per key, a single two-dimensional array of KeySyms would potentially be very large and
+sparse. Instead, Xkb provides a small two-dimensional array of XkbActions for each key. To store
+all of these individual arrays, Xkb concatenates each array together in the
+.I acts
+field of the server map.
+
+The key action structures consist only of fields of type char or unsigned char. This is done to
+optimize data transfer when the server sends bytes over the wire. If the fields are anything but
+bytes, the server has to sift through all of the actions and swap any nonbyte fields. Because
+they consist of nothing but bytes, it can just copy them out.
+
+.I XkbKeyNumActions
+computes the number of actions associated with the key corresponding to
+.I keycode.
+This should be the same value as the result of
+.I XkbKeyNumSyms.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbKeyNumSyms (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyNumGroups.man b/libX11/man/xkb/XkbKeyNumGroups.man index 06c8274e2..684af07ba 100644 --- a/libX11/man/xkb/XkbKeyNumGroups.man +++ b/libX11/man/xkb/XkbKeyNumGroups.man @@ -1,310 +1,310 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyNumGroups __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyNumGroups \- Returns the number of groups of symbols bound to the key -corresponding to keycode -.SH SYNOPSIS -.HP -.B int XkbKeyNumGroups -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The -.I group_info -field of an XkbSymMapRec is an encoded value containing the number of groups of -symbols bound to the -key as well as the specification of the treatment of out-of-range groups. It is -legal for a key to -have zero groups, in which case it also has zero symbols and all events from -that key yield NoSymbol. -To obtain the number of groups of symbols bound to the key, use -.I XkbKeyNumGroups. -To change the number of groups bound to a key, use -.I XkbChangeTypesOfKey. -To obtain a mask that determines the treatment of out-of-range groups, use -.I XkbKeyGroupInfo -and -.I XkbOutOfRangeGroupInfo. - -The keyboard controls contain a -.I groups_wrap -field specifying the handling of illegal groups on a global basis. That is, when -the user performs an -action causing the effective group to go out of the legal range, the -.I groups_wrap -field specifies how to normalize the effective keyboard group to a group that is -legal for the -keyboard as a whole, but there is no guarantee that the normalized group will be -within the range of -legal groups for any individual key. The per-key -.I group_info -field specifies how a key treats a legal effective group if the key does not -have a type specified for -the group of concern. For example, the Enter key usually has just one group -defined. If the user -performs an action causing the global keyboard group to change to Group2, the -.I group_info -field for the Enter key describes how to handle this situation. - -Out-of-range groups for individual keys are mapped to a legal group using the -same options as are used -for the overall keyboard group. The particular type of mapping used is -controlled by the bits set in -the -.I group_info -flag, as shown in Table 1. -.bp -.TS -c s -l l -l l. -Table 1 group_info Range Normalization -_ -Bits set in group_info Normalization method -_ -XkbRedirectIntoRange XkbRedirectIntoRange -XkbClampIntoRange XkbClampIntoRange -none of the above XkbWrapIntoRange -.TE - -.\"--- Chapter 10 -The Xkb extension is composed of two parts: a server extension, and a -client-side X library extension. -This chapter discusses functions used to modify controls effecting the behavior -of the server portion -of the Xkb extension. X Library Controls discusses functions used to modify -controls that affect only -the behavior of the client portion of the extension; those controls are known as -Library Controls. - -Xkb contains control features that affect the entire keyboard, known as global -keyboard controls. Some -of the controls may be selectively enabled and disabled; these controls are -known as the -.I Boolean Controls. -Boolean Controls can be turned on or off under program control and can also be -automatically set to an -on or off condition when a client program exits. The remaining controls, known -as the -.I Non-Boolean Controls, -are always active. The XkbControlsRec structure describes the current state of -most of the global -controls and the attributes effecting the behavior of each of these Xkb -features. This chapter -describes the Xkb controls and how to manipulate them. - -There are two possible components for each of the Boolean Controls: attributes -describing how the -control should work, and a state describing whether the behavior as a whole is -enabled or disabled. -The attributes and state for most of these controls are held in the -XkbControlsRec structure. - -You can manipulate the Xkb controls individually, via convenience functions, or -as a whole. To treat -them as a group, modify an XkbControlsRec structure to describe all of the -changes to be made, and -then pass that structure and appropriate flags to an Xkb library function, or -use a -XkbControlsChangesRec to reduce network traffic. When using a convenience -function to manipulate one -control individually, you do not use an XkbControlsRec structure directly. - -The Xkb controls are grouped as shown in Table 2. - -.TS -c s s -l l l -lw(2i) l l. -Table 2 Xkb Keyboard Controls -_ -Type of Control Control Name Boolean Control? -_ -T{ -Controls for enabling and disabling other controls -T} EnabledControls No - AutoReset No -T{ -Control for bell behavior -T} AudibleBell Boolean -T{ -Controls for repeat key behavior -T} PerKeyRepeat No - RepeatKeys Boolean - DetectableAutorepeat Boolean -T{ -Controls for keyboard overlays -T} Overlay1 Boolean - Overlay2 Boolean -T{ -Controls for using the mouse from the keyboard -T} MouseKeys Boolean - MouseKeysAccel Boolean -T{ -Controls for better keyboard access by -T} AccessXFeedback Boolean -T{ -physically impaired persons -T} AccessXKeys Boolean - AccessXTimeout Boolean - BounceKeys Boolean - SlowKeys Boolean - StickyKeys Boolean -T{ -Controls for general keyboard mapping -T} GroupsWrap No - IgnoreGroupLock Boolean - IgnoreLockMods No - InternalMods No -.TE - -The individual categories and controls are described first, together with -functions for manipulating -them. -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode -*/ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for -each group */ - unsigned char group_info; /\(** # of groups and out of range group -handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array -*/ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven -mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers -*/ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking -for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean -control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to -be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion -event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse -events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse -move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed -*/ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access -X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to -modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in -enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto -repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven -mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers -*/ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking -for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean -control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to -be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion -event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse -events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse -move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed -*/ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access -X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to -modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in -enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto -repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbKeyGroupInfo (__libmansuffix__), -.BR XkbOutOfRangeGroupInfo. (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyNumGroups __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumGroups \- Returns the number of groups of symbols bound to the key
+corresponding to keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeyNumGroups
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+
+.\"--- Chapter 10
+The Xkb extension is composed of two parts: a server extension, and a
+client-side X library extension.
+This chapter discusses functions used to modify controls effecting the behavior
+of the server portion
+of the Xkb extension. X Library Controls discusses functions used to modify
+controls that affect only
+the behavior of the client portion of the extension; those controls are known as
+Library Controls.
+
+Xkb contains control features that affect the entire keyboard, known as global
+keyboard controls. Some
+of the controls may be selectively enabled and disabled; these controls are
+known as the
+.I Boolean Controls.
+Boolean Controls can be turned on or off under program control and can also be
+automatically set to an
+on or off condition when a client program exits. The remaining controls, known
+as the
+.I Non-Boolean Controls,
+are always active. The XkbControlsRec structure describes the current state of
+most of the global
+controls and the attributes effecting the behavior of each of these Xkb
+features. This chapter
+describes the Xkb controls and how to manipulate them.
+
+There are two possible components for each of the Boolean Controls: attributes
+describing how the
+control should work, and a state describing whether the behavior as a whole is
+enabled or disabled.
+The attributes and state for most of these controls are held in the
+XkbControlsRec structure.
+
+You can manipulate the Xkb controls individually, via convenience functions, or
+as a whole. To treat
+them as a group, modify an XkbControlsRec structure to describe all of the
+changes to be made, and
+then pass that structure and appropriate flags to an Xkb library function, or
+use a
+XkbControlsChangesRec to reduce network traffic. When using a convenience
+function to manipulate one
+control individually, you do not use an XkbControlsRec structure directly.
+
+The Xkb controls are grouped as shown in Table 2.
+
+.TS
+c s s
+l l l
+lw(2i) l l.
+Table 2 Xkb Keyboard Controls
+_
+Type of Control Control Name Boolean Control?
+_
+T{
+Controls for enabling and disabling other controls
+T} EnabledControls No
+ AutoReset No
+T{
+Control for bell behavior
+T} AudibleBell Boolean
+T{
+Controls for repeat key behavior
+T} PerKeyRepeat No
+ RepeatKeys Boolean
+ DetectableAutorepeat Boolean
+T{
+Controls for keyboard overlays
+T} Overlay1 Boolean
+ Overlay2 Boolean
+T{
+Controls for using the mouse from the keyboard
+T} MouseKeys Boolean
+ MouseKeysAccel Boolean
+T{
+Controls for better keyboard access by
+T} AccessXFeedback Boolean
+T{
+physically impaired persons
+T} AccessXKeys Boolean
+ AccessXTimeout Boolean
+ BounceKeys Boolean
+ SlowKeys Boolean
+ StickyKeys Boolean
+T{
+Controls for general keyboard mapping
+T} GroupsWrap No
+ IgnoreGroupLock Boolean
+ IgnoreLockMods No
+ InternalMods No
+.TE
+
+The individual categories and controls are described first, together with
+functions for manipulating
+them.
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode
+*/
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for
+each group */
+ unsigned char group_info; /\(** # of groups and out of range group
+handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array
+*/
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven
+mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers
+*/
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking
+for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean
+control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to
+be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion
+event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse
+events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse
+move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed
+*/
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access
+X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to
+modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in
+enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto
+repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven
+mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers
+*/
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking
+for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean
+control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to
+be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion
+event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse
+events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse
+move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed
+*/
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access
+X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to
+modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in
+enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto
+repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo. (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbKeyNumSyms.man b/libX11/man/xkb/XkbKeyNumSyms.man index 1d498e50d..e754f51a9 100644 --- a/libX11/man/xkb/XkbKeyNumSyms.man +++ b/libX11/man/xkb/XkbKeyNumSyms.man @@ -1,65 +1,65 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyNumSyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyNumSyms \- Returns the total number of keysyms for the key corresponding -to -.I keycode -.SH SYNOPSIS -.HP -.B int XkbKeyNumSyms -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeyNumSyms -returns the total number of keysyms for the key corresponding to -.I keycode. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyNumSyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyNumSyms \- Returns the total number of keysyms for the key corresponding
+to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeyNumSyms
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeyNumSyms
+returns the total number of keysyms for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymEntry.man b/libX11/man/xkb/XkbKeySymEntry.man index 74231d55c..26fa37c34 100644 --- a/libX11/man/xkb/XkbKeySymEntry.man +++ b/libX11/man/xkb/XkbKeySymEntry.man @@ -1,79 +1,79 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeySymEntry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeySymEntry \- Returns the keysym corresponding to shift level -.I shift -and group -.I grp -from the two-dimensional array of keysyms for the key corresponding to -.I keycode -.SH SYNOPSIS -.HP -.B KeySym XkbKeySymEntry -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^," -.BI "int " "shift" "\^," -.BI "int " "grp" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.TP -.I \- shift -shift level of interest -.TP -.I \- grp -group of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeySymEntry -returns the keysym corresponding to shift level -.I shift -and group -.I grp -from the two-dimensional array of keysyms for the key corresponding to -.I keycode. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeySymEntry __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymEntry \- Returns the keysym corresponding to shift level
+.I shift
+and group
+.I grp
+from the two-dimensional array of keysyms for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B KeySym XkbKeySymEntry
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^,"
+.BI "int " "shift" "\^,"
+.BI "int " "grp" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- shift
+shift level of interest
+.TP
+.I \- grp
+group of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymEntry
+returns the keysym corresponding to shift level
+.I shift
+and group
+.I grp
+from the two-dimensional array of keysyms for the key corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymsOffset.man b/libX11/man/xkb/XkbKeySymsOffset.man index d2b69a8e8..fecc1aeaa 100644 --- a/libX11/man/xkb/XkbKeySymsOffset.man +++ b/libX11/man/xkb/XkbKeySymsOffset.man @@ -1,66 +1,66 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeySymsOffset __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeySymsOffset \- Returns the offset of the two-dimensional array of keysyms -for the key corresponding to -.I keycode -.SH SYNOPSIS -.HP -.B int XkbKeySymsOffset -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeySymsOffset -returns the offset of the two-dimensional array of keysyms for the key -corresponding to -.I keycode. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeySymsOffset __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymsOffset \- Returns the offset of the two-dimensional array of keysyms
+for the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B int XkbKeySymsOffset
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymsOffset
+returns the offset of the two-dimensional array of keysyms for the key
+corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeySymsPtr.man b/libX11/man/xkb/XkbKeySymsPtr.man index 023e962d9..92ab6fa68 100644 --- a/libX11/man/xkb/XkbKeySymsPtr.man +++ b/libX11/man/xkb/XkbKeySymsPtr.man @@ -1,66 +1,66 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeySymsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeySymsPtr \- Returns the pointer to the two-dimensional array of keysyms for -the key corresponding to -.I keycode -.SH SYNOPSIS -.HP -.B KeySym * XkbKeySymsPtr -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.SH DESCRIPTION -.LP -The key width and number of groups associated with a key are used to form a -small two-dimensional array of KeySyms for a key. This array may be different -sizes for different keys. The array for a single key is stored as a linear list, -in row-major order. The arrays for all of the keys are stored in the -.I syms -field of the client map. There is one row for each group associated with a key -and one column for each level. The index corresponding to a given group and -shift level is computed as: -.nf - - idx = group_index * key_width + shift_level - -.fi -The -.I offset -field of the -.I key_sym_map -entry for a key is used to access the beginning of the array. - -.I XkbKeySymsPtr -returns the pointer to the two-dimensional array of keysyms for the key -corresponding to -.I keycode. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeySymsPtr __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeySymsPtr \- Returns the pointer to the two-dimensional array of keysyms for
+the key corresponding to
+.I keycode
+.SH SYNOPSIS
+.HP
+.B KeySym * XkbKeySymsPtr
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.SH DESCRIPTION
+.LP
+The key width and number of groups associated with a key are used to form a
+small two-dimensional array of KeySyms for a key. This array may be different
+sizes for different keys. The array for a single key is stored as a linear list,
+in row-major order. The arrays for all of the keys are stored in the
+.I syms
+field of the client map. There is one row for each group associated with a key
+and one column for each level. The index corresponding to a given group and
+shift level is computed as:
+.nf
+
+ idx = group_index * key_width + shift_level
+
+.fi
+The
+.I offset
+field of the
+.I key_sym_map
+entry for a key is used to access the beginning of the array.
+
+.I XkbKeySymsPtr
+returns the pointer to the two-dimensional array of keysyms for the key
+corresponding to
+.I keycode.
diff --git a/libX11/man/xkb/XkbKeyType.man b/libX11/man/xkb/XkbKeyType.man index 7462b3321..0b7544dd1 100644 --- a/libX11/man/xkb/XkbKeyType.man +++ b/libX11/man/xkb/XkbKeyType.man @@ -1,70 +1,70 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyType \- Obtain the index of a key type or the pointer to a key type -.SH SYNOPSIS -.HP -.B XkbKeyTypePtr XkbKeyType -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^," -.BI "int " "group" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.TP -.I \- group -group index -.SH DESCRIPTION -.LP -.I XkbKeyType -returns a pointer to the key type in the -.I types -vector of the client map in -.I xkb -corresponding to the given -.I keycode -and -.I group -index. -.SH STRUCTURES -.LP -.nf - -typedef struct { /\(** Key Type */ - XkbModsRec mods; /\(** modifiers used to compute shift level */ - unsigned char num_levels; /\(** total # shift levels, do not modify directly */ - unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */ - XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */ - XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */ - Atom name; /\(** name of key type */ - Atom * level_names; /\(** array of names of each shift level */ -} XkbKeyTypeRec, *XkbKeyTypePtr; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyType \- Obtain the index of a key type or the pointer to a key type
+.SH SYNOPSIS
+.HP
+.B XkbKeyTypePtr XkbKeyType
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^,"
+.BI "int " "group" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- group
+group index
+.SH DESCRIPTION
+.LP
+.I XkbKeyType
+returns a pointer to the key type in the
+.I types
+vector of the client map in
+.I xkb
+corresponding to the given
+.I keycode
+and
+.I group
+index.
+.SH STRUCTURES
+.LP
+.nf
+
+typedef struct { /\(** Key Type */
+ XkbModsRec mods; /\(** modifiers used to compute shift level */
+ unsigned char num_levels; /\(** total # shift levels, do not modify directly */
+ unsigned char map_count; /\(** # entries in map, preserve (if non-NULL) */
+ XkbKTMapEntryPtr map; /\(** vector of modifiers for each shift level */
+ XkbModsPtr preserve; /\(** mods to preserve for corresponding map entry */
+ Atom name; /\(** name of key type */
+ Atom * level_names; /\(** array of names of each shift level */
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+
+.fi
diff --git a/libX11/man/xkb/XkbKeyTypeIndex.man b/libX11/man/xkb/XkbKeyTypeIndex.man index b7e4ccce5..317acabb9 100644 --- a/libX11/man/xkb/XkbKeyTypeIndex.man +++ b/libX11/man/xkb/XkbKeyTypeIndex.man @@ -1,56 +1,56 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyTypeIndex __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyTypeIndex \- Obtain the index of a key type or the pointer to a key type -.SH SYNOPSIS -.HP -.B int XkbKeyTypeIndex -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "keycode" "\^," -.BI "int " "group" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -Xkb description of interest -.TP -.I \- keycode -keycode of interest -.TP -.I \- group -group index -.SH DESCRIPTION -.LP -.I XkbKeyTypeIndex -computes an index into the -.I types -vector of the client map in -.I xkb -from the given -.I keycode -and -.I group -index. - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyTypeIndex __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyTypeIndex \- Obtain the index of a key type or the pointer to a key type
+.SH SYNOPSIS
+.HP
+.B int XkbKeyTypeIndex
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "keycode" "\^,"
+.BI "int " "group" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+Xkb description of interest
+.TP
+.I \- keycode
+keycode of interest
+.TP
+.I \- group
+group index
+.SH DESCRIPTION
+.LP
+.I XkbKeyTypeIndex
+computes an index into the
+.I types
+vector of the client map in
+.I xkb
+from the given
+.I keycode
+and
+.I group
+index.
+
diff --git a/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man b/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man index 5ce2526b5..502d8bed3 100644 --- a/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man +++ b/libX11/man/xkb/XkbKeyTypesForCoreSymbols.man @@ -1,228 +1,228 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeyTypesForCoreSymbols __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeyTypesForCoreSymbols \- Determine the Xkb key types appropriate for the -symbols bound to a key in a core keyboard mapping -.SH SYNOPSIS -.HP -.B int XkbKeyTypesForCoreSymbols -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "int " "map_width" "\^," -.BI "KeySym *" "core_syms" "\^," -.BI "unsigned int " "protected" "\^," -.BI "int *" "types_inout" "\^," -.BI "KeySym *" "xkb_syms_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description in which to place symbols -.TP -.I \- map_width -width of core protocol keymap in xkb_syms_rtrn -.TP -.I \- core_syms -core protocol format array of KeySyms -.TP -.I \- protected -explicit key types -.TP -.I \- types_inout -backfilled with the canonical types bound to groups one and two for the key -.TP -.I \- xkb_syms_rtrn -backfilled with symbols bound to the key in the Xkb mapping -.SH DESCRIPTION -.LP -.I XkbKeyTypesForCoreSymbols -expands the symbols in -.I core_syms -and types in -.I types_inout, -then chooses canonical key types (canonical key types are -defined The Canonical Key Types) for groups 1 and 2 using the rules specified by -the Xkb protocol and places them in xkb_syms_rtrn, which will be non-NULL. - -.B The Canonical Key Types - -Xkb allows up to XkbMaxKeyTypes (255) key types to be defined, but requires at -least XkbNumRequiredTypes (4) predefined types to be in a key map. These -predefined key types are referred to as the canonical key types and describe the -types of keys available on most keyboards. The definitions for the canonical key -types are held in the first XkbNumRequiredTypes entries of the -.I types -field of the client map and are indexed using the following constants: -.nf - - XkbOneLevelIndex - XkbTwoLevelIndex - XkbAlphabeticIndex - XkbKeypadIndex - -.fi - -ONE_LEVEL - -The ONE_LEVEL key type describes groups that have only one symbol. The default -ONE_LEVEL key type has no map entries and does not pay attention to any -modifiers. A symbolic representation of this key type could look like the -following: -.nf - - type "ONE_LEVEL" { - modifiers = None; - map[None]= Level1; - level_name[Level1]= "Any"; - }; - -.fi -The description of the ONE_LEVEL key type is stored in the -types[XkbOneLevelIndex] entry of the client key map. - -TWO_LEVEL - -The TWO_LEVEL key type describes groups that consist of two symbols but are -neither alphabetic nor numeric keypad keys. The default TWO_LEVEL type uses only -the Shift modifier. It returns shift level two if Shift is set, and level one if -it is not. A symbolic representation of this key type could look like the -following: -.nf - - type "TWO_LEVEL" { - modifiers = Shift; - map[Shift]= Level2; - level_name[Level1]= "Base"; - level_name[Level2]= "Shift"; - }; - -.fi - -The description of the TWO_LEVEL key type is stored in the -types[XkbTwoLevelIndex] entry of the client key map. - -ALPHABETIC - -The ALPHABETIC key type describes groups consisting of two symbols: the -lowercase form of a symbol followed by the uppercase form of the same symbol. -The default ALPHABETIC type implements locale-sensitive "Shift cancels CapsLock" -behavior using both the Shift and Lock modifiers as follows: - -.IP \(bu 5 -If Shift and Lock are both set, the default ALPHABETIC type yields level one. -.IP \(bu 5 -If Shift alone is set, it yields level two. -.IP \(bu 5 -If Lock alone is set, it yields level one, but preserves the Lock modifier so -Xlib notices and applies the appropriate capitalization rules. The Xlib -functions are locale-sensitive and apply different capitalization rules for -different locales. -.IP \(bu 5 -If neither Shift nor Lock is set, it yields level one. - -A symbolic representation of this key type could look like the following: -.nf - - type "ALPHABETIC" { - modifiers = Shift+Lock; - map[Shift]= Level2; - preserve[Lock]= Lock; - level_name[Level1]= "Base"; - level_name[Level2]= "Caps"; - }; - -.fi -The description of the ALPHABETIC key type is stored in the -types[XkbAlphabeticIndex] entry of the client key map. - -KEYPAD - -The KEYPAD key type describes groups that consist of two symbols, at least one -of which is a numeric keypad symbol. The numeric keypad symbol is assumed to -reside at level two. The default KEYPAD key type implements "Shift cancels -NumLock" behavior using the Shift modifier and the real modifier bound to the -virtual modifier named "NumLock," known as the NumLock modifier, as follows: - -.IP \(bu 5 -If Shift and NumLock are both set, the default KEYPAD type yields level one. -.IP \(bu 5 -If Shift alone is set, it yields level two. -.IP \(bu 5 -If NumLock alone is set, it yields level two. -.IP \(bu 5 -If neither Shift nor NumLock is set, it yields level one. - -A symbolic representation of this key type could look like the following: -.nf - - type "KEYPAD" { - modifiers = Shift+NumLock; - map[None]= Level1; - map[Shift]= Level2; - map[NumLock]= Level2; - map[Shift+NumLock]= Level1; - level_name[Level1]= "Base"; - level_name[Level2]= "Caps"; - }; - -.fi -The description of the KEYPAD key type is stored in the types[XkbKeypadIndex] -entry of the client key map. - -A core keymap is a two-dimensional array of keysyms. It has -.I map_width -columns and -.I max_key_code -rows. -.I XkbKeyTypesForCoreSymbols -takes a single row from a core keymap, determines the number of groups -associated with it, the type of each group, and the symbols bound to each group. -The return value is the number of groups, -.I types_inout -has the types for each group, and -.I xkb_syms_rtrn -has the symbols in Xkb order (that is, groups are contiguous, regardless of -size). - -.I protected -contains the explicitly protected key types. There is one explicit override -control associated with each of the four possible groups for each Xkb key, -ExplicitKeyType1 through ExplicitKeyType4; -.I protected -is an inclusive OR of these controls. -.I map_width -is the width of the core keymap and is not dependent on any Xkb definitions. -.I types_inout -is an array of four type indices. On input, -.I types_inout -contains the indices of any types already assigned to the key, in case they are -explicitly protected from change. - -Upon return, -.I types_inout -contains any automatically selected (that is, canonical) types plus any -protected types. Canonical types are assigned to all four groups if there are -enough symbols to do so. The four entries in -.I types_inout -correspond to the four groups for the key in question. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeyTypesForCoreSymbols __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeyTypesForCoreSymbols \- Determine the Xkb key types appropriate for the
+symbols bound to a key in a core keyboard mapping
+.SH SYNOPSIS
+.HP
+.B int XkbKeyTypesForCoreSymbols
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "int " "map_width" "\^,"
+.BI "KeySym *" "core_syms" "\^,"
+.BI "unsigned int " "protected" "\^,"
+.BI "int *" "types_inout" "\^,"
+.BI "KeySym *" "xkb_syms_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description in which to place symbols
+.TP
+.I \- map_width
+width of core protocol keymap in xkb_syms_rtrn
+.TP
+.I \- core_syms
+core protocol format array of KeySyms
+.TP
+.I \- protected
+explicit key types
+.TP
+.I \- types_inout
+backfilled with the canonical types bound to groups one and two for the key
+.TP
+.I \- xkb_syms_rtrn
+backfilled with symbols bound to the key in the Xkb mapping
+.SH DESCRIPTION
+.LP
+.I XkbKeyTypesForCoreSymbols
+expands the symbols in
+.I core_syms
+and types in
+.I types_inout,
+then chooses canonical key types (canonical key types are
+defined The Canonical Key Types) for groups 1 and 2 using the rules specified by
+the Xkb protocol and places them in xkb_syms_rtrn, which will be non-NULL.
+
+.B The Canonical Key Types
+
+Xkb allows up to XkbMaxKeyTypes (255) key types to be defined, but requires at
+least XkbNumRequiredTypes (4) predefined types to be in a key map. These
+predefined key types are referred to as the canonical key types and describe the
+types of keys available on most keyboards. The definitions for the canonical key
+types are held in the first XkbNumRequiredTypes entries of the
+.I types
+field of the client map and are indexed using the following constants:
+.nf
+
+ XkbOneLevelIndex
+ XkbTwoLevelIndex
+ XkbAlphabeticIndex
+ XkbKeypadIndex
+
+.fi
+
+ONE_LEVEL
+
+The ONE_LEVEL key type describes groups that have only one symbol. The default
+ONE_LEVEL key type has no map entries and does not pay attention to any
+modifiers. A symbolic representation of this key type could look like the
+following:
+.nf
+
+ type "ONE_LEVEL" {
+ modifiers = None;
+ map[None]= Level1;
+ level_name[Level1]= "Any";
+ };
+
+.fi
+The description of the ONE_LEVEL key type is stored in the
+types[XkbOneLevelIndex] entry of the client key map.
+
+TWO_LEVEL
+
+The TWO_LEVEL key type describes groups that consist of two symbols but are
+neither alphabetic nor numeric keypad keys. The default TWO_LEVEL type uses only
+the Shift modifier. It returns shift level two if Shift is set, and level one if
+it is not. A symbolic representation of this key type could look like the
+following:
+.nf
+
+ type "TWO_LEVEL" {
+ modifiers = Shift;
+ map[Shift]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ };
+
+.fi
+
+The description of the TWO_LEVEL key type is stored in the
+types[XkbTwoLevelIndex] entry of the client key map.
+
+ALPHABETIC
+
+The ALPHABETIC key type describes groups consisting of two symbols: the
+lowercase form of a symbol followed by the uppercase form of the same symbol.
+The default ALPHABETIC type implements locale-sensitive "Shift cancels CapsLock"
+behavior using both the Shift and Lock modifiers as follows:
+
+.IP \(bu 5
+If Shift and Lock are both set, the default ALPHABETIC type yields level one.
+.IP \(bu 5
+If Shift alone is set, it yields level two.
+.IP \(bu 5
+If Lock alone is set, it yields level one, but preserves the Lock modifier so
+Xlib notices and applies the appropriate capitalization rules. The Xlib
+functions are locale-sensitive and apply different capitalization rules for
+different locales.
+.IP \(bu 5
+If neither Shift nor Lock is set, it yields level one.
+
+A symbolic representation of this key type could look like the following:
+.nf
+
+ type "ALPHABETIC" {
+ modifiers = Shift+Lock;
+ map[Shift]= Level2;
+ preserve[Lock]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+
+.fi
+The description of the ALPHABETIC key type is stored in the
+types[XkbAlphabeticIndex] entry of the client key map.
+
+KEYPAD
+
+The KEYPAD key type describes groups that consist of two symbols, at least one
+of which is a numeric keypad symbol. The numeric keypad symbol is assumed to
+reside at level two. The default KEYPAD key type implements "Shift cancels
+NumLock" behavior using the Shift modifier and the real modifier bound to the
+virtual modifier named "NumLock," known as the NumLock modifier, as follows:
+
+.IP \(bu 5
+If Shift and NumLock are both set, the default KEYPAD type yields level one.
+.IP \(bu 5
+If Shift alone is set, it yields level two.
+.IP \(bu 5
+If NumLock alone is set, it yields level two.
+.IP \(bu 5
+If neither Shift nor NumLock is set, it yields level one.
+
+A symbolic representation of this key type could look like the following:
+.nf
+
+ type "KEYPAD" {
+ modifiers = Shift+NumLock;
+ map[None]= Level1;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ map[Shift+NumLock]= Level1;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+
+.fi
+The description of the KEYPAD key type is stored in the types[XkbKeypadIndex]
+entry of the client key map.
+
+A core keymap is a two-dimensional array of keysyms. It has
+.I map_width
+columns and
+.I max_key_code
+rows.
+.I XkbKeyTypesForCoreSymbols
+takes a single row from a core keymap, determines the number of groups
+associated with it, the type of each group, and the symbols bound to each group.
+The return value is the number of groups,
+.I types_inout
+has the types for each group, and
+.I xkb_syms_rtrn
+has the symbols in Xkb order (that is, groups are contiguous, regardless of
+size).
+
+.I protected
+contains the explicitly protected key types. There is one explicit override
+control associated with each of the four possible groups for each Xkb key,
+ExplicitKeyType1 through ExplicitKeyType4;
+.I protected
+is an inclusive OR of these controls.
+.I map_width
+is the width of the core keymap and is not dependent on any Xkb definitions.
+.I types_inout
+is an array of four type indices. On input,
+.I types_inout
+contains the indices of any types already assigned to the key, in case they are
+explicitly protected from change.
+
+Upon return,
+.I types_inout
+contains any automatically selected (that is, canonical) types plus any
+protected types. Canonical types are assigned to all four groups if there are
+enough symbols to do so. The four entries in
+.I types_inout
+correspond to the four groups for the key in question.
diff --git a/libX11/man/xkb/XkbKeycodeToKeysym.man b/libX11/man/xkb/XkbKeycodeToKeysym.man index 3ad13bef3..e0f2b6995 100644 --- a/libX11/man/xkb/XkbKeycodeToKeysym.man +++ b/libX11/man/xkb/XkbKeycodeToKeysym.man @@ -1,60 +1,60 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeycodeToKeysym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeycodeToKeysym \- Finds the keysym bound to a particular key at a specified -group and shift level -.SH SYNOPSIS -.HP -.B KeySym XkbKeycodeToKeysym -.BI "(\^Display *" "dpy" "\^," -.BI "KeyCode " "kc" "\^," -.BI "unsigned int " "group" "\^," -.BI "unsigned int " "level" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- kc -key of interest -.TP -.I \- group -group of interest -.TP -.I \- level -shift level of interest -.SH DESCRIPTION -.LP -.I XkbKeycodeToKeysym -returns the keysym bound to a particular group and shift level for a particular -key on the core keyboard. If -.I kc -is not a legal keycode for the core keyboard, or if -.I group -or -.I level -are out of range for the specified key, -.I XkbKeycodeToKeysym -returns NoSymbol. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeycodeToKeysym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeycodeToKeysym \- Finds the keysym bound to a particular key at a specified
+group and shift level
+.SH SYNOPSIS
+.HP
+.B KeySym XkbKeycodeToKeysym
+.BI "(\^Display *" "dpy" "\^,"
+.BI "KeyCode " "kc" "\^,"
+.BI "unsigned int " "group" "\^,"
+.BI "unsigned int " "level" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- kc
+key of interest
+.TP
+.I \- group
+group of interest
+.TP
+.I \- level
+shift level of interest
+.SH DESCRIPTION
+.LP
+.I XkbKeycodeToKeysym
+returns the keysym bound to a particular group and shift level for a particular
+key on the core keyboard. If
+.I kc
+is not a legal keycode for the core keyboard, or if
+.I group
+or
+.I level
+are out of range for the specified key,
+.I XkbKeycodeToKeysym
+returns NoSymbol.
diff --git a/libX11/man/xkb/XkbKeysymToModifiers.man b/libX11/man/xkb/XkbKeysymToModifiers.man index a2554837e..1e9d67c72 100644 --- a/libX11/man/xkb/XkbKeysymToModifiers.man +++ b/libX11/man/xkb/XkbKeysymToModifiers.man @@ -1,52 +1,52 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbKeysymToModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbKeysymToModifiers \- Finds the set of modifiers bound to a particular keysym -on the core keyboard -.SH SYNOPSIS -.HP -.B unsigned int XkbKeysymToModifiers -.BI "(\^Display *" "dpy" "\^," -.BI "KeySym " "ks" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- ks -keysym of interest -.SH DESCRIPTION -.LP -.I XkbKeysymToModifiers -finds the set of modifiers currently bound to the keysym -.I ks -on the core keyboard. The value returned is the mask of modifiers bound to the -keysym -.I ks. -If no modifiers are bound to the keysym, -.I XkbKeysymToModifiers -returns zero; otherwise, it returns the inclusive OR of zero or more of the -following: ShiftMask, ControlMask, LockMask, Mod1Mask, Mod2Mask, Mod3Mask, -Mod4Mask, and Mod5Mask. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbKeysymToModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbKeysymToModifiers \- Finds the set of modifiers bound to a particular keysym
+on the core keyboard
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbKeysymToModifiers
+.BI "(\^Display *" "dpy" "\^,"
+.BI "KeySym " "ks" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- ks
+keysym of interest
+.SH DESCRIPTION
+.LP
+.I XkbKeysymToModifiers
+finds the set of modifiers currently bound to the keysym
+.I ks
+on the core keyboard. The value returned is the mask of modifiers bound to the
+keysym
+.I ks.
+If no modifiers are bound to the keysym,
+.I XkbKeysymToModifiers
+returns zero; otherwise, it returns the inclusive OR of zero or more of the
+following: ShiftMask, ControlMask, LockMask, Mod1Mask, Mod2Mask, Mod3Mask,
+Mod4Mask, and Mod5Mask.
diff --git a/libX11/man/xkb/XkbLatchGroup.man b/libX11/man/xkb/XkbLatchGroup.man index dbb003ef1..c4ce2afaf 100644 --- a/libX11/man/xkb/XkbLatchGroup.man +++ b/libX11/man/xkb/XkbLatchGroup.man @@ -1,83 +1,83 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLatchGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLatchGroup \- Latches the keysym group -.SH SYNOPSIS -.HP -.B Bool XkbLatchGroup -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "group" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I group -index of the keysym group to latch -.SH DESCRIPTION -.LP - -.I XkbLatchGroup -sends a request to the server to latch the specified -.I group -and -does not wait for a reply. It returns True if the request was sent and False -otherwise. - -Reference the keysym group indices with these symbolic constants: - -.TS -c s -l l -l l. -Table 1 Symbolic Group Names -_ -Symbolic Name Value -_ -XkbGroup1Index 0 -XkbGroup2Index 1 -XkbGroup3Index 2 -XkbGroup4Index 3 -.TE -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbLatchGroup -function returns True if a request was sent to the server to latch the specified -.I group. -.TP 15 -False -The -.I XkbLatchGroup -function returns False if the request was not sent. - - - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLatchGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLatchGroup \- Latches the keysym group
+.SH SYNOPSIS
+.HP
+.B Bool XkbLatchGroup
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "group" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I group
+index of the keysym group to latch
+.SH DESCRIPTION
+.LP
+
+.I XkbLatchGroup
+sends a request to the server to latch the specified
+.I group
+and
+does not wait for a reply. It returns True if the request was sent and False
+otherwise.
+
+Reference the keysym group indices with these symbolic constants:
+
+.TS
+c s
+l l
+l l.
+Table 1 Symbolic Group Names
+_
+Symbolic Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLatchGroup
+function returns True if a request was sent to the server to latch the specified
+.I group.
+.TP 15
+False
+The
+.I XkbLatchGroup
+function returns False if the request was not sent.
+
+
+
diff --git a/libX11/man/xkb/XkbLatchModifiers.man b/libX11/man/xkb/XkbLatchModifiers.man index b0de5a59f..070f7a89f 100644 --- a/libX11/man/xkb/XkbLatchModifiers.man +++ b/libX11/man/xkb/XkbLatchModifiers.man @@ -1,104 +1,104 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLatchModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLatchModifiers \- Latches and unlatches any of the eight real keyboard -modifiers -.SH SYNOPSIS -.HP -.B Bool XkbLatchModifiers -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "affect" "\^," -.BI "unsigned int " "values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I affect -mask of real modifiers whose lock state is to change -.TP -.I values -1 => lock, 0 => unlock; only for modifiers selected by affect -.SH DESCRIPTION -.LP -.I XkbLatchModifiers -sends a request to the server to latch the real modifiers -selected by both -.I affect -and -.I values -and to unlatch the real modifiers selected by -.I affect -, but not selected by -.I values. - -.I XkbLatchModifiers -does not wait for a reply from the server. It returns True if -the request was sent, and False otherwise. - -The functions in this section that change the use of modifiers use a mask in the -parameter affect. It is a bitwise inclusive OR of the legal modifier masks: - -.TS -c -l -l. -Table 1 Real Modifier Masks -_ -Mask -_ -ShiftMask -LockMask -ControlMask -Mod1Mask -Mod2Mask -Mod3Mask -Mod4Mask -Mod5Mask -.TE -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbLatchModifiers -function returns True if a request was sent to the server to latch the real modifiers selected by both -.I affect -and -.I values -and to unlatch the real modifiers selected by -.I affect -, but not selected by -.I values. -.TP 15 -False -The -.I XkbLatchModifiers -function returns False if the request was not sent. - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLatchModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLatchModifiers \- Latches and unlatches any of the eight real keyboard
+modifiers
+.SH SYNOPSIS
+.HP
+.B Bool XkbLatchModifiers
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "affect" "\^,"
+.BI "unsigned int " "values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I affect
+mask of real modifiers whose lock state is to change
+.TP
+.I values
+1 => lock, 0 => unlock; only for modifiers selected by affect
+.SH DESCRIPTION
+.LP
+.I XkbLatchModifiers
+sends a request to the server to latch the real modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlatch the real modifiers selected by
+.I affect
+, but not selected by
+.I values.
+
+.I XkbLatchModifiers
+does not wait for a reply from the server. It returns True if
+the request was sent, and False otherwise.
+
+The functions in this section that change the use of modifiers use a mask in the
+parameter affect. It is a bitwise inclusive OR of the legal modifier masks:
+
+.TS
+c
+l
+l.
+Table 1 Real Modifier Masks
+_
+Mask
+_
+ShiftMask
+LockMask
+ControlMask
+Mod1Mask
+Mod2Mask
+Mod3Mask
+Mod4Mask
+Mod5Mask
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLatchModifiers
+function returns True if a request was sent to the server to latch the real modifiers selected by both
+.I affect
+and
+.I values
+and to unlatch the real modifiers selected by
+.I affect
+, but not selected by
+.I values.
+.TP 15
+False
+The
+.I XkbLatchModifiers
+function returns False if the request was not sent.
+
diff --git a/libX11/man/xkb/XkbLibraryVersion.man b/libX11/man/xkb/XkbLibraryVersion.man index 8ccba8033..28604b422 100644 --- a/libX11/man/xkb/XkbLibraryVersion.man +++ b/libX11/man/xkb/XkbLibraryVersion.man @@ -1,92 +1,92 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLibraryVersion __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLibraryVersion \- Determines the compatibility of a library at runtime. -.SH SYNOPSIS -.HP -.B Bool XkbLibraryVersion -.BI "(\^int *" "lib_major_in_out" "\^," -.BI "int *" "lib_minor_in_out" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I lib_major_in_out -Specifies and returns the major Xkb library version. -.TP -.I lib_minor_in_out -Specifies and returns the minor Xkb library version. -.SH DESCRIPTION -.LP -If an application is dynamically linked, both the X server and the client-side X -library must contain the Xkb extension in order for the client to use the Xkb -extension capabilities. Therefore a dynamically linked application must check -both the library and the server for compatibility before using Xkb function -calls. A properly written program must check for compatibility between the -version of the Xkb library that is dynamically loaded and the one used when the -application was built. It must then check the server version for compatibility -with the version of Xkb in the library. - -If your application is statically linked, you must still check for server -compatibility and may check library compatibility. (It is possible to compile -against one set of header files and link against a different, incompatible, -version of the library, although this should not normally occur.) - -Pass the symbolic value XkbMajorVersion in -.I lib_major_in_out -and XkbMinorVersion in -.I lib_minor_in_out. -These arguments represent the version of the library used -at compile time. The -.I XkbLibraryVersion -function backfills the major and minor version numbers of the library used at -run time in -.I lib_major_in_out and -.I lib_minor_in_out. -If the versions of the compile time and run time libraries are -compatible, -.I XkbLibraryVersion -returns True, otherwise, it returns False. - -In addition, in order to use the Xkb extension, you must ensure that the -extension is present in the server and that the server supports the version of -the extension expected by the client. Use -.I XkbQueryExtension -to do this, as described in the next section. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbLibraryVersion -returns True if the versions of the compile time and run time libraries are -compatible. -.TP 15 -False -The -.I XkbLibraryVersion -returns False if the versions of the compile time and run time libraries are not -compatible. -.SH "SEE ALSO" -.BR XkbMajorVersion (__libmansuffix__), -.BR XkbMinorVersion (__libmansuffix__), -.BR XkbQueryExtension (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLibraryVersion __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLibraryVersion \- Determines the compatibility of a library at runtime.
+.SH SYNOPSIS
+.HP
+.B Bool XkbLibraryVersion
+.BI "(\^int *" "lib_major_in_out" "\^,"
+.BI "int *" "lib_minor_in_out" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I lib_major_in_out
+Specifies and returns the major Xkb library version.
+.TP
+.I lib_minor_in_out
+Specifies and returns the minor Xkb library version.
+.SH DESCRIPTION
+.LP
+If an application is dynamically linked, both the X server and the client-side X
+library must contain the Xkb extension in order for the client to use the Xkb
+extension capabilities. Therefore a dynamically linked application must check
+both the library and the server for compatibility before using Xkb function
+calls. A properly written program must check for compatibility between the
+version of the Xkb library that is dynamically loaded and the one used when the
+application was built. It must then check the server version for compatibility
+with the version of Xkb in the library.
+
+If your application is statically linked, you must still check for server
+compatibility and may check library compatibility. (It is possible to compile
+against one set of header files and link against a different, incompatible,
+version of the library, although this should not normally occur.)
+
+Pass the symbolic value XkbMajorVersion in
+.I lib_major_in_out
+and XkbMinorVersion in
+.I lib_minor_in_out.
+These arguments represent the version of the library used
+at compile time. The
+.I XkbLibraryVersion
+function backfills the major and minor version numbers of the library used at
+run time in
+.I lib_major_in_out and
+.I lib_minor_in_out.
+If the versions of the compile time and run time libraries are
+compatible,
+.I XkbLibraryVersion
+returns True, otherwise, it returns False.
+
+In addition, in order to use the Xkb extension, you must ensure that the
+extension is present in the server and that the server supports the version of
+the extension expected by the client. Use
+.I XkbQueryExtension
+to do this, as described in the next section.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLibraryVersion
+returns True if the versions of the compile time and run time libraries are
+compatible.
+.TP 15
+False
+The
+.I XkbLibraryVersion
+returns False if the versions of the compile time and run time libraries are not
+compatible.
+.SH "SEE ALSO"
+.BR XkbMajorVersion (__libmansuffix__),
+.BR XkbMinorVersion (__libmansuffix__),
+.BR XkbQueryExtension (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbListComponents.man b/libX11/man/xkb/XkbListComponents.man index fca01dbdf..de2df94eb 100644 --- a/libX11/man/xkb/XkbListComponents.man +++ b/libX11/man/xkb/XkbListComponents.man @@ -1,165 +1,165 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbListComponents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbListComponents \- List of components for one or more component types -.SH SYNOPSIS -.HP -.B XkbComponentListPtr XkbListComponents -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "XkbComponentNamesPtr " "ptrns" "\^," -.BI "int *" "max_inout" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- ptrns -namelist for components of interest -.TP -.I \- max_inout -max # returned names, # left over -.SH DESCRIPTION -.LP -You may ask the server for a list of components for one or more component types. The request takes the -form of a set of patterns, one pattern for each of the component types, including a pattern for the -complete keyboard description. To obtain this list, use -.I XkbListComponents. - -.I XkbListComponents -queries the server for a list of component names matching the patterns specified in -.I ptrns. -It waits for a reply and returns the matching component names in an XkbComponentListRec structure. -When you are done using the structure, you should free it using -.I XkbFreeComponentList. device_spec -indicates a particular device in which the caller is interested. A server is allowed (but not -required) to restrict its reply to portions of the database that are relevant for that particular -device. - -.I ptrns -is a pointer to an XkbComponentNamesRec. Each of the fields in -.I ptrns -contains a pattern naming the components of interest. Each of the patterns is composed of characters -from the ISO Latin1 encoding, but can contain only parentheses, the wildcard characters `?' and `*', -and characters permitted in a component class or member name. A pattern may be NULL, in which case no -components for that type is returned. Pattern matches with component names are case sensitive. The `?' -wildcard matches any single character, except a left or right parenthesis; the `*' wildcard matches -any number of characters, except a left or right parenthesis. If an implementation allows additional -characters in a component class or member name other than those required by the Xkb extension, the -result of comparing one of the additional characters to either of the wildcard characters is -implementation-dependent. - -If a pattern contains illegal characters, the illegal characters are ignored. The matching process is -carried out as if the illegal characters were omitted from the pattern. - -.I max_inout -is used to throttle the amount of data passed to and from the server. On input, it specifies the -maximum number of names to be returned (the total number of names in all component categories). Upon -return from -.I XkbListComponents, -max_inout contains the number of names that matched the request but were not returned because of the -limit. - -.B Component Names - -Component names have the form -.I "class(member)" -where -.I class -describes a subset of the available components for a particular type and the optional -.I member -identifies a specific component from that subset. For example, the name "atlantis(acme)" for a symbols -component might specify the symbols used for the atlantis national keyboard layout by the vendor -"acme." Each class has an optional -.I default -member - references that specify a class but not a member refer to the default member of the class, if -one exists. Xkb places no constraints on the interpretation of the class and member names used in -component names. - -The -.I class -and -.I member -names are both specified using characters from the Latin-1 character set. Xkb implementations must -accept all alphanumeric characters, minus (`-') and underscore (`_') in class or member names, and -must not accept parentheses, plus, vertical bar, percent sign, asterisk, question mark, or white -space. The use of other characters is implementation-dependent. -.SH STRUCTURES -.LP -The component name patterns used to describe the request are passed to -.I XkbListComponents -using an XkbComponentNamesRec structure. This structure has no special allocation constraints or -interrelationships with other structures; allocate and free this structure using standard -.I malloc -and -.I free -calls or their equivalent: -.nf - - typedef struct _XkbComponentNames { - char * keymap; /\(** keymap names */ - char * keycodes; /\(** keycode names */ - char * types; /\(** type names */ - char * compat; /\(** compatibility map names */ - char * symbols; /\(** symbol names */ - char * geometry; /\(** geometry names */ - } XkbComponentNamesRec, *XkbComponentNamesPtr; - -.fi -.I XkbListComponents -returns a pointer to an XkbComponentListRec: -.nf - - typedef struct _XkbComponentList { - int num_keymaps; /\(** number of entries in keymap */ - int num_keycodes; /\(** number of entries in keycodes */ - int num_types; /\(** number of entries in types */ - int num_compat; /\(** number of entries in compat */ - int num_symbols; /\(** number of entries in symbols */ - int num_geometry; /\(** number of entries in geometry; - XkbComponentNamePtr keymap; /\(** keymap names */ - XkbComponentNamePtr keycodes; /\(** keycode names */ - XkbComponentNamePtr types; /\(** type names */ - XkbComponentNamePtr compat; /\(** compatibility map names */ - XkbComponentNamePtr symbols; /\(** symbol names */ - XkbComponentNamePtr geometry; /\(** geometry names */ - } XkbComponentListRec, *XkbComponentListPtr; - - typedef struct _XkbComponentName { - unsigned short flags; /\(** hints regarding component name */ - char * name; /\(** name of component */ - } XkbComponentNameRec, *XkbComponentNamePtr; - -.fi -.SH "SEE ALSO" -.BR XkbFreeComponentList (__libmansuffix__) -.SH NOTES -.LP -Note that the structure used to specify patterns on input is an XkbComponentNamesRec, and that used to -hold the individual component names upon return is an XkbComponentNameRec (no trailing `s' in Name). +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbListComponents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbListComponents \- List of components for one or more component types
+.SH SYNOPSIS
+.HP
+.B XkbComponentListPtr XkbListComponents
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "XkbComponentNamesPtr " "ptrns" "\^,"
+.BI "int *" "max_inout" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- ptrns
+namelist for components of interest
+.TP
+.I \- max_inout
+max # returned names, # left over
+.SH DESCRIPTION
+.LP
+You may ask the server for a list of components for one or more component types. The request takes the
+form of a set of patterns, one pattern for each of the component types, including a pattern for the
+complete keyboard description. To obtain this list, use
+.I XkbListComponents.
+
+.I XkbListComponents
+queries the server for a list of component names matching the patterns specified in
+.I ptrns.
+It waits for a reply and returns the matching component names in an XkbComponentListRec structure.
+When you are done using the structure, you should free it using
+.I XkbFreeComponentList. device_spec
+indicates a particular device in which the caller is interested. A server is allowed (but not
+required) to restrict its reply to portions of the database that are relevant for that particular
+device.
+
+.I ptrns
+is a pointer to an XkbComponentNamesRec. Each of the fields in
+.I ptrns
+contains a pattern naming the components of interest. Each of the patterns is composed of characters
+from the ISO Latin1 encoding, but can contain only parentheses, the wildcard characters `?' and `*',
+and characters permitted in a component class or member name. A pattern may be NULL, in which case no
+components for that type is returned. Pattern matches with component names are case sensitive. The `?'
+wildcard matches any single character, except a left or right parenthesis; the `*' wildcard matches
+any number of characters, except a left or right parenthesis. If an implementation allows additional
+characters in a component class or member name other than those required by the Xkb extension, the
+result of comparing one of the additional characters to either of the wildcard characters is
+implementation-dependent.
+
+If a pattern contains illegal characters, the illegal characters are ignored. The matching process is
+carried out as if the illegal characters were omitted from the pattern.
+
+.I max_inout
+is used to throttle the amount of data passed to and from the server. On input, it specifies the
+maximum number of names to be returned (the total number of names in all component categories). Upon
+return from
+.I XkbListComponents,
+max_inout contains the number of names that matched the request but were not returned because of the
+limit.
+
+.B Component Names
+
+Component names have the form
+.I "class(member)"
+where
+.I class
+describes a subset of the available components for a particular type and the optional
+.I member
+identifies a specific component from that subset. For example, the name "atlantis(acme)" for a symbols
+component might specify the symbols used for the atlantis national keyboard layout by the vendor
+"acme." Each class has an optional
+.I default
+member - references that specify a class but not a member refer to the default member of the class, if
+one exists. Xkb places no constraints on the interpretation of the class and member names used in
+component names.
+
+The
+.I class
+and
+.I member
+names are both specified using characters from the Latin-1 character set. Xkb implementations must
+accept all alphanumeric characters, minus (`-') and underscore (`_') in class or member names, and
+must not accept parentheses, plus, vertical bar, percent sign, asterisk, question mark, or white
+space. The use of other characters is implementation-dependent.
+.SH STRUCTURES
+.LP
+The component name patterns used to describe the request are passed to
+.I XkbListComponents
+using an XkbComponentNamesRec structure. This structure has no special allocation constraints or
+interrelationships with other structures; allocate and free this structure using standard
+.I malloc
+and
+.I free
+calls or their equivalent:
+.nf
+
+ typedef struct _XkbComponentNames {
+ char * keymap; /\(** keymap names */
+ char * keycodes; /\(** keycode names */
+ char * types; /\(** type names */
+ char * compat; /\(** compatibility map names */
+ char * symbols; /\(** symbol names */
+ char * geometry; /\(** geometry names */
+ } XkbComponentNamesRec, *XkbComponentNamesPtr;
+
+.fi
+.I XkbListComponents
+returns a pointer to an XkbComponentListRec:
+.nf
+
+ typedef struct _XkbComponentList {
+ int num_keymaps; /\(** number of entries in keymap */
+ int num_keycodes; /\(** number of entries in keycodes */
+ int num_types; /\(** number of entries in types */
+ int num_compat; /\(** number of entries in compat */
+ int num_symbols; /\(** number of entries in symbols */
+ int num_geometry; /\(** number of entries in geometry;
+ XkbComponentNamePtr keymap; /\(** keymap names */
+ XkbComponentNamePtr keycodes; /\(** keycode names */
+ XkbComponentNamePtr types; /\(** type names */
+ XkbComponentNamePtr compat; /\(** compatibility map names */
+ XkbComponentNamePtr symbols; /\(** symbol names */
+ XkbComponentNamePtr geometry; /\(** geometry names */
+ } XkbComponentListRec, *XkbComponentListPtr;
+
+ typedef struct _XkbComponentName {
+ unsigned short flags; /\(** hints regarding component name */
+ char * name; /\(** name of component */
+ } XkbComponentNameRec, *XkbComponentNamePtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbFreeComponentList (__libmansuffix__)
+.SH NOTES
+.LP
+Note that the structure used to specify patterns on input is an XkbComponentNamesRec, and that used to
+hold the individual component names upon return is an XkbComponentNameRec (no trailing `s' in Name).
diff --git a/libX11/man/xkb/XkbLockGroup.man b/libX11/man/xkb/XkbLockGroup.man index 142f647ab..706a2d9dd 100644 --- a/libX11/man/xkb/XkbLockGroup.man +++ b/libX11/man/xkb/XkbLockGroup.man @@ -1,81 +1,81 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLockGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLockGroup \- Locks the keysym group -.SH SYNOPSIS -.HP -.B Bool XkbLockGroup -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "group" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I group -index of the keysym group to lock -.SH DESCRIPTION -.LP -.I XkbLockGroup -sends a request to the server to lock the specified -.I group -and does not wait for a reply. It returns True if the request was sent and -False otherwise. - -Reference the keysym group indices with these symbolic constants: - -.TS -c s -l l -l l. -Table 1 Symbolic Group Names -_ -Symbolic Name Value -_ -XkbGroup1Index 0 -XkbGroup2Index 1 -XkbGroup3Index 2 -XkbGroup4Index 3 -.TE -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbLockGroup -function returns True when a request was sent to the server to lock the -specified -.I group -and does not wait for a reply. -.TP 15 -False -The -.I XkbLockGroup -function returns False if the request was not sent. - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLockGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLockGroup \- Locks the keysym group
+.SH SYNOPSIS
+.HP
+.B Bool XkbLockGroup
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "group" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I group
+index of the keysym group to lock
+.SH DESCRIPTION
+.LP
+.I XkbLockGroup
+sends a request to the server to lock the specified
+.I group
+and does not wait for a reply. It returns True if the request was sent and
+False otherwise.
+
+Reference the keysym group indices with these symbolic constants:
+
+.TS
+c s
+l l
+l l.
+Table 1 Symbolic Group Names
+_
+Symbolic Name Value
+_
+XkbGroup1Index 0
+XkbGroup2Index 1
+XkbGroup3Index 2
+XkbGroup4Index 3
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLockGroup
+function returns True when a request was sent to the server to lock the
+specified
+.I group
+and does not wait for a reply.
+.TP 15
+False
+The
+.I XkbLockGroup
+function returns False if the request was not sent.
+
diff --git a/libX11/man/xkb/XkbLockModifiers.man b/libX11/man/xkb/XkbLockModifiers.man index 2ef9a77dc..d0ee8a0ec 100644 --- a/libX11/man/xkb/XkbLockModifiers.man +++ b/libX11/man/xkb/XkbLockModifiers.man @@ -1,102 +1,102 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLockModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLockModifiers \- Locks and unlocks any of the eight real keyboard modifiers -.SH SYNOPSIS -.HP -.B Bool XkbLockModifiers -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "affect" "\^," -.BI "unsigned int " "values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I affect -mask of real modifiers whose lock state is to change -.TP -.I values -1 => lock, 0 => unlock; only for modifiers selected by affect -.SH DESCRIPTION -.LP -.I XkbLockModifiers -sends a request to the server to lock the real modifiers -selected by both -.I affect -and -.I values -and to unlock the real modifiers selected by -.I affect, -but not selected by -.I values. XkbLockModifiers -does not wait for a reply from the server. It returns True if the request was -sent, and False otherwise. - -The functions in this section that change the use of modifiers use a mask in the -parameter affect. It is a bitwise inclusive OR of the legal modifier masks: - -.TS -c -l -l. -Table 1 Real Modifier Masks -_ -Mask -_ -ShiftMask -LockMask -ControlMask -Mod1Mask -Mod2Mask -Mod3Mask -Mod4Mask -Mod5Mask -.TE -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbLockModifiers -function returns True if a request is sent to the server to lock the real -modifiers -selected by both -.I affect -and -.I values -and to unlock the real modifiers selected by -.I affect, -but not selected by -.I values. -.TP 15 -False -The -.I XkbLockModifiers -function returns False if the request was not sent. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLockModifiers __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLockModifiers \- Locks and unlocks any of the eight real keyboard modifiers
+.SH SYNOPSIS
+.HP
+.B Bool XkbLockModifiers
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "affect" "\^,"
+.BI "unsigned int " "values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I affect
+mask of real modifiers whose lock state is to change
+.TP
+.I values
+1 => lock, 0 => unlock; only for modifiers selected by affect
+.SH DESCRIPTION
+.LP
+.I XkbLockModifiers
+sends a request to the server to lock the real modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlock the real modifiers selected by
+.I affect,
+but not selected by
+.I values. XkbLockModifiers
+does not wait for a reply from the server. It returns True if the request was
+sent, and False otherwise.
+
+The functions in this section that change the use of modifiers use a mask in the
+parameter affect. It is a bitwise inclusive OR of the legal modifier masks:
+
+.TS
+c
+l
+l.
+Table 1 Real Modifier Masks
+_
+Mask
+_
+ShiftMask
+LockMask
+ControlMask
+Mod1Mask
+Mod2Mask
+Mod3Mask
+Mod4Mask
+Mod5Mask
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbLockModifiers
+function returns True if a request is sent to the server to lock the real
+modifiers
+selected by both
+.I affect
+and
+.I values
+and to unlock the real modifiers selected by
+.I affect,
+but not selected by
+.I values.
+.TP 15
+False
+The
+.I XkbLockModifiers
+function returns False if the request was not sent.
diff --git a/libX11/man/xkb/XkbLookupKeyBinding.man b/libX11/man/xkb/XkbLookupKeyBinding.man index 6adfad608..742b34d8b 100644 --- a/libX11/man/xkb/XkbLookupKeyBinding.man +++ b/libX11/man/xkb/XkbLookupKeyBinding.man @@ -1,84 +1,84 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLookupKeyBinding __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLookupKeyBinding \- Find the string bound to a key by XRebindKeySym -.SH SYNOPSIS -.HP -.B int XkbLookupKeyBinding -.BI "(\^Display *" "dpy" "\^," -.BI "KeySym " "sym" "\^," -.BI "unsigned int " "state" "\^," -.BI "char *" "buf" "\^," -.BI "int " "nbytes" "\^," -.BI "int *" "extra_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to server -.TP -.I \- sym -connection to server -.TP -.I \- state -state for which string is to be looked up -.TP -.I \- buf -buffer into which returned string is written -.TP -.I \- nbytes -size of buffer in bytes -.TP -.I \- extra_rtrn -backfilled with number bytes overflow -.SH DESCRIPTION -.LP -.I XkbLookupKeyBinding -is the equivalent of the core -.I XLookupString -function. - -.I XRebindKeysym -binds an ASCII string to a specified keysym, so that the string and keysym are -returned when the key is pressed and a specified list of modifiers are also -being held down. -.I XkbLookupKeyBinding -returns in -.I buf -the string associated with the keysym -.I sym -and modifier state -.I state. buf -is NULL terminated unless there's an overflow. If the string returned is larger -than -.I nbytes, -a count of bytes that does not fit into the buffer is returned in -.I extra_rtrn. -.I XkbTranslateKeySym -returns the number of bytes that it placed into -.I buf. -.SH "SEE ALSO" -.BR XkbTranslateKeySym (__libmansuffix__), -.BR XLookupString (__libmansuffix__), -.BR XRebindKeysym (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLookupKeyBinding __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLookupKeyBinding \- Find the string bound to a key by XRebindKeySym
+.SH SYNOPSIS
+.HP
+.B int XkbLookupKeyBinding
+.BI "(\^Display *" "dpy" "\^,"
+.BI "KeySym " "sym" "\^,"
+.BI "unsigned int " "state" "\^,"
+.BI "char *" "buf" "\^,"
+.BI "int " "nbytes" "\^,"
+.BI "int *" "extra_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to server
+.TP
+.I \- sym
+connection to server
+.TP
+.I \- state
+state for which string is to be looked up
+.TP
+.I \- buf
+buffer into which returned string is written
+.TP
+.I \- nbytes
+size of buffer in bytes
+.TP
+.I \- extra_rtrn
+backfilled with number bytes overflow
+.SH DESCRIPTION
+.LP
+.I XkbLookupKeyBinding
+is the equivalent of the core
+.I XLookupString
+function.
+
+.I XRebindKeysym
+binds an ASCII string to a specified keysym, so that the string and keysym are
+returned when the key is pressed and a specified list of modifiers are also
+being held down.
+.I XkbLookupKeyBinding
+returns in
+.I buf
+the string associated with the keysym
+.I sym
+and modifier state
+.I state. buf
+is NULL terminated unless there's an overflow. If the string returned is larger
+than
+.I nbytes,
+a count of bytes that does not fit into the buffer is returned in
+.I extra_rtrn.
+.I XkbTranslateKeySym
+returns the number of bytes that it placed into
+.I buf.
+.SH "SEE ALSO"
+.BR XkbTranslateKeySym (__libmansuffix__),
+.BR XLookupString (__libmansuffix__),
+.BR XRebindKeysym (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbLookupKeySym.man b/libX11/man/xkb/XkbLookupKeySym.man index 6d0bf4cd5..b44bea7f3 100644 --- a/libX11/man/xkb/XkbLookupKeySym.man +++ b/libX11/man/xkb/XkbLookupKeySym.man @@ -1,71 +1,71 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbLookupKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbLookupKeySym \- Find the symbol associated with a key for a particular state -.SH SYNOPSIS -.HP -.B Bool XkbLookupKeySym -.BI "(\^Display *" "dpy" "\^," -.BI "KeyCode " "key" "\^," -.BI "unsigned int " "state" "\^," -.BI "unsigned int *" "mods_rtrn" "\^," -.BI "KeySym *" "sym_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- key -key for which symbols are to be found -.TP -.I \- state -state for which symbol should be found -.TP -.I \- mods_rtrn -backfilled with unconsumed modifiers -.TP -.I \- sym_rtrn -backfilled with symbol associated with key + state -.SH DESCRIPTION -.LP -.I XkbLookupKeySym -is the equivalent of the core -.I XLookupKeySym -function. For the core keyboard, given a keycode -.I key -and an Xkb state -.I state, XkbLookupKeySym -returns the symbol associated with the key in -.I sym_rtrn -and the list of modifiers that should still be applied in -.I mods_rtrn. -The -.I state -parameter is the state from a KeyPress or KeyRelease event. -.I XkbLookupKeySym -returns True if it succeeds. -.SH "SEE ALSO" -.BR XLookupKeySym (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbLookupKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbLookupKeySym \- Find the symbol associated with a key for a particular state
+.SH SYNOPSIS
+.HP
+.B Bool XkbLookupKeySym
+.BI "(\^Display *" "dpy" "\^,"
+.BI "KeyCode " "key" "\^,"
+.BI "unsigned int " "state" "\^,"
+.BI "unsigned int *" "mods_rtrn" "\^,"
+.BI "KeySym *" "sym_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- key
+key for which symbols are to be found
+.TP
+.I \- state
+state for which symbol should be found
+.TP
+.I \- mods_rtrn
+backfilled with unconsumed modifiers
+.TP
+.I \- sym_rtrn
+backfilled with symbol associated with key + state
+.SH DESCRIPTION
+.LP
+.I XkbLookupKeySym
+is the equivalent of the core
+.I XLookupKeySym
+function. For the core keyboard, given a keycode
+.I key
+and an Xkb state
+.I state, XkbLookupKeySym
+returns the symbol associated with the key in
+.I sym_rtrn
+and the list of modifiers that should still be applied in
+.I mods_rtrn.
+The
+.I state
+parameter is the state from a KeyPress or KeyRelease event.
+.I XkbLookupKeySym
+returns True if it succeeds.
+.SH "SEE ALSO"
+.BR XLookupKeySym (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbModActionVMods.man b/libX11/man/xkb/XkbModActionVMods.man index d8c31bfd3..c3aa6afae 100644 --- a/libX11/man/xkb/XkbModActionVMods.man +++ b/libX11/man/xkb/XkbModActionVMods.man @@ -1,48 +1,48 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbModActionVMods \- Returns the vmods1 and vmods2 fields of act converted to the vmods format of an -Xkb modifier description -.SH SYNOPSIS -.HP -.B unsigned short XkbModActionVMods -.BI "(\^XkbAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract virtual mods -.SH DESCRIPTION -.LP -.I XkbModActionVMods -returns the -.I vmods1 -and -.I vmods2 -fields of -.I act -converted to the -.I vmods -format of an Xkb modifier description. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbModActionVMods \- Returns the vmods1 and vmods2 fields of act converted to the vmods format of an
+Xkb modifier description
+.SH SYNOPSIS
+.HP
+.B unsigned short XkbModActionVMods
+.BI "(\^XkbAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract virtual mods
+.SH DESCRIPTION
+.LP
+.I XkbModActionVMods
+returns the
+.I vmods1
+and
+.I vmods2
+fields of
+.I act
+converted to the
+.I vmods
+format of an Xkb modifier description.
diff --git a/libX11/man/xkb/XkbNoteControlsChanges.man b/libX11/man/xkb/XkbNoteControlsChanges.man index 733f16085..ad891eafa 100644 --- a/libX11/man/xkb/XkbNoteControlsChanges.man +++ b/libX11/man/xkb/XkbNoteControlsChanges.man @@ -1,200 +1,200 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbNoteControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbNoteControlsChanges \- Notes the changes in a changes structure when a client receives an XkbControlsNotify -event -.SH SYNOPSIS -.HP -.B void XkbNoteControlsChanges -.BI "(\^XkbControlsChangesPtr " "changes" "\^," -.BI "XkbControlsNotifyEvent *" "new" "\^," -.BI "unsigned int " "wanted" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- changes -records changes indicated by new -.TP -.I \- new -tells which things have changed -.TP -.I \- wanted -tells which parts of new to record in changes -.SH DESCRIPTION -.LP -Whenever a field in the controls structure changes in the server's keyboard description, the server sends an -XkbControlsNotify event to all interested clients.To receive XkbControlsNotify events under all possible -conditions, use -.I XkbSelectEvents -and pass XkbControlsNotifyMask in both -.I bits_to_change -and -.I values_for_bits. - -To receive XkbControlsNotify events only under certain conditions, use -.I XkbSelectEventDetails -using XkbControlsNotify as the -.I event_type -and specifying the desired state changes in -.I bits_to_change -and -.I values_for_bits -using mask bits from Table 1. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | -XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - -The -.I changed_ctrls -field specifies the controls components that have changed and consists of bits taken from the masks defined in -Table 1 with "ok" in the -.I changed_ctrls -column. - -The controls currently enabled in the server are reported in the -.I enabled_ctrls -field. If any controls were just enabled or disabled (that is, the contents of the -.I enabled_ctrls -field changed), they are flagged in the -.I enabled_ctrl_changes -field. The valid bits for these fields are the masks listed in Table 1 with "ok" in the -.I enabled_ctrls -column. The -.I num_groups -field reports the number of groups bound to the key belonging to the most number of groups and is automatically -updated -when the keyboard mapping changes. - -If the change was caused by a request from a client, the -.I keycode -and -.I event_type -fields are set to zero and the -.I req_major -and -.I req_minor -fields identify the request. The -.I req_major value is the same as the major extension opcode. Otherwise, -.I event_type -is set to the type of event that caused the change (one of KeyPress, KeyRelease, DeviceKeyPress, -DeviceKeyRelease, -ButtonPress or ButtonRelease), and -.I req_major -and -.I req_minor -are undefined. If -.I event_type -is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the -.I keycode -field is set to the key that caused the change. If -.I event_type -is ButtonPress or ButtonRelease, -.I keycode -contains the button number. - -When a client receives an XkbControlsNotify event, it can note the changes in a changes structure using -.I XkbNoteControlsChanges. - -The -.I wanted -parameter is a bitwise inclusive OR of bits taken from the set of masks specified in Table 1 with "ok" in the -.I changed_ctrls -column. -.I XkbNoteControlsChanges -copies any changes reported in -.I new -and specified in -.I wanted -into the changes record specified by -.I old. -.SH STRUCTURES -.LP -.nf -The structure for the XkbControlsNotify event is defined as follows: - -typedef struct { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbCompatMapNotify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/ - unsigned int enabled_ctrls; /\(** controls currently enabled in server */ - unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */ - int num_groups; /\(** current number of keyboard groups */ - KeyCode keycode; /\(** != 0 => keycode of key causing change */ - char event_type; /\(** Type of event causing change */ - char req_major; /\(** major event code of event causing change */ - char req_minor; /\(** minor event code of event causing change */ -} XkbControlsNotifyEvent; -.fi -.SH "SEE ALSO" -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbNoteControlsChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteControlsChanges \- Notes the changes in a changes structure when a client receives an XkbControlsNotify
+event
+.SH SYNOPSIS
+.HP
+.B void XkbNoteControlsChanges
+.BI "(\^XkbControlsChangesPtr " "changes" "\^,"
+.BI "XkbControlsNotifyEvent *" "new" "\^,"
+.BI "unsigned int " "wanted" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- changes
+records changes indicated by new
+.TP
+.I \- new
+tells which things have changed
+.TP
+.I \- wanted
+tells which parts of new to record in changes
+.SH DESCRIPTION
+.LP
+Whenever a field in the controls structure changes in the server's keyboard description, the server sends an
+XkbControlsNotify event to all interested clients.To receive XkbControlsNotify events under all possible
+conditions, use
+.I XkbSelectEvents
+and pass XkbControlsNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbControlsNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbControlsNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 1.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+The
+.I changed_ctrls
+field specifies the controls components that have changed and consists of bits taken from the masks defined in
+Table 1 with "ok" in the
+.I changed_ctrls
+column.
+
+The controls currently enabled in the server are reported in the
+.I enabled_ctrls
+field. If any controls were just enabled or disabled (that is, the contents of the
+.I enabled_ctrls
+field changed), they are flagged in the
+.I enabled_ctrl_changes
+field. The valid bits for these fields are the masks listed in Table 1 with "ok" in the
+.I enabled_ctrls
+column. The
+.I num_groups
+field reports the number of groups bound to the key belonging to the most number of groups and is automatically
+updated
+when the keyboard mapping changes.
+
+If the change was caused by a request from a client, the
+.I keycode
+and
+.I event_type
+fields are set to zero and the
+.I req_major
+and
+.I req_minor
+fields identify the request. The
+.I req_major value is the same as the major extension opcode. Otherwise,
+.I event_type
+is set to the type of event that caused the change (one of KeyPress, KeyRelease, DeviceKeyPress,
+DeviceKeyRelease,
+ButtonPress or ButtonRelease), and
+.I req_major
+and
+.I req_minor
+are undefined. If
+.I event_type
+is KeyPress, KeyRelease, DeviceKeyPress, or DeviceKeyRelease, the
+.I keycode
+field is set to the key that caused the change. If
+.I event_type
+is ButtonPress or ButtonRelease,
+.I keycode
+contains the button number.
+
+When a client receives an XkbControlsNotify event, it can note the changes in a changes structure using
+.I XkbNoteControlsChanges.
+
+The
+.I wanted
+parameter is a bitwise inclusive OR of bits taken from the set of masks specified in Table 1 with "ok" in the
+.I changed_ctrls
+column.
+.I XkbNoteControlsChanges
+copies any changes reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+.SH STRUCTURES
+.LP
+.nf
+The structure for the XkbControlsNotify event is defined as follows:
+
+typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+} XkbControlsNotifyEvent;
+.fi
+.SH "SEE ALSO"
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteDeviceChanges.man b/libX11/man/xkb/XkbNoteDeviceChanges.man index 5d65035bd..1976fa686 100644 --- a/libX11/man/xkb/XkbNoteDeviceChanges.man +++ b/libX11/man/xkb/XkbNoteDeviceChanges.man @@ -1,135 +1,135 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbNoteDeviceChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbNoteDeviceChanges \- Note device changes reported in an XkbExtensionDeviceNotify event -.SH SYNOPSIS -.HP -.B void XkbNoteDeviceChanges -.BI "(\^XkbDeviceChangesPtr " "old" "\^," -.BI "XkbExtensionDeviceNotifyEvent *" "new" "\^," -.BI "unsigned int " "wanted" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- old -structure tracking state changes -.TP -.I \- new -event indicating state changes -.TP -.I \- wanted -mask indicating changes to note -.SH DESCRIPTION -.LP -The -.I wanted -field specifies the changes that should be noted in -.I old, -and is composed of the bitwise inclusive OR of one or more of the masks from Table 1. The -.I reason -field of the event in -.I new -indicates the types of changes the event is reporting. -.I XkbNoteDeviceChanges -updates the XkbDeviceChangesRec specified by -.I old -with the changes that are both specified in -.I wanted -and contained in -.I new->reason. - -.nf - 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 -.fi - -To update a local copy of the state and configuration of an X input extension device with the changes -previously noted in an XkbDeviceChangesRec structure, use -.I XkbGetDeviceInfoChanges. -.SH STRUCTURES -.LP -Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events and -accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the structure may -then be used in subsequent operations to update either a server configuration or a local copy of an -Xkb extension device configuration. The changes structure is defined as follows: -.nf - -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; - -.fi -.SH "SEE ALSO" -.BR XkbGetDeviceInfoChanges (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbNoteDeviceChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteDeviceChanges \- Note device changes reported in an XkbExtensionDeviceNotify event
+.SH SYNOPSIS
+.HP
+.B void XkbNoteDeviceChanges
+.BI "(\^XkbDeviceChangesPtr " "old" "\^,"
+.BI "XkbExtensionDeviceNotifyEvent *" "new" "\^,"
+.BI "unsigned int " "wanted" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+structure tracking state changes
+.TP
+.I \- new
+event indicating state changes
+.TP
+.I \- wanted
+mask indicating changes to note
+.SH DESCRIPTION
+.LP
+The
+.I wanted
+field specifies the changes that should be noted in
+.I old,
+and is composed of the bitwise inclusive OR of one or more of the masks from Table 1. The
+.I reason
+field of the event in
+.I new
+indicates the types of changes the event is reporting.
+.I XkbNoteDeviceChanges
+updates the XkbDeviceChangesRec specified by
+.I old
+with the changes that are both specified in
+.I wanted
+and contained in
+.I new->reason.
+
+.nf
+ 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
+.fi
+
+To update a local copy of the state and configuration of an X input extension device with the changes
+previously noted in an XkbDeviceChangesRec structure, use
+.I XkbGetDeviceInfoChanges.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events and
+accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the structure may
+then be used in subsequent operations to update either a server configuration or a local copy of an
+Xkb extension device configuration. The changes structure is defined as follows:
+.nf
+
+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;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbGetDeviceInfoChanges (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteIndicatorChanges.man b/libX11/man/xkb/XkbNoteIndicatorChanges.man index 0c0a6a947..0614b1660 100644 --- a/libX11/man/xkb/XkbNoteIndicatorChanges.man +++ b/libX11/man/xkb/XkbNoteIndicatorChanges.man @@ -1,123 +1,123 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbNoteIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbNoteIndicatorChanges \- Notes the changes in a changes structure -.SH SYNOPSIS -.HP -.B void XkbNoteIndicatorChanges -.BI "(\^XkbIndicatorChangesPtr " "old" "\^," -.BI "XkbIndicatorNotifyEvent *" "new" "\^," -.BI "unsigned int " "wanted" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- old -XkbIndicatorChanges structure to be updated -.TP -.I \- new -event from which changes are to be copied -.TP -.I \- wanted -which changes are to be noted -.SH DESCRIPTION -.LP -Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all -interested clients. Similarly, whenever an indicator's map changes, the server sends -XkbIndicatorMapNotify events to all interested clients. - -To receive XkbIndicatorStateNotify events, use -.I XkbSelectEvents -with both the -.I bits_to_change -and -.I values_for_bits -parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events, -use -.I XkbSelectEvents -with XkbIndicatorMapNotifyMask. - -To receive events for only specific indicators, use -.I XkbSelectEventDetails. -Set the -.I event_type -parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the -.I bits_to_change -and -.I values_for_bits -detail parameters to a mask where each bit specifies one indicator, turning on those bits that -specify the indicators for which you want to receive events. - -The -.I changed -parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If -the event is of type XkbIndicatorMapNotify, -.I changed -reports the maps that changed. If the event is of type XkbIndicatorStateNotify, -.I changed -reports the indicators that have changed state. -.I state -is a mask that specifies the current state of all indicators, whether they have changed or -not, for both XkbIndicatorStateNotify and IndicatorMapNotify events. - -When your client application receives either a XkbIndicatorStateNotify event or -XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling -.I XkbNoteIndicatorChanges. - - -The -.I wanted -parameter is the bitwise inclusive OR of XkbIndicatorMapMask and -XkbIndicatorStateMask. -.I XkbNoteIndicatorChanges -copies any changes reported in -.I new -and specified in -.I wanted -into the changes record specified by -.I old. -.SH STRUCTURES -Both types of indicator events use the same structure: -.nf - -typedef struct _XkbIndicatorNotify { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** specifies state or map notify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed; /\(** mask of indicators with new state or map */ - unsigned int state; /\(** current state of all indicators */ -} XkbIndicatorNotifyEvent; - -.fi -.I xkb_type -is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is -a kbIndicatorStateNotify event or kbIndicatorMapNotify event. -.SH "SEE ALSO" -.BR XkbIndicatorMapMask (__libmansuffix__), -.BR XkbIndicatorStateMask (__libmansuffix__), -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbSelectEvents (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbNoteIndicatorChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteIndicatorChanges \- Notes the changes in a changes structure
+.SH SYNOPSIS
+.HP
+.B void XkbNoteIndicatorChanges
+.BI "(\^XkbIndicatorChangesPtr " "old" "\^,"
+.BI "XkbIndicatorNotifyEvent *" "new" "\^,"
+.BI "unsigned int " "wanted" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+XkbIndicatorChanges structure to be updated
+.TP
+.I \- new
+event from which changes are to be copied
+.TP
+.I \- wanted
+which changes are to be noted
+.SH DESCRIPTION
+.LP
+Whenever an indicator changes state, the server sends XkbIndicatorStateNotify events to all
+interested clients. Similarly, whenever an indicator's map changes, the server sends
+XkbIndicatorMapNotify events to all interested clients.
+
+To receive XkbIndicatorStateNotify events, use
+.I XkbSelectEvents
+with both the
+.I bits_to_change
+and
+.I values_for_bits
+parameters containing XkbIndicatorStateNotifyMask. To receive XkbIndicatorMapNotify events,
+use
+.I XkbSelectEvents
+with XkbIndicatorMapNotifyMask.
+
+To receive events for only specific indicators, use
+.I XkbSelectEventDetails.
+Set the
+.I event_type
+parameter to XkbIndicatorStateNotify or XkbIndicatorMapNotify, and set both the
+.I bits_to_change
+and
+.I values_for_bits
+detail parameters to a mask where each bit specifies one indicator, turning on those bits that
+specify the indicators for which you want to receive events.
+
+The
+.I changed
+parameter is a mask that is the bitwise inclusive OR of the indicators that have changed. If
+the event is of type XkbIndicatorMapNotify,
+.I changed
+reports the maps that changed. If the event is of type XkbIndicatorStateNotify,
+.I changed
+reports the indicators that have changed state.
+.I state
+is a mask that specifies the current state of all indicators, whether they have changed or
+not, for both XkbIndicatorStateNotify and IndicatorMapNotify events.
+
+When your client application receives either a XkbIndicatorStateNotify event or
+XkbIndicatorMapNotify event, you can note the changes in a changes structure by calling
+.I XkbNoteIndicatorChanges.
+
+
+The
+.I wanted
+parameter is the bitwise inclusive OR of XkbIndicatorMapMask and
+XkbIndicatorStateMask.
+.I XkbNoteIndicatorChanges
+copies any changes reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+.SH STRUCTURES
+Both types of indicator events use the same structure:
+.nf
+
+typedef struct _XkbIndicatorNotify {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** specifies state or map notify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed; /\(** mask of indicators with new state or map */
+ unsigned int state; /\(** current state of all indicators */
+} XkbIndicatorNotifyEvent;
+
+.fi
+.I xkb_type
+is either XkbIndicatorStateNotify or XkbIndicatorMapNotify, depending on whether the event is
+a kbIndicatorStateNotify event or kbIndicatorMapNotify event.
+.SH "SEE ALSO"
+.BR XkbIndicatorMapMask (__libmansuffix__),
+.BR XkbIndicatorStateMask (__libmansuffix__),
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbSelectEvents (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbNoteNameChanges.man b/libX11/man/xkb/XkbNoteNameChanges.man index 8727e269e..354b29e82 100644 --- a/libX11/man/xkb/XkbNoteNameChanges.man +++ b/libX11/man/xkb/XkbNoteNameChanges.man @@ -1,92 +1,92 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbNoteNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbNoteNameChanges \- Note the changed names in a changes structure -.SH SYNOPSIS -.HP -.B void XkbNoteNameChanges -.BI "(\^XkbNameChangesPtr " "old" "\^," -.BI "XkbNamesNotifyEvent *" "new" "\^," -.BI "unsigned int " "wanted" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- old -XkbNameChanges structure to be updated -.TP -.I \- new -event from which changes are to be copied -.TP -.I \- wanted -types of names for which changes are to be noted -.SH DESCRIPTION -.LP -When your application receives a XkbNamesNotify event, you can note the changed -names in a changes structure using -.I XkbNoteNameChanges. - -The -.I wanted -parameter is the bitwise inclusive OR of the valid names mask bits shown in -Table 1. -.I XkbNoteNameChanges -copies any changes that are reported in -.I new -and specified in -.I wanted -into the changes record specified by -.I old. - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbNoteNameChanges __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbNoteNameChanges \- Note the changed names in a changes structure
+.SH SYNOPSIS
+.HP
+.B void XkbNoteNameChanges
+.BI "(\^XkbNameChangesPtr " "old" "\^,"
+.BI "XkbNamesNotifyEvent *" "new" "\^,"
+.BI "unsigned int " "wanted" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- old
+XkbNameChanges structure to be updated
+.TP
+.I \- new
+event from which changes are to be copied
+.TP
+.I \- wanted
+types of names for which changes are to be noted
+.SH DESCRIPTION
+.LP
+When your application receives a XkbNamesNotify event, you can note the changed
+names in a changes structure using
+.I XkbNoteNameChanges.
+
+The
+.I wanted
+parameter is the bitwise inclusive OR of the valid names mask bits shown in
+Table 1.
+.I XkbNoteNameChanges
+copies any changes that are reported in
+.I new
+and specified in
+.I wanted
+into the changes record specified by
+.I old.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
diff --git a/libX11/man/xkb/XkbOpenDisplay.man b/libX11/man/xkb/XkbOpenDisplay.man index f55d04bd2..2e8d74f31 100644 --- a/libX11/man/xkb/XkbOpenDisplay.man +++ b/libX11/man/xkb/XkbOpenDisplay.man @@ -1,150 +1,150 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbOpenDisplay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbOpenDisplay \- Checks for a compatible version of the Xkb extension in both -the library and the server, and initializes the extension for use. -.SH SYNOPSIS -.HP -.B Display XkbOpenDisplay -.BI "(\^char *" "display_name" "\^," -.BI "int *" "event_rtrn" "\^," -.BI "int *" "error_rtrn" "\^," -.BI "int *" "major_in_out" "\^," -.BI "int *" "minor_in_out" "\^," -.BI "int *" "reason_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display_name -hardware display name, which determines the display and communications domain to -be used -.TP -.I event_rtrn -backfilled with the extension base event code -.TP -.I error_rtrn -backfilled with the extension base error code -.TP -.I major_in_out -compile time lib major version in, server major version out -.TP -.I minor_in_out -compile time lib min version in, server minor version out -.TP -.I reason_rtrn -backfilled with a status code -.SH DESCRIPTION -.LP -As a convenience, you can use the function -.I XkbOpenDisplay -to perform these three -tasks at once: open a connection to an X server, check for a compatible version -of the Xkb extension in both the library and the server, and initialize the -extension for use. - -.I XkbOpenDisplay -is a convenience function that opens an X display connection and -initializes the X keyboard extension. In all cases, upon return -.I reason_rtrn -contains a status value indicating success or the type of failure. If -.I major_in_out -and -.I minor_in_out -are not NULL, -.I XkbOpenDisplay -first calls -.I XkbLibraryVersion -to determine whether the client library is compatible, passing -it the values pointed to by -.I major_in_out and -.I minor_in_out. If the library is -incompatible, -.I XkbOpenDisplay backfills -.I major_in_out -and -.I minor_in_out -with the -major and minor extension versions of the library being used and returns NULL. -If the library is compatible, -.I XkbOpenDisplay -next calls -.I XOpenDisplay -with the -.I display_name. -If this fails, the function returns NULL. If successful, -.I XkbOpenDisplay -calls -.I XkbQueryExtension -and backfills the major and minor Xkb -server extension version numbers in -.I major_in_out and -.I minor_in_out. If the server -extension version is not compatible with the library extension version or if the -server extension is not present, -.I XkbOpenDisplay -closes the display and returns -NULL. When successful, the function returns the display connection. - -The possible values for reason_rtrn are: - -.IP \(bu 5 -XkbOD_BadLibraryVersion indicates XkbLibraryVersion returned False. -.IP \(bu 5 -XkbOD_ConnectionRefused indicates the display could not be opened. -.IP \(bu 5 -XkbOD_BadServerVersion indicates the library and the server have incompatible -extension versions. -.IP \(bu 5 -XkbOD_NonXkbServer indicates the extension is not present in the X server. -.IP \(bu 5 -XkbOD_Success indicates that the function succeeded. -.SH "RETURN VALUES" -.TP 15 -NULL -The -.I XkbOpenDisplay -function returns NULL if the library is incompatible. -.sp -.in 20 -The -.I XkbOpenDisplay -function returns NULL if the call to -.I XOpenDisplay -with the -.I display_name -fails. -.sp -.in 20 -The -.I XkbOpenDisplay -function returns NULL and closes the display if the server extension version is not -compatible with the library extension version or if the server extension is not present. -.SH DIAGNOSTICS -.TP 15 -.SM BadAccess -The Xkb extension has not been properly initialized -.SH "SEE ALSO" -.BR XkbLibraryVersion (__libmansuffix__), -.BR XkbQueryExtension (__libmansuffix__), -.BR XOpenDisplay (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbOpenDisplay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOpenDisplay \- Checks for a compatible version of the Xkb extension in both
+the library and the server, and initializes the extension for use.
+.SH SYNOPSIS
+.HP
+.B Display XkbOpenDisplay
+.BI "(\^char *" "display_name" "\^,"
+.BI "int *" "event_rtrn" "\^,"
+.BI "int *" "error_rtrn" "\^,"
+.BI "int *" "major_in_out" "\^,"
+.BI "int *" "minor_in_out" "\^,"
+.BI "int *" "reason_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display_name
+hardware display name, which determines the display and communications domain to
+be used
+.TP
+.I event_rtrn
+backfilled with the extension base event code
+.TP
+.I error_rtrn
+backfilled with the extension base error code
+.TP
+.I major_in_out
+compile time lib major version in, server major version out
+.TP
+.I minor_in_out
+compile time lib min version in, server minor version out
+.TP
+.I reason_rtrn
+backfilled with a status code
+.SH DESCRIPTION
+.LP
+As a convenience, you can use the function
+.I XkbOpenDisplay
+to perform these three
+tasks at once: open a connection to an X server, check for a compatible version
+of the Xkb extension in both the library and the server, and initialize the
+extension for use.
+
+.I XkbOpenDisplay
+is a convenience function that opens an X display connection and
+initializes the X keyboard extension. In all cases, upon return
+.I reason_rtrn
+contains a status value indicating success or the type of failure. If
+.I major_in_out
+and
+.I minor_in_out
+are not NULL,
+.I XkbOpenDisplay
+first calls
+.I XkbLibraryVersion
+to determine whether the client library is compatible, passing
+it the values pointed to by
+.I major_in_out and
+.I minor_in_out. If the library is
+incompatible,
+.I XkbOpenDisplay backfills
+.I major_in_out
+and
+.I minor_in_out
+with the
+major and minor extension versions of the library being used and returns NULL.
+If the library is compatible,
+.I XkbOpenDisplay
+next calls
+.I XOpenDisplay
+with the
+.I display_name.
+If this fails, the function returns NULL. If successful,
+.I XkbOpenDisplay
+calls
+.I XkbQueryExtension
+and backfills the major and minor Xkb
+server extension version numbers in
+.I major_in_out and
+.I minor_in_out. If the server
+extension version is not compatible with the library extension version or if the
+server extension is not present,
+.I XkbOpenDisplay
+closes the display and returns
+NULL. When successful, the function returns the display connection.
+
+The possible values for reason_rtrn are:
+
+.IP \(bu 5
+XkbOD_BadLibraryVersion indicates XkbLibraryVersion returned False.
+.IP \(bu 5
+XkbOD_ConnectionRefused indicates the display could not be opened.
+.IP \(bu 5
+XkbOD_BadServerVersion indicates the library and the server have incompatible
+extension versions.
+.IP \(bu 5
+XkbOD_NonXkbServer indicates the extension is not present in the X server.
+.IP \(bu 5
+XkbOD_Success indicates that the function succeeded.
+.SH "RETURN VALUES"
+.TP 15
+NULL
+The
+.I XkbOpenDisplay
+function returns NULL if the library is incompatible.
+.sp
+.in 20
+The
+.I XkbOpenDisplay
+function returns NULL if the call to
+.I XOpenDisplay
+with the
+.I display_name
+fails.
+.sp
+.in 20
+The
+.I XkbOpenDisplay
+function returns NULL and closes the display if the server extension version is not
+compatible with the library extension version or if the server extension is not present.
+.SH DIAGNOSTICS
+.TP 15
+.SM BadAccess
+The Xkb extension has not been properly initialized
+.SH "SEE ALSO"
+.BR XkbLibraryVersion (__libmansuffix__),
+.BR XkbQueryExtension (__libmansuffix__),
+.BR XOpenDisplay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbOutOfRangeGroupInfo.man b/libX11/man/xkb/XkbOutOfRangeGroupInfo.man index 68a171a0b..b6ee75c7d 100644 --- a/libX11/man/xkb/XkbOutOfRangeGroupInfo.man +++ b/libX11/man/xkb/XkbOutOfRangeGroupInfo.man @@ -1,186 +1,186 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbOutOfRangeGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbOutOfRangeGroupInfo \- Returns only the out-of-range processing information -from the group_info field of an XkbSymMapRec structure -.SH SYNOPSIS -.HP -.B unsigned char XkbOutOfRangeGroupInfo -.BI "(\^unsigned char " "grp_inf" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- grp_inf -Xkb description of interest -.SH DESCRIPTION -.LP -.I XkbOutOfRangeGroupInfo -returns only the out-of-range processing information from the -.I group_info -field of an XkbSymMapRec structure. - -The -.I group_info -field of an XkbSymMapRec is an encoded value containing the number of groups of -symbols bound to the -key as well as the specification of the treatment of out-of-range groups. It is -legal for a key to -have zero groups, in which case it also has zero symbols and all events from -that key yield NoSymbol. -To obtain the number of groups of symbols bound to the key, use -.I XkbKeyNumGroups. -To change the number of groups bound to a key, use -.I XkbChangeTypesOfKey. -To obtain a mask that determines the treatment of out-of-range groups, use -.I XkbKeyGroupInfo -and -.I XkbOutOfRangeGroupInfo. - -The keyboard controls contain a -.I groups_wrap -field specifying the handling of illegal groups on a global basis. That is, when -the user performs an -action causing the effective group to go out of the legal range, the -.I groups_wrap -field specifies how to normalize the effective keyboard group to a group that is -legal for the -keyboard as a whole, but there is no guarantee that the normalized group will be -within the range of -legal groups for any individual key. The per-key -.I group_info -field specifies how a key treats a legal effective group if the key does not -have a type specified for -the group of concern. For example, the Enter key usually has just one group -defined. If the user -performs an action causing the global keyboard group to change to Group2, the -.I group_info -field for the Enter key describes how to handle this situation. - -Out-of-range groups for individual keys are mapped to a legal group using the -same options as are used -for the overall keyboard group. The particular type of mapping used is -controlled by the bits set in -the -.I group_info -flag, as shown in Table 1. -.bp -.TS -c s -l l -l l. -Table 1 group_info Range Normalization -_ -Bits set in group_info Normalization method -_ -XkbRedirectIntoRange XkbRedirectIntoRange -XkbClampIntoRange XkbClampIntoRange -none of the above XkbWrapIntoRange -.TE -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode */ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ - unsigned char group_info; /\(** # of groups and out of range group handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array */ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbKeyGroupInfo (__libmansuffix__), -.BR XkbOutOfRangeGroupInfo. (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbOutOfRangeGroupInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOutOfRangeGroupInfo \- Returns only the out-of-range processing information
+from the group_info field of an XkbSymMapRec structure
+.SH SYNOPSIS
+.HP
+.B unsigned char XkbOutOfRangeGroupInfo
+.BI "(\^unsigned char " "grp_inf" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- grp_inf
+Xkb description of interest
+.SH DESCRIPTION
+.LP
+.I XkbOutOfRangeGroupInfo
+returns only the out-of-range processing information from the
+.I group_info
+field of an XkbSymMapRec structure.
+
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+.bp
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo. (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbOutOfRangeGroupNumber.man b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man index c1be4ebec..2767826df 100644 --- a/libX11/man/xkb/XkbOutOfRangeGroupNumber.man +++ b/libX11/man/xkb/XkbOutOfRangeGroupNumber.man @@ -1,187 +1,187 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbOutOfRangeGroupNumber __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbOutOfRangeGroupNumber \- Returns the out-of-range group number, represented -as a group index, from the group_info field of an XkbSymMapRec structure -.SH SYNOPSIS -.HP -.B unsigned char XkbOutOfRangeGroupNumber -.BI "(\^unsigned char " "grp_inf" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- grp_inf -Xkb description of interest -.SH DESCRIPTION -.LP -.I XkbOutOfRangeGroupNumber -returns the out-of-range group number, represented as a group index, from the -.I group_info -field of an XkbSymMapRec structure. - -The -.I group_info -field of an XkbSymMapRec is an encoded value containing the number of groups of -symbols bound to the -key as well as the specification of the treatment of out-of-range groups. It is -legal for a key to -have zero groups, in which case it also has zero symbols and all events from -that key yield NoSymbol. -To obtain the number of groups of symbols bound to the key, use -.I XkbKeyNumGroups. -To change the number of groups bound to a key, use -.I XkbChangeTypesOfKey. -To obtain a mask that determines the treatment of out-of-range groups, use -.I XkbKeyGroupInfo -and -.I XkbOutOfRangeGroupInfo. - -The keyboard controls contain a -.I groups_wrap -field specifying the handling of illegal groups on a global basis. That is, when -the user performs an -action causing the effective group to go out of the legal range, the -.I groups_wrap -field specifies how to normalize the effective keyboard group to a group that is -legal for the -keyboard as a whole, but there is no guarantee that the normalized group will be -within the range of -legal groups for any individual key. The per-key -.I group_info -field specifies how a key treats a legal effective group if the key does not -have a type specified for -the group of concern. For example, the Enter key usually has just one group -defined. If the user -performs an action causing the global keyboard group to change to Group2, the -.I group_info -field for the Enter key describes how to handle this situation. - -Out-of-range groups for individual keys are mapped to a legal group using the -same options as are used -for the overall keyboard group. The particular type of mapping used is -controlled by the bits set in -the -.I group_info -flag, as shown in Table 1. - - -.TS -c s -l l -l l. -Table 1 group_info Range Normalization -_ -Bits set in group_info Normalization method -_ -XkbRedirectIntoRange XkbRedirectIntoRange -XkbClampIntoRange XkbClampIntoRange -none of the above XkbWrapIntoRange -.TE -.SH STRUCTURES -.LP -The KeySymMapRec structure is defined as follows: -.nf - - #define XkbNumKbdGroups 4 - #define XkbMaxKbdGroup (XkbNumKbdGroups-1) - - typedef struct { /\(** map to keysyms for a single keycode */ - unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */ - unsigned char group_info; /\(** # of groups and out of range group handling */ - unsigned char width; /\(** max # of shift levels for key */ - unsigned short offset; /\(** index to keysym table in syms array */ -} XkbSymMapRec, *XkbSymMapPtr; - -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi - -.nf -The XkbControlsRec structure is defined as follows: - - #define XkbMaxLegalKeyCode 255 - #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8) - - - typedef struct { - unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */ - unsigned char num_groups; /\(** number of keyboard groups */ - unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */ - XkbModsRec internal; /\(** defines server internal modifiers */ - XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */ - unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */ - unsigned short repeat_delay; /\(** ms delay until first repeat */ - unsigned short repeat_interval; /\(** ms delay between repeats */ - unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */ - unsigned short debounce_delay; /\(** ms delay before key reactivated */ - unsigned short mk_delay; /\(** ms delay to second mouse motion event */ - unsigned short mk_interval; /\(** ms delay between repeat mouse events */ - unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */ - unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */ - short mk_curve; /\(** determines mouse move curve type */ - unsigned short ax_options; /\(** 1 bit => Access X option enabled */ - unsigned short ax_timeout; /\(** seconds until Access X disabled */ - unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */ - unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */ - unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */ - unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */ - unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */ - } XkbControlsRec, *XkbControlsPtr; -.fi -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbKeyGroupInfo (__libmansuffix__), -.BR XkbOutOfRangeGroupInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbOutOfRangeGroupNumber __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbOutOfRangeGroupNumber \- Returns the out-of-range group number, represented
+as a group index, from the group_info field of an XkbSymMapRec structure
+.SH SYNOPSIS
+.HP
+.B unsigned char XkbOutOfRangeGroupNumber
+.BI "(\^unsigned char " "grp_inf" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- grp_inf
+Xkb description of interest
+.SH DESCRIPTION
+.LP
+.I XkbOutOfRangeGroupNumber
+returns the out-of-range group number, represented as a group index, from the
+.I group_info
+field of an XkbSymMapRec structure.
+
+The
+.I group_info
+field of an XkbSymMapRec is an encoded value containing the number of groups of
+symbols bound to the
+key as well as the specification of the treatment of out-of-range groups. It is
+legal for a key to
+have zero groups, in which case it also has zero symbols and all events from
+that key yield NoSymbol.
+To obtain the number of groups of symbols bound to the key, use
+.I XkbKeyNumGroups.
+To change the number of groups bound to a key, use
+.I XkbChangeTypesOfKey.
+To obtain a mask that determines the treatment of out-of-range groups, use
+.I XkbKeyGroupInfo
+and
+.I XkbOutOfRangeGroupInfo.
+
+The keyboard controls contain a
+.I groups_wrap
+field specifying the handling of illegal groups on a global basis. That is, when
+the user performs an
+action causing the effective group to go out of the legal range, the
+.I groups_wrap
+field specifies how to normalize the effective keyboard group to a group that is
+legal for the
+keyboard as a whole, but there is no guarantee that the normalized group will be
+within the range of
+legal groups for any individual key. The per-key
+.I group_info
+field specifies how a key treats a legal effective group if the key does not
+have a type specified for
+the group of concern. For example, the Enter key usually has just one group
+defined. If the user
+performs an action causing the global keyboard group to change to Group2, the
+.I group_info
+field for the Enter key describes how to handle this situation.
+
+Out-of-range groups for individual keys are mapped to a legal group using the
+same options as are used
+for the overall keyboard group. The particular type of mapping used is
+controlled by the bits set in
+the
+.I group_info
+flag, as shown in Table 1.
+
+
+.TS
+c s
+l l
+l l.
+Table 1 group_info Range Normalization
+_
+Bits set in group_info Normalization method
+_
+XkbRedirectIntoRange XkbRedirectIntoRange
+XkbClampIntoRange XkbClampIntoRange
+none of the above XkbWrapIntoRange
+.TE
+.SH STRUCTURES
+.LP
+The KeySymMapRec structure is defined as follows:
+.nf
+
+ #define XkbNumKbdGroups 4
+ #define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+ typedef struct { /\(** map to keysyms for a single keycode */
+ unsigned char kt_index[XkbNumKbdGroups]; /\(** key type index for each group */
+ unsigned char group_info; /\(** # of groups and out of range group handling */
+ unsigned char width; /\(** max # of shift levels for key */
+ unsigned short offset; /\(** index to keysym table in syms array */
+} XkbSymMapRec, *XkbSymMapPtr;
+
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+
+.nf
+The XkbControlsRec structure is defined as follows:
+
+ #define XkbMaxLegalKeyCode 255
+ #define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+
+
+ typedef struct {
+ unsigned char mk_dflt_btn; /\(** default button for keyboard driven mouse */
+ unsigned char num_groups; /\(** number of keyboard groups */
+ unsigned char groups_wrap; /\(** how to wrap out-of-bounds groups */
+ XkbModsRec internal; /\(** defines server internal modifiers */
+ XkbModsRec ignore_lock; /\(** modifiers to ignore when checking for grab */
+ unsigned int enabled_ctrls; /\(** 1 bit => corresponding boolean control enabled */
+ unsigned short repeat_delay; /\(** ms delay until first repeat */
+ unsigned short repeat_interval; /\(** ms delay between repeats */
+ unsigned short slow_keys_delay; /\(** ms minimum time key must be down to be ok */
+ unsigned short debounce_delay; /\(** ms delay before key reactivated */
+ unsigned short mk_delay; /\(** ms delay to second mouse motion event */
+ unsigned short mk_interval; /\(** ms delay between repeat mouse events */
+ unsigned short mk_time_to_max; /\(** # intervals until constant mouse move */
+ unsigned short mk_max_speed; /\(** multiplier for maximum mouse speed */
+ short mk_curve; /\(** determines mouse move curve type */
+ unsigned short ax_options; /\(** 1 bit => Access X option enabled */
+ unsigned short ax_timeout; /\(** seconds until Access X disabled */
+ unsigned short axt_opts_mask; /\(** 1 bit => options to reset on Access X timeout */
+ unsigned short axt_opts_values; /\(** 1 bit => turn option on, 0=> off */
+ unsigned int axt_ctrls_mask; /\(** which bits in enabled_ctrls to modify */
+ unsigned int axt_ctrls_values; /\(** values for new bits in enabled_ctrls */
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize]; /\(** per key auto repeat */
+ } XkbControlsRec, *XkbControlsPtr;
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbKeyGroupInfo (__libmansuffix__),
+.BR XkbOutOfRangeGroupInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbPtrActionX.man b/libX11/man/xkb/XkbPtrActionX.man index acd5dca93..fcb353001 100644 --- a/libX11/man/xkb/XkbPtrActionX.man +++ b/libX11/man/xkb/XkbPtrActionX.man @@ -1,104 +1,104 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbPtrActionX \- Returns the high_XXX and low_XXX fields of act converted to a -signed int -.SH SYNOPSIS -.HP -.B int XkbPtrActionX -.BI "(\^XkbPtrAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract X -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrAction structure move the pointer when keys -are pressed and released. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. - -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. - -The -.I type -field of the XkbPtrAction structure is always XkbSA_MovePtr. - -The -.I flags -field is a bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Action Types -_ -Action Type Meaning -_ -XkbSA_NoAcceleration T{ -If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a -mouse keys timer for this key; every time the timer expires, the cursor moves. -T} -XkbSA_MoveAbsoluteX T{ -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. -T} -XkbSA_MoveAbsoluteY T{ -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. -T} -.TE - -Each of the X and Y coordinantes of the XkbPtrAction structure is composed of -two signed 16-bit values, that is, the X coordinate is composed of -.I high_XXX -and -.I 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. -.SH STRUCTURES -.LP -.nf - - 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; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbPtrActionX \- Returns the high_XXX and low_XXX fields of act converted to a
+signed int
+.SH SYNOPSIS
+.HP
+.B int XkbPtrActionX
+.BI "(\^XkbPtrAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract X
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+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.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+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.
+T}
+XkbSA_MoveAbsoluteY T{
+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.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I 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.
+.SH STRUCTURES
+.LP
+.nf
+
+ 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;
+
+.fi
diff --git a/libX11/man/xkb/XkbPtrActionY.man b/libX11/man/xkb/XkbPtrActionY.man index 982f8418c..844277d88 100644 --- a/libX11/man/xkb/XkbPtrActionY.man +++ b/libX11/man/xkb/XkbPtrActionY.man @@ -1,104 +1,104 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbPtrActionY \- Returns the high_YYY and low_YYY fields of act converted to a -signed int -.SH SYNOPSIS -.HP -.B int XkbPtrActionY -.BI "(\^XkbPtrAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract Y -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrAction structure move the pointer when keys -are pressed and released. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. - -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. - -The -.I type -field of the XkbPtrAction structure is always XkbSA_MovePtr. - -The -.I flags -field is a bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Action Types -_ -Action Type Meaning -_ -XkbSA_NoAcceleration T{ -If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a -mouse keys timer for this key; every time the timer expires, the cursor moves. -T} -XkbSA_MoveAbsoluteX T{ -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. -T} -XkbSA_MoveAbsoluteY T{ -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. -T} -.TE - -Each of the X and Y coordinantes of the XkbPtrAction structure is composed of -two signed 16-bit values, that is, the X coordinate is composed of -.I high_XXX -and -.I 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. -.SH STRUCTURES -.LP -.nf - - 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; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbPtrActionY \- Returns the high_YYY and low_YYY fields of act converted to a
+signed int
+.SH SYNOPSIS
+.HP
+.B int XkbPtrActionY
+.BI "(\^XkbPtrAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract Y
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+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.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+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.
+T}
+XkbSA_MoveAbsoluteY T{
+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.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I 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.
+.SH STRUCTURES
+.LP
+.nf
+
+ 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;
+
+.fi
diff --git a/libX11/man/xkb/XkbQueryExtension.man b/libX11/man/xkb/XkbQueryExtension.man index b8d91df10..b821b7cea 100644 --- a/libX11/man/xkb/XkbQueryExtension.man +++ b/libX11/man/xkb/XkbQueryExtension.man @@ -1,126 +1,126 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbQueryExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbQueryExtension \- Determines the compatibility of a library at runtime. -.SH SYNOPSIS -.HP -.B Bool XkbQueryExtension -.BI "(\^Display *" "dpy" "\^," -.BI "int *" "opcode_rtrn" "\^," -.BI "int *" "event_rtrn" "\^," -.BI "int *" "error_rtrn" "\^," -.BI "int *" "major_in_out" "\^," -.BI "int *" "minor_in_out" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I dpy -connection to the X server -.TP -.I opcode_rtrn -backfilled with the major extension opcode -.TP -.I event_rtrn -backfilled with the extension base event code -.TP -.I error_rtrn -backfilled with the extension base error code -.TP -.I major_in_out -compile time lib major version in, server major version out -.TP -.I minor_in_out -compile time lib min version in, server minor version out -.SH DESCRIPTION -.LP -Call -.I XkbQueryExtension -to check for the presence and compatibility of the -extension in the server and to initialize the extension. Because of potential -version mismatches, you cannot use the generic extension mechanism functions -( -.I XQueryExtension -and -.I XInitExtension -) for checking for the presence of, and -initializing the Xkb extension. - -You must call -.I XkbQueryExtension -or -.I XkbOpenDisplay -before using any other Xkb -library interfaces, unless such usage is explicitly allowed in the interface -description in this document. The exceptions are: -.I XkbIgnoreExtension, XkbLibraryVersion, -and a handful of audible-bell functions. You should not use -any other Xkb functions if the extension is not present or is uninitialized. In -general, calls to Xkb library functions made prior to initializing the Xkb -extension cause BadAccess protocol errors. - -.I XkbQueryExtension -both determines whether a compatible Xkb extension is present -in the X server and initializes the extension when it is present. - -The -.I XkbQueryExtension -function determines whether a compatible version of the X -Keyboard Extension is present in the server. If a compatible extension is -present, -.I XkbQueryExtension -returns True; otherwise, it returns False. - -If a compatible version of Xkb is present, -.I XkbQueryExtension -initializes the -extension. It backfills the major opcode for the keyboard extension in -.I opcode_rtrn, -the base event code in -.I event_rtrn, -the base error code in -.I error_rtrn, -and the major and minor version numbers of the extension in -.I major_in_out -and -.I minor_in_out. -The major opcode is reported in the -.I req_major -fields of some Xkb events. For a discussion of the base event code. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbQueryExtension -function returns True if it determines a compatible version of the X -Keyboard Extension is present in the server. -.TP 15 -False -The -.I XkbQueryExtension -function returns False if it determines a compatible version of the X -Keyboard Extension is not present in the server. -.SH "SEE ALSO" -.BR XkbIgnoreExtension (__libmansuffix__), -.BR XkbLibraryVersion (__libmansuffix__), -.BR XkbOpenDisplay (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbQueryExtension __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbQueryExtension \- Determines the compatibility of a library at runtime.
+.SH SYNOPSIS
+.HP
+.B Bool XkbQueryExtension
+.BI "(\^Display *" "dpy" "\^,"
+.BI "int *" "opcode_rtrn" "\^,"
+.BI "int *" "event_rtrn" "\^,"
+.BI "int *" "error_rtrn" "\^,"
+.BI "int *" "major_in_out" "\^,"
+.BI "int *" "minor_in_out" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I dpy
+connection to the X server
+.TP
+.I opcode_rtrn
+backfilled with the major extension opcode
+.TP
+.I event_rtrn
+backfilled with the extension base event code
+.TP
+.I error_rtrn
+backfilled with the extension base error code
+.TP
+.I major_in_out
+compile time lib major version in, server major version out
+.TP
+.I minor_in_out
+compile time lib min version in, server minor version out
+.SH DESCRIPTION
+.LP
+Call
+.I XkbQueryExtension
+to check for the presence and compatibility of the
+extension in the server and to initialize the extension. Because of potential
+version mismatches, you cannot use the generic extension mechanism functions
+(
+.I XQueryExtension
+and
+.I XInitExtension
+) for checking for the presence of, and
+initializing the Xkb extension.
+
+You must call
+.I XkbQueryExtension
+or
+.I XkbOpenDisplay
+before using any other Xkb
+library interfaces, unless such usage is explicitly allowed in the interface
+description in this document. The exceptions are:
+.I XkbIgnoreExtension, XkbLibraryVersion,
+and a handful of audible-bell functions. You should not use
+any other Xkb functions if the extension is not present or is uninitialized. In
+general, calls to Xkb library functions made prior to initializing the Xkb
+extension cause BadAccess protocol errors.
+
+.I XkbQueryExtension
+both determines whether a compatible Xkb extension is present
+in the X server and initializes the extension when it is present.
+
+The
+.I XkbQueryExtension
+function determines whether a compatible version of the X
+Keyboard Extension is present in the server. If a compatible extension is
+present,
+.I XkbQueryExtension
+returns True; otherwise, it returns False.
+
+If a compatible version of Xkb is present,
+.I XkbQueryExtension
+initializes the
+extension. It backfills the major opcode for the keyboard extension in
+.I opcode_rtrn,
+the base event code in
+.I event_rtrn,
+the base error code in
+.I error_rtrn,
+and the major and minor version numbers of the extension in
+.I major_in_out
+and
+.I minor_in_out.
+The major opcode is reported in the
+.I req_major
+fields of some Xkb events. For a discussion of the base event code.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbQueryExtension
+function returns True if it determines a compatible version of the X
+Keyboard Extension is present in the server.
+.TP 15
+False
+The
+.I XkbQueryExtension
+function returns False if it determines a compatible version of the X
+Keyboard Extension is not present in the server.
+.SH "SEE ALSO"
+.BR XkbIgnoreExtension (__libmansuffix__),
+.BR XkbLibraryVersion (__libmansuffix__),
+.BR XkbOpenDisplay (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbRefreshKeyboardMapping.man b/libX11/man/xkb/XkbRefreshKeyboardMapping.man index 87077ec1d..cc9ad4c3d 100644 --- a/libX11/man/xkb/XkbRefreshKeyboardMapping.man +++ b/libX11/man/xkb/XkbRefreshKeyboardMapping.man @@ -1,68 +1,68 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbRefreshKeyboardMapping __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbRefreshKeyboardMapping \- Update the keyboard description that is internal to the X -library -.SH SYNOPSIS -.HP -.B Status XkbRefreshKeyboardMapping -.BI "(\^XkbMapNotifyEvent *" "event" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- event -event initiating remapping -.SH DESCRIPTION -.LP -.I XkbRefreshKeyboardMapping -is the Xkb equivalent of the core -.I XRefreshKeyboardMapping -function. It requests that the X server send the current key mapping information to -this client. A client usually invokes -.I XkbRefreshKeyboardMapping -after receiving an XkbMapNotify event. -.I XkbRefreshKeyboardMapping -returns Success if it succeeds and BadMatch if the event is not an Xkb event. - -The XkbMapNotify event can be generated when some client calls -.I XkbSetMap, XkbChangeMap, XkbGetKeyboardByName, -or any of the standard X library functions that change the keyboard mapping or modifier -mapping. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbRefreshKeyboardMapping -function returns Success when the request that the X server send the current key mapping information to -this client is successful. -.SH DIAGNOSTICS -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has correct -type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbChangeMap (__libmansuffix__), -.BR XkbGetKeyboardByName (__libmansuffix__), -.BR XkbSetMap (__libmansuffix__), -.BR XRefreshKeyboardMapping (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbRefreshKeyboardMapping __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbRefreshKeyboardMapping \- Update the keyboard description that is internal to the X
+library
+.SH SYNOPSIS
+.HP
+.B Status XkbRefreshKeyboardMapping
+.BI "(\^XkbMapNotifyEvent *" "event" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- event
+event initiating remapping
+.SH DESCRIPTION
+.LP
+.I XkbRefreshKeyboardMapping
+is the Xkb equivalent of the core
+.I XRefreshKeyboardMapping
+function. It requests that the X server send the current key mapping information to
+this client. A client usually invokes
+.I XkbRefreshKeyboardMapping
+after receiving an XkbMapNotify event.
+.I XkbRefreshKeyboardMapping
+returns Success if it succeeds and BadMatch if the event is not an Xkb event.
+
+The XkbMapNotify event can be generated when some client calls
+.I XkbSetMap, XkbChangeMap, XkbGetKeyboardByName,
+or any of the standard X library functions that change the keyboard mapping or modifier
+mapping.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbRefreshKeyboardMapping
+function returns Success when the request that the X server send the current key mapping information to
+this client is successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct
+type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbGetKeyboardByName (__libmansuffix__),
+.BR XkbSetMap (__libmansuffix__),
+.BR XRefreshKeyboardMapping (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbResizeDeviceButtonActions.man b/libX11/man/xkb/XkbResizeDeviceButtonActions.man index e042ef96b..bda6a1dbf 100644 --- a/libX11/man/xkb/XkbResizeDeviceButtonActions.man +++ b/libX11/man/xkb/XkbResizeDeviceButtonActions.man @@ -1,93 +1,93 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbResizeDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbResizeDeviceButtonActions \- Allocate additional space for button actions in an XkbDeviceInfoRec structure -.SH SYNOPSIS -.HP -.B Status XkbResizeDeviceButtonActions -.BI "(\^XkbDeviceInfoPtr " "device_info" "\^," -.BI "unsigned int " "new_total" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- device_info -structure in which to allocate button actions -.TP -.I \- new_total -new total number of button actions needed -.SH DESCRIPTION -.LP -.I XkbResizeDeviceButtonActions -reallocates space, if necessary, to make sure there is room for a total of -.I new_total -button actions in the -.I device_info -structure. Any new entries allocated are zeroed. If successful, -.I XkbResizeDeviceButtonActions -returns Success. If -.I new_total -is zero, all button actions are deleted, -.I device_info->num_btns -is set to zero, and -.I device_info->btn_acts -is set to NULL. If -.I device_info -is invalid or -.I new_total -is greater than 255, BadValue is returned. If a memory allocation failure occurs, a BadAlloc is returned. - -To free an XkbDeviceInfoRec structure, use -.I XkbFreeDeviceInfo. -.SH STRUCTURES -.LP -Information about X Input Extension devices is transferred between a client program and the Xkb -extension in an XkbDeviceInfoRec structure: -.nf - - 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; -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbFreeDeviceInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbResizeDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeDeviceButtonActions \- Allocate additional space for button actions in an XkbDeviceInfoRec structure
+.SH SYNOPSIS
+.HP
+.B Status XkbResizeDeviceButtonActions
+.BI "(\^XkbDeviceInfoPtr " "device_info" "\^,"
+.BI "unsigned int " "new_total" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- device_info
+structure in which to allocate button actions
+.TP
+.I \- new_total
+new total number of button actions needed
+.SH DESCRIPTION
+.LP
+.I XkbResizeDeviceButtonActions
+reallocates space, if necessary, to make sure there is room for a total of
+.I new_total
+button actions in the
+.I device_info
+structure. Any new entries allocated are zeroed. If successful,
+.I XkbResizeDeviceButtonActions
+returns Success. If
+.I new_total
+is zero, all button actions are deleted,
+.I device_info->num_btns
+is set to zero, and
+.I device_info->btn_acts
+is set to NULL. If
+.I device_info
+is invalid or
+.I new_total
+is greater than 255, BadValue is returned. If a memory allocation failure occurs, a BadAlloc is returned.
+
+To free an XkbDeviceInfoRec structure, use
+.I XkbFreeDeviceInfo.
+.SH STRUCTURES
+.LP
+Information about X Input Extension devices is transferred between a client program and the Xkb
+extension in an XkbDeviceInfoRec structure:
+.nf
+
+ 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;
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbFreeDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbResizeKeyActions.man b/libX11/man/xkb/XkbResizeKeyActions.man index 41a6ca5ec..7ac9b86b4 100644 --- a/libX11/man/xkb/XkbResizeKeyActions.man +++ b/libX11/man/xkb/XkbResizeKeyActions.man @@ -1,100 +1,100 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbResizeKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbResizeKeyActions \- Change the number of actions bound to a key -.SH SYNOPSIS -.HP -.B XkbAction * XkbResizeKeyActions -.BI "(\^XkbDescRec *" "xkb" "\^," -.BI "int " "key" "\^," -.BI "int " "needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to change -.TP -.I \- key -keycode of key to change -.TP -.I \- needed -new number of actions required -.SH DESCRIPTION -.LP -The -.I xkb -parameter points to the keyboard description containing the -.I key -whose number of actions is to be changed. The -.I key -parameter is the keycode of the key to change, and needed specifies the new -number of actions required for the key. - -.I XkbResizeKeyActions -reserves the space needed for the actions and returns a pointer to the beginning -of the new array that holds the actions. It can change the -.I acts, num_acts, -and -.I size_acts -fields of -.I xkb->server -if it is necessary to reallocate the -.I acts -array. - -If -.I needed -is greater than the current number of keysyms for the key, -.I XkbResizeKeyActions -initializes all new actions in the array to NoAction. - -Because the number of actions needed by a key is normally computed as width * -number of groups, and -.I XkbResizeKeyActions -does not modify either the width or number of groups for the key, a discrepancy -exists on return from -.I XkbResizeKeyActions -between the space allocated for the actions and the number required. The unused -entries in the list of actions returned by -.I XkbResizeKeyActions -are not preserved across future calls to any of the map editing functions, so -you must update the key actions (which updates the width and number of groups -for the key) before calling another allocator function. A call to -.I XkbChangeTypesOfKey -updates these. - -If any allocation errors occur while resizing the number of actions bound to the -key, -.I XkbResizeKeyActions -returns NULL. -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbResizeKeySyms (__libmansuffix__) -.SH NOTES -.LP -A change to the number of actions bound to a key should be accompanied by a -change in the number of symbols bound to a key. Refer to -.I XkbResizeKeySyms -for more information on changing the number of symbols bound to a key. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbResizeKeyActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeyActions \- Change the number of actions bound to a key
+.SH SYNOPSIS
+.HP
+.B XkbAction * XkbResizeKeyActions
+.BI "(\^XkbDescRec *" "xkb" "\^,"
+.BI "int " "key" "\^,"
+.BI "int " "needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to change
+.TP
+.I \- key
+keycode of key to change
+.TP
+.I \- needed
+new number of actions required
+.SH DESCRIPTION
+.LP
+The
+.I xkb
+parameter points to the keyboard description containing the
+.I key
+whose number of actions is to be changed. The
+.I key
+parameter is the keycode of the key to change, and needed specifies the new
+number of actions required for the key.
+
+.I XkbResizeKeyActions
+reserves the space needed for the actions and returns a pointer to the beginning
+of the new array that holds the actions. It can change the
+.I acts, num_acts,
+and
+.I size_acts
+fields of
+.I xkb->server
+if it is necessary to reallocate the
+.I acts
+array.
+
+If
+.I needed
+is greater than the current number of keysyms for the key,
+.I XkbResizeKeyActions
+initializes all new actions in the array to NoAction.
+
+Because the number of actions needed by a key is normally computed as width *
+number of groups, and
+.I XkbResizeKeyActions
+does not modify either the width or number of groups for the key, a discrepancy
+exists on return from
+.I XkbResizeKeyActions
+between the space allocated for the actions and the number required. The unused
+entries in the list of actions returned by
+.I XkbResizeKeyActions
+are not preserved across future calls to any of the map editing functions, so
+you must update the key actions (which updates the width and number of groups
+for the key) before calling another allocator function. A call to
+.I XkbChangeTypesOfKey
+updates these.
+
+If any allocation errors occur while resizing the number of actions bound to the
+key,
+.I XkbResizeKeyActions
+returns NULL.
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__)
+.SH NOTES
+.LP
+A change to the number of actions bound to a key should be accompanied by a
+change in the number of symbols bound to a key. Refer to
+.I XkbResizeKeySyms
+for more information on changing the number of symbols bound to a key.
diff --git a/libX11/man/xkb/XkbResizeKeySyms.man b/libX11/man/xkb/XkbResizeKeySyms.man index 73c0ad918..243baff81 100644 --- a/libX11/man/xkb/XkbResizeKeySyms.man +++ b/libX11/man/xkb/XkbResizeKeySyms.man @@ -1,98 +1,98 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbResizeKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbResizeKeySyms \- Change the number of symbols bound to a key -.SH SYNOPSIS -.HP -.B KeySym * XkbResizeKeySyms -.BI "(\^XkbDescRec *" "xkb" "\^," -.BI "int " "key" "\^," -.BI "int " "needed" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to be changed -.TP -.I \- key -keycode for key to modify -.TP -.I \- needed -new number of keysyms required for key -.SH DESCRIPTION -.LP -.I XkbResizeKeySyms -reserves the space needed for -.I needed -keysyms and returns a pointer to the beginning of the new array that holds the -keysyms. It adjusts the -.I offset -field of the -.I key_sym_map -entry for the key if necessary and can also change the -.I syms, num_syms, -and -.I size_syms -fields of -.I xkb->map -if it is necessary to reallocate the -.I syms -array. -.I XkbResizeKeySyms -does not modify either the width or number of groups associated with the key. - -If -.I needed -is greater than the current number of keysyms for the key, -.I XkbResizeKeySyms -initializes all new keysyms in the array to NoSymbol. - -Because the number of symbols needed by a key is normally computed as width * -number of groups, and -.I XkbResizeKeySyms -does not modify either the width or number of groups for the key, a discrepancy -exists upon return from -.I XkbResizeKeySyms -between the space allocated for the keysyms and the number required. The unused -entries in the list of symbols returned by -.I XkbResizeKeySyms -are not preserved across future calls to any of the map editing functions, so -you must update the key symbol mapping (which updates the width and number of -groups for the key) before calling another allocator function. A call to -.I XkbChangeTypesOfKey -will update the mapping. - -If any allocation errors occur while resizing the number of symbols bound to the -key, -.I XkbResizeKeySyms -returns NULL. -.SH "SEE ALSO" -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbResizeKeyActions (__libmansuffix__) -.SH NOTES -.LP -A change to the number of symbols bound to a key should be accompanied by a -change in the number of actions bound to a key. Refer to XkbResizeKeyActions for -more information on changing the number of actions bound to a key. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbResizeKeySyms __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeySyms \- Change the number of symbols bound to a key
+.SH SYNOPSIS
+.HP
+.B KeySym * XkbResizeKeySyms
+.BI "(\^XkbDescRec *" "xkb" "\^,"
+.BI "int " "key" "\^,"
+.BI "int " "needed" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to be changed
+.TP
+.I \- key
+keycode for key to modify
+.TP
+.I \- needed
+new number of keysyms required for key
+.SH DESCRIPTION
+.LP
+.I XkbResizeKeySyms
+reserves the space needed for
+.I needed
+keysyms and returns a pointer to the beginning of the new array that holds the
+keysyms. It adjusts the
+.I offset
+field of the
+.I key_sym_map
+entry for the key if necessary and can also change the
+.I syms, num_syms,
+and
+.I size_syms
+fields of
+.I xkb->map
+if it is necessary to reallocate the
+.I syms
+array.
+.I XkbResizeKeySyms
+does not modify either the width or number of groups associated with the key.
+
+If
+.I needed
+is greater than the current number of keysyms for the key,
+.I XkbResizeKeySyms
+initializes all new keysyms in the array to NoSymbol.
+
+Because the number of symbols needed by a key is normally computed as width *
+number of groups, and
+.I XkbResizeKeySyms
+does not modify either the width or number of groups for the key, a discrepancy
+exists upon return from
+.I XkbResizeKeySyms
+between the space allocated for the keysyms and the number required. The unused
+entries in the list of symbols returned by
+.I XkbResizeKeySyms
+are not preserved across future calls to any of the map editing functions, so
+you must update the key symbol mapping (which updates the width and number of
+groups for the key) before calling another allocator function. A call to
+.I XkbChangeTypesOfKey
+will update the mapping.
+
+If any allocation errors occur while resizing the number of symbols bound to the
+key,
+.I XkbResizeKeySyms
+returns NULL.
+.SH "SEE ALSO"
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__)
+.SH NOTES
+.LP
+A change to the number of symbols bound to a key should be accompanied by a
+change in the number of actions bound to a key. Refer to XkbResizeKeyActions for
+more information on changing the number of actions bound to a key.
diff --git a/libX11/man/xkb/XkbResizeKeyType.man b/libX11/man/xkb/XkbResizeKeyType.man index c8eb5987e..1bd9f41dd 100644 --- a/libX11/man/xkb/XkbResizeKeyType.man +++ b/libX11/man/xkb/XkbResizeKeyType.man @@ -1,137 +1,137 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbResizeKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbResizeKeyType \- Change the number of levels in a key type -.SH SYNOPSIS -.HP -.B Status XkbResizeKeyType -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "int " "type_ndx" "\^," -.BI "int " "map_count" "\^," -.BI "Bool " "want_preserve" "\^," -.BI "int " "new_num_lvls" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description containing client map to update -.TP -.I \- type_ndx -index in xkb->map->types of type to change -.TP -.I \- map_count -total # of map entries needed for the type -.TP -.I \- want_preserve -True => list of preserved modifiers is necessary -.TP -.I \- new_num_lvls -new max # of levels for type -.SH DESCRIPTION -.LP -.I XkbResizeKeyType -changes the type specified by -.I xkb->map->types[type_ndx], -and reallocates the symbols and actions bound to all keys that use the type, if -necessary. -.I XkbResizeKeyType -updates only the local copy of the types in -.I xkb; -to update the server's copy for the physical device, use -.I XkbSetMap -or -.I XkbChangeMap -after calling -.I XkbResizeKeyType. - -The -.I map_count -parameter specifies the total number of map entries needed for the type, and can -be zero or greater. If -.I map_count -is zero, -.I XkbResizeKeyType -frees the existing -.I map -and -.I preserve -entries for the type if they exist and sets them to NULL. - -The -.I want_preserve -parameter specifies whether a -.I preserve -list for the key should be created. If -.I want_preserve -is True, the -.I preserve -list with -.I map_count -entries is allocated or reallocated if it already exists. Otherwise, if -.I want_preserve -is False, the -.I preserve -field is freed if necessary and set to NULL. - -The -.I new_num_lvls -parameter specifies the new maximum number of shift levels for the type and is -used to calculate and resize the symbols and actions bound to all keys that use -the type. - -If -.I type_ndx -does not specify a legal type, -.I new_num_lvls -is less than 1, or the -.I map_count -is less than zero, -.I XkbResizeKeyType -returns BadValue. If -.I XkbResizeKeyType -encounters any problems with allocation, it returns BadAlloc. Otherwise, it -returns Success. -.SH "RETURN VALUES" -.TP 15 -Success -The -.I XkbResizeKeyType -function returns Success if -.I type_ndx -specifies a legal type, -.I new_num_lvls -is greater than zero and -.I map_count -is positive. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbChangeMap (__libmansuffix__), -.BR XkbSetMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbResizeKeyType __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbResizeKeyType \- Change the number of levels in a key type
+.SH SYNOPSIS
+.HP
+.B Status XkbResizeKeyType
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "int " "type_ndx" "\^,"
+.BI "int " "map_count" "\^,"
+.BI "Bool " "want_preserve" "\^,"
+.BI "int " "new_num_lvls" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description containing client map to update
+.TP
+.I \- type_ndx
+index in xkb->map->types of type to change
+.TP
+.I \- map_count
+total # of map entries needed for the type
+.TP
+.I \- want_preserve
+True => list of preserved modifiers is necessary
+.TP
+.I \- new_num_lvls
+new max # of levels for type
+.SH DESCRIPTION
+.LP
+.I XkbResizeKeyType
+changes the type specified by
+.I xkb->map->types[type_ndx],
+and reallocates the symbols and actions bound to all keys that use the type, if
+necessary.
+.I XkbResizeKeyType
+updates only the local copy of the types in
+.I xkb;
+to update the server's copy for the physical device, use
+.I XkbSetMap
+or
+.I XkbChangeMap
+after calling
+.I XkbResizeKeyType.
+
+The
+.I map_count
+parameter specifies the total number of map entries needed for the type, and can
+be zero or greater. If
+.I map_count
+is zero,
+.I XkbResizeKeyType
+frees the existing
+.I map
+and
+.I preserve
+entries for the type if they exist and sets them to NULL.
+
+The
+.I want_preserve
+parameter specifies whether a
+.I preserve
+list for the key should be created. If
+.I want_preserve
+is True, the
+.I preserve
+list with
+.I map_count
+entries is allocated or reallocated if it already exists. Otherwise, if
+.I want_preserve
+is False, the
+.I preserve
+field is freed if necessary and set to NULL.
+
+The
+.I new_num_lvls
+parameter specifies the new maximum number of shift levels for the type and is
+used to calculate and resize the symbols and actions bound to all keys that use
+the type.
+
+If
+.I type_ndx
+does not specify a legal type,
+.I new_num_lvls
+is less than 1, or the
+.I map_count
+is less than zero,
+.I XkbResizeKeyType
+returns BadValue. If
+.I XkbResizeKeyType
+encounters any problems with allocation, it returns BadAlloc. Otherwise, it
+returns Success.
+.SH "RETURN VALUES"
+.TP 15
+Success
+The
+.I XkbResizeKeyType
+function returns Success if
+.I type_ndx
+specifies a legal type,
+.I new_num_lvls
+is greater than zero and
+.I map_count
+is positive.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbSetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSAActionSetCtrls.man b/libX11/man/xkb/XkbSAActionSetCtrls.man index 48b750b55..f2f6770d2 100644 --- a/libX11/man/xkb/XkbSAActionSetCtrls.man +++ b/libX11/man/xkb/XkbSAActionSetCtrls.man @@ -1,150 +1,150 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSAActionSetCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSAActionSetCtrls \- Sets the -.I ctrls0 -through -.I ctrls3 -fields of -.I act -from -.I ctrls -.SH SYNOPSIS -.HP -.B void XkbSAActionSetCtrls -.BI "(\^XkbCtrlsAction " "act" "\^," -.BI "unsigned int " "ctrls" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set ctrls0-ctrls3 -.TP -.I \- ctrls -value to set in ctrls0-ctrls3 -.SH DESCRIPTION -.LP -Actions associated with the XkbCtrlsAction structure change the state of the -boolean controls. - -The -.I type -field can have any one of the values shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Controls Action Types -_ -Type Effect -_ -XkbSA_SetControls T{ -A key press enables any boolean controls specified in the ctrls fields that were -not already enabled at -the time of the key press. -A key release disables any controls enabled by the key press. -This action can cause XkbControlsNotify events. -T} -XkbSA_LockControls T{ -If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables -any controls specified in -the ctrls fields that were not already enabled at the time of the key press. -.br -If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release -disables any controls -specified in the ctrls fields that were not already disabled at the time of the -key press. -.br -This action can cause XkbControlsNotify events. -T} -.TE - -The -.I flags -field is composed of the bitwise inclusive OR of the masks shown in Table 2. - -.TS -c s -l l -l lw(4i). -Table 2 Control Action Flags -_ -Flag Meaning -_ -XkbSA_LockNoLock T{ -If set, and the action type is XkbSA_LockControls, the server only disables -controls. -T} -XkbSA_LockNoUnlock T{ -If set, and the action type is XkbSA_LockControls, the server only enables -controls. -T} -.TE - -The XkbSA_SetControls action implements a key that enables a boolean control -when pressed and disables it -when released. The XkbSA_LockControls action is used to implement a key that -toggles the state of a -boolean control each time it is pressed and released. The XkbSA_LockNoLock and -XkbSA_LockNoUnlock flags -allow modifying the toggling behavior to only unlock or only lock the boolean -control. - -The -.I ctrls0, ctrls1, ctrls2, -and -.I ctrls3 -fields represent the boolean controls in the -.I enabled_ctrls -field of the controls structure. Xkb macros, to convert between the two formats. - -.I XkbSAActionSetCtrls -sets the -.I ctrls0 -through -.I ctrls3 -fields of -.I act -from -.I ctrls. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbCtrlsAction { - unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */ - unsigned char flags; /\(** with type, controls enabling and disabling -of controls */ - unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean -controls */ - } XkbCtrlsAction; -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSAActionSetCtrls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAActionSetCtrls \- Sets the
+.I ctrls0
+through
+.I ctrls3
+fields of
+.I act
+from
+.I ctrls
+.SH SYNOPSIS
+.HP
+.B void XkbSAActionSetCtrls
+.BI "(\^XkbCtrlsAction " "act" "\^,"
+.BI "unsigned int " "ctrls" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set ctrls0-ctrls3
+.TP
+.I \- ctrls
+value to set in ctrls0-ctrls3
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbCtrlsAction structure change the state of the
+boolean controls.
+
+The
+.I type
+field can have any one of the values shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Controls Action Types
+_
+Type Effect
+_
+XkbSA_SetControls T{
+A key press enables any boolean controls specified in the ctrls fields that were
+not already enabled at
+the time of the key press.
+A key release disables any controls enabled by the key press.
+This action can cause XkbControlsNotify events.
+T}
+XkbSA_LockControls T{
+If the XkbSA_LockNoLock bit is not set in the flags field, a key press enables
+any controls specified in
+the ctrls fields that were not already enabled at the time of the key press.
+.br
+If the XkbSA_LockNoUnlock bit is not set in the flags field, a key release
+disables any controls
+specified in the ctrls fields that were not already disabled at the time of the
+key press.
+.br
+This action can cause XkbControlsNotify events.
+T}
+.TE
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 2.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 2 Control Action Flags
+_
+Flag Meaning
+_
+XkbSA_LockNoLock T{
+If set, and the action type is XkbSA_LockControls, the server only disables
+controls.
+T}
+XkbSA_LockNoUnlock T{
+If set, and the action type is XkbSA_LockControls, the server only enables
+controls.
+T}
+.TE
+
+The XkbSA_SetControls action implements a key that enables a boolean control
+when pressed and disables it
+when released. The XkbSA_LockControls action is used to implement a key that
+toggles the state of a
+boolean control each time it is pressed and released. The XkbSA_LockNoLock and
+XkbSA_LockNoUnlock flags
+allow modifying the toggling behavior to only unlock or only lock the boolean
+control.
+
+The
+.I ctrls0, ctrls1, ctrls2,
+and
+.I ctrls3
+fields represent the boolean controls in the
+.I enabled_ctrls
+field of the controls structure. Xkb macros, to convert between the two formats.
+
+.I XkbSAActionSetCtrls
+sets the
+.I ctrls0
+through
+.I ctrls3
+fields of
+.I act
+from
+.I ctrls.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbCtrlsAction {
+ unsigned char type; /\(** XkbSA_SetControls, XkbSA_LockControls */
+ unsigned char flags; /\(** with type, controls enabling and disabling
+of controls */
+ unsigned char ctrls3; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls2; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls1; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ unsigned char ctrls0; /\(** ctrls0 through ctrls3 represent the boolean
+controls */
+ } XkbCtrlsAction;
+.fi
diff --git a/libX11/man/xkb/XkbSAGroup.man b/libX11/man/xkb/XkbSAGroup.man index 0fefe7c27..2c80bfe30 100644 --- a/libX11/man/xkb/XkbSAGroup.man +++ b/libX11/man/xkb/XkbSAGroup.man @@ -1,60 +1,60 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSAGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSAGroup \- Returns the group_XXX field of act converted to a signed int -.SH SYNOPSIS -.HP -.B int XkbSAGroup -.BI "(\^XkbAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract group -.SH DESCRIPTION -.LP -.I XkbSAGroup -returns the -.I group_XXX -field of -.I act -converted to a signed int. -.SH STRUCTURE -.LP -Actions associated with the XkbGroupAction structure change the current group -state when keys are -pressed and released: -.nf - - typedef struct _XkbGroupAction { - unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */ - unsigned char flags; /\(** with type, controls the effect on groups -*/ - char group_XXX; /\(** represents a group index or delta */ - } XkbGroupAction; - -.SH WARNING -.LP -This manpage seems to be incomplete +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSAGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAGroup \- Returns the group_XXX field of act converted to a signed int
+.SH SYNOPSIS
+.HP
+.B int XkbSAGroup
+.BI "(\^XkbAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract group
+.SH DESCRIPTION
+.LP
+.I XkbSAGroup
+returns the
+.I group_XXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURE
+.LP
+Actions associated with the XkbGroupAction structure change the current group
+state when keys are
+pressed and released:
+.nf
+
+ typedef struct _XkbGroupAction {
+ unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */
+ unsigned char flags; /\(** with type, controls the effect on groups
+*/
+ char group_XXX; /\(** represents a group index or delta */
+ } XkbGroupAction;
+
+.SH WARNING
+.LP
+This manpage seems to be incomplete
diff --git a/libX11/man/xkb/XkbSAPtrDfltValue.man b/libX11/man/xkb/XkbSAPtrDfltValue.man index f4b7a9d5d..79bab6044 100644 --- a/libX11/man/xkb/XkbSAPtrDfltValue.man +++ b/libX11/man/xkb/XkbSAPtrDfltValue.man @@ -1,107 +1,107 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSAPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSAPtrDfltValue \- Returns the valueXXX field of act converted to a signed int -.SH SYNOPSIS -.HP -.B int XkbSAPtrDfltValue -.BI "(\^XkbAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract group -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn -attribute of the MouseKeys control. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. Otherwise, this action changes -the -.I mk_dflt_btn -attribute of the MouseKeys control. - -The -.I type -field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt. - -The -.I flags -field is composed of the bitwise inclusive OR of the values shown in Table 1 -(currently there is only one value defined). - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Default Flags -_ -Flag Meaning -_ -XkbSA_DfltBtnAbsolute T{ -If set, the value field represents an absolute pointer button. Otherwise, the -value field represents the amount to be added to the current default button. -T} -.TE - -The -.I affect -field specifies what changes as a result of this action. The only valid value -for the -.I affect -field is XkbSA_AffectDfltBtn. - -The -.I valueXXX -field is a signed character that represents the new button value for the -.I mk_dflt_btn -attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in -.I flags, valueXXX -specifies the button to be used; otherwise, -.I valueXXX -specifies the amount to be added to the current default button. In either case, -illegal button choices are wrapped back around into range. Xkb provides macros, -to convert between the integer and signed character values in XkbPtrDfltAction -structures. - -.I XkbSAPtrDfltValue -returns the -.I valueXXX -field of -.I act -converted to a signed int. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbPtrDfltAction { - unsigned char type; /\(** XkbSA_SetPtrDflt */ - unsigned char flags; /\(** controls the pointer button number */ - unsigned char affect; /\(** XkbSA_AffectDfltBtn */ - char valueXXX; /\(** new default button member */ - } XkbPtrDfltAction; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSAPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAPtrDfltValue \- Returns the valueXXX field of act converted to a signed int
+.SH SYNOPSIS
+.HP
+.B int XkbSAPtrDfltValue
+.BI "(\^XkbAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract group
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn
+attribute of the MouseKeys control.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction. Otherwise, this action changes
+the
+.I mk_dflt_btn
+attribute of the MouseKeys control.
+
+The
+.I type
+field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the values shown in Table 1
+(currently there is only one value defined).
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Default Flags
+_
+Flag Meaning
+_
+XkbSA_DfltBtnAbsolute T{
+If set, the value field represents an absolute pointer button. Otherwise, the
+value field represents the amount to be added to the current default button.
+T}
+.TE
+
+The
+.I affect
+field specifies what changes as a result of this action. The only valid value
+for the
+.I affect
+field is XkbSA_AffectDfltBtn.
+
+The
+.I valueXXX
+field is a signed character that represents the new button value for the
+.I mk_dflt_btn
+attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in
+.I flags, valueXXX
+specifies the button to be used; otherwise,
+.I valueXXX
+specifies the amount to be added to the current default button. In either case,
+illegal button choices are wrapped back around into range. Xkb provides macros,
+to convert between the integer and signed character values in XkbPtrDfltAction
+structures.
+
+.I XkbSAPtrDfltValue
+returns the
+.I valueXXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrDfltAction {
+ unsigned char type; /\(** XkbSA_SetPtrDflt */
+ unsigned char flags; /\(** controls the pointer button number */
+ unsigned char affect; /\(** XkbSA_AffectDfltBtn */
+ char valueXXX; /\(** new default button member */
+ } XkbPtrDfltAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectSetVMods.man b/libX11/man/xkb/XkbSARedirectSetVMods.man index a166d096e..d93552dc4 100644 --- a/libX11/man/xkb/XkbSARedirectSetVMods.man +++ b/libX11/man/xkb/XkbSARedirectSetVMods.man @@ -1,109 +1,109 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSARedirectSetVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSARedirectSetVMods \- Sets the vmods0 and vmods1 of act from v -.SH SYNOPSIS -.HP -.B void XkbSARedirectSetVMods -.BI "(\^XkbRedirectKeyAction " "act" "\^," -.BI "unsigned int " "v" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set vmods -.TP -.I \- v -new value for virtual modifiers -.SH DESCRIPTION -.LP -Actions associated with the XkbRedirectKeyAction structure generate KeyPress and KeyRelease events -containing a keycode different from the key that was pressed or released. - -The -.I type -field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey. -Key presses cause a KeyPress event for the key specified by the -.I new_key -field instead of the actual key. The state reported in this event reports the current effective -modifiers changed as follows: any real modifiers selected by the -.I mods_mask -field are set to corresponding values from the -.I mods -field. Any real modifiers bound to the virtual modifiers specified by the -.I vmods_mask0 -and -.I vmods_mask1 -fields are either set or cleared, depending on the corresponding values in the -.I vmods0 -and -.I vmods1 -fields. If the real and virtual modifier definitions specify conflicting values for a single modifier, -the real modifier definition has priority. - -Key releases cause a KeyRelease event for the key specified by the -.I new_key -field instead of the actual key. The state for this event consists of the effective keyboard modifiers -at the time of the release, changed as described previously. - -The XkbSA_RedirectKey action normally redirects to another key on the same device as the key that -caused the event, unless that device does not belong to the input extension KeyClass, in which case -this action causes an event on the core keyboard device. (The input extension categorizes devices by -breaking them into classes. Keyboards, and other input devices with keys, are classified as KeyClass -devices by the input extension.) - -The -.I vmods_mask0 -and -.I vmods_mask1 -fields actually represent one -.I vmods_mask -value. Xkb provides macros to convert between the two formats. - - -.I XkbSARedirectSetVModsMask -sets the -.I vmods0 -and -.I vmods1 -of -.I act -from -.I v. -.SH STRUCTURES -.LP -.nf - - typedef struct_XkbRedirectKeyAction { - unsigned char type; /\(** XkbSA_RedirectKey */ - unsigned char new_key; /\(** keycode to be put in event */ - unsigned char mods_mask; /\(** mask of real mods to be reset */ - unsigned char mods; /\(** mask of real mods to take values from */ - unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be reset */ - unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be reset */ - unsigned char vmods0; /\(** first half of mask of virtual mods to take values from */ - unsigned char vmods1; /\(** other half of mask of virtual mods to take values from */ - } XkbRedirectKeyAction; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSARedirectSetVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectSetVMods \- Sets the vmods0 and vmods1 of act from v
+.SH SYNOPSIS
+.HP
+.B void XkbSARedirectSetVMods
+.BI "(\^XkbRedirectKeyAction " "act" "\^,"
+.BI "unsigned int " "v" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- v
+new value for virtual modifiers
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same device as the key that
+caused the event, unless that device does not belong to the input extension KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+
+.I XkbSARedirectSetVModsMask
+sets the
+.I vmods0
+and
+.I vmods1
+of
+.I act
+from
+.I v.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectSetVModsMask.man b/libX11/man/xkb/XkbSARedirectSetVModsMask.man index 7f893879f..f12fc65db 100644 --- a/libX11/man/xkb/XkbSARedirectSetVModsMask.man +++ b/libX11/man/xkb/XkbSARedirectSetVModsMask.man @@ -1,122 +1,122 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSARedirectSetVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSARedirectSetVModsMask \- Sets the vmods_mask0 and vmods_mask1 fields of act -from vm -.SH SYNOPSIS -.HP -.B void XkbSARedirectSetVModsMask -.BI "(\^XkbRedirectKeyAction " "act" "\^," -.BI "unsigned int " "vm" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set vmods -.TP -.I \- vm -new value for virtual modifier mask -.SH DESCRIPTION -.LP -Actions associated with the XkbRedirectKeyAction structure generate KeyPress and -KeyRelease events -containing a keycode different from the key that was pressed or released. - -The -.I type -field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey. -Key presses cause a KeyPress event for the key specified by the -.I new_key -field instead of the actual key. The state reported in this event reports the -current effective -modifiers changed as follows: any real modifiers selected by the -.I mods_mask -field are set to corresponding values from the -.I mods -field. Any real modifiers bound to the virtual modifiers specified by the -.I vmods_mask0 -and -.I vmods_mask1 -fields are either set or cleared, depending on the corresponding values in the -.I vmods0 -and -.I vmods1 -fields. If the real and virtual modifier definitions specify conflicting values -for a single modifier, -the real modifier definition has priority. - -Key releases cause a KeyRelease event for the key specified by the -.I new_key -field instead of the actual key. The state for this event consists of the -effective keyboard modifiers -at the time of the release, changed as described previously. - -The XkbSA_RedirectKey action normally redirects to another key on the same -device as the key that -caused the event, unless that device does not belong to the input extension -KeyClass, in which case -this action causes an event on the core keyboard device. (The input extension -categorizes devices by -breaking them into classes. Keyboards, and other input devices with keys, are -classified as KeyClass -devices by the input extension.) - -The -.I vmods_mask0 -and -.I vmods_mask1 -fields actually represent one -.I vmods_mask -value. Xkb provides macros to convert between the two formats. - -.I XkbSARedirectSetVModsMask -sets the -.I vmods_mask0 -and -.I vmods_mask1 -fields of -.I act -from -.I vm. -.SH STRUCTURES -.LP -.nf - - typedef struct_XkbRedirectKeyAction { - unsigned char type; /\(** XkbSA_RedirectKey */ - unsigned char new_key; /\(** keycode to be put in event */ - unsigned char mods_mask; /\(** mask of real mods to be reset */ - unsigned char mods; /\(** mask of real mods to take values from */ - unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be -reset */ - unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be -reset */ - unsigned char vmods0; /\(** first half of mask of virtual mods to -take values from */ - unsigned char vmods1; /\(** other half of mask of virtual mods to -take values from */ - } XkbRedirectKeyAction; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSARedirectSetVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectSetVModsMask \- Sets the vmods_mask0 and vmods_mask1 fields of act
+from vm
+.SH SYNOPSIS
+.HP
+.B void XkbSARedirectSetVModsMask
+.BI "(\^XkbRedirectKeyAction " "act" "\^,"
+.BI "unsigned int " "vm" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- vm
+new value for virtual modifier mask
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectSetVModsMask
+sets the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields of
+.I act
+from
+.I vm.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectVMods.man b/libX11/man/xkb/XkbSARedirectVMods.man index 75daa6068..f02d10f63 100644 --- a/libX11/man/xkb/XkbSARedirectVMods.man +++ b/libX11/man/xkb/XkbSARedirectVMods.man @@ -1,116 +1,116 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSARedirectVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSARedirectVMods \- Returns the vmods0 and vmods1 fields of act converted to -an unsigned int -.SH SYNOPSIS -.HP -.B unsigned int XkbSARedirectVMods -.BI "(\^XkbRedirectKeyAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract vmods -.SH DESCRIPTION -.LP -Actions associated with the XkbRedirectKeyAction structure generate KeyPress and -KeyRelease events -containing a keycode different from the key that was pressed or released. - -The -.I type -field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey. -Key presses cause a KeyPress event for the key specified by the -.I new_key -field instead of the actual key. The state reported in this event reports the -current effective -modifiers changed as follows: any real modifiers selected by the -.I mods_mask -field are set to corresponding values from the -.I mods -field. Any real modifiers bound to the virtual modifiers specified by the -.I vmods_mask0 -and -.I vmods_mask1 -fields are either set or cleared, depending on the corresponding values in the -.I vmods0 -and -.I vmods1 -fields. If the real and virtual modifier definitions specify conflicting values -for a single modifier, -the real modifier definition has priority. - -Key releases cause a KeyRelease event for the key specified by the -.I new_key -field instead of the actual key. The state for this event consists of the -effective keyboard modifiers -at the time of the release, changed as described previously. - -The XkbSA_RedirectKey action normally redirects to another key on the same -device as the key that -caused the event, unless that device does not belong to the input extension -KeyClass, in which case -this action causes an event on the core keyboard device. (The input extension -categorizes devices by -breaking them into classes. Keyboards, and other input devices with keys, are -classified as KeyClass -devices by the input extension.) - -The -.I vmods_mask0 -and -.I vmods_mask1 -fields actually represent one -.I vmods_mask -value. Xkb provides macros to convert between the two formats. - -.I XkbSARedirectVModsMask -returns the -.I vmods0 -and -.I vmods1 -fields of -.I act -converted to an unsigned int. -.SH STRUCTURES -.LP -.nf - - typedef struct_XkbRedirectKeyAction { - unsigned char type; /\(** XkbSA_RedirectKey */ - unsigned char new_key; /\(** keycode to be put in event */ - unsigned char mods_mask; /\(** mask of real mods to be reset */ - unsigned char mods; /\(** mask of real mods to take values from */ - unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be -reset */ - unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be -reset */ - unsigned char vmods0; /\(** first half of mask of virtual mods to -take values from */ - unsigned char vmods1; /\(** other half of mask of virtual mods to -take values from */ - } XkbRedirectKeyAction; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSARedirectVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectVMods \- Returns the vmods0 and vmods1 fields of act converted to
+an unsigned int
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbSARedirectVMods
+.BI "(\^XkbRedirectKeyAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract vmods
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectVModsMask
+returns the
+.I vmods0
+and
+.I vmods1
+fields of
+.I act
+converted to an unsigned int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSARedirectVModsMask.man b/libX11/man/xkb/XkbSARedirectVModsMask.man index 8a356d807..c3840bb30 100644 --- a/libX11/man/xkb/XkbSARedirectVModsMask.man +++ b/libX11/man/xkb/XkbSARedirectVModsMask.man @@ -1,117 +1,117 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSARedirectVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSARedirectVModsMask \- Returns the vmods_mask0 and vmods_mask1 fields of act -converted to an unsigned int -.SH SYNOPSIS -.HP -.B unsigned int XkbSARedirectVModsMask -.BI "(\^XkbRedirectKeyAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract vmods -.SH DESCRIPTION -.LP -Actions associated with the XkbRedirectKeyAction structure generate KeyPress and -KeyRelease events -containing a keycode different from the key that was pressed or released. - -The -.I type -field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey. -Key presses cause a KeyPress event for the key specified by the -.I new_key -field instead of the actual key. The state reported in this event reports the -current effective -modifiers changed as follows: any real modifiers selected by the -.I mods_mask -field are set to corresponding values from the -.I mods -field. Any real modifiers bound to the virtual modifiers specified by the -.I vmods_mask0 -and -.I vmods_mask1 -fields are either set or cleared, depending on the corresponding values in the -.I vmods0 -and -.I vmods1 -fields. If the real and virtual modifier definitions specify conflicting values -for a single modifier, -the real modifier definition has priority. - -Key releases cause a KeyRelease event for the key specified by the -.I new_key -field instead of the actual key. The state for this event consists of the -effective keyboard modifiers -at the time of the release, changed as described previously. - -The XkbSA_RedirectKey action normally redirects to another key on the same -device as the key that -caused the event, unless that device does not belong to the input extension -KeyClass, in which case -this action causes an event on the core keyboard device. (The input extension -categorizes devices by -breaking them into classes. Keyboards, and other input devices with keys, are -classified as KeyClass -devices by the input extension.) - -The -.I vmods_mask0 -and -.I vmods_mask1 -fields actually represent one -.I vmods_mask -value. Xkb provides macros to convert between the two formats. - -.I XkbSARedirectVModsMask -returns the -.I vmods_mask0 -and -.I vmods_mask1 -fields of -.I act -converted to an unsigned int. -.bp -.SH STRUCTURES -.LP -.nf - - typedef struct_XkbRedirectKeyAction { - unsigned char type; /\(** XkbSA_RedirectKey */ - unsigned char new_key; /\(** keycode to be put in event */ - unsigned char mods_mask; /\(** mask of real mods to be reset */ - unsigned char mods; /\(** mask of real mods to take values from */ - unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be -reset */ - unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be -reset */ - unsigned char vmods0; /\(** first half of mask of virtual mods to -take values from */ - unsigned char vmods1; /\(** other half of mask of virtual mods to -take values from */ - } XkbRedirectKeyAction; - -.fi +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSARedirectVModsMask __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSARedirectVModsMask \- Returns the vmods_mask0 and vmods_mask1 fields of act
+converted to an unsigned int
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbSARedirectVModsMask
+.BI "(\^XkbRedirectKeyAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract vmods
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbRedirectKeyAction structure generate KeyPress and
+KeyRelease events
+containing a keycode different from the key that was pressed or released.
+
+The
+.I type
+field for the XkbRedirectKeyAction structure should always be XkbSA_RedirectKey.
+Key presses cause a KeyPress event for the key specified by the
+.I new_key
+field instead of the actual key. The state reported in this event reports the
+current effective
+modifiers changed as follows: any real modifiers selected by the
+.I mods_mask
+field are set to corresponding values from the
+.I mods
+field. Any real modifiers bound to the virtual modifiers specified by the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields are either set or cleared, depending on the corresponding values in the
+.I vmods0
+and
+.I vmods1
+fields. If the real and virtual modifier definitions specify conflicting values
+for a single modifier,
+the real modifier definition has priority.
+
+Key releases cause a KeyRelease event for the key specified by the
+.I new_key
+field instead of the actual key. The state for this event consists of the
+effective keyboard modifiers
+at the time of the release, changed as described previously.
+
+The XkbSA_RedirectKey action normally redirects to another key on the same
+device as the key that
+caused the event, unless that device does not belong to the input extension
+KeyClass, in which case
+this action causes an event on the core keyboard device. (The input extension
+categorizes devices by
+breaking them into classes. Keyboards, and other input devices with keys, are
+classified as KeyClass
+devices by the input extension.)
+
+The
+.I vmods_mask0
+and
+.I vmods_mask1
+fields actually represent one
+.I vmods_mask
+value. Xkb provides macros to convert between the two formats.
+
+.I XkbSARedirectVModsMask
+returns the
+.I vmods_mask0
+and
+.I vmods_mask1
+fields of
+.I act
+converted to an unsigned int.
+.bp
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct_XkbRedirectKeyAction {
+ unsigned char type; /\(** XkbSA_RedirectKey */
+ unsigned char new_key; /\(** keycode to be put in event */
+ unsigned char mods_mask; /\(** mask of real mods to be reset */
+ unsigned char mods; /\(** mask of real mods to take values from */
+ unsigned char vmods_mask0; /\(** first half of mask of virtual mods to be
+reset */
+ unsigned char vmods_mask1; /\(** other half of mask of virtual mods to be
+reset */
+ unsigned char vmods0; /\(** first half of mask of virtual mods to
+take values from */
+ unsigned char vmods1; /\(** other half of mask of virtual mods to
+take values from */
+ } XkbRedirectKeyAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSAScreen.man b/libX11/man/xkb/XkbSAScreen.man index 8965bff9f..7f800aac6 100644 --- a/libX11/man/xkb/XkbSAScreen.man +++ b/libX11/man/xkb/XkbSAScreen.man @@ -1,102 +1,102 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSAScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSAScreen \- Returns the screenXXX field of act converted to a signed int -.SH SYNOPSIS -.HP -.B int XkbSAScreen -.BI "(\^XkbSwitchScreenAction " "act" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to extract screen -.SH DESCRIPTION -.LP -Actions associated with the XkbSwitchScreen action structure change the active -screen on a multiscreen display. - -The -.I type -field of the XkbSwitchScreenAction structure should always be -XkbSA_SwitchScreen. - -The -.I flags -field is composed of the bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Switch Screen Action Flags -_ -Flag Meaning -_ -XkbSA_SwitchAbsolute T{ -If set, the screenXXX field represents the index of the new screen. Otherwise, -it represents an offset from the current screen to the new screen. -T} -XkbSA_SwitchApplication T{ -If not set, the action should switch to another screen on the same server. -Otherwise, it should switch to another X server or application that shares the -same physical display. -T} -.TE - -The -.I screenXXX -field is a signed character value that represents either the relative or -absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in -the -.I flags -field. Xkb provides the following macros to convert between the integer and -signed character value for screen numbers in XkbSwitchScreenAction structures. - -.I XkbSAScreen -macro returns the -.I screenXXX -field of -.I act -converted to a signed int. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbSwitchScreenAction { - unsigned char type; /\(** XkbSA_SwitchScreen */ - unsigned char flags; /\(** controls screen switching */ - char screenXXX; /\(** screen number or delta */ - } XkbSwitchScreenAction; - -.fi - -.SH NOTES -.LP -The XkbSwitchScreen action is optional. Servers are free to ignore the action or -any of its -flags if they do not support the requested behavior. If the action is ignored, -it behaves like XkbSA_NoAction. Otherwise, key press and key release events do -not generate an event. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSAScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSAScreen \- Returns the screenXXX field of act converted to a signed int
+.SH SYNOPSIS
+.HP
+.B int XkbSAScreen
+.BI "(\^XkbSwitchScreenAction " "act" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to extract screen
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbSwitchScreen action structure change the active
+screen on a multiscreen display.
+
+The
+.I type
+field of the XkbSwitchScreenAction structure should always be
+XkbSA_SwitchScreen.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Switch Screen Action Flags
+_
+Flag Meaning
+_
+XkbSA_SwitchAbsolute T{
+If set, the screenXXX field represents the index of the new screen. Otherwise,
+it represents an offset from the current screen to the new screen.
+T}
+XkbSA_SwitchApplication T{
+If not set, the action should switch to another screen on the same server.
+Otherwise, it should switch to another X server or application that shares the
+same physical display.
+T}
+.TE
+
+The
+.I screenXXX
+field is a signed character value that represents either the relative or
+absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in
+the
+.I flags
+field. Xkb provides the following macros to convert between the integer and
+signed character value for screen numbers in XkbSwitchScreenAction structures.
+
+.I XkbSAScreen
+macro returns the
+.I screenXXX
+field of
+.I act
+converted to a signed int.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbSwitchScreenAction {
+ unsigned char type; /\(** XkbSA_SwitchScreen */
+ unsigned char flags; /\(** controls screen switching */
+ char screenXXX; /\(** screen number or delta */
+ } XkbSwitchScreenAction;
+
+.fi
+
+.SH NOTES
+.LP
+The XkbSwitchScreen action is optional. Servers are free to ignore the action or
+any of its
+flags if they do not support the requested behavior. If the action is ignored,
+it behaves like XkbSA_NoAction. Otherwise, key press and key release events do
+not generate an event.
diff --git a/libX11/man/xkb/XkbSASetGroup.man b/libX11/man/xkb/XkbSASetGroup.man index 7c5aa4072..867d23d98 100644 --- a/libX11/man/xkb/XkbSASetGroup.man +++ b/libX11/man/xkb/XkbSASetGroup.man @@ -1,63 +1,63 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSASetGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSASetGroup \- Sets the group_XXX field of act from the group index grp -.SH SYNTAX -.HP -.B void XkbSASetGroup -.BI "(\^XkbAction " "act" "\^," -.BI "int " "grp" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action from which to set group -.TP -.I \- grp -group index to set in group_XXX -.SH DESCRIPTION -.LP -.I XkbSASetGroup -sets the -.I group_XXX -field of -.I act -from the group index -.I grp. -.SH STRUCTURE -.LP -Actions associated with the XkbGroupAction structure change the current group state when keys are -pressed and released: -.nf - - typedef struct _XkbGroupAction { - unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */ - unsigned char flags; /\(** with type, controls the effect on groups */ - char group_XXX; /\(** represents a group index or delta */ - } XkbGroupAction; - -.SH WARNING -.LP -This manpage seems to be incomplete +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSASetGroup __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSASetGroup \- Sets the group_XXX field of act from the group index grp
+.SH SYNTAX
+.HP
+.B void XkbSASetGroup
+.BI "(\^XkbAction " "act" "\^,"
+.BI "int " "grp" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action from which to set group
+.TP
+.I \- grp
+group index to set in group_XXX
+.SH DESCRIPTION
+.LP
+.I XkbSASetGroup
+sets the
+.I group_XXX
+field of
+.I act
+from the group index
+.I grp.
+.SH STRUCTURE
+.LP
+Actions associated with the XkbGroupAction structure change the current group state when keys are
+pressed and released:
+.nf
+
+ typedef struct _XkbGroupAction {
+ unsigned char type; /\(** XkbSA_{Set|Latch|Lock}Group */
+ unsigned char flags; /\(** with type, controls the effect on groups */
+ char group_XXX; /\(** represents a group index or delta */
+ } XkbGroupAction;
+
+.SH WARNING
+.LP
+This manpage seems to be incomplete
diff --git a/libX11/man/xkb/XkbSASetPtrDfltValue.man b/libX11/man/xkb/XkbSASetPtrDfltValue.man index 0134f3542..bf5bd717b 100644 --- a/libX11/man/xkb/XkbSASetPtrDfltValue.man +++ b/libX11/man/xkb/XkbSASetPtrDfltValue.man @@ -1,104 +1,104 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSASetPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSASetPtrDfltValue \- Sets the valueXXX field of act from val -.SH SYNOPSIS -.HP -.B void XkbSASetPtrDfltValue -.BI "(\^XkbAction " "act" "\^," -.BI "int " "val" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set valueXXX -.TP -.I \- val -value to set in valueXXX -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn -attribute of the MouseKeys control. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. Otherwise, this action changes -the -.I mk_dflt_btn -attribute of the MouseKeys control. - -The -.I type -field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt. - -The -.I flags -field is composed of the bitwise inclusive OR of the values shown in Table 1 -(currently there is only one value defined). - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Default Flags -_ -Flag Meaning -_ -XkbSA_DfltBtnAbsolute T{ -If set, the value field represents an absolute pointer button. Otherwise, the -value field represents the amount to be added to the current default button. -T} -.TE - -The -.I affect -field specifies what changes as a result of this action. The only valid value -for the -.I affect -field is XkbSA_AffectDfltBtn. - -The -.I valueXXX -field is a signed character that represents the new button value for the -.I mk_dflt_btn -attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in -.I flags, valueXXX -specifies the button to be used; otherwise, -.I valueXXX -specifies the amount to be added to the current default button. In either case, -illegal button choices are wrapped back around into range. Xkb provides macros, -to convert between the integer and signed character values in XkbPtrDfltAction -structures. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbPtrDfltAction { - unsigned char type; /\(** XkbSA_SetPtrDflt */ - unsigned char flags; /\(** controls the pointer button number */ - unsigned char affect; /\(** XkbSA_AffectDfltBtn */ - char valueXXX; /\(** new default button member */ - } XkbPtrDfltAction; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSASetPtrDfltValue __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSASetPtrDfltValue \- Sets the valueXXX field of act from val
+.SH SYNOPSIS
+.HP
+.B void XkbSASetPtrDfltValue
+.BI "(\^XkbAction " "act" "\^,"
+.BI "int " "val" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set valueXXX
+.TP
+.I \- val
+value to set in valueXXX
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrDfltAction structure change the mk_dflt_btn
+attribute of the MouseKeys control.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction. Otherwise, this action changes
+the
+.I mk_dflt_btn
+attribute of the MouseKeys control.
+
+The
+.I type
+field of the XkbPtrDfltAction structure should always be XkbSA_SetPtrDflt.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the values shown in Table 1
+(currently there is only one value defined).
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Default Flags
+_
+Flag Meaning
+_
+XkbSA_DfltBtnAbsolute T{
+If set, the value field represents an absolute pointer button. Otherwise, the
+value field represents the amount to be added to the current default button.
+T}
+.TE
+
+The
+.I affect
+field specifies what changes as a result of this action. The only valid value
+for the
+.I affect
+field is XkbSA_AffectDfltBtn.
+
+The
+.I valueXXX
+field is a signed character that represents the new button value for the
+.I mk_dflt_btn
+attribute of the MouseKeys control. If XkbSA_DfltBtnAbsolute is set in
+.I flags, valueXXX
+specifies the button to be used; otherwise,
+.I valueXXX
+specifies the amount to be added to the current default button. In either case,
+illegal button choices are wrapped back around into range. Xkb provides macros,
+to convert between the integer and signed character values in XkbPtrDfltAction
+structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbPtrDfltAction {
+ unsigned char type; /\(** XkbSA_SetPtrDflt */
+ unsigned char flags; /\(** controls the pointer button number */
+ unsigned char affect; /\(** XkbSA_AffectDfltBtn */
+ char valueXXX; /\(** new default button member */
+ } XkbPtrDfltAction;
+
+.fi
diff --git a/libX11/man/xkb/XkbSASetScreen.man b/libX11/man/xkb/XkbSASetScreen.man index 2411e5b6c..b3bebb165 100644 --- a/libX11/man/xkb/XkbSASetScreen.man +++ b/libX11/man/xkb/XkbSASetScreen.man @@ -1,97 +1,97 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSASetScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSASetScreen \- Sets the screenXXX field of act from s -.SH SYNOPSIS -.HP -.B void XkbSASetScreen -.BI "(\^XkbSwitchScreenAction " "act" "\^," -.BI "int " "s" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set screenXXX -.TP -.I \- s -value to set in screenXXX -.SH DESCRIPTION -.LP -Actions associated with the XkbSwitchScreen action structure change the active -screen on a multiscreen display. - -The -.I type -field of the XkbSwitchScreenAction structure should always be -XkbSA_SwitchScreen. - -The -.I flags -field is composed of the bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Switch Screen Action Flags -_ -Flag Meaning -_ -XkbSA_SwitchAbsolute T{ -If set, the screenXXX field represents the index of the new screen. Otherwise, -it represents an offset from the current screen to the new screen. -T} -XkbSA_SwitchApplication T{ -If not set, the action should switch to another screen on the same server. -Otherwise, it should switch to another X server or application that shares the -same physical display. -T} -.TE - -The -.I screenXXX -field is a signed character value that represents either the relative or -absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in -the -.I flags -field. Xkb provides the following macros to convert between the integer and -signed character value for screen numbers in XkbSwitchScreenAction structures. -.SH STRUCTURES -.LP -.nf - - typedef struct _XkbSwitchScreenAction { - unsigned char type; /\(** XkbSA_SwitchScreen */ - unsigned char flags; /\(** controls screen switching */ - char screenXXX; /\(** screen number or delta */ - } XkbSwitchScreenAction; - -.fi -.SH NOTES -.LP -This action is optional. Servers are free to ignore the action or any of its -flags if they do not support the requested behavior. If the action is ignored, -it behaves like XkbSA_NoAction. Otherwise, key press and key release events do -not generate an event. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSASetScreen __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSASetScreen \- Sets the screenXXX field of act from s
+.SH SYNOPSIS
+.HP
+.B void XkbSASetScreen
+.BI "(\^XkbSwitchScreenAction " "act" "\^,"
+.BI "int " "s" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set screenXXX
+.TP
+.I \- s
+value to set in screenXXX
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbSwitchScreen action structure change the active
+screen on a multiscreen display.
+
+The
+.I type
+field of the XkbSwitchScreenAction structure should always be
+XkbSA_SwitchScreen.
+
+The
+.I flags
+field is composed of the bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Switch Screen Action Flags
+_
+Flag Meaning
+_
+XkbSA_SwitchAbsolute T{
+If set, the screenXXX field represents the index of the new screen. Otherwise,
+it represents an offset from the current screen to the new screen.
+T}
+XkbSA_SwitchApplication T{
+If not set, the action should switch to another screen on the same server.
+Otherwise, it should switch to another X server or application that shares the
+same physical display.
+T}
+.TE
+
+The
+.I screenXXX
+field is a signed character value that represents either the relative or
+absolute screen index, depending on the state of the XkbSA_SwitchAbsolute bit in
+the
+.I flags
+field. Xkb provides the following macros to convert between the integer and
+signed character value for screen numbers in XkbSwitchScreenAction structures.
+.SH STRUCTURES
+.LP
+.nf
+
+ typedef struct _XkbSwitchScreenAction {
+ unsigned char type; /\(** XkbSA_SwitchScreen */
+ unsigned char flags; /\(** controls screen switching */
+ char screenXXX; /\(** screen number or delta */
+ } XkbSwitchScreenAction;
+
+.fi
+.SH NOTES
+.LP
+This action is optional. Servers are free to ignore the action or any of its
+flags if they do not support the requested behavior. If the action is ignored,
+it behaves like XkbSA_NoAction. Otherwise, key press and key release events do
+not generate an event.
diff --git a/libX11/man/xkb/XkbSelectEventDetails.man b/libX11/man/xkb/XkbSelectEventDetails.man index bd19833d3..41ae1aad8 100644 --- a/libX11/man/xkb/XkbSelectEventDetails.man +++ b/libX11/man/xkb/XkbSelectEventDetails.man @@ -1,145 +1,145 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSelectEventDetails __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSelectEventDetails \- Selects or deselects for a specific Xkb event and -optionally places conditions on when events of that type are reported to your -client -.SH SYNOPSIS -.HP -.B Bool XkbSelectEventDetails -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "event_type" "\^," -.BI "unsigned long int " "bits_to_change" "\^," -.BI "unsigned long int " "values_for_bits" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I event_type -Xkb event type of interest -.TP -.I bits_to_change -determines events to be selected / deselected -.TP -.I values_for_bits -1=>select, 0->deselect; for events in bits_to_change -.SH DESCRIPTION -.LP -Xkb events are selected using an event mask, much the same as normal core X -events are selected. However, unlike selecting core X events, where you must -specify the selection status (on or off) for all possible event types whenever -you wish to change the selection criteria for any one event, Xkb allows you to -restrict the specification to only the event types you wish to change. This -means that you do not need to remember the event selection values for all -possible types each time you want to change one of them. - -Many Xkb event types are generated under several different circumstances. When -selecting to receive an Xkb event, you may specify either that you want it -delivered under all circumstances, or that you want it delivered only for a -subset of the possible circumstances. - -You can also deselect an event type that was previously selected for, using the -same granularity. - -Xkb provides two functions to select and deselect delivery of Xkb events. -.I XkbSelectEvents -allows you to select or deselect delivery of more than one Xkb event type at -once. Events selected using -.I XkbSelectEvents -are delivered to your program under all circumstances that generate the events. -To restrict delivery of an event to a subset of the conditions under which it -occurs, use -.I XkbSelectEventDetails. XkbSelectEventDetails -only allows you to change the selection conditions for a single event at a time, -but it provides a means of fine-tuning the conditions under which the event is -delivered. - -To select or deselect for a specific Xkb event and optionally place conditions -on when events of that type are reported to your client, use -.I XkbSelectEventDetails. -This allows you to exercise a finer granularity of -control over delivery of Xkb events with -.I XkbSelectEvents. - -While -.I XkbSelectEvents -allows multiple events to be selected, -.I XkbSelectEventDetails -changes the selection criteria for a single type of Xkb -event. The interpretation of the -.I bits_to_change -and -.I values_for_bits -masks depends on the event type in question. - -.I XkbSelectEventDetails -changes the Xkb event selection mask for the keyboard -specified by -.I device_spec -and the Xkb event specified by -.I event_type. -To turn on event selection for an event detail, set the bit for the -detail in the -.I bits_to_change -parameter and set the corresponding bit in the -.I values_for_bits -parameter. To turn off event detail selection for a detail, set -the bit for the detail in the -.I bits_to_change -parameter and do not set the corresponding bit in the -.I values_for_bits -parameter. - -If an invalid event type is specified, a BadValue protocol error results. If a -bit is not set in the -.I bits_to_change -parameter, but the corresponding bit is set in the -.I values_for_bits -parameter, a BadMatch protocol error results. If an undefined -bit is set in either the -.I bits_to_change -or the -.I values_for_bits -parameter, a BadValue protocol error results. - -For each type of Xkb event, the legal event details that you can specify in the -.I XkbSelectEventDetails -request are listed in the chapters that describe each event in detail. -.SH DIAGNOSTICS -.TP 15 -.SM BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.SM BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbSelectEvents (__libmansuffix__), -.BR XkbUseCoreKbd (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSelectEventDetails __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSelectEventDetails \- Selects or deselects for a specific Xkb event and
+optionally places conditions on when events of that type are reported to your
+client
+.SH SYNOPSIS
+.HP
+.B Bool XkbSelectEventDetails
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "event_type" "\^,"
+.BI "unsigned long int " "bits_to_change" "\^,"
+.BI "unsigned long int " "values_for_bits" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I event_type
+Xkb event type of interest
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+Xkb events are selected using an event mask, much the same as normal core X
+events are selected. However, unlike selecting core X events, where you must
+specify the selection status (on or off) for all possible event types whenever
+you wish to change the selection criteria for any one event, Xkb allows you to
+restrict the specification to only the event types you wish to change. This
+means that you do not need to remember the event selection values for all
+possible types each time you want to change one of them.
+
+Many Xkb event types are generated under several different circumstances. When
+selecting to receive an Xkb event, you may specify either that you want it
+delivered under all circumstances, or that you want it delivered only for a
+subset of the possible circumstances.
+
+You can also deselect an event type that was previously selected for, using the
+same granularity.
+
+Xkb provides two functions to select and deselect delivery of Xkb events.
+.I XkbSelectEvents
+allows you to select or deselect delivery of more than one Xkb event type at
+once. Events selected using
+.I XkbSelectEvents
+are delivered to your program under all circumstances that generate the events.
+To restrict delivery of an event to a subset of the conditions under which it
+occurs, use
+.I XkbSelectEventDetails. XkbSelectEventDetails
+only allows you to change the selection conditions for a single event at a time,
+but it provides a means of fine-tuning the conditions under which the event is
+delivered.
+
+To select or deselect for a specific Xkb event and optionally place conditions
+on when events of that type are reported to your client, use
+.I XkbSelectEventDetails.
+This allows you to exercise a finer granularity of
+control over delivery of Xkb events with
+.I XkbSelectEvents.
+
+While
+.I XkbSelectEvents
+allows multiple events to be selected,
+.I XkbSelectEventDetails
+changes the selection criteria for a single type of Xkb
+event. The interpretation of the
+.I bits_to_change
+and
+.I values_for_bits
+masks depends on the event type in question.
+
+.I XkbSelectEventDetails
+changes the Xkb event selection mask for the keyboard
+specified by
+.I device_spec
+and the Xkb event specified by
+.I event_type.
+To turn on event selection for an event detail, set the bit for the
+detail in the
+.I bits_to_change
+parameter and set the corresponding bit in the
+.I values_for_bits
+parameter. To turn off event detail selection for a detail, set
+the bit for the detail in the
+.I bits_to_change
+parameter and do not set the corresponding bit in the
+.I values_for_bits
+parameter.
+
+If an invalid event type is specified, a BadValue protocol error results. If a
+bit is not set in the
+.I bits_to_change
+parameter, but the corresponding bit is set in the
+.I values_for_bits
+parameter, a BadMatch protocol error results. If an undefined
+bit is set in either the
+.I bits_to_change
+or the
+.I values_for_bits
+parameter, a BadValue protocol error results.
+
+For each type of Xkb event, the legal event details that you can specify in the
+.I XkbSelectEventDetails
+request are listed in the chapters that describe each event in detail.
+.SH DIAGNOSTICS
+.TP 15
+.SM BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.SM BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbSelectEvents (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSelectEvents.man b/libX11/man/xkb/XkbSelectEvents.man index 4d605e854..5d01177d3 100644 --- a/libX11/man/xkb/XkbSelectEvents.man +++ b/libX11/man/xkb/XkbSelectEvents.man @@ -1,170 +1,170 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSelectEvents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSelectEvents \- Selects and / or deselects for delivery of one or more Xkb -events and has them delivered under all conditions -.SH SYNOPSIS -.HP -.B Bool XkbSelectEvents -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned long int " "bits_to_change" "\^," -.BI "unsigned long int " "values_for_bits" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I display -connection to the X server -.TP -.I device_spec -device ID, or XkbUseCoreKbd -.TP -.I bits_to_change -determines events to be selected / deselected -.TP -.I values_for_bits -1=>select, 0->deselect; for events in bits_to_change -.SH DESCRIPTION -.LP -Xkb events are selected using an event mask, much the same as normal core X -events are selected. However, unlike selecting core X events, where you must -specify the selection status (on or off) for all possible event types whenever -you wish to change the selection criteria for any one event, Xkb allows you to -restrict the specification to only the event types you wish to change. This -means that you do not need to remember the event selection values for all -possible types each time you want to change one of them. - -Many Xkb event types are generated under several different circumstances. When -selecting to receive an Xkb event, you may specify either that you want it -delivered under all circumstances, or that you want it delivered only for a -subset of the possible circumstances. - -You can also deselect an event type that was previously selected for, using the -same granularity. - -Xkb provides two functions to select and deselect delivery of Xkb events. -.I XkbSelectEvents -allows you to select or deselect delivery of more than one Xkb -event type at once. Events selected using -.I XkbSelectEvents -are delivered to your program under all circumstances that generate the events. -To restrict delivery of an event to a subset of the conditions under which it -occurs, use -.I XkbSelectEventDetails. XkbSelectEventDetails -only allows you to change the selection conditions for a single event at a time, -but it provides a means of fine-tuning the conditions under which the event is -delivered. - -This request changes the Xkb event selection mask for the keyboard specified by -.I device_spec. - -Each Xkb event that can be selected is represented by a bit in the -.I bits_to_change -and -.I values_for_bits -masks. Only the event selection bits specified by the -.I bits_to_change -parameter are affected; any unspecified bits are left unchanged. To turn on -event selection for an event, set the bit for the event in the -.I bits_to_change -parameter and set the corresponding bit in the -.I values_for_bits -parameter. To turn off event selection for an event, set the bit for the event -in the -.I bits_to_change -parameter and do not set the corresponding bit in the -.I values_for_bits -parameter. The valid values for both of these parameters are an inclusive -bitwise OR of the masks shown in Table 1. There is no interface to return your -client's current event selection mask. Clients cannot set other clients' event -selection masks. - -The X server reports the events defined by Xkb to your client application only -if you have requested them via a call to -.I XkbSelectEvents -or -.I XkbSelectEventDetails. -Specify the event types in which you are interested in a mask. - -Table 1 lists the event mask constants that can be specified with the -.I XkbSelectEvents -request and the circumstances in which the mask should be specified. - -.TS -c s s -l l l -l l l. -Table 1 XkbSelectEvents Mask Constants -_ -Event Mask Value Notification Wanted -_ -XkbNewKeyboardNotifyMask (1L<<0) Keyboard geometry change -XkbMapNotifyMask (1L<<1) Keyboard mapping change -XkbStateNotifyMask (1L<<2) Keyboard state change -XkbControlsNotifyMask (1L<<3) Keyboard control change -XkbIndicatorStateNotifyMask (1L<<4) Keyboard indicator state change -XkbIndicatorMapNotifyMask (1L<<5) Keyboard indicator map change -XkbNamesNotifyMask (1L<<6) Keyboard name change -XkbCompatMapNotifyMask (1L<<7) Keyboard compat map change -XkbBellNotifyMask (1L<<8) Bell -XkbActionMessageMask (1L<<9) Action message -XkbAccessXNotifyMask (1L<<10) AccessX features -XkbExtensionDeviceNotifyMask (1L<<11) Extension device -XkbAllEventsMask (0xFFF) All Xkb events -.TE - -If a bit is not set in the -.I bits_to_change -parameter, but the corresponding bit is set in the -.I values_for_bits -parameter, a BadMatch protocol error results. If an undefined bit is set in -either the -.I bits_to_change -or the -.I values_for_bits -parameter, a BadValue protocol error results. - -All event selection bits are initially zero for clients using the Xkb extension. -Once you set some bits, they remain set for your client until you clear them via -another call to -.I XkbSelectEvents. - -.I XkbSelectEvents -returns False if the Xkb extension has not been initilialized and True -otherwise. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSelectEvents -function returns True if the Xkb extension has been initilialized. -.TP 15 -False -The -.I XkbSelectEvents -function returns False if the Xkb extension has not been initilialized. -.SH "SEE ALSO" -.BR XkbSelectEventDetails (__libmansuffix__), -.BR XkbUseCoreKbd (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSelectEvents __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSelectEvents \- Selects and / or deselects for delivery of one or more Xkb
+events and has them delivered under all conditions
+.SH SYNOPSIS
+.HP
+.B Bool XkbSelectEvents
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned long int " "bits_to_change" "\^,"
+.BI "unsigned long int " "values_for_bits" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I display
+connection to the X server
+.TP
+.I device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I bits_to_change
+determines events to be selected / deselected
+.TP
+.I values_for_bits
+1=>select, 0->deselect; for events in bits_to_change
+.SH DESCRIPTION
+.LP
+Xkb events are selected using an event mask, much the same as normal core X
+events are selected. However, unlike selecting core X events, where you must
+specify the selection status (on or off) for all possible event types whenever
+you wish to change the selection criteria for any one event, Xkb allows you to
+restrict the specification to only the event types you wish to change. This
+means that you do not need to remember the event selection values for all
+possible types each time you want to change one of them.
+
+Many Xkb event types are generated under several different circumstances. When
+selecting to receive an Xkb event, you may specify either that you want it
+delivered under all circumstances, or that you want it delivered only for a
+subset of the possible circumstances.
+
+You can also deselect an event type that was previously selected for, using the
+same granularity.
+
+Xkb provides two functions to select and deselect delivery of Xkb events.
+.I XkbSelectEvents
+allows you to select or deselect delivery of more than one Xkb
+event type at once. Events selected using
+.I XkbSelectEvents
+are delivered to your program under all circumstances that generate the events.
+To restrict delivery of an event to a subset of the conditions under which it
+occurs, use
+.I XkbSelectEventDetails. XkbSelectEventDetails
+only allows you to change the selection conditions for a single event at a time,
+but it provides a means of fine-tuning the conditions under which the event is
+delivered.
+
+This request changes the Xkb event selection mask for the keyboard specified by
+.I device_spec.
+
+Each Xkb event that can be selected is represented by a bit in the
+.I bits_to_change
+and
+.I values_for_bits
+masks. Only the event selection bits specified by the
+.I bits_to_change
+parameter are affected; any unspecified bits are left unchanged. To turn on
+event selection for an event, set the bit for the event in the
+.I bits_to_change
+parameter and set the corresponding bit in the
+.I values_for_bits
+parameter. To turn off event selection for an event, set the bit for the event
+in the
+.I bits_to_change
+parameter and do not set the corresponding bit in the
+.I values_for_bits
+parameter. The valid values for both of these parameters are an inclusive
+bitwise OR of the masks shown in Table 1. There is no interface to return your
+client's current event selection mask. Clients cannot set other clients' event
+selection masks.
+
+The X server reports the events defined by Xkb to your client application only
+if you have requested them via a call to
+.I XkbSelectEvents
+or
+.I XkbSelectEventDetails.
+Specify the event types in which you are interested in a mask.
+
+Table 1 lists the event mask constants that can be specified with the
+.I XkbSelectEvents
+request and the circumstances in which the mask should be specified.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 XkbSelectEvents Mask Constants
+_
+Event Mask Value Notification Wanted
+_
+XkbNewKeyboardNotifyMask (1L<<0) Keyboard geometry change
+XkbMapNotifyMask (1L<<1) Keyboard mapping change
+XkbStateNotifyMask (1L<<2) Keyboard state change
+XkbControlsNotifyMask (1L<<3) Keyboard control change
+XkbIndicatorStateNotifyMask (1L<<4) Keyboard indicator state change
+XkbIndicatorMapNotifyMask (1L<<5) Keyboard indicator map change
+XkbNamesNotifyMask (1L<<6) Keyboard name change
+XkbCompatMapNotifyMask (1L<<7) Keyboard compat map change
+XkbBellNotifyMask (1L<<8) Bell
+XkbActionMessageMask (1L<<9) Action message
+XkbAccessXNotifyMask (1L<<10) AccessX features
+XkbExtensionDeviceNotifyMask (1L<<11) Extension device
+XkbAllEventsMask (0xFFF) All Xkb events
+.TE
+
+If a bit is not set in the
+.I bits_to_change
+parameter, but the corresponding bit is set in the
+.I values_for_bits
+parameter, a BadMatch protocol error results. If an undefined bit is set in
+either the
+.I bits_to_change
+or the
+.I values_for_bits
+parameter, a BadValue protocol error results.
+
+All event selection bits are initially zero for clients using the Xkb extension.
+Once you set some bits, they remain set for your client until you clear them via
+another call to
+.I XkbSelectEvents.
+
+.I XkbSelectEvents
+returns False if the Xkb extension has not been initilialized and True
+otherwise.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSelectEvents
+function returns True if the Xkb extension has been initilialized.
+.TP 15
+False
+The
+.I XkbSelectEvents
+function returns False if the Xkb extension has not been initilialized.
+.SH "SEE ALSO"
+.BR XkbSelectEventDetails (__libmansuffix__),
+.BR XkbUseCoreKbd (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetAccessXTimeout.man b/libX11/man/xkb/XkbSetAccessXTimeout.man index 74f28cc66..5f50ec68f 100644 --- a/libX11/man/xkb/XkbSetAccessXTimeout.man +++ b/libX11/man/xkb/XkbSetAccessXTimeout.man @@ -1,193 +1,193 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetAccessXTimeout \- Configures the AccessXTimeout options for a keyboard -device -.SH SYNOPSIS -.HP -.B Bool XkbSetAccessXTimeout -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned short " "timeout" "\^," -.BI "unsigned int " "ctrls_mask" "\^," -.BI "unsigned int " "ctrls_values" "\^," -.BI "unsigned short " "opts_mask" "\^," -.BI "unsigned short " "opts_values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- device_spec -device to configure, or XkbUseCoreKbd -.TP -.I \- timeout -seconds idle until AccessXTimeout occurs -.TP -.I \- ctrls_mask -boolean controls to modify -.TP -.I \- ctrls_values -new bits for controls selected by ctrls_mask -.TP -.I \- opts_mask -ax_options to change -.TP -.I \- opts_values -new bits for ax_options selected by opts_mask -.SH DESCRIPTION -.LP -In environments where computers are shared, features such as SlowKeys present a -problem: if SlowKeys is on, the keyboard can appear to be unresponsive because -keys are not accepted until they are held for a certain period of time. To help -solve this problem, Xkb provides an AccessXTimeout control to automatically -change the enabled/disabled state of any boolean controls and to change the -value of the AccessXKeys and AccessXFeedback control attributes if the keyboard -is idle for a specified period of time. - -When a timeout as specified by AccessXTimeout occurs and a control is -consequently modified, Xkb generates an XkbControlsNotify event. For more -information on XkbControlsNotify events. - -.I timeout -specifies the number of seconds the keyboard must be idle before the controls -are modified. -.I ctrls_mask -specifies what controls are to be enabled or disabled, and -.I ctrls_values -specifies whether those controls are to be enabled or disabled. The bit values -correspond to those for enabling and disabling boolean controls using -.I XkbChangeEnabledControls. - The -.I opts_mask -field specifies which attributes of the AccessXKeys and AccessXFeedback controls -are to be changed, and -.I opts_values -specifies the new values for those options. The bit values correspond to those -for the -.I ax_options -field of an XkbDescRec. - -.I XkbSetAccessXTimeout -sends a request to configure the AccessXTimeout control to the server. It does -not wait for a reply, and normally returns True. If a compatible version of the -Xkb extension is not available in the server, -.I XkbSetAccessXTimeout -returns False. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetAccessXTimeout -function returns True when a compatible version of the Xkb extension is available in the server. -.TP 15 -False -The -.I XkbSetAccessXTimeout -function returns False when a compatible version of the Xkb extension is not available in the server. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the keyboard. - -Each structure component has a corresponding mask bit that is used in function calls to -indicate that the structure should be manipulated in some manner, such as allocating it -or freeing it. These masks and their relationships to the fields in the XkbDescRec are -shown in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE - -The structure for the XkbControlsNotify event is defined as follows: -.nf - - typedef struct { - int type; /\(** Xkb extension base event code */ - unsigned long serial; /\(** X server serial number for event */ - Bool send_event; /\(** True => synthetically generated */ - Display * display; /\(** server connection where event generated */ - Time time; /\(** server time when event generated */ - int xkb_type; /\(** XkbCompatMapNotify */ - int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ - unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/ - unsigned int enabled_ctrls; /\(** controls currently enabled in server */ - unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */ - int num_groups; /\(** current number of keyboard groups */ - KeyCode keycode; /\(** != 0 => keycode of key causing change */ - char event_type; /\(** Type of event causing change */ - char req_major; /\(** major event code of event causing change */ - char req_minor; /\(** minor event code of event causing change */ - } XkbControlsNotifyEvent; - -.fi -.SH "SEE ALSO" -.BR XkbChangeEnabledControls (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAccessXTimeout \- Configures the AccessXTimeout options for a keyboard
+device
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetAccessXTimeout
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned short " "timeout" "\^,"
+.BI "unsigned int " "ctrls_mask" "\^,"
+.BI "unsigned int " "ctrls_values" "\^,"
+.BI "unsigned short " "opts_mask" "\^,"
+.BI "unsigned short " "opts_values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device to configure, or XkbUseCoreKbd
+.TP
+.I \- timeout
+seconds idle until AccessXTimeout occurs
+.TP
+.I \- ctrls_mask
+boolean controls to modify
+.TP
+.I \- ctrls_values
+new bits for controls selected by ctrls_mask
+.TP
+.I \- opts_mask
+ax_options to change
+.TP
+.I \- opts_values
+new bits for ax_options selected by opts_mask
+.SH DESCRIPTION
+.LP
+In environments where computers are shared, features such as SlowKeys present a
+problem: if SlowKeys is on, the keyboard can appear to be unresponsive because
+keys are not accepted until they are held for a certain period of time. To help
+solve this problem, Xkb provides an AccessXTimeout control to automatically
+change the enabled/disabled state of any boolean controls and to change the
+value of the AccessXKeys and AccessXFeedback control attributes if the keyboard
+is idle for a specified period of time.
+
+When a timeout as specified by AccessXTimeout occurs and a control is
+consequently modified, Xkb generates an XkbControlsNotify event. For more
+information on XkbControlsNotify events.
+
+.I timeout
+specifies the number of seconds the keyboard must be idle before the controls
+are modified.
+.I ctrls_mask
+specifies what controls are to be enabled or disabled, and
+.I ctrls_values
+specifies whether those controls are to be enabled or disabled. The bit values
+correspond to those for enabling and disabling boolean controls using
+.I XkbChangeEnabledControls.
+ The
+.I opts_mask
+field specifies which attributes of the AccessXKeys and AccessXFeedback controls
+are to be changed, and
+.I opts_values
+specifies the new values for those options. The bit values correspond to those
+for the
+.I ax_options
+field of an XkbDescRec.
+
+.I XkbSetAccessXTimeout
+sends a request to configure the AccessXTimeout control to the server. It does
+not wait for a reply, and normally returns True. If a compatible version of the
+Xkb extension is not available in the server,
+.I XkbSetAccessXTimeout
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetAccessXTimeout
+function returns True when a compatible version of the Xkb extension is available in the server.
+.TP 15
+False
+The
+.I XkbSetAccessXTimeout
+function returns False when a compatible version of the Xkb extension is not available in the server.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function calls to
+indicate that the structure should be manipulated in some manner, such as allocating it
+or freeing it. These masks and their relationships to the fields in the XkbDescRec are
+shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The structure for the XkbControlsNotify event is defined as follows:
+.nf
+
+ typedef struct {
+ int type; /\(** Xkb extension base event code */
+ unsigned long serial; /\(** X server serial number for event */
+ Bool send_event; /\(** True => synthetically generated */
+ Display * display; /\(** server connection where event generated */
+ Time time; /\(** server time when event generated */
+ int xkb_type; /\(** XkbCompatMapNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */
+ unsigned int changed_ctrls; /\(** bits indicating which controls data have changed*/
+ unsigned int enabled_ctrls; /\(** controls currently enabled in server */
+ unsigned int enabled_ctrl_changes; /\(** bits indicating enabled/disabled controls */
+ int num_groups; /\(** current number of keyboard groups */
+ KeyCode keycode; /\(** != 0 => keycode of key causing change */
+ char event_type; /\(** Type of event causing change */
+ char req_major; /\(** major event code of event causing change */
+ char req_minor; /\(** minor event code of event causing change */
+ } XkbControlsNotifyEvent;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetAutoRepeatRate.man b/libX11/man/xkb/XkbSetAutoRepeatRate.man index bbc3740f6..cdcbe120b 100644 --- a/libX11/man/xkb/XkbSetAutoRepeatRate.man +++ b/libX11/man/xkb/XkbSetAutoRepeatRate.man @@ -1,98 +1,98 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetAutoRepeatRate \- Sets the attributes of the RepeatKeys control for a -keyboard device -.SH SYNOPSIS -.HP -.B Bool XkbSetAutoRepeatRate -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "timeout" "\^," -.BI "unsigned int " "interval" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- device_spec -device to configure, or XkbUseCoreKbd -.TP -.I \- timeout -initial delay, ms -.TP -.I \- interval -delay between repeats, ms -.SH DESCRIPTION -.LP -The core protocol allows only control over whether or not the entire keyboard or -individual keys should auto-repeat when held down. RepeatKeys is a boolean -control that extends this capability by adding control over the delay until a -key begins to repeat and the rate at which it repeats. RepeatKeys is coupled -with the core auto-repeat control: when RepeatKeys is enabled or disabled, the -core auto-repeat is enabled or disabled and vice versa. - -Auto-repeating keys are controlled by two attributes. The first, -.I timeout, -is the delay after the initial press of an auto-repeating key and the first -generated repeat event. The second, -.I interval, -is the delay between all subsequent generated repeat events. As with all boolean -controls, configuring the attributes that determine how the control operates -does not automatically enable the control as a whole. - -.I XkbSetAutoRepeatRate -sends a request to the X server to configure the AutoRepeat control attributes -to the values specified in -.I timeout -and -.I interval. - -.I XkbSetAutoRepeatRate -does not wait for a reply; it normally returns True. Specifying a zero value for -either -.I timeout -or -.I interval -causes the server to generate a BadValue protocol error. If a compatible version -of the Xkb extension is not available in the server, -.I XkbSetAutoRepeatRate -returns False. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetAutoRepeatRate -function returns True normally. -.TP 15 -False -The -.I XkbSetAutoRepeatRate -function returns False if a compatible version of the Xkb extension is not -available in the server. -.SH DIAGNOSTICS -.TP 15 -.B BadValue -An argument is out of range +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetAutoRepeatRate __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAutoRepeatRate \- Sets the attributes of the RepeatKeys control for a
+keyboard device
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetAutoRepeatRate
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "timeout" "\^,"
+.BI "unsigned int " "interval" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device to configure, or XkbUseCoreKbd
+.TP
+.I \- timeout
+initial delay, ms
+.TP
+.I \- interval
+delay between repeats, ms
+.SH DESCRIPTION
+.LP
+The core protocol allows only control over whether or not the entire keyboard or
+individual keys should auto-repeat when held down. RepeatKeys is a boolean
+control that extends this capability by adding control over the delay until a
+key begins to repeat and the rate at which it repeats. RepeatKeys is coupled
+with the core auto-repeat control: when RepeatKeys is enabled or disabled, the
+core auto-repeat is enabled or disabled and vice versa.
+
+Auto-repeating keys are controlled by two attributes. The first,
+.I timeout,
+is the delay after the initial press of an auto-repeating key and the first
+generated repeat event. The second,
+.I interval,
+is the delay between all subsequent generated repeat events. As with all boolean
+controls, configuring the attributes that determine how the control operates
+does not automatically enable the control as a whole.
+
+.I XkbSetAutoRepeatRate
+sends a request to the X server to configure the AutoRepeat control attributes
+to the values specified in
+.I timeout
+and
+.I interval.
+
+.I XkbSetAutoRepeatRate
+does not wait for a reply; it normally returns True. Specifying a zero value for
+either
+.I timeout
+or
+.I interval
+causes the server to generate a BadValue protocol error. If a compatible version
+of the Xkb extension is not available in the server,
+.I XkbSetAutoRepeatRate
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetAutoRepeatRate
+function returns True normally.
+.TP 15
+False
+The
+.I XkbSetAutoRepeatRate
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH DIAGNOSTICS
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbSetAutoResetControls.man b/libX11/man/xkb/XkbSetAutoResetControls.man index b30942a14..a3956f60f 100644 --- a/libX11/man/xkb/XkbSetAutoResetControls.man +++ b/libX11/man/xkb/XkbSetAutoResetControls.man @@ -1,100 +1,100 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetAutoResetControls \- Changes the current values of the AutoReset control -attributes -.SH SYNOPSIS -.HP -.B Bool XkbSetAutoResetControls -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "changes" "\^," -.BI "unsigned int *" "auto_ctrls" "\^," -.BI "unsigned int *" "auto_values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- changes -controls for which to change auto-reset values -.TP -.I \- auto_ctrls -controls from changes that should auto reset -.TP -.I \- auto_values -1 bit => auto-reset on -.SH DESCRIPTION -.LP -.I XkbSetAutoResetControls -changes the auto-reset status and associated auto-reset values for the controls -selected by -.I changes. -For any control selected by -.I changes, -if the corresponding bit is set in -.I auto_ctrls, -the control is configured to auto-reset when the client exits. If the -corresponding bit in -.I auto_values -is on, the control is turned on when the client exits; if zero, the control is -turned off when the client exits. For any control selected by -.I changes, -if the corresponding bit is not set in -.I auto_ctrls, -the control is configured to not reset when the client exits. - -For example: - -.nf -To leave the auto-reset controls for StickyKeys the way they are: - - ok = XkbSetAutoResetControls(dpy, 0, 0, 0); - -To change the auto-reset controls so that StickyKeys are unaffected when the -client exits: - - ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, 0, 0); - -To change the auto-reset controls so that StickyKeys are turned off when the -client exits: - - ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, 0); - -To change the auto-reset controls so that StickyKeys are turned on when the -client exits: - - ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, -XkbStickyKeysMask); - -.fi -.I XkbSetAutoResetControls -backfills -.I auto_ctrls -and -.I auto_values -with the auto-reset controls for this particular client. Note that all of the -bits are valid in the returned values, not just the ones selected in the -.I changes -mask. +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetAutoResetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetAutoResetControls \- Changes the current values of the AutoReset control
+attributes
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetAutoResetControls
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "changes" "\^,"
+.BI "unsigned int *" "auto_ctrls" "\^,"
+.BI "unsigned int *" "auto_values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- changes
+controls for which to change auto-reset values
+.TP
+.I \- auto_ctrls
+controls from changes that should auto reset
+.TP
+.I \- auto_values
+1 bit => auto-reset on
+.SH DESCRIPTION
+.LP
+.I XkbSetAutoResetControls
+changes the auto-reset status and associated auto-reset values for the controls
+selected by
+.I changes.
+For any control selected by
+.I changes,
+if the corresponding bit is set in
+.I auto_ctrls,
+the control is configured to auto-reset when the client exits. If the
+corresponding bit in
+.I auto_values
+is on, the control is turned on when the client exits; if zero, the control is
+turned off when the client exits. For any control selected by
+.I changes,
+if the corresponding bit is not set in
+.I auto_ctrls,
+the control is configured to not reset when the client exits.
+
+For example:
+
+.nf
+To leave the auto-reset controls for StickyKeys the way they are:
+
+ ok = XkbSetAutoResetControls(dpy, 0, 0, 0);
+
+To change the auto-reset controls so that StickyKeys are unaffected when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, 0, 0);
+
+To change the auto-reset controls so that StickyKeys are turned off when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, 0);
+
+To change the auto-reset controls so that StickyKeys are turned on when the
+client exits:
+
+ ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask,
+XkbStickyKeysMask);
+
+.fi
+.I XkbSetAutoResetControls
+backfills
+.I auto_ctrls
+and
+.I auto_values
+with the auto-reset controls for this particular client. Note that all of the
+bits are valid in the returned values, not just the ones selected in the
+.I changes
+mask.
diff --git a/libX11/man/xkb/XkbSetBounceKeysDelay.man b/libX11/man/xkb/XkbSetBounceKeysDelay.man index 5563c0c69..15ac5d10b 100644 --- a/libX11/man/xkb/XkbSetBounceKeysDelay.man +++ b/libX11/man/xkb/XkbSetBounceKeysDelay.man @@ -1,5 +1,5 @@ '\" t
-.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbSetCompatMap.man b/libX11/man/xkb/XkbSetCompatMap.man index a16428f6c..eeff71cb9 100644 --- a/libX11/man/xkb/XkbSetCompatMap.man +++ b/libX11/man/xkb/XkbSetCompatMap.man @@ -1,203 +1,203 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetCompatMap \- Modify the server's compatibility map -.SH SYNOPSIS -.HP -.B Bool XkbSetCompatMap -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^," -.BI "Bool " "update_actions" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to server -.TP -.I \- which -mask of compat map components to set -.TP -.I \- xkb -source for compat map components -.TP -.I \- update_actions -True => apply to server's keyboard map -.SH DESCRIPTION -.LP -To modify the server's compatibility map, first modify a local copy of the Xkb -compatibility map, then call -.I XkbSetCompatMap. -You may allocate a new compatibility map for this purpose using -.I XkbAllocCompatMap. -You may also use a compatibility map from another server, although you need to -adjust the -.I device_spec -field in the XkbDescRec accordingly. Note that symbol interpretations in a -compatibility map ( -.I sym_interpret, -the vector of XkbSymInterpretRec structures) are also allocated using this same -function. - -.I XkbSetCompatMap -copies compatibility map information from the keyboard description in -.I xkb -to the server specified in -.I display -'s compatibility map for the device specified by the -.I device_spec -field of -.I xkb. -Unless you have specifically modified this field, it is the default keyboard -device. -.I which -specifies the compatibility map components to be set, and is an inclusive OR of -the bits shown in Table 1. - -.TS -c s s -l l l -l l lw(3i). -Table 1 Compatibility Map Component Masks -_ -Mask Value Affecting -_ -XkbSymInterpMask (1<<0) Symbol interpretations -XkbGroupCompatMask (1<<1) Group maps -XkbAllCompatMask (0x3) All compatibility map components -.TE - -After updating its compatibility map for the specified device, if -.I update_actions -is True, the server applies the new compatibility map to its entire keyboard for -the device to generate a new set of key semantics, compatibility state, and a -new core keyboard map. If -.I update_actions -is False, the new compatibility map is not used to generate any modifications to -the current device semantics, state, or core keyboard map. One reason for not -applying the compatibility map immediately would be if one server was being -configured to match another on a piecemeal basis; the map should not be applied -until everything is updated. To force an update at a later time, use -.I XkbSetCompatMap -specifying -.I which -as zero and -.I update_actions -as True. - -.I XkbSetCompatMap -returns True if successful and False if unsuccessful. The server may report -problems it encounters when processing the request subsequently via protocol -errors. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetCompatMap -function returns True if successful. -.TP 15 -False -The -.I XkbSetCompatMap -function returns False if unsuccessful. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 2. - -.TS -c s s -l l l -l l l. -Table 2 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE - -The XkbSymInterpretRec structure specifies a symbol interpretation: -.nf - - typedef struct { - KeySym sym; /\(** keysym of interest or NULL */ - unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */ - unsigned char match; /\(** specifies how mods is interpreted */ - unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */ - unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */ - XkbAnyAction act; /\(** action to bind to symbol position on key */ - } XkbSymInterpretRec,*XkbSymInterpretPtr; - -.fi -.SH "SEE ALSO" -.BR XkbAllocCompatMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetCompatMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetCompatMap \- Modify the server's compatibility map
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetCompatMap
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^,"
+.BI "Bool " "update_actions" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to server
+.TP
+.I \- which
+mask of compat map components to set
+.TP
+.I \- xkb
+source for compat map components
+.TP
+.I \- update_actions
+True => apply to server's keyboard map
+.SH DESCRIPTION
+.LP
+To modify the server's compatibility map, first modify a local copy of the Xkb
+compatibility map, then call
+.I XkbSetCompatMap.
+You may allocate a new compatibility map for this purpose using
+.I XkbAllocCompatMap.
+You may also use a compatibility map from another server, although you need to
+adjust the
+.I device_spec
+field in the XkbDescRec accordingly. Note that symbol interpretations in a
+compatibility map (
+.I sym_interpret,
+the vector of XkbSymInterpretRec structures) are also allocated using this same
+function.
+
+.I XkbSetCompatMap
+copies compatibility map information from the keyboard description in
+.I xkb
+to the server specified in
+.I display
+'s compatibility map for the device specified by the
+.I device_spec
+field of
+.I xkb.
+Unless you have specifically modified this field, it is the default keyboard
+device.
+.I which
+specifies the compatibility map components to be set, and is an inclusive OR of
+the bits shown in Table 1.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 1 Compatibility Map Component Masks
+_
+Mask Value Affecting
+_
+XkbSymInterpMask (1<<0) Symbol interpretations
+XkbGroupCompatMask (1<<1) Group maps
+XkbAllCompatMask (0x3) All compatibility map components
+.TE
+
+After updating its compatibility map for the specified device, if
+.I update_actions
+is True, the server applies the new compatibility map to its entire keyboard for
+the device to generate a new set of key semantics, compatibility state, and a
+new core keyboard map. If
+.I update_actions
+is False, the new compatibility map is not used to generate any modifications to
+the current device semantics, state, or core keyboard map. One reason for not
+applying the compatibility map immediately would be if one server was being
+configured to match another on a piecemeal basis; the map should not be applied
+until everything is updated. To force an update at a later time, use
+.I XkbSetCompatMap
+specifying
+.I which
+as zero and
+.I update_actions
+as True.
+
+.I XkbSetCompatMap
+returns True if successful and False if unsuccessful. The server may report
+problems it encounters when processing the request subsequently via protocol
+errors.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetCompatMap
+function returns True if successful.
+.TP 15
+False
+The
+.I XkbSetCompatMap
+function returns False if unsuccessful.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 2.
+
+.TS
+c s s
+l l l
+l l l.
+Table 2 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+
+The XkbSymInterpretRec structure specifies a symbol interpretation:
+.nf
+
+ typedef struct {
+ KeySym sym; /\(** keysym of interest or NULL */
+ unsigned char flags; /\(** XkbSI_AutoRepeat, XkbSI_LockingKey */
+ unsigned char match; /\(** specifies how mods is interpreted */
+ unsigned char mods; /\(** modifier bits, correspond to eight real modifiers */
+ unsigned char virtual_mod; /\(** 1 modifier to add to key virtual mod map */
+ XkbAnyAction act; /\(** action to bind to symbol position on key */
+ } XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+.fi
+.SH "SEE ALSO"
+.BR XkbAllocCompatMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetControls.man b/libX11/man/xkb/XkbSetControls.man index cf927dd48..269e19c99 100644 --- a/libX11/man/xkb/XkbSetControls.man +++ b/libX11/man/xkb/XkbSetControls.man @@ -1,167 +1,167 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetControls \- Copies changes to the X server based on a modified ctrls -structure in a local copy of the keyboard description -.SH SYNOPSIS -.HP -.B Bool XkbSetControls -.BI "(\^Display *" "display" "\^," -.BI "unsigned long " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- which -mask of controls requested -.TP -.I \- xkb -keyboard description for controls information -.SH DESCRIPTION -.LP -For each bit that is set in the -.I which -parameter, -.I XkbSetControls -sends the corresponding values from the -.I xkb->ctrls -field to the server. Valid values for -.I which -are any combination of the masks listed in Table 1 that have "ok" in the -.I which -column. - -Table 1 shows the actual values for the individual mask bits used to select -controls for -modification and to enable and disable the control. Note that the same mask bit -is used to -specify general modifications to the parameters used to configure the control -(which), and to -enable and disable the control (enabled_ctrls). The anomalies in the table (no -"ok" in column) -are for controls that have no configurable attributes; and for controls that are -not boolean -controls and therefore cannot be enabled or disabled. - -.TS -c s s s -l l l l -l l l l -l l l l. -Table 1 Controls Mask Bits -_ -Mask Bit which or enabled Value - changed_ctrls _ctrls -_ -XkbRepeatKeysMask ok ok (1L<<0) -XkbSlowKeysMask ok ok (1L<<1) -XkbBounceKeysMask ok ok (1L<<2) -XkbStickyKeysMask ok ok (1L<<3) -XkbMouseKeysMask ok ok (1L<<4) -XkbMouseKeysAccelMask ok ok (1L<<5) -XkbAccessXKeysMask ok ok (1L<<6) -XkbAccessXTimeoutMask ok ok (1L<<7) -XkbAccessXFeedbackMask ok ok (1L<<8) -XkbAudibleBellMask ok (1L<<9) -XkbOverlay1Mask ok (1L<<10) -XkbOverlay2Mask ok (1L<<11) -XkbIgnoreGroupLockMask ok (1L<<12) -XkbGroupsWrapMask ok (1L<<27) -XkbInternalModsMask ok (1L<<28) -XkbIgnoreLockModsMask ok (1L<<29) -XkbPerKeyRepeatMask ok (1L<<30) -XkbControlsEnabledMask ok (1L<<31) -XkbAccessXOptionsMask ok ok (XkbStickyKeysMask | - XkbAccessXFeedbackMask) -XkbAllBooleanCtrlsMask ok (0x00001FFF) -XkbAllControlsMask ok (0xF8001FFF) -.TE - -If -.I xkb->ctrls -is NULL, the server does not support a compatible version of Xkb, or the Xkb -extension has not been properly initialized, -.I XkbSetControls -returns False. Otherwise, it sends the request to the X server and returns True. - -Note that changes to attributes of controls in the XkbControlsRec structure are -apparent only when the associated control is enabled, although the corresponding -values are still updated in the X server. For example, the -.I repeat_delay -and -.I repeat_interval -fields are ignored unless the RepeatKeys control is enabled (that is, the X -server's equivalent of -.I xkb->ctrls -has XkbRepeatKeyMask set in -.I enabled_ctrls). -It is permissible to modify the attributes of a control in one call to -.I XkbSetControls -and enable the control in a subsequent call. See -.I XkbChangeEnabledControls -for more information on enabling and disabling controls. - -Note that the -.I enabled_ctrls -field is itself a control - the EnabledControls control. As such, to set a -specific configuration of enabled and disabled boolean controls, you must set -.I enabled_ctrls -to the appropriate bits to enable only the controls you want and disable all -others, then specify the XkbControlsEnabledMask in a call to -.I XkbSetControls. - -Because this is somewhat awkward if all you want to do is enable and disable -controls, and not modify any of their attributes, a convenience function is also -provided for this purpose, -.I XkbChangeEnabledControls. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetControls -function returns True when it sends the request to the X server. -.TP 15 -False -The -.I XkbSetControls -function returns False when -.I xkb->ctrls -is NULL, the server does not support a compatible version of Xkb, or the Xkb -extension has not been properly initialized. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbChangeEnabledControls (__libmansuffix__), -.BR XkbFreeControls (__libmansuffix__) - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetControls \- Copies changes to the X server based on a modified ctrls
+structure in a local copy of the keyboard description
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetControls
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned long " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- which
+mask of controls requested
+.TP
+.I \- xkb
+keyboard description for controls information
+.SH DESCRIPTION
+.LP
+For each bit that is set in the
+.I which
+parameter,
+.I XkbSetControls
+sends the corresponding values from the
+.I xkb->ctrls
+field to the server. Valid values for
+.I which
+are any combination of the masks listed in Table 1 that have "ok" in the
+.I which
+column.
+
+Table 1 shows the actual values for the individual mask bits used to select
+controls for
+modification and to enable and disable the control. Note that the same mask bit
+is used to
+specify general modifications to the parameters used to configure the control
+(which), and to
+enable and disable the control (enabled_ctrls). The anomalies in the table (no
+"ok" in column)
+are for controls that have no configurable attributes; and for controls that are
+not boolean
+controls and therefore cannot be enabled or disabled.
+
+.TS
+c s s s
+l l l l
+l l l l
+l l l l.
+Table 1 Controls Mask Bits
+_
+Mask Bit which or enabled Value
+ changed_ctrls _ctrls
+_
+XkbRepeatKeysMask ok ok (1L<<0)
+XkbSlowKeysMask ok ok (1L<<1)
+XkbBounceKeysMask ok ok (1L<<2)
+XkbStickyKeysMask ok ok (1L<<3)
+XkbMouseKeysMask ok ok (1L<<4)
+XkbMouseKeysAccelMask ok ok (1L<<5)
+XkbAccessXKeysMask ok ok (1L<<6)
+XkbAccessXTimeoutMask ok ok (1L<<7)
+XkbAccessXFeedbackMask ok ok (1L<<8)
+XkbAudibleBellMask ok (1L<<9)
+XkbOverlay1Mask ok (1L<<10)
+XkbOverlay2Mask ok (1L<<11)
+XkbIgnoreGroupLockMask ok (1L<<12)
+XkbGroupsWrapMask ok (1L<<27)
+XkbInternalModsMask ok (1L<<28)
+XkbIgnoreLockModsMask ok (1L<<29)
+XkbPerKeyRepeatMask ok (1L<<30)
+XkbControlsEnabledMask ok (1L<<31)
+XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
+ XkbAccessXFeedbackMask)
+XkbAllBooleanCtrlsMask ok (0x00001FFF)
+XkbAllControlsMask ok (0xF8001FFF)
+.TE
+
+If
+.I xkb->ctrls
+is NULL, the server does not support a compatible version of Xkb, or the Xkb
+extension has not been properly initialized,
+.I XkbSetControls
+returns False. Otherwise, it sends the request to the X server and returns True.
+
+Note that changes to attributes of controls in the XkbControlsRec structure are
+apparent only when the associated control is enabled, although the corresponding
+values are still updated in the X server. For example, the
+.I repeat_delay
+and
+.I repeat_interval
+fields are ignored unless the RepeatKeys control is enabled (that is, the X
+server's equivalent of
+.I xkb->ctrls
+has XkbRepeatKeyMask set in
+.I enabled_ctrls).
+It is permissible to modify the attributes of a control in one call to
+.I XkbSetControls
+and enable the control in a subsequent call. See
+.I XkbChangeEnabledControls
+for more information on enabling and disabling controls.
+
+Note that the
+.I enabled_ctrls
+field is itself a control - the EnabledControls control. As such, to set a
+specific configuration of enabled and disabled boolean controls, you must set
+.I enabled_ctrls
+to the appropriate bits to enable only the controls you want and disable all
+others, then specify the XkbControlsEnabledMask in a call to
+.I XkbSetControls.
+
+Because this is somewhat awkward if all you want to do is enable and disable
+controls, and not modify any of their attributes, a convenience function is also
+provided for this purpose,
+.I XkbChangeEnabledControls.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetControls
+function returns True when it sends the request to the X server.
+.TP 15
+False
+The
+.I XkbSetControls
+function returns False when
+.I xkb->ctrls
+is NULL, the server does not support a compatible version of Xkb, or the Xkb
+extension has not been properly initialized.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeEnabledControls (__libmansuffix__),
+.BR XkbFreeControls (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbSetDebuggingFlags.man b/libX11/man/xkb/XkbSetDebuggingFlags.man index 1ad5a739e..1c2028f44 100644 --- a/libX11/man/xkb/XkbSetDebuggingFlags.man +++ b/libX11/man/xkb/XkbSetDebuggingFlags.man @@ -1,169 +1,169 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetDebuggingFlags __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetDebuggingFlags \- Change the values of any of the debug controls -.SH SYNOPSIS -.HP -.B Bool XkbSetDebuggingFlags -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "mask" "\^," -.BI "unsigned int " "flags" "\^," -.BI "char *" "msg" "\^," -.BI "unsigned int " "ctrls_mask" "\^," -.BI "unsigned int " "ctrls" "\^," -.BI "unsigned int *" "ret_flags" "\^," -.BI "unsigned int *" "ret_ctrls" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- mask -mask selecting debug output flags to change -.TP -.I \- flags -values for debug output flags selected by mask -.TP -.I \- msg -message to print right now -.TP -.I \- ctrls_mask -mask selecting debug controls to change -.TP -.I \- ctrls -values for debug controls selected by ctrls_mask -.TP -.I \- ret_flags -resulting state of all debug output flags -.TP -.I \- ret_ctrls -resulting state of all debug controls -.SH DESCRIPTION -.LP -The debugging aids are intended for use primarily by Xkb implementors and are -optional in any implementation. - -There are two bitmasks that may be used to control debugging. One bitmask -controls the output of debugging information, and the other controls behavior. -Both bitmasks are initially all zeros. - -To change the values of any of the debug controls, use -.I XkbSetDebuggingFlags. - -.I XkbSetDebuggingFlags -modifies the debug output flags as specified by -.I mask -and -flags, -modifies the debug controls flags as specified by -.I ctrls_mask -and -ctrls, -prints the message -.I msg, -and backfills -.I ret_flags -and -.I ret_ctrls -with the resulting debug output and debug controls flags. - -When bits are set in the debug output masks, -.I mask -and -.I flags, -Xkb prints debug information corresponding to each bit at appropriate points -during its processing. The device to which the output is written is -implementation-dependent, but is normally the same device to which X server -error messages are directed; thus the bits that can be set in -.I mask -and -.I flags -is implementation-specific. To turn on a debug output selection, set the bit for -the output in the -.I mask -parameter and set the corresponding bit in the -.I flags -parameter. To turn off event selection for an event, set the bit for the output -in the -.I mask -parameter and do not set the corresponding bit in the -.I flags -parameter. - -When bits are set in the debug controls masks, -.I ctrls_mask -and -.I ctrls, -Xkb modifies its behavior according to each controls bit. -.I ctrls_mask -and -ctrls -are related in the same way that -.I mask -and -.I flags -are. The valid controls bits are defined in Table 1. - -.TS -c s s -l l l. -Table 1 Debug Control Masks -_ -Debug Control Mask Value Meaning -_ -XkbDF_DisableLocks (1 << 0) Disable actions that lock modifiers -.TE - -.I XkbSetDebuggingFlags -returns True if successful and False otherwise. The only protocol error it may -generate is BadAlloc, if for some reason it is unable to allocate storage. - -.I XkbSetDebuggingFlags -is intended for developer use and may be disabled in production X servers. If it -is disabled, -.I XkbSetDebuggingFlags -has no effect and does not generate any protocol errors. - -The message in -.I msg -is written immediately. The device to which it is written is implementation -dependent but is normally the same device where X server error messages are -directed. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetDebuggingFlags -function returns True when successful. -.TP 15 -False -The -.I XkbSetDebuggingFlags -function returns False when not successful. -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetDebuggingFlags __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDebuggingFlags \- Change the values of any of the debug controls
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetDebuggingFlags
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "mask" "\^,"
+.BI "unsigned int " "flags" "\^,"
+.BI "char *" "msg" "\^,"
+.BI "unsigned int " "ctrls_mask" "\^,"
+.BI "unsigned int " "ctrls" "\^,"
+.BI "unsigned int *" "ret_flags" "\^,"
+.BI "unsigned int *" "ret_ctrls" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- mask
+mask selecting debug output flags to change
+.TP
+.I \- flags
+values for debug output flags selected by mask
+.TP
+.I \- msg
+message to print right now
+.TP
+.I \- ctrls_mask
+mask selecting debug controls to change
+.TP
+.I \- ctrls
+values for debug controls selected by ctrls_mask
+.TP
+.I \- ret_flags
+resulting state of all debug output flags
+.TP
+.I \- ret_ctrls
+resulting state of all debug controls
+.SH DESCRIPTION
+.LP
+The debugging aids are intended for use primarily by Xkb implementors and are
+optional in any implementation.
+
+There are two bitmasks that may be used to control debugging. One bitmask
+controls the output of debugging information, and the other controls behavior.
+Both bitmasks are initially all zeros.
+
+To change the values of any of the debug controls, use
+.I XkbSetDebuggingFlags.
+
+.I XkbSetDebuggingFlags
+modifies the debug output flags as specified by
+.I mask
+and
+flags,
+modifies the debug controls flags as specified by
+.I ctrls_mask
+and
+ctrls,
+prints the message
+.I msg,
+and backfills
+.I ret_flags
+and
+.I ret_ctrls
+with the resulting debug output and debug controls flags.
+
+When bits are set in the debug output masks,
+.I mask
+and
+.I flags,
+Xkb prints debug information corresponding to each bit at appropriate points
+during its processing. The device to which the output is written is
+implementation-dependent, but is normally the same device to which X server
+error messages are directed; thus the bits that can be set in
+.I mask
+and
+.I flags
+is implementation-specific. To turn on a debug output selection, set the bit for
+the output in the
+.I mask
+parameter and set the corresponding bit in the
+.I flags
+parameter. To turn off event selection for an event, set the bit for the output
+in the
+.I mask
+parameter and do not set the corresponding bit in the
+.I flags
+parameter.
+
+When bits are set in the debug controls masks,
+.I ctrls_mask
+and
+.I ctrls,
+Xkb modifies its behavior according to each controls bit.
+.I ctrls_mask
+and
+ctrls
+are related in the same way that
+.I mask
+and
+.I flags
+are. The valid controls bits are defined in Table 1.
+
+.TS
+c s s
+l l l.
+Table 1 Debug Control Masks
+_
+Debug Control Mask Value Meaning
+_
+XkbDF_DisableLocks (1 << 0) Disable actions that lock modifiers
+.TE
+
+.I XkbSetDebuggingFlags
+returns True if successful and False otherwise. The only protocol error it may
+generate is BadAlloc, if for some reason it is unable to allocate storage.
+
+.I XkbSetDebuggingFlags
+is intended for developer use and may be disabled in production X servers. If it
+is disabled,
+.I XkbSetDebuggingFlags
+has no effect and does not generate any protocol errors.
+
+The message in
+.I msg
+is written immediately. The device to which it is written is implementation
+dependent but is normally the same device where X server error messages are
+directed.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetDebuggingFlags
+function returns True when successful.
+.TP 15
+False
+The
+.I XkbSetDebuggingFlags
+function returns False when not successful.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
diff --git a/libX11/man/xkb/XkbSetDetectableAutorepeat.man b/libX11/man/xkb/XkbSetDetectableAutorepeat.man index 2507985b1..f519f3224 100644 --- a/libX11/man/xkb/XkbSetDetectableAutorepeat.man +++ b/libX11/man/xkb/XkbSetDetectableAutorepeat.man @@ -1,4 +1,4 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved.
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining a
.\" copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/man/xkb/XkbSetDeviceButtonActions.man b/libX11/man/xkb/XkbSetDeviceButtonActions.man index 64fe21444..d08812d2d 100644 --- a/libX11/man/xkb/XkbSetDeviceButtonActions.man +++ b/libX11/man/xkb/XkbSetDeviceButtonActions.man @@ -1,90 +1,90 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetDeviceButtonActions \- Change only the button actions for an input extension device -.SH SYNTAX -.HP -.B Bool XkbSetDeviceButtonActions -.BI "(\^Display *" "dpy" "\^," -.BI "XkbDeviceInfoPtr " "device" "\^," -.BI "unsigned int " "first_button" "\^," -.BI "unsigned int " "num_buttons" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- device -structure defining the device and modifications -.TP -.I \- first_button -number of first button to update, 0 relative -.TP -.I \- num_buttons -number of buttons to update -.SH DESCRIPTION -.LP -.I XkbSetDeviceButtonActions -assigns actions to the buttons of the device specified in -.I device_info->device_spec. -Actions are assigned to -.I num_buttons -buttons beginning with -.I first_button -and are taken from the actions specified in -.I device_info->btn_acts. - -If the server does not support assignment of Xkb actions to extension device buttons, -.I XkbSetDeviceButtonActions -has no effect and returns False. If the device has no buttons or if -.I first_button -or -.I num_buttons -specify buttons outside of the valid range as determined by -.I device_info->num_btns, -the function has no effect and returns False. Otherwise, -.I XkbSetDeviceButtonActions -sends a request to the server to change the actions for the specified buttons and returns -True. - -If the actual request sent to the server involved illegal button numbers, a BadValue protocol -error is generated. If an invalid device identifier is specified in -.I device_info->device_spec, -a BadKeyboard protocol error results. If the actual device specified in -.I device_info->device_spec -does not contain buttons and a request affecting buttons is made, a BadMatch protocol error is -generated. -.SH DIAGNOSTICS -.TP 15 -.B BadKeyboard -The device specified was not a valid core or input extension device -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has correct type -and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetDeviceButtonActions __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDeviceButtonActions \- Change only the button actions for an input extension device
+.SH SYNTAX
+.HP
+.B Bool XkbSetDeviceButtonActions
+.BI "(\^Display *" "dpy" "\^,"
+.BI "XkbDeviceInfoPtr " "device" "\^,"
+.BI "unsigned int " "first_button" "\^,"
+.BI "unsigned int " "num_buttons" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- device
+structure defining the device and modifications
+.TP
+.I \- first_button
+number of first button to update, 0 relative
+.TP
+.I \- num_buttons
+number of buttons to update
+.SH DESCRIPTION
+.LP
+.I XkbSetDeviceButtonActions
+assigns actions to the buttons of the device specified in
+.I device_info->device_spec.
+Actions are assigned to
+.I num_buttons
+buttons beginning with
+.I first_button
+and are taken from the actions specified in
+.I device_info->btn_acts.
+
+If the server does not support assignment of Xkb actions to extension device buttons,
+.I XkbSetDeviceButtonActions
+has no effect and returns False. If the device has no buttons or if
+.I first_button
+or
+.I num_buttons
+specify buttons outside of the valid range as determined by
+.I device_info->num_btns,
+the function has no effect and returns False. Otherwise,
+.I XkbSetDeviceButtonActions
+sends a request to the server to change the actions for the specified buttons and returns
+True.
+
+If the actual request sent to the server involved illegal button numbers, a BadValue protocol
+error is generated. If an invalid device identifier is specified in
+.I device_info->device_spec,
+a BadKeyboard protocol error results. If the actual device specified in
+.I device_info->device_spec
+does not contain buttons and a request affecting buttons is made, a BadMatch protocol error is
+generated.
+.SH DIAGNOSTICS
+.TP 15
+.B BadKeyboard
+The device specified was not a valid core or input extension device
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has correct type
+and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
diff --git a/libX11/man/xkb/XkbSetDeviceInfo.man b/libX11/man/xkb/XkbSetDeviceInfo.man index a51e32dda..9577fe10c 100644 --- a/libX11/man/xkb/XkbSetDeviceInfo.man +++ b/libX11/man/xkb/XkbSetDeviceInfo.man @@ -1,221 +1,221 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetDeviceInfo \- Modify some or all of the characteristics of an X Input -Extension device -.SH SYNOPSIS -.HP -.B Bool XkbSetDeviceInfo -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDeviceInfoPtr " "device_info" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- which -mask indicating characteristics to modify -.TP -.I \- device_info -structure defining the device and modifications -.SH DESCRIPTION -.LP -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 -.I XkbSetDeviceInfo, -or, to save network traffic, use an XkbDeviceChangesRec structure and call -.I XkbChangeDeviceInfo -to download the changes to the server. - -.I XkbSetDeviceInfo -sends a request to the server to modify the characteristics of the device -specified in the -.I device_info -structure. The particular characteristics modified are identified by the bits -set in -.I which -and take their values from the relevant fields in -device_info (see Table 1). XkbSetDeviceInfo returns True if the request was -successfully 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. -.bp -.nf - 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 -.fi - -The -.I 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 -.I which -are valid for the device, but the server does not support assignment of one or -more of them, that particular portion of the request is ignored. - -If the device specified in -.I 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 -BadMatch protocol error results. - -If the XkbXI_ButtonActionsMask bit is set in the -.I supported -mask returned by -.I 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 -.I which, -the actions for all buttons specified in -.I device_info -are set to the XkbActions specified in -.I device_info->btn_acts. -If the number of buttons requested to be updated is not valid for the device, -.I XkbSetDeviceInfo -returns False and a BadValue protocol error results. - -If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set in the -.I supported -mask returned by -.I 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 -.I which, -the indicator maps and / or names for all -.I device_info->num_leds -indicator devices specified in -.I device_info->leds -are set to the maps and / or names specified in -.I device_info->leds. device_info->leds->led_class -and -.I 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 -.I 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 -.I device_info->leds->names -are not a valid Atom or None, a BadAtom protocol error results. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetDeviceInfo -function returns True if the request was successfully sent to the server. -.TP 15 -False -The -.I XkbSetDeviceInfo -function returns False if the X server implementation does not allow interaction -between the X input extension and the Xkb Extension. -.SH STRUCTURES -.LP -Changes to an Xkb extension device may be tracked by listening to -XkbDeviceExtensionNotify events and accumulating the changes in an -XkbDeviceChangesRec structure. The changes noted in the structure may then be -used in subsequent operations to update either a server configuration or a local -copy of an Xkb extension device configuration. The changes structure is defined -as follows: -.nf - -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; - -.fi -.SH DIAGNOSTICS -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbChangeDeviceInfo (__libmansuffix__), -.BR XkbGetDeviceInfo (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetDeviceInfo __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetDeviceInfo \- Modify some or all of the characteristics of an X Input
+Extension device
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetDeviceInfo
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDeviceInfoPtr " "device_info" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask indicating characteristics to modify
+.TP
+.I \- device_info
+structure defining the device and modifications
+.SH DESCRIPTION
+.LP
+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
+.I XkbSetDeviceInfo,
+or, to save network traffic, use an XkbDeviceChangesRec structure and call
+.I XkbChangeDeviceInfo
+to download the changes to the server.
+
+.I XkbSetDeviceInfo
+sends a request to the server to modify the characteristics of the device
+specified in the
+.I device_info
+structure. The particular characteristics modified are identified by the bits
+set in
+.I which
+and take their values from the relevant fields in
+device_info (see Table 1). XkbSetDeviceInfo returns True if the request was
+successfully 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.
+.bp
+.nf
+ 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
+.fi
+
+The
+.I 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
+.I which
+are valid for the device, but the server does not support assignment of one or
+more of them, that particular portion of the request is ignored.
+
+If the device specified in
+.I 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
+BadMatch protocol error results.
+
+If the XkbXI_ButtonActionsMask bit is set in the
+.I supported
+mask returned by
+.I 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
+.I which,
+the actions for all buttons specified in
+.I device_info
+are set to the XkbActions specified in
+.I device_info->btn_acts.
+If the number of buttons requested to be updated is not valid for the device,
+.I XkbSetDeviceInfo
+returns False and a BadValue protocol error results.
+
+If the XkbXI_IndicatorMaps and / or XkbXI_IndicatorNamesMask bit is set in the
+.I supported
+mask returned by
+.I 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
+.I which,
+the indicator maps and / or names for all
+.I device_info->num_leds
+indicator devices specified in
+.I device_info->leds
+are set to the maps and / or names specified in
+.I device_info->leds. device_info->leds->led_class
+and
+.I 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
+.I 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
+.I device_info->leds->names
+are not a valid Atom or None, a BadAtom protocol error results.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetDeviceInfo
+function returns True if the request was successfully sent to the server.
+.TP 15
+False
+The
+.I XkbSetDeviceInfo
+function returns False if the X server implementation does not allow interaction
+between the X input extension and the Xkb Extension.
+.SH STRUCTURES
+.LP
+Changes to an Xkb extension device may be tracked by listening to
+XkbDeviceExtensionNotify events and accumulating the changes in an
+XkbDeviceChangesRec structure. The changes noted in the structure may then be
+used in subsequent operations to update either a server configuration or a local
+copy of an Xkb extension device configuration. The changes structure is defined
+as follows:
+.nf
+
+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;
+
+.fi
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeDeviceInfo (__libmansuffix__),
+.BR XkbGetDeviceInfo (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetIgnoreLockMods.man b/libX11/man/xkb/XkbSetIgnoreLockMods.man index 427ef49c1..f006d1618 100644 --- a/libX11/man/xkb/XkbSetIgnoreLockMods.man +++ b/libX11/man/xkb/XkbSetIgnoreLockMods.man @@ -1,194 +1,194 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetIgnoreLockMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetIgnoreLockMods \- Sets the modifiers that, if locked, are not to be -reported in matching events to passive grabs -.SH SYNOPSIS -.HP -.B Bool XkbSetIgnoreLockMods -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "affect_real" "\^," -.BI "unsigned int " "real_values" "\^," -.BI "unsigned int " "affect_virtual" "\^," -.BI "unsigned int " "virtual_values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- affect_real -mask of real modifiers affected by this call -.TP -.I \- real_values -values for affected real modifiers (1=>set, 0=>unset) -.TP -.I \- affect_virtual -mask of virtual modifiers affected by this call -.TP -.I \- virtual_values -values for affected virtual modifiers (1=>set, 0=>unset) -.SH DESCRIPTION -.LP -The core protocol does not provide a way to exclude specific modifiers from grab -calculations, with the result that locking modifiers sometimes have -unanticipated side effects. - -The IgnoreLockMods control specifies modifiers that should be excluded from grab -calculations. These modifiers are also not reported in any core events except -KeyPress and KeyRelease events that do not activate a passive grab and that do -not occur while a grab is active. - -Manipulate the IgnoreLockMods control via the -.I ignore_lock -field in the XkbControlsRec structure, then use -.I XkbSetControls -and -.I XkbGetControls -to query and change this control. Alternatively, use -.I XkbSetIgnoreLockMods. - -.I XkbSetIgnoreLockMods -sends a request to the server to change the server's IgnoreLockMods control. -.I affect_real -and -.I real_values -are masks of real modifier bits indicating which real modifiers are to be added -and removed from the server's IgnoreLockMods control. Modifiers selected by both -.I affect_real -and -.I real_values -are added to the server's IgnoreLockMods control; those selected by -.I affect_real -but not by -.I real_values -are removed from the server's IgnoreLockMods control. Valid values for -.I affect_real -and -.I real_values -consist of any combination of the eight core modifier bits: ShiftMask, LockMask, -ControlMask, Mod1Mask - Mod5Mask. -.I affect_virtual -and -.I virtual_values -are masks of virtual modifier bits indicating which virtual modifiers are to be -added and removed from the server's IgnoreLockMods control. Modifiers selected -by both -.I affect_virtual -and -.I virtual_values -are added to the server's IgnoreLockMods control; those selected by -.I affect_virtual -but not by -.I virtual_values -are removed from the server's IgnoreLockMods control. See below for a discussion -of virtual modifier masks to use in -.I affect_virtual -and -.I virtual_values. XkbSetIgnoreLockMods -does not wait for a reply from the server. It returns True if the request was -sent, and False otherwise. - -Virtual modifiers are named by converting their string name to an X Atom and -storing the Atom in the -.I names.vmods -array in an XkbDescRec structure. The position of a name Atom in the -.I names.vmods -array defines the bit position used to represent the virtual modifier and also -the index used when accessing virtual modifier information in arrays: the name -in the i-th (0 relative) entry of -.I names.vmods -is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, -various functions have a parameter that is a mask representing virtual modifier -choices. In each case, the i-th bit (0 relative) of the mask represents the i-th -virtual modifier. - -To set the name of a virtual modifier, use -.I XkbSetNames, -using XkbVirtualModNamesMask in -.I which -and the name in the -.I xkb -argument; to retrieve indicator names, use -.I XkbGetNames. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component structures in the XkbDescRec represent the major Xkb components. -.nf - -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The display field points to an X display structure. The flags field is private -to the library: modifying flags may yield unpredictable results. The device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code -and max_key_code fields specify the least and greatest keycode that can be -returned by the keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to indicate that the structure should be manipulated in some manner, such -as allocating it or freeing it. These masks and their relationships to the -fields in the XkbDescRec are shown in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.SH "SEE ALSO" -.BR XkbGetControls (__libmansuffix__), -.BR XkbGetNames (__libmansuffix__), -.BR XkbSetControls (__libmansuffix__), -.BR XkbSetNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetIgnoreLockMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetIgnoreLockMods \- Sets the modifiers that, if locked, are not to be
+reported in matching events to passive grabs
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetIgnoreLockMods
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "affect_real" "\^,"
+.BI "unsigned int " "real_values" "\^,"
+.BI "unsigned int " "affect_virtual" "\^,"
+.BI "unsigned int " "virtual_values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- affect_real
+mask of real modifiers affected by this call
+.TP
+.I \- real_values
+values for affected real modifiers (1=>set, 0=>unset)
+.TP
+.I \- affect_virtual
+mask of virtual modifiers affected by this call
+.TP
+.I \- virtual_values
+values for affected virtual modifiers (1=>set, 0=>unset)
+.SH DESCRIPTION
+.LP
+The core protocol does not provide a way to exclude specific modifiers from grab
+calculations, with the result that locking modifiers sometimes have
+unanticipated side effects.
+
+The IgnoreLockMods control specifies modifiers that should be excluded from grab
+calculations. These modifiers are also not reported in any core events except
+KeyPress and KeyRelease events that do not activate a passive grab and that do
+not occur while a grab is active.
+
+Manipulate the IgnoreLockMods control via the
+.I ignore_lock
+field in the XkbControlsRec structure, then use
+.I XkbSetControls
+and
+.I XkbGetControls
+to query and change this control. Alternatively, use
+.I XkbSetIgnoreLockMods.
+
+.I XkbSetIgnoreLockMods
+sends a request to the server to change the server's IgnoreLockMods control.
+.I affect_real
+and
+.I real_values
+are masks of real modifier bits indicating which real modifiers are to be added
+and removed from the server's IgnoreLockMods control. Modifiers selected by both
+.I affect_real
+and
+.I real_values
+are added to the server's IgnoreLockMods control; those selected by
+.I affect_real
+but not by
+.I real_values
+are removed from the server's IgnoreLockMods control. Valid values for
+.I affect_real
+and
+.I real_values
+consist of any combination of the eight core modifier bits: ShiftMask, LockMask,
+ControlMask, Mod1Mask - Mod5Mask.
+.I affect_virtual
+and
+.I virtual_values
+are masks of virtual modifier bits indicating which virtual modifiers are to be
+added and removed from the server's IgnoreLockMods control. Modifiers selected
+by both
+.I affect_virtual
+and
+.I virtual_values
+are added to the server's IgnoreLockMods control; those selected by
+.I affect_virtual
+but not by
+.I virtual_values
+are removed from the server's IgnoreLockMods control. See below for a discussion
+of virtual modifier masks to use in
+.I affect_virtual
+and
+.I virtual_values. XkbSetIgnoreLockMods
+does not wait for a reply from the server. It returns True if the request was
+sent, and False otherwise.
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component structures in the XkbDescRec represent the major Xkb components.
+.nf
+
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The display field points to an X display structure. The flags field is private
+to the library: modifying flags may yield unpredictable results. The device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code
+and max_key_code fields specify the least and greatest keycode that can be
+returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to indicate that the structure should be manipulated in some manner, such
+as allocating it or freeing it. These masks and their relationships to the
+fields in the XkbDescRec are shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__),
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetIndicatorMap.man b/libX11/man/xkb/XkbSetIndicatorMap.man index 38c23bfb8..a8255cc19 100644 --- a/libX11/man/xkb/XkbSetIndicatorMap.man +++ b/libX11/man/xkb/XkbSetIndicatorMap.man @@ -1,180 +1,180 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetIndicatorMap \- Downloads the changes to the server based on modifications -to a local copy of the keyboard description which will update the maps for one -or more indicators -.SH SYNOPSIS -.HP -.B Bool XkbSetIndicatorMap -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "desc" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- which -mask of indicators to change -.TP -.I \- desc -keyboard description from which the maps are taken -.SH DESCRIPTION -.LP -This section discusses the effects of explicitly changing indicators depending -upon different settings in the indicator map. See Tables 1 and Table 2 for -information on the effects of the indicator map fields when explicit changes are -made. - -.TS -c s s -c s s -l l l -l l lw(3i). -Table 1 XkbIndicatorMapRec which_groups and groups, -Indicator Drives Keyboard -_ -which_groups New State Effect on Keyboard Group State -_ -XkbIM_UseNone On or Off No effect -XkbIM_UseBase On or Off No effect -XkbIM_UseLatched On T{ -The groups field is treated as a group mask. The keyboard group latch is changed -to the lowest numbered -group specified in groups; if groups is empty, the keyboard group latch is -changed to zero. -T} -XkbIM_UseLatched Off T{ -The groups field is treated as a group mask. If the indicator is explicitly -extinguished, keyboard group -latch is changed to the lowest numbered group not specified in groups; if groups -is zero, the keyboard -group latch is set to the index of the highest legal keyboard group. -T} -XkbIM_UseLocked or -.br -XkbIM_UseEffective On T{ -If the groups mask is empty, group is not changed; otherwise, the locked -keyboard group is changed to the -lowest numbered group specified in groups. -T} -XkbIM_UseLocked or -.br -XkbIM_UseEffective Off T{ -Locked keyboard group is changed to the lowest numbered group that is not -specified in the groups mask, or -to Group1 if the groups mask contains all keyboard groups. -T} - -.TE - -.TS -c s s -c s s -l l l -l l lw(3i). -Table 2 XkbIndicatorMapRec which_mods and mods, -Indicator Drives Keyboard -_ -which_mods New State Effect on Keyboard Modifiers -_ -XkbIM_UseNone or XkbIM_UseBase On or Off No Effect -XkbIM_UseLatched On T{ -Any modifiers specified in the mask field of mods are added to the latched -modifiers. -T} -XkbIM_UseLatched Off T{ -Any modifiers specified in the mask field of mods are removed from the latched -modifiers. -T} -XkbIM_UseLocked, XkbIM_UseCompat, or XkbIM_UseEffective On T{ -Any modifiers specified in the mask field of mods are added to the locked -modifiers. -T} -XkbIM_UseLocked Off T{ -Any modifiers specified in the mask field of mods are removed from the locked -modifiers. -T} -XkbIM_UseCompat or XkbIM_UseEffective Off T{ -Any modifiers specified in the mask field of mods are removed from both the -locked and latched modifiers. -T} -.TE - -If XkbIM_LEDDrivesKB is set and XkbIM_NoExplicit is not, and if you call a -function that updates the server's image of the indicator map (such as -.I XkbSetIndicatorMap -or -.I XkbSetNamedIndicator), - Xkb changes the keyboard state and controls to reflect the other fields of the -indicator map. If you attempt to explicitly change the value of an indicator for -which XkbIM_LEDDrivesKB is absent or for which XkbIM_NoExplicit is present, -keyboard state or controls are unaffected. - -If neither XkbIM_NoAutomatic nor XkbIM_NoExplicit is set in an indicator map, -Xkb honors any request to change the state of the indicator, but the new state -might be immediately superseded by automatic changes to the indicator state if -the keyboard state or controls change. - -The effects of changing an indicator that drives the keyboard are cumulative; it -is possible for a single change to affect keyboard group, modifiers, and -controls simultaneously. - -If you change an indicator for which both the XkbIM_LEDDrivesKB and -XkbIM_NoAutomatic flags are specified, Xkb applies the keyboard changes -specified in the other indicator map fields and changes the indicator to reflect -the state that was explicitly requested. The indicator remains in the new state -until it is explicitly changed again. - -If the XkbIM_NoAutomatic flag is not set and XkbIM_LEDDrivesKB is set, Xkb -applies the changes specified in the other indicator map fields and sets the -state of the indicator to the values specified by the indicator map. Note that -it is possible in this case for the indicator to end up in a different state -than the one that was explicitly requested. For example, Xkb does not extinguish -an indicator with -.I which_mods -of XkbIM_UseBase and -.I mods -of Shift if, at the time Xkb processes the request to extinguish the indicator, -one of the Shift keys is physically depressed. - -If you explicitly light an indicator for which XkbIM_LEDDrivesKB is set, Xkb -enables all of the boolean controls specified in the -.I ctrls -field of its indicator map. Explicitly extinguishing such an indicator causes -Xkb to disable all of the boolean controls specified in -.I ctrls. - -For each bit set in the -.I which -parameter, -.I XkbSetIndicatorMap -sends the corresponding indicator map from the -.I desc -parameter to the server. -.SH "SEE ALSO" -.BR XkbSetNamedIndicator (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetIndicatorMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetIndicatorMap \- Downloads the changes to the server based on modifications
+to a local copy of the keyboard description which will update the maps for one
+or more indicators
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetIndicatorMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "desc" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of indicators to change
+.TP
+.I \- desc
+keyboard description from which the maps are taken
+.SH DESCRIPTION
+.LP
+This section discusses the effects of explicitly changing indicators depending
+upon different settings in the indicator map. See Tables 1 and Table 2 for
+information on the effects of the indicator map fields when explicit changes are
+made.
+
+.TS
+c s s
+c s s
+l l l
+l l lw(3i).
+Table 1 XkbIndicatorMapRec which_groups and groups,
+Indicator Drives Keyboard
+_
+which_groups New State Effect on Keyboard Group State
+_
+XkbIM_UseNone On or Off No effect
+XkbIM_UseBase On or Off No effect
+XkbIM_UseLatched On T{
+The groups field is treated as a group mask. The keyboard group latch is changed
+to the lowest numbered
+group specified in groups; if groups is empty, the keyboard group latch is
+changed to zero.
+T}
+XkbIM_UseLatched Off T{
+The groups field is treated as a group mask. If the indicator is explicitly
+extinguished, keyboard group
+latch is changed to the lowest numbered group not specified in groups; if groups
+is zero, the keyboard
+group latch is set to the index of the highest legal keyboard group.
+T}
+XkbIM_UseLocked or
+.br
+XkbIM_UseEffective On T{
+If the groups mask is empty, group is not changed; otherwise, the locked
+keyboard group is changed to the
+lowest numbered group specified in groups.
+T}
+XkbIM_UseLocked or
+.br
+XkbIM_UseEffective Off T{
+Locked keyboard group is changed to the lowest numbered group that is not
+specified in the groups mask, or
+to Group1 if the groups mask contains all keyboard groups.
+T}
+
+.TE
+
+.TS
+c s s
+c s s
+l l l
+l l lw(3i).
+Table 2 XkbIndicatorMapRec which_mods and mods,
+Indicator Drives Keyboard
+_
+which_mods New State Effect on Keyboard Modifiers
+_
+XkbIM_UseNone or XkbIM_UseBase On or Off No Effect
+XkbIM_UseLatched On T{
+Any modifiers specified in the mask field of mods are added to the latched
+modifiers.
+T}
+XkbIM_UseLatched Off T{
+Any modifiers specified in the mask field of mods are removed from the latched
+modifiers.
+T}
+XkbIM_UseLocked, XkbIM_UseCompat, or XkbIM_UseEffective On T{
+Any modifiers specified in the mask field of mods are added to the locked
+modifiers.
+T}
+XkbIM_UseLocked Off T{
+Any modifiers specified in the mask field of mods are removed from the locked
+modifiers.
+T}
+XkbIM_UseCompat or XkbIM_UseEffective Off T{
+Any modifiers specified in the mask field of mods are removed from both the
+locked and latched modifiers.
+T}
+.TE
+
+If XkbIM_LEDDrivesKB is set and XkbIM_NoExplicit is not, and if you call a
+function that updates the server's image of the indicator map (such as
+.I XkbSetIndicatorMap
+or
+.I XkbSetNamedIndicator),
+ Xkb changes the keyboard state and controls to reflect the other fields of the
+indicator map. If you attempt to explicitly change the value of an indicator for
+which XkbIM_LEDDrivesKB is absent or for which XkbIM_NoExplicit is present,
+keyboard state or controls are unaffected.
+
+If neither XkbIM_NoAutomatic nor XkbIM_NoExplicit is set in an indicator map,
+Xkb honors any request to change the state of the indicator, but the new state
+might be immediately superseded by automatic changes to the indicator state if
+the keyboard state or controls change.
+
+The effects of changing an indicator that drives the keyboard are cumulative; it
+is possible for a single change to affect keyboard group, modifiers, and
+controls simultaneously.
+
+If you change an indicator for which both the XkbIM_LEDDrivesKB and
+XkbIM_NoAutomatic flags are specified, Xkb applies the keyboard changes
+specified in the other indicator map fields and changes the indicator to reflect
+the state that was explicitly requested. The indicator remains in the new state
+until it is explicitly changed again.
+
+If the XkbIM_NoAutomatic flag is not set and XkbIM_LEDDrivesKB is set, Xkb
+applies the changes specified in the other indicator map fields and sets the
+state of the indicator to the values specified by the indicator map. Note that
+it is possible in this case for the indicator to end up in a different state
+than the one that was explicitly requested. For example, Xkb does not extinguish
+an indicator with
+.I which_mods
+of XkbIM_UseBase and
+.I mods
+of Shift if, at the time Xkb processes the request to extinguish the indicator,
+one of the Shift keys is physically depressed.
+
+If you explicitly light an indicator for which XkbIM_LEDDrivesKB is set, Xkb
+enables all of the boolean controls specified in the
+.I ctrls
+field of its indicator map. Explicitly extinguishing such an indicator causes
+Xkb to disable all of the boolean controls specified in
+.I ctrls.
+
+For each bit set in the
+.I which
+parameter,
+.I XkbSetIndicatorMap
+sends the corresponding indicator map from the
+.I desc
+parameter to the server.
+.SH "SEE ALSO"
+.BR XkbSetNamedIndicator (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetMap.man b/libX11/man/xkb/XkbSetMap.man index 0d7c1b967..7a5ac9b3f 100644 --- a/libX11/man/xkb/XkbSetMap.man +++ b/libX11/man/xkb/XkbSetMap.man @@ -1,383 +1,383 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetMap \- Send a complete new set of values for entire components to the -server. -.SH SYNOPSIS -.HP -.B Bool XkbSetMap -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- which -mask selecting subcomponents to update -.TP -.I \- xkb -description from which new values are taken -.SH DESCRIPTION -.LP -There are two ways to make changes to map components: either change a local copy -of the keyboard map and -call -.I XkbSetMap -to send the modified map to the server, or, to reduce network traffic, use an -XkbMapChangesRec structure -and call -.I XkbChangeMap. - -Use -.I XkbSetMap -to send a complete new set of values for entire components (for example, all -symbols, all actions, and so -on) to the server. The -.I which -parameter specifies the components to be sent to the server, and is a bitwise -inclusive OR of the masks -listed in Table 1. The -.I xkb -parameter is a pointer to an XkbDescRec structure and contains the information -to be copied to the server. -For each bit set in the -.I which -parameter, -.I XkbSetMap -takes the corresponding structure values from the -.I xkb -parameter and sends it to the server specified by -.I dpy. - -If any components specified by -.I which -are not present in the -.I xkb -parameter, -.I XkbSetMap -returns False. Otherwise, it sends the update request to the server and returns -True. -.I XkbSetMap -can generate BadAlloc, BadLength, and BadValue protocol errors. - -Key types, symbol maps, and actions are all interrelated; changes in one require -changes in the others. Xkb -provides functions to make it easier to edit these components and handle the -interdependencies. Table 1 -lists these helper functions and provides a pointer to where they are defined. - -.TS -c s s s s -c s s s s -l l l l l -l l l l l -lw(2i) l l lw(1i) lw(3i). -Table 1 Xkb Mapping Component Masks -and Convenience Functions -_ -Mask Value Map Fields Convenience - Functions -_ -T{ -XkbKeyTypesMask -T} (1<<0) client T{ -types -.br -size_types -.br -num_types -T} T{ -XkbGetKeyTypes -.br -XkbResizeKeyType -.br -XkbCopyKeyType -.br -XkbCopyKeyTypes -T} -T{ -XkbKeySymsMask -T} (1<<1) client T{ -syms -.br -size_syms -.br -num_syms -.br -key_sym_map -T} T{ -XkbGetKeySyms -.br -XkbResizeKeySyms -.br -XkbChangeTypesOfKey -T} -T{ -XkbModifierMapMask -T} (1<<2) client modmap T{ -XkbGetKeyModifierMap -T} -T{ -XkbExplicitComponentsMask -T} (1<<3) server T{ -explicit -T} T{ -XkbGetKeyExplicitComponents -T} -T{ -XkbKeyActionsMask -T} (1<<4) server T{ -key_acts -.br -acts -.br -num_acts -.br -size_acts -T} T{ -XkbGetKeyActions -.br -XkbResizeKeyActions -T} -T{ -XkbKeyBehaviorsMask -T} (1<<5) server T{ -behaviors -T} T{ -XkbGetKeyBehaviors -T} -T{ -XkbVirtualModsMask -T} (1<<6) server T{ -vmods -T} T{ -XkbGetVirtualMods -T} -T{ -XkbVirtualModMapMask -T} (1<<7) server T{ -vmodmap -T} T{ -XkbGetVirtualModMap -T} -.TE - -The -.I changed -field identifies the map components that have changed in an XkbDescRec structure -and may contain any of the -bits in Table 1, which are also shown in Table 2. Every 1 bit in -.I changed -also identifies which other fields in the XkbMapChangesRec structure contain -valid values, as indicated in -Table 2. The -.I min_key_code -and -.I max_key_code -fields are for reference only; they are ignored on any requests sent to the -server and are always updated -by the server whenever it returns the data for an XkbMapChangesRec. -.bp -.TS -c s s -l l l -l l l -l l l -l lw(2i) lw(3i). -Table 2 XkbMapChangesRec Masks -_ - Valid -Mask XkbMapChangesRec XkbDescRec Field Containing - Fields Changed Data -_ -XkbKeyTypesMask first_type, map->type[first_type] .. - num_types map->type[first_type + num_types - 1] -.sp -XkbKeySymsMask first_key_sym, map->key_sym_map[first_key_sym] .. - num_key_syms map->key_sym_map[first_key_sym + - num_key_syms - 1] -XkbModifierMapMask first_modmap_key, map->modmap[first_modmap_key] .. - num_modmap_keys map->modmap[first_modmap_key + - num_modmap_keys-1] -XkbExplicitComponentsMask first_key_explicit, -server->explicit[first_key_explicit] .. - num_key_explicit server->explicit[first_key_explicit + - num_key_explicit - 1] -XkbKeyActionsMask first_key_act, server->key_acts[first_key_act] .. - num_key_acts server->key_acts[first_key_act + - num_key_acts - 1] -XkbKeyBehaviorsMask first_key_behavior, -server->behaviors[first_key_behavior] .. - num_key_behaviors server->behaviors[first_key_behavior + - num_key_behaviors - 1] -XkbVirtualModsMask vmods server->vmods[*] -XkbVirtualModMapMask first_vmodmap_key, -server->vmodmap[first_vmodmap_key] - num_vmodmap_keys .. - server->vmodmap[first_vmodmap_key - + num_vmodmap_keys - 1] -.TE -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetMap -function returns True all components specified by -.I which -are present in the -.I xkb -parameter. -.TP 15 -False -The -.I XkbSetMap -function returns False if any component specified by -.I which -is not present in the -.I xkb -parameter. -.SH STRUCTURES -.LP - -Use the XkbMapChangesRec structure to identify and track partial modifications -to the mapping components -and to reduce the amount of traffic between the server and clients. -.nf - -typedef struct _XkbMapChanges { - unsigned short changed; /\(** identifies valid components in structure */ - KeyCode min_key_code; /\(** lowest numbered keycode for device */ - KeyCode max_key_code; /\(** highest numbered keycode for device */ - unsigned char first_type; /\(** index of first key type modified */ - unsigned char num_types; /\(** # types modified */ - KeyCode first_key_sym; /\(** first key whose key_sym_map changed */ - unsigned char num_key_syms; /\(** # key_sym_map entries changed */ - KeyCode first_key_act; /\(** first key whose key_acts entry changed */ - unsigned char num_key_acts; /\(** # key_acts entries changed */ - KeyCode first_key_behavior; /\(** first key whose behaviors changed */ - unsigned char num_key_behaviors; /\(** # behaviors entries changed */ - KeyCode first_key_explicit; /\(** first key whose explicit entry changed */ - unsigned char num_key_explicit; /\(** # explicit entries changed */ - KeyCode first_modmap_key; /\(** first key whose modmap entry changed */ - unsigned char num_modmap_keys; /\(** # modmap entries changed */ - KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */ - unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */ - unsigned char pad1; /\(** reserved */ - unsigned short vmods; /\(** mask indicating which vmods changed */ -} XkbMapChangesRec,*XkbMapChangesPtr; - -.fi - -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component -structures in the XkbDescRec represent the major Xkb components. - -.nf -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The -.I display -field points to an X display structure. The -.I flags field is private to the library: modifying -.I flags -may yield unpredictable results. The -.I device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The -.I min_key_code -and -.I max_key_code -fields specify the least and greatest keycode that can be returned by the -keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to -indicate that the structure should be manipulated in some manner, such as -allocating it -or freeing it. These masks and their relationships to the fields in the -XkbDescRec are -shown in Table 3. -.bp -.TS -c s s -l l l -l l l. -Table 3 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally -contain the arguments -.TP 15 -.B BadValue -An argument is out of range -.SH "SEE ALSO" -.BR XkbChangeMap (__libmansuffix__), -.BR XkbChangeTypesOfKey (__libmansuffix__), -.BR XkbCopyKeyType (__libmansuffix__), -.BR XkbCopyKeyTypes (__libmansuffix__), -.BR XkbGetKeyActions (__libmansuffix__), -.BR XkbGetKeyBehaviors (__libmansuffix__), -.BR XkbGetKeyExplicitComponents (__libmansuffix__), -.BR XkbGetKeyModifierMap (__libmansuffix__), -.BR XkbGetKeySyms (__libmansuffix__), -.BR XkbGetKeyTypes (__libmansuffix__), -.BR XkbResizeKeyActions (__libmansuffix__), -.BR XkbResizeKeySyms (__libmansuffix__), -.BR XkbResizeKeyType (__libmansuffix__), -.BR XkbGetVirtualModMap (__libmansuffix__), -.BR XkbGetVirtualMods (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetMap __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetMap \- Send a complete new set of values for entire components to the
+server.
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetMap
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- which
+mask selecting subcomponents to update
+.TP
+.I \- xkb
+description from which new values are taken
+.SH DESCRIPTION
+.LP
+There are two ways to make changes to map components: either change a local copy
+of the keyboard map and
+call
+.I XkbSetMap
+to send the modified map to the server, or, to reduce network traffic, use an
+XkbMapChangesRec structure
+and call
+.I XkbChangeMap.
+
+Use
+.I XkbSetMap
+to send a complete new set of values for entire components (for example, all
+symbols, all actions, and so
+on) to the server. The
+.I which
+parameter specifies the components to be sent to the server, and is a bitwise
+inclusive OR of the masks
+listed in Table 1. The
+.I xkb
+parameter is a pointer to an XkbDescRec structure and contains the information
+to be copied to the server.
+For each bit set in the
+.I which
+parameter,
+.I XkbSetMap
+takes the corresponding structure values from the
+.I xkb
+parameter and sends it to the server specified by
+.I dpy.
+
+If any components specified by
+.I which
+are not present in the
+.I xkb
+parameter,
+.I XkbSetMap
+returns False. Otherwise, it sends the update request to the server and returns
+True.
+.I XkbSetMap
+can generate BadAlloc, BadLength, and BadValue protocol errors.
+
+Key types, symbol maps, and actions are all interrelated; changes in one require
+changes in the others. Xkb
+provides functions to make it easier to edit these components and handle the
+interdependencies. Table 1
+lists these helper functions and provides a pointer to where they are defined.
+
+.TS
+c s s s s
+c s s s s
+l l l l l
+l l l l l
+lw(2i) l l lw(1i) lw(3i).
+Table 1 Xkb Mapping Component Masks
+and Convenience Functions
+_
+Mask Value Map Fields Convenience
+ Functions
+_
+T{
+XkbKeyTypesMask
+T} (1<<0) client T{
+types
+.br
+size_types
+.br
+num_types
+T} T{
+XkbGetKeyTypes
+.br
+XkbResizeKeyType
+.br
+XkbCopyKeyType
+.br
+XkbCopyKeyTypes
+T}
+T{
+XkbKeySymsMask
+T} (1<<1) client T{
+syms
+.br
+size_syms
+.br
+num_syms
+.br
+key_sym_map
+T} T{
+XkbGetKeySyms
+.br
+XkbResizeKeySyms
+.br
+XkbChangeTypesOfKey
+T}
+T{
+XkbModifierMapMask
+T} (1<<2) client modmap T{
+XkbGetKeyModifierMap
+T}
+T{
+XkbExplicitComponentsMask
+T} (1<<3) server T{
+explicit
+T} T{
+XkbGetKeyExplicitComponents
+T}
+T{
+XkbKeyActionsMask
+T} (1<<4) server T{
+key_acts
+.br
+acts
+.br
+num_acts
+.br
+size_acts
+T} T{
+XkbGetKeyActions
+.br
+XkbResizeKeyActions
+T}
+T{
+XkbKeyBehaviorsMask
+T} (1<<5) server T{
+behaviors
+T} T{
+XkbGetKeyBehaviors
+T}
+T{
+XkbVirtualModsMask
+T} (1<<6) server T{
+vmods
+T} T{
+XkbGetVirtualMods
+T}
+T{
+XkbVirtualModMapMask
+T} (1<<7) server T{
+vmodmap
+T} T{
+XkbGetVirtualModMap
+T}
+.TE
+
+The
+.I changed
+field identifies the map components that have changed in an XkbDescRec structure
+and may contain any of the
+bits in Table 1, which are also shown in Table 2. Every 1 bit in
+.I changed
+also identifies which other fields in the XkbMapChangesRec structure contain
+valid values, as indicated in
+Table 2. The
+.I min_key_code
+and
+.I max_key_code
+fields are for reference only; they are ignored on any requests sent to the
+server and are always updated
+by the server whenever it returns the data for an XkbMapChangesRec.
+.bp
+.TS
+c s s
+l l l
+l l l
+l l l
+l lw(2i) lw(3i).
+Table 2 XkbMapChangesRec Masks
+_
+ Valid
+Mask XkbMapChangesRec XkbDescRec Field Containing
+ Fields Changed Data
+_
+XkbKeyTypesMask first_type, map->type[first_type] ..
+ num_types map->type[first_type + num_types - 1]
+.sp
+XkbKeySymsMask first_key_sym, map->key_sym_map[first_key_sym] ..
+ num_key_syms map->key_sym_map[first_key_sym +
+ num_key_syms - 1]
+XkbModifierMapMask first_modmap_key, map->modmap[first_modmap_key] ..
+ num_modmap_keys map->modmap[first_modmap_key +
+ num_modmap_keys-1]
+XkbExplicitComponentsMask first_key_explicit,
+server->explicit[first_key_explicit] ..
+ num_key_explicit server->explicit[first_key_explicit +
+ num_key_explicit - 1]
+XkbKeyActionsMask first_key_act, server->key_acts[first_key_act] ..
+ num_key_acts server->key_acts[first_key_act +
+ num_key_acts - 1]
+XkbKeyBehaviorsMask first_key_behavior,
+server->behaviors[first_key_behavior] ..
+ num_key_behaviors server->behaviors[first_key_behavior +
+ num_key_behaviors - 1]
+XkbVirtualModsMask vmods server->vmods[*]
+XkbVirtualModMapMask first_vmodmap_key,
+server->vmodmap[first_vmodmap_key]
+ num_vmodmap_keys ..
+ server->vmodmap[first_vmodmap_key
+ + num_vmodmap_keys - 1]
+.TE
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetMap
+function returns True all components specified by
+.I which
+are present in the
+.I xkb
+parameter.
+.TP 15
+False
+The
+.I XkbSetMap
+function returns False if any component specified by
+.I which
+is not present in the
+.I xkb
+parameter.
+.SH STRUCTURES
+.LP
+
+Use the XkbMapChangesRec structure to identify and track partial modifications
+to the mapping components
+and to reduce the amount of traffic between the server and clients.
+.nf
+
+typedef struct _XkbMapChanges {
+ unsigned short changed; /\(** identifies valid components in structure */
+ KeyCode min_key_code; /\(** lowest numbered keycode for device */
+ KeyCode max_key_code; /\(** highest numbered keycode for device */
+ unsigned char first_type; /\(** index of first key type modified */
+ unsigned char num_types; /\(** # types modified */
+ KeyCode first_key_sym; /\(** first key whose key_sym_map changed */
+ unsigned char num_key_syms; /\(** # key_sym_map entries changed */
+ KeyCode first_key_act; /\(** first key whose key_acts entry changed */
+ unsigned char num_key_acts; /\(** # key_acts entries changed */
+ KeyCode first_key_behavior; /\(** first key whose behaviors changed */
+ unsigned char num_key_behaviors; /\(** # behaviors entries changed */
+ KeyCode first_key_explicit; /\(** first key whose explicit entry changed */
+ unsigned char num_key_explicit; /\(** # explicit entries changed */
+ KeyCode first_modmap_key; /\(** first key whose modmap entry changed */
+ unsigned char num_modmap_keys; /\(** # modmap entries changed */
+ KeyCode first_vmodmap_key; /\(** first key whose vmodmap changed */
+ unsigned char num_vmodmap_keys; /\(** # vmodmap entries changed */
+ unsigned char pad1; /\(** reserved */
+ unsigned short vmods; /\(** mask indicating which vmods changed */
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+.fi
+
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component
+structures in the XkbDescRec represent the major Xkb components.
+
+.nf
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The
+.I display
+field points to an X display structure. The
+.I flags field is private to the library: modifying
+.I flags
+may yield unpredictable results. The
+.I device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The
+.I min_key_code
+and
+.I max_key_code
+fields specify the least and greatest keycode that can be returned by the
+keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to
+indicate that the structure should be manipulated in some manner, such as
+allocating it
+or freeing it. These masks and their relationships to the fields in the
+XkbDescRec are
+shown in Table 3.
+.bp
+.TS
+c s s
+l l l
+l l l.
+Table 3 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadValue
+An argument is out of range
+.SH "SEE ALSO"
+.BR XkbChangeMap (__libmansuffix__),
+.BR XkbChangeTypesOfKey (__libmansuffix__),
+.BR XkbCopyKeyType (__libmansuffix__),
+.BR XkbCopyKeyTypes (__libmansuffix__),
+.BR XkbGetKeyActions (__libmansuffix__),
+.BR XkbGetKeyBehaviors (__libmansuffix__),
+.BR XkbGetKeyExplicitComponents (__libmansuffix__),
+.BR XkbGetKeyModifierMap (__libmansuffix__),
+.BR XkbGetKeySyms (__libmansuffix__),
+.BR XkbGetKeyTypes (__libmansuffix__),
+.BR XkbResizeKeyActions (__libmansuffix__),
+.BR XkbResizeKeySyms (__libmansuffix__),
+.BR XkbResizeKeyType (__libmansuffix__),
+.BR XkbGetVirtualModMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetModActionVMods.man b/libX11/man/xkb/XkbSetModActionVMods.man index 70f5bbb93..4fb5b3944 100644 --- a/libX11/man/xkb/XkbSetModActionVMods.man +++ b/libX11/man/xkb/XkbSetModActionVMods.man @@ -1,57 +1,57 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetModActionVMods \- Sets the vmods1 and vmods2 fields of act using the vmods -format of an Xkb modifier description -.SH SYNOPSIS -.HP -.B void XkbSetModActionVMods -.BI "(\^XkbAction " "act" "\^," -.BI "unsigned short " "vmods" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set vmods -.TP -.I \- vmods -virtual mods to set -.SH DESCRIPTION -.LP -.I XkbSetModActionVMods -sets the -.I vmods1 -and -.I vmods2 -fields of -.I act -using the -.I vmods -format of an Xkb modifier description. -.SH NOTES -.LP -Despite the fact that the first parameter of these two macros is of type -XkbAction, these macros may be used only with Actions of type XkbModAction and -XkbISOAction. +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetModActionVMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetModActionVMods \- Sets the vmods1 and vmods2 fields of act using the vmods
+format of an Xkb modifier description
+.SH SYNOPSIS
+.HP
+.B void XkbSetModActionVMods
+.BI "(\^XkbAction " "act" "\^,"
+.BI "unsigned short " "vmods" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set vmods
+.TP
+.I \- vmods
+virtual mods to set
+.SH DESCRIPTION
+.LP
+.I XkbSetModActionVMods
+sets the
+.I vmods1
+and
+.I vmods2
+fields of
+.I act
+using the
+.I vmods
+format of an Xkb modifier description.
+.SH NOTES
+.LP
+Despite the fact that the first parameter of these two macros is of type
+XkbAction, these macros may be used only with Actions of type XkbModAction and
+XkbISOAction.
diff --git a/libX11/man/xkb/XkbSetNamedIndicator.man b/libX11/man/xkb/XkbSetNamedIndicator.man index 2b9a7f4e5..119dc8a37 100644 --- a/libX11/man/xkb/XkbSetNamedIndicator.man +++ b/libX11/man/xkb/XkbSetNamedIndicator.man @@ -1,119 +1,119 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetNamedIndicator \- Names an indicator if it is not already named; toggles -the state of the indicator; sets the indicator to a specified state and sets the -indicator map for the indicator -.SH SYNOPSIS -.HP -.B Bool XkbSetNamedIndicator -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "Atom " "name" "\^," -.BI "Bool " "change_state" "\^," -.BI "Bool " "state" "\^," -.BI "Bool " "create_new" "\^," -.BI "XkbIndicatorMapPtr " "map" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- name -name of the indicator to change -.TP -.I \- change_state -whether to change the indicator state or not -.TP -.I \- state -desired new state for the indicator -.TP -.I \- create_new -whether a new indicator with the specified name should be created when necessary -.TP -.I \- map -new map for the indicator -.SH DESCRIPTION -.LP -If a compatible version of the Xkb extension is not available in the server, -.I XkbSetNamedIndicator -returns False. Otherwise, it sends a request to the X server to change the -indicator specified by -.I name -and returns True. - -If -.I change_state -is True, and the optional parameter, -.I state, -is not NULL, -.I XkbSetNamedIndicator -tells the server to change the state of the named indicator to the value -specified by -.I state. - -If an indicator with the name specified by -.I name -does not already exist, the -.I create_new -parameter tells the server whether it should create a new named indicator. If -.I create_new -is True, the server finds the first indicator that doesn't have a name and gives -it the name specified by -.I name. -If the optional parameter, -.I map, is not NULL, -.I XkbSetNamedIndicator -tells the server to change the indicator's map to the values specified in -.I map. - -In addition, it can also generate XkbIndicatorStateNotify, -XkbIndicatorMapNotify, and XkbNamesNotify events. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbSetNamedIndicator -function returns True if a compatible version of the Xkb extension is available in the server. -.TP 15 -False -The -.I XkbSetNamedIndicator -function returns False if a compatible version of the Xkb extension is not available in the server. -.SH DIAGNOSTICS -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadImplementation -Invalid reply from server -.SH "SEE ALSO" -.BR XkbIndicatorMapNotify (__libmansuffix__), -.BR XkbIndicatorStateNotify (__libmansuffix__), -.BR XkbNamesNotify (__libmansuffix__) - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetNamedIndicator __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetNamedIndicator \- Names an indicator if it is not already named; toggles
+the state of the indicator; sets the indicator to a specified state and sets the
+indicator map for the indicator
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetNamedIndicator
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "Atom " "name" "\^,"
+.BI "Bool " "change_state" "\^,"
+.BI "Bool " "state" "\^,"
+.BI "Bool " "create_new" "\^,"
+.BI "XkbIndicatorMapPtr " "map" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- name
+name of the indicator to change
+.TP
+.I \- change_state
+whether to change the indicator state or not
+.TP
+.I \- state
+desired new state for the indicator
+.TP
+.I \- create_new
+whether a new indicator with the specified name should be created when necessary
+.TP
+.I \- map
+new map for the indicator
+.SH DESCRIPTION
+.LP
+If a compatible version of the Xkb extension is not available in the server,
+.I XkbSetNamedIndicator
+returns False. Otherwise, it sends a request to the X server to change the
+indicator specified by
+.I name
+and returns True.
+
+If
+.I change_state
+is True, and the optional parameter,
+.I state,
+is not NULL,
+.I XkbSetNamedIndicator
+tells the server to change the state of the named indicator to the value
+specified by
+.I state.
+
+If an indicator with the name specified by
+.I name
+does not already exist, the
+.I create_new
+parameter tells the server whether it should create a new named indicator. If
+.I create_new
+is True, the server finds the first indicator that doesn't have a name and gives
+it the name specified by
+.I name.
+If the optional parameter,
+.I map, is not NULL,
+.I XkbSetNamedIndicator
+tells the server to change the indicator's map to the values specified in
+.I map.
+
+In addition, it can also generate XkbIndicatorStateNotify,
+XkbIndicatorMapNotify, and XkbNamesNotify events.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbSetNamedIndicator
+function returns True if a compatible version of the Xkb extension is available in the server.
+.TP 15
+False
+The
+.I XkbSetNamedIndicator
+function returns False if a compatible version of the Xkb extension is not available in the server.
+.SH DIAGNOSTICS
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.SH "SEE ALSO"
+.BR XkbIndicatorMapNotify (__libmansuffix__),
+.BR XkbIndicatorStateNotify (__libmansuffix__),
+.BR XkbNamesNotify (__libmansuffix__)
+
diff --git a/libX11/man/xkb/XkbSetNames.man b/libX11/man/xkb/XkbSetNames.man index e609d8c58..35c32778b 100644 --- a/libX11/man/xkb/XkbSetNames.man +++ b/libX11/man/xkb/XkbSetNames.man @@ -1,208 +1,208 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetNames \- Change the symbolic names in the server -.SH SYNOPSIS -.HP -.B Bool XkbSetNames -.BI "(\^Display *" "dpy" "\^," -.BI "unsigned int " "which" "\^," -.BI "unsigned int " "first_type" "\^," -.BI "unsigned int " "num_types" "\^," -.BI "XkbDescPtr " "xkb" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to the X server -.TP -.I \- which -mask of names or map components to be changed -.TP -.I \- first_type -first type whose name is to be changed -.TP -.I \- num_types -number of types for which names are to be changed -.TP -.I \- xkb -keyboard description from which names are to be taken -.SH DESCRIPTION -.LP -To change the symbolic names in the server, first modify a local copy of the -keyboard description and then -use either -.I XkbSetNames, -or, to save network traffic, use a XkbNameChangesRecstructure and call -.I XkbChangeNames -to download the changes to the server. -.I XkbSetNames -and -.I XkbChangeNames -can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation -errors. - -Use -.I XkbSetNames -to change many names at the same time. For each bit set in -.I which, XkbSetNames -takes the corresponding value (or values in the case of arrays) from the -keyboard description -.I xkb -and sends it to the server. - -The -.I first_type -and -.I num_types -arguments are used only if XkbKeyTypeNamesMask or XkbKTLevelNamesMask is set in -.I which -and specify a subset of the types for which the corresponding names are to be -changed. If either or both of -these mask bits are set but the specified types are illegal, -.I XkbSetNames -returns False and does not update any of the names specified in -.I which. -The specified types are illegal if -.I xkb -does not include a map component or if -.I first_type -and -.I num_types -specify types that are not defined in the keyboard description. -.SH STRUCTURES -.LP -The XkbNameChangesRec allows applications to identify small modifications to the -symbolic names and -effectively reduces the amount of traffic sent to the server: -.nf - - typedef struct _XkbNameChanges { - unsigned int changed; /\(** name components that have changed */ - unsigned char first_type; /\(** first key type with a new name */ - unsigned char num_types; /\(** number of types with new names */ - unsigned char first_lvl; /\(** first key type with new level names -*/ - unsigned char num_lvls; /\(** number of key types with new level -names */ - unsigned char num_aliases; /\(** if key aliases changed, total number -of key aliases */ - unsigned char num_rg; /\(** if radio groups changed, total -number of radio groups */ - unsigned char first_key; /\(** first key with a new name */ - unsigned char num_keys; /\(** number of keys with new names */ - unsigned short changed_vmods; /\(** mask of virtual modifiers for which -names have changed */ - unsigned long changed_indicators; /\(** mask of indicators for which names -were changed */ - unsigned char changed_groups; /\(** mask of groups for which names -were changed */ - } XkbNameChangesRec, *XkbNameChangesPtr - -.fi -The -.I changed -field specifies the name components that have changed and is the bitwise -inclusive OR of the valid names -mask bits defined in Table 1. The rest of the fields in the structure specify -the ranges that have changed -for the various kinds of symbolic names, as shown in Table 2. - -Xkb provides several functions that work with symbolic names. Each of these -functions uses a mask to -specify individual fields of the structures described above. These masks and -their relationships to the -fields in a keyboard description are shown in Table 1. - -.TS -c s s s -l l l l. -Table 1 Symbolic Names Masks -_ -Mask Bit Value Keyboard Field - Component -_ -XkbKeycodesNameMask (1<<0) Xkb->names keycodes -XkbGeometryNameMask (1<<1) Xkb->names geometry -XkbSymbolsNameMask (1<<2) Xkb->names symbols -XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols -XkbTypesNameMask (1<<4) Xkb->names type -XkbCompatNameMask (1<<5) Xkb->names compat -XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name -XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*] -XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*] -XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys -XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases -XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*] -XkbGroupNamesMask (1<<12) Xkb->names groups[*] -XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg -XkbComponentNamesMask (0x3f) Xkb->names keycodes, - geometry, - symbols, - physical symbols, - types, and - compatibility map -XkbAllNamesMask (0x3fff) Xkb->names all name components -.TE - -.TS -c s s s -l l l l. -Table 2 XkbNameChanges Fields -_ -Mask Fields Component Field -_ -XkbKeyTypeNamesMask first_type, Xkb->map type[*].name - num_types -XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*] - num_lvls -XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*] -XkbRGNamesMask num_rg Xkb->names radio_groups[*] -XkbKeyNamesMask first_key, Xkb->names keys[*] - num_keys -XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*] -XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*] -XkbGroupNamesMask changed_groups Xkb->names groups[*] -.TE -.SH DIAGNOSTICS -.TP 15 -.B BadAlloc -Unable to allocate storage -.TP 15 -.B BadAtom -A name is neither a valid Atom or None -.TP 15 -.B BadImplementation -Invalid reply from server -.TP 15 -.B BadLength -The length of a request is shorter or longer than that required to minimally -contain the arguments -.TP 15 -.B BadMatch -A compatible version of Xkb was not available in the server or an argument has -correct type and range, but is otherwise invalid -.SH "SEE ALSO" -.BR XkbChangeNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetNames __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetNames \- Change the symbolic names in the server
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetNames
+.BI "(\^Display *" "dpy" "\^,"
+.BI "unsigned int " "which" "\^,"
+.BI "unsigned int " "first_type" "\^,"
+.BI "unsigned int " "num_types" "\^,"
+.BI "XkbDescPtr " "xkb" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to the X server
+.TP
+.I \- which
+mask of names or map components to be changed
+.TP
+.I \- first_type
+first type whose name is to be changed
+.TP
+.I \- num_types
+number of types for which names are to be changed
+.TP
+.I \- xkb
+keyboard description from which names are to be taken
+.SH DESCRIPTION
+.LP
+To change the symbolic names in the server, first modify a local copy of the
+keyboard description and then
+use either
+.I XkbSetNames,
+or, to save network traffic, use a XkbNameChangesRecstructure and call
+.I XkbChangeNames
+to download the changes to the server.
+.I XkbSetNames
+and
+.I XkbChangeNames
+can generate BadAlloc, BadAtom, BadLength, BadMatch, and BadImplementation
+errors.
+
+Use
+.I XkbSetNames
+to change many names at the same time. For each bit set in
+.I which, XkbSetNames
+takes the corresponding value (or values in the case of arrays) from the
+keyboard description
+.I xkb
+and sends it to the server.
+
+The
+.I first_type
+and
+.I num_types
+arguments are used only if XkbKeyTypeNamesMask or XkbKTLevelNamesMask is set in
+.I which
+and specify a subset of the types for which the corresponding names are to be
+changed. If either or both of
+these mask bits are set but the specified types are illegal,
+.I XkbSetNames
+returns False and does not update any of the names specified in
+.I which.
+The specified types are illegal if
+.I xkb
+does not include a map component or if
+.I first_type
+and
+.I num_types
+specify types that are not defined in the keyboard description.
+.SH STRUCTURES
+.LP
+The XkbNameChangesRec allows applications to identify small modifications to the
+symbolic names and
+effectively reduces the amount of traffic sent to the server:
+.nf
+
+ typedef struct _XkbNameChanges {
+ unsigned int changed; /\(** name components that have changed */
+ unsigned char first_type; /\(** first key type with a new name */
+ unsigned char num_types; /\(** number of types with new names */
+ unsigned char first_lvl; /\(** first key type with new level names
+*/
+ unsigned char num_lvls; /\(** number of key types with new level
+names */
+ unsigned char num_aliases; /\(** if key aliases changed, total number
+of key aliases */
+ unsigned char num_rg; /\(** if radio groups changed, total
+number of radio groups */
+ unsigned char first_key; /\(** first key with a new name */
+ unsigned char num_keys; /\(** number of keys with new names */
+ unsigned short changed_vmods; /\(** mask of virtual modifiers for which
+names have changed */
+ unsigned long changed_indicators; /\(** mask of indicators for which names
+were changed */
+ unsigned char changed_groups; /\(** mask of groups for which names
+were changed */
+ } XkbNameChangesRec, *XkbNameChangesPtr
+
+.fi
+The
+.I changed
+field specifies the name components that have changed and is the bitwise
+inclusive OR of the valid names
+mask bits defined in Table 1. The rest of the fields in the structure specify
+the ranges that have changed
+for the various kinds of symbolic names, as shown in Table 2.
+
+Xkb provides several functions that work with symbolic names. Each of these
+functions uses a mask to
+specify individual fields of the structures described above. These masks and
+their relationships to the
+fields in a keyboard description are shown in Table 1.
+
+.TS
+c s s s
+l l l l.
+Table 1 Symbolic Names Masks
+_
+Mask Bit Value Keyboard Field
+ Component
+_
+XkbKeycodesNameMask (1<<0) Xkb->names keycodes
+XkbGeometryNameMask (1<<1) Xkb->names geometry
+XkbSymbolsNameMask (1<<2) Xkb->names symbols
+XkbPhysSymbolsNameMask (1<<3) Xkb->names phys_symbols
+XkbTypesNameMask (1<<4) Xkb->names type
+XkbCompatNameMask (1<<5) Xkb->names compat
+XkbKeyTypeNamesMask (1<<6) Xkb->map type[*].name
+XkbKTLevelNamesMask (1<<7) Xkb->map type[*].lvl_names[*]
+XkbIndicatorNamesMask (1<<8) Xkb->names indicators[*]
+XkbKeyNamesMask (1<<9) Xkb->names keys[*], num_keys
+XkbKeyAliasesMask (1<<10) Xkb->names key_aliases[*], num_key_aliases
+XkbVirtualModNamesMask (1<<11) Xkb->names vmods[*]
+XkbGroupNamesMask (1<<12) Xkb->names groups[*]
+XkbRGNamesMask (1<<13) Xkb->names radio_groups[*], num_rg
+XkbComponentNamesMask (0x3f) Xkb->names keycodes,
+ geometry,
+ symbols,
+ physical symbols,
+ types, and
+ compatibility map
+XkbAllNamesMask (0x3fff) Xkb->names all name components
+.TE
+
+.TS
+c s s s
+l l l l.
+Table 2 XkbNameChanges Fields
+_
+Mask Fields Component Field
+_
+XkbKeyTypeNamesMask first_type, Xkb->map type[*].name
+ num_types
+XkbKTLevelNamesMask first_lvl, Xkb->map type[*].lvl_names[*]
+ num_lvls
+XkbKeyAliasesMask num_aliases Xkb->names key_aliases[*]
+XkbRGNamesMask num_rg Xkb->names radio_groups[*]
+XkbKeyNamesMask first_key, Xkb->names keys[*]
+ num_keys
+XkbVirtualModNamesMask changed_vmods Xkb->names vmods[*]
+XkbIndicatorNamesMask changed_indicators Xkb->names indicators[*]
+XkbGroupNamesMask changed_groups Xkb->names groups[*]
+.TE
+.SH DIAGNOSTICS
+.TP 15
+.B BadAlloc
+Unable to allocate storage
+.TP 15
+.B BadAtom
+A name is neither a valid Atom or None
+.TP 15
+.B BadImplementation
+Invalid reply from server
+.TP 15
+.B BadLength
+The length of a request is shorter or longer than that required to minimally
+contain the arguments
+.TP 15
+.B BadMatch
+A compatible version of Xkb was not available in the server or an argument has
+correct type and range, but is otherwise invalid
+.SH "SEE ALSO"
+.BR XkbChangeNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetPtrActionX.man b/libX11/man/xkb/XkbSetPtrActionX.man index 37654a6a7..5888d46dc 100644 --- a/libX11/man/xkb/XkbSetPtrActionX.man +++ b/libX11/man/xkb/XkbSetPtrActionX.man @@ -1,108 +1,108 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetPtrActionX \- Sets the high_XXX and low_XXX fields of act from the signed -integer value x -.SH SYNOPSIS -.HP -.B void XkbSetPtrActionX -.BI "(\^XkbPtrAction " "act" "\^," -.BI "int " "x" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set X -.TP -.I \- x -new value to set -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrAction structure move the pointer when keys -are pressed and released. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. - -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. - -The -.I type -field of the XkbPtrAction structure is always XkbSA_MovePtr. - -The -.I flags -field is a bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Action Types -_ -Action Type Meaning -_ -XkbSA_NoAcceleration T{ -If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a -mouse keys timer for this key; every time the timer expires, the cursor moves. -T} -XkbSA_MoveAbsoluteX T{ -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. -T} -XkbSA_MoveAbsoluteY T{ -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. -T} -.TE - -Each of the X and Y coordinantes of the XkbPtrAction structure is composed of -two signed 16-bit values, that is, the X coordinate is composed of -.I high_XXX -and -.I 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. -.SH STRUCTURES -.LP -.nf - - 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; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetPtrActionX __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetPtrActionX \- Sets the high_XXX and low_XXX fields of act from the signed
+integer value x
+.SH SYNOPSIS
+.HP
+.B void XkbSetPtrActionX
+.BI "(\^XkbPtrAction " "act" "\^,"
+.BI "int " "x" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set X
+.TP
+.I \- x
+new value to set
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+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.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+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.
+T}
+XkbSA_MoveAbsoluteY T{
+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.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I 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.
+.SH STRUCTURES
+.LP
+.nf
+
+ 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;
+
+.fi
diff --git a/libX11/man/xkb/XkbSetPtrActionY.man b/libX11/man/xkb/XkbSetPtrActionY.man index 55feb949a..895454ea7 100644 --- a/libX11/man/xkb/XkbSetPtrActionY.man +++ b/libX11/man/xkb/XkbSetPtrActionY.man @@ -1,108 +1,108 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetPtrActionY \- Sets the high_YYY and low_YYY fields of act from the signed -integer value y -.SH SYNOPSIS -.HP -.B void XkbSetPtrActionY -.BI "(\^XkbPtrAction " "act" "\^," -.BI "int " "y" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- act -action in which to set Y -.TP -.I \- y -new value to set -.SH DESCRIPTION -.LP -Actions associated with the XkbPtrAction structure move the pointer when keys -are pressed and released. - -If the MouseKeys control is not enabled, KeyPress and KeyRelease events are -treated as though the action is XkbSA_NoAction. - -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. - -The -.I type -field of the XkbPtrAction structure is always XkbSA_MovePtr. - -The -.I flags -field is a bitwise inclusive OR of the masks shown in Table 1. - -.TS -c s -l l -l lw(4i). -Table 1 Pointer Action Types -_ -Action Type Meaning -_ -XkbSA_NoAcceleration T{ -If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a -mouse keys timer for this key; every time the timer expires, the cursor moves. -T} -XkbSA_MoveAbsoluteX T{ -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. -T} -XkbSA_MoveAbsoluteY T{ -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. -T} -.TE - -Each of the X and Y coordinantes of the XkbPtrAction structure is composed of -two signed 16-bit values, that is, the X coordinate is composed of -.I high_XXX -and -.I 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. -.SH STRUCTURES -.LP -.nf - - 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; - -.fi +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetPtrActionY __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetPtrActionY \- Sets the high_YYY and low_YYY fields of act from the signed
+integer value y
+.SH SYNOPSIS
+.HP
+.B void XkbSetPtrActionY
+.BI "(\^XkbPtrAction " "act" "\^,"
+.BI "int " "y" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- act
+action in which to set Y
+.TP
+.I \- y
+new value to set
+.SH DESCRIPTION
+.LP
+Actions associated with the XkbPtrAction structure move the pointer when keys
+are pressed and released.
+
+If the MouseKeys control is not enabled, KeyPress and KeyRelease events are
+treated as though the action is XkbSA_NoAction.
+
+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.
+
+The
+.I type
+field of the XkbPtrAction structure is always XkbSA_MovePtr.
+
+The
+.I flags
+field is a bitwise inclusive OR of the masks shown in Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 Pointer Action Types
+_
+Action Type Meaning
+_
+XkbSA_NoAcceleration T{
+If not set, and the MouseKeysAccel control is enabled, the KeyPress initiates a
+mouse keys timer for this key; every time the timer expires, the cursor moves.
+T}
+XkbSA_MoveAbsoluteX T{
+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.
+T}
+XkbSA_MoveAbsoluteY T{
+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.
+T}
+.TE
+
+Each of the X and Y coordinantes of the XkbPtrAction structure is composed of
+two signed 16-bit values, that is, the X coordinate is composed of
+.I high_XXX
+and
+.I 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.
+.SH STRUCTURES
+.LP
+.nf
+
+ 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;
+
+.fi
diff --git a/libX11/man/xkb/XkbSetServerInternalMods.man b/libX11/man/xkb/XkbSetServerInternalMods.man index 6cc24bb1c..54f8894bd 100644 --- a/libX11/man/xkb/XkbSetServerInternalMods.man +++ b/libX11/man/xkb/XkbSetServerInternalMods.man @@ -1,198 +1,198 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetServerInternalMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetServerInternalMods \- Sets the modifiers that are consumed by the server -before events are delivered to the client -.SH SYNOPSIS -.HP -.B Bool XkbSetServerInternalMods -.BI "(\^Display *" "display" "\^," -.BI "unsigned int " "device_spec" "\^," -.BI "unsigned int " "affect_real" "\^," -.BI "unsigned int " "real_values" "\^," -.BI "unsigned int " "affect_virtual" "\^," -.BI "unsigned int " "virtual_values" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to the X server -.TP -.I \- device_spec -device ID, or XkbUseCoreKbd -.TP -.I \- affect_real -mask of real modifiers affected by this call -.TP -.I \- real_values -values for affected real modifiers (1=>set, 0=>unset) -.TP -.I \- affect_virtual -mask of virtual modifiers affected by this call -.TP -.I \- virtual_values -values for affected virtual modifiers (1=>set, 0=>unset) -.SH DESCRIPTION -.LP -The core protocol does not provide any means to prevent a modifier from being -reported in events sent to clients; Xkb, however makes this possible via the -InternalMods control. It specifies modifiers that should be consumed by the -server and not reported to clients. When a key is pressed and a modifier that -has its bit set in the InternalMods control is reported to the server, the -server uses the modifier when determining the actions to apply for the key. The -server then clears the bit, so it is not actually reported to the client. In -addition, modifiers specified in the InternalMods control are not used to -determine grabs and are not used to calculate core protocol compatibility state. - -Manipulate the InternalMods control via the -.I internal -field in the XkbControlsRec structure, using -.I XkbSetControls -and -.I XkbGetControls. -Alternatively, use -.I XkbSetServerInternalMods. - -.I XkbSetServerInternalMods -sends a request to the server to change the internal modifiers consumed by the -server. -.I affect_real -and -.I real_values -are masks of real modifier bits indicating which real modifiers are to be added -and removed from the server's internal modifiers control. Modifiers selected by -both -.I affect_real -and -.I real_values -are added to the server's internal modifiers control; those selected by -.I affect_real -but not by -.I real_values -are removed from the server's internal modifiers mask. Valid values for -.I affect_real -and -.I real_values -consist of any combination of the eight core modifier bits: ShiftMask, LockMask, -ControlMask, Mod1Mask - Mod5Mask. -.I affect_virtual -and -.I virtual_values -are masks of virtual modifier bits indicating which virtual modifiers are to be -added and removed from the server's internal modifiers control. Modifiers -selected by both -.I affect_virtual -and -.I virtual_values -are added to the server's internal modifiers control; those selected by -.I affect_virtual -but not by -.I virtual_values -are removed from the server's internal modifiers control. See below for a -discussion of virtual modifier masks to use in -.I affect_virtual -and -.I virtual_values. XkbSetServerInternalMods -does not wait for a reply from the server. It returns True if the request was -sent and False otherwise. - -Virtual modifiers are named by converting their string name to an X Atom and -storing the Atom in the -.I names.vmods -array in an XkbDescRec structure. The position of a name Atom in the -.I names.vmods -array defines the bit position used to represent the virtual modifier and also -the index used when accessing virtual modifier information in arrays: the name -in the i-th (0 relative) entry of -.I names.vmods -is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb, -various functions have a parameter that is a mask representing virtual modifier -choices. In each case, the i-th bit (0 relative) of the mask represents the i-th -virtual modifier. - -To set the name of a virtual modifier, use -.I XkbSetNames, -using XkbVirtualModNamesMask in -.I which -and the name in the -.I xkb -argument; to retrieve indicator names, use -.I XkbGetNames. -.SH STRUCTURES -.LP -The complete description of an Xkb keyboard is given by an XkbDescRec. The -component structures in the XkbDescRec represent the major Xkb components -outlined in Figure 1.1. -.nf - -typedef struct { - struct _XDisplay * display; /\(** connection to X server */ - unsigned short flags; /\(** private to Xkb, do not modify */ - unsigned short device_spec; /\(** device of interest */ - KeyCode min_key_code; /\(** minimum keycode for device */ - KeyCode max_key_code; /\(** maximum keycode for device */ - XkbControlsPtr ctrls; /\(** controls */ - XkbServerMapPtr server; /\(** server keymap */ - XkbClientMapPtr map; /\(** client keymap */ - XkbIndicatorPtr indicators; /\(** indicator map */ - XkbNamesPtr names; /\(** names for all components */ - XkbCompatMapPtr compat; /\(** compatibility map */ - XkbGeometryPtr geom; /\(** physical geometry of keyboard */ -} XkbDescRec, *XkbDescPtr; - -.fi -The display field points to an X display structure. The flags field is private -to the library: modifying flags may yield unpredictable results. The device_spec -field specifies the device identifier of the keyboard input device, or -XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code -and max_key_code fields specify the least and greatest keycode that can be -returned by the keyboard. - -Each structure component has a corresponding mask bit that is used in function -calls to indicate that the structure should be manipulated in some manner, such -as allocating it or freeing it. These masks and their relationships to the -fields in the XkbDescRec are shown in Table 1. - -.TS -c s s -l l l -l l l. -Table 1 Mask Bits for XkbDescRec -_ -Mask Bit XkbDescRec Field Value -_ -XkbControlsMask ctrls (1L<<0) -XkbServerMapMask server (1L<<1) -XkbIClientMapMask map (1L<<2) -XkbIndicatorMapMask indicators (1L<<3) -XkbNamesMask names (1L<<4) -XkbCompatMapMask compat (1L<<5) -XkbGeometryMask geom (1L<<6) -XkbAllComponentsMask All Fields (0x7f) -.SH "SEE ALSO" -.BR XkbGetControls (__libmansuffix__), -.BR XkbGetNames (__libmansuffix__), -.BR XkbSetControls (__libmansuffix__), -.BR XkbSetNames (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetServerInternalMods __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetServerInternalMods \- Sets the modifiers that are consumed by the server
+before events are delivered to the client
+.SH SYNOPSIS
+.HP
+.B Bool XkbSetServerInternalMods
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned int " "device_spec" "\^,"
+.BI "unsigned int " "affect_real" "\^,"
+.BI "unsigned int " "real_values" "\^,"
+.BI "unsigned int " "affect_virtual" "\^,"
+.BI "unsigned int " "virtual_values" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to the X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- affect_real
+mask of real modifiers affected by this call
+.TP
+.I \- real_values
+values for affected real modifiers (1=>set, 0=>unset)
+.TP
+.I \- affect_virtual
+mask of virtual modifiers affected by this call
+.TP
+.I \- virtual_values
+values for affected virtual modifiers (1=>set, 0=>unset)
+.SH DESCRIPTION
+.LP
+The core protocol does not provide any means to prevent a modifier from being
+reported in events sent to clients; Xkb, however makes this possible via the
+InternalMods control. It specifies modifiers that should be consumed by the
+server and not reported to clients. When a key is pressed and a modifier that
+has its bit set in the InternalMods control is reported to the server, the
+server uses the modifier when determining the actions to apply for the key. The
+server then clears the bit, so it is not actually reported to the client. In
+addition, modifiers specified in the InternalMods control are not used to
+determine grabs and are not used to calculate core protocol compatibility state.
+
+Manipulate the InternalMods control via the
+.I internal
+field in the XkbControlsRec structure, using
+.I XkbSetControls
+and
+.I XkbGetControls.
+Alternatively, use
+.I XkbSetServerInternalMods.
+
+.I XkbSetServerInternalMods
+sends a request to the server to change the internal modifiers consumed by the
+server.
+.I affect_real
+and
+.I real_values
+are masks of real modifier bits indicating which real modifiers are to be added
+and removed from the server's internal modifiers control. Modifiers selected by
+both
+.I affect_real
+and
+.I real_values
+are added to the server's internal modifiers control; those selected by
+.I affect_real
+but not by
+.I real_values
+are removed from the server's internal modifiers mask. Valid values for
+.I affect_real
+and
+.I real_values
+consist of any combination of the eight core modifier bits: ShiftMask, LockMask,
+ControlMask, Mod1Mask - Mod5Mask.
+.I affect_virtual
+and
+.I virtual_values
+are masks of virtual modifier bits indicating which virtual modifiers are to be
+added and removed from the server's internal modifiers control. Modifiers
+selected by both
+.I affect_virtual
+and
+.I virtual_values
+are added to the server's internal modifiers control; those selected by
+.I affect_virtual
+but not by
+.I virtual_values
+are removed from the server's internal modifiers control. See below for a
+discussion of virtual modifier masks to use in
+.I affect_virtual
+and
+.I virtual_values. XkbSetServerInternalMods
+does not wait for a reply from the server. It returns True if the request was
+sent and False otherwise.
+
+Virtual modifiers are named by converting their string name to an X Atom and
+storing the Atom in the
+.I names.vmods
+array in an XkbDescRec structure. The position of a name Atom in the
+.I names.vmods
+array defines the bit position used to represent the virtual modifier and also
+the index used when accessing virtual modifier information in arrays: the name
+in the i-th (0 relative) entry of
+.I names.vmods
+is the i-th virtual modifier, represented by the mask (1<<i). Throughout Xkb,
+various functions have a parameter that is a mask representing virtual modifier
+choices. In each case, the i-th bit (0 relative) of the mask represents the i-th
+virtual modifier.
+
+To set the name of a virtual modifier, use
+.I XkbSetNames,
+using XkbVirtualModNamesMask in
+.I which
+and the name in the
+.I xkb
+argument; to retrieve indicator names, use
+.I XkbGetNames.
+.SH STRUCTURES
+.LP
+The complete description of an Xkb keyboard is given by an XkbDescRec. The
+component structures in the XkbDescRec represent the major Xkb components
+outlined in Figure 1.1.
+.nf
+
+typedef struct {
+ struct _XDisplay * display; /\(** connection to X server */
+ unsigned short flags; /\(** private to Xkb, do not modify */
+ unsigned short device_spec; /\(** device of interest */
+ KeyCode min_key_code; /\(** minimum keycode for device */
+ KeyCode max_key_code; /\(** maximum keycode for device */
+ XkbControlsPtr ctrls; /\(** controls */
+ XkbServerMapPtr server; /\(** server keymap */
+ XkbClientMapPtr map; /\(** client keymap */
+ XkbIndicatorPtr indicators; /\(** indicator map */
+ XkbNamesPtr names; /\(** names for all components */
+ XkbCompatMapPtr compat; /\(** compatibility map */
+ XkbGeometryPtr geom; /\(** physical geometry of keyboard */
+} XkbDescRec, *XkbDescPtr;
+
+.fi
+The display field points to an X display structure. The flags field is private
+to the library: modifying flags may yield unpredictable results. The device_spec
+field specifies the device identifier of the keyboard input device, or
+XkbUseCoreKeyboard, which specifies the core keyboard device. The min_key_code
+and max_key_code fields specify the least and greatest keycode that can be
+returned by the keyboard.
+
+Each structure component has a corresponding mask bit that is used in function
+calls to indicate that the structure should be manipulated in some manner, such
+as allocating it or freeing it. These masks and their relationships to the
+fields in the XkbDescRec are shown in Table 1.
+
+.TS
+c s s
+l l l
+l l l.
+Table 1 Mask Bits for XkbDescRec
+_
+Mask Bit XkbDescRec Field Value
+_
+XkbControlsMask ctrls (1L<<0)
+XkbServerMapMask server (1L<<1)
+XkbIClientMapMask map (1L<<2)
+XkbIndicatorMapMask indicators (1L<<3)
+XkbNamesMask names (1L<<4)
+XkbCompatMapMask compat (1L<<5)
+XkbGeometryMask geom (1L<<6)
+XkbAllComponentsMask All Fields (0x7f)
+.SH "SEE ALSO"
+.BR XkbGetControls (__libmansuffix__),
+.BR XkbGetNames (__libmansuffix__),
+.BR XkbSetControls (__libmansuffix__),
+.BR XkbSetNames (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbSetXlibControls.man b/libX11/man/xkb/XkbSetXlibControls.man index eb0da0347..e17e7fb5b 100644 --- a/libX11/man/xkb/XkbSetXlibControls.man +++ b/libX11/man/xkb/XkbSetXlibControls.man @@ -1,105 +1,105 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbSetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbSetXlibControls \- Changes the state of the Library Controls -.SH SYNOPSIS -.HP -.B unsigned int XkbSetXlibControls -.BI "(\^Display *" "display" "\^," -.BI "unsigned long " "bits_to_change" "\^," -.BI "unsigned long " "values_for_bits" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- display -connection to X server -.TP -.I \- bits_to_change -selects controls to be modified -.TP -.I \- values_for_bits -turns selected controls on (1) or off (0) -.SH DESCRIPTION -.LP -.I XkbSetXlibControls -modifies the state of the controls selected by -.I bits_to_change; -only the controls selected by -.I bits_to_change -are modified. If the bit corresponding to a control is on in -.I bits_to_change -and also on in -.I values_for_bits, -the control is enabled. If the bit corresponding to a control is on in -.I bits_to_change -but off in -.I values_for_bits, -the control is disabled. -.I bits_to_change -should be an inclusive OR of bits from Table 1. - -.TS -c s -l l -l l. -Table 1 Library Control Masks -_ -Library Control Mask Value -_ -XkbLC_ForceLatin1Lookup (1 << 0) -XkbLC_ConsumeLookupMods (1 << 1) -XkbLC_AlwaysConsumeShiftAndLock (1 << 2) -XkbLC_IgnoreNewKeyboards (1 << 3) -XkbLC_ConsumeKeysOnComposeFail (1 << 29) -XkbLC_ComposeLED (1 << 30) -XkbLC_BeepOnComposeFail (1 << 31) -XkbLC_AllControls (0xc0000007) -.TE -.SH "RETURN VALUES" -.TP 15 -(1 << 0) -XkbLC_ForceLatin1Lookup -.TP 15 -(1 << 1) -XkbLC_ConsumeLookupMods -.TP 15 -(1 << 2) -XkbLC_AlwaysConsumeShiftAndLock -.TP 15 -(1 << 3) -XkbLC_IgnoreNewKeyboards -.TP 15 -(1 << 29) -XkbLC_ConsumeKeysOnComposeFail -.TP 15 -(1 << 30) -XkbLC_ComposeLED -.TP 15 -(1 << 31) -XkbLC_BeepOnComposeFail -.TP 15 -(0xc0000007) -XkbLC_AllControls - +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbSetXlibControls __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbSetXlibControls \- Changes the state of the Library Controls
+.SH SYNOPSIS
+.HP
+.B unsigned int XkbSetXlibControls
+.BI "(\^Display *" "display" "\^,"
+.BI "unsigned long " "bits_to_change" "\^,"
+.BI "unsigned long " "values_for_bits" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- bits_to_change
+selects controls to be modified
+.TP
+.I \- values_for_bits
+turns selected controls on (1) or off (0)
+.SH DESCRIPTION
+.LP
+.I XkbSetXlibControls
+modifies the state of the controls selected by
+.I bits_to_change;
+only the controls selected by
+.I bits_to_change
+are modified. If the bit corresponding to a control is on in
+.I bits_to_change
+and also on in
+.I values_for_bits,
+the control is enabled. If the bit corresponding to a control is on in
+.I bits_to_change
+but off in
+.I values_for_bits,
+the control is disabled.
+.I bits_to_change
+should be an inclusive OR of bits from Table 1.
+
+.TS
+c s
+l l
+l l.
+Table 1 Library Control Masks
+_
+Library Control Mask Value
+_
+XkbLC_ForceLatin1Lookup (1 << 0)
+XkbLC_ConsumeLookupMods (1 << 1)
+XkbLC_AlwaysConsumeShiftAndLock (1 << 2)
+XkbLC_IgnoreNewKeyboards (1 << 3)
+XkbLC_ConsumeKeysOnComposeFail (1 << 29)
+XkbLC_ComposeLED (1 << 30)
+XkbLC_BeepOnComposeFail (1 << 31)
+XkbLC_AllControls (0xc0000007)
+.TE
+.SH "RETURN VALUES"
+.TP 15
+(1 << 0)
+XkbLC_ForceLatin1Lookup
+.TP 15
+(1 << 1)
+XkbLC_ConsumeLookupMods
+.TP 15
+(1 << 2)
+XkbLC_AlwaysConsumeShiftAndLock
+.TP 15
+(1 << 3)
+XkbLC_IgnoreNewKeyboards
+.TP 15
+(1 << 29)
+XkbLC_ConsumeKeysOnComposeFail
+.TP 15
+(1 << 30)
+XkbLC_ComposeLED
+.TP 15
+(1 << 31)
+XkbLC_BeepOnComposeFail
+.TP 15
+(0xc0000007)
+XkbLC_AllControls
+
diff --git a/libX11/man/xkb/XkbTranslateKeyCode.man b/libX11/man/xkb/XkbTranslateKeyCode.man index 492002131..88ee33d89 100644 --- a/libX11/man/xkb/XkbTranslateKeyCode.man +++ b/libX11/man/xkb/XkbTranslateKeyCode.man @@ -1,71 +1,71 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbTranslateKeyCode __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbTranslateKeyCode \- Translate a keycode to a key symbol and modifiers -.SH SYNOPSIS -.HP -.B Bool XkbTranslateKeyCode -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "key" "\^," -.BI "unsigned int " "mods" "\^," -.BI "unsigned int *" "mods_rtrn" "\^," -.BI "KeySym *" "keysym_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to use for translation -.TP -.I \- key -keycode to translate -.TP -.I \- mods -modifiers to apply when translating key -.TP -.I \- mods_rtrn -backfilled with unconsumed modifiers -.TP -.I \- keysym_rtrn -keysym resulting from translation -.SH DESCRIPTION -.LP -.I mods_rtrn -is backfilled with the modifiers consumed by the translation process. -.I mods -is a bitwise inclusive OR of the legal modifier masks: ShiftMask, LockMask, -ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask.The -AlwaysConsumeShiftAndLock library control (see below), if enabled, causes -.I XkbTranslateKeyCode -to consume shift and lock. -.I XkbTranslateKeyCode -returns True if the translation resulted in a keysym, and False if it resulted -in NoSymbol. - -The AlwaysConsumeShiftAndLock control, if enabled, forces -.I XLookupString -to consume the Shift and Lock modifiers when processing all keys, even if the -definition for the key type does not specify these modifiers. The -AlwaysConsumeShiftAndLock control is unset by default. -.SH "SEE ALSO" -.BR XLookupString (__libmansuffix__) +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbTranslateKeyCode __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbTranslateKeyCode \- Translate a keycode to a key symbol and modifiers
+.SH SYNOPSIS
+.HP
+.B Bool XkbTranslateKeyCode
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "key" "\^,"
+.BI "unsigned int " "mods" "\^,"
+.BI "unsigned int *" "mods_rtrn" "\^,"
+.BI "KeySym *" "keysym_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to use for translation
+.TP
+.I \- key
+keycode to translate
+.TP
+.I \- mods
+modifiers to apply when translating key
+.TP
+.I \- mods_rtrn
+backfilled with unconsumed modifiers
+.TP
+.I \- keysym_rtrn
+keysym resulting from translation
+.SH DESCRIPTION
+.LP
+.I mods_rtrn
+is backfilled with the modifiers consumed by the translation process.
+.I mods
+is a bitwise inclusive OR of the legal modifier masks: ShiftMask, LockMask,
+ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask.The
+AlwaysConsumeShiftAndLock library control (see below), if enabled, causes
+.I XkbTranslateKeyCode
+to consume shift and lock.
+.I XkbTranslateKeyCode
+returns True if the translation resulted in a keysym, and False if it resulted
+in NoSymbol.
+
+The AlwaysConsumeShiftAndLock control, if enabled, forces
+.I XLookupString
+to consume the Shift and Lock modifiers when processing all keys, even if the
+definition for the key type does not specify these modifiers. The
+AlwaysConsumeShiftAndLock control is unset by default.
+.SH "SEE ALSO"
+.BR XLookupString (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbTranslateKeySym.man b/libX11/man/xkb/XkbTranslateKeySym.man index c4c2243aa..10fe1516a 100644 --- a/libX11/man/xkb/XkbTranslateKeySym.man +++ b/libX11/man/xkb/XkbTranslateKeySym.man @@ -1,81 +1,81 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbTranslateKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbTranslateKeySym \- Find the string and symbol associated with a keysym for a -given keyboard state -.SH SYNOPSIS -.HP -.B int XkbTranslateKeySym -.BI "(\^Display *" "dpy" "\^," -.BI "KeySym *" "sym_inout" "\^," -.BI "unsigned int " "mods" "\^," -.BI "char *" "buf" "\^," -.BI "int " "nbytes" "\^," -.BI "int *" "extra_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- dpy -connection to X server -.TP -.I \- sym_inout -symbol to be translated; result of translation -.TP -.I \- mods -modifiers to apply to sym_inout -.TP -.I \- buf -buffer into which returned string is written -.TP -.I \- nbytes -size of buffer in bytes -.TP -.I \- extra_rtrn -number of bytes overflow -.SH DESCRIPTION -.LP -.I XkbTranslateKeySym -applies the transformations specified in -.I mods -to the symbol specified by -.I sym_inout. -It returns in -.I buf -the string, if any, associated with the keysym for the current locale. If the -transformations in -.I mods -changes the keysym, -.I sym_inout -is updated accordingly. If the string returned is larger than -.I nbytes, -a count of bytes that does not fit into the buffer is returned in -.I extra_rtrn. XkbTranslateKeySym -returns the number of bytes it placed into -.I buf. -.SH "RETURN VALUES" -.TP 15 -buf -Returns the string, if any, associated with the keysym for the current locale. - - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbTranslateKeySym __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbTranslateKeySym \- Find the string and symbol associated with a keysym for a
+given keyboard state
+.SH SYNOPSIS
+.HP
+.B int XkbTranslateKeySym
+.BI "(\^Display *" "dpy" "\^,"
+.BI "KeySym *" "sym_inout" "\^,"
+.BI "unsigned int " "mods" "\^,"
+.BI "char *" "buf" "\^,"
+.BI "int " "nbytes" "\^,"
+.BI "int *" "extra_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- dpy
+connection to X server
+.TP
+.I \- sym_inout
+symbol to be translated; result of translation
+.TP
+.I \- mods
+modifiers to apply to sym_inout
+.TP
+.I \- buf
+buffer into which returned string is written
+.TP
+.I \- nbytes
+size of buffer in bytes
+.TP
+.I \- extra_rtrn
+number of bytes overflow
+.SH DESCRIPTION
+.LP
+.I XkbTranslateKeySym
+applies the transformations specified in
+.I mods
+to the symbol specified by
+.I sym_inout.
+It returns in
+.I buf
+the string, if any, associated with the keysym for the current locale. If the
+transformations in
+.I mods
+changes the keysym,
+.I sym_inout
+is updated accordingly. If the string returned is larger than
+.I nbytes,
+a count of bytes that does not fit into the buffer is returned in
+.I extra_rtrn. XkbTranslateKeySym
+returns the number of bytes it placed into
+.I buf.
+.SH "RETURN VALUES"
+.TP 15
+buf
+Returns the string, if any, associated with the keysym for the current locale.
+
+
diff --git a/libX11/man/xkb/XkbUpdateMapFromCore.man b/libX11/man/xkb/XkbUpdateMapFromCore.man index b062cbce0..9da40332e 100644 --- a/libX11/man/xkb/XkbUpdateMapFromCore.man +++ b/libX11/man/xkb/XkbUpdateMapFromCore.man @@ -1,110 +1,110 @@ -'\" t -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbUpdateMapFromCore __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbUpdateMapFromCore \- Update a local Xkb keyboard map to reflect the mapping -expressed by a core format mapping -.SH SYNOPSIS -.HP -.B Bool XkbUpdateMapFromCore -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "KeyCode " "first_key" "\^," -.BI "int " "num_keys" "\^," -.BI "int " "map_width" "\^," -.BI "KeySym *" "core_keysyms" "\^," -.BI "XkbChangesPtr " "changes" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description to update -.TP -.I \- first_key -keycode of first key description to update -.TP -.I \- num_keys -number of key descriptions to update -.TP -.I \- map_width -width of core protocol keymap -.TP -.I \- core_keysyms -symbols in core protocol keymap -.TP -.I \- changes -backfilled with changes made to Xkb -.SH DESCRIPTION -.LP -Xkb provides several functions that make it easier to apply the compatibility -map to configure a client-side Xkb keyboard mapping, given a core protocol -representation of part or all of a keyboard mapping. Obtain a core protocol -representation of a keyboard mapping from an actual server (by using -.I XGetKeyboardMapping, -for example), a data file, or some other source. - -.I XkbUpdateMapFromCore -interprets input argument information representing a keyboard map in core format -to update the Xkb keyboard description passed in -.I xkb. -Only a portion of the Xkb map is updated - the portion corresponding to keys -with keycodes in the range -.I first_key -through -.I first_key + num_keys - 1. -If -.I XkbUpdateMapFromCore -is being called in response to a MappingNotify event, -.I first_key -and -.I num_keys -are reported in the MappingNotify event. -.I core_keysyms -contains the keysyms corresponding to the keycode range being updated, in core -keyboard description order. -.I map_width -is the number of keysyms per key in -.I core_keysyms. -Thus, the first -.I map_width -entries in -.I core_keysyms -are for the key with keycode -.I first_key, -the next -.I map_width -entries are for key -.I first_key + 1, -and so on. - -In addition to modifying the Xkb keyboard mapping in -.I xkb, XkbUpdateMapFromCore -backfills the changes structure whose address is passed in -.I changes -to indicate the modifications that were made. You may then use -.I changes -in subsequent calls such as -.I XkbSetMap, -to propagate the local modifications to a server. -.SH "SEE ALSO" -.BR XkbSetMap (__libmansuffix__) +'\" t
+.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbUpdateMapFromCore __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbUpdateMapFromCore \- Update a local Xkb keyboard map to reflect the mapping
+expressed by a core format mapping
+.SH SYNOPSIS
+.HP
+.B Bool XkbUpdateMapFromCore
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "KeyCode " "first_key" "\^,"
+.BI "int " "num_keys" "\^,"
+.BI "int " "map_width" "\^,"
+.BI "KeySym *" "core_keysyms" "\^,"
+.BI "XkbChangesPtr " "changes" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description to update
+.TP
+.I \- first_key
+keycode of first key description to update
+.TP
+.I \- num_keys
+number of key descriptions to update
+.TP
+.I \- map_width
+width of core protocol keymap
+.TP
+.I \- core_keysyms
+symbols in core protocol keymap
+.TP
+.I \- changes
+backfilled with changes made to Xkb
+.SH DESCRIPTION
+.LP
+Xkb provides several functions that make it easier to apply the compatibility
+map to configure a client-side Xkb keyboard mapping, given a core protocol
+representation of part or all of a keyboard mapping. Obtain a core protocol
+representation of a keyboard mapping from an actual server (by using
+.I XGetKeyboardMapping,
+for example), a data file, or some other source.
+
+.I XkbUpdateMapFromCore
+interprets input argument information representing a keyboard map in core format
+to update the Xkb keyboard description passed in
+.I xkb.
+Only a portion of the Xkb map is updated - the portion corresponding to keys
+with keycodes in the range
+.I first_key
+through
+.I first_key + num_keys - 1.
+If
+.I XkbUpdateMapFromCore
+is being called in response to a MappingNotify event,
+.I first_key
+and
+.I num_keys
+are reported in the MappingNotify event.
+.I core_keysyms
+contains the keysyms corresponding to the keycode range being updated, in core
+keyboard description order.
+.I map_width
+is the number of keysyms per key in
+.I core_keysyms.
+Thus, the first
+.I map_width
+entries in
+.I core_keysyms
+are for the key with keycode
+.I first_key,
+the next
+.I map_width
+entries are for key
+.I first_key + 1,
+and so on.
+
+In addition to modifying the Xkb keyboard mapping in
+.I xkb, XkbUpdateMapFromCore
+backfills the changes structure whose address is passed in
+.I changes
+to indicate the modifications that were made. You may then use
+.I changes
+in subsequent calls such as
+.I XkbSetMap,
+to propagate the local modifications to a server.
+.SH "SEE ALSO"
+.BR XkbSetMap (__libmansuffix__)
diff --git a/libX11/man/xkb/XkbVirtualModsToReal.man b/libX11/man/xkb/XkbVirtualModsToReal.man index a7dd9e7ef..a1f3973aa 100644 --- a/libX11/man/xkb/XkbVirtualModsToReal.man +++ b/libX11/man/xkb/XkbVirtualModsToReal.man @@ -1,130 +1,130 @@ -.\" Copyright 1999 Sun Microsystems, Inc. All rights reserved. -.\" -.\" Permission is hereby granted, free of charge, to any person obtaining a -.\" copy of this software and associated documentation files (the "Software"), -.\" to deal in the Software without restriction, including without limitation -.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, -.\" and/or sell copies of the Software, and to permit persons to whom the -.\" Software is furnished to do so, subject to the following conditions: -.\" -.\" The above copyright notice and this permission notice (including the next -.\" paragraph) shall be included in all copies or substantial portions of the -.\" Software. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -.\" DEALINGS IN THE SOFTWARE. -.\" -.TH XkbVirtualModsToReal __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" -.SH NAME -XkbVirtualModsToReal \- Determines the mapping of virtual modifiers to core X -protocol modifiers -.SH SYNOPSIS -.HP -.B Bool XkbVirtualModsToReal -.BI "(\^XkbDescPtr " "xkb" "\^," -.BI "unsigned int " "virtual_mask" "\^," -.BI "unsigned int *" "mask_rtrn" "\^);" -.if n .ti +5n -.if t .ti +.5i -.SH ARGUMENTS -.TP -.I \- xkb -keyboard description for input device -.TP -.I \- virtual_mask -virtual modifier mask to translate -.TP -.I \- mask_rtrn -backfilled with real modifiers -.SH DESCRIPTION -.LP -Xkb maintains a -.I virtual modifier mapping, -which lists the virtual modifiers associated with, or bound to, each key. The -real modifiers bound to a virtual modifier always include all of the modifiers -bound to any of the keys that specify that virtual modifier in their virtual -modifier mapping. The -.I server.vmodmap -array indicates which virtual modifiers are bound to each key; each entry is a -bitmask for the virtual modifier bits. The -.I server.vmodmap -array is indexed by keycode. - -The -.I vmodmap -and -.I vmods -members of the server map are the "master" virtual modifier definitions. Xkb -automatically propagates any changes to these fields to all other fields that -use virtual modifier mappings. - -For example, if Mod3 is bound to the Num_Lock key by the core protocol modifier -mapping, and the NumLock virtual modifier is bound to they Num_Lock key by the -virtual modifier mapping, Mod3 is added to the set of modifiers associated with -NumLock. - -The virtual modifier mapping is normally updated whenever actions are -automatically applied to symbols and few applications should need to change the -virtual modifier mapping explicitly. - -Use -.I XkbGetMap -to get the virtual modifiers from the server or use -.I XkbGetVirtualMods -to update a local copy of the virtual modifiers bindings from the server. To set -the binding of a virtual modifier to a real modifier, use -.I XkbGetVirtualMods - -If the keyboard description defined by -.I xkb -includes bindings for virtual modifiers, -.I XkbVirtualModsToReal -uses those bindings to determine the set of real modifiers that correspond to -the set of virtual modifiers specified in -.I virtual_mask. -The -.I virtual_mask -parameter is a mask specifying the virtual modifiers to translate; the i-th bit -(0 relative) of the mask represents the i-th virtual modifier. If -.I mask_rtrn -is non-NULL, -.I XkbVirtualModsToReal -backfills it with the resulting real modifier mask. If the keyboard description -in -.I xkb -does not include virtual modifier bindings, -.I XkbVirtualModsToReal -returns False; otherwise, it returns True. -.SH "RETURN VALUES" -.TP 15 -True -The -.I XkbVirtualModsToReal -function returns True if the keyboard description -in -.I xkb -does include virtual modifier bindings. -.TP 15 -False -The -.I XkbVirtualModsToReal -function returns False if the keyboard description -in -.I xkb -does not include virtual modifier bindings. -.SH "SEE ALSO" -.BR XkbGetMap (__libmansuffix__), -.BR XkbGetVirtualMods (__libmansuffix__) -.SH NOTES -.LP -It is possible for a local (client-side) keyboard description (the -.I xkb -parameter) to not contain any virtual modifier information (simply because the -client has not requested it) while the server's corresponding definition may -contain virtual modifier information. - +.\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice (including the next
+.\" paragraph) shall be included in all copies or substantial portions of the
+.\" Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+.\" DEALINGS IN THE SOFTWARE.
+.\"
+.TH XkbVirtualModsToReal __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbVirtualModsToReal \- Determines the mapping of virtual modifiers to core X
+protocol modifiers
+.SH SYNOPSIS
+.HP
+.B Bool XkbVirtualModsToReal
+.BI "(\^XkbDescPtr " "xkb" "\^,"
+.BI "unsigned int " "virtual_mask" "\^,"
+.BI "unsigned int *" "mask_rtrn" "\^);"
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- xkb
+keyboard description for input device
+.TP
+.I \- virtual_mask
+virtual modifier mask to translate
+.TP
+.I \- mask_rtrn
+backfilled with real modifiers
+.SH DESCRIPTION
+.LP
+Xkb maintains a
+.I virtual modifier mapping,
+which lists the virtual modifiers associated with, or bound to, each key. The
+real modifiers bound to a virtual modifier always include all of the modifiers
+bound to any of the keys that specify that virtual modifier in their virtual
+modifier mapping. The
+.I server.vmodmap
+array indicates which virtual modifiers are bound to each key; each entry is a
+bitmask for the virtual modifier bits. The
+.I server.vmodmap
+array is indexed by keycode.
+
+The
+.I vmodmap
+and
+.I vmods
+members of the server map are the "master" virtual modifier definitions. Xkb
+automatically propagates any changes to these fields to all other fields that
+use virtual modifier mappings.
+
+For example, if Mod3 is bound to the Num_Lock key by the core protocol modifier
+mapping, and the NumLock virtual modifier is bound to they Num_Lock key by the
+virtual modifier mapping, Mod3 is added to the set of modifiers associated with
+NumLock.
+
+The virtual modifier mapping is normally updated whenever actions are
+automatically applied to symbols and few applications should need to change the
+virtual modifier mapping explicitly.
+
+Use
+.I XkbGetMap
+to get the virtual modifiers from the server or use
+.I XkbGetVirtualMods
+to update a local copy of the virtual modifiers bindings from the server. To set
+the binding of a virtual modifier to a real modifier, use
+.I XkbGetVirtualMods
+
+If the keyboard description defined by
+.I xkb
+includes bindings for virtual modifiers,
+.I XkbVirtualModsToReal
+uses those bindings to determine the set of real modifiers that correspond to
+the set of virtual modifiers specified in
+.I virtual_mask.
+The
+.I virtual_mask
+parameter is a mask specifying the virtual modifiers to translate; the i-th bit
+(0 relative) of the mask represents the i-th virtual modifier. If
+.I mask_rtrn
+is non-NULL,
+.I XkbVirtualModsToReal
+backfills it with the resulting real modifier mask. If the keyboard description
+in
+.I xkb
+does not include virtual modifier bindings,
+.I XkbVirtualModsToReal
+returns False; otherwise, it returns True.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbVirtualModsToReal
+function returns True if the keyboard description
+in
+.I xkb
+does include virtual modifier bindings.
+.TP 15
+False
+The
+.I XkbVirtualModsToReal
+function returns False if the keyboard description
+in
+.I xkb
+does not include virtual modifier bindings.
+.SH "SEE ALSO"
+.BR XkbGetMap (__libmansuffix__),
+.BR XkbGetVirtualMods (__libmansuffix__)
+.SH NOTES
+.LP
+It is possible for a local (client-side) keyboard description (the
+.I xkb
+parameter) to not contain any virtual modifier information (simply because the
+client has not requested it) while the server's corresponding definition may
+contain virtual modifier information.
+
diff --git a/libX11/modules/im/ximcp/imDefIc.c b/libX11/modules/im/ximcp/imDefIc.c index ba720b56c..6e7519a28 100644 --- a/libX11/modules/im/ximcp/imDefIc.c +++ b/libX11/modules/im/ximcp/imDefIc.c @@ -1,1582 +1,1582 @@ -/* - * Copyright 1991, 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "Ximint.h" - -Private Bool -_XimCreateICCheck( - Xim im, - INT16 len, - XPointer data, - XPointer arg) -{ - CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE); - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - XIMID imid = buf_s[0]; - - if ((major_opcode == XIM_CREATE_IC_REPLY) - && (minor_opcode == 0) - && (imid == im->private.proto.imid)) - return True; - if ((major_opcode == XIM_ERROR) - && (minor_opcode == 0) - && (buf_s[2] & XIM_IMID_VALID) - && (imid == im->private.proto.imid)) - return True; - return False; -} - -#ifdef XIM_CONNECTABLE -Public Bool -_XimReCreateIC(ic) - Xic ic; -{ - Xim im = (Xim)ic->core.im; - Xic save_ic; - XIMResourceList res; - unsigned int num; - XIMStyle input_style = ic->core.input_style; - XimDefICValues ic_values; - INT16 len; - CARD16 *buf_s; - char *tmp; - CARD32 tmp_buf32[BUFSIZE/4]; - char *tmp_buf = (char *)tmp_buf32; - char *buf; - int buf_size; - char *data; - int data_len; - int ret_len; - int total; - int idx; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int ret_code; - - if (!(save_ic = (Xic)Xmalloc(sizeof(XicRec)))) - return False; - memcpy((char *)save_ic, (char *)ic, sizeof(XicRec)); - - ic->core.filter_events = im->private.proto.forward_event_mask; - ic->private.proto.forward_event_mask = - im->private.proto.forward_event_mask; - ic->private.proto.synchronous_event_mask = - im->private.proto.synchronous_event_mask; - - num = im->core.ic_num_resources; - buf_size = sizeof(XIMResource) * num; - if (!(res = (XIMResourceList)Xmalloc(buf_size))) - goto ErrorOnReCreateIC; - (void)memcpy((char *)res, (char *)im->core.ic_resources, buf_size); - ic->private.proto.ic_resources = res; - ic->private.proto.ic_num_resources = num; - - num = im->private.proto.ic_num_inner_resources; - buf_size = sizeof(XIMResource) * num; - if (!(res = (XIMResourceList)Xmalloc(buf_size))) - goto ErrorOnReCreateIC; - (void)memcpy((char *)res, - (char *)im->private.proto.ic_inner_resources, buf_size); - ic->private.proto.ic_inner_resources = res; - ic->private.proto.ic_num_inner_resources = num; - - _XimSetICMode(ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, input_style); - - _XimSetICMode(ic->private.proto.ic_inner_resources, - ic->private.proto.ic_num_inner_resources, input_style); - - _XimGetCurrentICValues(ic, &ic_values); - buf = tmp_buf; - buf_size = XIM_HEADER_SIZE + sizeof(CARD16) + sizeof(INT16); - data_len = BUFSIZE - buf_size; - total = 0; - idx = 0; - for (;;) { - data = &buf[buf_size]; - if (!_XimEncodeSavedICATTRIBUTE(ic, ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, &idx, data, data_len, - &ret_len, (XPointer)&ic_values, XIM_CREATEIC)) { - if (buf != tmp_buf) - Xfree(buf); - goto ErrorOnReCreateIC; - } - - total += ret_len; - if (idx == -1) { - break; - } - - buf_size += ret_len; - if (buf == tmp_buf) { - if (!(tmp = (char *)Xmalloc(buf_size + data_len))) { - goto ErrorOnReCreateIC; - } - memcpy(tmp, buf, buf_size); - buf = tmp; - } else { - if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) { - Xfree(buf); - goto ErrorOnReCreateIC; - } - buf = tmp; - } - } - - buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - buf_s[0] = im->private.proto.imid; - buf_s[1] = (INT16)total; - - len = (INT16)(sizeof(CARD16) + sizeof(INT16) + total); - _XimSetHeader((XPointer)buf, XIM_CREATE_IC, 0, &len); - if (!(_XimWrite(im, len, (XPointer)buf))) { - if (buf != tmp_buf) - Xfree(buf); - goto ErrorOnReCreateIC; - } - _XimFlush(im); - if (buf != tmp_buf) - Xfree(buf); - ic->private.proto.waitCallback = True; - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimCreateICCheck, 0); - if (ret_code == XIM_TRUE) { - preply = reply; - } else if (ret_code == XIM_OVERFLOW) { - if (len <= 0) { - preply = reply; - } else { - buf_size = (int)len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimRead(im, &len, preply, buf_size, - _XimCreateICCheck, 0); - if (ret_code != XIM_TRUE) { - Xfree(preply); - ic->private.proto.waitCallback = False; - goto ErrorOnReCreateIC; - } - } - } else { - ic->private.proto.waitCallback = False; - goto ErrorOnReCreateIC; - } - ic->private.proto.waitCallback = False; - buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); - if (*((CARD8 *)preply) == XIM_ERROR) { - _XimProcError(im, 0, (XPointer)&buf_s[3]); - if (reply != preply) - Xfree(preply); - goto ErrorOnReCreateIC; - } - - ic->private.proto.icid = buf_s[1]; /* icid */ - if (reply != preply) - Xfree(preply); - - _XimRegisterFilter(ic); - MARK_IC_CONNECTED(ic); - if (save_ic->private.proto.ic_resources) - Xfree(save_ic->private.proto.ic_resources); - if (save_ic->private.proto.ic_inner_resources) - Xfree(save_ic->private.proto.ic_inner_resources); - Xfree(save_ic); - return True; - -ErrorOnReCreateIC: - memcpy((char *)ic, (char *)save_ic, sizeof(XicRec)); - Xfree(save_ic); - return False; -} - -Private char * -_XimDelayModeGetICValues(ic, arg) - Xic ic; - XIMArg *arg; -{ - XimDefICValues ic_values; - - _XimGetCurrentICValues(ic, &ic_values); - return _XimGetICValueData(ic, (XPointer)&ic_values, - ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, - arg, XIM_GETICVALUES); -} -#endif /* XIM_CONNECTABLE */ - -Private Bool -_XimGetICValuesCheck( - Xim im, - INT16 len, - XPointer data, - XPointer arg) -{ - Xic ic = (Xic)arg; - CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE); - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - XIMID imid = buf_s[0]; - XICID icid = buf_s[1]; - - if ((major_opcode == XIM_GET_IC_VALUES_REPLY) - && (minor_opcode == 0) - && (imid == im->private.proto.imid) - && (icid == ic->private.proto.icid)) - return True; - if ((major_opcode == XIM_ERROR) - && (minor_opcode == 0) - && (buf_s[2] & XIM_IMID_VALID) - && (imid == im->private.proto.imid) - && (buf_s[2] & XIM_ICID_VALID) - && (icid == ic->private.proto.icid)) - return True; - return False; -} - -Private char * -_XimProtoGetICValues( - XIC xic, - XIMArg *arg) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - register XIMArg *p; - register XIMArg *pp; - register int n; - CARD8 *buf; - CARD16 *buf_s; - INT16 len; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply = NULL; - int buf_size; - int ret_code; - char *makeid_name; - char *decode_name; - CARD16 *data = NULL; - INT16 data_len = 0; - -#ifndef XIM_CONNECTABLE - if (!IS_IC_CONNECTED(ic)) - return arg->name; -#else - if (!IS_IC_CONNECTED(ic)) { - if (IS_CONNECTABLE(im)) { - if (_XimConnectServer(im)) { - if (!_XimReCreateIC(ic)) { - _XimDelayModeSetAttr(im); - return _XimDelayModeGetICValues(ic, arg); - } - } else { - return _XimDelayModeGetICValues(ic, arg); - } - } else { - return arg->name; - } - } -#endif /* XIM_CONNECTABLE */ - - for (n = 0, p = arg; p && p->name; p++) { - n++; - if ((strcmp(p->name, XNPreeditAttributes) == 0) - || (strcmp(p->name, XNStatusAttributes) == 0)) { - n++; - for (pp = (XIMArg *)p->value; pp && pp->name; pp++) - n++; - } - } - - if (!n) - return (char *)NULL; - - buf_size = sizeof(CARD16) * n; - buf_size += XIM_HEADER_SIZE - + sizeof(CARD16) - + sizeof(CARD16) - + sizeof(INT16) - + XIM_PAD(2 + buf_size); - - if (!(buf = (CARD8 *)Xmalloc(buf_size))) - return arg->name; - buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - - makeid_name = _XimMakeICAttrIDList(ic, ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, arg, - &buf_s[3], &len, XIM_GETICVALUES); - - if (len > 0) { - buf_s[0] = im->private.proto.imid; /* imid */ - buf_s[1] = ic->private.proto.icid; /* icid */ - buf_s[2] = len; /* length of ic-attr-id */ - len += sizeof(INT16); /* sizeof length of attr */ - XIM_SET_PAD(&buf_s[2], len); /* pad */ - len += sizeof(CARD16) /* sizeof imid */ - + sizeof(CARD16); /* sizeof icid */ - - _XimSetHeader((XPointer)buf, XIM_GET_IC_VALUES, 0, &len); - if (!(_XimWrite(im, len, (XPointer)buf))) { - Xfree(buf); - return arg->name; - } - _XimFlush(im); - Xfree(buf); - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimGetICValuesCheck, (XPointer)ic); - if (ret_code == XIM_TRUE) { - preply = reply; - } else if (ret_code == XIM_OVERFLOW) { - if (len <= 0) { - preply = reply; - } else { - buf_size = (int)len; - preply = (XPointer)Xmalloc(len); - ret_code = _XimRead(im, &len, preply, buf_size, - _XimGetICValuesCheck, (XPointer)ic); - if (ret_code != XIM_TRUE) { - if (preply != reply) - Xfree(preply); - return arg->name; - } - } - } else { - return arg->name; - } - buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); - if (*((CARD8 *)preply) == XIM_ERROR) { - _XimProcError(im, 0, (XPointer)&buf_s[3]); - if (reply != preply) - Xfree(preply); - return arg->name; - } - data = &buf_s[4]; - data_len = buf_s[2]; - } - else if (len < 0) { - return arg->name; - } - - decode_name = _XimDecodeICATTRIBUTE(ic, ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, data, data_len, - arg, XIM_GETICVALUES); - if (reply != preply) - Xfree(preply); - - if (decode_name) - return decode_name; - else - return makeid_name; -} - -#ifdef XIM_CONNECTABLE -Private Bool -_XimCheckNestQuarkList(quark_list, num_quark, quark, separator) - XrmQuark *quark_list; - int num_quark; - XrmQuark quark; - XrmQuark separator; -{ - register int i; - - for (i = 0; i < num_quark; i++) { - if (quark_list[i] == separator) { - break; - } - if (quark_list[i] == quark) { - return True; - } - } - return False; -} - -Private Bool -_XimCheckNestedQuarkList(quark_list, idx, num_quark, arg, separator) - XrmQuark **quark_list; - int idx; - int *num_quark; - XIMArg *arg; - XrmQuark separator; -{ - XrmQuark *q_list = *quark_list; - int n_quark = *num_quark; - register XIMArg *p; - XrmQuark quark; - XrmQuark *tmp; - register int i; - - for (p = arg; p && p->name; p++) { - quark = XrmStringToQuark(p->name); - if (_XimCheckNestQuarkList(&q_list[idx], n_quark - idx, - quark, separator)) { - continue; - } - if (!(tmp = (XrmQuark *)Xmalloc((sizeof(XrmQuark) * (n_quark + 1))))) { - *quark_list = q_list; - *num_quark = n_quark; - return False; - } - n_quark++; - for (i = 0; i < idx; i++) { - tmp[i] = q_list[i]; - } - tmp[i] = quark; - for (i = idx + 1; i < n_quark; i++) { - tmp[i] = q_list[i - 1]; - } - q_list = tmp; - } - *quark_list = q_list; - *num_quark = n_quark; - return True; -} - -Private Bool -_XimCheckICQuarkList(quark_list, num_quark, quark, idx) - XrmQuark *quark_list; - int num_quark; - XrmQuark quark; - int *idx; -{ - register int i; - - for (i = 0; i < num_quark; i++) { - if (quark_list[i] == quark) { - *idx = i; - return True; - } - } - return False; -} - -Private Bool -_XimSaveICValues(ic, arg) - Xic ic; - XIMArg *arg; -{ - register XIMArg *p; - register int n; - XrmQuark *quark_list; - XrmQuark *tmp; - XrmQuark quark; - int num_quark; - XrmQuark pre_quark; - XrmQuark sts_quark; - XrmQuark separator; - int idx; - - pre_quark = XrmStringToQuark(XNPreeditAttributes); - sts_quark = XrmStringToQuark(XNStatusAttributes); - separator = XrmStringToQuark(XNSeparatorofNestedList); - - if (quark_list = ic->private.proto.saved_icvalues) { - num_quark = ic->private.proto.num_saved_icvalues; - for (p = arg; p && p->name; p++) { - quark = XrmStringToQuark(p->name); - if ((quark == pre_quark) || (quark == sts_quark)) { - if (!_XimCheckICQuarkList(quark_list, num_quark, quark, &idx)) { - register XIMArg *pp; - int nn; - XrmQuark *q_list; - - for (pp = (XIMArg *)p->value, nn = 0; - pp && pp->name; pp++, nn++); - if (!(tmp = (XrmQuark *)Xrealloc(quark_list, - (sizeof(XrmQuark) * (num_quark + nn + 2))))) { - ic->private.proto.saved_icvalues = quark_list; - ic->private.proto.num_saved_icvalues = num_quark; - return False; - } - quark_list = tmp; - q_list = &quark_list[num_quark]; - num_quark += nn + 2; - *q_list++ = quark; - for (pp = (XIMArg *)p->value; - pp && pp->name; pp++, quark_list++) { - *q_list = XrmStringToQuark(pp->name); - } - *q_list = separator; - } else { - if (!_XimCheckNestedQuarkList(&quark_list, idx + 1, - &num_quark, (XIMArg *)p->value, separator)) { - ic->private.proto.saved_icvalues = quark_list; - ic->private.proto.num_saved_icvalues = num_quark; - return False; - } - } - } else { - if (_XimCheckICQuarkList(quark_list, num_quark, quark, &idx)) { - continue; - } - if (!(tmp = (XrmQuark *)Xrealloc(quark_list, - (sizeof(XrmQuark) * (num_quark + 1))))) { - ic->private.proto.saved_icvalues = quark_list; - ic->private.proto.num_saved_icvalues = num_quark; - return False; - } - quark_list = tmp; - quark_list[num_quark] = quark; - num_quark++; - } - } - ic->private.proto.saved_icvalues = quark_list; - ic->private.proto.num_saved_icvalues = num_quark; - return True; - } - - for (p = arg, n = 0; p && p->name; p++, n++) { - if ((!strcmp(p->name, XNPreeditAttributes)) - || (!strcmp(p->name, XNStatusAttributes))) { - register XIMArg *pp; - int nn; - - for (pp = (XIMArg *)p->value, nn = 0; pp && pp->name; pp++, nn++); - n += nn + 1; - } - } - - if (!(quark_list = (XrmQuark *)Xmalloc(sizeof(XrmQuark) * n))) { - return False; - } - - ic->private.proto.saved_icvalues = quark_list; - ic->private.proto.num_saved_icvalues = n; - for (p = arg; p && p->name; p++, quark_list++) { - *quark_list = XrmStringToQuark(p->name); - if ((*quark_list == pre_quark) || (*quark_list == sts_quark)) { - register XIMArg *pp; - - quark_list++; - for (pp = (XIMArg *)p->value; pp && pp->name; pp++, quark_list++) { - *quark_list = XrmStringToQuark(pp->name); - } - *quark_list = separator; - } - } - return True; -} - -Private char * -_XimDelayModeSetICValues(ic, arg) - Xic ic; - XIMArg *arg; -{ - XimDefICValues ic_values; - char *name; - - _XimGetCurrentICValues(ic, &ic_values); - name = _XimSetICValueData(ic, (XPointer)&ic_values, - ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, - arg, XIM_SETICVALUES, False); - _XimSetCurrentICValues(ic, &ic_values); - return name; -} -#endif /* XIM_CONNECTABLE */ - -Private Bool -_XimSetICValuesCheck( - Xim im, - INT16 len, - XPointer data, - XPointer arg) -{ - Xic ic = (Xic)arg; - CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE); - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - XIMID imid = buf_s[0]; - XICID icid = buf_s[1]; - - if ((major_opcode == XIM_SET_IC_VALUES_REPLY) - && (minor_opcode == 0) - && (imid == im->private.proto.imid) - && (icid == ic->private.proto.icid)) - return True; - if ((major_opcode == XIM_ERROR) - && (minor_opcode == 0) - && (buf_s[2] & XIM_IMID_VALID) - && (imid == im->private.proto.imid) - && (buf_s[2] & XIM_ICID_VALID) - && (icid == ic->private.proto.icid)) - return True; - return False; -} - -Private char * -_XimProtoSetICValues( - XIC xic, - XIMArg *arg) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - XimDefICValues ic_values; - INT16 len; - CARD16 *buf_s; - char *tmp; - CARD32 tmp_buf32[BUFSIZE/4]; - char *tmp_buf = (char *)tmp_buf32; - char *buf; - int buf_size; - char *data; - int data_len; - int ret_len; - int total; - XIMArg *arg_ret; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply = NULL; - int ret_code; - BITMASK32 flag = 0L; - char *name; - char *tmp_name = (arg) ? arg->name : NULL; - -#ifndef XIM_CONNECTABLE - if (!IS_IC_CONNECTED(ic)) - return tmp_name; -#else - if (!_XimSaveICValues(ic, arg)) - return NULL; - - if (!IS_IC_CONNECTED(ic)) { - if (IS_CONNECTABLE(im)) { - if (_XimConnectServer(im)) { - if (!_XimReCreateIC(ic)) { - _XimDelayModeSetAttr(im); - return _XimDelayModeSetICValues(ic, arg); - } - } else { - return _XimDelayModeSetICValues(ic, arg); - } - } else { - return tmp_name; - } - } -#endif /* XIM_CONNECTABLE */ - - _XimGetCurrentICValues(ic, &ic_values); - buf = tmp_buf; - buf_size = XIM_HEADER_SIZE - + sizeof(CARD16) + sizeof(CARD16) + sizeof(INT16) + sizeof(CARD16); - data_len = BUFSIZE - buf_size; - total = 0; - arg_ret = arg; - for (;;) { - data = &buf[buf_size]; - if ((name = _XimEncodeICATTRIBUTE(ic, ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, arg, &arg_ret, - data, data_len, &ret_len, (XPointer)&ic_values, - &flag, XIM_SETICVALUES))) { - break; - } - - total += ret_len; - if (!(arg = arg_ret)) { - break; - } - - buf_size += ret_len; - if (buf == tmp_buf) { - if (!(tmp = (char *)Xmalloc(buf_size + data_len))) { - return tmp_name; - } - memcpy(tmp, buf, buf_size); - buf = tmp; - } else { - if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) { - Xfree(buf); - return tmp_name; - } - buf = tmp; - } - } - _XimSetCurrentICValues(ic, &ic_values); - - if (!total) { - return tmp_name; - } - - buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - -#ifdef EXT_MOVE - if (_XimExtenMove(im, ic, flag, &buf_s[4], (INT16)total)) - return name; -#endif - - buf_s[0] = im->private.proto.imid; - buf_s[1] = ic->private.proto.icid; - buf_s[2] = (INT16)total; - buf_s[3] = 0; - len = (INT16)(sizeof(CARD16) + sizeof(CARD16) - + sizeof(INT16) + sizeof(CARD16) + total); - - _XimSetHeader((XPointer)buf, XIM_SET_IC_VALUES, 0, &len); - if (!(_XimWrite(im, len, (XPointer)buf))) { - if (buf != tmp_buf) - Xfree(buf); - return tmp_name; - } - _XimFlush(im); - if (buf != tmp_buf) - Xfree(buf); - ic->private.proto.waitCallback = True; - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimSetICValuesCheck, (XPointer)ic); - if (ret_code == XIM_TRUE) { - preply = reply; - } else if (ret_code == XIM_OVERFLOW) { - buf_size = (int)len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimRead(im, &len, preply, buf_size, - _XimSetICValuesCheck, (XPointer)ic); - if (ret_code != XIM_TRUE) { - Xfree(preply); - ic->private.proto.waitCallback = False; - return tmp_name; - } - } else { - ic->private.proto.waitCallback = False; - return tmp_name; - } - ic->private.proto.waitCallback = False; - buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); - if (*((CARD8 *)preply) == XIM_ERROR) { - _XimProcError(im, 0, (XPointer)&buf_s[3]); - if (reply != preply) - Xfree(preply); - return tmp_name; - } - if (reply != preply) - Xfree(preply); - - return name; -} - -Private Bool -_XimDestroyICCheck( - Xim im, - INT16 len, - XPointer data, - XPointer arg) -{ - Xic ic = (Xic)arg; - CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE); - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - XIMID imid = buf_s[0]; - XICID icid = buf_s[1]; - Bool ret = False; - - if ((major_opcode == XIM_DESTROY_IC_REPLY) - && (minor_opcode == 0) - && (imid == im->private.proto.imid) - && (icid == ic->private.proto.icid)) - ret = True; - if ((major_opcode == XIM_ERROR) - && (minor_opcode == 0) - && (buf_s[2] & XIM_IMID_VALID) - && (imid == im->private.proto.imid) - && (buf_s[2] & XIM_ICID_VALID) - && (icid == ic->private.proto.icid)) - ret = False; - return ret; -} - -Private void -_XimProtoICFree( - Xic ic) -{ -#ifdef XIM_CONNECTABLE - Xim im = (Xim)ic->core.im; -#endif - - if (ic->private.proto.preedit_font) { - Xfree(ic->private.proto.preedit_font); - ic->private.proto.preedit_font = NULL; - } - if (ic->private.proto.status_font) { - Xfree(ic->private.proto.status_font); - ic->private.proto.status_font = NULL; - } - if (ic->private.proto.commit_info) { - _XimFreeCommitInfo(ic); - ic->private.proto.commit_info = NULL; - } - if (ic->private.proto.ic_inner_resources) { - Xfree(ic->private.proto.ic_inner_resources); - ic->private.proto.ic_inner_resources = NULL; - } - -#ifdef XIM_CONNECTABLE - if (IS_SERVER_CONNECTED(im) && IS_RECONNECTABLE(im)) { - return; - } -#endif /* XIM_CONNECTABLE */ - - if (ic->private.proto.saved_icvalues) { - Xfree(ic->private.proto.saved_icvalues); - ic->private.proto.saved_icvalues = NULL; - } - if (ic->private.proto.ic_resources) { - Xfree(ic->private.proto.ic_resources); - ic->private.proto.ic_resources = NULL; - } - if (ic->core.hotkey) { - Xfree(ic->core.hotkey); - ic->core.hotkey = NULL; - } - - return; -} - -Private void -_XimProtoDestroyIC( - XIC xic) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - CARD32 buf32[BUFSIZE/4]; - CARD8 *buf = (CARD8 *)buf32; - CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - INT16 len; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int buf_size; - int ret_code; - - if (IS_SERVER_CONNECTED(im)) { - buf_s[0] = im->private.proto.imid; /* imid */ - buf_s[1] = ic->private.proto.icid; /* icid */ - - len = sizeof(CARD16) /* sizeof imid */ - + sizeof(CARD16); /* sizeof icid */ - - _XimSetHeader((XPointer)buf, XIM_DESTROY_IC, 0, &len); - (void)_XimWrite(im, len, (XPointer)buf); - _XimFlush(im); - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimDestroyICCheck, (XPointer)ic); - if (ret_code == XIM_OVERFLOW) { - buf_size = len; - preply = (XPointer)Xmalloc(buf_size); - (void)_XimRead(im, &len, preply, buf_size, - _XimDestroyICCheck, (XPointer)ic); - Xfree(preply); - } - } - UNMARK_IC_CONNECTED(ic); - _XimUnregisterFilter(ic); - _XimProtoICFree(ic); - return; -} - -Private void -_XimProtoSetFocus( - XIC xic) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - CARD32 buf32[BUFSIZE/4]; - CARD8 *buf = (CARD8 *)buf32; - CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - INT16 len; - -#ifndef XIM_CONNECTABLE - if (!IS_IC_CONNECTED(ic)) - return; -#else - if (!IS_IC_CONNECTED(ic)) { - if (IS_CONNECTABLE(im)) { - if (_XimConnectServer(im)) { - if (!_XimReCreateIC(ic)) { - _XimDelayModeSetAttr(im); - return; - } - } else { - return; - } - } else { - return; - } - } -#endif /* XIM_CONNECTABLE */ - - buf_s[0] = im->private.proto.imid; /* imid */ - buf_s[1] = ic->private.proto.icid; /* icid */ - - len = sizeof(CARD16) /* sizeof imid */ - + sizeof(CARD16); /* sizeof icid */ - - _XimSetHeader((XPointer)buf, XIM_SET_IC_FOCUS, 0, &len); - (void)_XimWrite(im, len, (XPointer)buf); - _XimFlush(im); - - MARK_FOCUSED(ic); - - _XimRegisterFilter(ic); - return; -} - -Private void -_XimProtoUnsetFocus( - XIC xic) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - CARD32 buf32[BUFSIZE/4]; - CARD8 *buf = (CARD8 *)buf32; - CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - INT16 len; - -#ifndef XIM_CONNECTABLE - if (!IS_IC_CONNECTED(ic)) - return; -#else - if (!IS_IC_CONNECTED(ic)) { - if (IS_CONNECTABLE(im)) { - if (_XimConnectServer(im)) { - if (!_XimReCreateIC(ic)) { - _XimDelayModeSetAttr(im); - return; - } - } else { - return; - } - } else { - return; - } - } -#endif /* XIM_CONNECTABLE */ - - buf_s[0] = im->private.proto.imid; /* imid */ - buf_s[1] = ic->private.proto.icid; /* icid */ - - len = sizeof(CARD16) /* sizeof imid */ - + sizeof(CARD16); /* sizeof icid */ - - _XimSetHeader((XPointer)buf, XIM_UNSET_IC_FOCUS, 0, &len); - (void)_XimWrite(im, len, (XPointer)buf); - _XimFlush(im); - - UNMARK_FOCUSED(ic); - - _XimUnregisterFilter(ic); - return; -} - -Private Bool -_XimResetICCheck( - Xim im, - INT16 len, - XPointer data, - XPointer arg) -{ - Xic ic = (Xic)arg; - CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE); - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - XIMID imid = buf_s[0]; - XICID icid = buf_s[1]; - - if ((major_opcode == XIM_RESET_IC_REPLY) - && (minor_opcode == 0) - && (imid == im->private.proto.imid) - && (icid == ic->private.proto.icid)) - return True; - if ((major_opcode == XIM_ERROR) - && (minor_opcode == 0) - && (buf_s[2] & XIM_IMID_VALID) - && (imid == im->private.proto.imid) - && (buf_s[2] & XIM_ICID_VALID) - && (icid == ic->private.proto.icid)) - return True; - return False; -} - -Private char * -_XimProtoReset( - XIC xic, - char * (*retfunc) (Xim im, Xic ic, XPointer buf) ) -{ - Xic ic = (Xic)xic; - Xim im = (Xim)ic->core.im; - CARD32 buf32[BUFSIZE/4]; - CARD8 *buf = (CARD8 *)buf32; - CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - INT16 len; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int buf_size; - int ret_code; - char *commit; - - if (!IS_IC_CONNECTED(ic)) - return (char *)NULL; - - buf_s[0] = im->private.proto.imid; /* imid */ - buf_s[1] = ic->private.proto.icid; /* icid */ - - len = sizeof(CARD16) /* sizeof imid */ - + sizeof(CARD16); /* sizeof icid */ - - _XimSetHeader((XPointer)buf, XIM_RESET_IC, 0, &len); - if (!(_XimWrite(im, len, (XPointer)buf))) - return NULL; - _XimFlush(im); - ic->private.proto.waitCallback = True; - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimResetICCheck, (XPointer)ic); - if (ret_code == XIM_TRUE) { - preply = reply; - } else if (ret_code == XIM_OVERFLOW) { - if (len < 0) { - preply = reply; - } else { - buf_size = len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimRead(im, &len, preply, buf_size, - _XimResetICCheck, (XPointer)ic); - if (ret_code != XIM_TRUE) { - Xfree(preply); - ic->private.proto.waitCallback = False; - return NULL; - } - } - } else { - ic->private.proto.waitCallback = False; - return NULL; - } - ic->private.proto.waitCallback = False; - buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); - if (*((CARD8 *)preply) == XIM_ERROR) { - _XimProcError(im, 0, (XPointer)&buf_s[3]); - if (reply != preply) - free(preply); - return NULL; - } - - commit = retfunc(im, ic, (XPointer)&buf_s[2]); - - if (reply != preply) - Xfree(preply); - return commit; -} - -Private char * -_XimCommitedMbString( - Xim im, - Xic ic, - XPointer buf) -{ - CARD16 *buf_s = (CARD16 *)buf; - XimCommitInfo info; - int len; - int new_len; - char *commit; - char *new_commit = NULL; - char *str; - Status status; - - len = 0; - for (info = ic->private.proto.commit_info; info; info = info->next) - len += info->string_len; - len += buf_s[0]; - if ( len == 0 ) - return( NULL ); - - if (!(commit = (char *)Xmalloc(len + 1))) - goto Error_On_Reset; - - str = commit; - for (info = ic->private.proto.commit_info; info; info = info->next) { - (void)memcpy(str, info->string, info->string_len); - str += info->string_len; - } - (void)memcpy(str, (char *)&buf_s[1], buf_s[0]); - commit[len] = '\0'; - - new_len = im->methods->ctstombs((XIM)im, commit, len, NULL, 0, &status); - if (status != XLookupNone) { - if (!(new_commit = Xmalloc(new_len + 1))) { - Xfree(commit); - goto Error_On_Reset; - } - (void)im->methods->ctstombs((XIM)im, commit, len, - new_commit, new_len, NULL); - new_commit[new_len] = '\0'; - } - Xfree(commit); - -Error_On_Reset: - _XimFreeCommitInfo( ic ); - return new_commit; -} - -Private char * -_XimProtoMbReset( - XIC xic) -{ - return _XimProtoReset(xic, _XimCommitedMbString); -} - -Private wchar_t * -_XimCommitedWcString( - Xim im, - Xic ic, - XPointer buf) -{ - CARD16 *buf_s = (CARD16 *)buf; - XimCommitInfo info; - int len; - int new_len; - char *commit; - wchar_t *new_commit = (wchar_t *)NULL; - char *str; - Status status; - - len = 0; - for (info = ic->private.proto.commit_info; info; info = info->next) - len += info->string_len; - len += buf_s[0]; - if ( len == 0 ) - return( (wchar_t *)NULL ); - - if (!(commit = (char *)Xmalloc(len + 1))) - goto Error_On_Reset; - - str = commit; - for (info = ic->private.proto.commit_info; info; info = info->next) { - (void)memcpy(str, info->string, info->string_len); - str += info->string_len; - } - (void)memcpy(str, (char *)&buf_s[1], buf_s[0]); - commit[len] = '\0'; - - new_len = im->methods->ctstowcs((XIM)im, commit, len, NULL, 0, &status); - if (status != XLookupNone) { - if (!(new_commit = - (wchar_t *)Xmalloc(sizeof(wchar_t) * (new_len + 1)))) { - Xfree(commit); - goto Error_On_Reset; - } - (void)im->methods->ctstowcs((XIM)im, commit, len, - new_commit, new_len, NULL); - new_commit[new_len] = (wchar_t)'\0'; - } - Xfree(commit); - -Error_On_Reset: - _XimFreeCommitInfo( ic ); - return new_commit; -} - -Private wchar_t * -_XimProtoWcReset( - XIC xic) -{ - return (wchar_t *) _XimProtoReset(xic, - (char * (*) (Xim, Xic, XPointer)) _XimCommitedWcString); -} - -Private char * -_XimCommitedUtf8String( - Xim im, - Xic ic, - XPointer buf) -{ - CARD16 *buf_s = (CARD16 *)buf; - XimCommitInfo info; - int len; - int new_len; - char *commit; - char *new_commit = NULL; - char *str; - Status status; - - len = 0; - for (info = ic->private.proto.commit_info; info; info = info->next) - len += info->string_len; - len += buf_s[0]; - if ( len == 0 ) - return( NULL ); - - if (!(commit = (char *)Xmalloc(len + 1))) - goto Error_On_Reset; - - str = commit; - for (info = ic->private.proto.commit_info; info; info = info->next) { - (void)memcpy(str, info->string, info->string_len); - str += info->string_len; - } - (void)memcpy(str, (char *)&buf_s[1], buf_s[0]); - commit[len] = '\0'; - - new_len = im->methods->ctstoutf8((XIM)im, commit, len, NULL, 0, &status); - if (status != XLookupNone) { - if (!(new_commit = Xmalloc(new_len + 1))) { - Xfree(commit); - goto Error_On_Reset; - } - (void)im->methods->ctstoutf8((XIM)im, commit, len, - new_commit, new_len, NULL); - new_commit[new_len] = '\0'; - } - Xfree(commit); - -Error_On_Reset: - _XimFreeCommitInfo( ic ); - return new_commit; -} - -Private char * -_XimProtoUtf8Reset( - XIC xic) -{ - return _XimProtoReset(xic, _XimCommitedUtf8String); -} - -Private XICMethodsRec ic_methods = { - _XimProtoDestroyIC, /* destroy */ - _XimProtoSetFocus, /* set_focus */ - _XimProtoUnsetFocus, /* unset_focus */ - _XimProtoSetICValues, /* set_values */ - _XimProtoGetICValues, /* get_values */ - _XimProtoMbReset, /* mb_reset */ - _XimProtoWcReset, /* wc_reset */ - _XimProtoUtf8Reset, /* utf8_reset */ - _XimProtoMbLookupString, /* mb_lookup_string */ - _XimProtoWcLookupString, /* wc_lookup_string */ - _XimProtoUtf8LookupString /* utf8_lookup_string */ -}; - -Private Bool -_XimGetInputStyle( - XIMArg *arg, - XIMStyle *input_style) -{ - register XIMArg *p; - - for (p = arg; p && p->name; p++) { - if (!(strcmp(p->name, XNInputStyle))) { - *input_style = (XIMStyle)p->value; - return True; - } - } - return False; -} - -#ifdef XIM_CONNECTABLE -Private Bool -_XimDelayModeCreateIC( - Xic ic, - XIMArg *values, - XIMResourceList res, - unsigned int num) -{ - Xim im = (Xim)ic->core.im; - XimDefICValues ic_values; - int len; - XIMStyle input_style; - - bzero((char *)&ic_values, sizeof(XimDefICValues)); - _XimGetCurrentICValues(ic, &ic_values); - if (!(_XimGetInputStyle(values, &input_style))) - return False; - - _XimSetICMode(res, num, input_style); - - if (_XimSetICValueData(ic, (XPointer)&ic_values, res, num, - values, XIM_CREATEIC, False)) { - return False; - } - _XimSetCurrentICValues(ic, &ic_values); - if (!_XimSetICDefaults(ic, (XPointer)&ic_values, - XIM_SETICDEFAULTS, res, num)) { - return False; - } - ic_values.filter_events = KeyPressMask; - _XimSetCurrentICValues(ic, &ic_values); - _XimRegisterFilter(ic); - - return True; -} - -Public Bool -_XimReconnectModeCreateIC(ic) - Xic ic; -{ - Xim im = (Xim)ic->core.im; - int len; - XIMStyle input_style = ic->core.input_style; - XIMResourceList res; - unsigned int num; - - num = im->core.ic_num_resources; - len = sizeof(XIMResource) * num; - if (!(res = (XIMResourceList)Xmalloc(len))) - return False; - (void)memcpy((char *)res, (char *)im->core.ic_resources, len); - ic->private.proto.ic_resources = res; - ic->private.proto.ic_num_resources = num; - - _XimSetICMode(res, num, input_style); - - ic->core.filter_events = KeyPressMask; - - return True; -} -#endif /* XIM_CONNECTABLE */ - -Public XIC -_XimProtoCreateIC( - XIM xim, - XIMArg *arg) -{ - Xim im = (Xim)xim; - Xic ic; - XimDefICValues ic_values; - XIMResourceList res; - unsigned int num; - XIMStyle input_style; - INT16 len; - CARD16 *buf_s; - char *tmp; - CARD32 tmp_buf32[BUFSIZE/4]; - char *tmp_buf = (char *)tmp_buf32; - char *buf; - int buf_size; - char *data; - int data_len; - int ret_len; - int total; - XIMArg *arg_ret; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int ret_code; - -#ifdef XIM_CONNECTABLE - if (!IS_SERVER_CONNECTED(im) && !IS_CONNECTABLE(im)) - return (XIC)NULL; -#else - if (!IS_SERVER_CONNECTED(im)) - return (XIC)NULL; -#endif /* XIM_CONNECTABLE */ - - if (!(_XimGetInputStyle(arg, &input_style))) - return (XIC)NULL; - - if ((ic = (Xic)Xmalloc(sizeof(XicRec))) == (Xic)NULL) - return (XIC)NULL; - - bzero((char *)ic, sizeof(XicRec)); - ic->methods = &ic_methods; - ic->core.im = (XIM)im; - ic->core.input_style = input_style; - - num = im->core.ic_num_resources; - len = sizeof(XIMResource) * num; - if (!(res = (XIMResourceList)Xmalloc(len))) - return (XIC)NULL; - (void)memcpy((char *)res, (char *)im->core.ic_resources, len); - ic->private.proto.ic_resources = res; - ic->private.proto.ic_num_resources = num; - -#ifdef XIM_CONNECTABLE - if (!_XimSaveICValues(ic, arg)) - return False; - - if (!IS_SERVER_CONNECTED(im)) { - if (!_XimConnectServer(im)) { - if (_XimDelayModeCreateIC(ic, arg, res, num)) { - return (XIC)ic; - } - goto ErrorOnCreatingIC; - } - } -#endif /* XIM_CONNECTABLE */ - - ic->core.filter_events = im->private.proto.forward_event_mask; - ic->private.proto.forward_event_mask = - im->private.proto.forward_event_mask; - ic->private.proto.synchronous_event_mask = - im->private.proto.synchronous_event_mask; - - num = im->private.proto.ic_num_inner_resources; - len = sizeof(XIMResource) * num; - if (!(res = (XIMResourceList)Xmalloc(len))) - return (XIC)NULL; - (void)memcpy((char *)res, - (char *)im->private.proto.ic_inner_resources, len); - ic->private.proto.ic_inner_resources = res; - ic->private.proto.ic_num_inner_resources = num; - - _XimSetICMode(ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, input_style); - - _XimSetICMode(ic->private.proto.ic_inner_resources, - ic->private.proto.ic_num_inner_resources, input_style); - - _XimGetCurrentICValues(ic, &ic_values); - buf = tmp_buf; - buf_size = XIM_HEADER_SIZE + sizeof(CARD16) + sizeof(INT16); - data_len = BUFSIZE - buf_size; - total = 0; - arg_ret = arg; - for (;;) { - data = &buf[buf_size]; - if (_XimEncodeICATTRIBUTE(ic, ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources, arg, &arg_ret, data, - data_len, &ret_len, (XPointer)&ic_values, 0, XIM_CREATEIC)) { - goto ErrorOnCreatingIC; - } - - total += ret_len; - if (!(arg = arg_ret)) { - break; - } - - buf_size += ret_len; - if (buf == tmp_buf) { - if (!(tmp = (char *)Xmalloc(buf_size + data_len))) { - goto ErrorOnCreatingIC; - } - memcpy(tmp, buf, buf_size); - buf = tmp; - } else { - if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) { - Xfree(buf); - goto ErrorOnCreatingIC; - } - buf = tmp; - } - } - _XimSetCurrentICValues(ic, &ic_values); - - if (!(_XimCheckCreateICValues(ic->private.proto.ic_resources, - ic->private.proto.ic_num_resources))) - goto ErrorOnCreatingIC; - - _XimRegisterFilter(ic); - - buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE]; - buf_s[0] = im->private.proto.imid; - buf_s[1] = (INT16)total; - - len = (INT16)(sizeof(CARD16) + sizeof(INT16) + total); - _XimSetHeader((XPointer)buf, XIM_CREATE_IC, 0, &len); - if (!(_XimWrite(im, len, (XPointer)buf))) { - if (buf != tmp_buf) - Xfree(buf); - goto ErrorOnCreatingIC; - } - _XimFlush(im); - if (buf != tmp_buf) - Xfree(buf); - ic->private.proto.waitCallback = True; - buf_size = BUFSIZE; - ret_code = _XimRead(im, &len, (XPointer)reply, buf_size, - _XimCreateICCheck, 0); - if (ret_code == XIM_TRUE) { - preply = reply; - } else if (ret_code == XIM_OVERFLOW) { - if (len <= 0) { - preply = reply; - } else { - buf_size = (int)len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimRead(im, &len, preply, buf_size, - _XimCreateICCheck, 0); - if (ret_code != XIM_TRUE) { - Xfree(preply); - ic->private.proto.waitCallback = False; - goto ErrorOnCreatingIC; - } - } - } else { - ic->private.proto.waitCallback = False; - goto ErrorOnCreatingIC; - } - ic->private.proto.waitCallback = False; - buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE); - if (*((CARD8 *)preply) == XIM_ERROR) { - _XimProcError(im, 0, (XPointer)&buf_s[3]); - if (reply != preply) - Xfree(preply); - goto ErrorOnCreatingIC; - } - - ic->private.proto.icid = buf_s[1]; /* icid */ - if (reply != preply) - Xfree(preply); - MARK_IC_CONNECTED(ic); - return (XIC)ic; - -ErrorOnCreatingIC: - _XimUnregisterFilter(ic); - if (ic->private.proto.ic_resources) - Xfree(ic->private.proto.ic_resources); - if (ic->private.proto.ic_inner_resources) - Xfree(ic->private.proto.ic_inner_resources); - Xfree(ic); - return (XIC)NULL; -} +/*
+ * Copyright 1991, 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+#include "Ximint.h"
+
+Private Bool
+_XimCreateICCheck(
+ Xim im,
+ INT16 len,
+ XPointer data,
+ XPointer arg)
+{
+ CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE);
+ CARD8 major_opcode = *((CARD8 *)data);
+ CARD8 minor_opcode = *((CARD8 *)data + 1);
+ XIMID imid = buf_s[0];
+
+ if ((major_opcode == XIM_CREATE_IC_REPLY)
+ && (minor_opcode == 0)
+ && (imid == im->private.proto.imid))
+ return True;
+ if ((major_opcode == XIM_ERROR)
+ && (minor_opcode == 0)
+ && (buf_s[2] & XIM_IMID_VALID)
+ && (imid == im->private.proto.imid))
+ return True;
+ return False;
+}
+
+#ifdef XIM_CONNECTABLE
+Public Bool
+_XimReCreateIC(ic)
+ Xic ic;
+{
+ Xim im = (Xim)ic->core.im;
+ Xic save_ic;
+ XIMResourceList res;
+ unsigned int num;
+ XIMStyle input_style = ic->core.input_style;
+ XimDefICValues ic_values;
+ INT16 len;
+ CARD16 *buf_s;
+ char *tmp;
+ CARD32 tmp_buf32[BUFSIZE/4];
+ char *tmp_buf = (char *)tmp_buf32;
+ char *buf;
+ int buf_size;
+ char *data;
+ int data_len;
+ int ret_len;
+ int total;
+ int idx;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply;
+ int ret_code;
+
+ if (!(save_ic = (Xic)Xmalloc(sizeof(XicRec))))
+ return False;
+ memcpy((char *)save_ic, (char *)ic, sizeof(XicRec));
+
+ ic->core.filter_events = im->private.proto.forward_event_mask;
+ ic->private.proto.forward_event_mask =
+ im->private.proto.forward_event_mask;
+ ic->private.proto.synchronous_event_mask =
+ im->private.proto.synchronous_event_mask;
+
+ num = im->core.ic_num_resources;
+ buf_size = sizeof(XIMResource) * num;
+ if (!(res = (XIMResourceList)Xmalloc(buf_size)))
+ goto ErrorOnReCreateIC;
+ (void)memcpy((char *)res, (char *)im->core.ic_resources, buf_size);
+ ic->private.proto.ic_resources = res;
+ ic->private.proto.ic_num_resources = num;
+
+ num = im->private.proto.ic_num_inner_resources;
+ buf_size = sizeof(XIMResource) * num;
+ if (!(res = (XIMResourceList)Xmalloc(buf_size)))
+ goto ErrorOnReCreateIC;
+ (void)memcpy((char *)res,
+ (char *)im->private.proto.ic_inner_resources, buf_size);
+ ic->private.proto.ic_inner_resources = res;
+ ic->private.proto.ic_num_inner_resources = num;
+
+ _XimSetICMode(ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, input_style);
+
+ _XimSetICMode(ic->private.proto.ic_inner_resources,
+ ic->private.proto.ic_num_inner_resources, input_style);
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ buf = tmp_buf;
+ buf_size = XIM_HEADER_SIZE + sizeof(CARD16) + sizeof(INT16);
+ data_len = BUFSIZE - buf_size;
+ total = 0;
+ idx = 0;
+ for (;;) {
+ data = &buf[buf_size];
+ if (!_XimEncodeSavedICATTRIBUTE(ic, ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, &idx, data, data_len,
+ &ret_len, (XPointer)&ic_values, XIM_CREATEIC)) {
+ if (buf != tmp_buf)
+ Xfree(buf);
+ goto ErrorOnReCreateIC;
+ }
+
+ total += ret_len;
+ if (idx == -1) {
+ break;
+ }
+
+ buf_size += ret_len;
+ if (buf == tmp_buf) {
+ if (!(tmp = (char *)Xmalloc(buf_size + data_len))) {
+ goto ErrorOnReCreateIC;
+ }
+ memcpy(tmp, buf, buf_size);
+ buf = tmp;
+ } else {
+ if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) {
+ Xfree(buf);
+ goto ErrorOnReCreateIC;
+ }
+ buf = tmp;
+ }
+ }
+
+ buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ buf_s[0] = im->private.proto.imid;
+ buf_s[1] = (INT16)total;
+
+ len = (INT16)(sizeof(CARD16) + sizeof(INT16) + total);
+ _XimSetHeader((XPointer)buf, XIM_CREATE_IC, 0, &len);
+ if (!(_XimWrite(im, len, (XPointer)buf))) {
+ if (buf != tmp_buf)
+ Xfree(buf);
+ goto ErrorOnReCreateIC;
+ }
+ _XimFlush(im);
+ if (buf != tmp_buf)
+ Xfree(buf);
+ ic->private.proto.waitCallback = True;
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimCreateICCheck, 0);
+ if (ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if (ret_code == XIM_OVERFLOW) {
+ if (len <= 0) {
+ preply = reply;
+ } else {
+ buf_size = (int)len;
+ preply = (XPointer)Xmalloc(buf_size);
+ ret_code = _XimRead(im, &len, preply, buf_size,
+ _XimCreateICCheck, 0);
+ if (ret_code != XIM_TRUE) {
+ Xfree(preply);
+ ic->private.proto.waitCallback = False;
+ goto ErrorOnReCreateIC;
+ }
+ }
+ } else {
+ ic->private.proto.waitCallback = False;
+ goto ErrorOnReCreateIC;
+ }
+ ic->private.proto.waitCallback = False;
+ buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ if (*((CARD8 *)preply) == XIM_ERROR) {
+ _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ if (reply != preply)
+ Xfree(preply);
+ goto ErrorOnReCreateIC;
+ }
+
+ ic->private.proto.icid = buf_s[1]; /* icid */
+ if (reply != preply)
+ Xfree(preply);
+
+ _XimRegisterFilter(ic);
+ MARK_IC_CONNECTED(ic);
+ if (save_ic->private.proto.ic_resources)
+ Xfree(save_ic->private.proto.ic_resources);
+ if (save_ic->private.proto.ic_inner_resources)
+ Xfree(save_ic->private.proto.ic_inner_resources);
+ Xfree(save_ic);
+ return True;
+
+ErrorOnReCreateIC:
+ memcpy((char *)ic, (char *)save_ic, sizeof(XicRec));
+ Xfree(save_ic);
+ return False;
+}
+
+Private char *
+_XimDelayModeGetICValues(ic, arg)
+ Xic ic;
+ XIMArg *arg;
+{
+ XimDefICValues ic_values;
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ return _XimGetICValueData(ic, (XPointer)&ic_values,
+ ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources,
+ arg, XIM_GETICVALUES);
+}
+#endif /* XIM_CONNECTABLE */
+
+Private Bool
+_XimGetICValuesCheck(
+ Xim im,
+ INT16 len,
+ XPointer data,
+ XPointer arg)
+{
+ Xic ic = (Xic)arg;
+ CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE);
+ CARD8 major_opcode = *((CARD8 *)data);
+ CARD8 minor_opcode = *((CARD8 *)data + 1);
+ XIMID imid = buf_s[0];
+ XICID icid = buf_s[1];
+
+ if ((major_opcode == XIM_GET_IC_VALUES_REPLY)
+ && (minor_opcode == 0)
+ && (imid == im->private.proto.imid)
+ && (icid == ic->private.proto.icid))
+ return True;
+ if ((major_opcode == XIM_ERROR)
+ && (minor_opcode == 0)
+ && (buf_s[2] & XIM_IMID_VALID)
+ && (imid == im->private.proto.imid)
+ && (buf_s[2] & XIM_ICID_VALID)
+ && (icid == ic->private.proto.icid))
+ return True;
+ return False;
+}
+
+Private char *
+_XimProtoGetICValues(
+ XIC xic,
+ XIMArg *arg)
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ register XIMArg *p;
+ register XIMArg *pp;
+ register int n;
+ CARD8 *buf;
+ CARD16 *buf_s;
+ INT16 len;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply = NULL;
+ int buf_size;
+ int ret_code;
+ char *makeid_name;
+ char *decode_name;
+ CARD16 *data = NULL;
+ INT16 data_len = 0;
+
+#ifndef XIM_CONNECTABLE
+ if (!IS_IC_CONNECTED(ic))
+ return arg->name;
+#else
+ if (!IS_IC_CONNECTED(ic)) {
+ if (IS_CONNECTABLE(im)) {
+ if (_XimConnectServer(im)) {
+ if (!_XimReCreateIC(ic)) {
+ _XimDelayModeSetAttr(im);
+ return _XimDelayModeGetICValues(ic, arg);
+ }
+ } else {
+ return _XimDelayModeGetICValues(ic, arg);
+ }
+ } else {
+ return arg->name;
+ }
+ }
+#endif /* XIM_CONNECTABLE */
+
+ for (n = 0, p = arg; p && p->name; p++) {
+ n++;
+ if ((strcmp(p->name, XNPreeditAttributes) == 0)
+ || (strcmp(p->name, XNStatusAttributes) == 0)) {
+ n++;
+ for (pp = (XIMArg *)p->value; pp && pp->name; pp++)
+ n++;
+ }
+ }
+
+ if (!n)
+ return (char *)NULL;
+
+ buf_size = sizeof(CARD16) * n;
+ buf_size += XIM_HEADER_SIZE
+ + sizeof(CARD16)
+ + sizeof(CARD16)
+ + sizeof(INT16)
+ + XIM_PAD(2 + buf_size);
+
+ if (!(buf = (CARD8 *)Xmalloc(buf_size)))
+ return arg->name;
+ buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+
+ makeid_name = _XimMakeICAttrIDList(ic, ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, arg,
+ &buf_s[3], &len, XIM_GETICVALUES);
+
+ if (len > 0) {
+ buf_s[0] = im->private.proto.imid; /* imid */
+ buf_s[1] = ic->private.proto.icid; /* icid */
+ buf_s[2] = len; /* length of ic-attr-id */
+ len += sizeof(INT16); /* sizeof length of attr */
+ XIM_SET_PAD(&buf_s[2], len); /* pad */
+ len += sizeof(CARD16) /* sizeof imid */
+ + sizeof(CARD16); /* sizeof icid */
+
+ _XimSetHeader((XPointer)buf, XIM_GET_IC_VALUES, 0, &len);
+ if (!(_XimWrite(im, len, (XPointer)buf))) {
+ Xfree(buf);
+ return arg->name;
+ }
+ _XimFlush(im);
+ Xfree(buf);
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimGetICValuesCheck, (XPointer)ic);
+ if (ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if (ret_code == XIM_OVERFLOW) {
+ if (len <= 0) {
+ preply = reply;
+ } else {
+ buf_size = (int)len;
+ preply = (XPointer)Xmalloc(len);
+ ret_code = _XimRead(im, &len, preply, buf_size,
+ _XimGetICValuesCheck, (XPointer)ic);
+ if (ret_code != XIM_TRUE) {
+ if (preply != reply)
+ Xfree(preply);
+ return arg->name;
+ }
+ }
+ } else {
+ return arg->name;
+ }
+ buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ if (*((CARD8 *)preply) == XIM_ERROR) {
+ _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ if (reply != preply)
+ Xfree(preply);
+ return arg->name;
+ }
+ data = &buf_s[4];
+ data_len = buf_s[2];
+ }
+ else if (len < 0) {
+ return arg->name;
+ }
+
+ decode_name = _XimDecodeICATTRIBUTE(ic, ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, data, data_len,
+ arg, XIM_GETICVALUES);
+ if (reply != preply)
+ Xfree(preply);
+
+ if (decode_name)
+ return decode_name;
+ else
+ return makeid_name;
+}
+
+#ifdef XIM_CONNECTABLE
+Private Bool
+_XimCheckNestQuarkList(quark_list, num_quark, quark, separator)
+ XrmQuark *quark_list;
+ int num_quark;
+ XrmQuark quark;
+ XrmQuark separator;
+{
+ register int i;
+
+ for (i = 0; i < num_quark; i++) {
+ if (quark_list[i] == separator) {
+ break;
+ }
+ if (quark_list[i] == quark) {
+ return True;
+ }
+ }
+ return False;
+}
+
+Private Bool
+_XimCheckNestedQuarkList(quark_list, idx, num_quark, arg, separator)
+ XrmQuark **quark_list;
+ int idx;
+ int *num_quark;
+ XIMArg *arg;
+ XrmQuark separator;
+{
+ XrmQuark *q_list = *quark_list;
+ int n_quark = *num_quark;
+ register XIMArg *p;
+ XrmQuark quark;
+ XrmQuark *tmp;
+ register int i;
+
+ for (p = arg; p && p->name; p++) {
+ quark = XrmStringToQuark(p->name);
+ if (_XimCheckNestQuarkList(&q_list[idx], n_quark - idx,
+ quark, separator)) {
+ continue;
+ }
+ if (!(tmp = (XrmQuark *)Xmalloc((sizeof(XrmQuark) * (n_quark + 1))))) {
+ *quark_list = q_list;
+ *num_quark = n_quark;
+ return False;
+ }
+ n_quark++;
+ for (i = 0; i < idx; i++) {
+ tmp[i] = q_list[i];
+ }
+ tmp[i] = quark;
+ for (i = idx + 1; i < n_quark; i++) {
+ tmp[i] = q_list[i - 1];
+ }
+ q_list = tmp;
+ }
+ *quark_list = q_list;
+ *num_quark = n_quark;
+ return True;
+}
+
+Private Bool
+_XimCheckICQuarkList(quark_list, num_quark, quark, idx)
+ XrmQuark *quark_list;
+ int num_quark;
+ XrmQuark quark;
+ int *idx;
+{
+ register int i;
+
+ for (i = 0; i < num_quark; i++) {
+ if (quark_list[i] == quark) {
+ *idx = i;
+ return True;
+ }
+ }
+ return False;
+}
+
+Private Bool
+_XimSaveICValues(ic, arg)
+ Xic ic;
+ XIMArg *arg;
+{
+ register XIMArg *p;
+ register int n;
+ XrmQuark *quark_list;
+ XrmQuark *tmp;
+ XrmQuark quark;
+ int num_quark;
+ XrmQuark pre_quark;
+ XrmQuark sts_quark;
+ XrmQuark separator;
+ int idx;
+
+ pre_quark = XrmStringToQuark(XNPreeditAttributes);
+ sts_quark = XrmStringToQuark(XNStatusAttributes);
+ separator = XrmStringToQuark(XNSeparatorofNestedList);
+
+ if (quark_list = ic->private.proto.saved_icvalues) {
+ num_quark = ic->private.proto.num_saved_icvalues;
+ for (p = arg; p && p->name; p++) {
+ quark = XrmStringToQuark(p->name);
+ if ((quark == pre_quark) || (quark == sts_quark)) {
+ if (!_XimCheckICQuarkList(quark_list, num_quark, quark, &idx)) {
+ register XIMArg *pp;
+ int nn;
+ XrmQuark *q_list;
+
+ for (pp = (XIMArg *)p->value, nn = 0;
+ pp && pp->name; pp++, nn++);
+ if (!(tmp = (XrmQuark *)Xrealloc(quark_list,
+ (sizeof(XrmQuark) * (num_quark + nn + 2))))) {
+ ic->private.proto.saved_icvalues = quark_list;
+ ic->private.proto.num_saved_icvalues = num_quark;
+ return False;
+ }
+ quark_list = tmp;
+ q_list = &quark_list[num_quark];
+ num_quark += nn + 2;
+ *q_list++ = quark;
+ for (pp = (XIMArg *)p->value;
+ pp && pp->name; pp++, quark_list++) {
+ *q_list = XrmStringToQuark(pp->name);
+ }
+ *q_list = separator;
+ } else {
+ if (!_XimCheckNestedQuarkList(&quark_list, idx + 1,
+ &num_quark, (XIMArg *)p->value, separator)) {
+ ic->private.proto.saved_icvalues = quark_list;
+ ic->private.proto.num_saved_icvalues = num_quark;
+ return False;
+ }
+ }
+ } else {
+ if (_XimCheckICQuarkList(quark_list, num_quark, quark, &idx)) {
+ continue;
+ }
+ if (!(tmp = (XrmQuark *)Xrealloc(quark_list,
+ (sizeof(XrmQuark) * (num_quark + 1))))) {
+ ic->private.proto.saved_icvalues = quark_list;
+ ic->private.proto.num_saved_icvalues = num_quark;
+ return False;
+ }
+ quark_list = tmp;
+ quark_list[num_quark] = quark;
+ num_quark++;
+ }
+ }
+ ic->private.proto.saved_icvalues = quark_list;
+ ic->private.proto.num_saved_icvalues = num_quark;
+ return True;
+ }
+
+ for (p = arg, n = 0; p && p->name; p++, n++) {
+ if ((!strcmp(p->name, XNPreeditAttributes))
+ || (!strcmp(p->name, XNStatusAttributes))) {
+ register XIMArg *pp;
+ int nn;
+
+ for (pp = (XIMArg *)p->value, nn = 0; pp && pp->name; pp++, nn++);
+ n += nn + 1;
+ }
+ }
+
+ if (!(quark_list = (XrmQuark *)Xmalloc(sizeof(XrmQuark) * n))) {
+ return False;
+ }
+
+ ic->private.proto.saved_icvalues = quark_list;
+ ic->private.proto.num_saved_icvalues = n;
+ for (p = arg; p && p->name; p++, quark_list++) {
+ *quark_list = XrmStringToQuark(p->name);
+ if ((*quark_list == pre_quark) || (*quark_list == sts_quark)) {
+ register XIMArg *pp;
+
+ quark_list++;
+ for (pp = (XIMArg *)p->value; pp && pp->name; pp++, quark_list++) {
+ *quark_list = XrmStringToQuark(pp->name);
+ }
+ *quark_list = separator;
+ }
+ }
+ return True;
+}
+
+Private char *
+_XimDelayModeSetICValues(ic, arg)
+ Xic ic;
+ XIMArg *arg;
+{
+ XimDefICValues ic_values;
+ char *name;
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ name = _XimSetICValueData(ic, (XPointer)&ic_values,
+ ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources,
+ arg, XIM_SETICVALUES, False);
+ _XimSetCurrentICValues(ic, &ic_values);
+ return name;
+}
+#endif /* XIM_CONNECTABLE */
+
+Private Bool
+_XimSetICValuesCheck(
+ Xim im,
+ INT16 len,
+ XPointer data,
+ XPointer arg)
+{
+ Xic ic = (Xic)arg;
+ CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE);
+ CARD8 major_opcode = *((CARD8 *)data);
+ CARD8 minor_opcode = *((CARD8 *)data + 1);
+ XIMID imid = buf_s[0];
+ XICID icid = buf_s[1];
+
+ if ((major_opcode == XIM_SET_IC_VALUES_REPLY)
+ && (minor_opcode == 0)
+ && (imid == im->private.proto.imid)
+ && (icid == ic->private.proto.icid))
+ return True;
+ if ((major_opcode == XIM_ERROR)
+ && (minor_opcode == 0)
+ && (buf_s[2] & XIM_IMID_VALID)
+ && (imid == im->private.proto.imid)
+ && (buf_s[2] & XIM_ICID_VALID)
+ && (icid == ic->private.proto.icid))
+ return True;
+ return False;
+}
+
+Private char *
+_XimProtoSetICValues(
+ XIC xic,
+ XIMArg *arg)
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ XimDefICValues ic_values;
+ INT16 len;
+ CARD16 *buf_s;
+ char *tmp;
+ CARD32 tmp_buf32[BUFSIZE/4];
+ char *tmp_buf = (char *)tmp_buf32;
+ char *buf;
+ int buf_size;
+ char *data;
+ int data_len;
+ int ret_len;
+ int total;
+ XIMArg *arg_ret;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply = NULL;
+ int ret_code;
+ BITMASK32 flag = 0L;
+ char *name;
+ char *tmp_name = (arg) ? arg->name : NULL;
+
+#ifndef XIM_CONNECTABLE
+ if (!IS_IC_CONNECTED(ic))
+ return tmp_name;
+#else
+ if (!_XimSaveICValues(ic, arg))
+ return NULL;
+
+ if (!IS_IC_CONNECTED(ic)) {
+ if (IS_CONNECTABLE(im)) {
+ if (_XimConnectServer(im)) {
+ if (!_XimReCreateIC(ic)) {
+ _XimDelayModeSetAttr(im);
+ return _XimDelayModeSetICValues(ic, arg);
+ }
+ } else {
+ return _XimDelayModeSetICValues(ic, arg);
+ }
+ } else {
+ return tmp_name;
+ }
+ }
+#endif /* XIM_CONNECTABLE */
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ buf = tmp_buf;
+ buf_size = XIM_HEADER_SIZE
+ + sizeof(CARD16) + sizeof(CARD16) + sizeof(INT16) + sizeof(CARD16);
+ data_len = BUFSIZE - buf_size;
+ total = 0;
+ arg_ret = arg;
+ for (;;) {
+ data = &buf[buf_size];
+ if ((name = _XimEncodeICATTRIBUTE(ic, ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, arg, &arg_ret,
+ data, data_len, &ret_len, (XPointer)&ic_values,
+ &flag, XIM_SETICVALUES))) {
+ break;
+ }
+
+ total += ret_len;
+ if (!(arg = arg_ret)) {
+ break;
+ }
+
+ buf_size += ret_len;
+ if (buf == tmp_buf) {
+ if (!(tmp = (char *)Xmalloc(buf_size + data_len))) {
+ return tmp_name;
+ }
+ memcpy(tmp, buf, buf_size);
+ buf = tmp;
+ } else {
+ if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) {
+ Xfree(buf);
+ return tmp_name;
+ }
+ buf = tmp;
+ }
+ }
+ _XimSetCurrentICValues(ic, &ic_values);
+
+ if (!total) {
+ return tmp_name;
+ }
+
+ buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+
+#ifdef EXT_MOVE
+ if (_XimExtenMove(im, ic, flag, &buf_s[4], (INT16)total))
+ return name;
+#endif
+
+ buf_s[0] = im->private.proto.imid;
+ buf_s[1] = ic->private.proto.icid;
+ buf_s[2] = (INT16)total;
+ buf_s[3] = 0;
+ len = (INT16)(sizeof(CARD16) + sizeof(CARD16)
+ + sizeof(INT16) + sizeof(CARD16) + total);
+
+ _XimSetHeader((XPointer)buf, XIM_SET_IC_VALUES, 0, &len);
+ if (!(_XimWrite(im, len, (XPointer)buf))) {
+ if (buf != tmp_buf)
+ Xfree(buf);
+ return tmp_name;
+ }
+ _XimFlush(im);
+ if (buf != tmp_buf)
+ Xfree(buf);
+ ic->private.proto.waitCallback = True;
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimSetICValuesCheck, (XPointer)ic);
+ if (ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if (ret_code == XIM_OVERFLOW) {
+ buf_size = (int)len;
+ preply = (XPointer)Xmalloc(buf_size);
+ ret_code = _XimRead(im, &len, preply, buf_size,
+ _XimSetICValuesCheck, (XPointer)ic);
+ if (ret_code != XIM_TRUE) {
+ Xfree(preply);
+ ic->private.proto.waitCallback = False;
+ return tmp_name;
+ }
+ } else {
+ ic->private.proto.waitCallback = False;
+ return tmp_name;
+ }
+ ic->private.proto.waitCallback = False;
+ buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ if (*((CARD8 *)preply) == XIM_ERROR) {
+ _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ if (reply != preply)
+ Xfree(preply);
+ return tmp_name;
+ }
+ if (reply != preply)
+ Xfree(preply);
+
+ return name;
+}
+
+Private Bool
+_XimDestroyICCheck(
+ Xim im,
+ INT16 len,
+ XPointer data,
+ XPointer arg)
+{
+ Xic ic = (Xic)arg;
+ CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE);
+ CARD8 major_opcode = *((CARD8 *)data);
+ CARD8 minor_opcode = *((CARD8 *)data + 1);
+ XIMID imid = buf_s[0];
+ XICID icid = buf_s[1];
+ Bool ret = False;
+
+ if ((major_opcode == XIM_DESTROY_IC_REPLY)
+ && (minor_opcode == 0)
+ && (imid == im->private.proto.imid)
+ && (icid == ic->private.proto.icid))
+ ret = True;
+ if ((major_opcode == XIM_ERROR)
+ && (minor_opcode == 0)
+ && (buf_s[2] & XIM_IMID_VALID)
+ && (imid == im->private.proto.imid)
+ && (buf_s[2] & XIM_ICID_VALID)
+ && (icid == ic->private.proto.icid))
+ ret = False;
+ return ret;
+}
+
+Private void
+_XimProtoICFree(
+ Xic ic)
+{
+#ifdef XIM_CONNECTABLE
+ Xim im = (Xim)ic->core.im;
+#endif
+
+ if (ic->private.proto.preedit_font) {
+ Xfree(ic->private.proto.preedit_font);
+ ic->private.proto.preedit_font = NULL;
+ }
+ if (ic->private.proto.status_font) {
+ Xfree(ic->private.proto.status_font);
+ ic->private.proto.status_font = NULL;
+ }
+ if (ic->private.proto.commit_info) {
+ _XimFreeCommitInfo(ic);
+ ic->private.proto.commit_info = NULL;
+ }
+ if (ic->private.proto.ic_inner_resources) {
+ Xfree(ic->private.proto.ic_inner_resources);
+ ic->private.proto.ic_inner_resources = NULL;
+ }
+
+#ifdef XIM_CONNECTABLE
+ if (IS_SERVER_CONNECTED(im) && IS_RECONNECTABLE(im)) {
+ return;
+ }
+#endif /* XIM_CONNECTABLE */
+
+ if (ic->private.proto.saved_icvalues) {
+ Xfree(ic->private.proto.saved_icvalues);
+ ic->private.proto.saved_icvalues = NULL;
+ }
+ if (ic->private.proto.ic_resources) {
+ Xfree(ic->private.proto.ic_resources);
+ ic->private.proto.ic_resources = NULL;
+ }
+ if (ic->core.hotkey) {
+ Xfree(ic->core.hotkey);
+ ic->core.hotkey = NULL;
+ }
+
+ return;
+}
+
+Private void
+_XimProtoDestroyIC(
+ XIC xic)
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ CARD32 buf32[BUFSIZE/4];
+ CARD8 *buf = (CARD8 *)buf32;
+ CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ INT16 len;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply;
+ int buf_size;
+ int ret_code;
+
+ if (IS_SERVER_CONNECTED(im)) {
+ buf_s[0] = im->private.proto.imid; /* imid */
+ buf_s[1] = ic->private.proto.icid; /* icid */
+
+ len = sizeof(CARD16) /* sizeof imid */
+ + sizeof(CARD16); /* sizeof icid */
+
+ _XimSetHeader((XPointer)buf, XIM_DESTROY_IC, 0, &len);
+ (void)_XimWrite(im, len, (XPointer)buf);
+ _XimFlush(im);
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimDestroyICCheck, (XPointer)ic);
+ if (ret_code == XIM_OVERFLOW) {
+ buf_size = len;
+ preply = (XPointer)Xmalloc(buf_size);
+ (void)_XimRead(im, &len, preply, buf_size,
+ _XimDestroyICCheck, (XPointer)ic);
+ Xfree(preply);
+ }
+ }
+ UNMARK_IC_CONNECTED(ic);
+ _XimUnregisterFilter(ic);
+ _XimProtoICFree(ic);
+ return;
+}
+
+Private void
+_XimProtoSetFocus(
+ XIC xic)
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ CARD32 buf32[BUFSIZE/4];
+ CARD8 *buf = (CARD8 *)buf32;
+ CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ INT16 len;
+
+#ifndef XIM_CONNECTABLE
+ if (!IS_IC_CONNECTED(ic))
+ return;
+#else
+ if (!IS_IC_CONNECTED(ic)) {
+ if (IS_CONNECTABLE(im)) {
+ if (_XimConnectServer(im)) {
+ if (!_XimReCreateIC(ic)) {
+ _XimDelayModeSetAttr(im);
+ return;
+ }
+ } else {
+ return;
+ }
+ } else {
+ return;
+ }
+ }
+#endif /* XIM_CONNECTABLE */
+
+ buf_s[0] = im->private.proto.imid; /* imid */
+ buf_s[1] = ic->private.proto.icid; /* icid */
+
+ len = sizeof(CARD16) /* sizeof imid */
+ + sizeof(CARD16); /* sizeof icid */
+
+ _XimSetHeader((XPointer)buf, XIM_SET_IC_FOCUS, 0, &len);
+ (void)_XimWrite(im, len, (XPointer)buf);
+ _XimFlush(im);
+
+ MARK_FOCUSED(ic);
+
+ _XimRegisterFilter(ic);
+ return;
+}
+
+Private void
+_XimProtoUnsetFocus(
+ XIC xic)
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ CARD32 buf32[BUFSIZE/4];
+ CARD8 *buf = (CARD8 *)buf32;
+ CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ INT16 len;
+
+#ifndef XIM_CONNECTABLE
+ if (!IS_IC_CONNECTED(ic))
+ return;
+#else
+ if (!IS_IC_CONNECTED(ic)) {
+ if (IS_CONNECTABLE(im)) {
+ if (_XimConnectServer(im)) {
+ if (!_XimReCreateIC(ic)) {
+ _XimDelayModeSetAttr(im);
+ return;
+ }
+ } else {
+ return;
+ }
+ } else {
+ return;
+ }
+ }
+#endif /* XIM_CONNECTABLE */
+
+ buf_s[0] = im->private.proto.imid; /* imid */
+ buf_s[1] = ic->private.proto.icid; /* icid */
+
+ len = sizeof(CARD16) /* sizeof imid */
+ + sizeof(CARD16); /* sizeof icid */
+
+ _XimSetHeader((XPointer)buf, XIM_UNSET_IC_FOCUS, 0, &len);
+ (void)_XimWrite(im, len, (XPointer)buf);
+ _XimFlush(im);
+
+ UNMARK_FOCUSED(ic);
+
+ _XimUnregisterFilter(ic);
+ return;
+}
+
+Private Bool
+_XimResetICCheck(
+ Xim im,
+ INT16 len,
+ XPointer data,
+ XPointer arg)
+{
+ Xic ic = (Xic)arg;
+ CARD16 *buf_s = (CARD16 *)((CARD8 *)data + XIM_HEADER_SIZE);
+ CARD8 major_opcode = *((CARD8 *)data);
+ CARD8 minor_opcode = *((CARD8 *)data + 1);
+ XIMID imid = buf_s[0];
+ XICID icid = buf_s[1];
+
+ if ((major_opcode == XIM_RESET_IC_REPLY)
+ && (minor_opcode == 0)
+ && (imid == im->private.proto.imid)
+ && (icid == ic->private.proto.icid))
+ return True;
+ if ((major_opcode == XIM_ERROR)
+ && (minor_opcode == 0)
+ && (buf_s[2] & XIM_IMID_VALID)
+ && (imid == im->private.proto.imid)
+ && (buf_s[2] & XIM_ICID_VALID)
+ && (icid == ic->private.proto.icid))
+ return True;
+ return False;
+}
+
+Private char *
+_XimProtoReset(
+ XIC xic,
+ char * (*retfunc) (Xim im, Xic ic, XPointer buf) )
+{
+ Xic ic = (Xic)xic;
+ Xim im = (Xim)ic->core.im;
+ CARD32 buf32[BUFSIZE/4];
+ CARD8 *buf = (CARD8 *)buf32;
+ CARD16 *buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ INT16 len;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply;
+ int buf_size;
+ int ret_code;
+ char *commit;
+
+ if (!IS_IC_CONNECTED(ic))
+ return (char *)NULL;
+
+ buf_s[0] = im->private.proto.imid; /* imid */
+ buf_s[1] = ic->private.proto.icid; /* icid */
+
+ len = sizeof(CARD16) /* sizeof imid */
+ + sizeof(CARD16); /* sizeof icid */
+
+ _XimSetHeader((XPointer)buf, XIM_RESET_IC, 0, &len);
+ if (!(_XimWrite(im, len, (XPointer)buf)))
+ return NULL;
+ _XimFlush(im);
+ ic->private.proto.waitCallback = True;
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimResetICCheck, (XPointer)ic);
+ if (ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if (ret_code == XIM_OVERFLOW) {
+ if (len < 0) {
+ preply = reply;
+ } else {
+ buf_size = len;
+ preply = (XPointer)Xmalloc(buf_size);
+ ret_code = _XimRead(im, &len, preply, buf_size,
+ _XimResetICCheck, (XPointer)ic);
+ if (ret_code != XIM_TRUE) {
+ Xfree(preply);
+ ic->private.proto.waitCallback = False;
+ return NULL;
+ }
+ }
+ } else {
+ ic->private.proto.waitCallback = False;
+ return NULL;
+ }
+ ic->private.proto.waitCallback = False;
+ buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ if (*((CARD8 *)preply) == XIM_ERROR) {
+ _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ if (reply != preply)
+ free(preply);
+ return NULL;
+ }
+
+ commit = retfunc(im, ic, (XPointer)&buf_s[2]);
+
+ if (reply != preply)
+ Xfree(preply);
+ return commit;
+}
+
+Private char *
+_XimCommitedMbString(
+ Xim im,
+ Xic ic,
+ XPointer buf)
+{
+ CARD16 *buf_s = (CARD16 *)buf;
+ XimCommitInfo info;
+ int len;
+ int new_len;
+ char *commit;
+ char *new_commit = NULL;
+ char *str;
+ Status status;
+
+ len = 0;
+ for (info = ic->private.proto.commit_info; info; info = info->next)
+ len += info->string_len;
+ len += buf_s[0];
+ if ( len == 0 )
+ return( NULL );
+
+ if (!(commit = (char *)Xmalloc(len + 1)))
+ goto Error_On_Reset;
+
+ str = commit;
+ for (info = ic->private.proto.commit_info; info; info = info->next) {
+ (void)memcpy(str, info->string, info->string_len);
+ str += info->string_len;
+ }
+ (void)memcpy(str, (char *)&buf_s[1], buf_s[0]);
+ commit[len] = '\0';
+
+ new_len = im->methods->ctstombs((XIM)im, commit, len, NULL, 0, &status);
+ if (status != XLookupNone) {
+ if (!(new_commit = Xmalloc(new_len + 1))) {
+ Xfree(commit);
+ goto Error_On_Reset;
+ }
+ (void)im->methods->ctstombs((XIM)im, commit, len,
+ new_commit, new_len, NULL);
+ new_commit[new_len] = '\0';
+ }
+ Xfree(commit);
+
+Error_On_Reset:
+ _XimFreeCommitInfo( ic );
+ return new_commit;
+}
+
+Private char *
+_XimProtoMbReset(
+ XIC xic)
+{
+ return _XimProtoReset(xic, _XimCommitedMbString);
+}
+
+Private wchar_t *
+_XimCommitedWcString(
+ Xim im,
+ Xic ic,
+ XPointer buf)
+{
+ CARD16 *buf_s = (CARD16 *)buf;
+ XimCommitInfo info;
+ int len;
+ int new_len;
+ char *commit;
+ wchar_t *new_commit = (wchar_t *)NULL;
+ char *str;
+ Status status;
+
+ len = 0;
+ for (info = ic->private.proto.commit_info; info; info = info->next)
+ len += info->string_len;
+ len += buf_s[0];
+ if ( len == 0 )
+ return( (wchar_t *)NULL );
+
+ if (!(commit = (char *)Xmalloc(len + 1)))
+ goto Error_On_Reset;
+
+ str = commit;
+ for (info = ic->private.proto.commit_info; info; info = info->next) {
+ (void)memcpy(str, info->string, info->string_len);
+ str += info->string_len;
+ }
+ (void)memcpy(str, (char *)&buf_s[1], buf_s[0]);
+ commit[len] = '\0';
+
+ new_len = im->methods->ctstowcs((XIM)im, commit, len, NULL, 0, &status);
+ if (status != XLookupNone) {
+ if (!(new_commit =
+ (wchar_t *)Xmalloc(sizeof(wchar_t) * (new_len + 1)))) {
+ Xfree(commit);
+ goto Error_On_Reset;
+ }
+ (void)im->methods->ctstowcs((XIM)im, commit, len,
+ new_commit, new_len, NULL);
+ new_commit[new_len] = (wchar_t)'\0';
+ }
+ Xfree(commit);
+
+Error_On_Reset:
+ _XimFreeCommitInfo( ic );
+ return new_commit;
+}
+
+Private wchar_t *
+_XimProtoWcReset(
+ XIC xic)
+{
+ return (wchar_t *) _XimProtoReset(xic,
+ (char * (*) (Xim, Xic, XPointer)) _XimCommitedWcString);
+}
+
+Private char *
+_XimCommitedUtf8String(
+ Xim im,
+ Xic ic,
+ XPointer buf)
+{
+ CARD16 *buf_s = (CARD16 *)buf;
+ XimCommitInfo info;
+ int len;
+ int new_len;
+ char *commit;
+ char *new_commit = NULL;
+ char *str;
+ Status status;
+
+ len = 0;
+ for (info = ic->private.proto.commit_info; info; info = info->next)
+ len += info->string_len;
+ len += buf_s[0];
+ if ( len == 0 )
+ return( NULL );
+
+ if (!(commit = (char *)Xmalloc(len + 1)))
+ goto Error_On_Reset;
+
+ str = commit;
+ for (info = ic->private.proto.commit_info; info; info = info->next) {
+ (void)memcpy(str, info->string, info->string_len);
+ str += info->string_len;
+ }
+ (void)memcpy(str, (char *)&buf_s[1], buf_s[0]);
+ commit[len] = '\0';
+
+ new_len = im->methods->ctstoutf8((XIM)im, commit, len, NULL, 0, &status);
+ if (status != XLookupNone) {
+ if (!(new_commit = Xmalloc(new_len + 1))) {
+ Xfree(commit);
+ goto Error_On_Reset;
+ }
+ (void)im->methods->ctstoutf8((XIM)im, commit, len,
+ new_commit, new_len, NULL);
+ new_commit[new_len] = '\0';
+ }
+ Xfree(commit);
+
+Error_On_Reset:
+ _XimFreeCommitInfo( ic );
+ return new_commit;
+}
+
+Private char *
+_XimProtoUtf8Reset(
+ XIC xic)
+{
+ return _XimProtoReset(xic, _XimCommitedUtf8String);
+}
+
+Private XICMethodsRec ic_methods = {
+ _XimProtoDestroyIC, /* destroy */
+ _XimProtoSetFocus, /* set_focus */
+ _XimProtoUnsetFocus, /* unset_focus */
+ _XimProtoSetICValues, /* set_values */
+ _XimProtoGetICValues, /* get_values */
+ _XimProtoMbReset, /* mb_reset */
+ _XimProtoWcReset, /* wc_reset */
+ _XimProtoUtf8Reset, /* utf8_reset */
+ _XimProtoMbLookupString, /* mb_lookup_string */
+ _XimProtoWcLookupString, /* wc_lookup_string */
+ _XimProtoUtf8LookupString /* utf8_lookup_string */
+};
+
+Private Bool
+_XimGetInputStyle(
+ XIMArg *arg,
+ XIMStyle *input_style)
+{
+ register XIMArg *p;
+
+ for (p = arg; p && p->name; p++) {
+ if (!(strcmp(p->name, XNInputStyle))) {
+ *input_style = (XIMStyle)p->value;
+ return True;
+ }
+ }
+ return False;
+}
+
+#ifdef XIM_CONNECTABLE
+Private Bool
+_XimDelayModeCreateIC(
+ Xic ic,
+ XIMArg *values,
+ XIMResourceList res,
+ unsigned int num)
+{
+ Xim im = (Xim)ic->core.im;
+ XimDefICValues ic_values;
+ int len;
+ XIMStyle input_style;
+
+ bzero((char *)&ic_values, sizeof(XimDefICValues));
+ _XimGetCurrentICValues(ic, &ic_values);
+ if (!(_XimGetInputStyle(values, &input_style)))
+ return False;
+
+ _XimSetICMode(res, num, input_style);
+
+ if (_XimSetICValueData(ic, (XPointer)&ic_values, res, num,
+ values, XIM_CREATEIC, False)) {
+ return False;
+ }
+ _XimSetCurrentICValues(ic, &ic_values);
+ if (!_XimSetICDefaults(ic, (XPointer)&ic_values,
+ XIM_SETICDEFAULTS, res, num)) {
+ return False;
+ }
+ ic_values.filter_events = KeyPressMask;
+ _XimSetCurrentICValues(ic, &ic_values);
+ _XimRegisterFilter(ic);
+
+ return True;
+}
+
+Public Bool
+_XimReconnectModeCreateIC(ic)
+ Xic ic;
+{
+ Xim im = (Xim)ic->core.im;
+ int len;
+ XIMStyle input_style = ic->core.input_style;
+ XIMResourceList res;
+ unsigned int num;
+
+ num = im->core.ic_num_resources;
+ len = sizeof(XIMResource) * num;
+ if (!(res = (XIMResourceList)Xmalloc(len)))
+ return False;
+ (void)memcpy((char *)res, (char *)im->core.ic_resources, len);
+ ic->private.proto.ic_resources = res;
+ ic->private.proto.ic_num_resources = num;
+
+ _XimSetICMode(res, num, input_style);
+
+ ic->core.filter_events = KeyPressMask;
+
+ return True;
+}
+#endif /* XIM_CONNECTABLE */
+
+Public XIC
+_XimProtoCreateIC(
+ XIM xim,
+ XIMArg *arg)
+{
+ Xim im = (Xim)xim;
+ Xic ic;
+ XimDefICValues ic_values;
+ XIMResourceList res;
+ unsigned int num;
+ XIMStyle input_style;
+ INT16 len;
+ CARD16 *buf_s;
+ char *tmp;
+ CARD32 tmp_buf32[BUFSIZE/4];
+ char *tmp_buf = (char *)tmp_buf32;
+ char *buf;
+ int buf_size;
+ char *data;
+ int data_len;
+ int ret_len;
+ int total;
+ XIMArg *arg_ret;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply;
+ int ret_code;
+
+#ifdef XIM_CONNECTABLE
+ if (!IS_SERVER_CONNECTED(im) && !IS_CONNECTABLE(im))
+ return (XIC)NULL;
+#else
+ if (!IS_SERVER_CONNECTED(im))
+ return (XIC)NULL;
+#endif /* XIM_CONNECTABLE */
+
+ if (!(_XimGetInputStyle(arg, &input_style)))
+ return (XIC)NULL;
+
+ if ((ic = (Xic)Xmalloc(sizeof(XicRec))) == (Xic)NULL)
+ return (XIC)NULL;
+
+ bzero((char *)ic, sizeof(XicRec));
+ ic->methods = &ic_methods;
+ ic->core.im = (XIM)im;
+ ic->core.input_style = input_style;
+
+ num = im->core.ic_num_resources;
+ len = sizeof(XIMResource) * num;
+ if (!(res = (XIMResourceList)Xmalloc(len)))
+ return (XIC)NULL;
+ (void)memcpy((char *)res, (char *)im->core.ic_resources, len);
+ ic->private.proto.ic_resources = res;
+ ic->private.proto.ic_num_resources = num;
+
+#ifdef XIM_CONNECTABLE
+ if (!_XimSaveICValues(ic, arg))
+ return False;
+
+ if (!IS_SERVER_CONNECTED(im)) {
+ if (!_XimConnectServer(im)) {
+ if (_XimDelayModeCreateIC(ic, arg, res, num)) {
+ return (XIC)ic;
+ }
+ goto ErrorOnCreatingIC;
+ }
+ }
+#endif /* XIM_CONNECTABLE */
+
+ ic->core.filter_events = im->private.proto.forward_event_mask;
+ ic->private.proto.forward_event_mask =
+ im->private.proto.forward_event_mask;
+ ic->private.proto.synchronous_event_mask =
+ im->private.proto.synchronous_event_mask;
+
+ num = im->private.proto.ic_num_inner_resources;
+ len = sizeof(XIMResource) * num;
+ if (!(res = (XIMResourceList)Xmalloc(len)))
+ return (XIC)NULL;
+ (void)memcpy((char *)res,
+ (char *)im->private.proto.ic_inner_resources, len);
+ ic->private.proto.ic_inner_resources = res;
+ ic->private.proto.ic_num_inner_resources = num;
+
+ _XimSetICMode(ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, input_style);
+
+ _XimSetICMode(ic->private.proto.ic_inner_resources,
+ ic->private.proto.ic_num_inner_resources, input_style);
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ buf = tmp_buf;
+ buf_size = XIM_HEADER_SIZE + sizeof(CARD16) + sizeof(INT16);
+ data_len = BUFSIZE - buf_size;
+ total = 0;
+ arg_ret = arg;
+ for (;;) {
+ data = &buf[buf_size];
+ if (_XimEncodeICATTRIBUTE(ic, ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources, arg, &arg_ret, data,
+ data_len, &ret_len, (XPointer)&ic_values, 0, XIM_CREATEIC)) {
+ goto ErrorOnCreatingIC;
+ }
+
+ total += ret_len;
+ if (!(arg = arg_ret)) {
+ break;
+ }
+
+ buf_size += ret_len;
+ if (buf == tmp_buf) {
+ if (!(tmp = (char *)Xmalloc(buf_size + data_len))) {
+ goto ErrorOnCreatingIC;
+ }
+ memcpy(tmp, buf, buf_size);
+ buf = tmp;
+ } else {
+ if (!(tmp = (char *)Xrealloc(buf, (buf_size + data_len)))) {
+ Xfree(buf);
+ goto ErrorOnCreatingIC;
+ }
+ buf = tmp;
+ }
+ }
+ _XimSetCurrentICValues(ic, &ic_values);
+
+ if (!(_XimCheckCreateICValues(ic->private.proto.ic_resources,
+ ic->private.proto.ic_num_resources)))
+ goto ErrorOnCreatingIC;
+
+ _XimRegisterFilter(ic);
+
+ buf_s = (CARD16 *)&buf[XIM_HEADER_SIZE];
+ buf_s[0] = im->private.proto.imid;
+ buf_s[1] = (INT16)total;
+
+ len = (INT16)(sizeof(CARD16) + sizeof(INT16) + total);
+ _XimSetHeader((XPointer)buf, XIM_CREATE_IC, 0, &len);
+ if (!(_XimWrite(im, len, (XPointer)buf))) {
+ if (buf != tmp_buf)
+ Xfree(buf);
+ goto ErrorOnCreatingIC;
+ }
+ _XimFlush(im);
+ if (buf != tmp_buf)
+ Xfree(buf);
+ ic->private.proto.waitCallback = True;
+ buf_size = BUFSIZE;
+ ret_code = _XimRead(im, &len, (XPointer)reply, buf_size,
+ _XimCreateICCheck, 0);
+ if (ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if (ret_code == XIM_OVERFLOW) {
+ if (len <= 0) {
+ preply = reply;
+ } else {
+ buf_size = (int)len;
+ preply = (XPointer)Xmalloc(buf_size);
+ ret_code = _XimRead(im, &len, preply, buf_size,
+ _XimCreateICCheck, 0);
+ if (ret_code != XIM_TRUE) {
+ Xfree(preply);
+ ic->private.proto.waitCallback = False;
+ goto ErrorOnCreatingIC;
+ }
+ }
+ } else {
+ ic->private.proto.waitCallback = False;
+ goto ErrorOnCreatingIC;
+ }
+ ic->private.proto.waitCallback = False;
+ buf_s = (CARD16 *)((char *)preply + XIM_HEADER_SIZE);
+ if (*((CARD8 *)preply) == XIM_ERROR) {
+ _XimProcError(im, 0, (XPointer)&buf_s[3]);
+ if (reply != preply)
+ Xfree(preply);
+ goto ErrorOnCreatingIC;
+ }
+
+ ic->private.proto.icid = buf_s[1]; /* icid */
+ if (reply != preply)
+ Xfree(preply);
+ MARK_IC_CONNECTED(ic);
+ return (XIC)ic;
+
+ErrorOnCreatingIC:
+ _XimUnregisterFilter(ic);
+ if (ic->private.proto.ic_resources)
+ Xfree(ic->private.proto.ic_resources);
+ if (ic->private.proto.ic_inner_resources)
+ Xfree(ic->private.proto.ic_inner_resources);
+ Xfree(ic);
+ return (XIC)NULL;
+}
diff --git a/libX11/modules/im/ximcp/imDefIm.c b/libX11/modules/im/ximcp/imDefIm.c index ddcfc3bf6..936ce12b2 100644 --- a/libX11/modules/im/ximcp/imDefIm.c +++ b/libX11/modules/im/ximcp/imDefIm.c @@ -1,5 +1,5 @@ /*
- * Copyright 1990, 1991, 1992 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1990, 1991, 1992 Oracle and/or its affiliates. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/modules/im/ximcp/imTrX.c b/libX11/modules/im/ximcp/imTrX.c index 83f204d54..01c438eed 100644 --- a/libX11/modules/im/ximcp/imTrX.c +++ b/libX11/modules/im/ximcp/imTrX.c @@ -1,5 +1,5 @@ /*
- * Copyright 1992 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/modules/im/ximcp/imTrans.c b/libX11/modules/im/ximcp/imTrans.c index cf81f78f3..7673279c6 100644 --- a/libX11/modules/im/ximcp/imTrans.c +++ b/libX11/modules/im/ximcp/imTrans.c @@ -1,5 +1,5 @@ /*
- * Copyright 1992 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/modules/im/ximcp/imTransR.c b/libX11/modules/im/ximcp/imTransR.c index e536bbc9b..b8bad59a4 100644 --- a/libX11/modules/im/ximcp/imTransR.c +++ b/libX11/modules/im/ximcp/imTransR.c @@ -1,312 +1,312 @@ -/* - * Copyright 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "XimTrInt.h" -#include "Ximint.h" - -Public TransportSW _XimTransportRec[] = { - { "X", _XimXConf }, /* 1st entry must be X. - This will be a fallback */ -#ifdef TCPCONN - { "tcp", _XimTransConf }, /* use X transport lib */ -#endif /* TCPCONN */ -#if defined(UNIXCONN) || defined(LOCALCONN) - { "local", _XimTransConf }, /* use X transport lib */ -#endif /* UNIXCONN */ -#ifdef DNETCONN - { "dnet", _XimTransConf }, /* use X transport lib */ -#endif /* DNETCONN */ -#ifdef STREAMSCONN - { "streams", _XimTransConf }, /* use X transport lib */ -#endif /* STREAMSCONN */ - { (char *)NULL, (Bool (*)(Xim, char *))NULL }, -}; - -Public Bool -_XimConnect(Xim im) -{ - return im->private.proto.connect(im); -} - -Public Bool -_XimShutdown(Xim im) -{ - return im->private.proto.shutdown(im); -} - -Public Bool -_XimWrite(Xim im, INT16 len, XPointer data) -{ - return im->private.proto.write(im, len, data); -} - -Private int -_CheckProtocolData( - Xim im, - char *recv_buf) -{ - int data_len; - - data_len = (int)(((*((CARD16 *)recv_buf + 1)) * 4) + XIM_HEADER_SIZE); - return data_len; -} - -Private int -_XimReadData( - Xim im, - INT16 *len, - XPointer buf, - int buf_size) -{ - char *hold_buf; - char *tmp; - int data_len; - int packet_size; - int ret_len; - register int i; - - if (buf_size < XIM_HEADER_SIZE) { - *len = (INT16)XIM_HEADER_SIZE; - return XIM_OVERFLOW; - } - - bzero(buf, buf_size); - packet_size = 0; - data_len = 0; - - if ((hold_buf = im->private.proto.hold_data)) { - data_len = im->private.proto.hold_data_len; - if (data_len >= XIM_HEADER_SIZE) { - packet_size = _CheckProtocolData(im, hold_buf); - if (packet_size > buf_size) { - *len = (INT16)packet_size; - return XIM_OVERFLOW; - } - if (packet_size <= data_len) { - memcpy(buf, hold_buf, packet_size); - for (i = packet_size; i < data_len; i++) { - if (hold_buf[i]) - break; - } - data_len -= i; - - if (data_len) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, &hold_buf[i], data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - } else { - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - Xfree(hold_buf); - *len = (INT16)packet_size; - return XIM_TRUE; - } - } - memcpy(buf, hold_buf, data_len); - buf_size -= data_len; - Xfree(hold_buf); - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - - if (!packet_size) { - while (data_len < XIM_HEADER_SIZE) { - if (!(im->private.proto.read(im, - (XPointer)&buf[data_len], buf_size, &ret_len))) { - return XIM_FALSE; - } - data_len += ret_len; - buf_size -= ret_len; - } - packet_size = _CheckProtocolData(im, buf); - } - - if (packet_size > buf_size) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, buf, data_len); - bzero(buf, data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - *len = (INT16)packet_size; - return XIM_OVERFLOW; - } - - while (data_len < packet_size) { - if (!(im->private.proto.read(im, - (XPointer)&buf[data_len], buf_size, &ret_len))) { - return XIM_FALSE; - } - data_len += ret_len; - buf_size -= ret_len; - } - - for (i = packet_size; i < data_len; i++) { - if (buf[i]) - break; - } - data_len -= i; - - if (data_len) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, &buf[i], data_len); - bzero(&buf[i], data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - } else { - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - *len = (INT16)packet_size; - return XIM_TRUE; -} - -Private Bool -_XimCallDispatcher( - Xim im, - INT16 len, - XPointer data) -{ - return im->private.proto.call_dispatcher(im, len, data); -} - -Public int -_XimRead(Xim im, INT16 *len, XPointer buf, int buf_size, - Bool (*predicate)(Xim, INT16, XPointer, XPointer), XPointer arg) -{ - INT16 read_len; - int ret_code; - - for (;;) { - ret_code = _XimReadData(im, &read_len, buf, buf_size); - if(ret_code != XIM_TRUE) { - return ret_code; - } - if ((*predicate)(im, read_len, buf, arg)) - break; - if (_XimCallDispatcher(im, read_len, buf)) - continue; - _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); - } - *len = read_len; - return True; -} - -Public Bool -_XimRegisterDispatcher( - Xim im, - Bool (*callback)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data) -{ - return im->private.proto.register_dispatcher(im, callback, call_data); -} - -Public void -_XimFlush(Xim im) -{ - im->private.proto.flush(im); - return; -} - -Public Bool -_XimFilterWaitEvent(Xim im) -{ - INT16 read_len; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int buf_size; - int ret_code; - - buf_size = BUFSIZE; - ret_code = _XimReadData(im, &read_len, (XPointer)reply, buf_size); - if(ret_code == XIM_TRUE) { - preply = reply; - } else if(ret_code == XIM_OVERFLOW) { - if(read_len <= 0) { - preply = reply; - } else { - buf_size = (int)read_len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimReadData(im, &read_len, preply, buf_size); - if(ret_code != XIM_TRUE) { - if (preply != reply) - Xfree(preply); - return False; - } - } - } else { - return False; - } - if (_XimCallDispatcher(im, read_len, preply)) { - if(reply != preply) - Xfree(preply); - return True; - } - _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); - if(reply != preply) - Xfree(preply); - return True; -} +/*
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+#include "XimTrInt.h"
+#include "Ximint.h"
+
+Public TransportSW _XimTransportRec[] = {
+ { "X", _XimXConf }, /* 1st entry must be X.
+ This will be a fallback */
+#ifdef TCPCONN
+ { "tcp", _XimTransConf }, /* use X transport lib */
+#endif /* TCPCONN */
+#if defined(UNIXCONN) || defined(LOCALCONN)
+ { "local", _XimTransConf }, /* use X transport lib */
+#endif /* UNIXCONN */
+#ifdef DNETCONN
+ { "dnet", _XimTransConf }, /* use X transport lib */
+#endif /* DNETCONN */
+#ifdef STREAMSCONN
+ { "streams", _XimTransConf }, /* use X transport lib */
+#endif /* STREAMSCONN */
+ { (char *)NULL, (Bool (*)(Xim, char *))NULL },
+};
+
+Public Bool
+_XimConnect(Xim im)
+{
+ return im->private.proto.connect(im);
+}
+
+Public Bool
+_XimShutdown(Xim im)
+{
+ return im->private.proto.shutdown(im);
+}
+
+Public Bool
+_XimWrite(Xim im, INT16 len, XPointer data)
+{
+ return im->private.proto.write(im, len, data);
+}
+
+Private int
+_CheckProtocolData(
+ Xim im,
+ char *recv_buf)
+{
+ int data_len;
+
+ data_len = (int)(((*((CARD16 *)recv_buf + 1)) * 4) + XIM_HEADER_SIZE);
+ return data_len;
+}
+
+Private int
+_XimReadData(
+ Xim im,
+ INT16 *len,
+ XPointer buf,
+ int buf_size)
+{
+ char *hold_buf;
+ char *tmp;
+ int data_len;
+ int packet_size;
+ int ret_len;
+ register int i;
+
+ if (buf_size < XIM_HEADER_SIZE) {
+ *len = (INT16)XIM_HEADER_SIZE;
+ return XIM_OVERFLOW;
+ }
+
+ bzero(buf, buf_size);
+ packet_size = 0;
+ data_len = 0;
+
+ if ((hold_buf = im->private.proto.hold_data)) {
+ data_len = im->private.proto.hold_data_len;
+ if (data_len >= XIM_HEADER_SIZE) {
+ packet_size = _CheckProtocolData(im, hold_buf);
+ if (packet_size > buf_size) {
+ *len = (INT16)packet_size;
+ return XIM_OVERFLOW;
+ }
+ if (packet_size <= data_len) {
+ memcpy(buf, hold_buf, packet_size);
+ for (i = packet_size; i < data_len; i++) {
+ if (hold_buf[i])
+ break;
+ }
+ data_len -= i;
+
+ if (data_len) {
+ if (!(tmp = (char *)Xmalloc(data_len))) {
+ return XIM_FALSE;
+ }
+ memcpy(tmp, &hold_buf[i], data_len);
+ im->private.proto.hold_data = tmp;
+ im->private.proto.hold_data_len = data_len;
+ } else {
+ im->private.proto.hold_data = 0;
+ im->private.proto.hold_data_len = 0;
+ }
+ Xfree(hold_buf);
+ *len = (INT16)packet_size;
+ return XIM_TRUE;
+ }
+ }
+ memcpy(buf, hold_buf, data_len);
+ buf_size -= data_len;
+ Xfree(hold_buf);
+ im->private.proto.hold_data = 0;
+ im->private.proto.hold_data_len = 0;
+ }
+
+ if (!packet_size) {
+ while (data_len < XIM_HEADER_SIZE) {
+ if (!(im->private.proto.read(im,
+ (XPointer)&buf[data_len], buf_size, &ret_len))) {
+ return XIM_FALSE;
+ }
+ data_len += ret_len;
+ buf_size -= ret_len;
+ }
+ packet_size = _CheckProtocolData(im, buf);
+ }
+
+ if (packet_size > buf_size) {
+ if (!(tmp = (char *)Xmalloc(data_len))) {
+ return XIM_FALSE;
+ }
+ memcpy(tmp, buf, data_len);
+ bzero(buf, data_len);
+ im->private.proto.hold_data = tmp;
+ im->private.proto.hold_data_len = data_len;
+ *len = (INT16)packet_size;
+ return XIM_OVERFLOW;
+ }
+
+ while (data_len < packet_size) {
+ if (!(im->private.proto.read(im,
+ (XPointer)&buf[data_len], buf_size, &ret_len))) {
+ return XIM_FALSE;
+ }
+ data_len += ret_len;
+ buf_size -= ret_len;
+ }
+
+ for (i = packet_size; i < data_len; i++) {
+ if (buf[i])
+ break;
+ }
+ data_len -= i;
+
+ if (data_len) {
+ if (!(tmp = (char *)Xmalloc(data_len))) {
+ return XIM_FALSE;
+ }
+ memcpy(tmp, &buf[i], data_len);
+ bzero(&buf[i], data_len);
+ im->private.proto.hold_data = tmp;
+ im->private.proto.hold_data_len = data_len;
+ } else {
+ im->private.proto.hold_data = 0;
+ im->private.proto.hold_data_len = 0;
+ }
+ *len = (INT16)packet_size;
+ return XIM_TRUE;
+}
+
+Private Bool
+_XimCallDispatcher(
+ Xim im,
+ INT16 len,
+ XPointer data)
+{
+ return im->private.proto.call_dispatcher(im, len, data);
+}
+
+Public int
+_XimRead(Xim im, INT16 *len, XPointer buf, int buf_size,
+ Bool (*predicate)(Xim, INT16, XPointer, XPointer), XPointer arg)
+{
+ INT16 read_len;
+ int ret_code;
+
+ for (;;) {
+ ret_code = _XimReadData(im, &read_len, buf, buf_size);
+ if(ret_code != XIM_TRUE) {
+ return ret_code;
+ }
+ if ((*predicate)(im, read_len, buf, arg))
+ break;
+ if (_XimCallDispatcher(im, read_len, buf))
+ continue;
+ _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL);
+ }
+ *len = read_len;
+ return True;
+}
+
+Public Bool
+_XimRegisterDispatcher(
+ Xim im,
+ Bool (*callback)(
+ Xim, INT16, XPointer, XPointer
+ ),
+ XPointer call_data)
+{
+ return im->private.proto.register_dispatcher(im, callback, call_data);
+}
+
+Public void
+_XimFlush(Xim im)
+{
+ im->private.proto.flush(im);
+ return;
+}
+
+Public Bool
+_XimFilterWaitEvent(Xim im)
+{
+ INT16 read_len;
+ CARD32 reply32[BUFSIZE/4];
+ char *reply = (char *)reply32;
+ XPointer preply;
+ int buf_size;
+ int ret_code;
+
+ buf_size = BUFSIZE;
+ ret_code = _XimReadData(im, &read_len, (XPointer)reply, buf_size);
+ if(ret_code == XIM_TRUE) {
+ preply = reply;
+ } else if(ret_code == XIM_OVERFLOW) {
+ if(read_len <= 0) {
+ preply = reply;
+ } else {
+ buf_size = (int)read_len;
+ preply = (XPointer)Xmalloc(buf_size);
+ ret_code = _XimReadData(im, &read_len, preply, buf_size);
+ if(ret_code != XIM_TRUE) {
+ if (preply != reply)
+ Xfree(preply);
+ return False;
+ }
+ }
+ } else {
+ return False;
+ }
+ if (_XimCallDispatcher(im, read_len, preply)) {
+ if(reply != preply)
+ Xfree(preply);
+ return True;
+ }
+ _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL);
+ if(reply != preply)
+ Xfree(preply);
+ return True;
+}
diff --git a/libX11/nls/compose-check.pl b/libX11/nls/compose-check.pl index 24807c48b..5486bcbcb 100644 --- a/libX11/nls/compose-check.pl +++ b/libX11/nls/compose-check.pl @@ -1,156 +1,156 @@ -#! /usr/bin/perl -# -# Copyright 2009 Sun Microsystems, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE. -# - -# -# Check a compose file for duplicate/conflicting entries and other common errors -# - -# Compose file grammar is defined in modules/im/ximcp/imLcPrs.c - -use strict; -use warnings; - -my $error_count = 0; - -if (scalar(@ARGV) == 0) { - push @ARGV, "Compose"; -} - -foreach my $cf (@ARGV) { - $error_count += check_compose_file($cf); -} - -exit($error_count); - -sub check_compose_file { - my ($filename) = @_; - my $errors = 0; - - my %compose_table = (); - my $line = 0; - my $pre_file = ($filename =~ m{\.pre$}) ? 1 : 0; - my $in_c_comment = 0; - - open my $COMPOSE, '<', $filename or die "Could not open $filename: $!"; - - COMPOSE_LINE: - while (my $cl = <$COMPOSE>) { - $line++; - chomp($cl); - my $original_line = $cl; - - # Special handling for changes cpp makes to .pre files - if ($pre_file == 1) { - if ($in_c_comment) { # Look for end of multi-line C comment - if ($cl =~ m{\*/(.*)$}) { - $cl = $1; - $in_c_comment = 0; - } else { - next; - } - } - $cl =~ s{/\*.\**/}{}; # Remove single line C comments - if ($cl =~ m{^(.*)/\*}) { # Start of a multi-line C comment - $cl = $1; - $in_c_comment = 1; - } - next if $cl =~ m{^\s*XCOMM}; # Skip pre-processing comments - } - - $cl =~ s{#.*$}{}; # Remove comments - next if $cl =~ m{^\s*$}; # Skip blank (or comment-only) lines - chomp($cl); - - if ($cl =~ m{^(STATE\s+|END_STATE)}) { # Sun extension to compose file syntax - %compose_table = (); - } - elsif ($cl =~ m{^([^:]+)\s*:\s*(.+)$}) { - my ($seq, $action) = ($1, $2); - $seq =~ s{\s+$}{}; - - my @keys = grep { $_ !~ m/^\s*$/ } split /[\s\<\>]+/, $seq; - - my $final_key = pop @keys; - my $keytable = \%compose_table; - - foreach my $k (@keys) { - if ($k =~ m{^U([[:xdigit:]]+)$}) { - $k = 'U' . lc($1); - } - if (exists $keytable->{$k}) { - $keytable = $keytable->{$k}; - if (ref($keytable) ne 'HASH') { - print - "Clash with existing sequence in $filename on line $line: $seq\n"; - print_sequences([$line, $original_line]); - print_sequences($keytable); - $errors++; - next COMPOSE_LINE; - } - } else { - my $new_keytable = {}; - $keytable->{$k} = $new_keytable; - $keytable = $new_keytable; - } - } - - if (exists $keytable->{$final_key}) { - print "Clash with existing sequence in $filename on line $line: $seq\n"; - print_sequences([$line, $original_line]); - print_sequences($keytable->{$final_key}); - $errors++; - } else { - $keytable->{$final_key} = [$line, $original_line]; - } - } elsif ($cl =~ m{^(STATE_TYPE:|\@StartDeadKeyMap|\@EndDeadKeyMap)}) { - # ignore - } elsif ($cl =~ m{^include "(.*)"}) { - my $incpath = $1; - if (($pre_file == 1) && ($incpath !~ m{^X11_LOCALEDATADIR/})) { - print "Include path starts with $incpath instead of X11_LOCALEDATADIR\n", - " -- may not find include files when installed in alternate paths\n\n"; - } - } else { - print 'Unrecognized pattern in ', $filename, ' on line #', $line, ":\n ", - $cl, "\n"; - } - } - close $COMPOSE; - - return $errors; -} - -sub print_sequences { - my ($entry_ref) = @_; - - if (ref($entry_ref) eq 'HASH') { - foreach my $h (values %{$entry_ref}) { - print_sequences($h); - } - } else { - my ($line, $seq) = @{$entry_ref}; - - print " line #", $line, ": ", $seq, "\n"; - } -} +#! /usr/bin/perl
+#
+# Copyright 2009 Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+#
+# Check a compose file for duplicate/conflicting entries and other common errors
+#
+
+# Compose file grammar is defined in modules/im/ximcp/imLcPrs.c
+
+use strict;
+use warnings;
+
+my $error_count = 0;
+
+if (scalar(@ARGV) == 0) {
+ push @ARGV, "Compose";
+}
+
+foreach my $cf (@ARGV) {
+ $error_count += check_compose_file($cf);
+}
+
+exit($error_count);
+
+sub check_compose_file {
+ my ($filename) = @_;
+ my $errors = 0;
+
+ my %compose_table = ();
+ my $line = 0;
+ my $pre_file = ($filename =~ m{\.pre$}) ? 1 : 0;
+ my $in_c_comment = 0;
+
+ open my $COMPOSE, '<', $filename or die "Could not open $filename: $!";
+
+ COMPOSE_LINE:
+ while (my $cl = <$COMPOSE>) {
+ $line++;
+ chomp($cl);
+ my $original_line = $cl;
+
+ # Special handling for changes cpp makes to .pre files
+ if ($pre_file == 1) {
+ if ($in_c_comment) { # Look for end of multi-line C comment
+ if ($cl =~ m{\*/(.*)$}) {
+ $cl = $1;
+ $in_c_comment = 0;
+ } else {
+ next;
+ }
+ }
+ $cl =~ s{/\*.\**/}{}; # Remove single line C comments
+ if ($cl =~ m{^(.*)/\*}) { # Start of a multi-line C comment
+ $cl = $1;
+ $in_c_comment = 1;
+ }
+ next if $cl =~ m{^\s*XCOMM}; # Skip pre-processing comments
+ }
+
+ $cl =~ s{#.*$}{}; # Remove comments
+ next if $cl =~ m{^\s*$}; # Skip blank (or comment-only) lines
+ chomp($cl);
+
+ if ($cl =~ m{^(STATE\s+|END_STATE)}) { # Sun extension to compose file syntax
+ %compose_table = ();
+ }
+ elsif ($cl =~ m{^([^:]+)\s*:\s*(.+)$}) {
+ my ($seq, $action) = ($1, $2);
+ $seq =~ s{\s+$}{};
+
+ my @keys = grep { $_ !~ m/^\s*$/ } split /[\s\<\>]+/, $seq;
+
+ my $final_key = pop @keys;
+ my $keytable = \%compose_table;
+
+ foreach my $k (@keys) {
+ if ($k =~ m{^U([[:xdigit:]]+)$}) {
+ $k = 'U' . lc($1);
+ }
+ if (exists $keytable->{$k}) {
+ $keytable = $keytable->{$k};
+ if (ref($keytable) ne 'HASH') {
+ print
+ "Clash with existing sequence in $filename on line $line: $seq\n";
+ print_sequences([$line, $original_line]);
+ print_sequences($keytable);
+ $errors++;
+ next COMPOSE_LINE;
+ }
+ } else {
+ my $new_keytable = {};
+ $keytable->{$k} = $new_keytable;
+ $keytable = $new_keytable;
+ }
+ }
+
+ if (exists $keytable->{$final_key}) {
+ print "Clash with existing sequence in $filename on line $line: $seq\n";
+ print_sequences([$line, $original_line]);
+ print_sequences($keytable->{$final_key});
+ $errors++;
+ } else {
+ $keytable->{$final_key} = [$line, $original_line];
+ }
+ } elsif ($cl =~ m{^(STATE_TYPE:|\@StartDeadKeyMap|\@EndDeadKeyMap)}) {
+ # ignore
+ } elsif ($cl =~ m{^include "(.*)"}) {
+ my $incpath = $1;
+ if (($pre_file == 1) && ($incpath !~ m{^X11_LOCALEDATADIR/})) {
+ print "Include path starts with $incpath instead of X11_LOCALEDATADIR\n",
+ " -- may not find include files when installed in alternate paths\n\n";
+ }
+ } else {
+ print 'Unrecognized pattern in ', $filename, ' on line #', $line, ":\n ",
+ $cl, "\n";
+ }
+ }
+ close $COMPOSE;
+
+ return $errors;
+}
+
+sub print_sequences {
+ my ($entry_ref) = @_;
+
+ if (ref($entry_ref) eq 'HASH') {
+ foreach my $h (values %{$entry_ref}) {
+ print_sequences($h);
+ }
+ } else {
+ my ($line, $seq) = @{$entry_ref};
+
+ print " line #", $line, ": ", $seq, "\n";
+ }
+}
diff --git a/libX11/specs/XIM/xim.xml b/libX11/specs/XIM/xim.xml index 66d559b07..07f6e3183 100644 --- a/libX11/specs/XIM/xim.xml +++ b/libX11/specs/XIM/xim.xml @@ -25,8 +25,8 @@ <copyright><year>1994</year><holder>X Consortium</holder></copyright>
<copyright><year>1993</year><holder>FUJITSU LIMITED</holder></copyright>
<copyright><year>1994</year><holder>FUJITSU LIMITED</holder></copyright>
- <copyright><year>1993</year><holder>Sun Microsystems</holder></copyright>
- <copyright><year>1994</year><holder>Sun Microsystems</holder></copyright>
+ <copyright><year>1993</year><holder>Oracle and/or its affiliates</holder></copyright>
+ <copyright><year>1994</year><holder>Oracle and/or its affiliates</holder></copyright>
<releaseinfo>Version 1.0</releaseinfo>
<affiliation><orgname>X Consortium</orgname></affiliation>
<productnumber>X Version 11, Release 7</productnumber>
diff --git a/libX11/src/Host.c b/libX11/src/Host.c index 31ce41b8e..c97e21e34 100644 --- a/libX11/src/Host.c +++ b/libX11/src/Host.c @@ -1,161 +1,161 @@ -/* - -Copyright 1986, 1998 The Open Group - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - -X Window System is a trademark of The Open Group. - -*/ - -/* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - - -/* this might be rightly regarded an os dependent file */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" - -int -XAddHost ( - register Display *dpy, - XHostAddress *host) -{ - register xChangeHostsReq *req; - register int length; - XServerInterpretedAddress *siAddr; - int addrlen; - - siAddr = host->family == FamilyServerInterpreted ? - (XServerInterpretedAddress *)host->address : NULL; - addrlen = siAddr ? - siAddr->typelength + siAddr->valuelength + 1 : host->length; - - length = (addrlen + 3) & ~0x3; /* round up */ - - LockDisplay(dpy); - GetReqExtra (ChangeHosts, length, req); - req->mode = HostInsert; - req->hostFamily = host->family; - req->hostLength = addrlen; - if (siAddr) { - char *dest = (char *) NEXTPTR(req,xChangeHostsReq); - memcpy(dest, siAddr->type, siAddr->typelength); - dest[siAddr->typelength] = '\0'; - memcpy(dest + siAddr->typelength + 1,siAddr->value,siAddr->valuelength); - } else { - memcpy((char *) NEXTPTR(req,xChangeHostsReq), host->address, addrlen); - } - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - -int -XRemoveHost ( - register Display *dpy, - XHostAddress *host) -{ - register xChangeHostsReq *req; - register int length; - XServerInterpretedAddress *siAddr; - int addrlen; - - siAddr = host->family == FamilyServerInterpreted ? - (XServerInterpretedAddress *)host->address : NULL; - addrlen = siAddr ? - siAddr->typelength + siAddr->valuelength + 1 : host->length; - - length = (addrlen + 3) & ~0x3; /* round up */ - - LockDisplay(dpy); - GetReqExtra (ChangeHosts, length, req); - req->mode = HostDelete; - req->hostFamily = host->family; - req->hostLength = addrlen; - if (siAddr) { - char *dest = (char *) NEXTPTR(req,xChangeHostsReq); - memcpy(dest, siAddr->type, siAddr->typelength); - dest[siAddr->typelength] = '\0'; - memcpy(dest + siAddr->typelength + 1,siAddr->value,siAddr->valuelength); - } else { - memcpy((char *) NEXTPTR(req,xChangeHostsReq), host->address, addrlen); - } - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - -int -XAddHosts ( - register Display *dpy, - XHostAddress *hosts, - int n) -{ - register int i; - for (i = 0; i < n; i++) { - (void) XAddHost(dpy, &hosts[i]); - } - return 1; -} - -int -XRemoveHosts ( - register Display *dpy, - XHostAddress *hosts, - int n) -{ - register int i; - for (i = 0; i < n; i++) { - (void) XRemoveHost(dpy, &hosts[i]); - } - return 1; -} +/*
+
+Copyright 1986, 1998 The Open Group
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+
+X Window System is a trademark of The Open Group.
+
+*/
+
+/*
+ * Copyright 2004 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+/* this might be rightly regarded an os dependent file */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+
+int
+XAddHost (
+ register Display *dpy,
+ XHostAddress *host)
+{
+ register xChangeHostsReq *req;
+ register int length;
+ XServerInterpretedAddress *siAddr;
+ int addrlen;
+
+ siAddr = host->family == FamilyServerInterpreted ?
+ (XServerInterpretedAddress *)host->address : NULL;
+ addrlen = siAddr ?
+ siAddr->typelength + siAddr->valuelength + 1 : host->length;
+
+ length = (addrlen + 3) & ~0x3; /* round up */
+
+ LockDisplay(dpy);
+ GetReqExtra (ChangeHosts, length, req);
+ req->mode = HostInsert;
+ req->hostFamily = host->family;
+ req->hostLength = addrlen;
+ if (siAddr) {
+ char *dest = (char *) NEXTPTR(req,xChangeHostsReq);
+ memcpy(dest, siAddr->type, siAddr->typelength);
+ dest[siAddr->typelength] = '\0';
+ memcpy(dest + siAddr->typelength + 1,siAddr->value,siAddr->valuelength);
+ } else {
+ memcpy((char *) NEXTPTR(req,xChangeHostsReq), host->address, addrlen);
+ }
+ UnlockDisplay(dpy);
+ SyncHandle();
+ return 1;
+}
+
+int
+XRemoveHost (
+ register Display *dpy,
+ XHostAddress *host)
+{
+ register xChangeHostsReq *req;
+ register int length;
+ XServerInterpretedAddress *siAddr;
+ int addrlen;
+
+ siAddr = host->family == FamilyServerInterpreted ?
+ (XServerInterpretedAddress *)host->address : NULL;
+ addrlen = siAddr ?
+ siAddr->typelength + siAddr->valuelength + 1 : host->length;
+
+ length = (addrlen + 3) & ~0x3; /* round up */
+
+ LockDisplay(dpy);
+ GetReqExtra (ChangeHosts, length, req);
+ req->mode = HostDelete;
+ req->hostFamily = host->family;
+ req->hostLength = addrlen;
+ if (siAddr) {
+ char *dest = (char *) NEXTPTR(req,xChangeHostsReq);
+ memcpy(dest, siAddr->type, siAddr->typelength);
+ dest[siAddr->typelength] = '\0';
+ memcpy(dest + siAddr->typelength + 1,siAddr->value,siAddr->valuelength);
+ } else {
+ memcpy((char *) NEXTPTR(req,xChangeHostsReq), host->address, addrlen);
+ }
+ UnlockDisplay(dpy);
+ SyncHandle();
+ return 1;
+}
+
+int
+XAddHosts (
+ register Display *dpy,
+ XHostAddress *hosts,
+ int n)
+{
+ register int i;
+ for (i = 0; i < n; i++) {
+ (void) XAddHost(dpy, &hosts[i]);
+ }
+ return 1;
+}
+
+int
+XRemoveHosts (
+ register Display *dpy,
+ XHostAddress *hosts,
+ int n)
+{
+ register int i;
+ for (i = 0; i < n; i++) {
+ (void) XRemoveHost(dpy, &hosts[i]);
+ }
+ return 1;
+}
diff --git a/libX11/src/LiHosts.c b/libX11/src/LiHosts.c index 4e52b740f..88dca6d60 100644 --- a/libX11/src/LiHosts.c +++ b/libX11/src/LiHosts.c @@ -34,7 +34,7 @@ X Window System is a trademark of The Open Group. */
/*
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2004 Oracle and/or its affiliates. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/src/xlibi18n/XDefaultIMIF.c b/libX11/src/xlibi18n/XDefaultIMIF.c index c6f3f2e37..c7a2fe9d3 100644 --- a/libX11/src/xlibi18n/XDefaultIMIF.c +++ b/libX11/src/xlibi18n/XDefaultIMIF.c @@ -37,7 +37,7 @@ Sun Microsystems, Inc. or its licensors is granted. */
/*
- * Copyright 2000 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2000 Oracle and/or its affiliates. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
diff --git a/libX11/src/xlibi18n/XDefaultOMIF.c b/libX11/src/xlibi18n/XDefaultOMIF.c index be9977d38..c7511e608 100644 --- a/libX11/src/xlibi18n/XDefaultOMIF.c +++ b/libX11/src/xlibi18n/XDefaultOMIF.c @@ -1,1282 +1,1282 @@ -/* -Copyright 1985, 1986, 1987, 1991, 1998 The Open Group - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: The above copyright notice and this -permission notice shall be included in all copies or substantial -portions of the Software. - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE -EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. - - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -X Window System is a trademark of The Open Group - -OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF -logo, LBX, X Window System, and Xinerama are trademarks of the Open -Group. All other trademarks and registered trademarks mentioned herein -are the property of their respective owners. No right, title or -interest in or to any trademark, service mark, logo or trade name of -Sun Microsystems, Inc. or its licensors is granted. - -*/ -/* - * Copyright 2000 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "XlcPublic.h" -#include <X11/Xos.h> -#include <X11/Xatom.h> -#include <stdio.h> - -#define MAXFONTS 100 - -#define XOM_GENERIC(om) (&((XOMGeneric) om)->gen) -#define XOC_GENERIC(font_set) (&((XOCGeneric) font_set)->gen) - -#define DefineLocalBuf char local_buf[BUFSIZ] -#define AllocLocalBuf(length) (length > BUFSIZ ? (char *)Xmalloc(length) : local_buf) -#define FreeLocalBuf(ptr) if (ptr != local_buf) Xfree(ptr) - -typedef struct _FontDataRec { - char *name; -} FontDataRec, *FontData; - -typedef struct _OMDataRec { - int font_data_count; - FontData font_data; -} OMDataRec, *OMData; - -typedef struct _XOMGenericPart { - OMData data; -} XOMGenericPart; - -typedef struct _XOMGenericRec { - XOMMethods methods; - XOMCoreRec core; - XOMGenericPart gen; -} XOMGenericRec, *XOMGeneric; - -typedef struct _FontSetRec { - int id; - int font_data_count; - FontData font_data; - char *font_name; - XFontStruct *info; - XFontStruct *font; -} FontSetRec, *FontSet; - -typedef struct _XOCGenericPart { - XlcConv wcs_to_cs; - FontSet font_set; -} XOCGenericPart; - -typedef struct _XOCGenericRec { - XOCMethods methods; - XOCCoreRec core; - XOCGenericPart gen; -} XOCGenericRec, *XOCGeneric; - -static Bool -init_fontset( - XOC oc) -{ - XOCGenericPart *gen; - FontSet font_set; - OMData data; - - data = XOM_GENERIC(oc->core.om)->data; - - font_set = (FontSet) Xmalloc(sizeof(FontSetRec)); - if (font_set == NULL) - return False; - bzero((char *) font_set, sizeof(FontSetRec)); - - gen = XOC_GENERIC(oc); - gen->font_set = font_set; - - font_set->font_data_count = data->font_data_count; - font_set->font_data = data->font_data; - - return True; -} - -static char * -get_prop_name( - Display *dpy, - XFontStruct *fs) -{ - unsigned long fp; - - if (XGetFontProperty(fs, XA_FONT, &fp)) - return XGetAtomName(dpy, fp); - - return (char *) NULL; -} - -static FontData -check_charset( - FontSet font_set, - char *font_name) -{ - FontData font_data; - char *last; - int count; - ssize_t length, name_len; - - name_len = strlen(font_name); - last = font_name + name_len; - - count = font_set->font_data_count; - font_data = font_set->font_data; - - for ( ; count-- > 0; font_data++) { - length = strlen(font_data->name); - - if (length > name_len) - return(NULL); - - if (_XlcCompareISOLatin1(last - length, font_data->name) == 0) - return font_data; - } - return (FontData) NULL; -} - -#if 0 /* Unused */ -static int -check_fontname( - XOC oc, - char *name) -{ - Display *dpy = oc->core.om->core.display; - XOCGenericPart *gen = XOC_GENERIC(oc); - FontData data; - FontSet font_set; - XFontStruct *fs_list; - char **fn_list, *fname, *prop_fname = NULL; - int list_num, i; - int list2_num; - char **fn2_list = NULL; - int found_num = 0; - - fn_list = XListFonts(dpy, name, MAXFONTS, &list_num); - if (fn_list == NULL) - return found_num; - - for (i = 0; i < list_num; i++) { - fname = fn_list[i]; - - font_set = gen->font_set; - - if ((data = check_charset(font_set, fname)) == NULL) { - if ((fn2_list = XListFontsWithInfo(dpy, name, MAXFONTS, - &list2_num, &fs_list)) - && (prop_fname = get_prop_name(dpy, fs_list)) - && (data = check_charset(font_set, prop_fname))) - fname = prop_fname; - } - if (data) { - font_set->font_name = (char *) Xmalloc(strlen(fname) + 1); - if (font_set->font_name) { - strcpy(font_set->font_name, fname); - found_num++; - } - } - if (fn2_list) { - XFreeFontInfo(fn2_list, fs_list, list2_num); - fn2_list = NULL; - if (prop_fname) { - Xfree(prop_fname); - prop_fname = NULL; - } - } - if (found_num == 1) - break; - } - XFreeFontNames(fn_list); - return found_num; -} -#endif - -static Bool -load_font( - XOC oc) -{ - Display *dpy = oc->core.om->core.display; - XOCGenericPart *gen = XOC_GENERIC(oc); - FontSet font_set = gen->font_set; - - if (font_set->font_name == NULL) - return False; - - if (font_set->font == NULL) { - font_set->font = XLoadQueryFont(dpy, font_set->font_name); - if (font_set->font == NULL) - return False; - } - return True; -} - -#if 0 -static Bool -load_font_info( - XOC oc) -{ - Display *dpy = oc->core.om->core.display; - XOCGenericPart *gen = XOC_GENERIC(oc); - FontSet font_set = gen->font_set; - char **fn_list; - int fn_num; - - if (font_set->font_name == NULL) - return False; - - if (font_set->info == NULL) { - fn_list = XListFontsWithInfo(dpy, font_set->font_name, 1, &fn_num, - &font_set->info); - if (font_set->info == NULL) - return False; - if (fn_num > 0) - font_set->info->fid = XLoadFont(dpy, font_set->font_name); - - if (fn_list) XFreeFontNames(fn_list); - } - return True; -} -#endif - -static void -set_fontset_extents( - XOC oc) -{ - XRectangle *ink = &oc->core.font_set_extents.max_ink_extent; - XRectangle *logical = &oc->core.font_set_extents.max_logical_extent; - XFontStruct **font_list, *font; - XCharStruct overall; - int logical_ascent, logical_descent; - - font_list = oc->core.font_info.font_struct_list; - font = *font_list++; - overall = font->max_bounds; - overall.lbearing = font->min_bounds.lbearing; - logical_ascent = font->ascent; - logical_descent = font->descent; - - ink->x = overall.lbearing; - ink->y = -(overall.ascent); - ink->width = overall.rbearing - overall.lbearing; - ink->height = overall.ascent + overall.descent; - - logical->x = 0; - logical->y = -(logical_ascent); - logical->width = overall.width; - logical->height = logical_ascent + logical_descent; -} - -static Bool -init_core_part( - XOC oc) -{ - XOCGenericPart *gen = XOC_GENERIC(oc); - FontSet font_set; - XFontStruct **font_struct_list; - char **font_name_list, *font_name_buf; - int count, length; - - font_set = gen->font_set; - count = length = 0; - - if (font_set->font_name != NULL) { - length += strlen(font_set->font_name) + 1; - count++; - } - if (count == 0) - return False; - - font_struct_list = (XFontStruct **) Xmalloc(sizeof(XFontStruct *)); - if (font_struct_list == NULL) - return False; - - font_name_list = (char **) Xmalloc(sizeof(char *)); - if (font_name_list == NULL) - goto err; - - font_name_buf = (char *) Xmalloc(length); - if (font_name_buf == NULL) - goto err; - - oc->core.font_info.num_font = 1; - oc->core.font_info.font_name_list = font_name_list; - oc->core.font_info.font_struct_list = font_struct_list; - - font_set = gen->font_set; - - if (font_set->font_name != NULL) { - font_set->id = 1; - if (font_set->font) - *font_struct_list++ = font_set->font; - else - *font_struct_list++ = font_set->info; - strcpy(font_name_buf, font_set->font_name); - Xfree(font_set->font_name); - *font_name_list++ = font_set->font_name = font_name_buf; - font_name_buf += strlen(font_name_buf) + 1; - } - - set_fontset_extents(oc); - - return True; - -err: - if (font_name_list) - Xfree(font_name_list); - Xfree(font_struct_list); - - return False; -} - -static char * -get_font_name( - XOC oc, - char *pattern) -{ - char **list, *name, *prop_name; - int count; - XFontStruct *fs; - Display *dpy = oc->core.om->core.display; - - list = XListFonts(dpy, pattern, 1, &count); - if (list != NULL) { - name = (char *) Xmalloc(strlen(*list) + 1); - if (name) - strcpy(name, *list); - - XFreeFontNames(list); - } else { - fs = XLoadQueryFont(dpy, pattern); - if (fs == NULL) return NULL; - - prop_name = get_prop_name(dpy, fs); - if (prop_name == NULL) return NULL; - - name = (char*) Xmalloc(strlen(prop_name) + 1); - if (name) - strcpy(name, prop_name); - - XFreeFont(dpy, fs); - } - return name; -} - -static int -parse_fontname( - XOC oc) -{ - XOCGenericPart *gen = XOC_GENERIC(oc); - FontSet font_set; - FontData font_data; - char *pattern, *last, buf[BUFSIZ]; - int font_data_count, found_num = 0; - ssize_t length; - int count, num_fields; - char *base_name, *font_name, **name_list, **cur_name_list; - char *charset_p = NULL; - Bool append_charset; - /* - append_charset flag should be set to True when the XLFD fontname - doesn't contain a chaset part. - */ - - name_list = _XParseBaseFontNameList(oc->core.base_name_list, &count); - if (name_list == NULL) - return -1; - cur_name_list = name_list; - - while (count-- > 0) { - pattern = *cur_name_list++; - if (pattern == NULL || *pattern == '\0') - continue; - - append_charset = False; - - if (strchr(pattern, '*') == NULL && - (font_name = get_font_name(oc, pattern))) { - - font_set = gen->font_set; - - font_data = check_charset(font_set, font_name); - if (font_data == NULL) { - Display *dpy = oc->core.om->core.display; - char **fn_list = NULL, *prop_fname = NULL; - int list_num; - XFontStruct *fs_list; - if ((fn_list = XListFontsWithInfo(dpy, font_name, - MAXFONTS, - &list_num, &fs_list)) - && (prop_fname = get_prop_name(dpy, fs_list)) - && (font_data = check_charset(font_set, prop_fname))) { - if (fn_list) { - XFreeFontInfo(fn_list, fs_list, list_num); - fn_list = NULL; - } - font_name = prop_fname; - } - } - if (font_data == NULL) - continue; - - font_set->font_name = (char *) Xmalloc(strlen(font_name) + 1); - if (font_set->font_name == NULL) { - Xfree(font_name); - goto err; - } - strcpy(font_set->font_name, font_name); - Xfree(font_name); - found_num++; - goto found; - } -/* -1266793 -Limit the length of the string copy to prevent stack corruption. - strcpy(buf, pattern); -*/ - strncpy(buf, pattern, BUFSIZ); - buf[BUFSIZ-1] = '\0'; - length = strlen(buf); - last = buf + length - 1; - - for (num_fields = 0, base_name = buf; *base_name != '\0'; base_name++) - if (*base_name == '-') num_fields++; - if (strchr(pattern, '*') == NULL) { - if (num_fields == 12) { - append_charset = True; - *++last = '-'; - last++; - } else - continue; - } else { - if (num_fields == 13 || num_fields == 14) { - /* - * There are 14 fields in an XLFD name -- make certain the - * charset (& encoding) is placed in the correct field. - */ - append_charset = True; - last = strrchr (buf, '-'); - if (num_fields == 14) { - *last = '\0'; - last = strrchr (buf, '-'); - } - last++; - } else if (*last == '*') { - append_charset = True; - if (length > 3 && *(last-3) == '-' && *(last-2) == '*' - && *(last-1) == '-') { - last -= 2; - } - *++last = '-'; - last++; - } else { - last = strrchr (buf, '-'); - charset_p = last; - charset_p = strrchr (buf, '-'); - while (*(--charset_p) != '-'); - charset_p++; - } - } - - font_set = gen->font_set; - - font_data = font_set->font_data; - font_data_count = font_set->font_data_count; - for ( ; font_data_count-- > 0; font_data++) { - if (append_charset) - { -/* -1266793 -Limit the length of the string copy to prevent stack corruption. - strcpy(last, font_data->name); -*/ - strncpy(last, font_data->name, BUFSIZ - length); - buf[BUFSIZ-1] = '\0'; - } - else { - if (_XlcCompareISOLatin1(charset_p, - font_data->name)) { - continue; - } - } - if ((font_set->font_name = get_font_name(oc, buf))) - break; - } - if (font_set->font_name != NULL) { - found_num++; - goto found; - } - } - found: - base_name = (char *) Xmalloc(strlen(oc->core.base_name_list) + 1); - if (base_name == NULL) - goto err; - - strcpy(base_name, oc->core.base_name_list); - oc->core.base_name_list = base_name; - - XFreeStringList(name_list); - - return found_num; -err: - XFreeStringList(name_list); - - return -1; -} - -static Bool -set_missing_list( - XOC oc) -{ - XOCGenericPart *gen = XOC_GENERIC(oc); - FontSet font_set; - char **charset_list, *charset_buf; - int count, length; - - font_set = gen->font_set; - count = length = 0; - - if (!font_set->info && !font_set->font) { - length += strlen(font_set->font_data->name) + 1; - count++; - } - - if (count == 0) - return True; - - charset_list = (char **) Xmalloc(sizeof(char *)); - if (charset_list == NULL) - return False; - - charset_buf = (char *) Xmalloc(length); - if (charset_buf == NULL) { - Xfree(charset_list); - return False; - } - - oc->core.missing_list.charset_list = charset_list; - - font_set = gen->font_set; - - if (!font_set->info && !font_set->font) { - strcpy(charset_buf, font_set->font_data->name); - *charset_list++ = charset_buf; - charset_buf += strlen(charset_buf) + 1; - } - return True; -} - -static Bool -create_fontset( - XOC oc) -{ - int found_num; - - if (init_fontset(oc) == False) - return False; - - found_num = parse_fontname(oc); - if (found_num <= 0) { - if (found_num == 0) - set_missing_list(oc); - return False; - } - - if (load_font(oc) == False) - return False; - - if (init_core_part(oc) == False) - return False; - - if (set_missing_list(oc) == False) - return False; - - return True; -} - -static void -destroy_oc( - XOC oc) -{ - Display *dpy = oc->core.om->core.display; - XOCGenericPart *gen = XOC_GENERIC(oc); - XFontStruct **font_list, *font; - - if (gen->font_set) - Xfree(gen->font_set); - - if (oc->core.base_name_list) - Xfree(oc->core.base_name_list); - - if (oc->core.font_info.font_name_list) - XFreeStringList(oc->core.font_info.font_name_list); - - if ((font_list = oc->core.font_info.font_struct_list)) { - if ((font = *font_list)) { - if (font->fid) - XFreeFont(dpy, font); - else - XFreeFontInfo(NULL, font, 1); - } - Xfree(oc->core.font_info.font_struct_list); - } - - if (oc->core.missing_list.charset_list) - XFreeStringList(oc->core.missing_list.charset_list); - -#ifdef notdef - if (oc->core.res_name) - Xfree(oc->core.res_name); - if (oc->core.res_class) - Xfree(oc->core.res_class); -#endif - - Xfree(oc); -} - -static char * -set_oc_values( - XOC oc, - XlcArgList args, - int num_args) -{ - if (oc->core.resources == NULL) - return NULL; - - return _XlcSetValues((XPointer) oc, oc->core.resources, - oc->core.num_resources, args, num_args, XlcSetMask); -} - -static char * -get_oc_values( - XOC oc, - XlcArgList args, - int num_args) -{ - if (oc->core.resources == NULL) - return NULL; - - return _XlcGetValues((XPointer) oc, oc->core.resources, - oc->core.num_resources, args, num_args, XlcGetMask); -} - -static Bool -wcs_to_mbs( - XOC oc, - char *to, - _Xconst wchar_t *from, - int length) -{ - XlcConv conv = XOC_GENERIC(oc)->wcs_to_cs; - XLCd lcd; - int ret, to_left = length; - - if (conv == NULL) { - lcd = oc->core.om->core.lcd; - conv = _XlcOpenConverter(lcd, XlcNWideChar, lcd, XlcNMultiByte); - if (conv == NULL) - return False; - XOC_GENERIC(oc)->wcs_to_cs = conv; - } else - _XlcResetConverter(conv); - - ret = _XlcConvert(conv, (XPointer *) &from, &length, (XPointer *) &to, - &to_left, NULL, 0); - if (ret != 0 || length > 0) - return False; - - return True; -} - -static int -_XmbDefaultTextEscapement(XOC oc, _Xconst char *text, int length) -{ - return XTextWidth(*oc->core.font_info.font_struct_list, text, length); -} - -static int -_XwcDefaultTextEscapement(XOC oc, _Xconst wchar_t *text, int length) -{ - DefineLocalBuf; - char *buf = AllocLocalBuf(length); - int ret = 0; - - if (buf == NULL) - return 0; - - if (wcs_to_mbs(oc, buf, text, length) == False) - goto err; - - ret = _XmbDefaultTextEscapement(oc, buf, length); - -err: - FreeLocalBuf(buf); - - return ret; -} - -static int -_XmbDefaultTextExtents(XOC oc, _Xconst char *text, int length, - XRectangle *overall_ink, XRectangle *overall_logical) -{ - int direction, logical_ascent, logical_descent; - XCharStruct overall; - - XTextExtents(*oc->core.font_info.font_struct_list, text, length, &direction, - &logical_ascent, &logical_descent, &overall); - - if (overall_ink) { - overall_ink->x = overall.lbearing; - overall_ink->y = -(overall.ascent); - overall_ink->width = overall.rbearing - overall.lbearing; - overall_ink->height = overall.ascent + overall.descent; - } - - if (overall_logical) { - overall_logical->x = 0; - overall_logical->y = -(logical_ascent); - overall_logical->width = overall.width; - overall_logical->height = logical_ascent + logical_descent; - } - - return overall.width; -} - -static int -_XwcDefaultTextExtents(XOC oc, _Xconst wchar_t *text, int length, - XRectangle *overall_ink, XRectangle *overall_logical) -{ - DefineLocalBuf; - char *buf = AllocLocalBuf(length); - int ret = 0; - - if (buf == NULL) - return 0; - - if (wcs_to_mbs(oc, buf, text, length) == False) - goto err; - - ret = _XmbDefaultTextExtents(oc, buf, length, overall_ink, overall_logical); - -err: - FreeLocalBuf(buf); - - return ret; -} - -static Status -_XmbDefaultTextPerCharExtents(XOC oc, _Xconst char *text, int length, - XRectangle *ink_buf, XRectangle *logical_buf, - int buf_size, int *num_chars, - XRectangle *overall_ink, - XRectangle *overall_logical) -{ - XFontStruct *font = *oc->core.font_info.font_struct_list; - XCharStruct *def, *cs, overall; - Bool first = True; - - if (buf_size < length) - return 0; - - bzero((char *) &overall, sizeof(XCharStruct)); - *num_chars = 0; - - CI_GET_DEFAULT_INFO_1D(font, def) - - while (length-- > 0) { - CI_GET_CHAR_INFO_1D(font, *text, def, cs) - text++; - if (cs == NULL) - continue; - - ink_buf->x = overall.width + cs->lbearing; - ink_buf->y = -(cs->ascent); - ink_buf->width = cs->rbearing - cs->lbearing; - ink_buf->height = cs->ascent + cs->descent; - ink_buf++; - - logical_buf->x = overall.width; - logical_buf->y = -(font->ascent); - logical_buf->width = cs->width; - logical_buf->height = font->ascent + font->descent; - logical_buf++; - - if (first) { - overall = *cs; - first = False; - } else { - overall.ascent = max(overall.ascent, cs->ascent); - overall.descent = max(overall.descent, cs->descent); - overall.lbearing = min(overall.lbearing, overall.width + - cs->lbearing); - overall.rbearing = max(overall.rbearing, overall.width + - cs->rbearing); - overall.width += cs->width; - } - (*num_chars)++; - } - - if (overall_ink) { - overall_ink->x = overall.lbearing; - overall_ink->y = -(overall.ascent); - overall_ink->width = overall.rbearing - overall.lbearing; - overall_ink->height = overall.ascent + overall.descent; - } - - if (overall_logical) { - overall_logical->x = 0; - overall_logical->y = -(font->ascent); - overall_logical->width = overall.width; - overall_logical->height = font->ascent + font->descent; - } - - return 1; -} - -static Status -_XwcDefaultTextPerCharExtents(XOC oc, _Xconst wchar_t *text, int length, - XRectangle *ink_buf, XRectangle *logical_buf, - int buf_size, int *num_chars, - XRectangle *overall_ink, - XRectangle *overall_logical) -{ - DefineLocalBuf; - char *buf = AllocLocalBuf(length); - Status ret = 0; - - if (buf == NULL) - return 0; - - if (wcs_to_mbs(oc, buf, text, length) == False) - goto err; - - ret = _XmbDefaultTextPerCharExtents(oc, buf, length, ink_buf, logical_buf, - buf_size, num_chars, overall_ink, - overall_logical); - -err: - FreeLocalBuf(buf); - - return ret; -} - -static int -_XmbDefaultDrawString(Display *dpy, Drawable d, XOC oc, GC gc, int x, int y, - _Xconst char *text, int length) -{ - XFontStruct *font = *oc->core.font_info.font_struct_list; - - XSetFont(dpy, gc, font->fid); - XDrawString(dpy, d, gc, x, y, text, length); - - return XTextWidth(font, text, length); -} - -static int -_XwcDefaultDrawString(Display *dpy, Drawable d, XOC oc, GC gc, int x, int y, - _Xconst wchar_t *text, int length) -{ - DefineLocalBuf; - char *buf = AllocLocalBuf(length); - int ret = 0; - - if (buf == NULL) - return 0; - - if (wcs_to_mbs(oc, buf, text, length) == False) - goto err; - - ret = _XmbDefaultDrawString(dpy, d, oc, gc, x, y, buf, length); - -err: - FreeLocalBuf(buf); - - return ret; -} - -static void -_XmbDefaultDrawImageString(Display *dpy, Drawable d, XOC oc, GC gc, int x, - int y, _Xconst char *text, int length) -{ - XSetFont(dpy, gc, (*oc->core.font_info.font_struct_list)->fid); - XDrawImageString(dpy, d, gc, x, y, text, length); -} - -static void -_XwcDefaultDrawImageString(Display *dpy, Drawable d, XOC oc, GC gc, int x, - int y, _Xconst wchar_t *text, int length) -{ - DefineLocalBuf; - char *buf = AllocLocalBuf(length); - - if (buf == NULL) - return; - - if (wcs_to_mbs(oc, buf, text, length) == False) - goto err; - - _XmbDefaultDrawImageString(dpy, d, oc, gc, x, y, buf, length); - -err: - FreeLocalBuf(buf); -} - -static _Xconst XOCMethodsRec oc_default_methods = { - destroy_oc, - set_oc_values, - get_oc_values, - _XmbDefaultTextEscapement, - _XmbDefaultTextExtents, - _XmbDefaultTextPerCharExtents, - _XmbDefaultDrawString, - _XmbDefaultDrawImageString, - _XwcDefaultTextEscapement, - _XwcDefaultTextExtents, - _XwcDefaultTextPerCharExtents, - _XwcDefaultDrawString, - _XwcDefaultDrawImageString -}; - -static XlcResource oc_resources[] = { - { XNBaseFontName, NULLQUARK, sizeof(char *), - XOffsetOf(XOCRec, core.base_name_list), XlcCreateMask | XlcGetMask }, - { XNOMAutomatic, NULLQUARK, sizeof(Bool), - XOffsetOf(XOCRec, core.om_automatic), XlcGetMask }, - { XNMissingCharSet, NULLQUARK, sizeof(XOMCharSetList), - XOffsetOf(XOCRec, core.missing_list), XlcGetMask }, - { XNDefaultString, NULLQUARK, sizeof(char *), - XOffsetOf(XOCRec, core.default_string), XlcGetMask }, - { XNOrientation, NULLQUARK, sizeof(XOrientation), - XOffsetOf(XOCRec, core.orientation), XlcSetMask | XlcGetMask }, - { XNResourceName, NULLQUARK, sizeof(char *), - XOffsetOf(XOCRec, core.res_name), XlcSetMask | XlcGetMask }, - { XNResourceClass, NULLQUARK, sizeof(char *), - XOffsetOf(XOCRec, core.res_class), XlcSetMask | XlcGetMask }, - { XNFontInfo, NULLQUARK, sizeof(XOMFontInfo), - XOffsetOf(XOCRec, core.font_info), XlcGetMask } -}; - -static XOC -create_oc( - XOM om, - XlcArgList args, - int num_args) -{ - XOC oc; - - oc = (XOC) Xmalloc(sizeof(XOCGenericRec)); - if (oc == NULL) - return (XOC) NULL; - bzero((char *) oc, sizeof(XOCGenericRec)); - - oc->core.om = om; - - if (oc_resources[0].xrm_name == NULLQUARK) - _XlcCompileResourceList(oc_resources, XlcNumber(oc_resources)); - - if (_XlcSetValues((XPointer) oc, oc_resources, XlcNumber(oc_resources), - args, num_args, XlcCreateMask | XlcDefaultMask)) - goto err; - - if (oc->core.base_name_list == NULL) - goto err; - - oc->core.resources = oc_resources; - oc->core.num_resources = XlcNumber(oc_resources); - - if (create_fontset(oc) == False) - goto err; - - oc->methods = (XOCMethods)&oc_default_methods; - - return oc; - -err: - destroy_oc(oc); - - return (XOC) NULL; -} - -static Status -close_om( - XOM om) -{ - XOMGenericPart *gen = XOM_GENERIC(om); - OMData data; - FontData font_data; - int count; - - if ((data = gen->data)) { - if (data->font_data) { - for (font_data = data->font_data, count = data->font_data_count; - count-- > 0 ; font_data++) { - if (font_data->name) - Xfree(font_data->name); - } - Xfree(data->font_data); - } - Xfree(gen->data); - } - - if (om->core.res_name) - Xfree(om->core.res_name); - if (om->core.res_class) - Xfree(om->core.res_class); - if (om->core.required_charset.charset_list) - XFreeStringList(om->core.required_charset.charset_list); - else - Xfree((char*)om->core.required_charset.charset_list); - if (om->core.orientation_list.orientation) - Xfree(om->core.orientation_list.orientation); - - Xfree(om); - - return 1; -} - -static char * -set_om_values( - XOM om, - XlcArgList args, - int num_args) -{ - if (om->core.resources == NULL) - return NULL; - - return _XlcSetValues((XPointer) om, om->core.resources, - om->core.num_resources, args, num_args, XlcSetMask); -} - -static char * -get_om_values( - XOM om, - XlcArgList args, - int num_args) -{ - if (om->core.resources == NULL) - return NULL; - - return _XlcGetValues((XPointer) om, om->core.resources, - om->core.num_resources, args, num_args, XlcGetMask); -} - -static _Xconst XOMMethodsRec methods = { - close_om, - set_om_values, - get_om_values, - create_oc -}; - -static XlcResource om_resources[] = { - { XNRequiredCharSet, NULLQUARK, sizeof(XOMCharSetList), - XOffsetOf(XOMRec, core.required_charset), XlcGetMask }, - { XNQueryOrientation, NULLQUARK, sizeof(XOMOrientation), - XOffsetOf(XOMRec, core.orientation_list), XlcGetMask }, - { XNDirectionalDependentDrawing, NULLQUARK, sizeof(Bool), - XOffsetOf(XOMRec, core.directional_dependent), XlcGetMask }, - { XNContextualDrawing, NULLQUARK, sizeof(Bool), - XOffsetOf(XOMRec, core.contextual_drawing), XlcGetMask } -}; - -static OMData -add_data( - XOM om) -{ - XOMGenericPart *gen = XOM_GENERIC(om); - OMData new; - - new = (OMData) Xmalloc(sizeof(OMDataRec)); - - if (new == NULL) - return NULL; - - gen->data = new; - - bzero((char *) new, sizeof(OMDataRec)); - - return new; -} - -static _Xconst char *supported_charset_list[] = { - "ISO8859-1", -/* fix for bug4332979 */ - "adobe-fontspecific", -/* fix for bug4237353: "JISX0201.1976-0" entry should be removed from - supported_charset_list because it is not a supported_charset for C locale - "JISX0201.1976-0", */ - "SUNOLCURSOR-1", - "SUNOLGLYPH-1" -}; - -static Bool -init_om( - XOM om) -{ - XOMGenericPart *gen = XOM_GENERIC(om); - OMData data; - FontData font_data; - char **required_list; - XOrientation *orientation; - char **value, buf[BUFSIZ], *bufptr; - int count, length = 0; - - value = (char**)supported_charset_list; - count = XlcNumber(supported_charset_list); - - data = add_data(om); - if (data == NULL) - return False; - - font_data = (FontData) Xmalloc(sizeof(FontDataRec) * count); - if (font_data == NULL) - return False; - bzero((char *) font_data, sizeof(FontDataRec) * count); - data->font_data = font_data; - data->font_data_count = count; - - for ( ; count-- > 0; font_data++) { -/* -1266793 -This one is fine. *value points to one of the local strings in -supported_charset_list[]. -*/ - strcpy(buf, *value++); - font_data->name = (char *) Xmalloc(strlen(buf) + 1); - if (font_data->name == NULL) - return False; - strcpy(font_data->name, buf); - } - - length += strlen(data->font_data->name) + 1; - - /* required charset list */ - required_list = (char **) Xmalloc(sizeof(char *)); - if (required_list == NULL) - return False; - - bufptr = (char *) Xmalloc(length); - if (bufptr == NULL) { - Xfree(required_list); - return False; - } - - om->core.required_charset.charset_list = required_list; - om->core.required_charset.charset_count = 1; /* always 1 */ - - data = gen->data; - - strcpy(bufptr, data->font_data->name); - *required_list++ = bufptr; - bufptr += strlen(bufptr) + 1; - - /* orientation list */ - orientation = (XOrientation *) Xmalloc(sizeof(XOrientation)); - if (orientation == NULL) - return False; - - *orientation = XOMOrientation_LTR_TTB; - om->core.orientation_list.orientation = orientation; - om->core.orientation_list.num_orientation = 1; - - /* directional dependent drawing */ - om->core.directional_dependent = False; - - /* contexual drawing */ - om->core.contextual_drawing = False; - - /* context dependent */ - om->core.context_dependent = False; - - return True; -} - -XOM -_XDefaultOpenOM(XLCd lcd, Display *dpy, XrmDatabase rdb, - _Xconst char *res_name, _Xconst char *res_class) -{ - XOM om; - - om = (XOM) Xmalloc(sizeof(XOMGenericRec)); - if (om == NULL) - return (XOM) NULL; - bzero((char *) om, sizeof(XOMGenericRec)); - - om->methods = (XOMMethods)&methods; - om->core.lcd = lcd; - om->core.display = dpy; - om->core.rdb = rdb; - if (res_name) { - om->core.res_name = (char *)Xmalloc(strlen(res_name) + 1); - if (om->core.res_name == NULL) - goto err; - strcpy(om->core.res_name, res_name); - } - if (res_class) { - om->core.res_class = (char *)Xmalloc(strlen(res_class) + 1); - if (om->core.res_class == NULL) - goto err; - strcpy(om->core.res_class, res_class); - } - - if (om_resources[0].xrm_name == NULLQUARK) - _XlcCompileResourceList(om_resources, XlcNumber(om_resources)); - - om->core.resources = om_resources; - om->core.num_resources = XlcNumber(om_resources); - - if (init_om(om) == False) - goto err; - - return om; -err: - close_om(om); - - return (XOM) NULL; -} +/*
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions: The above copyright notice and this
+permission notice shall be included in all copies or substantial
+portions of the Software.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
+EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+X Window System is a trademark of The Open Group
+
+OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
+logo, LBX, X Window System, and Xinerama are trademarks of the Open
+Group. All other trademarks and registered trademarks mentioned herein
+are the property of their respective owners. No right, title or
+interest in or to any trademark, service mark, logo or trade name of
+Sun Microsystems, Inc. or its licensors is granted.
+
+*/
+/*
+ * Copyright 2000 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+#include "XlcPublic.h"
+#include <X11/Xos.h>
+#include <X11/Xatom.h>
+#include <stdio.h>
+
+#define MAXFONTS 100
+
+#define XOM_GENERIC(om) (&((XOMGeneric) om)->gen)
+#define XOC_GENERIC(font_set) (&((XOCGeneric) font_set)->gen)
+
+#define DefineLocalBuf char local_buf[BUFSIZ]
+#define AllocLocalBuf(length) (length > BUFSIZ ? (char *)Xmalloc(length) : local_buf)
+#define FreeLocalBuf(ptr) if (ptr != local_buf) Xfree(ptr)
+
+typedef struct _FontDataRec {
+ char *name;
+} FontDataRec, *FontData;
+
+typedef struct _OMDataRec {
+ int font_data_count;
+ FontData font_data;
+} OMDataRec, *OMData;
+
+typedef struct _XOMGenericPart {
+ OMData data;
+} XOMGenericPart;
+
+typedef struct _XOMGenericRec {
+ XOMMethods methods;
+ XOMCoreRec core;
+ XOMGenericPart gen;
+} XOMGenericRec, *XOMGeneric;
+
+typedef struct _FontSetRec {
+ int id;
+ int font_data_count;
+ FontData font_data;
+ char *font_name;
+ XFontStruct *info;
+ XFontStruct *font;
+} FontSetRec, *FontSet;
+
+typedef struct _XOCGenericPart {
+ XlcConv wcs_to_cs;
+ FontSet font_set;
+} XOCGenericPart;
+
+typedef struct _XOCGenericRec {
+ XOCMethods methods;
+ XOCCoreRec core;
+ XOCGenericPart gen;
+} XOCGenericRec, *XOCGeneric;
+
+static Bool
+init_fontset(
+ XOC oc)
+{
+ XOCGenericPart *gen;
+ FontSet font_set;
+ OMData data;
+
+ data = XOM_GENERIC(oc->core.om)->data;
+
+ font_set = (FontSet) Xmalloc(sizeof(FontSetRec));
+ if (font_set == NULL)
+ return False;
+ bzero((char *) font_set, sizeof(FontSetRec));
+
+ gen = XOC_GENERIC(oc);
+ gen->font_set = font_set;
+
+ font_set->font_data_count = data->font_data_count;
+ font_set->font_data = data->font_data;
+
+ return True;
+}
+
+static char *
+get_prop_name(
+ Display *dpy,
+ XFontStruct *fs)
+{
+ unsigned long fp;
+
+ if (XGetFontProperty(fs, XA_FONT, &fp))
+ return XGetAtomName(dpy, fp);
+
+ return (char *) NULL;
+}
+
+static FontData
+check_charset(
+ FontSet font_set,
+ char *font_name)
+{
+ FontData font_data;
+ char *last;
+ int count;
+ ssize_t length, name_len;
+
+ name_len = strlen(font_name);
+ last = font_name + name_len;
+
+ count = font_set->font_data_count;
+ font_data = font_set->font_data;
+
+ for ( ; count-- > 0; font_data++) {
+ length = strlen(font_data->name);
+
+ if (length > name_len)
+ return(NULL);
+
+ if (_XlcCompareISOLatin1(last - length, font_data->name) == 0)
+ return font_data;
+ }
+ return (FontData) NULL;
+}
+
+#if 0 /* Unused */
+static int
+check_fontname(
+ XOC oc,
+ char *name)
+{
+ Display *dpy = oc->core.om->core.display;
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontData data;
+ FontSet font_set;
+ XFontStruct *fs_list;
+ char **fn_list, *fname, *prop_fname = NULL;
+ int list_num, i;
+ int list2_num;
+ char **fn2_list = NULL;
+ int found_num = 0;
+
+ fn_list = XListFonts(dpy, name, MAXFONTS, &list_num);
+ if (fn_list == NULL)
+ return found_num;
+
+ for (i = 0; i < list_num; i++) {
+ fname = fn_list[i];
+
+ font_set = gen->font_set;
+
+ if ((data = check_charset(font_set, fname)) == NULL) {
+ if ((fn2_list = XListFontsWithInfo(dpy, name, MAXFONTS,
+ &list2_num, &fs_list))
+ && (prop_fname = get_prop_name(dpy, fs_list))
+ && (data = check_charset(font_set, prop_fname)))
+ fname = prop_fname;
+ }
+ if (data) {
+ font_set->font_name = (char *) Xmalloc(strlen(fname) + 1);
+ if (font_set->font_name) {
+ strcpy(font_set->font_name, fname);
+ found_num++;
+ }
+ }
+ if (fn2_list) {
+ XFreeFontInfo(fn2_list, fs_list, list2_num);
+ fn2_list = NULL;
+ if (prop_fname) {
+ Xfree(prop_fname);
+ prop_fname = NULL;
+ }
+ }
+ if (found_num == 1)
+ break;
+ }
+ XFreeFontNames(fn_list);
+ return found_num;
+}
+#endif
+
+static Bool
+load_font(
+ XOC oc)
+{
+ Display *dpy = oc->core.om->core.display;
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontSet font_set = gen->font_set;
+
+ if (font_set->font_name == NULL)
+ return False;
+
+ if (font_set->font == NULL) {
+ font_set->font = XLoadQueryFont(dpy, font_set->font_name);
+ if (font_set->font == NULL)
+ return False;
+ }
+ return True;
+}
+
+#if 0
+static Bool
+load_font_info(
+ XOC oc)
+{
+ Display *dpy = oc->core.om->core.display;
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontSet font_set = gen->font_set;
+ char **fn_list;
+ int fn_num;
+
+ if (font_set->font_name == NULL)
+ return False;
+
+ if (font_set->info == NULL) {
+ fn_list = XListFontsWithInfo(dpy, font_set->font_name, 1, &fn_num,
+ &font_set->info);
+ if (font_set->info == NULL)
+ return False;
+ if (fn_num > 0)
+ font_set->info->fid = XLoadFont(dpy, font_set->font_name);
+
+ if (fn_list) XFreeFontNames(fn_list);
+ }
+ return True;
+}
+#endif
+
+static void
+set_fontset_extents(
+ XOC oc)
+{
+ XRectangle *ink = &oc->core.font_set_extents.max_ink_extent;
+ XRectangle *logical = &oc->core.font_set_extents.max_logical_extent;
+ XFontStruct **font_list, *font;
+ XCharStruct overall;
+ int logical_ascent, logical_descent;
+
+ font_list = oc->core.font_info.font_struct_list;
+ font = *font_list++;
+ overall = font->max_bounds;
+ overall.lbearing = font->min_bounds.lbearing;
+ logical_ascent = font->ascent;
+ logical_descent = font->descent;
+
+ ink->x = overall.lbearing;
+ ink->y = -(overall.ascent);
+ ink->width = overall.rbearing - overall.lbearing;
+ ink->height = overall.ascent + overall.descent;
+
+ logical->x = 0;
+ logical->y = -(logical_ascent);
+ logical->width = overall.width;
+ logical->height = logical_ascent + logical_descent;
+}
+
+static Bool
+init_core_part(
+ XOC oc)
+{
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontSet font_set;
+ XFontStruct **font_struct_list;
+ char **font_name_list, *font_name_buf;
+ int count, length;
+
+ font_set = gen->font_set;
+ count = length = 0;
+
+ if (font_set->font_name != NULL) {
+ length += strlen(font_set->font_name) + 1;
+ count++;
+ }
+ if (count == 0)
+ return False;
+
+ font_struct_list = (XFontStruct **) Xmalloc(sizeof(XFontStruct *));
+ if (font_struct_list == NULL)
+ return False;
+
+ font_name_list = (char **) Xmalloc(sizeof(char *));
+ if (font_name_list == NULL)
+ goto err;
+
+ font_name_buf = (char *) Xmalloc(length);
+ if (font_name_buf == NULL)
+ goto err;
+
+ oc->core.font_info.num_font = 1;
+ oc->core.font_info.font_name_list = font_name_list;
+ oc->core.font_info.font_struct_list = font_struct_list;
+
+ font_set = gen->font_set;
+
+ if (font_set->font_name != NULL) {
+ font_set->id = 1;
+ if (font_set->font)
+ *font_struct_list++ = font_set->font;
+ else
+ *font_struct_list++ = font_set->info;
+ strcpy(font_name_buf, font_set->font_name);
+ Xfree(font_set->font_name);
+ *font_name_list++ = font_set->font_name = font_name_buf;
+ font_name_buf += strlen(font_name_buf) + 1;
+ }
+
+ set_fontset_extents(oc);
+
+ return True;
+
+err:
+ if (font_name_list)
+ Xfree(font_name_list);
+ Xfree(font_struct_list);
+
+ return False;
+}
+
+static char *
+get_font_name(
+ XOC oc,
+ char *pattern)
+{
+ char **list, *name, *prop_name;
+ int count;
+ XFontStruct *fs;
+ Display *dpy = oc->core.om->core.display;
+
+ list = XListFonts(dpy, pattern, 1, &count);
+ if (list != NULL) {
+ name = (char *) Xmalloc(strlen(*list) + 1);
+ if (name)
+ strcpy(name, *list);
+
+ XFreeFontNames(list);
+ } else {
+ fs = XLoadQueryFont(dpy, pattern);
+ if (fs == NULL) return NULL;
+
+ prop_name = get_prop_name(dpy, fs);
+ if (prop_name == NULL) return NULL;
+
+ name = (char*) Xmalloc(strlen(prop_name) + 1);
+ if (name)
+ strcpy(name, prop_name);
+
+ XFreeFont(dpy, fs);
+ }
+ return name;
+}
+
+static int
+parse_fontname(
+ XOC oc)
+{
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontSet font_set;
+ FontData font_data;
+ char *pattern, *last, buf[BUFSIZ];
+ int font_data_count, found_num = 0;
+ ssize_t length;
+ int count, num_fields;
+ char *base_name, *font_name, **name_list, **cur_name_list;
+ char *charset_p = NULL;
+ Bool append_charset;
+ /*
+ append_charset flag should be set to True when the XLFD fontname
+ doesn't contain a chaset part.
+ */
+
+ name_list = _XParseBaseFontNameList(oc->core.base_name_list, &count);
+ if (name_list == NULL)
+ return -1;
+ cur_name_list = name_list;
+
+ while (count-- > 0) {
+ pattern = *cur_name_list++;
+ if (pattern == NULL || *pattern == '\0')
+ continue;
+
+ append_charset = False;
+
+ if (strchr(pattern, '*') == NULL &&
+ (font_name = get_font_name(oc, pattern))) {
+
+ font_set = gen->font_set;
+
+ font_data = check_charset(font_set, font_name);
+ if (font_data == NULL) {
+ Display *dpy = oc->core.om->core.display;
+ char **fn_list = NULL, *prop_fname = NULL;
+ int list_num;
+ XFontStruct *fs_list;
+ if ((fn_list = XListFontsWithInfo(dpy, font_name,
+ MAXFONTS,
+ &list_num, &fs_list))
+ && (prop_fname = get_prop_name(dpy, fs_list))
+ && (font_data = check_charset(font_set, prop_fname))) {
+ if (fn_list) {
+ XFreeFontInfo(fn_list, fs_list, list_num);
+ fn_list = NULL;
+ }
+ font_name = prop_fname;
+ }
+ }
+ if (font_data == NULL)
+ continue;
+
+ font_set->font_name = (char *) Xmalloc(strlen(font_name) + 1);
+ if (font_set->font_name == NULL) {
+ Xfree(font_name);
+ goto err;
+ }
+ strcpy(font_set->font_name, font_name);
+ Xfree(font_name);
+ found_num++;
+ goto found;
+ }
+/*
+1266793
+Limit the length of the string copy to prevent stack corruption.
+ strcpy(buf, pattern);
+*/
+ strncpy(buf, pattern, BUFSIZ);
+ buf[BUFSIZ-1] = '\0';
+ length = strlen(buf);
+ last = buf + length - 1;
+
+ for (num_fields = 0, base_name = buf; *base_name != '\0'; base_name++)
+ if (*base_name == '-') num_fields++;
+ if (strchr(pattern, '*') == NULL) {
+ if (num_fields == 12) {
+ append_charset = True;
+ *++last = '-';
+ last++;
+ } else
+ continue;
+ } else {
+ if (num_fields == 13 || num_fields == 14) {
+ /*
+ * There are 14 fields in an XLFD name -- make certain the
+ * charset (& encoding) is placed in the correct field.
+ */
+ append_charset = True;
+ last = strrchr (buf, '-');
+ if (num_fields == 14) {
+ *last = '\0';
+ last = strrchr (buf, '-');
+ }
+ last++;
+ } else if (*last == '*') {
+ append_charset = True;
+ if (length > 3 && *(last-3) == '-' && *(last-2) == '*'
+ && *(last-1) == '-') {
+ last -= 2;
+ }
+ *++last = '-';
+ last++;
+ } else {
+ last = strrchr (buf, '-');
+ charset_p = last;
+ charset_p = strrchr (buf, '-');
+ while (*(--charset_p) != '-');
+ charset_p++;
+ }
+ }
+
+ font_set = gen->font_set;
+
+ font_data = font_set->font_data;
+ font_data_count = font_set->font_data_count;
+ for ( ; font_data_count-- > 0; font_data++) {
+ if (append_charset)
+ {
+/*
+1266793
+Limit the length of the string copy to prevent stack corruption.
+ strcpy(last, font_data->name);
+*/
+ strncpy(last, font_data->name, BUFSIZ - length);
+ buf[BUFSIZ-1] = '\0';
+ }
+ else {
+ if (_XlcCompareISOLatin1(charset_p,
+ font_data->name)) {
+ continue;
+ }
+ }
+ if ((font_set->font_name = get_font_name(oc, buf)))
+ break;
+ }
+ if (font_set->font_name != NULL) {
+ found_num++;
+ goto found;
+ }
+ }
+ found:
+ base_name = (char *) Xmalloc(strlen(oc->core.base_name_list) + 1);
+ if (base_name == NULL)
+ goto err;
+
+ strcpy(base_name, oc->core.base_name_list);
+ oc->core.base_name_list = base_name;
+
+ XFreeStringList(name_list);
+
+ return found_num;
+err:
+ XFreeStringList(name_list);
+
+ return -1;
+}
+
+static Bool
+set_missing_list(
+ XOC oc)
+{
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ FontSet font_set;
+ char **charset_list, *charset_buf;
+ int count, length;
+
+ font_set = gen->font_set;
+ count = length = 0;
+
+ if (!font_set->info && !font_set->font) {
+ length += strlen(font_set->font_data->name) + 1;
+ count++;
+ }
+
+ if (count == 0)
+ return True;
+
+ charset_list = (char **) Xmalloc(sizeof(char *));
+ if (charset_list == NULL)
+ return False;
+
+ charset_buf = (char *) Xmalloc(length);
+ if (charset_buf == NULL) {
+ Xfree(charset_list);
+ return False;
+ }
+
+ oc->core.missing_list.charset_list = charset_list;
+
+ font_set = gen->font_set;
+
+ if (!font_set->info && !font_set->font) {
+ strcpy(charset_buf, font_set->font_data->name);
+ *charset_list++ = charset_buf;
+ charset_buf += strlen(charset_buf) + 1;
+ }
+ return True;
+}
+
+static Bool
+create_fontset(
+ XOC oc)
+{
+ int found_num;
+
+ if (init_fontset(oc) == False)
+ return False;
+
+ found_num = parse_fontname(oc);
+ if (found_num <= 0) {
+ if (found_num == 0)
+ set_missing_list(oc);
+ return False;
+ }
+
+ if (load_font(oc) == False)
+ return False;
+
+ if (init_core_part(oc) == False)
+ return False;
+
+ if (set_missing_list(oc) == False)
+ return False;
+
+ return True;
+}
+
+static void
+destroy_oc(
+ XOC oc)
+{
+ Display *dpy = oc->core.om->core.display;
+ XOCGenericPart *gen = XOC_GENERIC(oc);
+ XFontStruct **font_list, *font;
+
+ if (gen->font_set)
+ Xfree(gen->font_set);
+
+ if (oc->core.base_name_list)
+ Xfree(oc->core.base_name_list);
+
+ if (oc->core.font_info.font_name_list)
+ XFreeStringList(oc->core.font_info.font_name_list);
+
+ if ((font_list = oc->core.font_info.font_struct_list)) {
+ if ((font = *font_list)) {
+ if (font->fid)
+ XFreeFont(dpy, font);
+ else
+ XFreeFontInfo(NULL, font, 1);
+ }
+ Xfree(oc->core.font_info.font_struct_list);
+ }
+
+ if (oc->core.missing_list.charset_list)
+ XFreeStringList(oc->core.missing_list.charset_list);
+
+#ifdef notdef
+ if (oc->core.res_name)
+ Xfree(oc->core.res_name);
+ if (oc->core.res_class)
+ Xfree(oc->core.res_class);
+#endif
+
+ Xfree(oc);
+}
+
+static char *
+set_oc_values(
+ XOC oc,
+ XlcArgList args,
+ int num_args)
+{
+ if (oc->core.resources == NULL)
+ return NULL;
+
+ return _XlcSetValues((XPointer) oc, oc->core.resources,
+ oc->core.num_resources, args, num_args, XlcSetMask);
+}
+
+static char *
+get_oc_values(
+ XOC oc,
+ XlcArgList args,
+ int num_args)
+{
+ if (oc->core.resources == NULL)
+ return NULL;
+
+ return _XlcGetValues((XPointer) oc, oc->core.resources,
+ oc->core.num_resources, args, num_args, XlcGetMask);
+}
+
+static Bool
+wcs_to_mbs(
+ XOC oc,
+ char *to,
+ _Xconst wchar_t *from,
+ int length)
+{
+ XlcConv conv = XOC_GENERIC(oc)->wcs_to_cs;
+ XLCd lcd;
+ int ret, to_left = length;
+
+ if (conv == NULL) {
+ lcd = oc->core.om->core.lcd;
+ conv = _XlcOpenConverter(lcd, XlcNWideChar, lcd, XlcNMultiByte);
+ if (conv == NULL)
+ return False;
+ XOC_GENERIC(oc)->wcs_to_cs = conv;
+ } else
+ _XlcResetConverter(conv);
+
+ ret = _XlcConvert(conv, (XPointer *) &from, &length, (XPointer *) &to,
+ &to_left, NULL, 0);
+ if (ret != 0 || length > 0)
+ return False;
+
+ return True;
+}
+
+static int
+_XmbDefaultTextEscapement(XOC oc, _Xconst char *text, int length)
+{
+ return XTextWidth(*oc->core.font_info.font_struct_list, text, length);
+}
+
+static int
+_XwcDefaultTextEscapement(XOC oc, _Xconst wchar_t *text, int length)
+{
+ DefineLocalBuf;
+ char *buf = AllocLocalBuf(length);
+ int ret = 0;
+
+ if (buf == NULL)
+ return 0;
+
+ if (wcs_to_mbs(oc, buf, text, length) == False)
+ goto err;
+
+ ret = _XmbDefaultTextEscapement(oc, buf, length);
+
+err:
+ FreeLocalBuf(buf);
+
+ return ret;
+}
+
+static int
+_XmbDefaultTextExtents(XOC oc, _Xconst char *text, int length,
+ XRectangle *overall_ink, XRectangle *overall_logical)
+{
+ int direction, logical_ascent, logical_descent;
+ XCharStruct overall;
+
+ XTextExtents(*oc->core.font_info.font_struct_list, text, length, &direction,
+ &logical_ascent, &logical_descent, &overall);
+
+ if (overall_ink) {
+ overall_ink->x = overall.lbearing;
+ overall_ink->y = -(overall.ascent);
+ overall_ink->width = overall.rbearing - overall.lbearing;
+ overall_ink->height = overall.ascent + overall.descent;
+ }
+
+ if (overall_logical) {
+ overall_logical->x = 0;
+ overall_logical->y = -(logical_ascent);
+ overall_logical->width = overall.width;
+ overall_logical->height = logical_ascent + logical_descent;
+ }
+
+ return overall.width;
+}
+
+static int
+_XwcDefaultTextExtents(XOC oc, _Xconst wchar_t *text, int length,
+ XRectangle *overall_ink, XRectangle *overall_logical)
+{
+ DefineLocalBuf;
+ char *buf = AllocLocalBuf(length);
+ int ret = 0;
+
+ if (buf == NULL)
+ return 0;
+
+ if (wcs_to_mbs(oc, buf, text, length) == False)
+ goto err;
+
+ ret = _XmbDefaultTextExtents(oc, buf, length, overall_ink, overall_logical);
+
+err:
+ FreeLocalBuf(buf);
+
+ return ret;
+}
+
+static Status
+_XmbDefaultTextPerCharExtents(XOC oc, _Xconst char *text, int length,
+ XRectangle *ink_buf, XRectangle *logical_buf,
+ int buf_size, int *num_chars,
+ XRectangle *overall_ink,
+ XRectangle *overall_logical)
+{
+ XFontStruct *font = *oc->core.font_info.font_struct_list;
+ XCharStruct *def, *cs, overall;
+ Bool first = True;
+
+ if (buf_size < length)
+ return 0;
+
+ bzero((char *) &overall, sizeof(XCharStruct));
+ *num_chars = 0;
+
+ CI_GET_DEFAULT_INFO_1D(font, def)
+
+ while (length-- > 0) {
+ CI_GET_CHAR_INFO_1D(font, *text, def, cs)
+ text++;
+ if (cs == NULL)
+ continue;
+
+ ink_buf->x = overall.width + cs->lbearing;
+ ink_buf->y = -(cs->ascent);
+ ink_buf->width = cs->rbearing - cs->lbearing;
+ ink_buf->height = cs->ascent + cs->descent;
+ ink_buf++;
+
+ logical_buf->x = overall.width;
+ logical_buf->y = -(font->ascent);
+ logical_buf->width = cs->width;
+ logical_buf->height = font->ascent + font->descent;
+ logical_buf++;
+
+ if (first) {
+ overall = *cs;
+ first = False;
+ } else {
+ overall.ascent = max(overall.ascent, cs->ascent);
+ overall.descent = max(overall.descent, cs->descent);
+ overall.lbearing = min(overall.lbearing, overall.width +
+ cs->lbearing);
+ overall.rbearing = max(overall.rbearing, overall.width +
+ cs->rbearing);
+ overall.width += cs->width;
+ }
+ (*num_chars)++;
+ }
+
+ if (overall_ink) {
+ overall_ink->x = overall.lbearing;
+ overall_ink->y = -(overall.ascent);
+ overall_ink->width = overall.rbearing - overall.lbearing;
+ overall_ink->height = overall.ascent + overall.descent;
+ }
+
+ if (overall_logical) {
+ overall_logical->x = 0;
+ overall_logical->y = -(font->ascent);
+ overall_logical->width = overall.width;
+ overall_logical->height = font->ascent + font->descent;
+ }
+
+ return 1;
+}
+
+static Status
+_XwcDefaultTextPerCharExtents(XOC oc, _Xconst wchar_t *text, int length,
+ XRectangle *ink_buf, XRectangle *logical_buf,
+ int buf_size, int *num_chars,
+ XRectangle *overall_ink,
+ XRectangle *overall_logical)
+{
+ DefineLocalBuf;
+ char *buf = AllocLocalBuf(length);
+ Status ret = 0;
+
+ if (buf == NULL)
+ return 0;
+
+ if (wcs_to_mbs(oc, buf, text, length) == False)
+ goto err;
+
+ ret = _XmbDefaultTextPerCharExtents(oc, buf, length, ink_buf, logical_buf,
+ buf_size, num_chars, overall_ink,
+ overall_logical);
+
+err:
+ FreeLocalBuf(buf);
+
+ return ret;
+}
+
+static int
+_XmbDefaultDrawString(Display *dpy, Drawable d, XOC oc, GC gc, int x, int y,
+ _Xconst char *text, int length)
+{
+ XFontStruct *font = *oc->core.font_info.font_struct_list;
+
+ XSetFont(dpy, gc, font->fid);
+ XDrawString(dpy, d, gc, x, y, text, length);
+
+ return XTextWidth(font, text, length);
+}
+
+static int
+_XwcDefaultDrawString(Display *dpy, Drawable d, XOC oc, GC gc, int x, int y,
+ _Xconst wchar_t *text, int length)
+{
+ DefineLocalBuf;
+ char *buf = AllocLocalBuf(length);
+ int ret = 0;
+
+ if (buf == NULL)
+ return 0;
+
+ if (wcs_to_mbs(oc, buf, text, length) == False)
+ goto err;
+
+ ret = _XmbDefaultDrawString(dpy, d, oc, gc, x, y, buf, length);
+
+err:
+ FreeLocalBuf(buf);
+
+ return ret;
+}
+
+static void
+_XmbDefaultDrawImageString(Display *dpy, Drawable d, XOC oc, GC gc, int x,
+ int y, _Xconst char *text, int length)
+{
+ XSetFont(dpy, gc, (*oc->core.font_info.font_struct_list)->fid);
+ XDrawImageString(dpy, d, gc, x, y, text, length);
+}
+
+static void
+_XwcDefaultDrawImageString(Display *dpy, Drawable d, XOC oc, GC gc, int x,
+ int y, _Xconst wchar_t *text, int length)
+{
+ DefineLocalBuf;
+ char *buf = AllocLocalBuf(length);
+
+ if (buf == NULL)
+ return;
+
+ if (wcs_to_mbs(oc, buf, text, length) == False)
+ goto err;
+
+ _XmbDefaultDrawImageString(dpy, d, oc, gc, x, y, buf, length);
+
+err:
+ FreeLocalBuf(buf);
+}
+
+static _Xconst XOCMethodsRec oc_default_methods = {
+ destroy_oc,
+ set_oc_values,
+ get_oc_values,
+ _XmbDefaultTextEscapement,
+ _XmbDefaultTextExtents,
+ _XmbDefaultTextPerCharExtents,
+ _XmbDefaultDrawString,
+ _XmbDefaultDrawImageString,
+ _XwcDefaultTextEscapement,
+ _XwcDefaultTextExtents,
+ _XwcDefaultTextPerCharExtents,
+ _XwcDefaultDrawString,
+ _XwcDefaultDrawImageString
+};
+
+static XlcResource oc_resources[] = {
+ { XNBaseFontName, NULLQUARK, sizeof(char *),
+ XOffsetOf(XOCRec, core.base_name_list), XlcCreateMask | XlcGetMask },
+ { XNOMAutomatic, NULLQUARK, sizeof(Bool),
+ XOffsetOf(XOCRec, core.om_automatic), XlcGetMask },
+ { XNMissingCharSet, NULLQUARK, sizeof(XOMCharSetList),
+ XOffsetOf(XOCRec, core.missing_list), XlcGetMask },
+ { XNDefaultString, NULLQUARK, sizeof(char *),
+ XOffsetOf(XOCRec, core.default_string), XlcGetMask },
+ { XNOrientation, NULLQUARK, sizeof(XOrientation),
+ XOffsetOf(XOCRec, core.orientation), XlcSetMask | XlcGetMask },
+ { XNResourceName, NULLQUARK, sizeof(char *),
+ XOffsetOf(XOCRec, core.res_name), XlcSetMask | XlcGetMask },
+ { XNResourceClass, NULLQUARK, sizeof(char *),
+ XOffsetOf(XOCRec, core.res_class), XlcSetMask | XlcGetMask },
+ { XNFontInfo, NULLQUARK, sizeof(XOMFontInfo),
+ XOffsetOf(XOCRec, core.font_info), XlcGetMask }
+};
+
+static XOC
+create_oc(
+ XOM om,
+ XlcArgList args,
+ int num_args)
+{
+ XOC oc;
+
+ oc = (XOC) Xmalloc(sizeof(XOCGenericRec));
+ if (oc == NULL)
+ return (XOC) NULL;
+ bzero((char *) oc, sizeof(XOCGenericRec));
+
+ oc->core.om = om;
+
+ if (oc_resources[0].xrm_name == NULLQUARK)
+ _XlcCompileResourceList(oc_resources, XlcNumber(oc_resources));
+
+ if (_XlcSetValues((XPointer) oc, oc_resources, XlcNumber(oc_resources),
+ args, num_args, XlcCreateMask | XlcDefaultMask))
+ goto err;
+
+ if (oc->core.base_name_list == NULL)
+ goto err;
+
+ oc->core.resources = oc_resources;
+ oc->core.num_resources = XlcNumber(oc_resources);
+
+ if (create_fontset(oc) == False)
+ goto err;
+
+ oc->methods = (XOCMethods)&oc_default_methods;
+
+ return oc;
+
+err:
+ destroy_oc(oc);
+
+ return (XOC) NULL;
+}
+
+static Status
+close_om(
+ XOM om)
+{
+ XOMGenericPart *gen = XOM_GENERIC(om);
+ OMData data;
+ FontData font_data;
+ int count;
+
+ if ((data = gen->data)) {
+ if (data->font_data) {
+ for (font_data = data->font_data, count = data->font_data_count;
+ count-- > 0 ; font_data++) {
+ if (font_data->name)
+ Xfree(font_data->name);
+ }
+ Xfree(data->font_data);
+ }
+ Xfree(gen->data);
+ }
+
+ if (om->core.res_name)
+ Xfree(om->core.res_name);
+ if (om->core.res_class)
+ Xfree(om->core.res_class);
+ if (om->core.required_charset.charset_list)
+ XFreeStringList(om->core.required_charset.charset_list);
+ else
+ Xfree((char*)om->core.required_charset.charset_list);
+ if (om->core.orientation_list.orientation)
+ Xfree(om->core.orientation_list.orientation);
+
+ Xfree(om);
+
+ return 1;
+}
+
+static char *
+set_om_values(
+ XOM om,
+ XlcArgList args,
+ int num_args)
+{
+ if (om->core.resources == NULL)
+ return NULL;
+
+ return _XlcSetValues((XPointer) om, om->core.resources,
+ om->core.num_resources, args, num_args, XlcSetMask);
+}
+
+static char *
+get_om_values(
+ XOM om,
+ XlcArgList args,
+ int num_args)
+{
+ if (om->core.resources == NULL)
+ return NULL;
+
+ return _XlcGetValues((XPointer) om, om->core.resources,
+ om->core.num_resources, args, num_args, XlcGetMask);
+}
+
+static _Xconst XOMMethodsRec methods = {
+ close_om,
+ set_om_values,
+ get_om_values,
+ create_oc
+};
+
+static XlcResource om_resources[] = {
+ { XNRequiredCharSet, NULLQUARK, sizeof(XOMCharSetList),
+ XOffsetOf(XOMRec, core.required_charset), XlcGetMask },
+ { XNQueryOrientation, NULLQUARK, sizeof(XOMOrientation),
+ XOffsetOf(XOMRec, core.orientation_list), XlcGetMask },
+ { XNDirectionalDependentDrawing, NULLQUARK, sizeof(Bool),
+ XOffsetOf(XOMRec, core.directional_dependent), XlcGetMask },
+ { XNContextualDrawing, NULLQUARK, sizeof(Bool),
+ XOffsetOf(XOMRec, core.contextual_drawing), XlcGetMask }
+};
+
+static OMData
+add_data(
+ XOM om)
+{
+ XOMGenericPart *gen = XOM_GENERIC(om);
+ OMData new;
+
+ new = (OMData) Xmalloc(sizeof(OMDataRec));
+
+ if (new == NULL)
+ return NULL;
+
+ gen->data = new;
+
+ bzero((char *) new, sizeof(OMDataRec));
+
+ return new;
+}
+
+static _Xconst char *supported_charset_list[] = {
+ "ISO8859-1",
+/* fix for bug4332979 */
+ "adobe-fontspecific",
+/* fix for bug4237353: "JISX0201.1976-0" entry should be removed from
+ supported_charset_list because it is not a supported_charset for C locale
+ "JISX0201.1976-0", */
+ "SUNOLCURSOR-1",
+ "SUNOLGLYPH-1"
+};
+
+static Bool
+init_om(
+ XOM om)
+{
+ XOMGenericPart *gen = XOM_GENERIC(om);
+ OMData data;
+ FontData font_data;
+ char **required_list;
+ XOrientation *orientation;
+ char **value, buf[BUFSIZ], *bufptr;
+ int count, length = 0;
+
+ value = (char**)supported_charset_list;
+ count = XlcNumber(supported_charset_list);
+
+ data = add_data(om);
+ if (data == NULL)
+ return False;
+
+ font_data = (FontData) Xmalloc(sizeof(FontDataRec) * count);
+ if (font_data == NULL)
+ return False;
+ bzero((char *) font_data, sizeof(FontDataRec) * count);
+ data->font_data = font_data;
+ data->font_data_count = count;
+
+ for ( ; count-- > 0; font_data++) {
+/*
+1266793
+This one is fine. *value points to one of the local strings in
+supported_charset_list[].
+*/
+ strcpy(buf, *value++);
+ font_data->name = (char *) Xmalloc(strlen(buf) + 1);
+ if (font_data->name == NULL)
+ return False;
+ strcpy(font_data->name, buf);
+ }
+
+ length += strlen(data->font_data->name) + 1;
+
+ /* required charset list */
+ required_list = (char **) Xmalloc(sizeof(char *));
+ if (required_list == NULL)
+ return False;
+
+ bufptr = (char *) Xmalloc(length);
+ if (bufptr == NULL) {
+ Xfree(required_list);
+ return False;
+ }
+
+ om->core.required_charset.charset_list = required_list;
+ om->core.required_charset.charset_count = 1; /* always 1 */
+
+ data = gen->data;
+
+ strcpy(bufptr, data->font_data->name);
+ *required_list++ = bufptr;
+ bufptr += strlen(bufptr) + 1;
+
+ /* orientation list */
+ orientation = (XOrientation *) Xmalloc(sizeof(XOrientation));
+ if (orientation == NULL)
+ return False;
+
+ *orientation = XOMOrientation_LTR_TTB;
+ om->core.orientation_list.orientation = orientation;
+ om->core.orientation_list.num_orientation = 1;
+
+ /* directional dependent drawing */
+ om->core.directional_dependent = False;
+
+ /* contexual drawing */
+ om->core.contextual_drawing = False;
+
+ /* context dependent */
+ om->core.context_dependent = False;
+
+ return True;
+}
+
+XOM
+_XDefaultOpenOM(XLCd lcd, Display *dpy, XrmDatabase rdb,
+ _Xconst char *res_name, _Xconst char *res_class)
+{
+ XOM om;
+
+ om = (XOM) Xmalloc(sizeof(XOMGenericRec));
+ if (om == NULL)
+ return (XOM) NULL;
+ bzero((char *) om, sizeof(XOMGenericRec));
+
+ om->methods = (XOMMethods)&methods;
+ om->core.lcd = lcd;
+ om->core.display = dpy;
+ om->core.rdb = rdb;
+ if (res_name) {
+ om->core.res_name = (char *)Xmalloc(strlen(res_name) + 1);
+ if (om->core.res_name == NULL)
+ goto err;
+ strcpy(om->core.res_name, res_name);
+ }
+ if (res_class) {
+ om->core.res_class = (char *)Xmalloc(strlen(res_class) + 1);
+ if (om->core.res_class == NULL)
+ goto err;
+ strcpy(om->core.res_class, res_class);
+ }
+
+ if (om_resources[0].xrm_name == NULLQUARK)
+ _XlcCompileResourceList(om_resources, XlcNumber(om_resources));
+
+ om->core.resources = om_resources;
+ om->core.num_resources = XlcNumber(om_resources);
+
+ if (init_om(om) == False)
+ goto err;
+
+ return om;
+err:
+ close_om(om);
+
+ return (XOM) NULL;
+}
diff --git a/libX11/src/xlibi18n/XimTrInt.h b/libX11/src/xlibi18n/XimTrInt.h index b7e4439d2..83919ddfa 100644 --- a/libX11/src/xlibi18n/XimTrInt.h +++ b/libX11/src/xlibi18n/XimTrInt.h @@ -1,85 +1,85 @@ -/* - * Copyright 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifndef _XIMTRINT_H -#define _XIMTRINT_H - -#include "Ximint.h" - -typedef struct { - const char *transportname; - Bool (*config)( - Xim, - char * - ); -} TransportSW; - -extern TransportSW _XimTransportRec[]; - -/* - * Global symbols - */ - -extern Bool _XimXConf( - Xim im, - char *address -); - -#if defined(TCPCONN) || defined(UNIXCONN) || defined(DNETCONN) || defined(STREAMSCONN) - -extern Bool _XimTransConf( - Xim im, - char *address -); - -#endif - -#endif /* _XIMTRINT_H */ +/*
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifndef _XIMTRINT_H
+#define _XIMTRINT_H
+
+#include "Ximint.h"
+
+typedef struct {
+ const char *transportname;
+ Bool (*config)(
+ Xim,
+ char *
+ );
+} TransportSW;
+
+extern TransportSW _XimTransportRec[];
+
+/*
+ * Global symbols
+ */
+
+extern Bool _XimXConf(
+ Xim im,
+ char *address
+);
+
+#if defined(TCPCONN) || defined(UNIXCONN) || defined(DNETCONN) || defined(STREAMSCONN)
+
+extern Bool _XimTransConf(
+ Xim im,
+ char *address
+);
+
+#endif
+
+#endif /* _XIMTRINT_H */
diff --git a/libX11/src/xlibi18n/XimTrX.h b/libX11/src/xlibi18n/XimTrX.h index 1c24fe368..c4c3be769 100644 --- a/libX11/src/xlibi18n/XimTrX.h +++ b/libX11/src/xlibi18n/XimTrX.h @@ -1,85 +1,85 @@ -/* - * Copyright 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifndef _XIMTRX_H -#define _XIMTRX_H - -typedef struct _XIntrCallbackRec *XIntrCallbackPtr; - -typedef struct _XIntrCallbackRec { - Bool (*func)( - Xim, INT16, XPointer, XPointer -); - XPointer call_data; - XIntrCallbackPtr next; -} XIntrCallbackRec ; - -typedef struct _XSpecRec { - XIntrCallbackPtr intr_cb; - Atom imconnectid; - Atom improtocolid; - Atom immoredataid; - Window lib_connect_wid; - Window ims_connect_wid; - XPointer ev; - CARD32 major_code; - CARD32 minor_code; - CARD32 BoundarySize; -} XSpecRec; - -#define _XIM_PROTOCOL "_XIM_PROTOCOL" -#define _XIM_XCONNECT "_XIM_XCONNECT" -#define _XIM_MOREDATA "_XIM_MOREDATA" - -#define MAJOR_TRANSPORT_VERSION 0 -#define MINOR_TRANSPORT_VERSION 0 - -#endif /* _XIMTRX_H */ +/*
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifndef _XIMTRX_H
+#define _XIMTRX_H
+
+typedef struct _XIntrCallbackRec *XIntrCallbackPtr;
+
+typedef struct _XIntrCallbackRec {
+ Bool (*func)(
+ Xim, INT16, XPointer, XPointer
+);
+ XPointer call_data;
+ XIntrCallbackPtr next;
+} XIntrCallbackRec ;
+
+typedef struct _XSpecRec {
+ XIntrCallbackPtr intr_cb;
+ Atom imconnectid;
+ Atom improtocolid;
+ Atom immoredataid;
+ Window lib_connect_wid;
+ Window ims_connect_wid;
+ XPointer ev;
+ CARD32 major_code;
+ CARD32 minor_code;
+ CARD32 BoundarySize;
+} XSpecRec;
+
+#define _XIM_PROTOCOL "_XIM_PROTOCOL"
+#define _XIM_XCONNECT "_XIM_XCONNECT"
+#define _XIM_MOREDATA "_XIM_MOREDATA"
+
+#define MAJOR_TRANSPORT_VERSION 0
+#define MINOR_TRANSPORT_VERSION 0
+
+#endif /* _XIMTRX_H */
diff --git a/libX11/src/xlibi18n/XimTrans.h b/libX11/src/xlibi18n/XimTrans.h index 987b5ee33..8de1465aa 100644 --- a/libX11/src/xlibi18n/XimTrans.h +++ b/libX11/src/xlibi18n/XimTrans.h @@ -1,136 +1,136 @@ -/* - * Copyright 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifndef _XIMTRANS_H -#define _XIMTRANS_H - -typedef struct _TransIntrCallbackRec *TransIntrCallbackPtr; - -typedef struct _TransIntrCallbackRec { - Bool (*func)( - Xim, INT16, XPointer, XPointer - ); - XPointer call_data; - TransIntrCallbackPtr next; -} TransIntrCallbackRec ; - -typedef struct { - TransIntrCallbackPtr intr_cb; - struct _XtransConnInfo *trans_conn; /* transport connection object */ - int fd; - char *address; - Window window; - Bool is_putback; -} TransSpecRec; - - -/* - * Prototypes - */ - -extern Bool _XimTransRegisterDispatcher( - Xim im, - Bool (*callback)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data -); - - -extern Bool _XimTransIntrCallback( - Xim im, - Bool (*callback)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data -); - -extern Bool _XimTransCallDispatcher( - Xim im, - INT16 len, - XPointer data -); - -extern void _XimFreeTransIntrCallback( - Xim im -); - -extern Bool _XimTransFilterWaitEvent( - Display *d, - Window w, - XEvent *ev, - XPointer arg -); - -extern void _XimTransInternalConnection( - Display *d, - int fd, - XPointer arg -); - -extern Bool _XimTransWrite( - Xim im, - INT16 len, - XPointer data -); - -extern Bool _XimTransRead( - Xim im, - XPointer recv_buf, - int buf_len, - int *ret_len -); - -extern void _XimTransFlush( - Xim im -); - -#endif /* _XIMTRANS__H */ +/*
+ * Copyright 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifndef _XIMTRANS_H
+#define _XIMTRANS_H
+
+typedef struct _TransIntrCallbackRec *TransIntrCallbackPtr;
+
+typedef struct _TransIntrCallbackRec {
+ Bool (*func)(
+ Xim, INT16, XPointer, XPointer
+ );
+ XPointer call_data;
+ TransIntrCallbackPtr next;
+} TransIntrCallbackRec ;
+
+typedef struct {
+ TransIntrCallbackPtr intr_cb;
+ struct _XtransConnInfo *trans_conn; /* transport connection object */
+ int fd;
+ char *address;
+ Window window;
+ Bool is_putback;
+} TransSpecRec;
+
+
+/*
+ * Prototypes
+ */
+
+extern Bool _XimTransRegisterDispatcher(
+ Xim im,
+ Bool (*callback)(
+ Xim, INT16, XPointer, XPointer
+ ),
+ XPointer call_data
+);
+
+
+extern Bool _XimTransIntrCallback(
+ Xim im,
+ Bool (*callback)(
+ Xim, INT16, XPointer, XPointer
+ ),
+ XPointer call_data
+);
+
+extern Bool _XimTransCallDispatcher(
+ Xim im,
+ INT16 len,
+ XPointer data
+);
+
+extern void _XimFreeTransIntrCallback(
+ Xim im
+);
+
+extern Bool _XimTransFilterWaitEvent(
+ Display *d,
+ Window w,
+ XEvent *ev,
+ XPointer arg
+);
+
+extern void _XimTransInternalConnection(
+ Display *d,
+ int fd,
+ XPointer arg
+);
+
+extern Bool _XimTransWrite(
+ Xim im,
+ INT16 len,
+ XPointer data
+);
+
+extern Bool _XimTransRead(
+ Xim im,
+ XPointer recv_buf,
+ int buf_len,
+ int *ret_len
+);
+
+extern void _XimTransFlush(
+ Xim im
+);
+
+#endif /* _XIMTRANS__H */
diff --git a/libX11/src/xlibi18n/XimintP.h b/libX11/src/xlibi18n/XimintP.h index 89b7c214f..214621d66 100644 --- a/libX11/src/xlibi18n/XimintP.h +++ b/libX11/src/xlibi18n/XimintP.h @@ -1,318 +1,318 @@ -/* - * Copyright 1991, 1992 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - Copyright 1993, 1994 by Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of FUJITSU LIMITED and Sony Corporation -not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. FUJITSU LIMITED and -Sony Corporation makes no representations about the suitability of this -software for any purpose. It is provided "as is" without express or -implied warranty. - -FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD -TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL FUJITSU LIMITED OR SONY CORPORATION BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE -USE OR PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - Makoto Wakamatsu Sony Corporation - makoto@sm.sony.co.jp - Hiroyuki Miyamoto Digital Equipment Corporation - miyamoto@jrd.dec.com - -******************************************************************/ - -#ifndef _XIMINTP_H -#define _XIMINTP_H - -#include "XimProto.h" -#include "XlcPublic.h" - -/* - * for protocol layer callback function - */ -typedef Bool (*XimProtoIntrProc)( - Xim, INT16, XPointer, XPointer -); -typedef struct _XimProtoIntrRec { - XimProtoIntrProc func; - CARD16 major_code; - CARD16 minor_code; - XPointer call_data; - struct _XimProtoIntrRec *next; -} XimProtoIntrRec; - -/* - * for transport layer methods - */ -typedef Bool (*XimTransConnectProc)( - Xim -); -typedef Bool (*XimTransShutdownProc)( - Xim -); -typedef Bool (*XimTransWriteProc)( - Xim, INT16, XPointer -); -typedef Bool (*XimTransReadProc)( - Xim, XPointer, int, int * -); -typedef void (*XimTransFlushProc)( - Xim -); -typedef Bool (*XimTransRegDispatcher)( - Xim, Bool (*)(Xim, INT16, XPointer, XPointer), XPointer -); -typedef Bool (*XimTransCallDispatcher)( - Xim, INT16, XPointer -); - -/* - * private part of IM - */ -typedef struct _XimProtoPrivateRec { - /* The first fields are identical with XimCommonPrivateRec. */ - XlcConv ctom_conv; - XlcConv ctow_conv; - XlcConv ctoutf8_conv; - XlcConv cstomb_conv; - XlcConv cstowc_conv; - XlcConv cstoutf8_conv; - XlcConv ucstoc_conv; - XlcConv ucstoutf8_conv; - - Window im_window; - XIMID imid; - CARD16 unused; - XIMStyles *default_styles; - CARD32 *im_onkeylist; - CARD32 *im_offkeylist; - BITMASK32 flag; - - BITMASK32 registed_filter_event; - EVENTMASK forward_event_mask; - EVENTMASK synchronous_event_mask; - - XimProtoIntrRec *intrproto; - XIMResourceList im_inner_resources; - unsigned int im_num_inner_resources; - XIMResourceList ic_inner_resources; - unsigned int ic_num_inner_resources; - char *hold_data; - int hold_data_len; - char *locale_name; - CARD16 protocol_major_version; - CARD16 protocol_minor_version; - XrmQuark *saved_imvalues; - int num_saved_imvalues; - - /* - * transport specific - */ - XimTransConnectProc connect; - XimTransShutdownProc shutdown; - XimTransWriteProc write; - XimTransReadProc read; - XimTransFlushProc flush; - XimTransRegDispatcher register_dispatcher; - XimTransCallDispatcher call_dispatcher; - XPointer spec; -} XimProtoPrivateRec; - -/* - * bit mask for the flag of XIMPrivateRec - */ -#define SERVER_CONNECTED (1L) -#define DYNAMIC_EVENT_FLOW (1L << 1) -#define USE_AUTHORIZATION_FUNC (1L << 2) -#ifdef XIM_CONNECTABLE -#define DELAYBINDABLE (1L << 3) -#define RECONNECTABLE (1L << 4) -#endif /* XIM_CONNECTABLE */ - -/* - * macro for the flag of XIMPrivateRec - */ -#define IS_SERVER_CONNECTED(im) \ - ((((Xim)im))->private.proto.flag & SERVER_CONNECTED) -#define MARK_SERVER_CONNECTED(im) \ - ((((Xim)im))->private.proto.flag |= SERVER_CONNECTED) -#define UNMARK_SERVER_CONNECTED(im) \ - ((((Xim)im))->private.proto.flag &= ~SERVER_CONNECTED) - -#define IS_DYNAMIC_EVENT_FLOW(im) \ - (((Xim)im)->private.proto.flag & DYNAMIC_EVENT_FLOW) -#define MARK_DYNAMIC_EVENT_FLOW(im) \ - (((Xim)im)->private.proto.flag |= DYNAMIC_EVENT_FLOW) - -#define IS_USE_AUTHORIZATION_FUNC(im) \ - (((Xim)im)->private.proto.flag & USE_AUTHORIZATION_FUNC) -#define MARK_USE_AUTHORIZATION_FUNC(im) \ - (((Xim)im)->private.proto.flag |= USE_AUTHORIZATION_FUNC) - -#ifdef XIM_CONNECTABLE -#define IS_DELAYBINDABLE(im) \ - (((Xim)im)->private.proto.flag & DELAYBINDABLE) -#define MARK_DELAYBINDABLE(im) \ - (((Xim)im)->private.proto.flag |= DELAYBINDABLE) - -#define IS_RECONNECTABLE(im) \ - (((Xim)im)->private.proto.flag & RECONNECTABLE) -#define MARK_RECONNECTABLE(im) \ - (((Xim)im)->private.proto.flag |= RECONNECTABLE) - -#define IS_CONNECTABLE(im) \ - (((Xim)im)->private.proto.flag & (DELAYBINDABLE|RECONNECTABLE)) -#define UNMAKE_CONNECTABLE(im) \ - (((Xim)im)->private.proto.flag &= ~(DELAYBINDABLE|RECONNECTABLE)) -#endif /* XIM_CONNECTABLE */ - -/* - * bit mask for the register_filter_event of XIMPrivateRec/XICPrivateRec - */ -#define KEYPRESS_MASK (1L) -#define KEYRELEASE_MASK (1L << 1) -#define DESTROYNOTIFY_MASK (1L << 2) - -typedef struct _XimCommitInfoRec { - struct _XimCommitInfoRec *next; - char *string; - int string_len; - KeySym *keysym; - int keysym_len; -} XimCommitInfoRec, *XimCommitInfo; - -typedef struct _XimPendingCallback { - int major_opcode; - Xim im; - Xic ic; - char *proto; - int proto_len; - struct _XimPendingCallback *next; -} XimPendingCallbackRec, *XimPendingCallback; - - -/* - * private part of IC - */ -typedef struct _XicProtoPrivateRec { - XICID icid; /* ICID */ - CARD16 dmy; - BITMASK32 flag; /* Input Mode */ - - BITMASK32 registed_filter_event; /* registed filter mask */ - EVENTMASK forward_event_mask; /* forward event mask */ - EVENTMASK synchronous_event_mask;/* sync event mask */ - EVENTMASK filter_event_mask; /* negrect event mask */ - EVENTMASK intercept_event_mask; /* deselect event mask */ - EVENTMASK select_event_mask; /* select event mask */ - - char *preedit_font; /* Base font name list */ - int preedit_font_length; /* length of base font name */ - char *status_font; /* Base font name list */ - int status_font_length; /* length of base font name */ - - XimCommitInfo commit_info; - XIMResourceList ic_resources; - unsigned int ic_num_resources; - XIMResourceList ic_inner_resources; - unsigned int ic_num_inner_resources; - XrmQuark *saved_icvalues; - int num_saved_icvalues; - XimPendingCallback pend_cb_que; - Bool waitCallback; -} XicProtoPrivateRec ; - -/* - * bit mask for the flag of XICPrivateRec - */ -#define IC_CONNECTED (1L) -#define FABLICATED (1L << 1) -#define NEED_SYNC_REPLY (1L << 2) -#define FOCUSED (1L << 3) - -/* - * macro for the flag of XICPrivateRec - */ -#define IS_IC_CONNECTED(ic) \ - (((Xic)ic)->private.proto.flag & IC_CONNECTED) -#define MARK_IC_CONNECTED(ic) \ - (((Xic)ic)->private.proto.flag |= IC_CONNECTED) -#define UNMARK_IC_CONNECTED(ic) \ - (((Xic)ic)->private.proto.flag &= ~IC_CONNECTED) - -#define IS_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag & FABLICATED) -#define MARK_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag |= FABLICATED) -#define UNMARK_FABLICATED(ic) \ - (((Xic)ic)->private.proto.flag &= ~FABLICATED) - -#define IS_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag & NEED_SYNC_REPLY) -#define MARK_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag |= NEED_SYNC_REPLY) -#define UNMARK_NEED_SYNC_REPLY(ic) \ - (((Xic)ic)->private.proto.flag &= ~NEED_SYNC_REPLY) - -#define IS_FOCUSED(ic) \ - (((Xic)ic)->private.proto.flag & FOCUSED) -#define MARK_FOCUSED(ic) \ - (((Xic)ic)->private.proto.flag |= FOCUSED) -#define UNMARK_FOCUSED(ic) \ - (((Xic)ic)->private.proto.flag &= ~FOCUSED) - -/* - * macro for the filter_event_mask of XICPrivateRec - */ -#define IS_NEGLECT_EVENT(ic, mask) \ - (((Xic)ic)->private.proto.filter_event_mask & (mask)) - -/* - * macro for the forward_event_mask of XICPrivateRec - */ -#define IS_FORWARD_EVENT(ic, mask) \ - (((Xic)ic)->private.proto.forward_event_mask & (mask)) - -/* - * macro for the synchronous_event_mask of XICPrivateRec - */ -#define IS_SYNCHRONOUS_EVENT(ic, mask) \ - ((((Xic)ic)->private.proto.synchronous_event_mask & (mask)) ? True: False) - -#define XIM_MAXIMNAMELEN 64 -#define XIM_MAXLCNAMELEN 64 - -#endif /* _XIMINTP_H */ +/*
+ * Copyright 1991, 1992 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+ Copyright 1993, 1994 by Sony Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of FUJITSU LIMITED and Sony Corporation
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. FUJITSU LIMITED and
+Sony Corporation makes no representations about the suitability of this
+software for any purpose. It is provided "as is" without express or
+implied warranty.
+
+FUJITSU LIMITED AND SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD
+TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL FUJITSU LIMITED OR SONY CORPORATION BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc.
+ Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+ Makoto Wakamatsu Sony Corporation
+ makoto@sm.sony.co.jp
+ Hiroyuki Miyamoto Digital Equipment Corporation
+ miyamoto@jrd.dec.com
+
+******************************************************************/
+
+#ifndef _XIMINTP_H
+#define _XIMINTP_H
+
+#include "XimProto.h"
+#include "XlcPublic.h"
+
+/*
+ * for protocol layer callback function
+ */
+typedef Bool (*XimProtoIntrProc)(
+ Xim, INT16, XPointer, XPointer
+);
+typedef struct _XimProtoIntrRec {
+ XimProtoIntrProc func;
+ CARD16 major_code;
+ CARD16 minor_code;
+ XPointer call_data;
+ struct _XimProtoIntrRec *next;
+} XimProtoIntrRec;
+
+/*
+ * for transport layer methods
+ */
+typedef Bool (*XimTransConnectProc)(
+ Xim
+);
+typedef Bool (*XimTransShutdownProc)(
+ Xim
+);
+typedef Bool (*XimTransWriteProc)(
+ Xim, INT16, XPointer
+);
+typedef Bool (*XimTransReadProc)(
+ Xim, XPointer, int, int *
+);
+typedef void (*XimTransFlushProc)(
+ Xim
+);
+typedef Bool (*XimTransRegDispatcher)(
+ Xim, Bool (*)(Xim, INT16, XPointer, XPointer), XPointer
+);
+typedef Bool (*XimTransCallDispatcher)(
+ Xim, INT16, XPointer
+);
+
+/*
+ * private part of IM
+ */
+typedef struct _XimProtoPrivateRec {
+ /* The first fields are identical with XimCommonPrivateRec. */
+ XlcConv ctom_conv;
+ XlcConv ctow_conv;
+ XlcConv ctoutf8_conv;
+ XlcConv cstomb_conv;
+ XlcConv cstowc_conv;
+ XlcConv cstoutf8_conv;
+ XlcConv ucstoc_conv;
+ XlcConv ucstoutf8_conv;
+
+ Window im_window;
+ XIMID imid;
+ CARD16 unused;
+ XIMStyles *default_styles;
+ CARD32 *im_onkeylist;
+ CARD32 *im_offkeylist;
+ BITMASK32 flag;
+
+ BITMASK32 registed_filter_event;
+ EVENTMASK forward_event_mask;
+ EVENTMASK synchronous_event_mask;
+
+ XimProtoIntrRec *intrproto;
+ XIMResourceList im_inner_resources;
+ unsigned int im_num_inner_resources;
+ XIMResourceList ic_inner_resources;
+ unsigned int ic_num_inner_resources;
+ char *hold_data;
+ int hold_data_len;
+ char *locale_name;
+ CARD16 protocol_major_version;
+ CARD16 protocol_minor_version;
+ XrmQuark *saved_imvalues;
+ int num_saved_imvalues;
+
+ /*
+ * transport specific
+ */
+ XimTransConnectProc connect;
+ XimTransShutdownProc shutdown;
+ XimTransWriteProc write;
+ XimTransReadProc read;
+ XimTransFlushProc flush;
+ XimTransRegDispatcher register_dispatcher;
+ XimTransCallDispatcher call_dispatcher;
+ XPointer spec;
+} XimProtoPrivateRec;
+
+/*
+ * bit mask for the flag of XIMPrivateRec
+ */
+#define SERVER_CONNECTED (1L)
+#define DYNAMIC_EVENT_FLOW (1L << 1)
+#define USE_AUTHORIZATION_FUNC (1L << 2)
+#ifdef XIM_CONNECTABLE
+#define DELAYBINDABLE (1L << 3)
+#define RECONNECTABLE (1L << 4)
+#endif /* XIM_CONNECTABLE */
+
+/*
+ * macro for the flag of XIMPrivateRec
+ */
+#define IS_SERVER_CONNECTED(im) \
+ ((((Xim)im))->private.proto.flag & SERVER_CONNECTED)
+#define MARK_SERVER_CONNECTED(im) \
+ ((((Xim)im))->private.proto.flag |= SERVER_CONNECTED)
+#define UNMARK_SERVER_CONNECTED(im) \
+ ((((Xim)im))->private.proto.flag &= ~SERVER_CONNECTED)
+
+#define IS_DYNAMIC_EVENT_FLOW(im) \
+ (((Xim)im)->private.proto.flag & DYNAMIC_EVENT_FLOW)
+#define MARK_DYNAMIC_EVENT_FLOW(im) \
+ (((Xim)im)->private.proto.flag |= DYNAMIC_EVENT_FLOW)
+
+#define IS_USE_AUTHORIZATION_FUNC(im) \
+ (((Xim)im)->private.proto.flag & USE_AUTHORIZATION_FUNC)
+#define MARK_USE_AUTHORIZATION_FUNC(im) \
+ (((Xim)im)->private.proto.flag |= USE_AUTHORIZATION_FUNC)
+
+#ifdef XIM_CONNECTABLE
+#define IS_DELAYBINDABLE(im) \
+ (((Xim)im)->private.proto.flag & DELAYBINDABLE)
+#define MARK_DELAYBINDABLE(im) \
+ (((Xim)im)->private.proto.flag |= DELAYBINDABLE)
+
+#define IS_RECONNECTABLE(im) \
+ (((Xim)im)->private.proto.flag & RECONNECTABLE)
+#define MARK_RECONNECTABLE(im) \
+ (((Xim)im)->private.proto.flag |= RECONNECTABLE)
+
+#define IS_CONNECTABLE(im) \
+ (((Xim)im)->private.proto.flag & (DELAYBINDABLE|RECONNECTABLE))
+#define UNMAKE_CONNECTABLE(im) \
+ (((Xim)im)->private.proto.flag &= ~(DELAYBINDABLE|RECONNECTABLE))
+#endif /* XIM_CONNECTABLE */
+
+/*
+ * bit mask for the register_filter_event of XIMPrivateRec/XICPrivateRec
+ */
+#define KEYPRESS_MASK (1L)
+#define KEYRELEASE_MASK (1L << 1)
+#define DESTROYNOTIFY_MASK (1L << 2)
+
+typedef struct _XimCommitInfoRec {
+ struct _XimCommitInfoRec *next;
+ char *string;
+ int string_len;
+ KeySym *keysym;
+ int keysym_len;
+} XimCommitInfoRec, *XimCommitInfo;
+
+typedef struct _XimPendingCallback {
+ int major_opcode;
+ Xim im;
+ Xic ic;
+ char *proto;
+ int proto_len;
+ struct _XimPendingCallback *next;
+} XimPendingCallbackRec, *XimPendingCallback;
+
+
+/*
+ * private part of IC
+ */
+typedef struct _XicProtoPrivateRec {
+ XICID icid; /* ICID */
+ CARD16 dmy;
+ BITMASK32 flag; /* Input Mode */
+
+ BITMASK32 registed_filter_event; /* registed filter mask */
+ EVENTMASK forward_event_mask; /* forward event mask */
+ EVENTMASK synchronous_event_mask;/* sync event mask */
+ EVENTMASK filter_event_mask; /* negrect event mask */
+ EVENTMASK intercept_event_mask; /* deselect event mask */
+ EVENTMASK select_event_mask; /* select event mask */
+
+ char *preedit_font; /* Base font name list */
+ int preedit_font_length; /* length of base font name */
+ char *status_font; /* Base font name list */
+ int status_font_length; /* length of base font name */
+
+ XimCommitInfo commit_info;
+ XIMResourceList ic_resources;
+ unsigned int ic_num_resources;
+ XIMResourceList ic_inner_resources;
+ unsigned int ic_num_inner_resources;
+ XrmQuark *saved_icvalues;
+ int num_saved_icvalues;
+ XimPendingCallback pend_cb_que;
+ Bool waitCallback;
+} XicProtoPrivateRec ;
+
+/*
+ * bit mask for the flag of XICPrivateRec
+ */
+#define IC_CONNECTED (1L)
+#define FABLICATED (1L << 1)
+#define NEED_SYNC_REPLY (1L << 2)
+#define FOCUSED (1L << 3)
+
+/*
+ * macro for the flag of XICPrivateRec
+ */
+#define IS_IC_CONNECTED(ic) \
+ (((Xic)ic)->private.proto.flag & IC_CONNECTED)
+#define MARK_IC_CONNECTED(ic) \
+ (((Xic)ic)->private.proto.flag |= IC_CONNECTED)
+#define UNMARK_IC_CONNECTED(ic) \
+ (((Xic)ic)->private.proto.flag &= ~IC_CONNECTED)
+
+#define IS_FABLICATED(ic) \
+ (((Xic)ic)->private.proto.flag & FABLICATED)
+#define MARK_FABLICATED(ic) \
+ (((Xic)ic)->private.proto.flag |= FABLICATED)
+#define UNMARK_FABLICATED(ic) \
+ (((Xic)ic)->private.proto.flag &= ~FABLICATED)
+
+#define IS_NEED_SYNC_REPLY(ic) \
+ (((Xic)ic)->private.proto.flag & NEED_SYNC_REPLY)
+#define MARK_NEED_SYNC_REPLY(ic) \
+ (((Xic)ic)->private.proto.flag |= NEED_SYNC_REPLY)
+#define UNMARK_NEED_SYNC_REPLY(ic) \
+ (((Xic)ic)->private.proto.flag &= ~NEED_SYNC_REPLY)
+
+#define IS_FOCUSED(ic) \
+ (((Xic)ic)->private.proto.flag & FOCUSED)
+#define MARK_FOCUSED(ic) \
+ (((Xic)ic)->private.proto.flag |= FOCUSED)
+#define UNMARK_FOCUSED(ic) \
+ (((Xic)ic)->private.proto.flag &= ~FOCUSED)
+
+/*
+ * macro for the filter_event_mask of XICPrivateRec
+ */
+#define IS_NEGLECT_EVENT(ic, mask) \
+ (((Xic)ic)->private.proto.filter_event_mask & (mask))
+
+/*
+ * macro for the forward_event_mask of XICPrivateRec
+ */
+#define IS_FORWARD_EVENT(ic, mask) \
+ (((Xic)ic)->private.proto.forward_event_mask & (mask))
+
+/*
+ * macro for the synchronous_event_mask of XICPrivateRec
+ */
+#define IS_SYNCHRONOUS_EVENT(ic, mask) \
+ ((((Xic)ic)->private.proto.synchronous_event_mask & (mask)) ? True: False)
+
+#define XIM_MAXIMNAMELEN 64
+#define XIM_MAXLCNAMELEN 64
+
+#endif /* _XIMINTP_H */
diff --git a/libX11/src/xlibi18n/XlcDL.c b/libX11/src/xlibi18n/XlcDL.c index 879bc51eb..58e9ade87 100644 --- a/libX11/src/xlibi18n/XlcDL.c +++ b/libX11/src/xlibi18n/XlcDL.c @@ -1,652 +1,652 @@ -/* -Copyright 1985, 1986, 1987, 1991, 1998 The Open Group - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: The above copyright notice and this -permission notice shall be included in all copies or substantial -portions of the Software. - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE -EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. - - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -X Window System is a trademark of The Open Group - -OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF -logo, LBX, X Window System, and Xinerama are trademarks of the Open -Group. All other trademarks and registered trademarks mentioned herein -are the property of their respective owners. No right, title or -interest in or to any trademark, service mark, logo or trade name of -Sun Microsystems, Inc. or its licensors is granted. - -*/ -/* - * Copyright 2000 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - - -#ifdef HAVE_CONFIG_H -# include <config.h> -#else -# if defined(hpux) -# define HAVE_DL_H -# else -# define HAVE_DLFCN_H -# endif -#endif - -#include <stdio.h> - -#ifdef HAVE_DL_H -#include <dl.h> -#endif - -#ifdef HAVE_DLFCN_H -#include <dlfcn.h> -#endif - -#include <ctype.h> - -#include "Xlibint.h" -#include "XlcPublic.h" -#include "XlcPubI.h" - -#if defined(_LP64) && defined(__sparcv9) -# define _MACH64_NAME "sparcv9" -#else -# undef _MACH64_NAME -#endif /* defined(_LP64) && defined(__sparcv9) */ - -#ifdef _MACH64_NAME -# define _MACH64_NAME_LEN (sizeof (_MACH64_NAME) - 1) -#endif - -#define XI18N_DLREL 2 - -#define iscomment(ch) ((ch) == '\0' || (ch) == '#') - -typedef enum { - XLC_OBJECT, - XIM_OBJECT, - XOM_OBJECT -} XI18NDLType; - -typedef struct { - XI18NDLType type; - int locale_name_len; - char *locale_name; - char *dl_name; - char *open; - char *im_register; - char *im_unregister; - int dl_release; - unsigned int refcount; -#if defined(hpux) - shl_t dl_module; -#else - void *dl_module; -#endif -} XI18NObjectsListRec, *XI18NObjectsList; - -#define OBJECT_INIT_LEN 8 -#define OBJECT_INC_LEN 4 -static int lc_len = 0; -static XI18NObjectsListRec *xi18n_objects_list = NULL; -static int lc_count = 0; - -static int -parse_line(char *line, char **argv, int argsize) -{ - int argc = 0; - char *p = line; - - while (argc < argsize) { - while (isspace(*p)) { - ++p; - } - if (iscomment(*p)){ - break; - } - argv[argc++] = p; - while (!isspace(*p)) { - ++p; - } - if (iscomment(*p)) { - break; - } - *p++ = '\0'; - } - return argc; -} - -static char * -strdup_with_underscore(const char *symbol) -{ - char *result; - - if ((result = malloc(strlen(symbol) + 2)) == NULL) - return NULL; - result[0] = '_'; - strcpy(result + 1, symbol); - return result; -} - -#ifndef hpux -static void * -try_both_dlsym (void *handle, char *name) -{ - void *ret; - - ret = dlsym (handle, name); - if (!ret) - { - name = strdup_with_underscore (name); - if (name) - { - ret = dlsym (handle, name); - free (name); - } - } - return ret; -} -#endif - -static void -resolve_object(char *path, const char *lc_name) -{ - char filename[BUFSIZ]; - FILE *fp; - char buf[BUFSIZ]; - - if (lc_len == 0) { /* True only for the 1st time */ - lc_len = OBJECT_INIT_LEN; - xi18n_objects_list = (XI18NObjectsList) - Xmalloc(sizeof(XI18NObjectsListRec) * lc_len); - if (!xi18n_objects_list) return; - } -/* -1266793 -Limit the length of path to prevent stack buffer corruption. - sprintf(filename, "%s/%s", path, "XI18N_OBJS"); -*/ - sprintf(filename, "%.*s/%s", BUFSIZ - 12, path, "XI18N_OBJS"); - fp = fopen(filename, "r"); - if (fp == (FILE *)NULL){ - return; - } - - while (fgets(buf, BUFSIZ, fp) != NULL){ - char *p = buf; - int n; - char *args[6]; - while (isspace(*p)){ - ++p; - } - if (iscomment(*p)){ - continue; - } - - if (lc_count == lc_len) { - lc_len += OBJECT_INC_LEN; - xi18n_objects_list = (XI18NObjectsList) - Xrealloc(xi18n_objects_list, - sizeof(XI18NObjectsListRec) * lc_len); - if (!xi18n_objects_list) return; - } - n = parse_line(p, args, 6); - - if (n == 3 || n == 5) { - if (!strcmp(args[0], "XLC")){ - xi18n_objects_list[lc_count].type = XLC_OBJECT; - } else if (!strcmp(args[0], "XOM")){ - xi18n_objects_list[lc_count].type = XOM_OBJECT; - } else if (!strcmp(args[0], "XIM")){ - xi18n_objects_list[lc_count].type = XIM_OBJECT; - } - xi18n_objects_list[lc_count].dl_name = strdup(args[1]); - xi18n_objects_list[lc_count].open = strdup(args[2]); - xi18n_objects_list[lc_count].dl_release = XI18N_DLREL; - xi18n_objects_list[lc_count].locale_name = strdup(lc_name); - xi18n_objects_list[lc_count].refcount = 0; - xi18n_objects_list[lc_count].dl_module = (void*)NULL; - if (n == 5) { - xi18n_objects_list[lc_count].im_register = strdup(args[3]); - xi18n_objects_list[lc_count].im_unregister = strdup(args[4]); - } else { - xi18n_objects_list[lc_count].im_register = NULL; - xi18n_objects_list[lc_count].im_unregister = NULL; - } - lc_count++; - } - } - fclose(fp); -} - -static char* -__lc_path(const char *dl_name, const char *lc_dir) -{ - char *path; - size_t len; - - /* - * reject this for possible security issue - */ - if (strstr (dl_name, "../")) - return NULL; - -#if defined (_LP64) && defined (_MACH64_NAME) - len = (lc_dir ? strlen(lc_dir) : 0 ) + - (dl_name ? strlen(dl_name) : 0) + _MACH64_NAME_LEN + 10; - path = Xmalloc(len + 1); - - if (strchr(dl_name, '/') != NULL) { - char *tmp = strdup(dl_name); - char *dl_dir, *dl_file; - char *slash_p; - slash_p = strchr(tmp, '/'); - *slash_p = '\0'; - dl_dir = tmp; - dl_file = ++slash_p; - - slash_p = strrchr(lc_dir, '/'); - *slash_p = '\0'; - strcpy(path, lc_dir); strcat(path, "/"); - strcat(path, dl_dir); strcat(path, "/"); - strcat(path, _MACH64_NAME); strcat(path, "/"); - strcat(path, dl_file); strcat(path, ".so.2"); - - *slash_p = '/'; - Xfree(tmp); - } else { - strcpy(path, lc_dir); strcat(path, "/"); - strcat(path, _MACH64_NAME); strcat(path, "/"); - strcat(path, dl_name); strcat(path, ".so.2"); - } -#else - len = (lc_dir ? strlen(lc_dir) : 0 ) + - (dl_name ? strlen(dl_name) : 0) + 10; -#if defined POSTLOCALELIBDIR - len += (strlen(POSTLOCALELIBDIR) + 1); -#endif - path = Xmalloc(len + 1); - - if (strchr(dl_name, '/') != NULL) { - char *slash_p; - slash_p = strrchr(lc_dir, '/'); - *slash_p = '\0'; - strcpy(path, lc_dir); strcat(path, "/"); -#if defined POSTLOCALELIBDIR - strcat(path, POSTLOCALELIBDIR); strcat(path, "/"); -#endif - strcat(path, dl_name); strcat(path, ".so.2"); - *slash_p = '/'; - } else { - strcpy(path, lc_dir); strcat(path, "/"); -#if defined POSTLOCALELIBDIR - strcat(path, POSTLOCALELIBDIR); strcat(path, "/"); -#endif - strcat(path, dl_name); strcat(path, ".so.2"); - } -#endif - return path; -} - -/* We reference count dlopen() and dlclose() of modules; unfortunately, - * since XCloseIM, XCloseOM, XlcClose aren't wrapped, but directly - * call the close method of the object, we leak a reference count every - * time we open then close a module. Fixing this would require - * either creating proxy objects or hooks for close_im/close_om - * in XLCd - */ -static Bool -open_object( - XI18NObjectsList object, - char *lc_dir) -{ - char *path; - - if (object->refcount == 0) { - path = __lc_path(object->dl_name, lc_dir); - if (!path) - return False; -#if defined(hpux) - object->dl_module = shl_load(path, BIND_DEFERRED, 0L); -#else - object->dl_module = dlopen(path, RTLD_LAZY); -#endif - Xfree(path); - - if (!object->dl_module) - return False; - } - - object->refcount++; - return True; -} - -static void * -fetch_symbol( - XI18NObjectsList object, - char *symbol) -{ - void *result = NULL; -#if defined(hpux) - int getsyms_cnt, i; - struct shl_symbol *symbols; -#endif - - if (symbol == NULL) - return NULL; - -#if defined(hpux) - getsyms_cnt = shl_getsymbols(object->dl_module, TYPE_PROCEDURE, - EXPORT_SYMBOLS, malloc, &symbols); - - for(i=0; i<getsyms_cnt; i++) { - if(!strcmp(symbols[i].name, symbol)) { - result = symbols[i].value; - break; - } - } - - if(getsyms_cnt > 0) { - free(symbols); - } -#else - result = try_both_dlsym(object->dl_module, symbol); -#endif - - return result; -} - -static void -close_object(XI18NObjectsList object) -{ - object->refcount--; - if (object->refcount == 0) - { -#if defined(hpux) - shl_unload(object->dl_module); -#else - dlclose(object->dl_module); -#endif - object->dl_module = NULL; - } -} - - -typedef XLCd (*dynamicLoadProc)(const char *); - -XLCd -_XlcDynamicLoad(const char *lc_name) -{ - XLCd lcd = (XLCd)NULL; - dynamicLoadProc lc_loader = (dynamicLoadProc)NULL; - int count; - XI18NObjectsList objects_list; - char lc_dir[BUFSIZE], lc_lib_dir[BUFSIZE]; - - if (lc_name == NULL) return (XLCd)NULL; - - if (_XlcLocaleDirName(lc_dir, BUFSIZE, (char *)lc_name) == (char *)NULL) - return (XLCd)NULL; - if (_XlcLocaleLibDirName(lc_lib_dir, BUFSIZE, (char *)lc_name) == (char*)NULL) - return (XLCd)NULL; - - resolve_object(lc_dir, lc_name); - resolve_object(lc_lib_dir, lc_name); - - objects_list = xi18n_objects_list; - count = lc_count; - for (; count-- > 0; objects_list++) { - if (objects_list->type != XLC_OBJECT || - strcmp(objects_list->locale_name, lc_name)) continue; - if (!open_object (objects_list, lc_dir) && \ - !open_object (objects_list, lc_lib_dir)) - continue; - - lc_loader = (dynamicLoadProc)fetch_symbol (objects_list, objects_list->open); - if (!lc_loader) continue; - lcd = (*lc_loader)(lc_name); - if (lcd != (XLCd)NULL) { - break; - } - - close_object (objects_list); - } - return (XLCd)lcd; -} - - -typedef XIM (*dynamicOpenProcp)(XLCd, Display *, XrmDatabase, char *, char *); - -static XIM -_XDynamicOpenIM(XLCd lcd, Display *display, XrmDatabase rdb, - char *res_name, char *res_class) -{ - XIM im = (XIM)NULL; - char lc_dir[BUFSIZE]; - char *lc_name; - dynamicOpenProcp im_openIM = (dynamicOpenProcp)NULL; - int count; - XI18NObjectsList objects_list = xi18n_objects_list; - - lc_name = lcd->core->name; - - if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XIM)0; - - count = lc_count; - for (; count-- > 0; objects_list++) { - if (objects_list->type != XIM_OBJECT || - strcmp(objects_list->locale_name, lc_name)) continue; - - if (!open_object (objects_list, lc_dir)) - continue; - - im_openIM = (dynamicOpenProcp)fetch_symbol(objects_list, objects_list->open); - if (!im_openIM) continue; - im = (*im_openIM)(lcd, display, rdb, res_name, res_class); - if (im != (XIM)NULL) { - break; - } - - close_object (objects_list); - } - return (XIM)im; -} - -typedef Bool (*dynamicRegisterCBProcp)( - XLCd, Display *, XrmDatabase, char *, char *, XIDProc, XPointer); - -static Bool -_XDynamicRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data) -{ - char lc_dir[BUFSIZE]; - char *lc_name; - dynamicRegisterCBProcp im_registerIM = (dynamicRegisterCBProcp)NULL; - Bool ret_flag = False; - int count; - XI18NObjectsList objects_list = xi18n_objects_list; -#if defined(hpux) - int getsyms_cnt, i; - struct shl_symbol *symbols; -#endif - - lc_name = lcd->core->name; - - if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False; - - count = lc_count; - for (; count-- > 0; objects_list++) { - if (objects_list->type != XIM_OBJECT || - strcmp(objects_list->locale_name, lc_name)) continue; - - if (!open_object (objects_list, lc_dir)) - continue; - im_registerIM = (dynamicRegisterCBProcp)fetch_symbol(objects_list, - objects_list->im_register); - if (!im_registerIM) continue; - ret_flag = (*im_registerIM)(lcd, display, rdb, - res_name, res_class, - callback, client_data); - if (ret_flag) break; - - close_object (objects_list); - } - return (Bool)ret_flag; -} - -typedef Bool (*dynamicUnregisterProcp)( - XLCd, Display *, XrmDatabase, char *, char *, XIDProc, XPointer); - -static Bool -_XDynamicUnRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data) -{ - char lc_dir[BUFSIZE]; - char *lc_name; - dynamicUnregisterProcp im_unregisterIM = (dynamicUnregisterProcp)NULL; - Bool ret_flag = False; - int count; - XI18NObjectsList objects_list = xi18n_objects_list; -#if defined(hpux) - int getsyms_cnt, i; - struct shl_symbol *symbols; -#endif - - lc_name = lcd->core->name; - if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False; - - count = lc_count; - for (; count-- > 0; objects_list++) { - if (objects_list->type != XIM_OBJECT || - strcmp(objects_list->locale_name, lc_name)) continue; - - if (!objects_list->refcount) /* Must already be opened */ - continue; - - im_unregisterIM = (dynamicUnregisterProcp)fetch_symbol(objects_list, - objects_list->im_unregister); - - if (!im_unregisterIM) continue; - ret_flag = (*im_unregisterIM)(lcd, display, rdb, - res_name, res_class, - callback, client_data); - if (ret_flag) { - close_object (objects_list); /* opened in RegisterIMInstantiateCallback */ - break; - } - } - return (Bool)ret_flag; -} - -Bool -_XInitDynamicIM(XLCd lcd) -{ - if(lcd == (XLCd)NULL) - return False; - lcd->methods->open_im = _XDynamicOpenIM; - lcd->methods->register_callback = _XDynamicRegisterIMInstantiateCallback; - lcd->methods->unregister_callback = _XDynamicUnRegisterIMInstantiateCallback; - return True; -} - - -typedef XOM (*dynamicIOpenProcp)( - XLCd, Display *, XrmDatabase, _Xconst char *, _Xconst char *); - -static XOM -_XDynamicOpenOM(XLCd lcd, Display *display, XrmDatabase rdb, - _Xconst char *res_name, _Xconst char *res_class) -{ - XOM om = (XOM)NULL; - int count; - char lc_dir[BUFSIZE]; - char *lc_name; - dynamicIOpenProcp om_openOM = (dynamicIOpenProcp)NULL; - XI18NObjectsList objects_list = xi18n_objects_list; -#if defined(hpux) - int getsyms_cnt, i; - struct shl_symbol *symbols; -#endif - - lc_name = lcd->core->name; - - if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XOM)0; - - count = lc_count; - for (; count-- > 0; objects_list++) { - if (objects_list->type != XOM_OBJECT || - strcmp(objects_list->locale_name, lc_name)) continue; - if (!open_object (objects_list, lc_dir)) - continue; - - om_openOM = (dynamicIOpenProcp)fetch_symbol(objects_list, objects_list->open); - if (!om_openOM) continue; - om = (*om_openOM)(lcd, display, rdb, res_name, res_class); - if (om != (XOM)NULL) { - break; - } - close_object(objects_list); - } - return (XOM)om; -} - -Bool -_XInitDynamicOM(XLCd lcd) -{ - if(lcd == (XLCd)NULL) - return False; - - lcd->methods->open_om = _XDynamicOpenOM; - - return True; -} +/*
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions: The above copyright notice and this
+permission notice shall be included in all copies or substantial
+portions of the Software.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
+EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+X Window System is a trademark of The Open Group
+
+OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
+logo, LBX, X Window System, and Xinerama are trademarks of the Open
+Group. All other trademarks and registered trademarks mentioned herein
+are the property of their respective owners. No right, title or
+interest in or to any trademark, service mark, logo or trade name of
+Sun Microsystems, Inc. or its licensors is granted.
+
+*/
+/*
+ * Copyright 2000 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#else
+# if defined(hpux)
+# define HAVE_DL_H
+# else
+# define HAVE_DLFCN_H
+# endif
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_DL_H
+#include <dl.h>
+#endif
+
+#ifdef HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <ctype.h>
+
+#include "Xlibint.h"
+#include "XlcPublic.h"
+#include "XlcPubI.h"
+
+#if defined(_LP64) && defined(__sparcv9)
+# define _MACH64_NAME "sparcv9"
+#else
+# undef _MACH64_NAME
+#endif /* defined(_LP64) && defined(__sparcv9) */
+
+#ifdef _MACH64_NAME
+# define _MACH64_NAME_LEN (sizeof (_MACH64_NAME) - 1)
+#endif
+
+#define XI18N_DLREL 2
+
+#define iscomment(ch) ((ch) == '\0' || (ch) == '#')
+
+typedef enum {
+ XLC_OBJECT,
+ XIM_OBJECT,
+ XOM_OBJECT
+} XI18NDLType;
+
+typedef struct {
+ XI18NDLType type;
+ int locale_name_len;
+ char *locale_name;
+ char *dl_name;
+ char *open;
+ char *im_register;
+ char *im_unregister;
+ int dl_release;
+ unsigned int refcount;
+#if defined(hpux)
+ shl_t dl_module;
+#else
+ void *dl_module;
+#endif
+} XI18NObjectsListRec, *XI18NObjectsList;
+
+#define OBJECT_INIT_LEN 8
+#define OBJECT_INC_LEN 4
+static int lc_len = 0;
+static XI18NObjectsListRec *xi18n_objects_list = NULL;
+static int lc_count = 0;
+
+static int
+parse_line(char *line, char **argv, int argsize)
+{
+ int argc = 0;
+ char *p = line;
+
+ while (argc < argsize) {
+ while (isspace(*p)) {
+ ++p;
+ }
+ if (iscomment(*p)){
+ break;
+ }
+ argv[argc++] = p;
+ while (!isspace(*p)) {
+ ++p;
+ }
+ if (iscomment(*p)) {
+ break;
+ }
+ *p++ = '\0';
+ }
+ return argc;
+}
+
+static char *
+strdup_with_underscore(const char *symbol)
+{
+ char *result;
+
+ if ((result = malloc(strlen(symbol) + 2)) == NULL)
+ return NULL;
+ result[0] = '_';
+ strcpy(result + 1, symbol);
+ return result;
+}
+
+#ifndef hpux
+static void *
+try_both_dlsym (void *handle, char *name)
+{
+ void *ret;
+
+ ret = dlsym (handle, name);
+ if (!ret)
+ {
+ name = strdup_with_underscore (name);
+ if (name)
+ {
+ ret = dlsym (handle, name);
+ free (name);
+ }
+ }
+ return ret;
+}
+#endif
+
+static void
+resolve_object(char *path, const char *lc_name)
+{
+ char filename[BUFSIZ];
+ FILE *fp;
+ char buf[BUFSIZ];
+
+ if (lc_len == 0) { /* True only for the 1st time */
+ lc_len = OBJECT_INIT_LEN;
+ xi18n_objects_list = (XI18NObjectsList)
+ Xmalloc(sizeof(XI18NObjectsListRec) * lc_len);
+ if (!xi18n_objects_list) return;
+ }
+/*
+1266793
+Limit the length of path to prevent stack buffer corruption.
+ sprintf(filename, "%s/%s", path, "XI18N_OBJS");
+*/
+ sprintf(filename, "%.*s/%s", BUFSIZ - 12, path, "XI18N_OBJS");
+ fp = fopen(filename, "r");
+ if (fp == (FILE *)NULL){
+ return;
+ }
+
+ while (fgets(buf, BUFSIZ, fp) != NULL){
+ char *p = buf;
+ int n;
+ char *args[6];
+ while (isspace(*p)){
+ ++p;
+ }
+ if (iscomment(*p)){
+ continue;
+ }
+
+ if (lc_count == lc_len) {
+ lc_len += OBJECT_INC_LEN;
+ xi18n_objects_list = (XI18NObjectsList)
+ Xrealloc(xi18n_objects_list,
+ sizeof(XI18NObjectsListRec) * lc_len);
+ if (!xi18n_objects_list) return;
+ }
+ n = parse_line(p, args, 6);
+
+ if (n == 3 || n == 5) {
+ if (!strcmp(args[0], "XLC")){
+ xi18n_objects_list[lc_count].type = XLC_OBJECT;
+ } else if (!strcmp(args[0], "XOM")){
+ xi18n_objects_list[lc_count].type = XOM_OBJECT;
+ } else if (!strcmp(args[0], "XIM")){
+ xi18n_objects_list[lc_count].type = XIM_OBJECT;
+ }
+ xi18n_objects_list[lc_count].dl_name = strdup(args[1]);
+ xi18n_objects_list[lc_count].open = strdup(args[2]);
+ xi18n_objects_list[lc_count].dl_release = XI18N_DLREL;
+ xi18n_objects_list[lc_count].locale_name = strdup(lc_name);
+ xi18n_objects_list[lc_count].refcount = 0;
+ xi18n_objects_list[lc_count].dl_module = (void*)NULL;
+ if (n == 5) {
+ xi18n_objects_list[lc_count].im_register = strdup(args[3]);
+ xi18n_objects_list[lc_count].im_unregister = strdup(args[4]);
+ } else {
+ xi18n_objects_list[lc_count].im_register = NULL;
+ xi18n_objects_list[lc_count].im_unregister = NULL;
+ }
+ lc_count++;
+ }
+ }
+ fclose(fp);
+}
+
+static char*
+__lc_path(const char *dl_name, const char *lc_dir)
+{
+ char *path;
+ size_t len;
+
+ /*
+ * reject this for possible security issue
+ */
+ if (strstr (dl_name, "../"))
+ return NULL;
+
+#if defined (_LP64) && defined (_MACH64_NAME)
+ len = (lc_dir ? strlen(lc_dir) : 0 ) +
+ (dl_name ? strlen(dl_name) : 0) + _MACH64_NAME_LEN + 10;
+ path = Xmalloc(len + 1);
+
+ if (strchr(dl_name, '/') != NULL) {
+ char *tmp = strdup(dl_name);
+ char *dl_dir, *dl_file;
+ char *slash_p;
+ slash_p = strchr(tmp, '/');
+ *slash_p = '\0';
+ dl_dir = tmp;
+ dl_file = ++slash_p;
+
+ slash_p = strrchr(lc_dir, '/');
+ *slash_p = '\0';
+ strcpy(path, lc_dir); strcat(path, "/");
+ strcat(path, dl_dir); strcat(path, "/");
+ strcat(path, _MACH64_NAME); strcat(path, "/");
+ strcat(path, dl_file); strcat(path, ".so.2");
+
+ *slash_p = '/';
+ Xfree(tmp);
+ } else {
+ strcpy(path, lc_dir); strcat(path, "/");
+ strcat(path, _MACH64_NAME); strcat(path, "/");
+ strcat(path, dl_name); strcat(path, ".so.2");
+ }
+#else
+ len = (lc_dir ? strlen(lc_dir) : 0 ) +
+ (dl_name ? strlen(dl_name) : 0) + 10;
+#if defined POSTLOCALELIBDIR
+ len += (strlen(POSTLOCALELIBDIR) + 1);
+#endif
+ path = Xmalloc(len + 1);
+
+ if (strchr(dl_name, '/') != NULL) {
+ char *slash_p;
+ slash_p = strrchr(lc_dir, '/');
+ *slash_p = '\0';
+ strcpy(path, lc_dir); strcat(path, "/");
+#if defined POSTLOCALELIBDIR
+ strcat(path, POSTLOCALELIBDIR); strcat(path, "/");
+#endif
+ strcat(path, dl_name); strcat(path, ".so.2");
+ *slash_p = '/';
+ } else {
+ strcpy(path, lc_dir); strcat(path, "/");
+#if defined POSTLOCALELIBDIR
+ strcat(path, POSTLOCALELIBDIR); strcat(path, "/");
+#endif
+ strcat(path, dl_name); strcat(path, ".so.2");
+ }
+#endif
+ return path;
+}
+
+/* We reference count dlopen() and dlclose() of modules; unfortunately,
+ * since XCloseIM, XCloseOM, XlcClose aren't wrapped, but directly
+ * call the close method of the object, we leak a reference count every
+ * time we open then close a module. Fixing this would require
+ * either creating proxy objects or hooks for close_im/close_om
+ * in XLCd
+ */
+static Bool
+open_object(
+ XI18NObjectsList object,
+ char *lc_dir)
+{
+ char *path;
+
+ if (object->refcount == 0) {
+ path = __lc_path(object->dl_name, lc_dir);
+ if (!path)
+ return False;
+#if defined(hpux)
+ object->dl_module = shl_load(path, BIND_DEFERRED, 0L);
+#else
+ object->dl_module = dlopen(path, RTLD_LAZY);
+#endif
+ Xfree(path);
+
+ if (!object->dl_module)
+ return False;
+ }
+
+ object->refcount++;
+ return True;
+}
+
+static void *
+fetch_symbol(
+ XI18NObjectsList object,
+ char *symbol)
+{
+ void *result = NULL;
+#if defined(hpux)
+ int getsyms_cnt, i;
+ struct shl_symbol *symbols;
+#endif
+
+ if (symbol == NULL)
+ return NULL;
+
+#if defined(hpux)
+ getsyms_cnt = shl_getsymbols(object->dl_module, TYPE_PROCEDURE,
+ EXPORT_SYMBOLS, malloc, &symbols);
+
+ for(i=0; i<getsyms_cnt; i++) {
+ if(!strcmp(symbols[i].name, symbol)) {
+ result = symbols[i].value;
+ break;
+ }
+ }
+
+ if(getsyms_cnt > 0) {
+ free(symbols);
+ }
+#else
+ result = try_both_dlsym(object->dl_module, symbol);
+#endif
+
+ return result;
+}
+
+static void
+close_object(XI18NObjectsList object)
+{
+ object->refcount--;
+ if (object->refcount == 0)
+ {
+#if defined(hpux)
+ shl_unload(object->dl_module);
+#else
+ dlclose(object->dl_module);
+#endif
+ object->dl_module = NULL;
+ }
+}
+
+
+typedef XLCd (*dynamicLoadProc)(const char *);
+
+XLCd
+_XlcDynamicLoad(const char *lc_name)
+{
+ XLCd lcd = (XLCd)NULL;
+ dynamicLoadProc lc_loader = (dynamicLoadProc)NULL;
+ int count;
+ XI18NObjectsList objects_list;
+ char lc_dir[BUFSIZE], lc_lib_dir[BUFSIZE];
+
+ if (lc_name == NULL) return (XLCd)NULL;
+
+ if (_XlcLocaleDirName(lc_dir, BUFSIZE, (char *)lc_name) == (char *)NULL)
+ return (XLCd)NULL;
+ if (_XlcLocaleLibDirName(lc_lib_dir, BUFSIZE, (char *)lc_name) == (char*)NULL)
+ return (XLCd)NULL;
+
+ resolve_object(lc_dir, lc_name);
+ resolve_object(lc_lib_dir, lc_name);
+
+ objects_list = xi18n_objects_list;
+ count = lc_count;
+ for (; count-- > 0; objects_list++) {
+ if (objects_list->type != XLC_OBJECT ||
+ strcmp(objects_list->locale_name, lc_name)) continue;
+ if (!open_object (objects_list, lc_dir) && \
+ !open_object (objects_list, lc_lib_dir))
+ continue;
+
+ lc_loader = (dynamicLoadProc)fetch_symbol (objects_list, objects_list->open);
+ if (!lc_loader) continue;
+ lcd = (*lc_loader)(lc_name);
+ if (lcd != (XLCd)NULL) {
+ break;
+ }
+
+ close_object (objects_list);
+ }
+ return (XLCd)lcd;
+}
+
+
+typedef XIM (*dynamicOpenProcp)(XLCd, Display *, XrmDatabase, char *, char *);
+
+static XIM
+_XDynamicOpenIM(XLCd lcd, Display *display, XrmDatabase rdb,
+ char *res_name, char *res_class)
+{
+ XIM im = (XIM)NULL;
+ char lc_dir[BUFSIZE];
+ char *lc_name;
+ dynamicOpenProcp im_openIM = (dynamicOpenProcp)NULL;
+ int count;
+ XI18NObjectsList objects_list = xi18n_objects_list;
+
+ lc_name = lcd->core->name;
+
+ if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XIM)0;
+
+ count = lc_count;
+ for (; count-- > 0; objects_list++) {
+ if (objects_list->type != XIM_OBJECT ||
+ strcmp(objects_list->locale_name, lc_name)) continue;
+
+ if (!open_object (objects_list, lc_dir))
+ continue;
+
+ im_openIM = (dynamicOpenProcp)fetch_symbol(objects_list, objects_list->open);
+ if (!im_openIM) continue;
+ im = (*im_openIM)(lcd, display, rdb, res_name, res_class);
+ if (im != (XIM)NULL) {
+ break;
+ }
+
+ close_object (objects_list);
+ }
+ return (XIM)im;
+}
+
+typedef Bool (*dynamicRegisterCBProcp)(
+ XLCd, Display *, XrmDatabase, char *, char *, XIDProc, XPointer);
+
+static Bool
+_XDynamicRegisterIMInstantiateCallback(
+ XLCd lcd,
+ Display *display,
+ XrmDatabase rdb,
+ char *res_name,
+ char *res_class,
+ XIDProc callback,
+ XPointer client_data)
+{
+ char lc_dir[BUFSIZE];
+ char *lc_name;
+ dynamicRegisterCBProcp im_registerIM = (dynamicRegisterCBProcp)NULL;
+ Bool ret_flag = False;
+ int count;
+ XI18NObjectsList objects_list = xi18n_objects_list;
+#if defined(hpux)
+ int getsyms_cnt, i;
+ struct shl_symbol *symbols;
+#endif
+
+ lc_name = lcd->core->name;
+
+ if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False;
+
+ count = lc_count;
+ for (; count-- > 0; objects_list++) {
+ if (objects_list->type != XIM_OBJECT ||
+ strcmp(objects_list->locale_name, lc_name)) continue;
+
+ if (!open_object (objects_list, lc_dir))
+ continue;
+ im_registerIM = (dynamicRegisterCBProcp)fetch_symbol(objects_list,
+ objects_list->im_register);
+ if (!im_registerIM) continue;
+ ret_flag = (*im_registerIM)(lcd, display, rdb,
+ res_name, res_class,
+ callback, client_data);
+ if (ret_flag) break;
+
+ close_object (objects_list);
+ }
+ return (Bool)ret_flag;
+}
+
+typedef Bool (*dynamicUnregisterProcp)(
+ XLCd, Display *, XrmDatabase, char *, char *, XIDProc, XPointer);
+
+static Bool
+_XDynamicUnRegisterIMInstantiateCallback(
+ XLCd lcd,
+ Display *display,
+ XrmDatabase rdb,
+ char *res_name,
+ char *res_class,
+ XIDProc callback,
+ XPointer client_data)
+{
+ char lc_dir[BUFSIZE];
+ char *lc_name;
+ dynamicUnregisterProcp im_unregisterIM = (dynamicUnregisterProcp)NULL;
+ Bool ret_flag = False;
+ int count;
+ XI18NObjectsList objects_list = xi18n_objects_list;
+#if defined(hpux)
+ int getsyms_cnt, i;
+ struct shl_symbol *symbols;
+#endif
+
+ lc_name = lcd->core->name;
+ if (_XlcLocaleDirName(lc_dir, BUFSIZE, lc_name) == NULL) return False;
+
+ count = lc_count;
+ for (; count-- > 0; objects_list++) {
+ if (objects_list->type != XIM_OBJECT ||
+ strcmp(objects_list->locale_name, lc_name)) continue;
+
+ if (!objects_list->refcount) /* Must already be opened */
+ continue;
+
+ im_unregisterIM = (dynamicUnregisterProcp)fetch_symbol(objects_list,
+ objects_list->im_unregister);
+
+ if (!im_unregisterIM) continue;
+ ret_flag = (*im_unregisterIM)(lcd, display, rdb,
+ res_name, res_class,
+ callback, client_data);
+ if (ret_flag) {
+ close_object (objects_list); /* opened in RegisterIMInstantiateCallback */
+ break;
+ }
+ }
+ return (Bool)ret_flag;
+}
+
+Bool
+_XInitDynamicIM(XLCd lcd)
+{
+ if(lcd == (XLCd)NULL)
+ return False;
+ lcd->methods->open_im = _XDynamicOpenIM;
+ lcd->methods->register_callback = _XDynamicRegisterIMInstantiateCallback;
+ lcd->methods->unregister_callback = _XDynamicUnRegisterIMInstantiateCallback;
+ return True;
+}
+
+
+typedef XOM (*dynamicIOpenProcp)(
+ XLCd, Display *, XrmDatabase, _Xconst char *, _Xconst char *);
+
+static XOM
+_XDynamicOpenOM(XLCd lcd, Display *display, XrmDatabase rdb,
+ _Xconst char *res_name, _Xconst char *res_class)
+{
+ XOM om = (XOM)NULL;
+ int count;
+ char lc_dir[BUFSIZE];
+ char *lc_name;
+ dynamicIOpenProcp om_openOM = (dynamicIOpenProcp)NULL;
+ XI18NObjectsList objects_list = xi18n_objects_list;
+#if defined(hpux)
+ int getsyms_cnt, i;
+ struct shl_symbol *symbols;
+#endif
+
+ lc_name = lcd->core->name;
+
+ if (_XlcLocaleLibDirName(lc_dir, BUFSIZE, lc_name) == NULL) return (XOM)0;
+
+ count = lc_count;
+ for (; count-- > 0; objects_list++) {
+ if (objects_list->type != XOM_OBJECT ||
+ strcmp(objects_list->locale_name, lc_name)) continue;
+ if (!open_object (objects_list, lc_dir))
+ continue;
+
+ om_openOM = (dynamicIOpenProcp)fetch_symbol(objects_list, objects_list->open);
+ if (!om_openOM) continue;
+ om = (*om_openOM)(lcd, display, rdb, res_name, res_class);
+ if (om != (XOM)NULL) {
+ break;
+ }
+ close_object(objects_list);
+ }
+ return (XOM)om;
+}
+
+Bool
+_XInitDynamicOM(XLCd lcd)
+{
+ if(lcd == (XLCd)NULL)
+ return False;
+
+ lcd->methods->open_om = _XDynamicOpenOM;
+
+ return True;
+}
diff --git a/libX11/src/xlibi18n/XlcSL.c b/libX11/src/xlibi18n/XlcSL.c index 526f677fb..abf018524 100644 --- a/libX11/src/xlibi18n/XlcSL.c +++ b/libX11/src/xlibi18n/XlcSL.c @@ -1,96 +1,96 @@ -/* -Copyright 1985, 1986, 1987, 1991, 1998 The Open Group - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: The above copyright notice and this -permission notice shall be included in all copies or substantial -portions of the Software. - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE -EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. - - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -X Window System is a trademark of The Open Group - -OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF -logo, LBX, X Window System, and Xinerama are trademarks of the Open -Group. All other trademarks and registered trademarks mentioned herein -are the property of their respective owners. No right, title or -interest in or to any trademark, service mark, logo or trade name of -Sun Microsystems, Inc. or its licensors is granted. - -*/ -/* - * Copyright 2000 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" -#include "Xlcint.h" - -extern XIM _XDefaultOpenIM( - XLCd, Display *, XrmDatabase, char *, char * - ); - -Bool -_XInitDefaultIM(lcd) -XLCd lcd; -{ - if(lcd == (XLCd)NULL) - return False; - - lcd->methods->open_im = _XDefaultOpenIM; - lcd->methods->register_callback = NULL; - lcd->methods->unregister_callback = NULL; - return True; -} - -extern XOM _XDefaultOpenOM( - XLCd, Display*, XrmDatabase, _Xconst char*, _Xconst char* - ); - -Bool -_XInitDefaultOM(lcd) - XLCd lcd; -{ - lcd->methods->open_om = _XDefaultOpenOM; - return True; -} +/*
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions: The above copyright notice and this
+permission notice shall be included in all copies or substantial
+portions of the Software.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
+EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+X Window System is a trademark of The Open Group
+
+OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
+logo, LBX, X Window System, and Xinerama are trademarks of the Open
+Group. All other trademarks and registered trademarks mentioned herein
+are the property of their respective owners. No right, title or
+interest in or to any trademark, service mark, logo or trade name of
+Sun Microsystems, Inc. or its licensors is granted.
+
+*/
+/*
+ * Copyright 2000 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+
+extern XIM _XDefaultOpenIM(
+ XLCd, Display *, XrmDatabase, char *, char *
+ );
+
+Bool
+_XInitDefaultIM(lcd)
+XLCd lcd;
+{
+ if(lcd == (XLCd)NULL)
+ return False;
+
+ lcd->methods->open_im = _XDefaultOpenIM;
+ lcd->methods->register_callback = NULL;
+ lcd->methods->unregister_callback = NULL;
+ return True;
+}
+
+extern XOM _XDefaultOpenOM(
+ XLCd, Display*, XrmDatabase, _Xconst char*, _Xconst char*
+ );
+
+Bool
+_XInitDefaultOM(lcd)
+ XLCd lcd;
+{
+ lcd->methods->open_om = _XDefaultOpenOM;
+ return True;
+}
diff --git a/libX11/src/xlibi18n/lcInit.c b/libX11/src/xlibi18n/lcInit.c index ee66b8c92..b9a602b4b 100644 --- a/libX11/src/xlibi18n/lcInit.c +++ b/libX11/src/xlibi18n/lcInit.c @@ -1,197 +1,197 @@ -/* -Copyright 1985, 1986, 1987, 1991, 1998 The Open Group - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: The above copyright notice and this -permission notice shall be included in all copies or substantial -portions of the Software. - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE -EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. - - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -X Window System is a trademark of The Open Group - -OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF -logo, LBX, X Window System, and Xinerama are trademarks of the Open -Group. All other trademarks and registered trademarks mentioned herein -are the property of their respective owners. No right, title or -interest in or to any trademark, service mark, logo or trade name of -Sun Microsystems, Inc. or its licensors is granted. - -*/ -/* - * Copyright 2000 Sun Microsystems, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/* - * Copyright 1992, 1993 by TOSHIBA Corp. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, provided - * that the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of TOSHIBA not be used in advertising - * or publicity pertaining to distribution of the software without specific, - * written prior permission. TOSHIBA make no representations about the - * suitability of this software for any purpose. It is provided "as is" - * without express or implied warranty. - * - * TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING - * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL - * TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - * Author: Katsuhisa Yano TOSHIBA Corp. - * mopi@osa.ilab.toshiba.co.jp - */ -/* - * (c) Copyright 1995 FUJITSU LIMITED - * This is source code modified by FUJITSU LIMITED under the Joint - * Development Agreement for the CDE/Motif PST. - * - * Modifier: Masayoshi Shimamura FUJITSU LIMITED - * - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include "Xlibint.h" -#include "Xlcint.h" - -#ifdef USE_DYNAMIC_LC -#undef USE_DEFAULT_LOADER -#undef USE_GENERIC_LOADER -#undef USE_UTF8_LOADER -#else -#define USE_GENERIC_LOADER -#define USE_DEFAULT_LOADER -#define USE_UTF8_LOADER -#ifdef X_LOCALE -# define USE_EUC_LOADER -# define USE_SJIS_LOADER -# define USE_JIS_LOADER -#endif -#endif - -/* - * The _XlcInitLoader function initializes the locale object loader list - * with vendor specific manner. - */ - -void -_XlcInitLoader(void) -{ - -#ifdef USE_DYNAMIC_LC - _XlcAddLoader(_XlcDynamicLoad, XlcHead); -#else /* USE_DYNAMIC_LC */ - -#ifdef USE_GENERIC_LOADER - _XlcAddLoader(_XlcGenericLoader, XlcHead); -#endif - -#ifdef USE_DEFAULT_LOADER - _XlcAddLoader(_XlcDefaultLoader, XlcHead); -#endif - -#ifdef USE_UTF8_LOADER - _XlcAddLoader(_XlcUtf8Loader, XlcHead); -#endif - -#ifdef USE_EUC_LOADER - _XlcAddLoader(_XlcEucLoader, XlcHead); -#endif - -#ifdef USE_SJIS_LOADER - _XlcAddLoader(_XlcSjisLoader, XlcHead); -#endif - -#ifdef USE_JIS_LOADER - _XlcAddLoader(_XlcJisLoader, XlcHead); -#endif - -#ifdef USE_DYNAMIC_LOADER - _XlcAddLoader(_XlcDynamicLoader, XlcHead); -#endif - -#endif /* USE_DYNAMIC_LC */ -} - -void -_XlcDeInitLoader(void) -{ - -#ifdef USE_DYNAMIC_LC - _XlcRemoveLoader(_XlcDynamicLoad); -#else /* USE_DYNAMIC_LC */ - -#ifdef USE_GENERIC_LOADER - _XlcRemoveLoader(_XlcGenericLoader); -#endif - -#ifdef USE_DEFAULT_LOADER - _XlcRemoveLoader(_XlcDefaultLoader); -#endif - -#ifdef USE_UTF8_LOADER - _XlcRemoveLoader(_XlcUtf8Loader); -#endif - -#ifdef USE_EUC_LOADER - _XlcRemoveLoader(_XlcEucLoader); -#endif - -#ifdef USE_SJIS_LOADER - _XlcRemoveLoader(_XlcSjisLoader); -#endif - -#ifdef USE_JIS_LOADER - _XlcRemoveLoader(_XlcJisLoader); -#endif - -#ifdef USE_DYNAMIC_LOADER - _XlcRemoveLoader(_XlcDynamicLoader); -#endif - -#endif /* USE_DYNAMIC_LC */ -} +/*
+Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions: The above copyright notice and this
+permission notice shall be included in all copies or substantial
+portions of the Software.
+
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
+EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+X Window System is a trademark of The Open Group
+
+OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
+logo, LBX, X Window System, and Xinerama are trademarks of the Open
+Group. All other trademarks and registered trademarks mentioned herein
+are the property of their respective owners. No right, title or
+interest in or to any trademark, service mark, logo or trade name of
+Sun Microsystems, Inc. or its licensors is granted.
+
+*/
+/*
+ * Copyright 2000 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Copyright 1992, 1993 by TOSHIBA Corp.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of TOSHIBA not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. TOSHIBA make no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ * TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
+ *
+ * Author: Katsuhisa Yano TOSHIBA Corp.
+ * mopi@osa.ilab.toshiba.co.jp
+ */
+/*
+ * (c) Copyright 1995 FUJITSU LIMITED
+ * This is source code modified by FUJITSU LIMITED under the Joint
+ * Development Agreement for the CDE/Motif PST.
+ *
+ * Modifier: Masayoshi Shimamura FUJITSU LIMITED
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+
+#ifdef USE_DYNAMIC_LC
+#undef USE_DEFAULT_LOADER
+#undef USE_GENERIC_LOADER
+#undef USE_UTF8_LOADER
+#else
+#define USE_GENERIC_LOADER
+#define USE_DEFAULT_LOADER
+#define USE_UTF8_LOADER
+#ifdef X_LOCALE
+# define USE_EUC_LOADER
+# define USE_SJIS_LOADER
+# define USE_JIS_LOADER
+#endif
+#endif
+
+/*
+ * The _XlcInitLoader function initializes the locale object loader list
+ * with vendor specific manner.
+ */
+
+void
+_XlcInitLoader(void)
+{
+
+#ifdef USE_DYNAMIC_LC
+ _XlcAddLoader(_XlcDynamicLoad, XlcHead);
+#else /* USE_DYNAMIC_LC */
+
+#ifdef USE_GENERIC_LOADER
+ _XlcAddLoader(_XlcGenericLoader, XlcHead);
+#endif
+
+#ifdef USE_DEFAULT_LOADER
+ _XlcAddLoader(_XlcDefaultLoader, XlcHead);
+#endif
+
+#ifdef USE_UTF8_LOADER
+ _XlcAddLoader(_XlcUtf8Loader, XlcHead);
+#endif
+
+#ifdef USE_EUC_LOADER
+ _XlcAddLoader(_XlcEucLoader, XlcHead);
+#endif
+
+#ifdef USE_SJIS_LOADER
+ _XlcAddLoader(_XlcSjisLoader, XlcHead);
+#endif
+
+#ifdef USE_JIS_LOADER
+ _XlcAddLoader(_XlcJisLoader, XlcHead);
+#endif
+
+#ifdef USE_DYNAMIC_LOADER
+ _XlcAddLoader(_XlcDynamicLoader, XlcHead);
+#endif
+
+#endif /* USE_DYNAMIC_LC */
+}
+
+void
+_XlcDeInitLoader(void)
+{
+
+#ifdef USE_DYNAMIC_LC
+ _XlcRemoveLoader(_XlcDynamicLoad);
+#else /* USE_DYNAMIC_LC */
+
+#ifdef USE_GENERIC_LOADER
+ _XlcRemoveLoader(_XlcGenericLoader);
+#endif
+
+#ifdef USE_DEFAULT_LOADER
+ _XlcRemoveLoader(_XlcDefaultLoader);
+#endif
+
+#ifdef USE_UTF8_LOADER
+ _XlcRemoveLoader(_XlcUtf8Loader);
+#endif
+
+#ifdef USE_EUC_LOADER
+ _XlcRemoveLoader(_XlcEucLoader);
+#endif
+
+#ifdef USE_SJIS_LOADER
+ _XlcRemoveLoader(_XlcSjisLoader);
+#endif
+
+#ifdef USE_JIS_LOADER
+ _XlcRemoveLoader(_XlcJisLoader);
+#endif
+
+#ifdef USE_DYNAMIC_LOADER
+ _XlcRemoveLoader(_XlcDynamicLoader);
+#endif
+
+#endif /* USE_DYNAMIC_LC */
+}
|