Re: Keyboard filter driver - obtaining keyboard indicator status
- From: "Doron Holan [MS]" <doronh@xxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 6 Dec 2005 07:26:42 -0800
you cannot send bytes directly to the keyboard. since your keyboard is
connected via USB, your keyboard is exposed as a HID device to the OS. You
might be able to send set feature requests to the keyboard from your filter
driver, but b/c your actual hardware is not HID aware, this probably won't
work. I don't think you have a solution to your problem unless you can
program your keyboard by setting the LED themselves. If you want to do
that, there is IOCTL_KEYBOARD_SET_INDICATORS in ntddkbd.h that will set
them. see the ddk for the format of the buffers for this IOCTL.
d
--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
"Kyzer" <kyzer626@xxxxxxxxxxx> wrote in message
news:1133854460.711951.252120@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> In my filter driver I do have a separate control device object that I
> can obtain a handle to in my user-mode application and send IOCTLs to
> it. But I can't see how I can send data to the keyboard and receive
> data from the keyboard by sending IOCTLs to this control device object.
>
>
>>>From what I understand from your suggestion, I would need to either
> pass the request down the keyboard stack, or create another request to
> pass to it. This scenario is initially what I was trying to do (using
> IRP_MJ_WRITE) but the keyboard stack does not support this request, and
> I'm not sure if there would be any other requests that may be useful
> for my requirements.
>
> I may not have made myself clear earlier, but it is the keyboard device
> itself that I need to send the data to and receive the data from. If I
> send an IOCTL to the second control device object, it isn't able to
> immediately return the response (ie. the firmware in the keyboard needs
> to receive the data to then send back the appropriate data).
>
> As mentioned in the previous post, if the firmware in the keyboard
> receives the bytes 0xED followed by 0x07, it will set the LED indicator
> lights on. Alternatively, sending a different stream of bytes may then
> force the firmware in the keyboard to send a stream of bytes back.
>
> I hope that clears the issue up and people have further ideas or
> suggestions.
>
> Thanks
>
.
- References:
- Re: Keyboard filter driver - obtaining keyboard indicator status
- From: Kyzer
- Re: Keyboard filter driver - obtaining keyboard indicator status
- From: Doron Holan [MS]
- Re: Keyboard filter driver - obtaining keyboard indicator status
- From: Kyzer
- Re: Keyboard filter driver - obtaining keyboard indicator status
- From: Maxim S. Shatskih
- Re: Keyboard filter driver - obtaining keyboard indicator status
- From: Kyzer
- Re: Keyboard filter driver - obtaining keyboard indicator status
- Prev by Date: Re: MmProbeAndLockPages()
- Next by Date: Re: Another shared serial port scenario
- Previous by thread: Re: Keyboard filter driver - obtaining keyboard indicator status
- Next by thread: Re: Keyboard filter driver - obtaining keyboard indicator status
- Index(es):
Relevant Pages
|