Hi

I need a remote display , which in the
directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want to use
the
remote contol device keyboard same as keyboard on the local device. for this
i used the cerhost.exe in the pc,and open a
wordPad file in wince device.I am able to successfully move the
right,left,up,down,delete,page up,page down,home,enter in the opened
file just as i do in pc,but i can't insert any other char and i am sure the
wordpad file has the focus.the following code is some of
cerdisp.c
case WM_SYSKEYUP:
case WM_SYSKEYDOWN:
if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) == sizeof(USHORT)) {
dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP : 0;
// No scancode data.
RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
}
break;


I am able to successfully capture the keyboard event and display with
UART,all Virtual key are right,but the system just deal the
right,left,up,down,delele,page up,page down,home,enter and tab.

Question:
1. which function will be called in the kernel by keybd_event?
2.how can i synthesizes all keystroke?

Re: cerdisp.c can't synthesizes all keystroke? by Bruce

Bruce
Fri Jun 13 06:12:52 PDT 2008

1. which function will be called in the kernel by keybd_event?
That is actually handled in your keyboard driver.

You could try using Remote Spy to see what windows events are being sent to
WordPad.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"sunny" <sunny@discussions.microsoft.com> wrote in message
news:3316A8D8-FB95-4AAB-A556-F6522F7EDBAD@microsoft.com...
> Hi
>
> I need a remote display , which in the
> directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want to
> use
> the
> remote contol device keyboard same as keyboard on the local device. for
> this
> i used the cerhost.exe in the pc,and open a
> wordPad file in wince device.I am able to successfully move the
> right,left,up,down,delete,page up,page down,home,enter in the opened
> file just as i do in pc,but i can't insert any other char and i am sure
> the
> wordpad file has the focus.the following code is some of
> cerdisp.c
> case WM_SYSKEYUP:
> case WM_SYSKEYDOWN:
> if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) == sizeof(USHORT)) {
> dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP :
> 0;
> // No scancode data.
> RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
> keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
> }
> break;
>
>
> I am able to successfully capture the keyboard event and display with
> UART,all Virtual key are right,but the system just deal the
> right,left,up,down,delele,page up,page down,home,enter and tab.
>
> Question:
> 1. which function will be called in the kernel by keybd_event?
> 2.how can i synthesizes all keystroke?
>



Re: cerdisp.c can't synthesizes all keystroke? by Paul

Paul
Fri Jun 13 09:19:03 PDT 2008

It works fine for me. My guess is that you don't have a keyboard driver
installed on the device. Maybe you don't have a keyboard attached, so it's
not loaded or something. The keyboard driver is responsible for translating
the key code information into actual messages with the correct characters.

Paul T.

"sunny" <sunny@discussions.microsoft.com> wrote in message
news:3316A8D8-FB95-4AAB-A556-F6522F7EDBAD@microsoft.com...
> Hi
>
> I need a remote display , which in the
> directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want to
> use
> the
> remote contol device keyboard same as keyboard on the local device. for
> this
> i used the cerhost.exe in the pc,and open a
> wordPad file in wince device.I am able to successfully move the
> right,left,up,down,delete,page up,page down,home,enter in the opened
> file just as i do in pc,but i can't insert any other char and i am sure
> the
> wordpad file has the focus.the following code is some of
> cerdisp.c
> case WM_SYSKEYUP:
> case WM_SYSKEYDOWN:
> if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) == sizeof(USHORT)) {
> dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP :
> 0;
> // No scancode data.
> RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
> keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
> }
> break;
>
>
> I am able to successfully capture the keyboard event and display with
> UART,all Virtual key are right,but the system just deal the
> right,left,up,down,delele,page up,page down,home,enter and tab.
>
> Question:
> 1. which function will be called in the kernel by keybd_event?
> 2.how can i synthesizes all keystroke?
>



Re: cerdisp.c can't synthesizes all keystroke? by sunny

sunny
Fri Jun 13 20:00:00 PDT 2008

you are righe,i delete keyboard drive and find a default keyboard in the
regedit.i have no keyboard,but the left,right and other keystrokes can
response to my stroke,why?

"Paul G. Tobey [eMVP]" wrote:

> It works fine for me. My guess is that you don't have a keyboard driver
> installed on the device. Maybe you don't have a keyboard attached, so it's
> not loaded or something. The keyboard driver is responsible for translating
> the key code information into actual messages with the correct characters.
>
> Paul T.
>
> "sunny" <sunny@discussions.microsoft.com> wrote in message
> news:3316A8D8-FB95-4AAB-A556-F6522F7EDBAD@microsoft.com...
> > Hi
> >
> > I need a remote display , which in the
> > directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want to
> > use
> > the
> > remote contol device keyboard same as keyboard on the local device. for
> > this
> > i used the cerhost.exe in the pc,and open a
> > wordPad file in wince device.I am able to successfully move the
> > right,left,up,down,delete,page up,page down,home,enter in the opened
> > file just as i do in pc,but i can't insert any other char and i am sure
> > the
> > wordpad file has the focus.the following code is some of
> > cerdisp.c
> > case WM_SYSKEYUP:
> > case WM_SYSKEYDOWN:
> > if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) == sizeof(USHORT)) {
> > dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP :
> > 0;
> > // No scancode data.
> > RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
> > keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
> > }
> > break;
> >
> >
> > I am able to successfully capture the keyboard event and display with
> > UART,all Virtual key are right,but the system just deal the
> > right,left,up,down,delele,page up,page down,home,enter and tab.
> >
> > Question:
> > 1. which function will be called in the kernel by keybd_event?
> > 2.how can i synthesizes all keystroke?
> >
>
>
>

Re: cerdisp.c can't synthesizes all keystroke? by sunny

sunny
Fri Jun 13 20:09:00 PDT 2008

Another question:
I have no local keyboard device and want to synthesizes a keystroke with
remote pc,am i need a keyboard driver?
good luck

"Paul G. Tobey [eMVP]" wrote:

> It works fine for me. My guess is that you don't have a keyboard driver
> installed on the device. Maybe you don't have a keyboard attached, so it's
> not loaded or something. The keyboard driver is responsible for translating
> the key code information into actual messages with the correct characters.
>
> Paul T.
>
> "sunny" <sunny@discussions.microsoft.com> wrote in message
> news:3316A8D8-FB95-4AAB-A556-F6522F7EDBAD@microsoft.com...
> > Hi
> >
> > I need a remote display , which in the
> > directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want to
> > use
> > the
> > remote contol device keyboard same as keyboard on the local device. for
> > this
> > i used the cerhost.exe in the pc,and open a
> > wordPad file in wince device.I am able to successfully move the
> > right,left,up,down,delete,page up,page down,home,enter in the opened
> > file just as i do in pc,but i can't insert any other char and i am sure
> > the
> > wordpad file has the focus.the following code is some of
> > cerdisp.c
> > case WM_SYSKEYUP:
> > case WM_SYSKEYDOWN:
> > if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) == sizeof(USHORT)) {
> > dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP :
> > 0;
> > // No scancode data.
> > RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
> > keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
> > }
> > break;
> >
> >
> > I am able to successfully capture the keyboard event and display with
> > UART,all Virtual key are right,but the system just deal the
> > right,left,up,down,delele,page up,page down,home,enter and tab.
> >
> > Question:
> > 1. which function will be called in the kernel by keybd_event?
> > 2.how can i synthesizes all keystroke?
> >
>
>
>

Re: cerdisp.c can't synthesizes all keystroke? by Bruce

Bruce
Sat Jun 14 06:15:02 PDT 2008

As I said earlier, keybd_event() is handled by the keyboard driver, so yes.
You can use one of the NOP (Stub) keyboard drivers.

--
Bruce Eitman (eMVP)
Senior Engineer
Bruce.Eitman AT EuroTech DOT com
My BLOG http://geekswithblogs.net/bruceeitman

EuroTech Inc.
www.EuroTech.com

"sunny" <sunny@discussions.microsoft.com> wrote in message
news:0BCA7473-3A96-4672-A431-24C2D1476D1D@microsoft.com...
> Another question:
> I have no local keyboard device and want to synthesizes a keystroke with
> remote pc,am i need a keyboard driver?
> good luck
>
> "Paul G. Tobey [eMVP]" wrote:
>
>> It works fine for me. My guess is that you don't have a keyboard driver
>> installed on the device. Maybe you don't have a keyboard attached, so
>> it's
>> not loaded or something. The keyboard driver is responsible for
>> translating
>> the key code information into actual messages with the correct
>> characters.
>>
>> Paul T.
>>
>> "sunny" <sunny@discussions.microsoft.com> wrote in message
>> news:3316A8D8-FB95-4AAB-A556-F6522F7EDBAD@microsoft.com...
>> > Hi
>> >
>> > I need a remote display , which in the
>> > directory:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\CERDISP\CERDISP. I want
>> > to
>> > use
>> > the
>> > remote contol device keyboard same as keyboard on the local device. for
>> > this
>> > i used the cerhost.exe in the pc,and open a
>> > wordPad file in wince device.I am able to successfully move the
>> > right,left,up,down,delete,page up,page down,home,enter in the opened
>> > file just as i do in pc,but i can't insert any other char and i am sure
>> > the
>> > wordpad file has the focus.the following code is some of
>> > cerdisp.c
>> > case WM_SYSKEYUP:
>> > case WM_SYSKEYDOWN:
>> > if (recv (Sock, (char *)MouseData, sizeof(USHORT), 0) ==
>> > sizeof(USHORT)) {
>> > dwFlags = ((WM_KEYUP == Cmd) || (WM_SYSKEYUP == Cmd)) ? KEYEVENTF_KEYUP
>> > :
>> > 0;
>> > // No scancode data.
>> > RETAILMSG(1,(TEXT("%x,newdwFlags=%d\r\n"),MouseData[0],dwFlags));
>> > keybd_event ((BYTE)MouseData[0], 0, dwFlags, 0);
>> > }
>> > break;
>> >
>> >
>> > I am able to successfully capture the keyboard event and display with
>> > UART,all Virtual key are right,but the system just deal the
>> > right,left,up,down,delele,page up,page down,home,enter and tab.
>> >
>> > Question:
>> > 1. which function will be called in the kernel by keybd_event?
>> > 2.how can i synthesizes all keystroke?
>> >
>>
>>
>>