summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/pfinet_dhcp.patch553
-rw-r--r--debian/patches/series3
-rw-r--r--debian/patches/xkb-compat.patch746
3 files changed, 0 insertions, 1302 deletions
diff --git a/debian/patches/pfinet_dhcp.patch b/debian/patches/pfinet_dhcp.patch
deleted file mode 100644
index 55674c96..00000000
--- a/debian/patches/pfinet_dhcp.patch
+++ /dev/null
@@ -1,553 +0,0 @@
-2007-10-14 Christian Dietrich <stettberger@dokucode.de>
-
- * options.c (options): Marked -a, -g -m, -p, -A, -G
- OPTION_ARG_OPTIONAL. Adding -d option.
- (parse_interface_copy_device): New function.
- (parse_opt): When selecting another interface with -i
- set the options from e.g. a prior fsysopts call as default
- values. For -a, -g, -p, -g, -A, -G set the optional
- argument as value. When there is no argument, delete the
- value (e.g. unset default gateway). Delete delete default gateways
- only if the set gateway is on an interface modified in this call.
- Add always an route for dhcp packages on all devices. By doing
- this we can send dhcp renew packages.
- (trivfs_append_args): Add --gateway only once.
-
-2007-10-14 Marco Gerards <metgerards@student.han.nl>
-
- * options.c (options): Add the option `dhcp'.
- (parse_hook_add_interface): Initialize the `dhcp' member for the
- parse hook.
- (parse_opt): In case pfinet is started with the argument `--dhcp',
- set the address to `0.0.0.0', the netmask to `255.0.0.0' and add
- the route for `0.0.0.0' so broadcasting works.
-
- * linux-src/net/ipv4/devinet.c (inet_insert_ifa) [_HURD_]: Don't
- fail when the address is `0.0.0.0'.
-
----
- pfinet/linux-src/net/ipv4/devinet.c | 2
- pfinet/options.c | 381 ++++++++++++++++++++++++++----------
- 2 files changed, 278 insertions(+), 105 deletions(-)
-
---- a/pfinet/options.c
-+++ b/pfinet/options.c
-@@ -60,23 +60,26 @@ extern struct inet6_dev *ipv6_find_idev
- extern int inet6_addr_add (int ifindex, struct in6_addr *pfx, int plen);
- extern int inet6_addr_del (int ifindex, struct in6_addr *pfx, int plen);
-
-+#ifdef CONFIG_IPV6
-+static struct rt6_info * ipv6_get_dflt_router (void);
-+#endif
-+
-
- /* Pfinet options. Used for both startup and runtime. */
- static const struct argp_option options[] =
- {
-- {"interface", 'i', "DEVICE", 0, "Network interface to use", 1},
-+ {"interface", 'i', "DEVICE", 0, "Network interface to use", 1},
- {0,0,0,0,"These apply to a given interface:", 2},
-- {"address", 'a', "ADDRESS", 0, "Set the network address"},
-- {"netmask", 'm', "MASK", 0, "Set the netmask"},
-- {"peer", 'p', "ADDRESS", 0, "Set the peer address"},
-- {"gateway", 'g', "ADDRESS", 0, "Set the default gateway"},
-- {"ipv4", '4', "NAME", 0, "Put active IPv4 translator on NAME"},
-+ {"address", 'a', "ADDRESS", OPTION_ARG_OPTIONAL, "Set the network address"},
-+ {"netmask", 'm', "MASK", OPTION_ARG_OPTIONAL, "Set the netmask"},
-+ {"peer", 'p', "ADDRESS", OPTION_ARG_OPTIONAL, "Set the peer address"},
-+ {"gateway", 'g', "ADDRESS", OPTION_ARG_OPTIONAL, "Set the default gateway"},
-+ {"ipv4", '4', "NAME", 0, "Put active IPv4 translator on NAME"},
- #ifdef CONFIG_IPV6
-- {"ipv6", '6', "NAME", 0, "Put active IPv6 translator on NAME"},
-- {"address6", 'A', "ADDR/LEN",0, "Set the global IPv6 address"},
-- {"gateway6", 'G', "ADDRESS", 0, "Set the IPv6 default gateway"},
-+ {"ipv6", '6', "NAME", 0, "Put active IPv6 translator on NAME"},
-+ {"address6", 'A', "ADDR/LEN", OPTION_ARG_OPTIONAL, "Set the global IPv6 address"},
-+ {"gateway6", 'G', "ADDRESS", OPTION_ARG_OPTIONAL, "Set the IPv6 default gateway"},
- #endif
-- {"shutdown", 's', 0, 0, "Shut it down"},
- {0}
- };
-
-@@ -112,6 +115,50 @@ struct parse_hook
- struct parse_interface *curint;
- };
-
-+static void
-+parse_interface_copy_device(struct device *src,
-+ struct parse_interface *dst)
-+{
-+ uint32_t broad;
-+ struct rt_key key = { 0 };
-+ struct inet6_dev *idev = NULL;
-+ struct fib_result res;
-+
-+ inquire_device (src, &dst->address, &dst->netmask,
-+ &dst->peer, &broad);
-+ /* Get gateway */
-+ dst->gateway = INADDR_NONE;
-+ key.oif = src->ifindex;
-+ if (! main_table->tb_lookup (main_table, &key, &res)
-+ && FIB_RES_GW(res) != INADDR_ANY)
-+ dst->gateway = FIB_RES_GW (res);
-+#ifdef CONFIG_IPV6
-+ if (trivfs_protid_portclasses[PORTCLASS_INET6] != MACH_PORT_NULL)
-+ idev = ipv6_find_idev(src);
-+
-+ if (idev)
-+ {
-+ struct inet6_ifaddr *ifa = idev->addr_list;
-+
-+ /* Look for IPv6 default router and add it to the interface,
-+ * if it belongs to it.
-+ */
-+ struct rt6_info *rt6i = ipv6_get_dflt_router();
-+ if (rt6i->rt6i_dev == src)
-+ memcpy (&dst->gateway6, &rt6i->rt6i_gateway, sizeof (struct in6_addr));
-+ /* Search for global address and set it in dst */
-+ do
-+ {
-+ if (!IN6_IS_ADDR_LINKLOCAL (&ifa->addr)) {
-+ memcpy (&dst->address6, ifa, sizeof (struct inet6_ifaddr));
-+ break;
-+ }
-+ }
-+ while ((ifa = ifa->if_next));
-+ }
-+#endif
-+}
-+
- /* Adds an empty interface slot to H, and sets H's current interface to it, or
- returns an error. */
- static error_t
-@@ -122,6 +169,7 @@ parse_hook_add_interface (struct parse_h
- (h->num_interfaces + 1) * sizeof (struct parse_interface));
- if (! new)
- return ENOMEM;
-+
- h->interfaces = new;
- h->num_interfaces++;
- h->curint = new + h->num_interfaces - 1;
-@@ -183,10 +231,16 @@ parse_opt (int opt, char *arg, struct ar
- if (addr == INADDR_NONE) PERR (EINVAL, "Malformed %s", type); \
- addr; })
-
-+ if (!arg && state->next < state->argc
-+ && (*state->argv[state->next] != '-'))
-+ {
-+ arg = state->argv[state->next];
-+ state->next ++;
-+ }
-+
- switch (opt)
- {
-- struct parse_interface *in;
-- uint32_t gateway;
-+ struct parse_interface *in, *gw4_in;
- #ifdef CONFIG_IPV6
- struct parse_interface *gw6_in;
- char *ptr;
-@@ -217,29 +271,59 @@ parse_opt (int opt, char *arg, struct ar
- if (err)
- FAIL (err, 10, err, "%s", arg);
-
-+ /* Set old interface values */
-+ parse_interface_copy_device (in->device, in);
- break;
-
- case 'a':
-- h->curint->address = ADDR (arg, "address");
-- if (!IN_CLASSA (ntohl (h->curint->address))
-- && !IN_CLASSB (ntohl (h->curint->address))
-- && !IN_CLASSC (ntohl (h->curint->address)))
-- {
-- if (IN_MULTICAST (ntohl (h->curint->address)))
-- FAIL (EINVAL, 1, 0,
-- "%s: Cannot set interface address to multicast address",
-- arg);
-- else
-- FAIL (EINVAL, 1, 0,
-- "%s: Illegal or undefined network address", arg);
-- }
-+ if (arg)
-+ {
-+ h->curint->address = ADDR (arg, "address");
-+ if (!IN_CLASSA (ntohl (h->curint->address))
-+ && !IN_CLASSB (ntohl (h->curint->address))
-+ && !IN_CLASSC (ntohl (h->curint->address)))
-+ {
-+ if (IN_MULTICAST (ntohl (h->curint->address)))
-+ FAIL (EINVAL, 1, 0,
-+ "%s: Cannot set interface address to multicast address",
-+ arg);
-+ else
-+ FAIL (EINVAL, 1, 0,
-+ "%s: Illegal or undefined network address", arg);
-+ }
-+ } else {
-+ h->curint->address = ADDR ("0.0.0.0", "address");
-+ h->curint->netmask = ADDR ("255.0.0.0", "netmask");
-+ h->curint->gateway = INADDR_NONE;
-+ }
- break;
-+
- case 'm':
-- h->curint->netmask = ADDR (arg, "netmask"); break;
-+ if (arg)
-+ h->curint->netmask = ADDR (arg, "netmask");
-+ else
-+ h->curint->netmask = INADDR_NONE;
-+ break;
-+
- case 'p':
-- h->curint->peer = ADDR (arg, "peer"); break;
-+ if (arg)
-+ h->curint->peer = ADDR (arg, "peer");
-+ else
-+ h->curint->peer = INADDR_NONE;
-+ break;
-+
- case 'g':
-- h->curint->gateway = ADDR (arg, "gateway"); break;
-+ if (arg)
-+ {
-+ /* Remove an possible other default gateway */
-+ for (in = h->interfaces; in < h->interfaces + h->num_interfaces;
-+ in++)
-+ in->gateway = INADDR_NONE;
-+ h->curint->gateway = ADDR (arg, "gateway");
-+ }
-+ else
-+ h->curint->gateway = INADDR_NONE;
-+ break;
-
- case '4':
- pfinet_bind (PORTCLASS_INET, arg);
-@@ -254,36 +338,46 @@ parse_opt (int opt, char *arg, struct ar
- break;
-
- case 'A':
-- if ((ptr = strchr (arg, '/')))
-+ if (arg)
- {
-- h->curint->address6.prefix_len = atoi (ptr + 1);
-- if (h->curint->address6.prefix_len > 128)
-- FAIL (EINVAL, 1, 0, "%s: The prefix-length is invalid", arg);
-+ if ((ptr = strchr (arg, '/')))
-+ {
-+ h->curint->address6.prefix_len = atoi (ptr + 1);
-+ if (h->curint->address6.prefix_len > 128)
-+ FAIL (EINVAL, 1, 0, "%s: The prefix-length is invalid", arg);
-+
-+ *ptr = 0;
-+ }
-+ else
-+ {
-+ h->curint->address6.prefix_len = 64;
-+ fprintf (stderr, "No prefix-length given, "
-+ "defaulting to %s/64.\n", arg);
-+ }
-+
-+ if (inet_pton (AF_INET6, arg, &h->curint->address6.addr) <= 0)
-+ PERR (EINVAL, "Malformed address");
-
-- *ptr = 0;
-+ if (IN6_IS_ADDR_MULTICAST (&h->curint->address6.addr))
-+ FAIL (EINVAL, 1, 0, "%s: Cannot set interface address to "
-+ "multicast address", arg);
- }
- else
-- {
-- h->curint->address6.prefix_len = 64;
-- fprintf (stderr, "No prefix-length given, defaulting to %s/64.\n",
-- arg);
-- }
--
-- if (inet_pton (AF_INET6, arg, &h->curint->address6.addr) <= 0)
-- PERR (EINVAL, "Malformed address");
--
-- if (IN6_IS_ADDR_MULTICAST (&h->curint->address6.addr))
-- FAIL (EINVAL, 1, 0, "%s: Cannot set interface address to "
-- "multicast address", arg);
-+ memset (&h->curint->address6, 0, sizeof (struct inet6_ifaddr));
- break;
-
- case 'G':
-- if (inet_pton (AF_INET6, arg, &h->curint->gateway6) <= 0)
-- PERR (EINVAL, "Malformed gateway");
-+ if (arg)
-+ {
-+ if (inet_pton (AF_INET6, arg, &h->curint->gateway6) <= 0)
-+ PERR (EINVAL, "Malformed gateway");
-
-- if (IN6_IS_ADDR_MULTICAST (&h->curint->gateway6))
-- FAIL (EINVAL, 1, 0, "%s: Cannot set gateway to "
-- "multicast address", arg);
-+ if (IN6_IS_ADDR_MULTICAST (&h->curint->gateway6))
-+ FAIL (EINVAL, 1, 0, "%s: Cannot set gateway to "
-+ "multicast address", arg);
-+ }
-+ else
-+ memset (&h->curint->gateway6, 0, sizeof (struct in6_addr));
- break;
- #endif /* CONFIG_IPV6 */
-
-@@ -323,20 +417,19 @@ parse_opt (int opt, char *arg, struct ar
- /* Specifying a netmask for an address-less interface is a no-no. */
- FAIL (EDESTADDRREQ, 14, 0, "Cannot set netmask");
- #endif
--
-- gateway = INADDR_NONE;
- #ifdef CONFIG_IPV6
- gw6_in = NULL;
- #endif
-+ gw4_in = NULL;
- for (in = h->interfaces; in < h->interfaces + h->num_interfaces; in++)
- {
-+ /* delete interface if it doesn't match the actual netmask */
-+ if (! ( (h->curint->address & h->curint->netmask)
-+ == (h->curint->gateway & h->curint->netmask)))
-+ h->curint->gateway = INADDR_NONE;
-+
- if (in->gateway != INADDR_NONE)
-- {
-- if (gateway != INADDR_NONE)
-- FAIL (err, 15, 0, "Cannot have multiple default gateways");
-- gateway = in->gateway;
-- in->gateway = INADDR_NONE;
-- }
-+ gw4_in = in;
-
- #ifdef CONFIG_IPV6
- if (!IN6_IS_ADDR_UNSPECIFIED (&in->gateway6))
-@@ -361,15 +454,20 @@
- idev = ipv6_find_idev(in->device);
- #endif
-
-- if (in->address != INADDR_NONE || in->netmask != INADDR_NONE)
-+ if (in->address == INADDR_NONE && in->netmask == INADDR_NONE)
- {
-- err = configure_device (in->device, in->address, in->netmask,
-- in->peer, INADDR_NONE);
-- if (err)
-- {
-- pthread_mutex_unlock (&global_lock);
-- FAIL (err, 16, 0, "cannot configure interface");
-- }
-+ h->curint->address = ADDR ("0.0.0.0", "address");
-+ h->curint->netmask = ADDR ("255.0.0.0", "netmask");
-+ }
-+
-+ if (in->device)
-+ err = configure_device (in->device, in->address, in->netmask,
-+ in->peer, INADDR_NONE);
-+
-+ if (err)
-+ {
-+ pthread_mutex_unlock (&global_lock);
-+ FAIL (err, 16, 0, "cannot configure interface");
- }
-
- #ifdef CONFIG_IPV6
-@@ -377,24 +475,25 @@
- continue;
-
- /* First let's remove all non-local addresses. */
-- struct inet6_ifaddr *ifa = idev->addr_list;
--
-- while (ifa)
-- {
-- struct inet6_ifaddr *c_ifa = ifa;
-- ifa = ifa->if_next;
--
-- if (IN6_ARE_ADDR_EQUAL (&c_ifa->addr, &in->address6.addr))
-- memset (&in->address6, 0, sizeof (struct inet6_ifaddr));
--
-- else if (!IN6_IS_ADDR_LINKLOCAL (&c_ifa->addr)
-- && !IN6_IS_ADDR_SITELOCAL (&c_ifa->addr))
-- inet6_addr_del (in->device->ifindex, &c_ifa->addr,
-- c_ifa->prefix_len);
-- }
--
-- if (!IN6_IS_ADDR_UNSPECIFIED (&in->address6.addr))
-- {
-+ struct inet6_ifaddr *ifa = idev->addr_list;
-+
-+ while (ifa)
-+ {
-+ struct inet6_ifaddr *c_ifa = ifa;
-+ ifa = ifa->if_next;
-+
-+ if (!IN6_IS_ADDR_UNSPECIFIED (&in->address6.addr)
-+ && IN6_ARE_ADDR_EQUAL (&c_ifa->addr, &in->address6.addr))
-+ memset (&in->address6, 0, sizeof (struct inet6_ifaddr));
-+
-+ else if (!IN6_IS_ADDR_LINKLOCAL (&c_ifa->addr)
-+ && !IN6_IS_ADDR_SITELOCAL (&c_ifa->addr))
-+ inet6_addr_del (in->device->ifindex, &c_ifa->addr,
-+ c_ifa->prefix_len);
-+ }
-+
-+ if (!IN6_IS_ADDR_UNSPECIFIED (&in->address6.addr))
-+ {
- /* Now assign the new address */
- inet6_addr_add (in->device->ifindex, &in->address6.addr,
- in->address6.prefix_len);
-@@ -418,28 +517,35 @@
- req.rtm.rtm_scope = RT_SCOPE_UNIVERSE;
- req.rtm.rtm_type = RTN_UNICAST;
- req.rtm.rtm_protocol = RTPROT_STATIC;
-- rta.rta_gw = &gateway;
-
-- if (gateway == INADDR_NONE)
-+ if (!gw4_in)
- {
-- /* Delete any existing default route. */
-- req.nlh.nlmsg_type = RTM_DELROUTE;
-- req.nlh.nlmsg_flags = 0;
-- tb = fib_get_table (req.rtm.rtm_table);
-- if (tb)
-- {
-- err = - (*tb->tb_delete) (tb, &req.rtm, &rta, &req.nlh, 0);
-- if (err && err != ESRCH)
-- {
-- pthread_mutex_unlock (&global_lock);
-- FAIL (err, 17, 0, "cannot remove old default gateway");
-- }
-- err = 0;
-- }
-+ /* Delete any existing default route on configured devices */
-+ for (in = h->interfaces; in < h->interfaces + h->num_interfaces;
-+ in++) {
-+ req.nlh.nlmsg_type = RTM_DELROUTE;
-+ req.nlh.nlmsg_flags = 0;
-+ rta.rta_oif = &in->device->ifindex;
-+ tb = fib_get_table (req.rtm.rtm_table);
-+ if (tb)
-+ {
-+ err = - (*tb->tb_delete)
-+ (tb, &req.rtm, &rta, &req.nlh, 0);
-+ if (err && err != ESRCH)
-+ {
-+ pthread_mutex_unlock (&global_lock);
-+ FAIL (err, 17, 0,
-+ "cannot remove old default gateway");
-+ }
-+ err = 0;
-+ }
-+ }
- }
- else
- {
- /* Add a default route, replacing any existing one. */
-+ rta.rta_oif = &gw4_in->device->ifindex;
-+ rta.rta_gw = &gw4_in->gateway;
- req.nlh.nlmsg_type = RTM_NEWROUTE;
- req.nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE;
- tb = fib_new_table (req.rtm.rtm_table);
-@@ -467,13 +573,77 @@
- if (!gw6_in || rt6i->rt6i_dev != gw6_in->device
- || !IN6_ARE_ADDR_EQUAL (&rt6i->rt6i_gateway, &gw6_in->gateway6))
- {
-- rt6_purge_dflt_routers (0);
-+ /* Delete any existing default route on configured devices */
-+ for (in = h->interfaces; in < h->interfaces
-+ + h->num_interfaces; in++)
-+ if (rt6i->rt6i_dev == in->device || gw6_in )
-+ rt6_purge_dflt_routers (0);
-+
- if (gw6_in)
- rt6_add_dflt_router (&gw6_in->gateway6, gw6_in->device);
- }
- }
- #endif
-
-+ /* Setup the routing required for DHCP. */
-+ for (in = h->interfaces; in < h->interfaces + h->num_interfaces; in++)
-+ {
-+ struct kern_rta rta;
-+ struct
-+ {
-+ struct nlmsghdr nlh;
-+ struct rtmsg rtm;
-+ } req;
-+ struct fib_table *tb;
-+ struct rtentry route;
-+ struct sockaddr_in *dst;
-+ struct device *dev;
-+
-+ if (!in->device)
-+ continue;
-+
-+ dst = (struct sockaddr_in *) &route.rt_dst;
-+ if (!in->device->name)
-+ {
-+ pthread_mutex_unlock (&global_lock);
-+ FAIL (ENODEV, 17, 0, "unknown device");
-+ }
-+ dev = dev_get (in->device->name);
-+ if (!dev)
-+ {
-+ pthread_mutex_unlock (&global_lock);
-+ FAIL (ENODEV, 17, 0, "unknown device");
-+ }
-+
-+ /* Simulate the SIOCADDRT behavior. */
-+ memset (&route, 0, sizeof (struct rtentry));
-+ memset (&req.rtm, 0, sizeof req.rtm);
-+ memset (&rta, 0, sizeof rta);
-+ req.nlh.nlmsg_type = RTM_NEWROUTE;
-+
-+ /* Append this routing for 0.0.0.0. By this way we can send always
-+ dhcp messages (e.g dhcp renew). */
-+ req.nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE
-+ | NLM_F_APPEND;
-+ req.rtm.rtm_protocol = RTPROT_BOOT;
-+ req.rtm.rtm_scope = RT_SCOPE_LINK;
-+ req.rtm.rtm_type = RTN_UNICAST;
-+ rta.rta_dst = &dst->sin_addr.s_addr;
-+ rta.rta_oif = &dev->ifindex;
-+
-+ tb = fib_new_table (req.rtm.rtm_table);
-+ if (tb)
-+ err = tb->tb_insert (tb, &req.rtm, &rta, &req.nlh, NULL);
-+ else
-+ err = ENOBUFS;
-+
-+ if (err)
-+ {
-+ pthread_mutex_unlock (&global_lock);
-+ FAIL (err, 17, 0, "cannot add route");
-+ }
-+ }
-+
- pthread_mutex_unlock (&global_lock);
-
- /* Fall through to free hook. */
-@@ -526,8 +696,9 @@
- ADD_ADDR_OPT ("netmask", mask);
- if (peer != addr)
- ADD_ADDR_OPT ("peer", peer);
-- key.iif = dev->ifindex;
-- if (! main_table->tb_lookup (main_table, &key, &res))
-+ key.oif = dev->ifindex;
-+ if (! main_table->tb_lookup (main_table, &key, &res)
-+ && FIB_RES_GW(res) != INADDR_ANY)
- ADD_ADDR_OPT ("gateway", FIB_RES_GW (res));
-
- #undef ADD_ADDR_OPT
---- a/pfinet/linux-src/net/ipv4/devinet.c
-+++ b/pfinet/linux-src/net/ipv4/devinet.c
-@@ -214,10 +214,12 @@ inet_insert_ifa(struct in_device *in_dev
- {
- struct in_ifaddr *ifa1, **ifap, **last_primary;
-
-+#ifndef _HURD_
- if (ifa->ifa_local == 0) {
- inet_free_ifa(ifa);
- return 0;
- }
-+#endif
-
- ifa->ifa_flags &= ~IFA_F_SECONDARY;
- last_primary = &in_dev->ifa_list;
diff --git a/debian/patches/series b/debian/patches/series
index 4d5ec82a..467a9c53 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,14 +35,11 @@ libdde_rx_queue.patch
libdde_rcu.patch
mount.patch
-xkb-compat.patch
-
#trans-crash-add-verbose.patch
#procfs-0007-procfs-provide-magic-retry-response-for-proc-self.patch
startup-avoid-broken-puts.patch
-pfinet_dhcp.patch
libports-payloads.patch
proc-task-notify-0005-proc-fix-build.patch
merge-me-0001-libports-avoid-acquiring-global-lock-in-message-disp.patch
diff --git a/debian/patches/xkb-compat.patch b/debian/patches/xkb-compat.patch
deleted file mode 100644
index a4666e9b..00000000
--- a/debian/patches/xkb-compat.patch
+++ /dev/null
@@ -1,746 +0,0 @@
-TODO: the console should just not use keymaps at all any more, and use layout/variant...
-
-diff --git a/console-client/xkb/xkb-data/keymap/hurd b/console-client/xkb/xkb-data/keymap/hurd
-index b123f2b..3d47277 100644
---- a/console-client/xkb/xkb-data/keymap/hurd
-+++ b/console-client/xkb/xkb-data/keymap/hurd
-@@ -4,7 +4,7 @@
- xkb_keymap "Hurd" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+us+hurd+group(win_switch)+compose(menu)" };
- xkb_geometry { include "pc" };
- };
-@@ -12,7 +12,7 @@ xkb_keymap "Hurd" {
- default xkb_keymap "us" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+us+hurd" };
- xkb_geometry { include "pc" };
- };
-@@ -21,21 +21,21 @@ default xkb_keymap "us" {
- xkb_keymap "ar" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ara+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "be" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+be+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "bg" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+bg+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
-@@ -43,7 +43,7 @@ xkb_keymap "bg" {
- xkb_keymap "br" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+br+hurd" };
- xkb_geometry { include "pc(abnt2)" };
- };
-@@ -53,168 +53,168 @@ xkb_keymap "br" {
- xkb_keymap "cz" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+cz+hurd" };
- xkb_geometry { include "pc" };
- };
- xkb_keymap "de" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+de+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ch_de" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ch(de)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ch_fr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ch(fr)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "dk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+dk+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "dvorak" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+us(dvorak)+hurd"};
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "en_US" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+us+hurd" };
- xkb_geometry { include "pc" };
- };
- xkb_keymap "es" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+es+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "fr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+fr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "fr-latin9" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+fr-latin9+hurd" };
- xkb_geometry { include "pc" };
- };
- xkb_keymap "fr_CA" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ca+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "gb" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+gb+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "hr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+hr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "it" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+it+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "jp106" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "jp(jp106)+hurd" };
- xkb_geometry { include "pc(jp106)" };
- };
- xkb_keymap "lt" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+lt+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "lt_std" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+lt(std)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "lv" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+lv+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "mk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+mk+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "mt" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+mt+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "neo" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)" };
- xkb_symbols { include "pc(pc105)+de(neo)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "no" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+no+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "pl" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+pl+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "pt" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+pt+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
-@@ -222,49 +222,49 @@ xkb_keymap "pt" {
- xkb_keymap "ro" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ro(pc101)+hurd" };
- xkb_geometry { include "pc(pc101)" };
- };
- xkb_keymap "ro_microsoft" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ro(pc105)+hurd" };
- xkb_geometry { include "pc(pc105)" };
- };
- xkb_keymap "ru" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ru+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "se_FI" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+fi+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "se_SE" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+se+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "sl" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+si+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "sl_SI" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+si+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
-@@ -274,7 +274,7 @@ xkb_keymap "sl_SI" {
- xkb_keymap "sk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+sk+hurd" };
- xkb_geometry { include "pc" };
- };
-@@ -282,49 +282,49 @@ xkb_keymap "sk" {
- xkb_keymap "syr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+syr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "th" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+th+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "th_tis" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+th(tis)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "th_pat" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+th(pat)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "tr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+tr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "uk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+uk)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "us_flexpro" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "us(pc105)+hurd" };
- xkb_geometry { include "keytronic(FlexPro)" };
- };
-@@ -334,14 +334,14 @@ xkb_keymap "us_flexpro" {
- xkb_keymap "us_intl" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "us(pc101)+us(intl)+hurd" };
- xkb_geometry { include "pc" };
- };
- xkb_keymap "us_microsoft" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "us(pc105)+hurd" };
- xkb_geometry { include "microsoft" };
- };
-@@ -349,7 +349,7 @@ xkb_keymap "us_microsoft" {
- xkb_keymap "uz" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+uz+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
-@@ -358,35 +358,35 @@ xkb_keymap "uz" {
- xkb_keymap "cz_qwerty" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+cz(qwerty)+hurd" };
- xkb_geometry { include "pc" };
- };
- xkb_keymap "de_CH" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ch(de)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "fr_CH" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ch(fr)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "mt_us" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+mt(us)+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "sk_qwerty" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+sk(qwerty)+hurd" };
- xkb_geometry { include "pc" };
- };
-@@ -395,266 +395,266 @@ xkb_keymap "sk_qwerty" {
- xkb_keymap "al" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+al+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ara" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ara+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "bd" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+bd+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "by" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+by+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "in" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+in+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ba" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ba+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ca" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ca+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "cn" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+cn+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "nl" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+nl+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "bt" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+bt+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "epo" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+epo+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ee" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ee+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "et" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+et+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "fi" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+fi+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ge" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ge+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "gr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+gr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "il" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+il+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "hu" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+hu+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "is" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+is+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ie" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ie+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "jp" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+jp+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "kz" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+kz+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "kh" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+kh+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "kg" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+kg+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "kr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+kr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "la" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+la+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "latam" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+latam+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "np" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+np+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ir" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ir+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "rs" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+rs+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "pk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+pk+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "lk" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+lk+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "si" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+si+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "se" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+se+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ch" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ch+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "tr" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+tr+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "ua" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+ua+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };
- xkb_keymap "vn" {
- xkb_keycodes { include "xfree86" };
- xkb_types { include "default+hurd" };
-- xkb_compatibility { include "default" };
-+ xkb_compatibility { include "basic+mousekeys+accessx(basic)+misc+iso9995+level5+caps(caps_lock)" };
- xkb_symbols { include "pc(pc105)+vn+hurd" };
- xkb_geometry { include "pc(pc102)" };
- };