Ich habe eine Mikrofon-Stummschalttaste an meinem Lenovo Thinkpad T420, aber sie funktioniert nicht.
Also habe ich versucht xev
, das Presseereignis zu überwachen, und diese Taste wurde nicht erfasst.
Gibt es sowieso eine Möglichkeit, das Problem zu beheben, wie beispielsweise einen rohen Schlüsselcode hinzuzufügen?
Betriebssystem und Laptop
Ubuntu 12.04
Ich hoffe auch, dass es unter Arch Linux funktioniert, aber es macht nicht viel aus ;-P
Thinkpad-Modul: X220 4290LY9
Kernel-Patch für Arch Linux
ENDLICH
Es ist ein wenig knifflig, aber mit dem Kernel-Patch und dem acpid-Skript funktioniert es jetzt.
Der Rest, den ich brauche, ist ein Benachrichtigungs-Daemon wie der für die Stummschaltung der Ausgabe, aber das macht jetzt nicht viel.
shortcut-keys
thinkpad
volume-control
Gänseblümchen
quelle
quelle
xev
Verwenden Sie stattdessen , umacpi-listen
zu überwachen und zu drücken, sollten Sie so etwas wie erhaltenibm/hotkey HKEY 00000080 0000101b
. Bitte poste diesen Code hier.dmesg|tail
Antworten:
Diese Lösung sollte für alle Thinkpads mit einer Stummschalttaste funktionieren, die auch über eine eingebaute Beleuchtung verfügt. Es kann auch für andere Thinkpads funktionieren.
Abgesehen von den Benachrichtigungsblasen:
Es gibt zwei mögliche "Hardware" -Anzeigen (um anzuzeigen, dass die Stummschaltung aktiviert oder deaktiviert ist):
Die Mic Mute-Taste (orange) leuchtet nicht, um den Stummschaltungsstatus anzuzeigen (genau wie in Windows).
Lösung 2 erfordert ein gepatchtes
thinkpad_acpi
Kernelmodul und wird nur erfahrenen Benutzern empfohlen, die wissen, was sie tun. Dies liegt daran, dass der Patch standardmäßig nicht von den thinkpad_acpi-Entwicklern bereitgestellt wird. ( Weitere Informationen finden Sie in dieser Diskussion .)Gemeinsame Schritte
ein. Bestimmen des Mic-Mute-Hotkey-Codes und des Mic-Eingabegeräts
Ctrl+Alt+T
acpi_listen
, und drücken Sie die StummschalttasteBeachten Sie das Ergebnis, das ungefähr so aussehen sollte:
ibm/hotkey HKEY 00000080 0000101b
Führen
amixer scontrols
Sie dann Folgendes aus:oder
Je nachdem, was Sie sehen, ist "Internal Mic" oder "Capture" Ihr Eingabegerät.
b. Erstellen Sie den Mic-Mute ACPI-Ereignishandler
gksudo gedit /etc/acpi/events/lenovo-mutemic
öffnen , geben Sie ein , um den Editor zu öffnen.acpi_listen
:Wählen Sie entweder die Power Light- oder die Mic Mute-Anzeige
c-1. Mic-Mute-Skript mit Power Button-Anzeige
gksudo gedit /etc/acpi/lenovo-mutemic.sh
Fügen Sie im Editor Folgendes ein:
Ersetzen Sie den Wert der Variablen INPUT_DEVICE durch den
Capture
Namen Ihres Eingabegeräts (lassen Sie alle Häkchen intakt).c-2. Mic-Mute mit offizieller Mic-Mute-Kontrollleuchte
Einrichten des Skripts
thinkpad_acpi
Moduls und wurde für die Kompatibilität mit Ubuntu Precise 12.04 und Quantal 12.10, den Kerneln 3.2.0-23 und 3.2.0-24 und 3.5.0-21 überprüft.Lassen Sie uns zuerst das Skript erstellen:
/etc/acpi/lenovo-mutemic.sh
sollte wie in Abschnitt c-1 sein, mit den folgenden Ergänzungen:Fügen Sie diese Zeile nach der Überschrift (
#!/bin/bash
) ein:Fügen Sie nach der ersten
echo...
Zeile Folgendes ein:Und nach der zweiten
echo...
Zeile einfügen:In dieser Paste finden Sie ein Beispiel, wie das vollständige Skript aussehen soll
Dann:
Vergewissern Sie sich, dass durch Drücken der Stummschalttaste die Betriebsanzeige blinkt. Nochmaliges Drücken gibt ein konstantes Power-Licht.
Erstellen, Testen und Installieren des Kernelmoduls
Installieren Sie (oder stellen Sie sicher), dass Sie die Header und Tools für Ihren aktuell ausgeführten Kernel haben:
Erstellen Sie ein temporäres Verzeichnis und wechseln Sie dorthin:
Laden Sie die Quelldatei
thinkpad_acpi.c
aus dem Ubuntu-Kernel-Git-Repository herunter :Patche es mit (kopiere und füge die ganze Zeile ein):
In demselben Ordner, in
thinkpad_acpi.c
den Sie heruntergeladen haben, benötigen Sie ein "Makefile". Sie können es direkt von diesem Pastebin herunterladen :ODER fügen Sie das Folgende in eine Datei mit dem Namen
Makefile
:Geben Sie nun Folgendes ein
make
, um das Modul zu erstellen.thinkpad_acpi.ko
Wenn Sie fertig sind, sehen Sie eine Datei im Ordner.Testen Sie das gepatchte Modul nach dem Laden mit:
Vergewissern Sie sich nun, dass durch Drücken der Mikrofontaste das orange Mikrofonlicht ein- und ausgeschaltet wird UND die Betriebsanzeige blinkt / leuchtet.
Wenn dies bestätigt wurde, gehen Sie wie folgt vor, um Ihr aktuelles
thinkpad_acpi
Modul zu ersetzen :Kommentieren Sie die Strom-LED-Leitungen aus oder löschen Sie sie
lenovo-micmute.sh
d. Testen
Nun viel Spaß beim Drücken der Mic Mute-Taste, sie sollte sich wie folgt widerspiegeln:
quelle
Patch it with
und finden Sie diesed
Leitung, die zum Aktivieren der Mikrofon-Stummschalt-LED erforderlich ist.thinkpad_acpi.c
.Make
Ausgabe ist hier . Könnte mir bitte jemand bei der Lösung dieses Problems helfen?Unter Ubuntu 12.10 konnte ich es nicht sofort zum ersten Mal mit einer Linux-Desktop-Umgebung zum Laufen bringen.
Es wurde durch einfaches Hinzufügen von Anführungszeichen und Entfernen des Kommas (und Hinzufügen meines Benutzernamens) behoben:
und befolgte dann Ihre Schritte beim Kompilieren des thinkpad_acpi.
Alles auf einem Thinkpad T520 mit NVS 4200M, Ubuntu 12.10. Noch nicht neu gestartet, aber ich habe mit dem von Ihnen beschriebenen Testschritt getestet und er funktioniert, indem die Stummschalt-LED ein- und ausgeschaltet und tatsächlich stummgeschaltet wird (mit der Benachrichtigung). Die Waffe ein wenig zu springen scheint gut zu funktionieren. Vielen Dank.
Gut neu gestartet, das Skript selbst funktioniert einwandfrei, aber ich habe das gepatchte thinkpad_acpi ... oops nicht installiert
Okay, neu gestartet, nachdem es dieses Mal richtig installiert wurde und die LED ebenfalls aufleuchtet. Sollte wahrscheinlich ein Startskript haben, um zu überprüfen, ob das Mikrofon stummgeschaltet ist oder nicht, und das Licht ein- / ausschalten, da das aktuelle Setup das Licht nur ein- / ausschaltet, wenn der Knopf gedrückt wird.
Damit das Licht anzeigt, ob es beim Start stummgeschaltet wurde oder nicht, anstatt beim ersten Drücken der Taste, habe ich Folgendes gespeichert:
Gab es die Erlaubnis auszuführen
Als lenovo-mic-check nach /etc/init.d/ und dann lief:
Vergessen Sie auch nicht, nach /etc/pm/sleep.d/ zu kopieren.
Jetzt leuchtet das Licht, wenn ich den Computer neu starte. HINWEIS: Das zweite wenn könnte nur ein anderes sein.
quelle