61 lines
1.5 KiB
Bash
Executable file
61 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
|
|
function btstatus(){
|
|
device_mac_list=$(bluetoothctl devices Paired | awk '{print $2}')
|
|
device_json_array=()
|
|
|
|
for m in ${device_mac_list};do
|
|
device_name="$(bluetoothctl info ${m} | grep 'Name: ' | sed 's/.*Name: //')"
|
|
device_connected="$(bluetoothctl info ${m} | grep 'Connected: ' | sed 's/.*Connected: //')"
|
|
device_icon="$(bluetoothctl info ${m} | grep 'Icon: ' | sed 's/.*Icon: //')"
|
|
case "${device_icon}" in
|
|
"input-mouse")
|
|
device_icon="🖯"
|
|
;;
|
|
"phone")
|
|
device_icon=""
|
|
;;
|
|
"input-keyboard")
|
|
device_icon=""
|
|
;;
|
|
"input-gaming")
|
|
device_icon=""
|
|
;;
|
|
"audio-headphones")
|
|
device_icon=""
|
|
;;
|
|
"audio-headset")
|
|
device_icon=""
|
|
;;
|
|
"computer")
|
|
device_icon=""
|
|
;;
|
|
esac
|
|
device_json=$( jq -n --arg name "${device_name}" --arg connected "${device_connected}" --arg icon "${device_icon}" --arg address "${m}" '{name: $name, connected: $connected, icon: $icon, address: $address}')
|
|
device_json_array+=("${device_json}")
|
|
done
|
|
devices_json=$(printf '%s\n' "${device_json_array[@]}" | jq -s .)
|
|
echo ${devices_json}
|
|
}
|
|
|
|
btstatus
|
|
|
|
bluetoothctl | tr -d '\r' | while read -r event;do
|
|
# btstatus
|
|
printf '%s' "${event}"
|
|
done
|
|
|
|
exit
|
|
|
|
bluetoothctl | while read -r event;do
|
|
btstatus
|
|
done
|
|
|
|
#exit
|
|
|
|
#bluetoothctl | awk '/Connected/' | tr -d '\r' | while read -r event; do
|
|
#bluetoothctl | tr -d '\r' | while read -r event; do
|
|
# btstatus
|
|
# echo "${event}"
|
|
#done
|