Re: Setkeycodes w/ keycode >= 0x100 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 3 Mar 2006, linux-os (Dick Johnson) wrote:

> 
> On Fri, 3 Mar 2006, Ian E. Morgan wrote:
> 
> > Since my HP notebook has some unrecognized keys, I have to use setkeycodes to
> > make the kernel recognise them. However, many of the basic (<=255) KEY's from
> > input.h are not suitable, but newer ones (>=0x100) woule be perfect.
> >
> > Any idea how to map scancodes to keycodes >=0x100 when setkeycodes won't
> > accept hex input nor anything greater than 255?
> >
> > Regards,
> > Ian Morgan
> 
> The keyboard controller generates scan-codes from 0 to 255. It reads the
> scan-code information from a byte-wide port (so-called PORT_A in the
> PC/AT), so it can't be any larger than a byte. The controller provides a
> code when the key is pressed and another code when the key is released.
> The only difference between these codes is a single bit. This limits the
> number of possible different scan codes to 127.
> 
> The scan-codes are translated, based upon the Caps Lock, the Ctrl key, the
> Alt key, and the Shift key so, in principle, you could have almost 4 times
> as many keyboard symbols as scan-codes. However, you would have to rewrite
> a lot of keyboard code to take advantage of this.

Perhaps my question was unclear. Here is an example of what I do now:

	#KEY_COFFEE
	setkeycodes e00a 152

This works, but is an illogical arbitrary assignment. I want to do this:

	#KEY_POWER2
	setkeycodes e00a 356

(or some other such thing with a keycode >256). But it fails with:

KDSETKEYCODE: Invalid argument
failed to set scancode 8a to keycode 356

In drivers/char/keyboard.c, there are three cases in which it can return
-EINVAL, but I can't see obviously which one is being hit.

Is the answer simply that we cannot bind scancodes to keycodes greater than
256? If so, then why are there newer KEY's defined in input.h >256, and how does
one ever use them?

Regards,
Ian Morgan

-- 
-------------------------------------------------------------------
 Ian E. Morgan          Vice President & C.O.O.       Webcon, Inc.
 imorgan at webcon dot ca       PGP: #2DA40D07       www.webcon.ca
    *  Customized Linux Network Solutions for your Business  *
-------------------------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux