Table of Contents

Class WriteScancodeMap

Namespace
Yubico.YubiKey.Otp.Commands
Assembly
Yubico.YubiKey.dll

Updates the scancode mapping used for Yubico OTP and the Yubico OTP based password generator.

public class WriteScancodeMap : IYubiKeyCommand<ReadStatusResponse>
Inheritance
object
WriteScancodeMap
Implements

Constructors

WriteScancodeMap()

Initializes a new instance of the WriteScancodeMap class. The scancode map will be initialized to the default, until it is overridden by the caller.

public WriteScancodeMap()

WriteScancodeMap(ReadOnlyMemory<byte>)

Initializing a new instance of the WriteScancodeMap class with a custom scancode map.

public WriteScancodeMap(ReadOnlyMemory<byte> scancodeMap)

Parameters

scancodeMap ReadOnlyMemory<byte>

The scancode map to program on the YubiKey.

Properties

Application

Gets the YubiKeyApplication (e.g. PIV, OATH, etc.) to which this command applies.

public YubiKeyApplication Application { get; }

Property Value

YubiKeyApplication

YubiKeyApplication.Otp, YubiKeyApplication.Piv, etc.

DefaultScancodeMap

The default HID usage map.

public static ReadOnlyMemory<byte> DefaultScancodeMap { get; }

Property Value

ReadOnlyMemory<byte>

ScancodeMap

The scancode map to be written when the command is sent to the YubiKey.

public ReadOnlyMemory<byte> ScancodeMap { get; set; }

Property Value

ReadOnlyMemory<byte>

Methods

CreateCommandApdu()

Creates a well-formed CommandApdu to send to the YubiKey.

public CommandApdu CreateCommandApdu()

Returns

CommandApdu

A valid CommandApdu that is ready to be sent to the YubiKey, or passed along to additional encoders for further processing.

Remarks

This method will first perform validation on all of the parameters and data provided to it. The CommandAPDU it creates should contain all of the data payload for the command, even if it exceeds 65,535 bytes as specified by the ISO 7816-4 specification. The APDU will be properly chained by the device connection prior to being sent to the YubiKey, and the responses will collapsed into a single result.

CreateResponseForApdu(ResponseApdu)

Creates the corresponding IYubiKeyResponse implementation for the current command.

public ReadStatusResponse CreateResponseForApdu(ResponseApdu responseApdu)

Parameters

responseApdu ResponseApdu

The ResponseApdu returned by the YubiKey.

Returns

ReadStatusResponse

The implementation of IYubiKeyResponse that parses and presents ths response APDU.