diff options
| author | Timmy Keller <tjk@tjkeller.xyz> | 2024-09-02 08:44:38 -0500 | 
|---|---|---|
| committer | Timmy Keller <tjk@tjkeller.xyz> | 2024-09-02 08:44:38 -0500 | 
| commit | a4373a898e65604f58299c947882f50294dd813f (patch) | |
| tree | d07fd4eb4ccf9fef1fa8a73d1160b7174c7c317e /keyboard | |
| parent | 988cadef2c2e51adbfa64da83ec7d25a8de3d924 (diff) | |
| download | scripts-a4373a898e65604f58299c947882f50294dd813f.tar.xz scripts-a4373a898e65604f58299c947882f50294dd813f.zip  | |
various changes over time
Diffstat (limited to 'keyboard')
| -rwxr-xr-x | keyboard/bl | 2 | ||||
| -rwxr-xr-x | keyboard/dockfanctl | 10 | ||||
| -rwxr-xr-x | keyboard/monctl | 38 | ||||
| -rwxr-xr-x | keyboard/shutdownprompt | 6 | ||||
| -rwxr-xr-x | keyboard/sinkswitch | 15 | 
5 files changed, 67 insertions, 4 deletions
diff --git a/keyboard/bl b/keyboard/bl index 84694e9..333d1e8 100755 --- a/keyboard/bl +++ b/keyboard/bl @@ -7,7 +7,7 @@ bl_min=0  bl_max=100  # DDC/CI stuff -ddcutil="ddcutil --sleep-less --noverify --sleep-multiplier $sleep_multiplier" # Make sure user is in group i2c +ddcutil="ddcutil --enable-sleep-less --noverify --sleep-multiplier $sleep_multiplier" # Make sure user is in group i2c  #ddcutil="ddcutil --sleep-less --noverify --enable-capabilities-cache --sleep-multiplier $sleep_multiplier" # Make sure user is in group i2c  max() { [ $1 -gt $2 ] && echo $1 || echo $2; } diff --git a/keyboard/dockfanctl b/keyboard/dockfanctl new file mode 100755 index 0000000..f422b3e --- /dev/null +++ b/keyboard/dockfanctl @@ -0,0 +1,10 @@ +#!/bin/sh +hub=$(doas uhubctl | grep -B3 'Port 3: .* highspeed enable connect .* Lenovo USB2.0 Hub' | grep -o -m1 '[0-9][^ ]*' | head -n1) +! [ "$hub" ] && exit 1 + +echo $hub + +case $1 in +	off) doas uhubctl -a off -p 4 -l $hub ;; +	on)  doas uhubctl -a on  -p 4 -l $hub ;; +esac diff --git a/keyboard/monctl b/keyboard/monctl new file mode 100755 index 0000000..116974f --- /dev/null +++ b/keyboard/monctl @@ -0,0 +1,38 @@ +#!/bin/sh + +display=$2 +input_vcp=0x60 +input_local=0x11 +input_other=0x0f +power_vcp=0xD6 +power_on=0x01 +power_off=0x05 +sleep_multiplier=.1  # Set this as low as you can get away with + +# DDC/CI stuff +ddcutil="ddcutil --noverify --sleep-multiplier $sleep_multiplier --display $display"  # Make sure user is in group i2c + +getstate() { $ddcutil getvcp $1 | grep -o '0x[0-9a-f]*' | tail -n1 ; } + +in_other() { $ddcutil setvcp $input_vcp $input_other ; } +in_local() { $ddcutil setvcp $input_vcp $input_local ; } +pw_on()    { $ddcutil setvcp $power_vcp $power_on    ; } +pw_off()   { $ddcutil setvcp $power_vcp $power_off   ; } + +in_toggle() { [ `getstate $input_vcp` = $input_local ] && in_other || in_local ; }  # Default to input_local +pw_toggle() { [ `getstate $power_vcp` = $pw_on       ] && pw_off   || pw_on    ; }  # Default to power_on + +case $1 in +	inputother)  in_other  ;; +	inputlocal)  in_local  ;; +	inputtoggle) in_toggle ;; +	poweron)     pw_on     ;; +	poweroff)    pw_off    ;; +	powertoggle) pw_toggle ;; +	getinput)    getstate $input_vcp ;; +	getpower)    getstate $power_vcp ;; +	*) +		echo "'$1' is not a recognized option" +		echo "$(basename "$0") [inputother|inputlocal|inputtoggle|poweron|poweroff|powertoggle] display_num" +	;; +esac diff --git a/keyboard/shutdownprompt b/keyboard/shutdownprompt index ce187a8..71cac3d 100755 --- a/keyboard/shutdownprompt +++ b/keyboard/shutdownprompt @@ -13,7 +13,7 @@ for process_name in $warn_process_names; do  done  case $option in -	Suspend)  launch zzz 	;; -	Shutdown) launch off	;; -	Restart)  launch res	;; +	Suspend)  launch zzz ;; +	Shutdown) launch off ;; +	Restart)  launch res ;;  esac diff --git a/keyboard/sinkswitch b/keyboard/sinkswitch new file mode 100755 index 0000000..3046498 --- /dev/null +++ b/keyboard/sinkswitch @@ -0,0 +1,15 @@ +#!/bin/sh +[ $(hostname) != 'T495' ] && echo "Not T495. Exiting" && exit 1 + +status="$(wpctl status)" + +headphones_sink=$(echo "$status" | grep -m1 'ThinkPad USB-C Dock Gen2 USB Audio Analog Stereo \[vol:'                        | grep -m1 -o '[0-9]*') +speakers_sink=$(  echo "$status" | grep -m1 'Raven/Raven2/Fenghuang HDMI/DP Audio Controller Digital Stereo (HDMI 2) \[vol:' | grep -m1 -o '[0-9]*') + +selected_sink=$(echo "$status" | grep -m1 '\*\s*[0-9]*' | grep -o '[0-9]*') + +case $selected_sink in +	$headphones_sink) wpctl set-default $speakers_sink   && echo "Switched to speakers"   ;; +	$speakers_sink)   wpctl set-default $headphones_sink && echo "Switched to headphones" ;; +	*) echo "Cannot find correct sink. Exiting" && exit 1 ;; +esac  | 
