According to the MSDN documentation for CE .NET 4.2, the
KeybdDriverVKeyToUnicode function is responsible for generating the
correct Unicode characters. I located this function in
WINCE420\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\LAYMGR\laymgr.cpp. This
function is the same one that is located in a different file in the
PLATFORM tree of CE 3.0.

My problem is that whatever changes I make to laymgr.cpp to change the
unicode character has no effect on the target, even if I clean and
rebuild. This is the case even if i hard code the character as a "Q"
so that ALL keystrokes will register that character:

*pcCharacters = 0x0051;

I have done a text search on the entire WINCE420 directory tree, and
laymgr.cpp is the only source file with the KeybdDriverVKeyToUnicode
function.

What must i do to allow my changes to have an effect on the target
machine?

Thank you very much
Martin Johnson

Re: Help! I have a very simple question about generation of unicodes in CE .NET 4.2 by Paul

Paul
Fri Aug 29 16:49:52 CDT 2003

If you change common code, which you should *not* be doing, you have to turn
on the Deptree build option in PB and do a build. Unless you do that, the
last set of libraries generated, or those installed with Platform Builder,
will be used to create the common things for you.

Paul T.

"Martin Johnson" <mjihmill@yahoo.com> wrote in message
news:f12f6a2b.0308291314.38f5c6f7@posting.google.com...
> According to the MSDN documentation for CE .NET 4.2, the
> KeybdDriverVKeyToUnicode function is responsible for generating the
> correct Unicode characters. I located this function in
> WINCE420\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\LAYMGR\laymgr.cpp. This
> function is the same one that is located in a different file in the
> PLATFORM tree of CE 3.0.
>
> My problem is that whatever changes I make to laymgr.cpp to change the
> unicode character has no effect on the target, even if I clean and
> rebuild. This is the case even if i hard code the character as a "Q"
> so that ALL keystrokes will register that character:
>
> *pcCharacters = 0x0051;
>
> I have done a text search on the entire WINCE420 directory tree, and
> laymgr.cpp is the only source file with the KeybdDriverVKeyToUnicode
> function.
>
> What must i do to allow my changes to have an effect on the target
> machine?
>
> Thank you very much
> Martin Johnson



Re: Help! I have a very simple question about generation of unicodes in CE .NET 4.2 by Martin

Martin
Fri Aug 29 19:25:27 CDT 2003

Hi Paul!

Thank you so very much for replying to my message!!!

You are the only one to reply to any of my messages, and i
am eternally grateful.

I tried the Deptree option (I hope i did it correctly: in
the Tools pop-down menu, selected Options and then the
build tab, and checked the checkbox "Enable Deptree
Build"). The build seemed to take forever, but after it
completed there was indeed a difference in target device.

Unfortunately, the results were not logical, because
instead of getting a single character in response to a
keystroke, I got a long string of unprintable chars and
input was crazy.

So, you are apparently correct that I should NOT be
changing common code. That would be consistent with how
the keyboard drivers are done in CE version 3.0, because
the driver in that version (vkchengus1.cpp) is located in
the PLATFORM directory tree instead of the PUBLIC tree.

But all the MSDN documentation for keyboard drivers point
to the laymgr.cpp as the unicode-generating counterpart to
vkchengus1.cpp in 3.0, and there simply is no other cpp
file in the entire WINCE420 directory tree that has the
KeybdDriverVKeyToUnicode function.

You wouldn't happen to know how i can create a file in the
PLATFORM directory tree to accomplish the task, would you?

Again, a million thank-yous for your reply.

Martin Johnson


>-----Original Message-----
>If you change common code, which you should *not* be
doing, you have to turn
>on the Deptree build option in PB and do a build. Unless
you do that, the
>last set of libraries generated, or those installed with
Platform Builder,
>will be used to create the common things for you.
>
>Paul T.
>
>"Martin Johnson" <mjihmill@yahoo.com> wrote in message
>news:f12f6a2b.0308291314.38f5c6f7@posting.google.com...
>> According to the MSDN documentation for CE .NET 4.2, the
>> KeybdDriverVKeyToUnicode function is responsible for
generating the
>> correct Unicode characters. I located this function in
>> WINCE420
\PUBLIC\COMMON\OAK\DRIVERS\KEYBD\LAYMGR\laymgr.cpp. This
>> function is the same one that is located in a different
file in the
>> PLATFORM tree of CE 3.0.
>>
>> My problem is that whatever changes I make to
laymgr.cpp to change the
>> unicode character has no effect on the target, even if
I clean and
>> rebuild. This is the case even if i hard code the
character as a "Q"
>> so that ALL keystrokes will register that character:
>>
>> *pcCharacters = 0x0051;
>>
>> I have done a text search on the entire WINCE420
directory tree, and
>> laymgr.cpp is the only source file with the
KeybdDriverVKeyToUnicode
>> function.
>>
>> What must i do to allow my changes to have an effect on
the target
>> machine?
>>
>> Thank you very much
>> Martin Johnson
>
>
>.
>

Re: Help! I have a very simple question about generation of unicodes in CE .NET 4.2 by mjihmill

mjihmill
Mon Sep 01 09:33:42 CDT 2003

Thank you for your reply Steve!

My task is simple. I need control of the conversion of scan codes to
unicodes, so that our system can be configured for multiple keyboard
layouts using the same keyboard hardware.

In CE 3.0 this was a simple process, involving modifications to the
cpp files in the platform directory tree. In 4.2, there are no
counterparts to the platform keyboard driver files, and the
corresponding code is only found in the layout manager file
(laymgr.cpp) in the common directory tree.

So all i need is the procedure for creating our keyboard layouts in
4.2.

Thanks again for your help!
Martin


"Steve Maillet \(eMVP\)" <nospam1@EntelechyConsulting.com> wrote in message news:<#ms4syxbDHA.2412@TK2MSFTNGP09.phx.gbl>...
> Let's step back a second an take a look at the big picture. What is it you
> are trying to accomplish? The layout manger is designed in such a way the
> you shouldn't need to modify it for keyboard mappings.

Re: Help! I have a very simple question about generation of unico