Kbase 21377: When to Use MKPROKEY.EXE and Why
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/29/2005 |
|
Status: Unverified
GOAL:
Use of MKPROKEY (MKPROKEY.EXE) to map correctly characters in DOS-Prompt.
GOAL:
Character User Interface (CHUI)
FACT(s) (Environment):
Progress 8.x
Progress 9.x
Windows 32 Intel
Windows NT 32 Intel/Windows 2000
FIX:
MKPROKEY.EXE is a useful tool that Progress provides to allow you to map certain characters which, in some languages, Progress cannot map correctly. This means that when you type a character under some Regional Settings (Locale) they are not visible when you type them in the Character Procedure Editor (CHUI), nor at run-time.
This behavior is due to a Microsoft problem with the mapping of the keys under certain Locales within Progress.
For example, running under Norwegian Regional Settings (Regional Settings and Keyboard) in Character Client you are not able to see the "@" in the Procedure Editor, nor at run-time in your application when you type this character inside a character variable.
The 32-bit Windows Character Client does not have full support for all foreign keyboard configurations (MS-DOS prompt). The functions that Microsoft provides for reading keyboard input from a console application under the 32-bit Windows platform do not consistently return correct translated values. Progress has founded a bug in the Microsoft Console implementation starting with Windows 95, whereby it does not return the correct translated value for most keys. Instead it returns a native key value.
Progress provides a solution to this problem that can be used with some Local languages. Within your Progress installation you'll find the MKPROKEY.EXE program. MKPROKEY.EXE will allow you to map the missing character(s).
In your DLC directory there is also a Directory called DLC\PROKEY32 with the following files:
mkprokey.c ----- > The source file written in C
mkprokey.exe ----- > The executable file
In your default install, in the DLC\BIN directory there is also a related file:
prokey32.dll ----- > Library file
1) Make sure that these files are present in the mentioned directories.
2) Run the program mkprokey.exe from the DLC\PROKEY32.
3) Press the keys that are not working under your local language.
-- Example:
Norwegian Regional Settings and Keyboard.
Problem: "@" is not responding.
1) While running the mkprokey.exe, type the character that isn't working. In this example the Norwegian Customer will type [ALTGR] and [2] which returns "@".
2) After having mapped all the keys that are not being displayed in this language, press ESC and the programs end.
3) Create an empty .txt file in DLC\BIN directory and name it "prokey32.txt". NOTE: The file should be empty so that the mapping will work.
After doing this the keys should display correctly within the language.
The correct syntax is to run "mkprokey prokey32.txt" which will write the output to the text file for AltGr+key combinations.
Windows 95 needs an empty prokey32.txt when only using standard keys. This is not the case with Windows NT.
Refer to the readme.txt in DLC\PROKEY32 directory.