The micmute hotkey can't work on a Lenovo Thinkcenter AIO
Bug #1531362 reported by
Hui Wang
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
High
|
Hui Wang | ||
linux (Ubuntu) |
Fix Released
|
High
|
Hui Wang |
Bug Description
1. $ arecord aa.wav. During recording, press 'mic-mute' key intermittently.
2. $ aplay aa.wav.
Expected result:
The aa.wav played intermittently.
Actual result:
Mic could not be mute, the sound play in whole range; Its LED is off always.
This is bug is for tracking purposes only, please do not triage.
Changed in hwe-next: | |
status: | New → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Incomplete → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Fix Committed → Fix Released |
Changed in hwe-next: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The patches for Linux kernel driver have been merged to upstream.
commit c7b60a89516beb2 0a352ec85c73a8f ccd5becf26
Author: Hui Wang <email address hidden>
Date: Mon Dec 28 11:35:25 2015 +0800
ALSA: hda - Add keycode map for alc input device
Then users can remap the keycode from userspace. If without the remap,
the input device will pass KEY_MICMUTE to userspace, but in X11 layer,
it uses KEY_F20 rather than KEY_MICMUTE for XF86AudioMicMute. After
adding the keycode map, users can remap the keycode to any value users
want.
Cc: <email address hidden>
Signed-off-by: Hui Wang <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>
commit 3694cb2947db507 53caf432db06748 7eafae7b9b
Author: Kailang <email address hidden>
Date: Mon Dec 28 11:35:24 2015 +0800
ALSA: hda - Add mic mute hotkey quirk for Lenovo ThinkCentre AIO
The Lenovo ThinkCenter AIO uses Line2 (NID 0x1b) to implement the
micmute hotkey, here we register an input device and use Line2 unsol
event to collect the hotkey pressing or releasing.
In the meanwhile, the micmute led is controlled by GPIO2, so we gpio_mic_ mute_hook( ) to control
use an existing function alc_fixup_
the led.
[Hui: And there are two places to register the input device, to make
the code simple and clean, move the two same code sections into a
function.]
Cc: <email address hidden>
Signed-off-by: Kailang <email address hidden>
Signed-off-by: Hui Wang <email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>