wyatt8740

unicomp key mapping

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