Running on Slackware64-current, mic mute button is not detected. Here is my solution.

Download and build thinkpad_acpi kernel module from ubuntu
Reinstall (replace) original thinkpad_acpi kernel module:

root@pcxthinkslack:/home/bowo/Build/tp_acpi# make
make -C /lib/modules/3.7.10-zen-pcx/build M=/home/bowo/Build/tp_acpi modules
make[1] : on entre dans le répertoire « /usr/src/zen-kernel-3.7-master »
Building modules, stage 2.   MODPOST 1 modules make[1] : on quitte le répertoire « /usr/src/zen-kernel-3.7-master »
root@pcxthinkslack:/home/bowo/Build/tp_acpi# cp thinkpad_acpi.ko /lib/modules/3.7.10-zen-pcx/kernel/drivers/platform/x86/thinkpad_acpi.ko

Remap keyboard

root@pcxthinkslack:/home/bowo# grep -nir mute /lib/udev/keymaps/module-lenovo
15:0x16 mute 17:0x1A f20 # Microphone mute
root@pcxthinkslack:/home/bowo# grep -nir Mute /usr/share/X11/XKeysymDB
14:hpmute_acute         :100000A8
15:hpmute_grave         :100000A9
16:hpmute_asciicircum   :100000AA
17:hpmute_diaeresis     :100000AB
18:hpmute_asciitilde    :100000AC
171:SunAudioMute                :1005FF78
207:XF86AudioMute               :1008FF12
355:XF86MicMute             :1008FFAA
root@pcxthinkslack:/home/bowo# grep -nir MicMute /etc/X11/xkb/symbols/inet
119:    key <FK20>   {      [ XF86MicMute      ]       };

Bind keyboard event with xbindkeys
Now, xev should detect mic button event. Use xev to get this value:

root@pcxthinkslack:/home/bowo# tail -n 10 .xbindkeysrc

 # Toogle discharge on fn+f3
 "/usr/local/bin/toogle-discharge.sh"
    m:0x0 + c:244
    XF86Battery
 # Key mute button
 "/usr/local/bin/lenovo-mutemic.sh"
   m:0x0 + c:198
  XF86MicMute

and this is /usr/local/bin/lenovo-mutemic.sh contents

root@pcxthinkslack:/home/bowo# cat /usr/local/bin/lenovo-mutemic.sh
#!/bin/bash
# workaround to permission denied walaupun dengan sudo
sudo chmod o+w /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
if amixer sget 'Internal Mic',0 | grep '[on]' ; then
    # Mute mic
    amixer sset 'Internal Mic',0 toggle
    #su bowo -c 'DISPLAY=":0" notify-send  KMix "Mic is muted" -i kmix'
    logger "Mic is muted"
    echo 1 >  /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
else
    # Un-mute mic
    amixer sset 'Internal Mic',0 toggle
    #su bowo -c 'DISPLAY=":0" notify-send  KMix "Mic is unmuted" -i kmix'
    logger "Mic is unmuted"
    echo 0 >  /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
fi
sudo chmod o-w /sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightnes

=-=-=-=-=
Powered by Blogilo