MagTek MagneSafe V5 User Manual

Page 70

Advertising
background image

MagneSafe V5

62

Starting with the firmware release with software ID 21042812F01, when
both the key usage ID and the key modifier byte are set to 0xFF for a
given ASCII value, the ALT ASCII code is sent instead of the key map
values. The ALT ASCII code is a key press combination consisting of the
decimal value of the ASCII character combined with the ALT key
modifier. For example, to transmit the ASCII character ‘?’ (063 decimal),
keypad ‘0’ is sent combined with left ALT key modifier, next keypad ‘6’
is sent combined with the left ALT key modifier, last keypad ‘3’ is sent
combined with the left ALT key modifier.


Data structure:

Request Data:

Offset

Field Name

Description

0

ASCII value

Value of the ASCII character to be set in
the key map. This can be any value
between 0 and 127 (0x7F). For example,
to set the key map item for ASCII
character ‘?’ (card data end sentinel) use
the ASCII value of ‘?’ which is 63 (0x3F).

1

Key Usage ID

The value of the USB key usage ID that is
to be mapped to the given ASCII value.
For example, for the United States
keyboard map, usage ID 56 (0x38)
(keyboard / and ?) is mapped to ASCII
character ‘?’. To change this to the ASCII
character ‘>‘ use usage ID 55 (0x37)
(keyboard . and >).

2

Key Modifier Byte The value of the USB key modifier byte

that is to be mapped to the given ASCII
value. For example, for the United States
keyboard map, modifier byte 0x02 (left
shift key) is mapped to ASCII character ‘?’.
To change this to the ASCII character ‘>‘
use modifier byte 0x02 (left shift key).

Response Data: None


Result codes:

0x00 Success

0x07 Incorrect MAC – Command not authorized


The following example maps the card ASCII data end sentinel character ‘?’ to the ‘>‘ keyboard
key.

Example Set Keymap Item Request (Hex):

Cmd Num

Data Len

Data

04

03

3F 37 02


Example Set Keymap Item Response (Hex):

Result Code Data Len

Data

00

00

Advertising