kbd newbie [Fwd: Re: setkeycodes, sysrq, and USB keyboard]

federico
2005-07-08T20:14:16Z

>>can you tell me in which source file this happens?
>>
>>
>
>drivers/char/keyboard.c
>

i looked at that source (sincerely, this is the first time i look into
the linux sources! :)

int setkeycode(unsigned int scancode, unsigned int keycode)
{
...
list_for_each(node,&kbd_handler.h_list) {
struct input_handle *handle = to_handle_h(node);
if (handle->dev->keycodesize) {
dev = handle->dev;
break;
}
}

if (!dev)
return -ENODEV;

here i try to change scandodes for a keycode, but the the kernel says
ENODEV.
$ cat /proc/bus/input/devices says me:

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
H: Handlers=kbd event0
...

I: Bus=0003 Vendor=045e Product=0084 Version=0000
N: Name="Microsoft Basic Optical Mouse"
...

I: Bus=0003 Vendor=05ac Product=0205 Version=0122
N: Name="Mitsumi Electric Apple Extended USB Keyboard"
P: Phys=usb-0000:00:02.1-1.1/input0
H: Handlers=kbd event2
B: EV=120013
B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=05ac Product=0205 Version=0122
N: Name="Mitsumi Electric Apple Extended USB Keyboard"
P: Phys=usb-0000:00:02.1-1.1/input1
H: Handlers=kbd event3
B: EV=13
B: KEY=1 0 10000 17a 800c000 e0000 0 0 0
B: MSC=10

that handler "kbd" is the one that should receive the scancodes?
maybe the kernel can't get the device for that keyboard? or we miss a
scancode table?

sorry for my being so newbie ;)
ciao!
Federico