Updated 03/11/98

This disk has some new files added to it, these files allow the user to communicate 
with our keyboards from a DOS box from within windows. These programs also solve 
some of the earlier problems encountered during communications with our keyboards.
Thus if you are having a problem downloading to a keyboard a file from PREH-MWX
program save the file and download it using these new utilities most of the time
it will work.

Wcopy2wx - is equvalent to copy2mwx a newer version that will work from within windows.
Wreadwx - same as readmwx a newer version that will work from within windows.
Version is a batch file that will query the keyboard for its version and report it to 
the screen. It will work with the latest firmware though not very old ones.

Check - Batchfile which give you the Number of Firmware. Please note if you contact us. 

End of Update !!
_______________________________________________________________________________________ 

Programming instructions for Preh COMMANDER M 84 W/X, M 128
W/X, PC-POS, and PC-POS Junior keyboards 

Each key position of the Preh COMMANDER M 84 W/X, M 128 W/X, 
PC-POS, and PC-POS Junior keyboards keyboards can be independently
programmed as either strings or as single key assignments. 
The key assignments are stored in an internal EEPROM memory 
which retains the key assignments after the keyboard has been
turned off. 

Two programming methods are supported, the ON-LINE programming
method, and programming using the PREH PROGRAMMER MWX software.
Both programming methods  offer flexibility in specifying key
assignments. In addition, a simple  downloading utility program
is offered which can be used to easily download  key assignment
files created with the MWX software.

ON LINE PROGRAMMING METHOD (ONLY FOR M 84 W/X and M 128 W/X):

Each PREH W/X keyboard comes equipped with an additional DIN or
Mini DIN receptacle on the right side of the housing which can
be used to daisy chain a standard MF keyboard. The ON-LINE
Programming method utilizes this MF keyboard to enter and exit
the programming mode and also to enter the desired key
assignments. In this mode each key can be programmed up to 16
levels.

By pressing a special key combination (Hotkey) which is
recognized by the  W/X keyboard, the programming, or learning
mode, is started. This Hotkey is  entered using the standard
keyboard. Separate hotkeys are specified for  Strings (more than
one character) and Single key assignments, and are  initially
specified as SYSRQ (or ALT+PRTSC) and CTRL+SYSRQ  (or
CTRL+ALT+PRTSC) respectively. PLEASE NOTE THAT IT IS NECESSARY
TO USE THE LEFT ALT KEY ONLY. THE RIGHT ALT KEY OUTPUTS A DIFFERENT
CODE AND CAN NOT BE USED FOR THE ON-LINE PROGRAMMING METHOD.


The Hotkey specifications may be
modified  using the PREH PROGRAMMER MWX software as explained in
the following section.  These same hotkeys are used to end the
programming mode. 

The ON-LINE programming mode operates in the following manner:

1.      Press the appropriate Hotkey on the standard keyboard,
	according to the type of key assignment to be programmed.
	This enters the programming mode. The SCROLL LOCK LED on 
	the W/X keyboard will begin flashing at a rapid rate to 
	indicate that the programming mode is active.         

2.      Press the key position to be programmed on the W/X
	keyboard. To assign a key assignment to a different level,
	it is necessary to hold down the key corresponding to the
	desired level (on the standard keyboard) at the same time 
	as the key on the W/X keyboard is pressed. 

The SCROLL LOCK LED will continue to flash,except at a slower
rate.

3.      The desired string or single key assignment can now be
	entered using the standard keyboard.

4.      After the desired key assignment has been entered, it is
	necessary to press the Hotkey on the standard keyboard 
	again. The SCROLL LOCK LED will now stop flashing to indicate 
	that the programming mode is no longer active. 

Key positions on the W/X keyboard are identified according to
the row and  column in which the key is located. When the
keyboard is in the normal  operating position, the lowermost row
is identied as row A. The leftmost  column is identified as
column 01. The M 84 W/X keyboard has 7 rows (A - G)  and 12
columns (01 - 12). The M 128 W/X keyboard has 8 rows (A - H) and
16 columns (01 - 16). The PREH PROGRAMMER MWX software also uses
this same identification method.

H01 H02 H03 H04 H05 H06 H07 H08 H09 H10 H11 H12 H13 H14 H15 H16 
G01 G02 G03 G04 G05 G06 G07 G08 G09 G10 G11 G12 G13 G14 G15 G16
F01 F02 F03 F04 F05 F06 F07 F08 F09 F10 F11 F12 F13 F14 F15 F16
E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16
D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16
C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16
B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B16
A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 

The following examples should help to demonstrate the
programming features:

1. Assign the word 'Preh' to key position G01.

	a).     Press the SYSRQ key on the standard keyboard to
		enter the programming mode. The SCROLL LOCK LED 
		will begin flashing at a rapid rate.

	b).     Press key position G01 on the W/X keyboard. The 
		SCROLL LOCK LED will now flash at a slower rate.

	c).     Input the word 'Preh' on the standard keyboard.

	d).     Press the SYSRQ key on the standard keyboard to 
		exit the programming mode. The SCROLL LOCK LED 
		will stop flashing.

2. Position a LEFT SHIFT key to key position A01.

	a).     Press CTRL+SYSRQ on the standard keyboard to enter
		the programming mode. The SCROLL LOCK LED will begin
		flashing at a rapid rate.

	b).     Press key position A01 on the W/X keyboard. The
		SCROLL LOCK LED will now flash at a slower rate.

	c).     Press the LEFT SHIFT key on the standard keyboard.
		The programming mode is automatically exited and
		the SCROLL LOCK LED will stop flashing.

3. Assign the word 'Preh' to the SHIFT level of key position G01.

	a).     Press the SYSRQ on the standard keyboard to enter
		the programming mode. The SCROLL LOCK LED will begin 
		flashing at a rapid rate.

	b).     Press and hold down the LEFT SHIFT key on the standard
		keyboard while pressing key position G01 on the W/X 
		keyboard.

	The SCROLL LOCK LED will now flash at a slower rate.

	c).     Input the word 'Test' on the standard keyboard.

	d).     Press the SYSRQ key on the standard keyboard to 
		exit the programming mode. The SCROLL LOCK LED will 
		stop flashing.

Programming using Preh Programmer MWX Software

The PREH PROGRAMMER MWX (Version 4.0.x) is used to create and edit
the key assignments for the PREH COMMANDER M 84 W/X, and M 128 W/X
keyboards. The program may be run on a MS-DOS computer (80286 or higher)
with 640K RAM and a color display (CGA, EGA, or VGA). A mouse is
recommended.

With the PREH PROGRAMMER MWX software additional programming features
are provided. This programming method supports up and downloading
functions over the keyboard interface, and the different key assignments
can be easily modified and/or duplicated. With this method each key
can be programmed up to 64 levels.

The program is started with:
[Drive:] [Path] PREH-MWX [/ [ US | GR | FR | UK | SG | SF | IT | SP | ? | H] [Filename]

The parameters have the following meaning:
/US, GR, Etc. 	The translation of strings into scancodes is done according
		to the KEYB language program selected.
/? or /H 	Displays the correct syntax

After the program has been started the main menu appears with the following
selections:

File		Load, Store, Upload, Download, and Exit
Edit		Editing of the key assignments, hotkeys, and interface
Defaults	Default-settings (Levels and attributes) for new keys
Configuration	Settings of the operating mode of the Preh Programmer
List		Viewing or printing of the key assignment as a list
Utilities	Utilities for default key assignments and key protection
Help		Viewing help screens 

Using the keyboard, these menu items are selected by pressing the ALT-key 
together with the highlighted letter key. Using the mouse, the corresponding
item is clicked. Then a pull-down menu appears. There additional submenu 
functions can be selected.
	
File Menu:
In this menu, the following functions are displayed:

Open		To load (open) a MWX - key assignment file
New		To erase the active MWX - key assignment file in RAM	
Save		To store (save) a MWX - key assignment file
Save as..	To store (save) a MWX - key assignment file 
Read Keytable 	To read the key assignments stored in the keyboard
Write Keytable 	To write the key assignments into the keyboard
Use Interface	To select the interface (AT, COM1, COM2) for reading/writing
		the key assignment file. Normally AT is used, RS 232 versions
		use the appropriate COM port.
Exit		To end the program and return to DOS
Esc		To return to the main menu

Edit Menu:

This menu offers functions for programming the key assignments of the
keyboard. The following functions are displayed:

Keys		To enter the key assignment definitions for each key
Modules		Selection of the operating mode and the header and 					terminator strings for the optional modules
Hotkey0		To program the definition of the Hotkey for On-Line 					string Programming
Hotkey1		To program the definition of the Hotkey for On-Line 					Single key Programming
Interface	Selection of interface format, AT or XT, RS 232
Sound          	To program the volume and duration of keyclick and alarm beep
Repeat/Delay	This function allows the autorepeat rate as well as the 					delay time to be set.	SlowOutputSpeed	This function allows the slow output speed to be 					specified.

Defaults Menu:
In this menu the default settings of the key levels and the attributes
for new assignments can be set, therefore making the operation of the 'KEYS'
function in the EDIT menu easier.

The following functions for setting key level defaults are displayed:
Normal level    Definition of the normal level of the key
Shift level     Definition of the Shift level of the key
Ctrl level      Definition of the Ctrl level of the key
Alt level      	Definition of the Alt level of the key
Standard key    To operate as a standard key operates
Special level   Custom level as defined in Expert Mode

The following attributes can also be set for each individual key:

Keyclick	To turn on/off the keyclick sound
Repeat		To turn on/off the autorepeat function
Protect		To enable/disable On-line programming 
Slow Output	Slower string output (necessary when buffer overflow occurs)

Configuration Menu:

In this menu you find the functions used to change the operating mode
of the Preh Programmer.  

Input Mode:	Selection of the input mode for key assignments.
	String		Entering of text-strings and automatic translation
			into Scancodes
	Scancode	Entering of the Scancodes in HEX format
	ASCII		Entering of ASCII characters
	Expertmode	Expert mode or normal mode active

To simplify the creation and editing of the key assignments, it is possible
to switch between the normal mode and a EXPERT mode. In the normal mode the 
program reduces the available selections automatically. In Expert mode all
setting possibilities are made available. In this mode it is necessary to 
pay closer attention to the combination of all states and attribute flags
that the keyboard will produce along with the desired key assignments.

Matrix Size...	Selection of the Matrix size, 84,128, PC-POS, or PC-POS
Junior Key matrix



KEYB Language... For automatic translation of the strings into Scancodes
the correct keyboard language must be defined.  At the present time the
keyboard language can be selected between:

US	Translation according to KEYB US (US)
GR	Translation according to KEYB GR (German)
FR	Translation according to KEYB FR (French)
UK	Translation according to KEYB UK (United Kingdom)
SG	Translation according to KEYB SG (Swiss - German)
SF	Translation according to KEYB SF (Swiss - French)
IT	Translation according to KEYB IT (Italy)
SP	Translation according to KEYB SP (Spain)

Save Configuration	The programmer allows a configuration file 
			PREH-MWX.CFG to be saved so that each time the
			program is started it will automatically select
			the correct keyboard.

List Menu:
With this menu you can see the key assignment list on a display, output
it to a printer, or list it to a file.

Display		The key assignments are displayed on the screen. The key 
		assignments can also be edited in this mode by highlighting 
		the row with the listed key assignment and pressing RETURN, 
		or by using the mouse. With ESC this list can be canceled.
Printer		The key assignment list is sent to the printer that is 
		connected to LPT1.
File		The key assignment list is sent to a file with the extension
		".LST".

Utilities Menu
Add Default Key Assignment	Automatically defines the QWERTY section
				in the program for PC-POS and PC-POS Junior
Protect All Keys		Turns on the key protection for all keys 
Unprotect All Keys		Turns off the key protection for all keys 
Copy Keys			This function allows you to copy the key 					assignment you have already defined for one 					key to a different key.
Swap Keys			This function allows you to swap the key 					assignments 	you have already defined 						between two keys.

Help Menu:
Help is available at any time by pressing F1 or the right mouse button.

Remarks:
When the KEYS function is selected, a window which shows all possible key
positions is displayed. From this table it is possible to select the key
position to be programmed. Keys which are already programmed will be
displayed in bold text. Also in this window additional menu choices for
programming the expansion options are displayed. After a key position has
been selected from the main window, another window appears with a row
labeled  'assignment'  where the key assignment can be entered.  If this
key position is already programmed, the current key assignment and attribute
settings will be shown in this area.  If it is not yet programmed, then
this area will be empty, and the default attribute settings as selected
from the option menu will be displayed. The key assignment will be stored
when ENTER is pressed.  The settings of the remaining fields can also
be changed before this assignment is stored.  If an invalid key assignment
is entered in the assignment now, then the cursor will blink in the area
of the invalid character. The mistake can be corrected and then stored.
To program another key it is possible to enter the key position in the 
"key position" field directly, or by clearing the key position field and 
pressing ENTER.  Now the main window with all of the key positions is displayed
again and a new key position can be chosen. By pressing ESC the entry can be
stopped and the program will return to the main window.

For standard keys, it is possible to enter the key assignment as a word,
included within brackets, for example {F1} for the F1 key, or {ENTER}
for the ENTER key.

Abbreviations used on Standard Key Level:

F1...F12	Function keys F1 ... F12
FS1...FS12	SHIFT + Function keys F1...F12
FC1...FC12	CTRL + Function keys F1...F12
FA1...FA12	ALT + Function keys F1...F12
N0...N9		Number keys in numeric  block
SPACE		Space bar (Shall only be used at the end of the row)
BACKSPACE	Backspace key (abbreviation of BS allowed)
PAUSE		Pause Key
BREAK		Break Key
INS		Insert Key
DEL		Delete Key
PGUP		PgUp Key
PGDN		PgDn Key
HOME		Home Key
END		End Key
SYS		SysRq function on
SYSBREAK	SysRq function off
NUM		NumLock key
SCROLL		ScrollLock key
CAPS		Caps Lock Key
PRTSC		Print screen key
ESC		Escape Key
TAB		Tab key
LEFT		Left arrow key
RIGHT		Right arrow key
UP		Up arrow key
DOWN		Down arrow key
RETURN		Return key
ENTER		Enter key
PLUS		Plus key in numeric block
MINUS		Minus key in numeric block
STAR		* (Multiplication) key in numeric block
DIV		/ (division) key in numeric block
RESET		Reset function
NUL		NULL byte
SHIFT		Shift key
CTRL		Ctrl key
ALT		Alt key
ALTGR		AltGr key
LWIN            Left Windows Key
RWIN            Right Windows Key
APP             Windows Application Key


Examples:
{F1}, {UP}, {ENTER]
 
Abbreviations used on NORMAL Level 
SHIFT+ ...	Shift key plus ...
CTRL+ ...	Ctrl key plus ...
ALT+ ...	Alt key plus ...
ALTGR+ ...	AltGr key plus ...
DELAY		0.5 Second Delay

Examples:
{Ctrl+F5},{Ctrl+A},{Delay}, {Alt+X}, ...

Additional programming tools
The following additional programming tools are provided for
the Preh keyboards.

COPY2MWX.EXE 
The downloading utility COPY2MWX.EXE  is provided to
allow downloading of a MWX key assignment file without having
to use the downloading function of the PREH PROGRAMMER MWX
software. For example, this utility can be executed from within
a batch file to automatically perform the downloading function.
For proper operation it is necessary to specify a minimum of FILES=50
in your CONFIG.SYS file.

The syntax is as follows:
[Drive:] [Path] COPY2MWX [/COMn:9600,N,8,1] [Filename]

READMWX.EXE 
The uploading utility READMWX.EXE  is provided to allow uploading
of a MWX key assignment file without having to use the uploading
function of the PREH PROGRAMMER MWX software.

The syntax is as follows:
[Drive:] [Path] READMWX [Filename]

Problems
The W/X keyboard does not work with your computer. 
Please check whether the keyboard is set up with the correct interface
corresponding to the computer which you are using. At the present time
both the AT and XT interfaces are supported.  If you are working with
an AT computer, the keyboard interface must be specified as AT. You can
set the keyboard to AT mode by turning off the computer and holding down
key positions A01 and B01 before turning the computer back on. After
the computer has completed its self test then you can release the 2 keys.
For XT mode the same method is employed except keys A01 and C01 are held
down instead. 

The standard keyboard does not work.
The standard keyboard must be in the AT mode, even when the W/X keyboard
is connected to an XT computer.

The W/X keyboard beeps when each key is pressed and sends no codes.
In this situation the EEPROM contents have changed. In this situation the
code output is blocked, and the beeping is an indication of this condition.
Please press Keys A01 and B01 during Power on. This will switch the Keyboard to AT-Mode.
The key assignment table must be recopied into the keyboard.

When long strings are transmitted the keyboard buffer overflows.
In this case it is necessary to activate the "slow output" attribute in
the MWX software and retest. When "slow output" is activated the output speed
can also be influenced by the autorepeat speed with DOS.

Reading/writing errors
If no MWX keyboard is connected then a message "Not Possible" will be displayed.
Reading/writing must be done only from DOS. Reading while running the program
under WINDOWS will result in the message "Not OK". The program may be used while
running WINDOWS, however it is not possible to read or write the key assignment
data to the keyboard while WINDOWS is running due to the way that WINDOWS controls
the keyboard port.

Key assignments appear to be not working correctly
Check the list of abbreviations that can be used for key assignments and make sure
that the correct level is selected for the abbreviation that you are using. For
example, {SHIFT} must be set on the STANDARD KEY level. If it is set on the
NORMAL level the output code will not be correct.

onversion of ASCII-characters to Scancodes

Problem:
Some characters of MSR-card are wrong. This is caused by a language 
difference between keyboard setting (modifyable by Preh-Programmer) 
and keyboard driver (modifyable in the PC).

Solution:
 Use the same keyboard language:
Please change the keyboard setting or the keyboard driver language.

 Use a keyboard internal conversion table:
The character on MSR is decoded similar an ASCII-Code. If you use a 
Keyboard with a integrated Magnetic stripe reader it has to translate 
these ASCII-Code to a Scancode witch is transmitted to PC and 
converted back to ASCII. If you use different language you will get 
not the correct sign.

 Solution with Preh-Programmer:
1. Select a language of keyboard which is similar to your language. 
Now you have to convert the other characters to your language code.
2. First you need the ASCII code of the character you want to change.
On ISO 7811 Track 1 the character is calculated by adding 0x20 to 
the position of the appended table . Example: 'U' = 0011 0101 
+0x20 = 0x35 +0x20 = 0x55 hex code of ASCII. 
3. Then input the scancodes for character you want to generate.
To get these codes you can use the following scancode table of a 
English keyboard or the DOS utility PC-GC.com. If you start this 
program it shows you the Scanset1 codes of  the keyboard. If you 
now start to press the keys to generate the key which you want 
and write it in the ASCII-Convert-Table. 
Example : (0011 1011) +0x20 = 0x5B => ASCII: "\5B=
Shift down:		2A
-Key down:		27
-Key up:		A7	( = 27+80  break code )
Shift up:		AA	( = 2A+80  break code )	=> 2A 27 A7 AA"

New feature in DOS-Preh-Programmer:
ASCII-Convert-Table:
Menue-"Edit"-"ASCII-Convert-Table"


Preh Electronics, Inc                   Preh-Werke GmbH & Co.KG
590 Telser Road, Unit B                 An Der Stadthalle
Lake Zurich, IL 60047                   D-97616 Bad Neustadt/Salle 
Phone: (708) 438 - 4000                 GERMANY
Fax: (708) 438 - 5522   

03/11/98


