Mam przycisk wyciszania mikrofonu na moim Lenovo Thinkpad T420, ale to nie działa.
Próbowałem xev
więc monitorować zdarzenie prasowe i ten klucz nie został przechwycony.
Czy można to naprawić, na przykład dodać surowy kod klucza?
System operacyjny i laptop
Ubuntu 12.04
, mam również nadzieję, że działa na Arch Linux, ale nie ma większego znaczenia ;-P
Moduł Thinkpad: X220 4290LY9
Poprawka jądra dla Arch Linux
WRESZCIE
To trochę trudne, ale dzięki łatce na jądro i skryptowi acpid działa teraz.
Reszta, której potrzebuję, to demon powiadomień, taki jak ten do wyciszania wyjścia, ale teraz nie ma to większego znaczenia.
shortcut-keys
thinkpad
volume-control
stokrotka
źródło
źródło
xev
, użyjacpi-listen
do monitorowania i naciśnij, powinieneś dostać coś takiegoibm/hotkey HKEY 00000080 0000101b
. Prześlij ten kod tutaj.dmesg|tail
Odpowiedzi:
To rozwiązanie powinno działać dla wszystkich Thinkpadów z przyciskiem wyciszenia, który ma również wbudowane światło. Może również działać z innymi Thinkpadami.
Oprócz bąbelków powiadomień:
Istnieją dwa możliwe wskaźniki „sprzętowe” (pokazujące, że wyciszenie jest włączone lub wyłączone):
Lampka przycisku wyciszenia mikrofonu (pomarańczowa) będzie włączona lub wyłączona, aby pokazać status wyciszenia (podobnie jak w systemie Windows)
Rozwiązanie 2 wymaga poprawionego
thinkpad_acpi
modułu jądra i jest zalecane tylko dla zaawansowanych użytkowników, którzy wiedzą, co robią. Wynika to z faktu, że łatka nie jest domyślnie dołączana przez programistów thinkpad_acpi ( więcej szczegółów można znaleźć w tej dyskusji ).Wspólne kroki
za. Określanie kodu skrótu Mic-Mute i urządzenia wejściowego Mic
Ctrl+Alt+T
acpi_listen
i naciśnij klawisz wyciszeniaZwróć uwagę na wynik, który powinien być mniej więcej taki:
ibm/hotkey HKEY 00000080 0000101b
Następnie uruchom
amixer scontrols
, powinieneś zobaczyć jeden z następujących wyników:lub
W zależności od tego, co widzisz, „Internal Mic” lub „Capture” jest urządzeniem wejściowym.
b. Utwórz moduł obsługi zdarzeń Mic-Mute ACPI
gksudo gedit /etc/acpi/events/lenovo-mutemic
aby otworzyć edytor.acpi_listen
:Wybieranie wskaźników Power Light lub Mic Mute
c-1. Skrypt wyciszania mikrofonu ze wskaźnikiem przycisku zasilania
gksudo gedit /etc/acpi/lenovo-mutemic.sh
W edytorze wklej:
Zamień wartość zmiennej INPUT_DEVICE na,
Capture
jeśli jest to nazwa twojego urządzenia wejściowego (pozostaw wszystkie znaczniki nietknięte).c-2. Wyciszanie mikrofonu z oficjalną lampką kontrolną wyciszenia mikrofonu
Konfigurowanie skryptu
thinkpad_acpi
modułu i zostało sprawdzone, czy działa z Ubuntu Precise 12.04 i Quantal 12.10, jądra 3.2.0-23 oraz 3.2.0-24 i 3.5.0-21.Najpierw stwórzmy skrypt:
/etc/acpi/lenovo-mutemic.sh
powinien być jak w sekcji c-1, z następującymi dodatkami:Wstaw ten wiersz po nagłówku (
#!/bin/bash
):Po pierwszym
echo...
wierszu wstaw:A po drugim
echo...
wierszu wstaw:W tym wklejeniu możesz znaleźć przykładowy wygląd pełnego skryptu
Następnie:
Potwierdź, że naciśnięcie przycisku wyciszenia powoduje miganie lampki zasilania; ponowne naciśnięcie przycisku świeci światłem ciągłym.
Budowanie, testowanie i instalowanie modułu jądra
Zainstaluj (lub upewnij się), że masz nagłówki i zbudowane narzędzia dla aktualnie uruchomionego jądra, używając:
Utwórz katalog tymczasowy i przejdź do niego:
Pobierz plik źródłowy
thinkpad_acpi.c
z repozytorium git jądra Ubuntu:Łata za pomocą (skopiuj i wklej pełną linię):
W tym samym folderze, w którym
thinkpad_acpi.c
został pobrany, potrzebujesz „Makefile”. Możesz pobrać go bezpośrednio z tego Pastebin , używając:LUB wklej poniżej do pliku o nazwie
Makefile
:Teraz wpisz,
make
aby utworzyć moduł; po zakończeniu zobaczyszthinkpad_acpi.ko
plik w folderze.Przetestuj załatany moduł po załadowaniu go za pomocą:
Teraz potwierdź, że naciśnięcie przycisku mikrofonu spowoduje włączenie / wyłączenie pomarańczowej kontrolki mikrofonu ORAZ kontrolki zasilania migającej / ciągłej.
Jeśli zostanie to potwierdzone, wykonaj następujące czynności, aby wymienić bieżący
thinkpad_acpi
moduł:Skomentuj lub usuń linie doprowadzające zasilanie
lenovo-micmute.sh
re. Testowanie
Teraz baw się dobrze, naciskając przycisk wyciszania mikrofonu, powinieneś zobaczyć to odzwierciedlone w:
źródło
Patch it with
a znajdzieszsed
linię niezbędną do aktywacji diody LED wyciszenia mikrofonu.thinkpad_acpi.c
.Make
wyjście jest tutaj . Czy ktoś mógłby mi pomóc rozwiązać ten problem?Nie mogłem go uruchomić od razu po raz pierwszy na Ubuntu 12.10 przy użyciu środowiska Linux.
Naprawiono to poprzez dodanie cudzysłowów i usunięcie przecinka (i dodanie mojej nazwy użytkownika):
a następnie postępował zgodnie ze wskazówkami dotyczącymi kompilacji thinkpad_acpi.
Wszystko na Thinkpad T520 z NVS 4200M, Ubuntu 12.10. Nie zrestartowałem się jeszcze, ale przetestowałem z krokiem testowym, który nakreśliłeś i działa to z włączaniem i wyłączaniem wyciszonej diody LED i faktycznie wyciszaniem (z powiadomieniem). Trochę przeskakiwanie działa wydaje się działać dobrze. Dzięki.
Po ponownym uruchomieniu sam skrypt działa dobrze, wyciszając i wyłączając wyciszenie, ale nie zainstalowałem poprawionego thinkpad_acpi ... oops
Ok, tym razem po ponownym zainstalowaniu uruchomiłem się ponownie, a dioda LED również się świeci. Prawdopodobnie powinien mieć skrypt startowy, aby sprawdzić, czy mikrofon jest wyciszony, czy nie, i włączyć / wyłączyć światło, ponieważ bieżąca konfiguracja włącza / wyłącza światło tylko po naciśnięciu przycisku.
Aby włączyć światło, aby pokazać, czy zostało wyciszone, czy nie podczas uruchamiania zamiast po pierwszym naciśnięciu przycisku, właśnie zapisałem:
Pozwolił na wykonanie
Jak lenovo-mic-check do /etc/init.d/, a następnie uruchomił:
Nie zapomnij również skopiować na /etc/pm/sleep.d/
Teraz lampka świeci się, gdy ponownie uruchamiam komputer, UWAGA: druga, jeśli może to być coś innego.
źródło