Knowledge Base

How to Use ToAscii() in Eastern European Windows

Article ID: 123072

Article Last Modified on 11/5/1999


APPLIES TO


This article was previously published under Q123072

SUMMARY

KEYBOARD.DRV in Eastern European versions of Windows version 3.1 has additional virtual keys. The ToAscii() function is modified in these versions of Windows to support the dual mode keyboard driver.

MORE INFORMATION

Here's the syntax for ToAxcii():
   ToAscii(UINT uVirtKey, UINT uScanCode, BYTE FAR* lpbKeyState,
      DWORD FAR* lpdwTransKey, UINT fuState)
				
In Eastern European versions of Windows version 3.1, uVirtKey has a few additional values specifically intended for these Windows.
   VK_GETSTATUS    0x8A
   VK_SET_PRI      0x88
   VK_SET_SEC      0x89
				
By using these Eastern European specific virtual keycodes, the application can check the current keyboard status, or set the keyboard mode.

To Check keyboard status, use this code:
   uiStatus = ToAscii(VK_GETSTATUS,....);
   if(uiStatus == VK_SET_PRI)
      MessageBox(hWnd, "Primary Mode"...);
   else if(uiStatus == VK_SET_SEC)
      MessageBox(hWnd, "Secondary Mode"...);
   else
      MessageBox(hWnd, "You use non-EE KEYBOARD.DRV"...);
				
To set Primary mode, use this code:
   ToAscii(VK_SET_PRI,...);
				
To set Secondary mode, use this code:
   ToAscii(VK_SET_SEC,...);
				

Additional query words: 3.10 WM_KEYBOARDCHANGE

Keywords: KB123072