dotfiles/dotfiles/lib/functions/load_xkb_map

25 lines
607 B
Bash
Executable File

#!/usr/bin/env sh
function load_xkb_map {
XKBDIR="$HOME/.xkb"
XKBMAPFILE="$XKBDIR/keymap/$(hostname --fqdn)"
[[ -r "$XKBMAPFILE" ]] || XKBMAPFILE="${XKBMAPFILE%/*}/default"
echo "loading keymap from $XKBMAPFILE"
xkbcomp -I"$XKBDIR" "$XKBMAPFILE" "${DISPLAY%%.*}"
XKB_DEVICE_DIR="$XKBDIR/devices"
for file in "$XKB_DEVICE_DIR"/*
do
DEVICE_ID=$(xinput | grep "$(basename $file)" | head -n 1 | grep -Eo "id=[0-9]*" | grep -Eo "[0-9]*")
echo $file
echo device
echo "$DEVICE_ID"
# [ ! -z "$DEVICE_ID" ] && xkbcomp -I"$XKBDIR" -i "$DEVICE_ID" "$file" "${DISPLAY%%.*}"
done
}
load_xkb_map