set_keyboard_layout revision 7c478bd95313f5f23a4c958a745db2134aa03244
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#! /usr/bin/sh
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# CDDL HEADER START
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# The contents of this file are subject to the terms of the
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# Common Development and Distribution License, Version 1.0 only
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# (the "License"). You may not use this file except in compliance
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# with the License.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# or http://www.opensolaris.org/os/licensing.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# See the License for the specific language governing permissions
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# and limitations under the License.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# When distributing Covered Code, include this CDDL HEADER in each
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# If applicable, add the following below this CDDL HEADER, with the
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# fields enclosed by brackets "[]" replaced with your own identifying
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# CDDL HEADER END
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# ident "%Z%%M% %I% %E% SMI"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# Copyright (c) 2001 by Sun Microsystems, Inc.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# All rights reserved.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync#
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncKBD_TYPE=`/usr/bin/kbd -t`
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# (Really, should pick this up from the keyboard device node keyboard-type
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync# value, or the 1275 PC keyboard binding "layout" property.)
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncKBD_LAYOUT_NAME="`/usr/sbin/eeprom kbd-type | /usr/bin/sed -n s/kbd-type=//p`"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsynccase "$KBD_TYPE" in
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync"USB keyboard")
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync case "$KBD_LAYOUT_NAME" in
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "") LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Czech" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Danish" ) LAYOUT=6 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Dutch" ) LAYOUT=18 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "French" ) LAYOUT=8 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "French-Canadian" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "German" ) LAYOUT=9 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Greek" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Hungarian" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Italian" ) LAYOUT=14 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Japanese(106)" ) LAYOUT=15 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Japanese(J3100)" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Latvian" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Lithuanian" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Polish" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Korean" ) LAYOUT=16 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Norwegian" ) LAYOUT=19 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Portuguese" ) LAYOUT=22 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Russian" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Spanish" ) LAYOUT=25 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swedish" ) LAYOUT=26 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swiss-French" ) LAYOUT=27 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swiss-German" ) LAYOUT=28 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Taiwanese" ) LAYOUT=30 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Turkish" ) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "UK-English" ) LAYOUT=32 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English" ) LAYOUT=33 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English(Microsoft-Natural)" ) LAYOUT=33 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English(104-Key)" ) LAYOUT=33 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *) LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync esac
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync"PC")
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync case "$KBD_LAYOUT_NAME" in
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "") LAYOUT= ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Czech" ) LAYOUT=53 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Danish" ) LAYOUT=36 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Dutch" ) LAYOUT=39 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "French" ) LAYOUT=35 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "French-Canadian" ) LAYOUT=50 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "German" ) LAYOUT=37 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Greek" ) LAYOUT=57 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Hungarian" ) LAYOUT=51 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Italian" ) LAYOUT=38 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Japanese(106)" ) LAYOUT=49 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Japanese(J3100)" ) LAYOUT=34 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Latvian" ) LAYOUT=55 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Lithuanian" ) LAYOUT=59 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Polish" ) LAYOUT=52 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Korean" ) LAYOUT=47 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Norwegian" ) LAYOUT=40 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Portuguese" ) LAYOUT=41 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Russian" ) LAYOUT=54 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Spanish" ) LAYOUT=42 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swedish" ) LAYOUT=43 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swiss-French" ) LAYOUT=44 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Swiss-German" ) LAYOUT=45 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Taiwanese" ) LAYOUT=48 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "Turkish" ) LAYOUT=56 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "UK-English" ) LAYOUT=46 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English" ) LAYOUT=1 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English(Microsoft-Natural)" ) LAYOUT=1001 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync "US-English(104-Key)" ) LAYOUT=1001 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync *) LAYOUT=0 ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync esac
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync ;;
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncesac
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncif test -n "$LAYOUT"
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncthen
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync # Set the layout for a non-self-ID keyboard.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync # loadkeys -s is a project private interface, and subject to change
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync # without notice.
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync /usr/bin/loadkeys -s $LAYOUT
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsyncfi
a3f3701cea1ba388e7c877955252bb7375eedebdvboxsync