When I use setkeycodes command with the goal to define multimedia keys given utility complains about keycode bound violation. As far as I know ioctl data type for scancode is an int thus it should be possible to add keycodes which are bigger than one byte length (it is feasible at least for 2.6 kernel). The solution can be as following (it works for me on compaq evo n410c): --- console-tools-0.2.3/kbdtools/setkeycodes.c.orig 2004-10-21 20:37:08 +0300 +++ console-tools-0.2.3/kbdtools/setkeycodes.c 2004-10-21 20:38:25 +0300 @@ -75,7 +75,7 @@ a.scancode -= 0xe000; a.scancode += 128; } - if (a.scancode > 255 || a.keycode > 127) + if (a.scancode > 255 || a.keycode > 255) badusage(_("code outside bounds")); if (ioctl(fd,KDSETKEYCODE,&a)) { Steps to Reproduce: 1. setkeycodes e023 163 2. 3. Actual Results: [root@pc219b root]# setkeycodes e023 163 setkeycodes: code outside bounds Usage: setkeycodes [options] scancode keycode ... (where scancode is either xx or e0xx, given in hexadecimal, and keycode is given in decimal) valid options are: -h --help display this help text and exit -V --version display version information and exit Expected Results: no output on success
Created attachment 612 [details] console-tools-setkeycodes-bound.patch
Пакет есть в 4.0/branch, но в Sisyphus уже orphaned.
Значит на его действующий аналог.
Для kbd 1.13 не актуально.