1#!/bin/sh
2#-
3# Copyright (c) 2010 iXsystems, Inc.  All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8# 1. Redistributions of source code must retain the above copyright
9#    notice, this list of conditions and the following disclaimer.
10# 2. Redistributions in binary form must reproduce the above copyright
11#    notice, this list of conditions and the following disclaimer in the
12#    documentation and/or other materials provided with the distribution.
13#
14# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24# SUCH DAMAGE.
25#
26# $FreeBSD: releng/11.0/usr.sbin/pc-sysinstall/backend-query/xkeyboard-layouts.sh 218803 2011-02-18 15:52:57Z jpaetzel $
27
28FOUND="0"
29TMPLIST="/tmp/.xkeyList.$$"
30XLST="/usr/local/share/X11/xkb/rules/xorg.lst"
31
32if [ ! -e "${XLST}" ] ; then
33  exit 1
34fi
35
36# Lets parse the xorg.list file, and see what layouts are supported
37while read line
38do
39
40  if [ "$FOUND" = "1" -a ! -z "$line" ]
41  then
42    echo $line | grep '! ' >/dev/null 2>/dev/null
43    if [ "$?" = "0" ]
44    then
45	break
46    else 
47      echo "$line" >> ${TMPLIST}
48    fi 
49  fi 
50
51  if [ "${FOUND}" = "0" ]
52  then
53    echo $line | grep '! layout' >/dev/null 2>/dev/null
54    if [ "$?" = "0" ]
55    then
56      FOUND="1"
57    fi 
58  fi
59
60done < $XLST
61
62sort -b -d +1 $TMPLIST
63
64# Delete the tmp file
65rm $TMPLIST
66
67exit 0
68