Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Problem with layouts(solved)
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

T-3
New Member

6 Posts

Posted - May 03 2010 :  12:44:07 PM  Show Profile  Reply with Quote
I'm using (trying to use) VA with Visual Studio 2010 and the following problem arises: i have 2 keyboard layouts installed - English and Russian. And when VA is enabled then it is only possible to write text in Russian - there is absolutely no reaction on key pressings when English layout is active - not a good thing to leave with :). Disabling VA solves this problem. Playing with layouts - deleting, reinstalling, etc - didn't help in any way.

Thanks.

Edited by - T-3 on May 06 2010 1:30:42 PM

feline
Whole Tomato Software

United Kingdom
18950 Posts

Posted - May 04 2010 :  1:53:40 PM  Show Profile  Reply with Quote
Which OS and version of VA are you using?

Using a winXP system with VS2010 and VA 1822 I have the following keyboard layouts installed:

Japanese, Chinese (PRC), English (United Kingdom), Polish, Russian

and so far I am not seeing any problems with changing the keyboard layout via the language bar, and typing in a different language.

zen is the art of being at one with the two'ness
Go to Top of Page

T-3
New Member

6 Posts

Posted - May 04 2010 :  6:13:34 PM  Show Profile  Reply with Quote
configuration is the same... XP SP3, VS2010, VA 1822, English and Russian - changing set of layouts to just one of them, or adding some, or removing both didn't help in any way. I can admire only russian letters if russian layout is installed and i cannot admire any if it is not :)
Go to Top of Page

T-3
New Member

6 Posts

Posted - May 04 2010 :  7:57:51 PM  Show Profile  Reply with Quote
the trouble is somewhere nearby 0x1ED34B93 in VA_X.dll.
/*in the following sample the 'S' key was used*/
Let's see what happens when the English layout is active. When the main dispatcher at 0x1EF8D445 receives a WM_KEYDOWN(Key=53, KeyData=1f0001), then it uses the call to SendMessageA at 0x1ED34B93 with WM_KEYDOWN(Key=53, KeyData=1f0001), so it's back to 0x1EF8D445 (WM_KEYDOWN, Key=53, KeyData=1f0001). Now at the same place the message WM_CHAR with a proper w- and lParam (Key=73 - this is 's', KeyData=1f0001), that for some strange reason "arrives" at 0x1EF8D445 with zero char-code (i.e. WM_CHAR, Key=0, KeyData=1f0001), so nothing is printed.

Now take a look on the Russian one. The main dispatcher at 0x1EF8D445 receives the same WM_KEYDOWN(Key=53, KeyData=1f0001), then sends the same WM_KEYDOWN(Key=53, KeyData=1f0001), and then receives it in the same manner as above (WM_KEYDOWN, Key=53, KeyData=1f0001). But no further call to WM_CHAR follows, and the letter ('++') is displayed. Hm, i'm really too lazy to do such a plenty of research, so i didn't look very deep in the inner recognition of letters.

Maybe too many messages are used in the first sample... i don't know. The simple delphi program (for 'w' character)
>>SendMessage(Edit1.Handle, WM_CHAR, $77, $110001);
worked fine.

Edited by - T-3 on May 04 2010 7:59:49 PM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18950 Posts

Posted - May 05 2010 :  11:07:37 AM  Show Profile  Reply with Quote
Do you have the language bar showing?
If so, is the language bar docked in the task bar, or is it floating?
In the language bar settings do you have any key sequences defined to change input languages that might be a factor here?

If you load notepad at the same time as Visual Studio, can you change input language correctly in notepad?

zen is the art of being at one with the two'ness
Go to Top of Page

T-3
New Member

6 Posts

Posted - May 05 2010 :  11:56:43 AM  Show Profile  Reply with Quote
>Do you have the language bar showing?
Yes, i do
>If so, is the language bar docked in the task bar, or is it floating?
Docked... Does it really matter?
>In the language bar settings do you have any key sequences defined to change input languages that might be a factor here?
Key combination to change language -- Alt+Shift, to change layout -- none.
Changing to Ctrl+Shift caused nothing.
>If you load notepad at the same time as Visual Studio, can you change input language correctly in notepad?
Yes, i can. But i can change it inside vs -- and even some buttons like backspace or delete do work.
Even if i create a new txt file in vs i can use any input language in it unlike cpp files.
No matter how many languages i have installed -- russian, german, spanish, english(USA), english(Britain) -- the only one working with Visual Assist is russian. Or none of them -- if russian is not installed.
Go to Top of Page

T-3
New Member

6 Posts

Posted - May 06 2010 :  1:29:16 PM  Show Profile  Reply with Quote
Resolved.

After deepening in SendMessageA -> ... -> Conversion routine in win32k.sys (forgot its name, arrgh) found an error in registry -- loosing HKLM\\System\\CurrentControlSet\\Control\\Nls\\CodePage\\1252 REG_SZ key. Added it, and everything's fine now.

Sorry for disturbing.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 06 2010 :  1:47:04 PM  Show Profile  Reply with Quote
Thanks for the update. A few of us tried but failed to repro on multiple systems. Do you have any idea how the error in the registry was introduced?
Go to Top of Page

T-3
New Member

6 Posts

Posted - May 06 2010 :  2:27:46 PM  Show Profile  Reply with Quote
>Do you have any idea how the error in the registry was introduced?
If i could know this... But absolutely no ideas :)
I am surprised by the fact that other programs did work properly -- this conversion routine EngWideCharToMultiByte from win32k.sys must have always failed because of absence of this key, so all WM_CHAR'S in English couldn't work despite the fact they did
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000