mirror of
https://github.com/kforney/pentest-distro-builder.git
synced 2024-11-14 22:30:10 -07:00
90 lines
2.6 KiB
Text
90 lines
2.6 KiB
Text
|
#!/bin/sh
|
||
|
# Stolen from the debian kdm setup, aren't I sneaky
|
||
|
# Plus a lot of fun stuff added
|
||
|
# -George
|
||
|
|
||
|
PATH="/usr/bin:$PATH"
|
||
|
OLD_IFS=$IFS
|
||
|
|
||
|
gdmwhich () {
|
||
|
COMMAND="$1"
|
||
|
OUTPUT=
|
||
|
IFS=:
|
||
|
for dir in $PATH
|
||
|
do
|
||
|
if test -x "$dir/$COMMAND" ; then
|
||
|
if test "x$OUTPUT" = "x" ; then
|
||
|
OUTPUT="$dir/$COMMAND"
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
IFS=$OLD_IFS
|
||
|
echo "$OUTPUT"
|
||
|
}
|
||
|
|
||
|
sysresources=/etc/X11/Xresources
|
||
|
|
||
|
# merge in defaults
|
||
|
if [ -f "$sysresources" ]; then
|
||
|
xrdb -merge "$sysresources"
|
||
|
fi
|
||
|
|
||
|
sysmodmap=/etc/X11/Xmodmap
|
||
|
|
||
|
XMODMAP=`gdmwhich xmodmap`
|
||
|
if [ "x$XMODMAP" != "x" ] ; then
|
||
|
if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
|
||
|
if [ -f $sysmodmap ]; then
|
||
|
$XMODMAP $sysmodmap
|
||
|
fi
|
||
|
else
|
||
|
( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
|
||
|
fi
|
||
|
|
||
|
#
|
||
|
# Switch Sun's Alt and Meta mod mappings
|
||
|
#
|
||
|
|
||
|
UNAME=`gdmwhich uname`
|
||
|
PROCESSOR=`$UNAME -p`
|
||
|
if [ "x$PROCESSOR" = "xsparc" ]; then
|
||
|
if $XMODMAP | grep mod4 | grep Alt > /dev/null 2>/dev/null
|
||
|
then
|
||
|
$XMODMAP -e "clear Mod1" \
|
||
|
-e "clear Mod4" \
|
||
|
-e "add Mod1 = Alt_L" \
|
||
|
-e "add Mod1 = Alt_R" \
|
||
|
-e "add Mod4 = Meta_L" \
|
||
|
-e "add Mod4 = Meta_R"
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
SETXKBMAP=`gdmwhich setxkbmap`
|
||
|
if [ "x$SETXKBMAP" != "x" ] ; then
|
||
|
# FIXME: is this all right? Is this completely on crack?
|
||
|
# What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
|
||
|
# FIXME: This should be done in code. Or there must be an easier way ...
|
||
|
if [ -n "$GDM_PARENT_DISPLAY" ]; then
|
||
|
XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
|
||
|
if [ -n "$XKBSETUP" ]; then
|
||
|
XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
|
||
|
XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
|
||
|
XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
|
||
|
XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
|
||
|
XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
|
||
|
if [ -n "$XKBKEYMAP" ]; then
|
||
|
$SETXKBMAP -keymap "$XKBKEYMAP"
|
||
|
elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
|
||
|
$SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
|
||
|
elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
|
||
|
$SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
|
||
|
elif [ -n "$XKBSYMBOLS" ]; then
|
||
|
$SETXKBMAP -symbols "$XKBSYMBOLS"
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
exit 0
|