블루투스 헤드셋/이어버드 컨트롤을 비활성화/변경할 수 있나요?

블루투스 헤드셋/이어버드 컨트롤을 비활성화/변경할 수 있나요?

데비안을 실행하는 노트북에 블루투스 헤드폰(Edifier TWS1 Pro)이 연결되어 있습니다. (편집: 계피 추가)

왼쪽 또는 오른쪽 이어버드를 클릭하면 재생이 일시 중지/다시 시작됩니다. 의도적으로 이 기능을 거의 사용하지 않기 때문에 이는 매우 짜증나는 일이지만, 귀에 있는 이어버드를 조정할 때 하루에 여러 번 실수로 트리거됩니다.

블루투스 제어를 비활성화하거나 VLC 및 mplayer에게 이어버드의 재생/일시 중지 신호를 무시하도록 지시하고 싶습니다.

VLC의 경우 VLC 창에 포커스가 없는지 확인하는 해결 방법이 있습니다.

검색해서 찾았어요https://superuser.com/questions/1761350/how-to-disable-inline-headphone-controls-on-windows-10-11Windows의 경우(사용 가능한 답변이 없음)https://answers.microsoft.com/en-us/msteams/forum/all/any-way-to-disable-headset-control/ffef7d41-d72c-482b-898b-ed1858c03562(비슷한),https://askubuntu.com/questions/1236049/how-do-i-disable-headphone-controls(답변 없음) 및 다양한 BT 연결 문제에 관한 수십 개의 스레드.

이어버드를 열어서 버튼을 영구적으로 분리해 볼까도 생각했지만 이런 것들은 손상 없이 열기가 쉽지 않은데, 버튼은 페어링할 때 유용하게 쓰입니다. 실수로 버튼이 닿지 않도록 커버도 만들어볼까도 생각했는데, 아마 별로 좋아보이지 않을 것 같아요.

일부 이어버드에는 터치 버튼 대신 물리적 버튼이 있는 것으로 알고 있습니다. 나는 이것을 선호하지만 불행히도 물리적 버튼의 가격이 0.01달러 미만임에도 불구하고 (내가 소유한 버튼을 포함하여) 대다수는 터치를 사용합니다. 실제 버튼 구성은 브랜드에 따라 다르다는 것도 알고 있습니다. IIRC, QCY는 재생/다시 시작을 위해 두 번 탭을 사용하고 단일 탭에 아무것도 연결하지 않지만 헤드폰 중 어느 것도 10시간의 재생 시간을 기록하지 못했습니다. 또한 이는 소프트웨어 문제이므로 새 하드웨어를 구입하는 것보다 소프트웨어 솔루션이 더 좋습니다.

편집: JoSSte의 댓글에 있는 링크를 클릭한 후 실행하여 xmodmap -pke찾았습니다 keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause. 일단 들어가면 xmodmap -e 'keycode 172 = '내 이어버드를 클릭하면 더 이상 일시 중지/재개가 발생하지 않습니다! 이 변경 사항은 재부팅 후에도 지속되지 않지만 아마도 알아낼 수 있을 것입니다. 나는 이것을 통제할 수 있어서 이미 행복합니다.

편집 2: 기술적으로는 가능하지만 안타깝게도 키 코드 172가 정기적으로 다시 등록되는 것을 발견했습니다. 원인이 무엇인지는 잘 모르겠지만 최소한 이어버드를 충전기에 넣었다가 다시 꺼내면 발생합니다. 그러나 그것은 또한 무작위로 일어나는 것 같습니다. 확실한 해결책은 xmodmap -e 'keycode 172 = '15초마다 실행하는 것이지만 명령으로 인해 화면이 몇 초 동안 정지되기 때문에 이 방법은 작동하지 않습니다. 따라서 질문은 여전히 ​​열려 있습니다.

편집 3: 이를 자동화하기 위해 작은 쉘 스크립트를 만들었습니다.

#!/bin/bash
while [[ 1 ]]
do
    badkey=$(xmodmap -pke | grep -c "keycode 172 = XF86AudioPlay XF86AudioPause")
    if [[ $badkey == 1 ]]
    then
        xmodmap -e 'keycode 172 = '
    fi
    sleep 5
done

이 작업은 항상 실행되어야 합니다. 실제 스크립트에서는 키코드 172가 다시 채워졌을 때 소리를 재생하기도 합니다. 이를 통해 블루투스 마우스가 비활성으로 인해 대기 모드로 전환된 후 다시 연결하기 위해 터치할 때마다 키코드 172가 다시 활성화되는 것을 발견했습니다. 헤드폰이 연결되지 않은 경우에도 마찬가지입니다. 내 마우스에는 멀티미디어 키가 없습니다.

편집 4(2023년 10월 3일):

나는 그것이 대답이라고 생각하지 않지만 YMMV일 수도 있습니다.

  • dconf-editor터미널 창에 입력하세요.
  • 항해 /org/cinnamon/desktop/keybindings/media-keys.
  • XF86AudioPlay해당 값 을 포함하거나 XF86AudioPause포함하는 항목을 찾습니다.
  • 이 모든 작업이 완료되면 "기본값 사용"을 비활성화하고 []사용자 정의 값을 입력하십시오.
  • 컴퓨터를 다시 시작하시겠습니까?

이는 특히 Cinnamon 데스크탑 환경을 위한 것입니다. 또한 /org/gnome/settings-daemon/plugins/media-keys/비슷한 값이 존재한다는 것을 알았습니다 .

지금은 작동하는지 잘 모르겠습니다. 이어버드를 클릭해도 VLC가 더 이상 일시 중지/재개되지 않지만 mplayer는 계속 작동합니다. 또한 VLC의 설정(도구>기본 설정>모두 표시>인터페이스>핫키 설정)을 망쳤고 현재 VLC에서 무엇이 작동하는지 잘 모르겠지만 재부팅 후에만 작동하는 것 같습니다.

답변1

VLC의 경우 dconf-editor 단계(제 질문의 "편집 4"에 설명되어 있음) 또는 VLC의 도구 > 환경 설정 > 모두 표시 > 인터페이스 > 단축키 설정에서 단축키를 조정하면 됩니다.

~/.mplayer/input.confmplayer의 경우 내용이 PLAY osd_show_text "Ignored multimedia key". PLAY는 나에게 올바른 키이지만 mplayer -input keylist사용 가능한 모든 키 이름을 실행합니다. (http://www.mplayerhq.hu/DOCS/HTML/en/control.html) 내가 사용하는 명령은 비디오가 재생되는 동안 화면에 "멀티미디어 키 무시"라는 텍스트를 오버레이하거나 비디오 창이 없을 때 아무 작업도 수행하지 않습니다. 사용 가능한 모든 명령을 실행합니다 mplayer -input cmdlist. 바라보다http://www.mplayerhq.hu/DOCS/tech/slave.txt이러한 명령이 수행하는 작업에 대한 세부정보입니다.

답변2

이것은 나에게 효과적입니다.

# cat /etc/udev/rules.d/logi-g935.rules
KERNEL=="controlC[0-9]*", SUBSYSTEM=="sound", ACTION=="add", ATTRS{id}=="Headset", RUN+="/usr/bin/su tim -c /opt/udev_scripts/g935_hook.sh"

# cat /opt/udev_scripts/g935_hook.sh
/opt/udev_scripts/disable-g935-buttons.sh &

# cat /opt/udev_scripts/disable-g935-buttons.sh
cd /home/tim

export DISPLAY=:0
export XAUTHORITY=/home/tim/.Xauthority
export XDG_RUNTIME_DIR=/run/user/1000
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus

sleep 0.3

xinput disable "Logitech G935 Gaming Headset"

디렉터리 변경 및 일부 내보내기가 필요하지 않을 수 있습니다. 얼마 전 pactl에 필요했어요.

Hook.sh가 udev와 어떻게 상호 작용하는지 잘 모르겠습니다. 두 번째 스크립트가 너무 오래 걸리면 여전히 종료됩니다. 실행 시 xinput이 헤드셋을 인식하는지 확인해야 합니다. 나처럼 규칙을 실행하기 위해 사운드 하위 시스템을 사용할 때 실제로 필요한지 잘 모르겠습니다. 경쟁 조건일 수도 있고 아닐 수도 있으므로 지금은 테스트하지 않겠습니다. 어차피 이런 일들은 보통 영원히 지속되지는 않지만 이에 대한 보고서를 읽어 보겠습니다.

관련 정보