lkml.org 
[lkml]   [2004]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Solved: atkbd w 2.6.2rc1 : HowTo for extra (inet) keys ?
    On Sat, Jan 24, 2004 at 04:28:30AM +0200, P. Christeas wrote:
    > After spending my evening on it :-( I managed to find the correct keys for
    > the Omnibook XE3:
    > (I could only reverse-engineer the previous hack I 've had for it)
    > Download and hack the 'console-tools' package (from sourceforge, project
    > "lct") so that 'setkeycodes' does accept keycodes >127.
    >
    > Vojtech, is 512 the upper bound for <keycode> at setkeycodes?
    >
    > Using 2.6.2-rc1, issue:
    > setkeycodes e071 236
    > setkeycodes e072 237
    > setkeycodes e073 238
    > setkeycodes e074 239
    >
    > so that the upper (near the screen) row of "internet" buttons is assigned to
    > the keys X expect to receive.
    > e071 etc. can be found using 'showkey -s'
    > I still don't get where 236 came from (so that I could help other kbds, as
    > well).

    The almost right solution here would be to write an xkb keyboard
    description that matches the 2.6 keycode->scancode mappings, so that
    once you get the 'setkeycodes' command right, both the kernel and X will
    understand the keys correctly.

    With your approach you got the keys correct solely in X, not the kernel.

    I'll take a look at this.

    The completely right approach would be to teach X to either use the
    event interface or at least the medium raw mode.

    > > On Fri, Jan 23, 2004 at 10:04:27PM +0200, P. Christeas wrote:
    > > > Hello again.
    > > > I just reverted my atkbd.c code to your version (Linus's tree) and
    > > > unfortunately have 4 keys 'missing' from my HP Omnibook XE3GC extra
    > > > "internet keys".
    > > > Question 1: Can I fix the table from userland, using some utility? That
    > > > is, can I upload an updated table into the kernel, so that I don't have
    > > > to reboot?
    > >
    > > 'setkeycodes' can do that.
    > >
    > > > Q 2: Do you have any HowTo/QA for that?
    > >
    > > Not yet, but I'll have to write one.
    > >
    > > > Q 3: Will that work under X? (which AFAIK reads the 'raw' codes)
    > >
    > > X needs to be set up as well. In 2.6, X doesn't get real raw codes but
    > > instead simulated raw codes generated by the kernel.
    > >
    > > > Q 4: It has been rather difficult for me to compute the scancodes needed
    > > > for the table. Could you put the "formula" onto the HowTo?
    > > >
    > > > FYI, the codes are:
    > > > "www": Unknown key pressed (translated set 2, code 0xf3 on
    > > > isa0060/serio0). "Mail": Unknown key pressed (translated set 2, code
    > > > 0xf4 on isa0060/serio0). "Launch": Unknown key pressed (translated set 2,
    > > > code 0xf2 on isa0060/serio0). "Help": Unknown key pressed (translated
    > > > set 2, code 0xf1 on isa0060/serio0).
    > >
    > > The formula for setkeycodes is:
    > >
    > > if (code > 0x100)
    > > you're out of luck, setkeycodes doesn't handle this yet;
    > > else if (code > 0x80)
    > > result = code - 0x80 + 0xe000;
    > > else
    > > result = code;
    > >
    > > And then you use 'setkeycodes result keycode',
    > >
    > > where keycode you find in include/linux/input.h.

    --
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:00    [from the cache]
    ©2003-2014 Jasper Spaans. hosted at Digital Ocean