add a new build switch 'XENOCARA_USE_XKEYBOARD_CONFIG' to enable

the use of xkeyboard-config xkb definitions instead of the old xkbdata.
This will make testing easier. No changes in default builds.
ok shadchin@
This commit is contained in:
matthieu 2011-03-08 07:59:23 +00:00
parent 498fbf2348
commit 2cc47a1202
13 changed files with 138 additions and 59 deletions

View File

@ -24,7 +24,8 @@ bin_PROGRAMS = setxkbmap
XKBCONFIGROOT=@XKBCONFIGROOT@
AM_CFLAGS = $(CWARNFLAGS) $(SETXKBMAP_CFLAGS) \
-DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\"
-DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\" \
-DDFLT_XKB_RULES_FILE=\"$(XKBDEFAULTRULES)\"
setxkbmap_LDADD = $(SETXKBMAP_LIBS)
setxkbmap_SOURCES = \

View File

@ -1,5 +1,12 @@
# $OpenBSD: Makefile.bsd-wrapper,v 1.3 2007/01/01 17:10:08 matthieu Exp $
# $OpenBSD: Makefile.bsd-wrapper,v 1.4 2011/03/08 07:59:23 matthieu Exp $
.include <bsd.xconf.mk>
CONFIGURE_ARGS= --with-xkb-config-root=$(X11ETC)/xkb
.if ${XENOCARA_USE_XKEYBOARD_CONFIG:L} == "yes"
CONFIGURE_ARGS= --with-xkb-config-root=${X11BASE}/share/X11/xkb \
--with-xkb-default-rules=base
.else
CONFIGURE_ARGS= --with-xkb-config-root=$(X11ETC)/xkb \
--with-xkb-default-rules=xorg
.endif
.include <bsd.xorg.mk>

View File

@ -182,6 +182,7 @@ SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
XKBCONFIGROOT = @XKBCONFIGROOT@
XKBDEFAULTRULES = @XKBDEFAULTRULES@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
ac_ct_CC = @ac_ct_CC@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -227,7 +228,8 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AM_CFLAGS = $(CWARNFLAGS) $(SETXKBMAP_CFLAGS) \
-DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\"
-DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\" \
-DDFLT_XKB_RULES_FILE=\"$(XKBDEFAULTRULES)\"
setxkbmap_LDADD = $(SETXKBMAP_LIBS)
setxkbmap_SOURCES = \

View File

@ -997,7 +997,7 @@ AC_SUBST([am__untar])
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
@ -1034,7 +1034,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what
# version you require.
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.10.0])
m4_define([vers_have], [1.11.0])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,,
@ -1185,6 +1185,7 @@ MAN_SUBSTS="\
-e 's|__xservername__|Xorg|g' \
-e 's|__xconfigfile__|xorg.conf|g' \
-e 's|__projectroot__|\$(prefix)|g' \
-e 's|__apploaddir__|\$(appdefaultdir)|g' \
-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
@ -1342,15 +1343,17 @@ AC_SUBST(MAKE_PDF)
AC_SUBST(MAKE_HTML)
]) # XORG_CHECK_DOCBOOK
# XORG_WITH_XMLTO([MIN-VERSION])
# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
# ----------------
# Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-xmlto option, it allows maximum flexibilty in making decisions
# as whether or not to use the xmlto package.
# as whether or not to use the xmlto package. When DEFAULT is not specified,
# --with-xmlto assumes 'auto'.
#
# Interface to module:
# HAVE_XMLTO: used in makefiles to conditionally generate documentation
@ -1367,10 +1370,12 @@ AC_SUBST(MAKE_HTML)
#
AC_DEFUN([XORG_WITH_XMLTO],[
AC_ARG_VAR([XMLTO], [Path to xmlto command])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(xmlto,
AS_HELP_STRING([--with-xmlto],
[Use xmlto to regenerate documentation (default: yes, if installed)]),
[use_xmlto=$withval], [use_xmlto=auto])
[Use xmlto to regenerate documentation (default: ]_defopt[)]),
[use_xmlto=$withval], [use_xmlto=]_defopt)
m4_undefine([_defopt])
if test "x$use_xmlto" = x"auto"; then
AC_PATH_PROG([XMLTO], [xmlto])
@ -1424,15 +1429,17 @@ AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
]) # XORG_WITH_XMLTO
# XORG_WITH_ASCIIDOC([MIN-VERSION])
# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
# ----------------
# Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-asciidoc option, it allows maximum flexibilty in making decisions
# as whether or not to use the asciidoc package.
# as whether or not to use the asciidoc package. When DEFAULT is not specified,
# --with-asciidoc assumes 'auto'.
#
# Interface to module:
# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
@ -1445,10 +1452,12 @@ AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
#
AC_DEFUN([XORG_WITH_ASCIIDOC],[
AC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(asciidoc,
AS_HELP_STRING([--with-asciidoc],
[Use asciidoc to regenerate documentation (default: yes, if installed)]),
[use_asciidoc=$withval], [use_asciidoc=auto])
[Use asciidoc to regenerate documentation (default: ]_defopt[)]),
[use_asciidoc=$withval], [use_asciidoc=]_defopt)
m4_undefine([_defopt])
if test "x$use_asciidoc" = x"auto"; then
AC_PATH_PROG([ASCIIDOC], [asciidoc])
@ -1489,15 +1498,17 @@ fi])
AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
]) # XORG_WITH_ASCIIDOC
# XORG_WITH_DOXYGEN([MIN-VERSION])
# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
# --------------------------------
# Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-doxygen option, it allows maximum flexibilty in making decisions
# as whether or not to use the doxygen package.
# as whether or not to use the doxygen package. When DEFAULT is not specified,
# --with-doxygen assumes 'auto'.
#
# Interface to module:
# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
@ -1510,10 +1521,12 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
#
AC_DEFUN([XORG_WITH_DOXYGEN],[
AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(doxygen,
AS_HELP_STRING([--with-doxygen],
[Use doxygen to regenerate documentation (default: yes, if installed)]),
[use_doxygen=$withval], [use_doxygen=auto])
[Use doxygen to regenerate documentation (default: ]_defopt[)]),
[use_doxygen=$withval], [use_doxygen=]_defopt)
m4_undefine([_defopt])
if test "x$use_doxygen" = x"auto"; then
AC_PATH_PROG([DOXYGEN], [doxygen])
@ -1554,15 +1567,17 @@ fi])
AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
]) # XORG_WITH_DOXYGEN
# XORG_WITH_GROFF
# XORG_WITH_GROFF([DEFAULT])
# ----------------
# Minimum version: 1.6.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-groff option, it allows maximum flexibilty in making decisions
# as whether or not to use the groff package.
# as whether or not to use the groff package. When DEFAULT is not specified,
# --with-groff assumes 'auto'.
#
# Interface to module:
# HAVE_GROFF: used in makefiles to conditionally generate documentation
@ -1591,10 +1606,12 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
#
AC_DEFUN([XORG_WITH_GROFF],[
AC_ARG_VAR([GROFF], [Path to groff command])
m4_define([_defopt], m4_default([$1], [auto]))
AC_ARG_WITH(groff,
AS_HELP_STRING([--with-groff],
[Use groff to regenerate documentation (default: yes, if installed)]),
[use_groff=$withval], [use_groff=auto])
[Use groff to regenerate documentation (default: ]_defopt[)]),
[use_groff=$withval], [use_groff=]_defopt)
m4_undefine([_defopt])
if test "x$use_groff" = x"auto"; then
AC_PATH_PROG([GROFF], [groff])
@ -1657,15 +1674,17 @@ AM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
]) # XORG_WITH_GROFF
# XORG_WITH_FOP
# XORG_WITH_FOP([DEFAULT])
# ----------------
# Minimum version: 1.6.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-fop option, it allows maximum flexibilty in making decisions
# as whether or not to use the fop package.
# as whether or not to use the fop package. When DEFAULT is not specified,
# --with-fop assumes 'auto'.
#
# Interface to module:
# HAVE_FOP: used in makefiles to conditionally generate documentation
@ -1678,10 +1697,12 @@ AM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
#
AC_DEFUN([XORG_WITH_FOP],[
AC_ARG_VAR([FOP], [Path to fop command])
m4_define([_defopt], m4_default([$1], [auto]))
AC_ARG_WITH(fop,
AS_HELP_STRING([--with-fop],
[Use fop to regenerate documentation (default: yes, if installed)]),
[use_fop=$withval], [use_fop=auto])
[Use fop to regenerate documentation (default: ]_defopt[)]),
[use_fop=$withval], [use_fop=]_defopt)
m4_undefine([_defopt])
if test "x$use_fop" = x"auto"; then
AC_PATH_PROG([FOP], [fop])
@ -1708,15 +1729,17 @@ fi
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
]) # XORG_WITH_FOP
# XORG_WITH_PS2PDF
# XORG_WITH_PS2PDF([DEFAULT])
# ----------------
# Minimum version: 1.6.0
# Minimum version for optional DEFAULT argument: 1.11.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
# presence of the tool and obtain it's path in separate variables. Coupled with
# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
# as whether or not to use the ps2pdf package.
# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
# --with-ps2pdf assumes 'auto'.
#
# Interface to module:
# HAVE_PS2PDF: used in makefiles to conditionally generate documentation
@ -1729,10 +1752,12 @@ AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
#
AC_DEFUN([XORG_WITH_PS2PDF],[
AC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
m4_define([_defopt], m4_default([$1], [auto]))
AC_ARG_WITH(ps2pdf,
AS_HELP_STRING([--with-ps2pdf],
[Use ps2pdf to regenerate documentation (default: yes, if installed)]),
[use_ps2pdf=$withval], [use_ps2pdf=auto])
[Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
[use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
m4_undefine([_defopt])
if test "x$use_ps2pdf" = x"auto"; then
AC_PATH_PROG([PS2PDF], [ps2pdf])
@ -1783,14 +1808,12 @@ AM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
# parm1: specify the default value, yes or no.
#
AC_DEFUN([XORG_ENABLE_DOCS],[
default=$1
if test "x$default" = x ; then
default="yes"
fi
m4_define([default], m4_default([$1], [yes]))
AC_ARG_ENABLE(docs,
AS_HELP_STRING([--enable-docs],
[Enable building the documentation (default: yes)]),
[build_docs=$enableval], [build_docs=$default])
[Enable building the documentation (default: ]default[)]),
[build_docs=$enableval], [build_docs=]default)
m4_undefine([default])
AM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
AC_MSG_CHECKING([whether to build documentation])
AC_MSG_RESULT([$build_docs])
@ -1818,14 +1841,12 @@ AC_MSG_RESULT([$build_docs])
# parm1: specify the default value, yes or no.
#
AC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
devel_default=$1
if test "x$devel_default" = x ; then
devel_default="yes"
fi
m4_define([devel_default], m4_default([$1], [yes]))
AC_ARG_ENABLE(devel-docs,
AS_HELP_STRING([--enable-devel-docs],
[Enable building the developer documentation (default: yes)]),
[build_devel_docs=$enableval], [build_devel_docs=$devel_default])
[Enable building the developer documentation (default: ]devel_default[)]),
[build_devel_docs=$enableval], [build_devel_docs=]devel_default)
m4_undefine([devel_default])
AM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
AC_MSG_CHECKING([whether to build developer documentation])
AC_MSG_RESULT([$build_devel_docs])
@ -1853,14 +1874,12 @@ AC_MSG_RESULT([$build_devel_docs])
# parm1: specify the default value, yes or no.
#
AC_DEFUN([XORG_ENABLE_SPECS],[
spec_default=$1
if test "x$spec_default" = x ; then
spec_default="yes"
fi
m4_define([spec_default], m4_default([$1], [yes]))
AC_ARG_ENABLE(specs,
AS_HELP_STRING([--enable-specs],
[Enable building the specs (default: yes)]),
[build_specs=$enableval], [build_specs=$spec_default])
[Enable building the specs (default: ]spec_default[)]),
[build_specs=$enableval], [build_specs=]spec_default)
m4_undefine([spec_default])
AM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
AC_MSG_CHECKING([whether to build functional specifications])
AC_MSG_RESULT([$build_specs])

View File

@ -745,6 +745,7 @@ XORG_MAN_PAGE
MAN_SUBSTS
AM_DEFAULT_VERBOSITY
XKBCONFIGROOT
XKBDEFAULTRULES
SETXKBMAP_CFLAGS
SETXKBMAP_LIBS
LINT
@ -760,6 +761,7 @@ enable_maintainer_mode
enable_dependency_tracking
enable_strict_compilation
with_xkb_config_root
with_xkb_default_rules
with_lint
'
ac_precious_vars='build_alias
@ -1420,6 +1422,8 @@ Optional Packages:
--with-xkb-config-root=<paths>
Set default XKB config root (default:
${datadir}/X11/xkb)
--with-xkb-default-rules=<rules>
Set default XKB rules (default: xorg)
--with-lint Use a lint-style source code checker (default:
disabled)
@ -4899,6 +4903,7 @@ MAN_SUBSTS="\
-e 's|__xservername__|Xorg|g' \
-e 's|__xconfigfile__|xorg.conf|g' \
-e 's|__projectroot__|\$(prefix)|g' \
-e 's|__apploaddir__|\$(appdefaultdir)|g' \
-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
@ -4922,6 +4927,16 @@ fi
# Check whether --with-xkb-default-rules was given.
if test "${with_xkb_default_rules+set}" = set; then
withval=$with_xkb_default_rules; XKBDEFAULTRULES="$withval"
else
XKBDEFAULTRULES=xorg
fi
# Checks for pkg-config packages
pkg_failed=no

View File

@ -45,6 +45,13 @@ AC_ARG_WITH(xkb-config-root,
[XKBCONFIGROOT=${datadir}/X11/xkb])
AC_SUBST([XKBCONFIGROOT])
AC_ARG_WITH(xkb-default-rules,
AC_HELP_STRING([--with-xkb-default-rules=<rules>],
[Set default XKB rules (default: xorg)]),
[XKBDEFAULTRULES="$withval"],
[XKBDEFAULTRULES=xorg])
AC_SUBST([XKBDEFAULTRULES])
# Checks for pkg-config packages
PKG_CHECK_MODULES(SETXKBMAP, xkbfile x11)

View File

@ -1,5 +1,8 @@
# $OpenBSD: Makefile.bsd-wrapper,v 1.3 2006/11/28 19:06:59 matthieu Exp $
# $OpenBSD: Makefile.bsd-wrapper,v 1.4 2011/03/08 07:59:23 matthieu Exp $
.include <bsd.xconf.mk>
.if defined(XENOCARA_USE_XKEYBOARD_CONFIG) && ${XENOCARA_USE_XKEYBOARD_CONFIG:L} != "yes"
CONFIGURE_ARGS= --datadir=/etc
.endif
.include <bsd.xorg.mk>

View File

@ -1,7 +1,13 @@
# $OpenBSD: Makefile,v 1.4 2007/04/04 22:30:55 david Exp $
# $OpenBSD: Makefile,v 1.5 2011/03/08 07:59:23 matthieu Exp $
# bitmaps needed for building apps, so has to be done separately first
.include <bsd.xconf.mk>
.if ${XENOCARA_USE_XKEYBOARD_CONFIG:L} == "yes"
SUBDIR= xkeyboard-config
.else
SUBDIR= xkbdata
.endif
build: _SUBDIRUSE

View File

@ -83,7 +83,7 @@ static const char *kbdDefaults[] = {
#else
"Protocol", "standard",
#endif
"XkbRules", "xorg",
"XkbRules", XKB_DFLT_RULES,
"XkbModel", "pc105",
"CustomKeycodes", "off",
NULL

View File

@ -1,13 +1,21 @@
# $OpenBSD: Makefile.bsd-wrapper,v 1.7 2011/01/02 14:23:40 matthieu Exp $
# $OpenBSD: Makefile.bsd-wrapper,v 1.8 2011/03/08 07:59:23 matthieu Exp $
.include <bsd.xconf.mk>
_SRCDIR= ${.CURDIR}/../xserver
.if ${XENOCARA_USE_XKEYBOARD_CONFIG:L} == "yes"
XKB_PATH= ${X11BASE}/share/X11/xkb
XKB_RULES= base
.else
XKB_PATH= /etc/X11/xkb
XKB_RULES= xorg
.endif
CONFIGURE_ARGS= --localstatedir=/var --sysconfdir=/etc/X11 \
--with-xkb-path=/etc/X11/xkb \
--with-xkb-path=${XKB_PATH} \
--with-xkb-output=/var/db/xkb \
--with-default-xkb-rules=xorg \
--with-default-xkb-rules=${XKB_RULES} \
--with-dri-driver-path=${LIBDIR}/modules/dri \
--enable-dri \
--disable-xorg \

View File

@ -1,4 +1,4 @@
# $OpenBSD: bsd.xconf.mk,v 1.16 2010/11/27 14:20:47 matthieu Exp $
# $OpenBSD: bsd.xconf.mk,v 1.17 2011/03/08 07:59:23 matthieu Exp $
# Shared libs?
.if ${MACHINE_ARCH} == "m88k" || ${MACHINE} == "vax"
@ -20,3 +20,6 @@ XENOCARA_BUILD_PIXMAN?=no
.else
XENOCARA_BUILD_PIXMAN?=yes
.endif
# Build xkeyboard-config?
XENOCARA_USE_XKEYBOARD_CONFIG?=no

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile.bsd-wrapper,v 1.34 2011/02/20 13:42:17 matthieu Exp $
# $OpenBSD: Makefile.bsd-wrapper,v 1.35 2011/03/08 07:59:23 matthieu Exp $
.include <bsd.xconf.mk>
@ -31,10 +31,18 @@ DRI_OPTION= --enable-dri --enable-dri2 \
DRI_OPTION= --disable-dri --disable-dri2
.endif
.if ${XENOCARA_USE_XKEYBOARD_CONFIG:L} == "yes"
XKB_PATH= ${X11BASE}/share/X11/xkb
XKB_RULES= base
.else
XKB_PATH= /etc/X11/xkb
XKB_RULES= xorg
.endif
CONFIGURE_ARGS= --localstatedir=/var --sysconfdir=/etc/X11 \
--with-xkb-path=/etc/X11/xkb \
--with-xkb-path=${XKB_PATH} \
--with-xkb-output=/var/db/xkb \
--with-default-xkb-rules=xorg \
--with-default-xkb-rules=${XKB_RULES} \
--with-module-dir=${LIBDIR}/modules ${GLX_OPTION} \
--enable-install-setuid --enable-privsep \
--disable-dmx ${NO_XORG_OPTION} ${NO_XF86_UTIL_OPTION} \

View File

@ -807,7 +807,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
const char *s;
XkbRMLVOSet set;
/* Default options. */
set.rules = "xorg";
set.rules = XKB_DFLT_RULES;
set.model = "pc105";
set.layout = "us";
set.variant = NULL;