diff --git a/wacom_bamboo_configure.sh b/wacom_bamboo_configure.sh index 59fc141cbccc56788f7145bd42fba24725efff52..5e348ca5ea5e8faf009b10b3e60f12e78e3a467e 100644 --- a/wacom_bamboo_configure.sh +++ b/wacom_bamboo_configure.sh @@ -22,34 +22,77 @@ # Wacom Bamboo. # Mostra se tem Wacom plugada em porta USB. +# echo "Wacom plugados na USB: $(lsusb | grep 'Wacom')" +echo "Wacom plugados na USB" lsusb | grep 'Wacom' +echo # Dispositivos Wacom conectados. +echo "Componentes Wacom conectados" xsetwacom --list devices +echo # Nome da mesa digitalizadora. -# WACOM=$(xsetwacom --list devices | grep "STYLUS" | awk '{print gensub(/(.+) stylus.*/, "\\1", "g")}') +# WACOM=$(xsetwacom --list devices | grep "STYLUS" | awk '{print gensub(/(.+) Pen stylus.*/, "\\1", "g")}') WACOM="Wacom Bamboo Connect" -echo $WACOM +# WACOM="Wacom One by Wacom S" +# echo $WACOM # Monitores disponíveis. -xrandr --listactivemonitors +# echo "Monitores disponíveis" +# xrandr --query | grep " connected " | awk '{print $1}' +# echo + +# Monitores conectados. +# monitors=$(xrandr --query | grep " connected" | awk '{print $1}') + +# Monitores conectados na forma de array. +mapfile -t monitors < <(xrandr --query | grep " connected" | awk '{print $1}') + +# Array para armazenar as coordenadas X dos monitores. +coordinates_array=() + +# Loop para pegar a coordenada x de cada monitor. +for monitor in "${monitors[@]}"; do + # Obtém as coordenadas do monitor + coordinates=$( + xrandr --query | \ + grep "$monitor" | \ + sed -n 's/.* \([0-9]\{1,4\}x[0-9]\{1,4\}+[0-9]\{1,4\}+[0-9]\{1,4\}\).*/\1/p' + ) + x_coord=$(echo $coordinates | awk -F '[+x]' '{print $3}') + # echo $monitor $x_coord + coordinates_array+=("$x_coord") +done + +# echo "${coordinates_array[@]}" +# echo "${monitors[@]}" +# Compara o primeiro e o segundo valor para saber o lado de cada monitor. echo "Qual monitor você quer usar [0 ou 1]?" +if [ "${coordinates_array[0]}" -lt "${coordinates_array[1]}" ]; then + echo " 0: ${monitors[0]} (monitor esquerdo)" + echo " 1: ${monitors[1]} (monitor direito)" +else + echo " 0: ${monitors[0]} (monitor direito)" + echo " 1: ${monitors[1]} (monitor esquerdo)" +fi + +# Lê a opção escolhida. # opcao=1 read opcao if [ $opcao -eq 0 ] then - echo "Escolheu 0" + # echo "Escolheu 0" MAINMONITOR=$(xrandr | grep ' connected' | awk '{print gensub(/(.+).*connected.*/, "\\1", "g")}' | sed -n '1p') elif [ $opcao -eq 1 ] then - echo "Escolheu 1" + # echo "Escolheu 1" MAINMONITOR=$(xrandr | grep ' connected' | awk '{print gensub(/(.+).*connected.*/, "\\1", "g")}' | sed -n '2p') fi -echo "Monitor escolhido:" -echo $MAINMONITOR +echo "Monitor escolhido: $MAINMONITOR" +echo # Nome do monitor principal. # MAINMONITOR=$(xrandr | grep 'primary' | awk '{print gensub(/(.+).*connected.*/, "\\1", "g")}') @@ -61,20 +104,20 @@ echo $MAINMONITOR # Mapeia a Wacom para o monitor principal. # https://www.mankier.com/1/xsetwacom -if xsetwacom --list devices | grep -q "Wacom Bamboo Connect .* STYLUS"; then +if xsetwacom --list devices | grep -q "$WACOM .* STYLUS"; then xsetwacom --set "$WACOM Pen stylus" MapToOutput $MAINMONITOR xsetwacom --set "$WACOM Pen stylus" Rotate half fi -if xsetwacom --list devices | grep -q "Wacom Bamboo Connect .* ERASER"; then +if xsetwacom --list devices | grep -q "$WACOM .* ERASER"; then xsetwacom --set "$WACOM Pen eraser" MapToOutput $MAINMONITOR fi -if xsetwacom --list devices | grep -q "Wacom Bamboo Connect .* PAD"; then +if xsetwacom --list devices | grep -q "$WACOM .* PAD"; then xsetwacom --set "$WACOM Pad pad" MapToOutput $MAINMONITOR fi # Configura para manter mapeamento isométrico. ------------------------- -if xsetwacom --list devices | grep -q "Wacom Bamboo Connect .* STYLUS"; then +if xsetwacom --list devices | grep -q "$WACOM .* STYLUS"; then # Determina a área do tablet. AREALEFT=0 AREATOP=0 @@ -122,6 +165,7 @@ if xsetwacom --list devices | grep -q "Wacom Bamboo Connect .* STYLUS"; then echo "Define área de trabalho para escala isométrica." xsetwacom set "$WACOM Pen stylus" \ Area $AREALEFT $AREATOP $RESULTRIGHT $RESULTBOTTOM + echo "Concluído." fi #-----------------------------------------------------------------------