5

I already got the keycode from kernel, but acpi_listen won't recognize it in Arch Linux:

# /usr/lib/udev/keymap -i /dev/input/by-path/platform-thinkpad_acpi-event
Press ESC to finish, or Control-C if this device is not your primary keyboard
scan code: 0x1A    key code: micmute

Now I try to map the key by:

# /usr/lib/udev/keymap /dev/input/by-path/platform-thinkpad_acpi-event 0x01a micmute
setting scanode 0x1A to key code 248

But acpi_listen still got no output here.

How should I make acpi_listen recognize it?

UPDATE2

Well , evdev driver doesn't seem to recognize this , I heard someone saying that xorg won't route key event number that went beyond the limit..

It has to be solved as a acpi event , but don't know how

UPDATE

Seems to be complicated,

$ xmodmap -e 'keycode 248 = XF86MicMute NoSymbol XF86MicMute'
xmodmap:  commandline:1:  bad keysym name 'XF86MicMute' in keysym list
xmodmap:  commandline:1:  bad keysym name 'XF86MicMute' in keysym list
xmodmap:  2 errors encountered, aborting.
5
  • 1
    Maybe this helps you, at least gaining insights (and as this progably won't be fixed soon, a workaround; German, but probably self-explanatory)
    – sr_
    May 18, 2012 at 14:05
  • Found an English post describing the workaround (I don't see any reason for this not to work in Ubuntu).
    – sr_
    May 23, 2012 at 9:11
  • @sr_ I found that long time ago , and it doesn't work on Arch Linux ..
    – daisy
    May 23, 2012 at 9:35
  • The keycode 248 is simply not mapped because 248+8>255, the hard-coded limit... So to workaround you first have to change this on a lower level before xmodmap is of any use.
    – sr_
    May 23, 2012 at 9:58
  • @sr_ i forget to reboot to make those changes effects , it worked indeed ..
    – daisy
    May 26, 2012 at 1:18

1 Answer 1

1
+50

The problem is that key code micmute is out of range, as explained in this bug report. So you need to remap scan code 0x1A to some other key code you are not using that is in range. If this workaround using prog2 doesn't work you have to pick some other key code. You can look in /usr/include/linux/input.h to see which key codes are defined and then look at your keymap to see what key codes are in use. Remember to pick a key code < 247.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .