#!/bin/sh
# rebind syscons to (re)attached ukbd0: release from mux, then bind (retry)
n=0
while [ $n -lt 5 ]; do
  n=$((n+1))
  N=$(dmesg | grep -E "^kbd[0-9]+ at ukbd0" | tail -1 | sed -E 's/^kbd([0-9]+) .*/\1/')
  [ -z "$N" ] && { sleep 1; continue; }
  [ -c /dev/kbd$N ] || { sleep 1; continue; }
  /tmp/kbdsetup "$N" >/dev/null 2>&1
  if kbdcontrol -k /dev/kbd$N < /dev/ttyv0 >/dev/null 2>&1; then
    echo "rebound kbd$N"
    exit 0
  fi
  sleep 1
done
echo "rebind failed"
exit 1
