[lkml]   [2003]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.6.0_test6: CONFIG_I8K produces wrong/no keycodes for special buttons
    > There are 4 special buttons on dell-laptops which you could only get to 
    > work using CONFIG_I8K. This worked well in any 2.4-kernel, by pressing
    > these buttons the keycodes 129. 130, 131, 132 get produced. In
    > 2.6.0-test6_mm2 it produces <nothing>, 162, <nothing>, 110. I've digged
    > into the code without any succes for now. Any hints?
    > Thx,
    > Jan
    > PS: Beside that i've also problems to get some of my pcmcia-cards runnig
    > (ISDN and WLAN). May someone point me to any URL getting more
    > information concerning the new ISDN-TTY-Interface in kernel-2.6?

    This is not entirely correct, you don't need the driver for all buttons.

    The inspiron 8000 has 4 multimedia buttons, 2 volume buttons and 3 Fn-key
    combinations. Other Dell laptops have only one or two buttons.

    The multimedia buttons generate the following raw scancodes which can be
    dumped with showkey -s:

    0xe0 0x01 play
    0xe0 0x02 stop
    0xe0 0x03 back
    0xe0 0x04 forward

    Since the raw scancodes are generate by the keyboard like any other key
    they should be handled by the 2.6.0 kernel as in 2.4.x. If this doesn't
    work it is a bug in the kernel. Did you try showkey -s with 2.6.0?

    Under X-window these 4 keys generate the following keycodes which can be
    mapped to any keysym with xmodmap:

    129 play
    130 stop
    131 back
    132 forward

    These are defined in /etc/X11/xkb/keycodes/xfree86 as <I01>, <I02>, etc.:

    <XFER> = 129; // Henkan
    <NFER> = 131; // Muhenkan
    alias <XFER> = <I01>;
    <I02> = 130;
    alias <NFER> = <I03>;
    <I04> = 132;

    but it is not clear to me where the raw keyboard scancodes are mapped to
    the xfree86 keys <I01>, <I02>, etc.

    For some obscure reason known only to Dell the volume buttons and the Fn-
    keys are trapped by the SMM BIOS and can be read only by the i8k driver
    which under kernel 2.4.x can be programmed to generate the original raw
    scancodes generated by the keyboard:

    0xe0 0x20 fn+vol_mute
    0xe0 0x2e vol_up, fn+vol_down
    0xe0 0x30 vol_up, Fn+vol_up

    (SMM BIOS can be programmed to handle volume buttons as normal keys
    by disabling the Fn- key but then you don't have the Fn- function,
    including bios access and suspend)

    Unfortunately the keyboard interface has changed in 2.6.0 and it is not
    possible to generate the 0xe0, 0x0N sequence as in 2.4.x, so this feature
    has been disabled and you must use i8kbuttons instead. If anybody knows
    how to generate the corresponding scancodes in kernel 2.6.0 please let
    me know.

    echo 16i[q]sa[ln0=aln56%1F+Pln56/snlbx]sb23C15C85417484EC5E429FD9776Asnlbx|dc;\
    echo 16i[APq]sa[ln0=aln5C%1F+Pln5C/snlbx]sb72E28557F7FE184112F53F5FFDsnlbx|dc
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:49    [W:0.023 / U:90.664 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site