[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

MagicBusATKeyboard

inherits from MagicBusClient

Object <- Server <- HardwareStream <- MagicBusClient <- MagicBusATKeyboard



Operations

Get list of all operations

Attached
CanHandlePeripheral
Detached
DispatchATKeys
PeripheralRequest
ReinitializeClass
ResetKeyboard
SetLedStatus
SetMaximumBlockLength
SetRepeatRate


Attributes

Get list of all attributes

KeyModifiers


Fields

Field Type
Server: enabled: Boolean
Stream: target: Object
HardwareStream: state: Unsigned
readRate: Unsigned
writeRate: Unsigned
maxReadRate: Unsigned
maxWriteRate: Unsigned
defaultTimeout: Unsigned
MagicBusClient: peripheralID: Unsigned
peripheralName: Object
peripheralType: Object
peripheralManufacturer: Object
magicBusPeripheralInfo: Object
periphNumber: UnsignedByte
clientVersion: UnsignedByte
realtimeMode: Boolean
maxSendBlockLength: Unsigned
maxGetBlockLength: Unsigned
maxCurrent: Signed
typicalCurrent: Signed
quiescentCurrent: Signed
MagicBusATKeyboard: keyModifiers: Unsigned


Instance template

instance MagicBusATKeyboard tag;
        enabled: false;
         target: nilObject;
          state: 0;
       readRate: 0;
      writeRate: 0;
    maxReadRate: 0;
   maxWriteRate: 0;
 defaultTimeout: 0;
   peripheralID: 0;
 peripheralName: nilObject;
 peripheralType: nilObject;
peripheralManufacturer: nilObject;
magicBusPeripheralInfo: nilObject;
   periphNumber: 0;
  clientVersion: 0;
   realtimeMode: false;
maxSendBlockLength: 0;
maxGetBlockLength: 0;
     maxCurrent: 0;
 typicalCurrent: 0;
quiescentCurrent: 0;
   keyModifiers: 0;
end instance;

Class definition

#endif

Define Class MagicBusATKeyboard;
    inherits from MagicBusClient;

    field keyModifiers: Unsigned, getter, setter;

    overrides ReinitializeClass;

    overrides CanHandlePeripheral;
    overrides PeripheralRequest;
        // Handles request from keyboard for keycodes to be processed.

    overrides Attached, Detached;
    overrides SetMaximumBlockLength;
        // MagicBus specifies the longest send and get block lengths as well as
        // the maximum time per transaction (realtime peripherals IRQ latency).

    operation DispatchATKeys(buffer: ReadOnlyUnsignedByteArrayPointer;
        var count: Unsigned; var modifiers: Unsigned);
    operation ResetKeyboard();
        // Resets entire Keyboard
    operation SetRepeatRate(repeatRate: Unsigned; delayRepeat: Unsigned);
        // Set Typematic rate
    operation SetLedStatus(modifiers: Unsigned);
        // Returns Status of Keyboard LEDs

    attribute KeyModifiers: Unsigned;
end class;