#!/bin/sh
# $Id: fixkeyboard,v 1.4 2006/03/03 16:40:18 ldv Exp $
# Startup script called from /etc/X11/Xsession and /etc/X11/xdm/Xsetup_0
# to adjust keyboard.

usermodmap="$HOME/.Xmodmap"
userxkbmap="$HOME/.Xkbmap"

sysmodmap=/etc/X11/xinit/Xmodmap
sysxkbmap=/etc/X11/xinit/Xkbmap

xdpyinfo |fgrep -qs XKEYBOARD &&
	XKB_IN_USE=yes ||
	XKB_IN_USE=

[ -n "$XKB_IN_USE" -a -s "$sysxkbmap" ] &&
	setxkbmap `cat "$sysxkbmap"`

[ -n "$XKB_IN_USE" -a -s "$userxkbmap" ] &&
	setxkbmap `cat "$userxkbmap"`

# xkb and xmodmap don't play nice together
if [ -z "$XKB_IN_USE" ]; then
	[ -s $sysmodmap ] && xmodmap "$sysmodmap"
	[ -s $usermodmap ] && xmodmap "$usermodmap"
fi

exit 0
