Skip to content

Instantly share code, notes, and snippets.

@Voronenko
Created October 22, 2025 14:13
Show Gist options
  • Select an option

  • Save Voronenko/5c1e7ca0725b867aeb49adf13d9c2b8d to your computer and use it in GitHub Desktop.

Select an option

Save Voronenko/5c1e7ca0725b867aeb49adf13d9c2b8d to your computer and use it in GitHub Desktop.
Script that automatically maps open table driver device to specific display
#!/usr/bin/env bash
# ~/bin/map-tablet.sh
OUTPUT="HDMI-3"
TABLET_ID=$(xinput list 2>/dev/null | grep -i "OpenTabletDriver" | grep "pointer" | grep -o "id=[0-9]*" | cut -d= -f2 | head -n1)
if [ -z "$TABLET_ID" ]; then
echo "No OpenTabletDriver pointer device found. Skipping."
exit 0
fi
if ! xrandr | grep -q "^$OUTPUT connected"; then
echo "Output $OUTPUT not connected. Skipping."
exit 0
fi
echo "Mapping OpenTabletDriver tablet (id=$TABLET_ID) to $OUTPUT..."
xinput map-to-output "$TABLET_ID" "$OUTPUT" || echo "Mapping failed."
# xinput list | grep -i tablet
# find id of tablet (29)
#
get_tablet_id() {
xinput list 2>/dev/null | grep -i "OpenTabletDriver" | grep "pointer" | grep -o "id=[0-9]*" | cut -d= -f2 | head -n1
}
# Map tablet to HDMI-3
alias pendell='
tid=$(get_tablet_id);
if [[ -n "$tid" ]]; then
echo "Mapping tablet (id=$tid) to HDMI-3...";
xinput map-to-output "$tid" HDMI-3;
else
echo "No OpenTabletDriver tablet found.";
fi
'
# Map tablet to DP-1
alias penarzopa='
tid=$(get_tablet_id);
if [[ -n "$tid" ]]; then
echo "Mapping tablet (id=$tid) to DP-1...";
xinput map-to-output "$tid" DP-1;
else
echo "No OpenTabletDriver tablet found.";
fi
'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment