function _xinit_setup_xinput() {
  if ! xinput list >/dev/null; then
    return
  fi

  _xinit_setup_xinput_touchpad
  _xinit_setup_xinput_trackman_marble
  _xinit_setup_xinput_touchscreen
}

function _xinit_setup_xinput_touchpad() {
  if ! xinput list-props 'Elan Touchpad' >/dev/null; then
    return
  fi

  xinput set-prop 'Elan Touchpad' \
    'libinput Natural Scrolling Enabled' 1
}

function _xinit_setup_xinput_touchscreen() {
  if ! xinput list-props \
    'Wacom Pen and multitouch sensor Finger' >/dev/null; then
    return
  fi

  xinput set-prop 'Wacom Pen and multitouch sensor Finger' \
    'Device Enabled' 0
}

function _xinit_setup_xinput_trackman_marble() {
  if ! xinput list-props 'Logitech USB Trackball' >/dev/null; then
    return
  fi

  xinput set-button-map \
    'Logitech USB Trackball' \
    1 2 3 4 5 6 7 8 9
  xinput set-prop \
    'Logitech USB Trackball' \
    'libinput Scroll Method Enabled' \
    0, 0, 1
}
