Chapter 3: Programming 3-5
Programmable Key Matrix
The keyboard matrix is completely programmable, translating between
a key switch physical location and the key data reported to the host PC.
Through this keyboard provision, you can switch the numeric keypad
layout from the default calculator layout to a telephone layout by
organizing the keyboard matrix to mimic either mode of operation.
Note: If you change the numeric keypad layout, you must also
physically remove and swap the key caps on the first and third rows of
the keypad. The key codes for the numeric keypad are identical to the
IBM PS/2, 101-key keyboard.
Double-high/Double-wide Keys
Several keys on the keyboard can accept optional keycaps that cover
two keys to produce double-high or double-wide keys. When you
press a double-high or double-wide keycap, the keyboard firmware
sends the keycode for both keys. When usages are the same, only one
keycode is sent. Using the programmable key matrix feature, the
keyboard matrix can be programmed to support double-high or
double-wide keys by specifying the same key code for both key
locations supported by the key cap.
Keyboard Matrix for 5932 USB Keyboard (PID 0x0320)
The keyboard matrix comprises a list of key numbers and respective
positions within the keyboard translation table. The default keyboard
map for the 5932 USB Keyboard (PID 0x0320) is as follows:
Sorted by Key Number Sorted by Offset Sorted by Usage
Key
Number
Usage
FPGA
Offset
FPGA
Offset
Key
Number
Usage
Usage
FPGA
Offset
Key
Number
1 49 0 0 1 49 0 104 29
2 4A 16 1 16 35 0 105 57
3 4B 24 2 31 2B 0 106 60
4 4C 8 3 96 57 0 108 71
5 4D 40 4 45 39 0 111 116