#!/bin/sh XKB_DIR=${HOME}/.xkb [ -d ${XKB_DIR}/keymap ] || mkdir -p ${XKB_DIR}/keymap GLOBAL_OPTIONS="\ -I${XKB_DIR} \ -layout icd,ru \ -variant icd, \ -option terminate:ctrl_alt_bksp \ -option nbsp:level3n \ -option grp:shifts_toggle" LAPTOP_OPTIONS="\ ${GLOBAL_OPTIONS} \ -option lv3:ralt_switch_multikey \ -option ctrl:swapcaps" KIN_OPTIONS="\ ${GLOBAL_OPTIONS} \ -option "lv3:switch" \ -option caps:swapescape" LAPTOP_ID=$(xinput | grep "(AT Translated Set 2 keyboard" | sed -e 's/.*id=\([0-9]\+\).*/\1/g') KIN_USB_ID=$(lsusb | grep -i "Kinesis Advantage Pro" | awk '{ print $6 }') echo "Setting up laptop" setxkbmap ${LAPTOP_OPTIONS} -device ${LAPTOP_ID} -print > ${XKB_DIR}/keymap/icd.laptop #xkbcomp -I${HOME}/.xkb -i ${LAPTOP_ID} -synch \ xkbcomp -I${HOME}/.xkb -synch \ /home/ryan/.xkb/keymap/icd.laptop $DISPLAY # 2> /dev/null if [ "x${KIN_USB_ID}" != "x" ]; then echo "Setting up Kinesis" KIN_XINPUT_ID=$(xinput | grep ${KIN_USB_ID} | sed -e 's/.*id=\([0-9]\+\).*/\1/g') for XID in $KIN_XINPUT_ID; do echo $XID setxkbmap \ -I${XKB_DIR} \ -device ${XID} \ ${KIN_OPTIONS} \ -print | sed -e 's@+ctrl(nocaps)@@g' > ${HOME}/.xkb/keymap/icd.kin xkbcomp -I${HOME}/.xkb -i ${XID} -synch \ ${HOME}/.xkb/keymap/icd.kin ${DISPLAY} # 2> /dev/null done xkbcomp -I${HOME}/.xkb -synch \ ${HOME}/.xkb/keymap/icd.kin ${DISPLAY} # 2> /dev/null fi echo icd > /home/ryan/.xmonad/layout