Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/sh
- # make sure dir for keyboard mapping exists
- mkdir -p "$HOME"'/.config/xkb/keymap'
- # Get ID of Unicomp board if present
- UNICOMPID="$(xinput -list|grep 'Unicomp Inc U' | awk -F'=' '{ print $2 }'| awk '{ print $1 }')"
- if [ "$UNICOMPID" ]; then
- echo 'Unicomp board ID: '"$UNICOMPID"
- setxkbmap -device "$UNICOMPID" -print | grep -q 'swap_ralt_rwin'
- if [ "$?" -ne 0 ]; then # swap_ralt_rwin not already set; proceed.
- echo 'Running xkbcomp'
- # make menu key == compose, right win <-> right alt swap
- setxkbmap -device "$UNICOMPID" -print | sed -e '/xkb_symbols/s/"[[:space:]]/+compose\(menu\)+altwin\(swap_ralt_rwin\)&/' > "$HOME"'/.config/xkb/keymap/unicomp'
- # right win <-> right alt swap only
- # setxkbmap -device "$UNICOMPID" -print | sed -e '/xkb_symbols/s/"[[:space:]]/+compose\(menu\)+altwin\(swap_ralt_rwin\)&/' > "$HOME"'/.config/xkb/keymap/unicomp'
- # for debugging (log messages) use -w10 instead of -w0:
- xkbcomp -i "$UNICOMPID" -w0 -I"$HOME"'/.config/xkb' "$HOME"'/.config/xkb/keymap/unicomp' "$DISPLAY"
- else
- echo "Detected 'swap_ralt_rwin' already present, skipping xkbcomp."
- fi
- else
- echo 'Unicomp keyboard not detected.'
- fi
Advertisement
Add Comment
Please, Sign In to add comment