#железо #linux
Как определить, заняты ли разъёмы на звуковой карте или нет? Сам момент подключения/отключения отлавливается через acpi_listener без проблем, и на это событие можно повесить скрипт, который отключает звук в колонках при подключении наушников во фронтальный разъём, а вот как проверить текущее состояние — не могу понять.
Ответы
Ответ 1
согласно вот этому ответу, информацию можно почерпнуть из файлов /proc/asound/card*/codec#*. пример из этого ответа: наушники подключены: $ cat /proc/asound/card0/codec#0 [...] Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Control: name="Speaker Phantom Jack", index=0, device=0 Pincap 0x00000014: OUT Detect Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x00: [...] наушники отключены (сравните строки про Pin-ctls): $ cat /proc/asound/card0/codec#0 [...] Node 0x0d [Pin Complex] wcaps 0x400181: Stereo Control: name="Speaker Phantom Jack", index=0, device=0 Pincap 0x00000014: OUT Detect Pin Default 0x90170110: [Fixed] Speaker at Int N/A Conn = Analog, Color = Unknown DefAssociation = 0x1, Sequence = 0x0 Misc = NO_PRESENCE Pin-ctls: 0x40: OUT [...]
Комментариев нет:
Отправить комментарий