Re: multimedia keys not working in 2.6.0-test6

From: Vojtech Pavlik (vojtech_at_suse.cz)
Date: 09/30/03

  • Next message: Vitaly Fertman: "Re: 2.6.0-test6 crash while reading files in /proc/fs/reiserfs/sda1"
    Date:	Tue, 30 Sep 2003 18:00:33 +0200
    To: Pau Aliagas <linuxnow@newtral.org>
    
    

    On Tue, Sep 30, 2003 at 05:52:03PM +0200, Pau Aliagas wrote:
    > On Tue, 30 Sep 2003, Vojtech Pavlik wrote:
    >
    > > On Tue, Sep 30, 2003 at 04:56:21PM +0200, Andries Brouwer wrote:
    > >
    > > > On Tue, Sep 30, 2003 at 01:54:59PM +0200, Pau Aliagas wrote:
    > > >
    > > > > These are the messages I get when pressing P1 and P2 in my laptop.
    > > > >
    > > > > kernel: atkbd.c: Unknown key pressed (translated set 2, code 0x153, data 0x74, on isa0060/serio0).
    > > > > kernel: atkbd.c: Unknown key released (translated set 2, code 0x153, data 0xf4, on isa0060/serio0).
    > > > >
    > > > > Email and browser keys report a correct code and I can bind thm to any app
    > > > > using xbindkeys, but with thes two there's no way.
    > > >
    > > > These keys produce scancode e0 74. Untranslated e0 53.
    > > > Entry 0x153 of atkbd_set2_keycode[] is 0, that is why
    > > > the key is called unknown.
    > > >
    > > > The normal way of assigning a keycode is by using setkeycodes.
    > > > This uses the KDSETKEYCODE ioctl, but it is broken at present.
    > > >
    > > > The reason is that it is written to use 0-127 for scancode xx
    > > > and 128-255 for scancode pair e0 xx. (Translated set2, of course.)
    > > > However, the current kernel untranslates what the keyboard sends
    > > > and then uses a scancode-to-keycode mapping for untranslated set 2.
    > > > That breaks this ioctl.
    > > > Moreover, it uses a shift of 256 instead of 128 for e0.
    > > > That also breaks this ioctl.
    > >
    > > It actually works pretty well on 2.6. You jsut have to pass a different
    > > number on 2.6 than you do on 2.4 - that is:
    > >
    > > setkeycodes 153 148
    > >
    > > 153 is the reported scancode (e0 53 untranslated, e0 74 translated),
    > > 148 is the keycode for KEY_PROG1
    > >
    > > (There is still a small bug in the bitmap setting, and I'll be fixing
    > > that tonight, but unless you have more than one scancode generating the
    > > same keycode, it won't bite you.)
    >
    > # setkeycodes 153 148
    > setkeycode: code outside bounds
    > usage: setkeycode scancode keycode ...
    > (where scancode is either xx or e0xx, given in hexadecimal,
    > and keycode is given in decimal)
    >
    > I tried xx153, 0e153, 0exx153 and no way.
     
    Too bad. Your setkeycodes seems to do too clever input data checking.
    Although the ioctl data type for scancode is an int, it insists on the
    value fitting into a byte.

    -- 
    Vojtech Pavlik
    SuSE Labs, SuSE CR
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: Vitaly Fertman: "Re: 2.6.0-test6 crash while reading files in /proc/fs/reiserfs/sda1"

    Relevant Pages

    • [PATCH] setkeycode ioctl fix
      ... This is a bugfix for setkeycode() in /drivers/char/keyboard.c. ... this keycode is not defined any longer. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: keyboard problem with 2.6.6
      ... > Your report is a bit messy. ... Now you told the kernel that scancode 0x71 belongs to keycode 101. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • [patch 23/24] Input - check keycodesize when adjusting keymaps
      ... When changing key mappings we need to make sure that the new ... keycode value can be stored in dev->keycodesize bytes. ... oldkey = SET_INPUT_KEYCODE(dev, scancode, keycode); ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: keyboard problem with 2.6.6
      ... That is my reason I want a raw mode. ... one first asks for the scancode using scancode -s, ... assigns the keycode using setkeycodes. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: suse supports windows key
      ... You press it, it generates a scancode. ... keyboard driver sees this scancode, turns it into a keycode via some ... then gives that keycode to the active tty. ... keysym or keysym combination using xbindkeys and/or xmodmap. ...
      (comp.os.linux.misc)