#!/bin/bash # # xbindkeys.sh - load keyboard binding data for specific machine # # Copyright (c) 2008 by Silvan Calarco # [ -e /etc/sysconfig/machine ] && . /etc/sysconfig/machine XMODMAP_CONFDIR=/usr/share/X11/xmodmap unset XMODMAP_INPUTFILE XBINDKEYS_INPUTFILE XBINDKEYS_CONFDIR=/usr/share/X11/xbindkeys SCRIPT_DIR=/usr/share/X11/scripts system_manufacturer=`echo ${SYSTEM_MANUFACTURER/ *} | tr '[:upper:]' '[:lower:]'` system_product_name=`echo ${SYSTEM_PRODUCT_NAME/ *} | tr '[:upper:]' '[:lower:]'` system_version=`echo ${SYSTEM_VERSION/ *} | tr '[:upper:]' '[:lower:]'` s1=$system_manufacturer s2=$system_manufacturer/$system_product_name s3=$system_manufacturer/$system_product_name/$system_version # check for xbindkeysrc file for i in $s3 $s2 $s1 ""; do [ -r ${XBINDKEYS_CONFDIR}/$i/xbindkeysrc ] && { XBINDKEYS_INPUTFILE=${XBINDKEYS_CONFDIR}/$i/xbindkeysrc break } done # check for xmodmap file for i in $s3 $s2 $s1 ""; do [ -r ${XMODMAP_CONFDIR}/$i/xmodmap ] && { XMODMAP_INPUTFILE=${XMODMAP_CONFDIR}/$i/xmodmap break } done # check for post script file for i in $s3 $s2 $s1 ""; do [ -r ${SCRIPT_DIR}/$i/post ] && { POST_SCRIPT_FILE=${SCRIPT_DIR}/$i/post break } done [ -e "$XMODMAP_INPUTFILE" ] && { xmodmap $XMODMAP_INPUTFILE [ "$VERBOSE" ] && echo "Loading xmodmap input file $XMODMAP_INPUTFILE" } [ -e "$XBINDKEYS_INPUTFILE" ] && { xbindkeys -f $XBINDKEYS_INPUTFILE [ "$VERBOSE" ] && echo "Loading xmodmap input file $XBINDKEYS_INPUTFILE" } [ -e "$POST_SCRIPT_FILE" ] && { [ "$VERBOSE" ] && echo "Executing post script file $POST_SCRIPT_FILE" . $POST_SCRIPT_FILE }