distribution/packages/sysutils/system-utils/sources/scripts/headphone_sense
fewtarius 1f6d96325b
* Fix ALSA on x86_64 handhelds.
* Temporary drop or correct multiple packages that needed updates for x86_64.
* Update volume service to deprecate hard coded paths.
* system-utils and sleep to common packages.
* Add weston kiosk.ini for future use.
* Add DIRTY variable, if true it will not clean.
2022-08-31 17:50:23 -04:00

35 lines
1,001 B
Bash
Executable file

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert)
# Source predefined functions and variables
. /etc/profile
# Switch to headphones if we have them already connected at boot
GPIO=$(cat /sys/class/gpio/gpio${DEVICE_JACK}/value)
[[ "$GPIO" == "0" ]] && set_setting "audio.device" "headphone" || set_setting "audio.device" "speakers"
if [ -e "/storage/.config/system/configs/system.cfg" ]; then
/usr/bin/system_utils setaudio $(get_setting "audio.device")
/usr/bin/system_utils vol $(get_setting "audio.volume")
fi
# Headphone sensing
DEVICE="${DEVICE_HEADPHONE_DEV}"
HP_ON='*(SW_HEADPHONE_INSERT), value 0*'
HP_OFF='*(SW_HEADPHONE_INSERT), value 1*'
evtest "${DEVICE}" | while read line; do
case $line in
(${HP_ON})
amixer cset name='Playback Path' HP
set_setting "audio.device" "headphone"
;;
(${HP_OFF})
amixer cset name='Playback Path' SPK
set_setting "audio.device" "speakers"
;;
esac
done